From dffc76197032c54eed292de9fc1ee4d197652d85 Mon Sep 17 00:00:00 2001 From: Michael Nolan Date: Wed, 8 Dec 2021 16:02:30 -0600 Subject: [PATCH] fix stuff --- .vs/youtube-downloader/xs/UserPrefs.xml | 19 +- Program.cs | 11 +- TYTD.Api/MyClass.cs | 22 + TYTD.Api/Server/Functions/Downloader.cs | 12 +- TYTD.Api/Server/Models/InfomationQueueItem.cs | 4 +- TYTD.Api/Server/Models/SavedVideo.cs | 1 + TYTD.Api/TYTD.Api.csproj | 1 + TYTD.Api/bin/Release/MimeTypesMap.dll | Bin 0 -> 64512 bytes TYTD.Api/bin/Release/SimpleHTTP.dll | Bin 0 -> 27648 bytes TYTD.Api/bin/Release/SimpleHTTP.xml | 415 + .../System.Text.Encoding.CodePages.xml | 29 + TYTD.Api/bin/Release/TYTD.Api.dll | Bin 51712 -> 52224 bytes .../TYTD.Api.csproj.CoreCompileInputs.cache | 2 +- .../TYTD.Api.csprojAssemblyReference.cache | Bin 114421 -> 23210 bytes TYTD.Api/obj/Release/TYTD.Api.dll | Bin 51712 -> 52224 bytes bin/Release/ExposedObject.dll | Bin 0 -> 8192 bytes bin/Release/ExposedObject.pdb | Bin 0 -> 3416 bytes bin/Release/Flurl.dll | Bin 0 -> 37376 bytes bin/Release/Flurl.pdb | Bin 0 -> 10720 bytes bin/Release/Flurl.xml | 883 + bin/Release/Jurassic.dll | Bin 0 -> 520192 bytes bin/Release/Jurassic.xml | 18893 ++++++++++++++++ bin/Release/Stef.Validation.dll | Bin 0 -> 8192 bytes bin/Release/TYTD.Api.dll | Bin 51712 -> 52224 bytes bin/Release/YoutubeExplode.Extensions.dll | Bin 0 -> 23552 bytes bin/Release/youtube-downloader.exe | Bin 16896 -> 18944 bytes mono_crash.19446631cd.0.json | 3592 +++ ...-downloader.csproj.CoreCompileInputs.cache | 2 +- ...ube-downloader.csproj.FileListAbsolute.txt | 9 + ...e-downloader.csprojAssemblyReference.cache | Bin 26240 -> 18398 bytes obj/x86/Release/youtube-downloader.exe | Bin 16896 -> 18944 bytes packages.config | 6 + packages/ExposedObject.2.1.0/.signature.p7s | Bin 0 -> 9464 bytes .../ExposedObject.2.1.0.nupkg | Bin 0 -> 39473 bytes .../lib/net461/ExposedObject.dll | Bin 0 -> 8192 bytes .../lib/net461/ExposedObject.pdb | Bin 0 -> 3416 bytes .../lib/netcoreapp3.1/ExposedObject.dll | Bin 0 -> 8704 bytes .../lib/netcoreapp3.1/ExposedObject.pdb | Bin 0 -> 11388 bytes .../lib/netstandard2.0/ExposedObject.dll | Bin 0 -> 8192 bytes .../lib/netstandard2.0/ExposedObject.pdb | Bin 0 -> 9260 bytes packages/Flurl.3.0.2/.signature.p7s | Bin 0 -> 9462 bytes packages/Flurl.3.0.2/Flurl.3.0.2.nupkg | Bin 0 -> 104239 bytes packages/Flurl.3.0.2/icon.png | Bin 0 -> 5358 bytes packages/Flurl.3.0.2/lib/net461/Flurl.dll | Bin 0 -> 37376 bytes packages/Flurl.3.0.2/lib/net461/Flurl.pdb | Bin 0 -> 10720 bytes packages/Flurl.3.0.2/lib/net461/Flurl.xml | 883 + packages/Flurl.3.0.2/lib/net472/Flurl.dll | Bin 0 -> 37376 bytes packages/Flurl.3.0.2/lib/net472/Flurl.pdb | Bin 0 -> 10732 bytes packages/Flurl.3.0.2/lib/net472/Flurl.xml | 883 + .../Flurl.3.0.2/lib/netstandard2.0/Flurl.dll | Bin 0 -> 37376 bytes .../Flurl.3.0.2/lib/netstandard2.0/Flurl.pdb | Bin 0 -> 16356 bytes .../Flurl.3.0.2/lib/netstandard2.0/Flurl.xml | 883 + packages/Jurassic.3.2.4/.signature.p7s | Bin 0 -> 9466 bytes packages/Jurassic.3.2.4/Jurassic.3.2.4.nupkg | Bin 0 -> 303567 bytes .../lib/netstandard2.0/Jurassic.dll | Bin 0 -> 520192 bytes .../lib/netstandard2.0/Jurassic.xml | 18893 ++++++++++++++++ packages/Stef.Validation.0.0.4/.signature.p7s | Bin 0 -> 9466 bytes .../Stef.Validation.0.0.4.nupkg | Bin 0 -> 37629 bytes .../lib/net20/Stef.Validation.dll | Bin 0 -> 8192 bytes .../lib/net35/Stef.Validation.dll | Bin 0 -> 8192 bytes .../lib/net40/Stef.Validation.dll | Bin 0 -> 8192 bytes .../lib/netstandard1.0/Stef.Validation.dll | Bin 0 -> 8192 bytes .../lib/netstandard1.3/Stef.Validation.dll | Bin 0 -> 8192 bytes .../lib/netstandard2.0/Stef.Validation.dll | Bin 0 -> 8192 bytes .../lib/netstandard2.1/Stef.Validation.dll | Bin 0 -> 8192 bytes .../.nupkg.metadata | 5 + .../.signature.p7s | Bin 0 -> 9482 bytes ...em.Reflection.Emit.Lightweight.4.3.0.nupkg | Bin 0 -> 84426 bytes .../ThirdPartyNotices.txt | 31 + .../dotnet_library_license.txt | 128 + .../lib/MonoAndroid10/_._ | 0 .../lib/MonoTouch10/_._ | 0 .../lib/net45/_._ | 0 .../System.Reflection.Emit.Lightweight.dll | Bin 0 -> 22792 bytes .../System.Reflection.Emit.Lightweight.dll | Bin 0 -> 22952 bytes .../lib/portable-net45+wp8/_._ | 0 .../lib/wp80/_._ | 0 .../lib/xamarinios10/_._ | 0 .../lib/xamarinmac20/_._ | 0 .../lib/xamarintvos10/_._ | 0 .../lib/xamarinwatchos10/_._ | 0 .../ref/MonoAndroid10/_._ | 0 .../ref/MonoTouch10/_._ | 0 .../ref/net45/_._ | 0 .../System.Reflection.Emit.Lightweight.dll | Bin 0 -> 22952 bytes .../System.Reflection.Emit.Lightweight.xml | 177 + .../de/System.Reflection.Emit.Lightweight.xml | 177 + .../es/System.Reflection.Emit.Lightweight.xml | 182 + .../fr/System.Reflection.Emit.Lightweight.xml | 184 + .../it/System.Reflection.Emit.Lightweight.xml | 177 + .../ja/System.Reflection.Emit.Lightweight.xml | 185 + .../ko/System.Reflection.Emit.Lightweight.xml | 185 + .../ru/System.Reflection.Emit.Lightweight.xml | 171 + .../System.Reflection.Emit.Lightweight.xml | 188 + .../System.Reflection.Emit.Lightweight.xml | 192 + .../ref/portable-net45+wp8/_._ | 0 .../ref/wp80/_._ | 0 .../ref/xamarinios10/_._ | 0 .../ref/xamarinmac20/_._ | 0 .../ref/xamarintvos10/_._ | 0 .../ref/xamarinwatchos10/_._ | 0 .../runtimes/aot/lib/netcore50/_._ | 0 .../.signature.p7s | Bin 0 -> 9465 bytes .../YoutubeExplode.Extensions.0.0.2.nupkg | Bin 0 -> 36001 bytes .../lib/net461/YoutubeExplode.Extensions.dll | Bin 0 -> 23552 bytes .../YoutubeExplode.Extensions.dll | Bin 0 -> 23040 bytes .../YoutubeExplode.Extensions.dll | Bin 0 -> 23040 bytes youtube-downloader.csproj | 15 + 108 files changed, 47423 insertions(+), 17 deletions(-) create mode 100644 TYTD.Api/bin/Release/MimeTypesMap.dll create mode 100644 TYTD.Api/bin/Release/SimpleHTTP.dll create mode 100644 TYTD.Api/bin/Release/SimpleHTTP.xml create mode 100755 TYTD.Api/bin/Release/System.Text.Encoding.CodePages.xml create mode 100755 bin/Release/ExposedObject.dll create mode 100755 bin/Release/ExposedObject.pdb create mode 100755 bin/Release/Flurl.dll create mode 100755 bin/Release/Flurl.pdb create mode 100755 bin/Release/Flurl.xml create mode 100755 bin/Release/Jurassic.dll create mode 100755 bin/Release/Jurassic.xml create mode 100755 bin/Release/Stef.Validation.dll create mode 100755 bin/Release/YoutubeExplode.Extensions.dll create mode 100644 mono_crash.19446631cd.0.json create mode 100755 packages/ExposedObject.2.1.0/.signature.p7s create mode 100755 packages/ExposedObject.2.1.0/ExposedObject.2.1.0.nupkg create mode 100755 packages/ExposedObject.2.1.0/lib/net461/ExposedObject.dll create mode 100755 packages/ExposedObject.2.1.0/lib/net461/ExposedObject.pdb create mode 100755 packages/ExposedObject.2.1.0/lib/netcoreapp3.1/ExposedObject.dll create mode 100755 packages/ExposedObject.2.1.0/lib/netcoreapp3.1/ExposedObject.pdb create mode 100755 packages/ExposedObject.2.1.0/lib/netstandard2.0/ExposedObject.dll create mode 100755 packages/ExposedObject.2.1.0/lib/netstandard2.0/ExposedObject.pdb create mode 100755 packages/Flurl.3.0.2/.signature.p7s create mode 100755 packages/Flurl.3.0.2/Flurl.3.0.2.nupkg create mode 100755 packages/Flurl.3.0.2/icon.png create mode 100755 packages/Flurl.3.0.2/lib/net461/Flurl.dll create mode 100755 packages/Flurl.3.0.2/lib/net461/Flurl.pdb create mode 100755 packages/Flurl.3.0.2/lib/net461/Flurl.xml create mode 100755 packages/Flurl.3.0.2/lib/net472/Flurl.dll create mode 100755 packages/Flurl.3.0.2/lib/net472/Flurl.pdb create mode 100755 packages/Flurl.3.0.2/lib/net472/Flurl.xml create mode 100755 packages/Flurl.3.0.2/lib/netstandard2.0/Flurl.dll create mode 100755 packages/Flurl.3.0.2/lib/netstandard2.0/Flurl.pdb create mode 100755 packages/Flurl.3.0.2/lib/netstandard2.0/Flurl.xml create mode 100755 packages/Jurassic.3.2.4/.signature.p7s create mode 100755 packages/Jurassic.3.2.4/Jurassic.3.2.4.nupkg create mode 100755 packages/Jurassic.3.2.4/lib/netstandard2.0/Jurassic.dll create mode 100755 packages/Jurassic.3.2.4/lib/netstandard2.0/Jurassic.xml create mode 100755 packages/Stef.Validation.0.0.4/.signature.p7s create mode 100755 packages/Stef.Validation.0.0.4/Stef.Validation.0.0.4.nupkg create mode 100755 packages/Stef.Validation.0.0.4/lib/net20/Stef.Validation.dll create mode 100755 packages/Stef.Validation.0.0.4/lib/net35/Stef.Validation.dll create mode 100755 packages/Stef.Validation.0.0.4/lib/net40/Stef.Validation.dll create mode 100755 packages/Stef.Validation.0.0.4/lib/netstandard1.0/Stef.Validation.dll create mode 100755 packages/Stef.Validation.0.0.4/lib/netstandard1.3/Stef.Validation.dll create mode 100755 packages/Stef.Validation.0.0.4/lib/netstandard2.0/Stef.Validation.dll create mode 100755 packages/Stef.Validation.0.0.4/lib/netstandard2.1/Stef.Validation.dll create mode 100644 packages/System.Reflection.Emit.Lightweight.4.3.0/.nupkg.metadata create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/.signature.p7s create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/System.Reflection.Emit.Lightweight.4.3.0.nupkg create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/ThirdPartyNotices.txt create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/dotnet_library_license.txt create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/lib/MonoAndroid10/_._ create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/lib/MonoTouch10/_._ create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/lib/net45/_._ create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/lib/netcore50/System.Reflection.Emit.Lightweight.dll create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/lib/netstandard1.3/System.Reflection.Emit.Lightweight.dll create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/lib/portable-net45+wp8/_._ create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/lib/wp80/_._ create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/lib/xamarinios10/_._ create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/lib/xamarinmac20/_._ create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/lib/xamarintvos10/_._ create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/lib/xamarinwatchos10/_._ create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/ref/MonoAndroid10/_._ create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/ref/MonoTouch10/_._ create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/ref/net45/_._ create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/System.Reflection.Emit.Lightweight.dll create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/System.Reflection.Emit.Lightweight.xml create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/de/System.Reflection.Emit.Lightweight.xml create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/es/System.Reflection.Emit.Lightweight.xml create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/fr/System.Reflection.Emit.Lightweight.xml create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/it/System.Reflection.Emit.Lightweight.xml create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/ja/System.Reflection.Emit.Lightweight.xml create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/ko/System.Reflection.Emit.Lightweight.xml create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/ru/System.Reflection.Emit.Lightweight.xml create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/zh-hans/System.Reflection.Emit.Lightweight.xml create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/zh-hant/System.Reflection.Emit.Lightweight.xml create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/ref/portable-net45+wp8/_._ create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/ref/wp80/_._ create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/ref/xamarinios10/_._ create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/ref/xamarinmac20/_._ create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/ref/xamarintvos10/_._ create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/ref/xamarinwatchos10/_._ create mode 100755 packages/System.Reflection.Emit.Lightweight.4.3.0/runtimes/aot/lib/netcore50/_._ create mode 100755 packages/YoutubeExplode.Extensions.0.0.2/.signature.p7s create mode 100755 packages/YoutubeExplode.Extensions.0.0.2/YoutubeExplode.Extensions.0.0.2.nupkg create mode 100755 packages/YoutubeExplode.Extensions.0.0.2/lib/net461/YoutubeExplode.Extensions.dll create mode 100755 packages/YoutubeExplode.Extensions.0.0.2/lib/netstandard2.0/YoutubeExplode.Extensions.dll create mode 100755 packages/YoutubeExplode.Extensions.0.0.2/lib/netstandard2.1/YoutubeExplode.Extensions.dll diff --git a/.vs/youtube-downloader/xs/UserPrefs.xml b/.vs/youtube-downloader/xs/UserPrefs.xml index 122df46..b7efc0f 100644 --- a/.vs/youtube-downloader/xs/UserPrefs.xml +++ b/.vs/youtube-downloader/xs/UserPrefs.xml @@ -1,33 +1,32 @@  - + - + - - + + - - + + + - + - - - + diff --git a/Program.cs b/Program.cs index af9b42b..449ec85 100644 --- a/Program.cs +++ b/Program.cs @@ -14,6 +14,10 @@ using Newtonsoft.Json; using System.Net; using System.Threading.Tasks; using TYTD.Server.Functions; +using YoutubeExplode.Extensions; +using YoutubeExplode.Videos; +using YoutubeExplode; +using YoutubeExplode.Videos.Streams; namespace TYTD { @@ -23,7 +27,7 @@ namespace TYTD static string webSitePath; static void Main(string[] arg) { - + Downloader.GetManifest = GetManifest; Thread t = new Thread(new ThreadStart(() => { Downloader.DL.DownloadThread().GetAwaiter().GetResult(); })); @@ -117,6 +121,11 @@ namespace TYTD } } + private static async Task GetManifest(YoutubeClient arg1, VideoId arg2) + { + return await arg1.Videos.Streams.GetManifestAndFixStreamUrlsAsync(arg2); + } + #region Generic private static void AddItems(HttpListenerRequest request, HttpListenerResponse response, Dictionary arguments) { diff --git a/TYTD.Api/MyClass.cs b/TYTD.Api/MyClass.cs index 4df5748..b1a78b2 100644 --- a/TYTD.Api/MyClass.cs +++ b/TYTD.Api/MyClass.cs @@ -57,6 +57,13 @@ namespace TYTD DownloadStart.Invoke(sender, e); } } + internal void SendDLInfoStart(object sender, DownloadInfoStartEventArgs e) + { + if (DownloadInfoStart != null) + { + DownloadInfoStart.Invoke(sender, e); + } + } internal void SendDLComplete(object sender, DownloadCompleteEventArgs e) { if (DownloadComplete != null) @@ -64,6 +71,7 @@ namespace TYTD DownloadComplete.Invoke(sender, e); } } + public event EventHandler DownloadInfoStart; public event EventHandler DownloadStart; public event EventHandler DownloadComplete; @@ -81,6 +89,12 @@ namespace TYTD public bool RegularFile { get; set; } public SavedVideo Video { get; set; } + } + public class DownloadInfoStartEventArgs : EventArgs + { + + public SavedVideo Video { get; set; } + } public class DownloadStartEventArgs : EventArgs { @@ -108,6 +122,14 @@ namespace TYTD api.SendDLComplete(sender, evt); } } + internal static void DownloadInfoStart(object sender, DownloadInfoStartEventArgs evt) + { + foreach (var api in apis) + { + api.SendDLInfoStart(sender, evt); + } + } + public static void Dispose() { foreach(var api in apis) diff --git a/TYTD.Api/Server/Functions/Downloader.cs b/TYTD.Api/Server/Functions/Downloader.cs index e7e1368..84b3075 100644 --- a/TYTD.Api/Server/Functions/Downloader.cs +++ b/TYTD.Api/Server/Functions/Downloader.cs @@ -16,6 +16,7 @@ using YoutubeExplode.Playlists; using Dasync.Collections; + namespace TYTD.Server.Functions { public class Downloader @@ -25,6 +26,7 @@ namespace TYTD.Server.Functions // TessesYoutubeDownloader.Server.Functions.Downloader.DL.DownloadThread().GetAwaiter().GetResult(); } + public static bool DownloadIt = true; public static bool RedownloadIt = false; public List infoQueue = new List(); @@ -389,6 +391,7 @@ namespace TYTD.Server.Functions nameDest= Path.Combine(Path.GetDirectoryName(nameSrc), $"{Path.GetFileNameWithoutExtension(nameSrc)} ({i}){Path.GetExtension(nameSrc)}"); return File.Exists(nameDest); } + public static Func> GetManifest; public async Task DownloadThread() { do @@ -505,15 +508,18 @@ namespace TYTD.Server.Functions if (Continue(mypathComplete)) { - var s3 = await ytc.Videos.Streams.GetManifestAsync(v.Video.Id); + + var s3 = await GetManifest(ytc,v.Video.Id); var best2 = s3.GetAudioOnlyStreams().GetWithHighestBitrate(); var best = s3.GetVideoOnlyStreams().GetWithHighestVideoQuality(); + P.Length = best.Size.Bytes + best2.Size.Bytes; ProgressTwo p = new ProgressTwo(best.Size.Bytes, best2.Size.Bytes, DownloadP); + using (var destStrm = System.IO.File.Open(mypath, FileMode.OpenOrCreate, FileAccess.ReadWrite)) { long pos = 0; @@ -610,7 +616,7 @@ namespace TYTD.Server.Functions if (Continue(mypath2Complete)) { - var s = await ytc.Videos.Streams.GetManifestAsync(v.Video.Id); + var s = await GetManifest(ytc,v.Video.Id); var best = s.GetMuxedStreams().GetWithHighestVideoQuality(); P.Length = best.Size.Bytes; long pos = 0; @@ -661,7 +667,7 @@ namespace TYTD.Server.Functions string mypath3Complete = GetPath(true, "Audio", v.Video.Id + ".mp4"); if (Continue(mypath3Complete)) { - var s2 = await ytc.Videos.Streams.GetManifestAsync(v.Video.Id); + var s2 = await GetManifest(ytc,v.Video.Id); var best2 = s2.GetAudioOnlyStreams().GetWithHighestBitrate(); P.Length = best2.Size.Bytes; long pos = 0; diff --git a/TYTD.Api/Server/Models/InfomationQueueItem.cs b/TYTD.Api/Server/Models/InfomationQueueItem.cs index 8480329..5542e01 100644 --- a/TYTD.Api/Server/Models/InfomationQueueItem.cs +++ b/TYTD.Api/Server/Models/InfomationQueueItem.cs @@ -121,7 +121,9 @@ namespace TYTD.Server.Models sv = SavedVideo.CreateFrom(res, vinfo, Functions.Downloader.DL._DownloadThumbnail); - + DownloadInfoStartEventArgs info = new DownloadInfoStartEventArgs(); + info.Video = sv.Video; + ApiLoader.DownloadInfoStart(this, info); } if (!exist) diff --git a/TYTD.Api/Server/Models/SavedVideo.cs b/TYTD.Api/Server/Models/SavedVideo.cs index 5a902f2..03dba2b 100644 --- a/TYTD.Api/Server/Models/SavedVideo.cs +++ b/TYTD.Api/Server/Models/SavedVideo.cs @@ -5,6 +5,7 @@ using System.Text; using System.Threading.Tasks; using TYTD.Server.Functions; using YoutubeExplode.Videos; + namespace TYTD.Server.Models { diff --git a/TYTD.Api/TYTD.Api.csproj b/TYTD.Api/TYTD.Api.csproj index 89d12b1..5fad4e3 100644 --- a/TYTD.Api/TYTD.Api.csproj +++ b/TYTD.Api/TYTD.Api.csproj @@ -104,6 +104,7 @@ ..\packages\Simple-HTTP.1.0.6\lib\net47\SimpleHTTP.dll + diff --git a/TYTD.Api/bin/Release/MimeTypesMap.dll b/TYTD.Api/bin/Release/MimeTypesMap.dll new file mode 100644 index 0000000000000000000000000000000000000000..c7d15289dee982a2790ea2e500388784f5b5091e GIT binary patch literal 64512 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 HO5pziHni6y literal 0 HcmV?d00001 diff --git a/TYTD.Api/bin/Release/SimpleHTTP.dll b/TYTD.Api/bin/Release/SimpleHTTP.dll new file mode 100644 index 0000000000000000000000000000000000000000..6fb3f06f1dd6110bb1f5f6ec019a97106c9e48c5 GIT binary patch literal 27648 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 + + + SimpleHTTP + + + +

+ Class containing extensions. + + + + + Parses body of the request including form and multi-part form data. + + HTTP request. + Key-value pairs populated by the form data by this function. + Name-file pair collection. + + + + Parses body of the request including form and multi-part form data. + + HTTP request. + Key-value pairs populated by the form data by this function. + + Function called if a file is about to be parsed. The stream is attached to a corresponding . + By default, is used, but for large files, it is recommended to open directly. + + Name-file pair collection. + + + + Delegate executed when a file is about to be read from a body stream. + + Field name. + name of the file. + Content type. + Stream to be populated. + + + + HTTP file data container. + + + + + Creates new HTTP file data container. + + File name. + Data. + Content type. + + + + Gets the name of the file. + + + + + Gets the data. + If a stream is created it will be closed when this HttpFile object is disposed. + + + + + Content type. + + + + + Saves the data into a file. + Directory path will be auto created if does not exists. + + File path with name. + True to overwrite the existing file, false otherwise. + True if the file is saved/overwritten, false otherwise. + + + + Disposes the current instance. + + + + + Disposes the current instance. + + + + + Class containing HTTP response extensions. + + + + + Sets response headers to enable CORS. + + HTTP response. + Modified HTTP response. + + + + Sets the content-type for the response. + + HTTP response. + HTTP content-type. + Modified HTTP response. + + + + Sets the specified header for the response. + + HTTP response. + Header name. + Header value. + Modified HTTP response. + + + + Sets the status code for the response. + + HTTP response. + HTTP status code. + Modified HTTP response. + + + + Sets the cookie for the response. + + HTTP response. + Cookie name. + Cookie value. + Modified HTTP response. + + + + Sets the cookie for the response. + + HTTP response. + Cookie name. + Cookie value. + Cookie expiration date (UTC). + Modified HTTP response. + + + + Sets the cookie for the response. + + HTTP response. + Cookie. + Modified HTTP response. + + + + Writes the specified data to the response. + Response is closed and can not be longer modified. + + HTTP response. + Text data to write. + Mime type. + + + + Builds a redirect response. + Response is closed and can not be longer modified. + + HTTP response. + A new location (URL). + + + + Writes the specified file content to the response. + Response is closed and can not be longer modified. + Built-in support for 'byte-range' response, 'ETag' and 'Last-Modified'. + + HTTP response. + HTTP request used to determine 'Range' header + File path with name. + + + + Writes the specified data to the response. + Response is closed and can not be longer modified. + + HTTP response. + HTTP request used to determine 'Range' header + Data to write. + Mime type. + + + + Writes the specified data to the response. + Response is closed and can not be longer modified. + + HTTP response. + HTTP request used to determine 'Range' header + + Data to write. + Stream must support seek operation due to 'byte-range' functionality. + + Mime type. + + + + Class containing extensions for . + + + + + Matches all the expressions inside '{ }' defined in for the and populates the . + Example: query: "Hello world", pattern: "{first} world" => args["first"] is "Hello". + + Query string. + Pattern string defining the expressions to match inside '{ }'. + Key-value pair collection populated by keys and matches in if found. + True is all defined keys in are matched, false otherwise. + + + + Delegate which runs before all route-methods and returns if the processing should finish (true) or continue (false). + + HTTP request. + HTTP response. + True if the request is handled, false otherwise. + + + + Delegate which runs before any route-action is invoked to determine which route should be executed. + + HTTP request. + + Empty collection of key-value pairs populated by this function. + If is run it may contain some data. + + True if the route action should be executed, false otherwise. + + + + Delegate which runs when a route is matched. + + HTTP request. + HTTP response. + Collection of key-value pairs populated by the . + Action task. + + + + Delegate which runs when a route is matched. + + HTTP request. + HTTP response. + Collection of key-value pairs populated by the . + + + + Delegate which runs if an error occurs. + + HTTP request. + HTTP response. + Thrown exception. + + + + Represents error that occur when a route is not found. + + + + + Creates a new instance of the route not found exception. + + + + + + Class defining all the required actions for route-processing and error handling. + /// + + + + Action executed before all route-methods. + It may be null. + + + + + Action executed if an error occurs. + By default it outputs exception message as text with an existing status code. In case of 200-299, 'BadRequest' is used. + + + + + Gets or sets the route methods. + + + + + Entry function executed on the incoming HTTP request. + + HTTP request. + HTTP response. + Request processing task. + + + + Adds the specified action to the route collection. + The order of actions defines the priority. + + + String pattern optionally containing named arguments in {}. + + Example: "/page-{pageNumber}/". 'pageNumber' will be parsed and added to 'arguments' key-value pair collection. + The last argument is parsed as greedy one. + + + Action executed if the specified pattern matches the URL path. + HTTP method (GET, POST, DELETE, HEAD). + + + + Adds the specified action to the route collection. + The order of actions defines the priority. + + + String pattern optionally containing named arguments in {}. + + Example: "/page-{pageNumber}/". 'pageNumber' will be parsed and added to 'arguments' key-value pair collection. + The last argument is parsed as greedy one. + + + Action executed if the specified pattern matches the URL path. + HTTP method (GET, POST, DELETE, HEAD). + + + + Adds the specified action to the route collection. + The order of actions defines the priority. + + Function defining whether the specified action should be executed or not. + Action executed if the specified pattern matches the URL path. + + + + Adds the specified action to the route collection. + The order of actions defines the priority. + + Function defining whether the specified action should be executed or not. + Action executed if the specified pattern matches the URL path. + + + + HTTP server listener class. + + + + + Creates and starts a new instance of the http(s) server. + + The http/https URI listening port. + Cancellation token. + Action executed on HTTP request. + True to add 'https://' prefix insteaad of 'http://'. + Maximum HTTP connection count, after which the incoming requests will wait (sockets are not included). + Server listening task. + + + + Creates and starts a new instance of the http(s) / websocket server. + + The http/https URI listening prefix. + Cancellation token. + Action executed on HTTP request. + Maximum HTTP connection count, after which the incoming requests will wait (sockets are not included). + Server listening task. + + + + Class defining methods for string or file pattern replacements. + + + + + Replaces all occurrences defined inside each {key} expression with values. Keys and values are specified in the replacements. + + File path with name. + Key-value pair collection for replacements. + Processed file content. + + + + Replaces all occurrences defined inside each {key} expression with values. Keys and values are specified in the replacements. + + Template string. + Key-value pair collection for replacements. + Processed template. + + + + Replaces all occurrences defined inside each {key} expression with values. Keys and values are defined as object property names and values. + + Object type. + File path with name. + Object to use for replacements. + Processed file content. + + + + Replaces all occurrences defined inside each {key} expression with values. Keys and values are defined as object property names and values. + + Object type. + Template string. + Object to use for replacements. + Processed file content. + + + diff --git a/TYTD.Api/bin/Release/System.Text.Encoding.CodePages.xml b/TYTD.Api/bin/Release/System.Text.Encoding.CodePages.xml new file mode 100755 index 0000000..2922228 --- /dev/null +++ b/TYTD.Api/bin/Release/System.Text.Encoding.CodePages.xml @@ -0,0 +1,29 @@ + + + + System.Text.Encoding.CodePages + + + + Provides access to an encoding provider for code pages that otherwise are available only in the desktop .NET Framework. + + + Returns the encoding associated with the specified code page identifier. + The code page identifier of the preferred encoding which the encoding provider may support. + The encoding associated with the specified code page identifier, or if the provider does not support the requested codepage encoding. + + + Returns the encoding associated with the specified code page name. + The code page name of the preferred encoding which the encoding provider may support. + The encoding associated with the specified code page, or if the provider does not support the requested encoding. + + + Returns an array that contains all the encodings that are supported by the . + An array that contains all the supported encodings. + + + Gets an encoding provider for code pages supported in the desktop .NET Framework but not in the current .NET Framework platform. + An encoding provider that allows access to encodings not supported on the current .NET Framework platform. + + + \ No newline at end of file diff --git a/TYTD.Api/bin/Release/TYTD.Api.dll b/TYTD.Api/bin/Release/TYTD.Api.dll index d60ddbee392954e5ca6f83b735442c235ad131ac..e15892e579fe8516d68685f2fab4342e4422ef06 100644 GIT binary patch literal 52224 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 Y(YLVw!hc8Ae;empsPDTf{;xRjUqZ{nB>(^b literal 51712 zcmc${34B!L)j$5+duQ%!S?10plYIqrNJ1ch$R-jNB?r6t5!s`_I+PotJT`g)))WZbDn!=CX1H#*Z1>}&Uwx` z&w0*sp7We%y?2HM=Ugi^A%p{;FTN1sQKa-Yli^o`K4j-qJf0&S_Pkv6s51ZMs^-

@>S7Tcefn?#{|sXXTuQODfly?a}(|Z0|@*^`f~#%vUs_oby1$ zuI;d>uJkG6gm?}dU2<~{BdsJ{A>e0Rm39-u5`*E$2cP~lvEot^rT^2ZMG^~t``-~_ zA!CZTmK-touTl|NgL%h7R|?_IkaL5cmqFKeMK^VU&U*%+5+7=-Wj8SXs}y2IeLN9w z10`)k+o+>n;OrEbiB{Lgqa7v$*;d%hx_*)pVFYrs26BY>811J&vP~6E@%{!O-dJaO znREU*P#;I#>%+xDcx%el9x}LQyc$N!^l%9=p)NR1OZh_WL6&1owVEhJZjuPeQjh8Z z6iSqVZI%N_cCHexAWmh9V^#sJIY(yKWy#d6CT6JStbuIJ96|gU6-N`#K=~*&c{UkX z9|zkqx>^gLf-IFZYRIh1mZ|125wlzox`5e~f<21Z)TYsB8yalL0$$zc(!$3fvkT0U zEVY-^xm{sUwO-vd;T_u-!<7pkV>vhs^^qkR^?^zC5f}A=8d~4ra$Mh+l{?e&qR(iT>5ub*r^@hiy zJ@Jz$fX4wF6+hiZeQ^xr^{NRU>G2DR+W>*^cz`T-7*=`5Xs%kto$XRO4dzd&LA0X;k!IaEO{bBe&3!kprG19396LQO8R#yoH+%W&4Y zKyt5Y@!1fR6(^=rJr2VWUk;vT!dYH(IzT)MI^GSy4l^8KIL{ldgqbx~Ogto-b%m$W z;5b#l511J-&cZVwm^c~0Yt97pg|cc-bGdKL{y9dD8g2y3W6lDs8|MknM%qPuvO!By zpK+iX4s#B&kbtEd4m~^)sk>lVmfLl8Z2SW?m>(VD64Z%kHPXEszkw{K&dccX_? zr-$bvFDsN?JJ0R8l_%Sv1Nz~B?~_of?}JVk+Dx$$)D5TXdc)9Z+VdV~IDw5q-JXJF z*&a6xdZ?y8aVoOP_YoD(4cpHhdSl5i~}4KC-u*gX|1#|3TUour|t(6D+)< zgwFsofwkQ0)wi5Gu+U3XXb~5p9CI;HIb^uejK-g~Bf{sBP6@igXsS0$H+%Q>8>zL_a02eXttPfy6~bZ#EU90)`SOj285byL1|1cP~uH~ zjq&{C`JDDjGK|@yHXxV^gN0R@?4FNkg~ANGy&<0-P}uH#imaNn^&S(|c+KrF+Pob= z3$FlO=kR3JhB$W8qGkj+<6m%x#ya2r070+DUnf_y{Is-~n>7X;|lW)`dYFr{X6x{#$tPjd`is+pX{rT(5OHOC#A z@mF*}TGT4+N^=a?U>n>8%faNPrqrn3Nqvj_s|NKfk_qA zp05Tx;V7`WC27r;kr^Rrc%=@*<8CNO3mP7n>Xn*;nQV)B$m^=pbs3+BvdopJhj)O7 zL`@@B6oi$?#^*R76Y$}n1#SPG3?6-G!VP02Q!Fk9?fbG=3}tC?U&>i|X^SjhWz}YB z7;e#^mI5wscW;n&BDjhXOr<6 z9Fudvqfcf`(z*v4`vB|+yk1PPtC7|<0*L`B2qjivBJ@e?X;s9O=?-Wa(>^gnE^`f} z4|zRxx?7H!8hbBVCrVD0rqCGJg8DFS3|?lvs<{@$e6@v`kUOY4(?o4q?mCz5HrIgx zekYPK?_d|H91USbvi7<kmR1QpvIN*Z?4ELwf(Dznb3nBixJPKxrFw^b#)To$ok}tNDp5?IS$=- zC~x58#(Ohpr#-q51tPyrWYPSEa}Jd0HPnZV$U#rwj7Ix_jP+Eb^|SyxwIB|>lxHt( zsg2ifGNYKqaR7@Qi`WII$lgx`U^ne2Ffpa}6Ie}v=Ozd^ryDLJ-Gs_qb$`4Yi5K%o!s0 z{Pffki%I*)zc@q)^g8?ZQud{myoA$mACxCAW;{Q65vRS94C6#V`!=G&$nn


9D} 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 diff --git a/TYTD.Api/obj/Release/TYTD.Api.csproj.CoreCompileInputs.cache b/TYTD.Api/obj/Release/TYTD.Api.csproj.CoreCompileInputs.cache index 9173b6d..0fe2453 100644 --- a/TYTD.Api/obj/Release/TYTD.Api.csproj.CoreCompileInputs.cache +++ b/TYTD.Api/obj/Release/TYTD.Api.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -43d1539c7b8a6555a9e7a98302a38acdd2e39a06 +bd5555531ad345fded2f6956d4df232b6cc12a0e diff --git a/TYTD.Api/obj/Release/TYTD.Api.csprojAssemblyReference.cache b/TYTD.Api/obj/Release/TYTD.Api.csprojAssemblyReference.cache index a37306572be751f478ffd395c440ea05df664337..94b757bdf719eac2ab35ee5f29785d7e7483bf58 100644 GIT binary patch literal 23210 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 diff --git a/TYTD.Api/obj/Release/TYTD.Api.dll b/TYTD.Api/obj/Release/TYTD.Api.dll index d60ddbee392954e5ca6f83b735442c235ad131ac..e15892e579fe8516d68685f2fab4342e4422ef06 100644 GIT binary patch literal 52224 zcmc$H34B!5_5XcuX5Oqx=FMa#`$7UZkPvnRMIbB!3IZkwxP>7ZU?Aj$nS{kKn27t1 z`z|O}ZMEW7mlg|(+PeHJt=8Hq?mz2K+p0fpwN?Co&$;i-OcpKezrW8vI_I8q?z!il zd+xdGdo#>G`Ep?sLfG;7_FEwyMM{6u7=AzKMs{w+~X4ZR!C1vnK(N$89z32E~7sLM*RKBoob`q-|&$ zb<{JQod(m;>bgX%)qo(|3Y*yn&!t5ef!y@o93iel`{|EtQ-wq9P6+XkVS1T!{xwjS zK;7+;Vj(=k%hfJ2c=#AKf|hBK5@JGKaFi|W3$+Vb_7PQTvJ|-~A|y*aq=ir@Sq8RI z4j|ciN~D4~m1&MK2I0MNBQEL#)xW;J<+#4XD2Fzn zK5BYaePB|3#6^9e`q$UD9M|_<=9p9ZeDn<||crMafVB9ZV}M6f7$635VB9Sv+q;&==7 zCe{H}4TO%CIFqbY%5Vd8dX6lu2&DNg)_@e(VuG=cT9{kF)FP+?327^)iRNR6852|8+K>kb1w z=?QAK5=(!9!ukVRWD;_yf*R%&fpZjdiW8%Wlcg1E@{l!R_d%cTsC9zmNUQ#T(uSLH_JC;A6vPkB%c@v~6r)C0 zBU2%moCe@A>H)oBU(In&*9|!@VKz`B)4_5ZGXQHxxg#@?b`YOzu%*yvb`E~sZp=a! z60kJguF+7{Tm?&gF6X83F}rDgw2QM*Cmg3|dN*-3SxlXm)#ZuXEv8qC9E&_(IHzWg z%Y6ecEI~W;!vPPIP`dAf4ky}7u@cmDhwOS?*CMmQ8LB&g)xscm!O|SJ3kE$fye>Hh zS=}^phtoQBB5b2SH8~gj6#CPylAT&AK#$rG%c@ki^4lP>=B$t33 zUc43YZKrvP<|VKMrb>Nl5tv=nJOqj}phlKLHpAT7gq*CFy-Y?fgUFC>%86jQtck#d z9?wCKt5$PH;62al=@`usQ;ruNRK+oRBvKH1K&Yt|D2?d_?(w9ejE7RoIo%@32xgC( zfM66j{SF*1HX;^cdH{Xk!=^nep1HPczmpVDfEWeS;Uv^M4|<%nnkM7(pwGa3>EYe(K{31@Lla>oFnNff zK*r+3K?~aYn+hI%d|=dKBvULdlJvl_81~r`-n6swGZvY?^40ik7;eJG!*KU?a@c*i0r|awjkrF{fE*yM4?iFWh~`Y&C?K`}$AJ7N5x>-o zcnV0@cLk(7W0G$ATX*#iNHSGAz9u^$T_*E;0unKn9g{VPvx)fhjmeqd(I-15Y28B{ zV;_K>k;j86HjcEm9>^LX1>qzjU-L@qX;s9O=?d7grhQ_DoyJ;7AN06uHJ2PS!>#>o zttgo-O`$Qc74>0Tqw_NBQH@p<^VSq%LS9GJ85>ZW&sFQxTt*uh;2TIryop_;awv?o z*xWyBMmzZ7(c?0f<%ENFcfj7)G|gBK$%9_qUaPq?ww2Nt&Jjb#$UUfv6|N*fONCtT z$S>H9!7mAvCch++vR^uYz%TIEf6OncfV=4WLbu6fy4)7&qFcXWGAcBB#{yuOg;F57ux!5u&*S6P2g7R^l63pWG2?kxi6i*SrVwdrxk>H-mQC zqYF_WLbbw2^B2xi*tcrKsSoRsgPy=SkoEyt>#2>_(*o?&f;ik$p0%{4H(u{%M=`Zo zo(0@u#01%f;3!QTM^)p`aa_UJ90%aiM(LK}lCaw%n_+%p2%2b%oB`Bv+{I{+VvBTv zh-@J+8eoxqA-ez-(Vq86=)|6e_Y;Wf^nLLCF88|BKQ4;q&otuc$~u!InH6a$5xPBf$IKq z^B>JC-&bGwKUiOtT0kc@?5^dUws7FOr($xWwkENk{I^;v$1wV8R&T%Jr~tnr64Uf2^%k_wiIWAviKp z=hE1F7&a7V;#j)fD_3=&T*Puz<081e!aKGCJx*ah=`55odp~k9b&HG_th(G=K_Jvy zkxMv_+iVuC4GvUJmAi)^HmYl=+@)NO?ZuvfSI__uT0tY1aUKr1>G&i+e$Scx=OX5=7La3*$$dyrx(m*)_J%u1Yx zY&EgnTBW3pf$O;0s>7SS0;+v3<4Pn><0?RjC+;L|nvK_FUX6{b)0tu8nlxTuT$_bo z$N2StScWifyUb>c885NlHl#FBVoTr7k?~T4G+yG;cnc@vHG_<&P1+4e z4|+2DHEZqB#JLw+bEHSyH-OEF3e-E0&1}yQd4Me_u=XBf$x4H^6x5b_qJ|WqUBxC| zf_D9{wdIywvMqIyMha5$Hs7U1(JuOv7htN*zBGm5U{`Hw7p149(3f@3@90v zlEqRoEG3__yh8^WO{y%Af;J;TEY@o?Fj;E-l;7OfjDlWf+?G~8IW1@^FX?4Pmc6&6 zCC!!<_EMQ8d23(EqF$14-(bsqjDRu3VlV>6P>aDxW`B-;;r%(L7VO0%J5W^$vn23P z3UemXEs~75~?1WbtV)VDW#D#izB+;*);f zjt$Spq)qc1R$x&{^V^va^JuDZCq#ICHO>GBjJv=vwn+SL!nXofjUN*FBLHvBQBDI> zzsF~D8TTU1!AksNq!|hm5{~3)%`Rg%7{>hoPWfo!iR|+MuiJ9(ceFURN6rOs@o3A% zjDP_b%1&Se46IO+!3ghPmZE(aeBAeFJ^I;}f;W-cQ}7;AM+&`+G}oSjg+L+?z_8R# z#zUzcoNke1#4Uq^sK`SQqu>|^f`fw*FtC^eHDCQmFR`|P$;^|>{2S<1{f@gN9|+p|hPM-muLX?4#N1EY=@F96?)y5!>%^adU? z{Rvsg7m+cfn{pyvXpHzsEj3@3;lUlW*VN;>m4s~1+hQ;R#vF^m2pDrM1|wh`XE7K7<9Lg~2pID$1|wk1w-}6oae~EQ1dIh1 zgAp(mS`0?OSY$C60pmoA!3Y=)7K0Hm8Z8DRU@W#6jDT^H#b9KmHD{!jfUib=g}z8F zBN6zUo}a=NF&N`O?IHoZD04CrFYPi5>c)hJt07r1(SV_rI1RwbkIDJoDftp!y{MNpmk$EXCHncKU}n#)4;N6C&y_dYm!UDRU7Up7+!AUXK};P zZn}3IjCo)v+kpX2?O%Ze?Qg-8$Syzd>>FUok+;N$R9q=ns*)8peod}uhP=i24Hz{} zHJ_OW^R)0tOiAh6V%MY#V1UqSC#zjl$}m6}FQW_(uvdVLn4*S*yNDaq)Gd@A3SsgsQA1`SjMG<1pTn#nPSv^a3P1$=w?3DHrkN9+-+udT z(5Y4&lGSo`x-;@S=%MpcgtjncV#abhQq$iCvE?&)Mx`70uRTgpEvCr{(oS3CHI##+ z>7J1;caLB{$6zY_yb6g|tMJSyL=TX&3&7~@Y~t{Ps4zL3FBaf$;)adoP@P&0)MES| z4DM>Ri`epkE0zz$4b#_9^9LnT2;pprU0};c{>4yG6X_>#OK$<{QPMX+kA8}9Ne+g1 z(4jlR^tKq*t*qLOifqnxAn5fojd}#0fh@gvrqz1o(S71=P$#rmn4bB9*rf_F!Tj9k z5TZ@PLqL}hpLv8>0-+}m64klrpiFZo<=FA8Rfn~GTWtIRjWu2e2zmqF$QwXL)N{B| z@2I*r)lR9rw#GURy)|!4gF$K+WdyzI7D^9=&|DdDR1TUBl1dFv$KIq0-Xicev7CJ^ z;A>ao9m;bhu0*E<-MTAr2N2_3Fl+O5m+q<Z&v zhg0h)adw4~q}m8CNMSOtTW$J?n)5L=Cnt~-`4bTIQ~}1g?5Uhog38FA%26X2m^E)) z!*M_v!5no9rH4WYv82) z+C`FT7ug+_$)$1QFJ#{*q%1Fx7x`4$SD3ahFV#tfq?`Jar4D zheE@8*_Rjjj8x{TdTy$N6m*d_>AHz!{14UqIf?lL{>T@y=Av}X{?rC4B5U@m5sZVH zH@0xilo9l+TPQsgnvTxkS(9VfANeaZ!4ceDT~yPWrLyn3sH@nff~B(Cn4@-4e~qrR z`m&3A(JW69a7rs*3aG3sJleAr-D5xM-b3Ghd$17eLQpoY7H=j}BjpAO(+m-o0C}DS zC`}6xp>l1QYv}Kjsj{Mcj$)|b5X0k_{dZ?%j#*i9;qMA4U0>x?F#Z87@-;x}Oh|(9 z4KWT;evqddJ!pJOR5%ch;GJQtu_V}=w^YtXeMMUbl5LffQu1UpGSv-L=Il^h6j7kw zoF7W+qTw~c0(=Uke+(6wh7CXu21*WvW@C8iC59c0U}>N<;vl3rP#n>Kz)2-(Cl#m8 zqFSVriq%Mvob;TVoJ1MHVs#6pheCC|oKzfflFA~zh#zbRv6JL+gwgE@7N}ihx^X&% ze3@RL7mo4kWxdCXUX)cLY`CCpsO0qLXXfuF9T3-p3ky|DF^V5MHBSMng$E5f6lJQIv~{GcDxfLAZV`KU;aZfo3ALk64}vYOSq zF$i5695Qt8Qn0sL6C8w36?%_GTkqa0tvju6ugOq2oSrNF{+{z=LOHCStJbS!&sAml zJ2=Q};&SS_!TKP*3OzTtcVqSHtP+Rcb3?+xp?bAGB&-jydd}={;tiEOH%K3fo*SeO zYSpXIb4Tcd^&@1@4ei%+)#$nE!|XZk^I9CZc9%|WPOrZu|MKmYNh@31Vy(dPV7coqR;WHdVg__=bsFc?&>pN8R$l(l= z@^ljhoZvphCjGF6NsV43hsp4)pbrj{vvjalAEpn-2&wHIF?vmw@Zpb;5#eB+UZal) z>m#fYQYRG=uTGATVR{`#$S{3at3DhfWTalJkCY>%uHOi$!3e4OS4POB*H!WhhoFok z3har`5ce=P41G5msXn3nT^p3Xp}bXwG9@yUXTgAfCzPkF74CE(3>eFAafAQ)b|AA8 z2#%7mJZj)r9*tNYgIK1v_m1TXPuK2}CE zu7)zp^=LDi$LXW>F^J}IeWH16mhj<6^Z0OZf<9IsAJ)fP(LBM7X7DD+XdbOkKs1lm zN4M%@5Y0#Gz8hGRz5!X0 z#QPAlZJ&ziNAamhEW`()NOX$M(>_WqX)xzw}?V9bW}Y`#r5e+Ftn2 zY`2M1FhGWJ%$$S1^k{_>YSrXx=&jTRpw%u3&jX&KppuLv?rA+K>U>;EVlWEaj0ntQ z;#Pd*+m&=WHi{socAXD2V3UVGw^7VIQhP}IJ?cr8fRWCQRR(Jrj=;H0W z&BD?4KVVj6mRYZpS%Z3+g~`2-wM9H4!5$-)$i5IRhiL=^# z85!IO_)c6E3_4gcV6HP#jm+Wv-2nuMn267B;g(#)97PT8H$d@s_Cz6g75G$|e9Uj> zqVsGKJe2Va#|nKBQN|FWtapJim+7W=4!#^2i2f^( zc;zb}zeU^TqQyT)<3Gkuf4Ku~kKk@m%W==rkhug7s71yqELdk_F{=O%GGgNOZmepT z1Q1a}!cO`ogO?hFHdw*PQJXwuj3!pV9D~`mAso73WrKbzPk!& z<|U109D$sm6BpU|LOGrs;Q{=HarwRxJdmoSDfrTeO%a`LwCEeMNC&U-s^^pYl?fyi*kysRl3nz|OnaDbqMzg&>Iju>48C!v=GKgJK{>bcIYYVc^gtm(OC zfsLp;Qi>+gD~w>vM{*AVHztuw@@mH6iNR5X`q?VoZyXH@2{wrytH3TQ>^F`9%a{fn zWu^ch@zfiyzye&HERK$yClz>5}AQu%?f%hCWEUmS*Xc3Q7UyM*(<**jLkgy zi5SV5s5C`0skA8L9@8`MFJg&A4{2{fO>!0ruvE6y-N-SHrIyk4@@yb*7Cmf{&I+f{ z^_H{nUUE4(D~C+$qKsfz-9qW1(3D=z3PYA3dg$S;zSZx-OlFB&NFpBpgp(eAp_GX2Ywy7O)6Z%uJf*n@q7n`A9 z+%JeY^a~H>Wxn~EA1tJ82TdsHaF?ymbh2JZzoSACtrzl_KQW(?o6Vj*9zA#Bu zF&XHRdnk+nXHEzvCqx{n$H2+W<9h>Npc2Wq5!k^Jy~LTiglZ^};|C`p^J}PBfbGV7 z$eY9E4h)y9SsrIPPp~{t9$7$0MW75A-y7;>882k@D_NtL z@;jATmMkJ}$sz3>8p9`o$mB&TXcle+ulM1-H>H88o1CDi3Mz{oBr|?4o8%=NzmG^Ty0~ zuqaqf+h86xyd~1BBPWrc^Lw*hktN__^IHEoMiE9Y{nQao>Y^J&A!zy|K3+)@Gm&;6 zMd+dvdG3S7|1E~*b zt+^ln73AO?@n9eR8Q9s8{F6wts`QRP3 z3-bW>^|+pqR}N~|E#%shL91Q2654}q$`X)A0Df=tRWxn{pIvuA(4!ShI8jZ00Pz%J z4@;hew*gO4Ef(W;Vo)uTk;GWnQdE_sxmI2&jkA!0w{V)UwQPm|)UI8SGEQOJF!r&N zHFwJn<5V#Db*<9~vEysPrvou}%VZvQtf{*w-LjKP;{CfyS{K7;gW5$IIAU#~^iT+W zD__r`a?rFKn(#H4C=yJ5)GD^oZS1986++QtoC`~PW$h#G*}b_gV+B<3?TB%H->hb2 z85j2Dwh;GXa9u`>&>ul<&{=aVzLI_qp)R%SPS}Hu^u0v7@rwyR29izVbcU`ZcX7?g z+6@lB^$jhwWgT(9`Owpet5oyLq1evXb$p-0SHc|G;zQaWVPJ9<7?}=<45Dcc1I!cj z;LV*cs2cgMjO+|g>TXzMc7{idR8ePKAgD7aBj{1LP?~j@z@6dYyM*3zWp6607wFvV zrLoUd=F6z$?$^DM)i76{oBQQDBXMNn+}tAPf%S;J2AH-VsUNBJ_X=plu}C6@vd81; z;8lay(}#~?Ev^FZMtmxPo8xgO+G&fdp(^W=AH$X1KLiK!6Mc6f0=YVjF&lR@+#?;KSS{xjKgdZ&03x5^@pss1>EL*;Wl{ZMUlye4i|pd z!8~-(d!FPrRd=N@P!OURS@wWSjZ{;JVvCCqr3{R{EtF;*I;b2p@u5S@a*!^6!XkSQ z&)YAjv>#(GhHmT~$5_rdcG(uT0YUpa5(`pDXV?);jh^B4^JJ`E4*RCz^AbMUYZFGI z*n`jghz%doT63+*HF-Y=KWmMkHfP;!%a|I)F-5m9a4OD@|172+gvh@bQ z6h{2Bm`bYD;-nQ8;-*;LD1ok;&H>cx>0pwM~xjli8v0?3TPjVd2}m&n+@qSc&fUg zBN1;~l_ZJXi?Oe^fP_%hj_N&z*_9hd|R0DO68yrB{~u4^ytPq~a%Dw+H0k zm9exDquOz&L+{-4_p3ie`UE~X_|SgCkCY}A#68Pm8%V#sAtvCn4j)t@X5mA6y!hnd zL%M`G6Av-yPZRg&{jx|CWBdf4&UF{%i4QT%H1S&Quktl11U42LnC znKx9|#BJrD1vN3!M{th%SY=IVUnznnwR%Qb$bJmk>CVB13uk2tTG zB#$UuS*nROD)ECp!cWU{qwMdCsnjLlZxkQRQW!BmF4FZ=Xo`; z8TD%75!+|@ZupVTkD#GKJyaYJyQ`8Vxng_4`(cmxIDdD!CO%=SUJ4v4*2IVqmHM+n zrA9a-B>^!cCsLw`9l>difSBP_An)*#%usGuNuYMHCYIYj3+9TKyrgrQZF;ds%*!Wu zb{Xa7!v?e{cRKVx!>!(sLw-0_B{;g^mqoeaXDF+QU8qG9e*-5V%EC$1y9u=f#E1T5 zNf;NtBtJesq=!W@w?%-R z6;H5d4u(D|g~zHM1pMz1!4JF-mWIV=upum-hfe}xQjk1Q&b?NRmTIDe%O0vy$^)XZ zurs8Ia0T(N9S^)ZXn?p9PD>3jGUs z;JRvxtD{-Z9|}q4AJrstUYK;QDcD_JE=(H@QN^N>^L`U1szjX3 z)bqhm$#{IjZG})UExeQyDp{u-A=)|br{$DaXHpTC94$6+-d9zWH%@eOxiujwca*qP zxM9odrJ<5f#S~CvXMQ0`P8F9ibsg)h7gsU02j#}&ym}K;2g- zFq?C+`@S4qJmI=LCn)}0{F9upSXh1^;3Y?mxoMzJ3d0>$HsC(b ztB|Z_IHlMN&QTt+dAd6f__44})8eS>r0#>Eyxfzz4^#2D&(!Q zpSVezQYhz=Dx3xC3(DQ3JdRQit3L-^ zW`7EBr~O6P{P#kN+p`?6X4(H{nm@Ce%I;M@hWrQ0!{EOZ4g$UxdXqi2xespn=M&-= zlV|oSf9JA?0B=!UcmXBHrUTx_miz4#x4Ug&aHiYe1YT;d1is2XEKd^&|0qC;a7`Gt zqkvobr}W9Cv8IU`uGuKNSDA<0#^560A1J2+=GY$Qo?V$27CXh-EIrhZbE{L}yjOe{ z%ZI-s_gph~VI?LY@r*L6N<%-L%GBAe%k$5}6y759+<)~E)gkl5BLx?t>@S!)*LAmZ z6z&k;G^xj(=Y#q}mQ&W2T%KnWjzI!{`;}Ln8s;jUsdL4?;LXS@W@?-GX3*_N%!*#3Aw9Jiqw0S+3PL3a8EAo75KH z`Jmo4sT)IYJVnerfDTlloiWd{Ei86pCq_ca7^B?<}PdYX{k~-F2&XHExC% zGIgb>aQ!i_NbEAHD|7#nS0cVNsaVxt^UB0LJ_cMPzRdY1uR`2pQoaJkUm<)$N#~Vf zrE`dTkmzRW8Zo=#o4jh_r$ta~FZ`&Gs8XiRWiM5WElgb_9;}Kj*@n-PXYPI;>%v)p|;;t6mHL_gXKg2ym(}eFa)gyLcJk*G3bU;Fn(deiVbC~K81!d*_8gZA* z6Or;Ee%v|WBnL^c#QAG=q?pOnHc=m}^N$pJP3ja|oqw!YK87T(5x40R{6~r(nbf-_ z$NDFUM@_29w^~dR`D3NzeW3;Zqr}-Jby9eNf3o;Iowpi$C2Xan&eGM`E47-`AFCGl zr-|21>Y3^V{^?@gcq#eEs@2#zEj6ja-~#_F@ryLITFe#)OzNTFYTV7go~9P~=ZYP4 zP(&MEE?D3{UZ5E!wOY&|Z2aXX;9Ec6Hp}ATH;#Ga@TE#C?)EZe{c=6{j9W<)qG~Vl`8g*X~~`USX<7 z>$)+t#ebTpHmN&8=YXm;sjI_V{HKd? zCUtB098kwd3iVy)ZxXB0)b;)qVtbm};cpiE)6@_AE#l8p+td*2&LD4ADCXy!AUUWXFEhhC)&hvgloNZEja$W*;iAkOBI8SL8SDVy!haWrg z9g-3^IDYG2FWxotp3=@!){Bo!>N(9X){D#Q5N6{!XzP;Y(wTYTqc@O^RyYC^nnatyqsXi5`=> z+vmqQ;zEsg~{%BIP9$k#D zgGztWs&=vX%A_bJE)mK!nMW~kiSS8EY$}_fUn(AD>KYNup9gCBbSX)m*e+I^6nSF1 zSZ`A9-1C$x#AcH!%=L>a#91b_y{JjQQe0?Kw-mL2y3(X5vaS+0niTcQRbrP(QBPkj z?y)3M-__z_lcJu!M(i;u>gj95GbTm7d9C9?m~gTqoW%sVDQdf%>CK zjV*t|cD?w-q>d?HqhBw+GAU>A6SfsBscZzm1uhILwf2Y`FQm1)e0@Y(u z)JM083rvdo=r(bMNl{GPE^aU>iiz8M)v!z4F7pt{ir6LgF!i?bK6ZI`h`lBit{w%d zbS8QCZTB~om+E(j!IDz`fIF@`M2(rZVbDxa6V1G_h1Wuoej^6ulphzKio9)1$u;MW zUbfsJF5|py_`T?DkbJAEc>W$^-fj#lvRav*Jnp$6_y2Z!2NkP~ImBkCpXZ zkP`((|Cj{TPIbSWrGCGdd@@OH6Teqp(jO3Cnv}4;sy`?m zIz?(BoeznHr)P9N)Jx~X;&jg2Ci0Yn`oq2Q9uci(-m}X4`Xjya9u<$8d4E#h*B=%3 zrc8a0@o#ifi>Q5%^(yzcn6QQ9x<;yqh*gc)ubrz39%!Q$$J8*B5LyqKJ6zs!$q*UfSyTx z&7AMTrTq89?6Ti4nVl<3Ijb|4^v7`p2@8MhAer-ng#SV({CPYbP{md*n~lqMWkcNH zK>pJbf){C2>dq>9yBgQc;A}yzDqO&A>=V1#j9R{%KeO8JS8-M+nM^Gz&c+tU!ezbR zFEeoNK$@F!$WB=c;fiRiB+irU4GBq`C366LRoo3P*~B`Qp?0YPzvzOpU!uoV@fn~E z|0WV~TJU(pg4um!>Gb<;Vw00(q|Lu6w{WU4lY0|;Z{SkBC9`W82>1JOSHd-3&Aryh zn)^$VPgLCTWqL4yb~$kGKo<6w@6VAf8if|ALi#paMz$!MBXLsH?x8{};|_ zxzxt&@w<^@`y`BXySS>1a^)!N&wqpa{d$fi38kKFnBilLa1_a?mQdzqTs!1NcPonS^ut7kHBW1#aKJzzh6eh(Y*N<1-i^x1hC82hT!xDnE@K#Fcmbe>+okslhhyJQHzfN6t(k+x)q|!2|2x*meZXhp3HytM4dMXc zskmXJQi~KSwH;6sAMz^oAhjsm>dc|LyA*yqEZkzpyrLAJJ>yTvfu*WQQ4AlqyHyTxc5*%@ceZ!;VR zs|u9KZ1ZHcf0FH!>RF18vU8Ps+v@VUj4x2;+G@*B0z9Mm6lIZZnjYocRmxXlzIUB6 zQ(W#pgJAVkF^@IJ#RC02WggyjyGU7PyV!T7619C5ya)2suBdH%@q^0sV!rP&KsA4# zvfj4R`>Zk!@-HfzZC@501bnOdJ#a|Ak>RO;3DE*5)K=zPV4E5!Rd>RZ32}jKRiH|( zXRmg!WW91(V6wX1_ICb>;O{M1re1IBaW<)L$gEU#z;)`~w%o!q)h#T4zwPew%hkth z8_IWs-%#7R_ea4`)p}dy;J*QXX3#f)ulW^QtJqTI1SI?S z*+g!xEvoGH;)JM(+-Y@1Q` zM%ztX_9iYn*LH&Q5u013-RE3eP4zmlnfpbzoq(9pZ5{apR{_@BjPh4)`)t$;)Q{AI zN9LleqHCYqc8Mc%b^9(v(bMWK@noRVet}AnKMXY=yt&U|$dTn0+(gUi&X?f2e-JPVuu!>48o}sk%D+w*7$3hf~x6+y9gi zTltolxSuWG&zA3J%gK_U zgDfd_kR^j0WJ$zvKz&N92c-S*0hP|Z2h{l`vmGz+czl^Xzf4^cTH%PQze9_n>X3?W z)MYIBIz~{!@gCRp9@q6A*Yz<+UA?Wo;)f1`4>`8umC>I$KIR_WE=CmXcYMw=JGtJS zsyp`!$4*%C55UqwMf*xsob`^c%v?Gb?NmorI<>EC2M0Z2+o?XBpQC*(mR3x~crV3x z->Ggds?hGYonIY+%uA5@%JvtQq_)^O^6$63UA0u3WILcGwV9~>B1N&wQA4rXC}x-A z8Iocvyi?0p@?4|DSIU>p$ARC0TE0?-hkmVn#q&=qOS+Zy+PThBmLJUWgIQ8he>~`Z zr`tZY>=FEAJaH;;1v&c>y-TqDfE6zdoZ{h!1h2p;! zJvddk?cX}yagJmClUe^{*6&t-jVev-1U6)v)<$uUEOl`;6aIS53{^KrP zQOcfmMeW;5UUbFn>$TswTA}Svt`64LVb;DUkmGi%CptrbyK>9ib8Ro<&UBJ;b4iW6 z$Npw`yn7MH)gtcYMclJn6q*O(%#VY=$Q@_?dgiR>$XstqQcvm1E&3Yw1@?tnyZdbJ z)9dY@InH(+jY14Kg9<;m=mgpxF1qzh5DI7E7$$%dstKMSKsx1?0HP> z#0*BW$7j&?n&a=DU#hmk9Pd8vg?-!$kJ-*GFY$iPv)O*u@PcxcI#s-&ByDFXFDTF0 zj`8lt8aGNr;o<4tm)V}z*`C+glGl0ey$LPCQyFg8$K0o%v&`o#a}z8qP`+mUU$eGW zaenp9UR{}1a=Z6#XujKv-yKKa`C!#lakqV>_JTJb^G`yMCqMKqQ$`_X?zUHI9^ZcU z+kW=je)ijT?z{I8Q5Pw?Qd~aYcRzGC_)1ylU~cbw?7hLP|5F~zpK{NBs?sR_lza12 z?%(^-k7xU8x%T(CuJ^dE_qeVX(8haxUn%#&9+y}s+H+jE1Ly?YCC&i6OPmRKk2o7} zH%hp0-fYiN@vQt(;2*Q(CoK6nBvo;aaw*{T4DV+6FvA0Yb$A~s8mPm+hO-8+L|gz^ zEv^8p5jz0KGCZ2$42H*xAAsM$_$lIvKvXoNt{#Rv8SZ2FmRKuX!M7P#6p|Ulu%2O* zVGqL{4EHj8i=j|SzLMcIhC3MUW%v}sw-~<5P}oS`#;}rMHNzPUmosc;*v)Vo!`m6| zW%v}sw-~<5P}o@~!%BvO7*;c!#;~5@42H`Y_AuPRa3{mP4EIUsAf0bBR5Zc|F|22} zTzgOq2}T+3VYrjwK89~IRGeIj;a=y1A{Km`am7XaO4oy8XK)bX^$ep7dl>FyxR2r6 z3>7zPV_45H%CLvwPKNs!zRmDG_fJua;-OM@58;CtuV)x#*u!uq!+i|*dP)8*hQh~o zN|;0VG=|F=b~D_;a4*BRavl_~1Vt{FVmOWAa)#XucQCBXV{HtVGwf!#gW+C=!vCNM z*B7Flo?S>bS!3oMWSw($3Oe z(~fd4aew0e+U@d``0n&Q;`_#@;?yeeJ`j%dcpr#f2fZ>k7iV)tKp}l$5vO}6pa;;4 z6Qd7UE})M0Li2$Y04u|JvjVeg6*zTx_B;kBPkQusN4^brJtyZ7e8TAj?8ZN$D#XE% zHx08n{|Hd-?Os2iEPF7N5B%vc!Hy!zeL1HL@HPkOJl;uAa@K^Z(wrCZZ%5+afDaO^ zEIR`5S>_zU^0L(NAa>n?{r1-+LC zekC+1xFOJiSD`=gwiTd?H~d1thXShNXy{Y%v%f{)Gy$q&IrJ&GZ72aAM=U5}4WNpZ zu>yE2po;f{2LW#b#Fx6E6>oe2sv^N}4<-Rs{A$M$;CBM5cp5hh_!)qz=)x+EJ3>I* zsNow{3U0|q0Pn%OhIktaP{qCPXy9i9Vkdz0T)|WIvB1wm9O5n$P{p&WBY|HCsN#9l zB;XeVs^W6A3GYw=s(3bZ4Dc%fRXn$u3jA6?70+VofnN`(iW|fX;5P!Q_`b_5;I{&* z*uBgKz7tTzbBMXXZwFMdpE(}*9e}F%0iJa$;!Z#nJDdf;?*>$H-@FL;j{sHdc^ZJ< z3y8Z|u^9M$fGT!DOMu@GsEP-~GT;vas@NBu0{me>74I>g2K-S#6*uHfz#j)x#ZS>c z3eJ>K;CrxJQE+G7416!%T2ydD69fJv{*`P+JO!wV{pd;D=K-pC=X)*S3+ThJxLhd% zyh5n}yh<4ac#TpGc%3o?@CM}wz?+m|h_)XpqXF+x#v(?347^C}23{f_2VR0*_E^Nl zbHFRGM;?o~_%-lB;$`5~;&tHF;vn$B;w|8V#XG=5h}depv@l2bl}aV4oT+@Ie5QP* zc-3L*x$1mdo2}D!r_EtM$$q9C@4`Dybe!y1?Ksp1tB?mg~5xc}Szfaj;4*FEofj_{82Hh537AAV)2Vn;g?{NbBO7>}91898_27QHX;Gu)CAPo;$a=Hi8MGsSuI`n)Me_2BoPa?p7E5k<1{?>MeQN?5$N@sy!&y|3ZkQNG7dDgB+E zb5V%Wj4rCaqAfF{9nmQ*O-;mWh(#04tBD#5YD#lc)696Xy*0XdMr$;g95bqE0Pa}H zoz&FCNL_P>k(jc=r248z%Z?^hGZL|AN9@>yv5pEbYYOy?9!r_CV;ze+W1TV1Vh-hv z%amJYbar&Eh|Oq?$J#nbit`#`9gXpIF*e~y67JPbvP(>+8W*Bft?^{X+!i)A-Sz<` z;1CpRi6uMIjvdVwE>5&2$z7vCu0Zw}a{3q$eH#wn5tmy4M7Df@7Ld?H=<9DcSZ4Q- zuOQY*$qAjUt&vE`%1+*xg%Xt+hyCpWh>_hOwCZS9OTMw4qHT;JRgH`)jxF=Eb- zb*wg8rgz3$TVe@h%-R6A&WX0Qv@)44T)#0I?_icyAv&C@UzjjfC1S}W;U~tTEeqOO zH_wBIL9dE+G|laZts}FKY--w=h~k?*lhOMv9He8!73Sbo{7EGh&I3 z_{w-QqH~OxZ?teAjuA~(ZH=ot*R5!a##_gTc6_YnfkKsXyhS@(;s&>FteCtK!?7*8 zj>jIzc-zW_7?P9=icB0UO&lv4J26O?k4>vYzSL(8-}F^1S+-6ZEH5C zm>EXf2J&FrD%LmwW21BBN{mV90YQ3@$WmO*=p!@n-ng3Mf@UOeXKZe6jj;hB%o3I> zSouUVc96>KvCN)?YVet{Y{tA<4NcQ$H7=Po>x8BgXDwWCVj~G45B=JSSyD7EYn&;L zJ$C-WS+m8=d7@!6e7de~?gG&erx|ljW8*?$b^Jnc!s7W&OX}w~Hi!*0oSK@DwzWh> zLv%x|WqzzB9u?~tQc%#`Dv}mrDPiuqWV4ZIjjw>6%~qW=jMml|hhnmBcC0Oyh&Kxw zNjyf=Hb`no0;55q=>J*K=GBsr^7#H-EV@o|Fp>5lr*B@Ij3v^!i`!`(NT%r-tD|jg zvDOUZB#MU&X-%COPP*v)Xj^m|em!`chs}b|yF+q!g)v2PzTu}}|XCa4&x z;@D+(ODqo0^0r`YQ`7Wl^I8n#W8<+_aIsqUg&(_3dXsW4r_7xF1{E^&OcAhIVw(2{bA9E7`cYeE_Z;Ch*Gud6;fjVM6bxX-2fI zIo8^rk9|Xb=FHASlvd>da$?EmM7(|A%oAftqqTG3JdW!A`s5VJeI8m}FszQG2pRE9dm3m%#nT#)gi~(19LnhR3p5 zq=E)Bn?$xTK{INaKwHu{t$%6pths=z&ZbdlW;}sK*+^{W0&P?YFTV5QZS3(Cl+NW9 z50h#~Y(CavVl~jZn?)m3GMPqO(*{~qn_3KrlJ(?g=@UZacAK!dZ7U7VGdCtPj0AL> zo0LrF)k!oa8WWorMiWV?G&5(h>MXL)Hdn}i7Bge5u~o2>dVWc~WA&W)s?~_R>G2NC zO))IEqnnzzA!uG(%glM!!Xjv`vSK66OvKh18)E(W>_3iH^i(3fhShiAYyT@cQP0fS ziq2K5C@3?$`eZV;Zbj>6j+tyW4lvn{&SYUj46BXAz`1FCiD*k~T{N*aQ?N0bK$jew zKwo2u%gT^;#S(MkEiJLOOaV(5qI_k1l{t_1&z_l?$1|Dat#~WX{3pg*qnj8@X7VlF zi29b!=8pauGmQ4l3G`D|79s%KzeFOsc_4925^Y%-=CJ3>Y~XZmIU>s&-#-)Qg&MBrp&Vu&BfqS)qWrYQiY6^tjEaIj}H+U8(q6-&rm zlA9AvN@4@;t+_zF4aj^%5q829OgvT^;%CUImXTf9*B>7h-?A`Tzk=897##;`$Z^`#PE<2Oi4j=`i!X_{Acs69Hyk{uO_aE%hfNM0 zZ0hRU<06XB;zXQ1*b&P*+``%M7LKaeZ?L%G@u4+Hp2ygHI<%*4 zV*=*~P8$uH`qy#yq|f)F|B>HpFCR&$9bzsHX36*}K5{T4bI&Gd$@Ht{%r4V{JT^IX26H=r_%X6O4|A&h~bL zPCVEg#ds%83v`AcGqa{=X+&naX3d$MHfLv%y?1+c2)%V^<_WQl9klIP*->{~lA4V= zcst9*C1$OelH#M1M6GS9NtxG`lG;F92Qj17z{zk14l?j*V*;a>0!GZ0(Z%@u&P}nF zEP5`N&tfo5H+5M&J{|Po^)i!H%YMZnk|}dbhLzT2q<2keVOGm6mzbQ_Xq3{mwB%Wh zHYGN67-EA#`#ru{Y}{ywhSpfD-5TO2#5(F|&um@QFeqEsV?j2Fgd*e?RQI6mwlmX$w>#+nx!N)WeP5~ zI?Ut8cT}BKWglU>zuiC^I>ApF0BK*2-2rZZkm7v6Pc(RzPFk&+8IP`NGm;(g<|Mbj z(ddY_HpH;Jwj}ws$HFO~Idguz6;B3C3F2D8KhU|D1NwUfNP~4&X6ZCBKi-@$czT%L z+*-$R$m`q6D2_Ll{ni$R1`6$#&8SP7dt}5Yt#3){bZg8ZI=HEP4(BQ*#%(bV;nHr4 zKw&y#Bt;@qG5perOUBK0GZLHIJ1_#H?W;G}^*J}lifBKWlvkClt&+%&@%jXQ%FFVR zHQ+h=d*$%t(VtBdNT009Q^qx6<&7t4Yh!jR&3|d9r8jzYw2?^4Rhc{&OVsgpAlY|+ zX0HBHSuY~J=qK4{StPth4}kir;yE>0CudZt(85t7Yf9!$>oWs0kEg%P44iQuZ46i< zy&*`7IP+-hhsol*JW!WjkP-A*_r+Q4K1)MZ&dexHkyzEz1K$eHY!+`fO&`+(7h08I z4o{;E?Ko5{;DsvF7<1+NF8}pf-pqc)pvX3^+m>q4V7-n@BMB4H#DH+^W{y)@GuhIN<0R$J>F+npxZ zU~BZGxrn4RPJ3~TBs~3V>*(i|^liPY!rVt73NV?>qDMor&3tKQIt0+*;3JT z)QCGz>fu%FHATcwxGTPY+56F{*JlUag;&Es7;#mIg#e_1m z0M>mI8{nBR+)5ARRea&%CI$wtAaoq{wK>FyXJP+gqLq7U7W&c5^h< z&025bnYkDDQwT}Q7lUTu*F-w--W+~i1#ih2NGruWq)~h`FNTjOm<8uheg|@ng-k;7 z@xxrrEWZ-GRnSE8D^ac!?@D&yZM`_&%p-mDD~LD_<40Dbz~X6sQV4fCuV^yLB=BoK zl(ulX8gD*M!3(96@n)pNC!_2-XsU#*31~kC?`O53#twXr;=CwwW003M9*y5-#3Old zCg6QL{7z9`70O20J}N5;s<@_+={jZIA~+dRm8g~4x{~V=4w4l*Srg?_E7)EUB93J< zVbluYoeL}mYthQQCBRnTJ;*roL`AHh&y(=dYUHkiZ35r?AwRVM2W5IKiCly2A+MQv zc)Q!ce`_I)#|hBU!J37WWbsO0&I+VhQUTY2qSmYfPW>qyoh0FI0lg9ZBiya*s}9)P z3SM(YTTz!7g*R3!@vG%sVl=Q}NXH-*p+;EU37spTAqp#S`-NA7H*wFdfqwLQXeB(j z4mfUeGdgp!xxzgcb!G~SLv%|fT~)Qa+TX5GRD*&}8^ zhQ^>Ai6g{JNF~t<1CZiMj$K9Xt5XDJN$T?im&cec8i96Ggptlxc!la(3vG(G9{t(E z+C&+(ocu<;M;1}-bxh%BwGf5G2Zrxgke&^kw-%`=IsqI^$tFLm=CT>kL^jjhGK2fU zvK`*6pwSaWoojjikTH=R5!7>Suu!;Zo}suFHvF^(Y@rzev8ykH{wP}1iZ;-g5qUGv zUsQ@B3FArp^5=8I&qR~cdK$lMzvWMhw+VZtqPT38LU91mbs}@MP~aFP;Fn3hOnj6d zm=8(S6AHwXkiJaK&9ztJ9Z~Q~!CP$dT$O?Zf>132QH_dqe_rNtOQ(WY$pk8NgLr#MZG@I$T>tq+Qzf|jOh@;M!WR9RrYD=;6n2_?{TKePyN zoFL}wJr6^t8ki6LrGW5c5dV@8Y%R-m!45Kkj6%76)T?M(1WEUcN)9ELC^;S!VFopo z^5?km{fh3Lxq)r3GAz8K$mul<2gRBhn zyeNDB4%yoWBz2C*X@d)?E)`#PP)hx(8_GXa19JlN3jL}|p;Qj501-*ZKsPIzhx6gt z+)@Cg)b3RDC{4SiHM3XWLUghmxUEL9WtAvXH;5Px_Fcf zs!<-Ql$wcNPix+j7S3qilh(XPbE<*veefHcypI~-u{+U{JhQ?%YFS_ojCKlpZf_Ici za(%*qHofnnkIRW5%MJ9@a~yt1k*D|k$>D@RJ$j)>$CQJnZ$X!#v2Yr-b_=m;p%T^5 zs6jO{c}ymIa&@OYFph?Qpl1aB*Ly}oKf=L7ZtD4z*cj4_&6LGRpl389yyyS6clNMx z99JCQy*u75&&MTqNZXK2I%h)+=#V0)SWJ!ttv~=}@B&)a8KhzX790W;ECNcT$Pyx2 zGIC2Og#Zep~GWw(#|gX zn(~G#E*#QT{vjF8#pv zU#YWAzT1!_Id7XSr(H27Hyo2XN-4|rFdp(Mn;yxL4xpgDt3k@E${eIFEA4B?T1I`f z65l6*-R`aDYiQ^wN{{qSNPMY!TRq~spP(Jc9_OC2Z5SsVv+VjzsU)QzdLeAoOL=PY zb8lom>HeuUU*KITxe=FoMXkpsb=&k2|9u9?(c_Jhv_DyJ-Fq$_fL^4;=XdWV>C^SP zl}`@|E=kAewigYB6&&k}27HO)5+wUl#`mT)XlG9&Lx}UbiD^(vp)zkCr^&i{YOBxo z{WeO`PxT5$EM^y#*~Qp2$|P7B<(X)DZO>6>jinVm)P2c%qsh2S$%v+CAk?XlY===j z<8YL$_cs|IK2{N`fn7B|oC?#{hXMGItlKD$Z$kH8#Jl{luER2OB7u~gpGD2E7Mvzo zZtGA(W7W7_N}&gr2oh zv%TE8ow;+CJ7*(OY!>H^S(-a`e%H?Lc0a5gj@$&QmQ1;H6^=>DSD_$d-l|K_#-Kfy zq-#lfUTV5osC2H{F73FX47QU2c3jK%c`F7evjHl2)ukI4Q{Oim8PtZmZpk^rI=$Xp zMX-!z9%5D9YDD(>a5cHvv&3gJORS^%>8!dYJ!eBBz7a2qQ9EdrS9CF31=ft&Yst+j zChUbEW?*p3jh(HfXT2qp_gm@_*x5~BCnvDeBe0_p$EDXwak3!a51nYq)^2lrD$_C7 zN^WA7Hbe9Dh659v)m}9lj5j;@u#s1@p(0+k+P(-bkld=YjbuHySHR>}k*;P-#@f3o zctG;eS|f5Tmu@mXWUSsKnNwN4&0WHel;=HmwufjFP1r%{W=`oQV?}|H5pO5m9>8lw zJMy-rdrP9qAc{Wvq4US0?WzRo8>Em76OK-g;tmw{DyFmU7?$f#h~;kdm-pX3bLiL? zx1;+%dFMCDKkD<*-){_m{n?SvJJHO?Z~W`ikN*5+RQdk>3(q|N=uriam4^bg3$-h0 z$A}nIlo*DkYFw_m6Y>Ex1UwG6rUS%D=@ z;`Ui*%8r(*Rz@RTxtc7nO;yd3#g!`J%yqk59g9oVx@HVL7XrjK0R%_H_O>e0v_eEY z8rH?0X+d3S-p3c_uK=3p_oE9&hby+RzAS~24n%41vQK#brb;y$fgtTyfpOpt=P=!S zI`g(XYxhb+DYyUs)ehpXX7LeE^1Tol`^*p2wZkUuo~DeXn1 zI2$R>8otmu?2}s-Ubk!$Es$uwCrFdM9d@ znHDiIs^PoJhaC*CG#D>G#Kom3VEo2^TM}YS8}-Nds8r2F)J9JxuVuziyx(#-khxao zTuMqk;r^^F=Q~;8UI6Uq;+{hNj1*tC#3#G-q)+%O3I6N>XS6n%Qu$;m_j#aQsSB2> zJs#!|HxiC9#uVN3Qozt?mRO!2?#sixi;E&P^~yCoE3n&%7@V|mxq{3`rtymok7NlP zX{P|BfU$wu37%P4k3Ayt%@H5W@a5O$(CNO4i9vpoWuRFpjk@lae%d|A)y`=+jB?9x z9#nV={xItgb0U-OfNU&1vgVW91DXJO3UJxW6G6;Ys!Sj)owu+?Lqlj9>P61+DK6TxW2w^y)i0aJJ$d|oL%^D|agoVxVOVm%rQ7%u(# zy^wOUh1_BUpjgkzj819KhJibL!>{Kl)&O%0wjBn~O`kfsQmkK|%9gjj%D30}i2X`D zQe0f=eYce4%N+Lfx#E%l|&oc{97% zbNKy^a=i0{M-vt=UVNQpD1klRc>cVtf)&u$CAPOHaa=xD_B&qYzI||pnAAJ$PX=#t*5(Z!r?_sje~okf9#sDQAOE(7F!NJ^X?{A1@)cU_atIMc!qL3T)C^p5mok z{+qYA&E%9XlJg!B3DI$R7o97-wPb}j%ye*qoDBm%Zf~KR2|TZ*+@;izb3kHWom7Lh<;e@Yx8BzCJfo1nx2MZ84$yTm|< zg~0n8P^-wv1#(#{x~~jF3cnv1pL)1_Zz;m72+S4YGdV|j-;mM#Mpln{OSR`b(3R)z z|DxUZ%V}_2A}(|dezTaMfHab*M{oGqU1l$bAIIO<495wmR|HCNOGUq$NbByNdK?~4 Y(YLVw!hc8Ae;empsPDTf{;xRjUqZ{nB>(^b literal 51712 zcmc${34B!L)j$5+duQ%!S?10plYIqrNJ1ch$R-jNB?r6t5!s`_I+PotJT`g)))WZbDn!=CX1H#*Z1>}&Uwx` z&w0*sp7We%y?2HM=Ugi^A%p{;FTN1sQKa-Yli^o`K4j-qJf0&S_Pkv6s51ZMs^-

@>S7Tcefn?#{|sXXTuQODfly?a}(|Z0|@*^`f~#%vUs_oby1$ zuI;d>uJkG6gm?}dU2<~{BdsJ{A>e0Rm39-u5`*E$2cP~lvEot^rT^2ZMG^~t``-~_ zA!CZTmK-touTl|NgL%h7R|?_IkaL5cmqFKeMK^VU&U*%+5+7=-Wj8SXs}y2IeLN9w z10`)k+o+>n;OrEbiB{Lgqa7v$*;d%hx_*)pVFYrs26BY>811J&vP~6E@%{!O-dJaO znREU*P#;I#>%+xDcx%el9x}LQyc$N!^l%9=p)NR1OZh_WL6&1owVEhJZjuPeQjh8Z z6iSqVZI%N_cCHexAWmh9V^#sJIY(yKWy#d6CT6JStbuIJ96|gU6-N`#K=~*&c{UkX z9|zkqx>^gLf-IFZYRIh1mZ|125wlzox`5e~f<21Z)TYsB8yalL0$$zc(!$3fvkT0U zEVY-^xm{sUwO-vd;T_u-!<7pkV>vhs^^qkR^?^zC5f}A=8d~4ra$Mh+l{?e&qR(iT>5ub*r^@hiy zJ@Jz$fX4wF6+hiZeQ^xr^{NRU>G2DR+W>*^cz`T-7*=`5Xs%kto$XRO4dzd&LA0X;k!IaEO{bBe&3!kprG19396LQO8R#yoH+%W&4Y zKyt5Y@!1fR6(^=rJr2VWUk;vT!dYH(IzT)MI^GSy4l^8KIL{ldgqbx~Ogto-b%m$W z;5b#l511J-&cZVwm^c~0Yt97pg|cc-bGdKL{y9dD8g2y3W6lDs8|MknM%qPuvO!By zpK+iX4s#B&kbtEd4m~^)sk>lVmfLl8Z2SW?m>(VD64Z%kHPXEszkw{K&dccX_? zr-$bvFDsN?JJ0R8l_%Sv1Nz~B?~_of?}JVk+Dx$$)D5TXdc)9Z+VdV~IDw5q-JXJF z*&a6xdZ?y8aVoOP_YoD(4cpHhdSl5i~}4KC-u*gX|1#|3TUour|t(6D+)< zgwFsofwkQ0)wi5Gu+U3XXb~5p9CI;HIb^uejK-g~Bf{sBP6@igXsS0$H+%Q>8>zL_a02eXttPfy6~bZ#EU90)`SOj285byL1|1cP~uH~ zjq&{C`JDDjGK|@yHXxV^gN0R@?4FNkg~ANGy&<0-P}uH#imaNn^&S(|c+KrF+Pob= z3$FlO=kR3JhB$W8qGkj+<6m%x#ya2r070+DUnf_y{Is-~n>7X;|lW)`dYFr{X6x{#$tPjd`is+pX{rT(5OHOC#A z@mF*}TGT4+N^=a?U>n>8%faNPrqrn3Nqvj_s|NKfk_qA zp05Tx;V7`WC27r;kr^Rrc%=@*<8CNO3mP7n>Xn*;nQV)B$m^=pbs3+BvdopJhj)O7 zL`@@B6oi$?#^*R76Y$}n1#SPG3?6-G!VP02Q!Fk9?fbG=3}tC?U&>i|X^SjhWz}YB z7;e#^mI5wscW;n&BDjhXOr<6 z9Fudvqfcf`(z*v4`vB|+yk1PPtC7|<0*L`B2qjivBJ@e?X;s9O=?-Wa(>^gnE^`f} z4|zRxx?7H!8hbBVCrVD0rqCGJg8DFS3|?lvs<{@$e6@v`kUOY4(?o4q?mCz5HrIgx zekYPK?_d|H91USbvi7<kmR1QpvIN*Z?4ELwf(Dznb3nBixJPKxrFw^b#)To$ok}tNDp5?IS$=- zC~x58#(Ohpr#-q51tPyrWYPSEa}Jd0HPnZV$U#rwj7Ix_jP+Eb^|SyxwIB|>lxHt( zsg2ifGNYKqaR7@Qi`WII$lgx`U^ne2Ffpa}6Ie}v=Ozd^ryDLJ-Gs_qb$`4Yi5K%o!s0 z{Pffki%I*)zc@q)^g8?ZQud{myoA$mACxCAW;{Q65vRS94C6#V`!=G&$nn


9D} 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 diff --git a/bin/Release/ExposedObject.dll b/bin/Release/ExposedObject.dll new file mode 100755 index 0000000000000000000000000000000000000000..afd41223be63f31e63406cbe9e2fdf00d0bee6b1 GIT binary patch literal 8192 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 T)4_@@?vJ)Fe{%f)9D)A@gl)s( literal 0 HcmV?d00001 diff --git a/bin/Release/ExposedObject.pdb b/bin/Release/ExposedObject.pdb new file mode 100755 index 0000000000000000000000000000000000000000..e8cf7d256dd82de6bfc2243445c547478135763d GIT binary patch literal 3416 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 literal 0 HcmV?d00001 diff --git a/bin/Release/Flurl.pdb b/bin/Release/Flurl.pdb new file mode 100755 index 0000000000000000000000000000000000000000..5d89fb39586793d537c4919facc42c81417d5cc4 GIT binary patch literal 10720 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 literal 0 HcmV?d00001 diff --git a/bin/Release/Flurl.xml b/bin/Release/Flurl.xml new file mode 100755 index 0000000..646f70f --- /dev/null +++ b/bin/Release/Flurl.xml @@ -0,0 +1,883 @@ + + + + Flurl + + + + + Fluent URL-building extension methods on String and Uri. + + + + + Creates a new Url object from the string and appends a segment to the URL path, ensuring there is one and only one '/' character as a separator. + + This URL. + The segment to append + If true, URL-encodes reserved characters such as '/', '+', and '%'. Otherwise, only encodes strictly illegal characters (including '%' but only when not followed by 2 hex characters). + A new Flurl.Url object. + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a separator. + + This URL. + The segments to append + A new Flurl.Url object. + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a separator. + + This URL. + The segments to append + A new Flurl.Url object. + + + + Removes the last path segment from the URL. + + This URL. + A new Flurl.Url object. + + + + Removes the entire path component of the URL. + + This URL. + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter to the query, overwriting the value if name exists. + + This URL. + Name of query parameter + Value of query parameter + Indicates how to handle null values. Defaults to Remove (any existing) + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter to the query, overwriting the value if name exists. + + This URL. + Name of query parameter + Value of query parameter + Set to true to indicate the value is already URL-encoded. Defaults to false. + Indicates how to handle null values. Defaults to Remove (any existing). + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter without a value to the query, removing any existing value. + + This URL. + Name of query parameter + A new Flurl.Url object. + + + + Creates a new Url object from the string, parses values object into name/value pairs, and adds them to the query, overwriting any that already exist. + + This URL. + Typically an anonymous object, ie: new { x = 1, y = 2 } + Indicates how to handle null values. Defaults to Remove (any existing) + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds multiple parameters without values to the query. + + This URL. + Names of query parameters. + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds multiple parameters without values to the query. + + This URL. + Names of query parameters + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes a name/value pair from the query by name. + + This URL. + Query string parameter name to remove + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes multiple name/value pairs from the query by name. + + This URL. + Query string parameter names to remove + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes multiple name/value pairs from the query by name. + + This URL. + Query string parameter names to remove + A new Flurl.Url object. + + + + Removes the entire query component of the URL. + + This URL. + A new Flurl.Url object. + + + + Set the URL fragment fluently. + + This URL. + The part of the URL after # + A new Flurl.Url object. + + + + Removes the URL fragment including the #. + + This URL. + A new Flurl.Url object. + + + + Trims the URL to its root, including the scheme, any user info, host, and port (if specified). + + This URL. + A new Flurl.Url object. + + + + Creates a new Url object from the string and appends a segment to the URL path, ensuring there is one and only one '/' character as a separator. + + This System.Uri. + The segment to append + If true, URL-encodes reserved characters such as '/', '+', and '%'. Otherwise, only encodes strictly illegal characters (including '%' but only when not followed by 2 hex characters). + A new Flurl.Url object. + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a separator. + + This System.Uri. + The segments to append + A new Flurl.Url object. + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a separator. + + This System.Uri. + The segments to append + A new Flurl.Url object. + + + + Removes the last path segment from the URL. + + This System.Uri. + A new Flurl.Url object. + + + + Removes the entire path component of the URL. + + This System.Uri. + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter to the query, overwriting the value if name exists. + + This System.Uri. + Name of query parameter + Value of query parameter + Indicates how to handle null values. Defaults to Remove (any existing) + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter to the query, overwriting the value if name exists. + + This System.Uri. + Name of query parameter + Value of query parameter + Set to true to indicate the value is already URL-encoded. Defaults to false. + Indicates how to handle null values. Defaults to Remove (any existing). + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter without a value to the query, removing any existing value. + + This System.Uri. + Name of query parameter + A new Flurl.Url object. + + + + Creates a new Url object from the string, parses values object into name/value pairs, and adds them to the query, overwriting any that already exist. + + This System.Uri. + Typically an anonymous object, ie: new { x = 1, y = 2 } + Indicates how to handle null values. Defaults to Remove (any existing) + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds multiple parameters without values to the query. + + This System.Uri. + Names of query parameters. + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds multiple parameters without values to the query. + + This System.Uri. + Names of query parameters + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes a name/value pair from the query by name. + + This System.Uri. + Query string parameter name to remove + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes multiple name/value pairs from the query by name. + + This System.Uri. + Query string parameter names to remove + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes multiple name/value pairs from the query by name. + + This System.Uri. + Query string parameter names to remove + A new Flurl.Url object. + + + + Removes the entire query component of the URL. + + This System.Uri. + A new Flurl.Url object. + + + + Set the URL fragment fluently. + + This System.Uri. + The part of the URL after # + A new Flurl.Url object. + + + + Removes the URL fragment including the #. + + This System.Uri. + A new Flurl.Url object. + + + + Trims the URL to its root, including the scheme, any user info, host, and port (if specified). + + This System.Uri. + A new Flurl.Url object. + + + + Describes how to handle null values in query parameters. + + + + + Set as name without value in query string. + + + + + Don't add to query string, remove any existing value. + + + + + Don't add to query string, but leave any existing value unchanged. + + + + + Represents a URL query as a collection of name/value pairs. Insertion order is preserved. + + + + + Returns a new instance of QueryParamCollection + + Optional query string to parse. + + + + Returns serialized, encoded query string. Insertion order is preserved. + + + + + + Returns serialized, encoded query string. Insertion order is preserved. + + + + + + Appends a query parameter. If value is a collection type (array, IEnumerable, etc.), multiple parameters are added, i.e. x=1&x=2. + To overwrite existing parameters of the same name, use AddOrReplace instead. + + Name of the parameter. + Value of the parameter. If it's a collection, multiple parameters of the same name are added. + If true, assume value(s) already URL-encoded. + Describes how to handle null values. + + + + Replaces existing query parameter(s) or appends to the end. If value is a collection type (array, IEnumerable, etc.), + multiple parameters are added, i.e. x=1&x=2. If any of the same name already exist, they are overwritten one by one + (preserving order) and any remaining are appended to the end. If fewer values are specified than already exist, + remaining existing values are removed. + + Name of the parameter. + Value of the parameter. If it's a collection, multiple parameters of the same name are added/replaced. + If true, assume value(s) already URL-encoded. + Describes how to handle null values. + + + + Removes all query parameters of the given name. + + + + + Clears all query parameters from this collection. + + + + > + + + > + + + > + + + > + + + > + + + > + + + > + + + > + + + + Represents a query parameter value with the ability to track whether it was already encoded when created. + + + + + A mutable object for fluently building and parsing URLs. + + + + + The scheme of the URL, i.e. "http". Does not include ":" delimiter. Empty string if the URL is relative. + + + + + i.e. "user:pass" in "https://user:pass@www.site.com". Empty string if not present. + + + + + i.e. "www.site.com" in "https://www.site.com:8080/path". Does not include user info or port. + + + + + Port number of the URL. Null if not explicitly specified. + + + + + i.e. "www.site.com:8080" in "https://www.site.com:8080/path". Includes both user info and port, if included. + + + + + i.e. "https://www.site.com:8080" in "https://www.site.com:8080/path" (everything before the path). + + + + + i.e. "/path" in "https://www.site.com/path". Empty string if not present. Leading and trailing "/" retained exactly as specified by user. + + + + + The "/"-delimited segments of the path, not including leading or trailing "/" characters. + + + + + i.e. "x=1&y=2" in "https://www.site.com/path?x=1&y=2". Does not include "?". + + + + + Query parsed to name/value pairs. + + + + + i.e. "frag" in "https://www.site.com/path?x=y#frag". Does not include "#". + + + + + True if URL does not start with a non-empty scheme. i.e. true for "https://www.site.com", false for "//www.site.com". + + + + + True if Url is absolute and scheme is https or wss. + + + + + Constructs a Url object from a string. + + The URL to use as a starting point. + + + + Constructs a Url object from a System.Uri. + + The System.Uri (required) + is . + + + + Parses a URL string into a Flurl.Url object. + + + + + Parses a URL query to a QueryParamCollection. + + The URL query to parse. + + + + Splits the given path into segments, encoding illegal characters, "?", and "#". + + The path to split. + + + + + Appends a segment to the URL path, ensuring there is one and only one '/' character as a separator. + + The segment to append + If true, URL-encodes reserved characters such as '/', '+', and '%'. Otherwise, only encodes strictly illegal characters (including '%' but only when not followed by 2 hex characters). + the Url object with the segment appended + is . + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a seperator. + + The segments to append + the Url object with the segments appended + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a seperator. + + The segments to append + the Url object with the segments appended + + + + Removes the last path segment from the URL. + + The Url object. + + + + Removes the entire path component of the URL, including the leading slash. + + The Url object. + + + + Adds a parameter to the query, overwriting the value if name exists. + + Name of query parameter + Value of query parameter + Indicates how to handle null values. Defaults to Remove (any existing) + The Url object with the query parameter added + + + + Adds a parameter to the query, overwriting the value if name exists. + + Name of query parameter + Value of query parameter + Set to true to indicate the value is already URL-encoded + Indicates how to handle null values. Defaults to Remove (any existing) + The Url object with the query parameter added + is . + + + + Adds a parameter without a value to the query, removing any existing value. + + Name of query parameter + The Url object with the query parameter added + + + + Parses values (usually an anonymous object or dictionary) into name/value pairs and adds them to the query, overwriting any that already exist. + + Typically an anonymous object, ie: new { x = 1, y = 2 } + Indicates how to handle null values. Defaults to Remove (any existing) + The Url object with the query parameters added + + + + Adds multiple parameters without values to the query. + + Names of query parameters. + The Url object with the query parameter added + + + + Adds multiple parameters without values to the query. + + Names of query parameters + The Url object with the query parameter added. + + + + Removes a name/value pair from the query by name. + + Query string parameter name to remove + The Url object with the query parameter removed + + + + Removes multiple name/value pairs from the query by name. + + Query string parameter names to remove + The Url object. + + + + Removes multiple name/value pairs from the query by name. + + Query string parameter names to remove + The Url object with the query parameters removed + + + + Removes the entire query component of the URL. + + The Url object. + + + + Set the URL fragment fluently. + + The part of the URL after # + The Url object with the new fragment set + + + + Removes the URL fragment including the #. + + The Url object with the fragment removed + + + + Resets the URL to its root, including the scheme, any user info, host, and port (if specified). + + The Url object trimmed to its root. + + + + Resets the URL to its original state as set in the constructor. + + + + + Creates a copy of this Url. + + + + + Converts this Url object to its string representation. + + Indicates whether to encode spaces with the "+" character instead of "%20" + + + + + Converts this Url object to its string representation. + + + + + + Converts this Url object to System.Uri + + The System.Uri object + + + + Implicit conversion from Url to String. + + The Url object + The string + + + + Implicit conversion from String to Url. + + The String representation of the URL + The string + + + + Implicit conversion from System.Uri to Flurl.Url. + + The string + + + + True if obj is an instance of Url and its string representation is equal to this instance's string representation. + + The object to compare to this instance. + + + + + Returns the hashcode for this Url. + + + + + Basically a Path.Combine for URLs. Ensures exactly one '/' separates each segment, + and exactly on '&' separates each query parameter. + URL-encodes illegal characters but not reserved characters. + + URL parts to combine. + + + + Decodes a URL-encoded string. + + The URL-encoded string. + If true, any '+' character will be decoded to a space. + + + + + URL-encodes a string, including reserved characters such as '/' and '?'. + + The string to encode. + If true, spaces will be encoded as + signs. Otherwise, they'll be encoded as %20. + The encoded URL. + + + + URL-encodes characters in a string that are neither reserved nor unreserved. Avoids encoding reserved characters such as '/' and '?'. Avoids encoding '%' if it begins a %-hex-hex sequence (i.e. avoids double-encoding). + + The string to encode. + If true, spaces will be encoded as + signs. Otherwise, they'll be encoded as %20. + The encoded URL. + + + + Checks if a string is a well-formed absolute URL. + + The string to check + true if the string is a well-formed absolute URL + + + + CommonExtensions for objects. + + + + + Returns a key-value-pairs representation of the object. + For strings, URL query string format assumed and pairs are parsed from that. + For objects that already implement IEnumerable<KeyValuePair>, the object itself is simply returned. + For all other objects, all publicly readable properties are extracted and returned as pairs. + + The object to parse into key-value pairs + + is . + + + + Returns a string that represents the current object, using CultureInfo.InvariantCulture where possible. + Dates are represented in IS0 8601. + + + + + Splits at the first occurrence of the given separator. + + The string to split. + The separator to split on. + Array of at most 2 strings. (1 if separator is not found.) + + + + Merges the key/value pairs from d2 into d1, without overwriting those already set in d1. + + + + + Strips any single quotes or double quotes from the beginning and end of a string. + + + + + True if the given string is a valid IPv4 address. + + + + + Defines common methods for INameValueList and IReadOnlyNameValueList. + + + + + Returns the first Value of the given Name if one exists, otherwise null or default value. + + + + + Gets the first Value of the given Name, if one exists. + + true if any item of the given name is found, otherwise false. + + + + Gets all Values of the given Name. + + + + + True if any items with the given Name exist. + + + + + True if any item with the given Name and Value exists. + + + + + Defines an ordered collection of Name/Value pairs where duplicate names are allowed but aren't typical. + + + + + Adds a new Name/Value pair. + + + + + Replaces the first occurrence of the given Name with the given Value and removes any others, + or adds a new Name/Value pair if none exist. + + + + + Removes all items of the given Name. + + true if any item of the given name is found, otherwise false. + + + + Defines a read-only ordered collection of Name/Value pairs where duplicate names are allowed but aren't typical. + + + + + An ordered collection of Name/Value pairs where duplicate names are allowed but aren't typical. + Useful for things where a dictionary would work great if not for those pesky edge cases (headers, cookies, etc). + + + + + Instantiates a new empty NameValueList. + + + + + Instantiates a new NameValueList with the Name/Value pairs provided. + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bin/Release/Jurassic.dll b/bin/Release/Jurassic.dll new file mode 100755 index 0000000000000000000000000000000000000000..e9163a6da58ad56442a5d908858604969ae20da0 GIT binary patch literal 520192 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
{~MCb=w(LV%q(QitZZiXD2y!Oyx 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

+R3_f?l3$_n>GrkLc$Nep> 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 literal 0 HcmV?d00001 diff --git a/packages/Jurassic.3.2.4/lib/netstandard2.0/Jurassic.xml b/packages/Jurassic.3.2.4/lib/netstandard2.0/Jurassic.xml new file mode 100755 index 0000000..fa4038b --- /dev/null +++ b/packages/Jurassic.3.2.4/lib/netstandard2.0/Jurassic.xml @@ -0,0 +1,18893 @@ + + + + Jurassic + + + +

+ Represents a generic delegate that all method calls pass through. For internal use only. + + The associated script engine. + The value of the this keyword. + The arguments that were passed to the function. + The result of calling the method. + + + + Selects a method from a list of candidates and performs type conversion from actual + argument type to formal argument type. + + + + + Gets the name of the target methods. + + + + + Gets the full name of the target methods, including the type name. + + + + + Gets the maximum number of arguments of any of the target methods. Used to set the + length property on the function. + + + + + Calls the bound method. + + The associated script engine. + The value of the this keyword. + The arguments to pass to the function. + The result of calling the method. + + + + Creates a delegate that does type conversion and calls the bound method. + + The number of arguments that will be passed to the delegate. + A delegate that does type conversion and calls the method represented by this + object. + This method caches the result so calling CreateDelegate a second time with + the same parameter count will be markedly quicker. + + + + Creates a delegate that does type conversion and calls the bound method. + + The number of arguments that will be passed to the delegate. + A delegate that does type conversion and calls the method represented by this + object. + No caching of the result occurs. + + + + Generates a method that does type conversion and calls the bound method. + + The ILGenerator used to output the body of the method. + The number of arguments that will be passed to the delegate. + A delegate that does type conversion and calls the method represented by this + object. + + + + Returns a textual representation of this object. + + A textual representation of this object. + + + + Represents a single method that a binder can call. + + + + + Creates a new BinderMethod instance. + + The method to encapsulate. + + + + Initializes this instance. + + + + + Gets a reference to the method. + + + + + Implicitly cast an instance of this class to a MethodBase. + + The BinderMethod instance. + A MethodBase instance. + + + + Gets the name of the method. + + + + + Gets the type the method is declared on. + + + + + Gets the type of value pushed onto the stack after calling this method. + + + + + Gets the number of required parameters. + + + + + Gets the number of optional parameters. + + + + + Gets a value that indicates whether the last parameter is a ParamArray. + + + + + Gets the type of element in the ParamArray array. + + + + + Gets an array of method parameters. + + An array of ParameterInfo instances describing the method parameters. + + + + Determines if this method can be called with the given number of arguments. + + The desired number of arguments. + true if this method can be called with the given number of arguments; + false otherwise. + + + + Gets an enumerable list of argument objects, equal in size to + . + + The number of arguments to return. + An enumerable list of argument objects. + + + + Gets an enumerable list of argument objects, equal in size to + while generating code to prepare those arguments for + a method call. + + The number of arguments to return. + The IL generator used to create an array if the method has a + ParamArray parameter. + An enumerable list of argument objects. + + + + Generates code to call the method. + + The IL generator. + + + + Returns a string representing this object. + + A string representing this object. + + + + Represents a single method argument. + + + + + Gets the intended source of the argument. + + + + + Gets the argument index, starting from zero. Only valid if Source is InputParameter. + + + + + Gets the type of the argument. + + + + + Gets a value that indicates whether this argument will be rolled up into an array. + + + + + Gets a value that indicates whether this argument has a default value. + + + + + Gets the default value for this argument. + + + + + Gets an attribute instance of the given type, if it exists on the argument. + + The type of attribute to retrieve. + An attribute instance, or null if the attribute does not exist on the + argument. + + + + This class is intended only for internal use. + + + + + Given a set of methods and a set of arguments, determines whether one of the methods + can be unambiguously selected. Throws an exception if this is not the case. + + An array of handles to the candidate methods. + The associated script engine. + The value of the "this" keyword. + An array of parameter values. + The index of the selected method. + + + + Binds to a method group using pretty standard .NET rules. The main difference from the + JSBinder is that the number of arguments must be correct. Additionally, it is possible to + bind to overloaded methods with the same number of arguments. + + + + + Creates a new ClrBinder instance. + + A method to bind to. + + + + Creates a new ClrBinder instance. + + An enumerable list of methods to bind to. + + + + Creates a new ClrBinder instance. + + An enumerable list of methods to bind to. + + + + Generates a method that does type conversion and calls the bound method. + + The ILGenerator used to output the body of the method. + The number of arguments that will be passed to the delegate. + A delegate that does type conversion and calls the method represented by this + object. + + + + Pops the value on the stack, converts it from an object to the given type, then pushes + the result onto the stack. + + The IL generator. + The type to convert to. + true if the value is intended for use as an + instance pointer; false otherwise. + + + + Pops the value on the stack, converts it to an object, then pushes the result onto the + stack. + + The IL generator. + The type to convert from. + + + + Base class of field getter and setter binders. + + + + + Creates a new FieldGetterBinder instance. + + The field. + + + + Gets the name of the target methods. + + + + + Gets the full name of the target methods, including the type name. + + + + + Retrieves the value of a field. + + + + + Creates a new FieldGetterBinder instance. + + The field. + + + + Generates a method that does type conversion and calls the bound method. + + The ILGenerator used to output the body of the method. + The number of arguments that will be passed to the delegate. + A delegate that does type conversion and calls the method represented by this + object. + + + + Sets the value of a field. + + + + + Creates a new FieldSetterBinder instance. + + The field. + + + + Generates a method that does type conversion and calls the bound method. + + The ILGenerator used to output the body of the method. + The number of arguments that will be passed to the delegate. + A delegate that does type conversion and calls the method represented by this + object. + + + + Binds to a method group using the default javascript rules (extra parameter values are + ignored, missing parameter values are replaced with "undefined"). + + + + + Creates a new JSBinder instance. + + An array of methods to bind to. + + + + Creates a new JSBinder instance. + + An enumerable list of methods to bind to. + + + + Generates a method that does type conversion and calls the bound method. + + The ILGenerator used to output the body of the method. + The number of arguments that will be passed to the delegate. + A delegate that does type conversion and calls the method represented by this + object. + + + + Pops the value on the stack, converts it from one type to another, then pushes the + result onto the stack. Undefined is converted to the given default value. + + The IL generator. + The type to convert from. + The type and default value of the target parameter. + + + + Pops the value on the stack, converts it from one type to another, then pushes the + result onto the stack. + + The IL generator. + The type to convert from. + The type to convert to. + + + + Pushes the result of converting undefined to the given type onto the stack. + + The IL generator. + The type to convert to, and optionally a default value. + + + + Represents a single method that the JS function binder can call. + + + + + Creates a new FunctionBinderMethod instance. + + The method to call. + Flags that modify the binding process. + + + + Creates a new FunctionBinderMethod instance. + + Flags that modify the binding process. + + + + Gets the flags that were passed to the constructor. + + + + + Gets a value that indicates whether the script engine should be passed as the first + parameter. Always false for instance methods. + + + + + Gets a value that indicates whether the "this" object should be passed as the first + parameter (or the second parameter if HasEngineParameter is true). Always false + for instance methods. + + + + + Gets the type of the explicit "this" value passed to this method. Will be null + if there is no explicit this value. + + + + + Gets the maximum number of parameters that this method requires (excluding the implicit + this parameter). + + + + + Gets an array of method parameters. + + An array of ParameterInfo instances describing the method parameters. + + + + Gets an enumerable list of argument objects, equal in size to + . + + The number of arguments to return. + An enumerable list of argument objects. + + + + Selects a method from a list of candidates and performs type conversion from actual + argument type to formal argument type. + + + + + Creates a new Binder instance. + + A method to bind to. + + + + Creates a new Binder instance. + + An enumerable list of methods to bind to. At least one + method must be provided. Every method must have the same name and declaring type. + + + + Gets the name of the target methods. + + + + + Gets the full name of the target methods, including the type name. + + + + + Gets the maximum number of arguments of any of the target methods. Used to set the + length property on the function. + + + + + Represents a line and column number in a source file. + + + + + Creates a new SourceCodePosition instance. + + The line number. Must be greater than zero. + The column number. Must be greater than zero. + + + + Gets the line number. + + + + + Gets the column number. + + + + + Represents a portion of source code. + + + + + Creates a new SourceCodeSpan instance. + + The start line of this SourceCodeSpan. Must be greater than + zero. + The start column of this SourceCodeSpan. Must be greater + than zero. + The end line of this SourceCodeSpan. Must be greater than + . + The end column of this SourceCodeSpan. Must be greater than + . + + + + Creates a new SourceCodeSpan instance. + + The start line and column of this SourceCodeSpan. + The end line and column of this SourceCodeSpan. + + + + Gets the starting line number of this range. + + + + + Gets the starting column number of this range. + + + + + Gets the ending line number of this range. + + + + + Gets the ending column number of this range. + + + + + Outputs IL that converts between types. + + + + + Pops the value on the stack, converts it to the given type, then pushes the result + onto the stack. + + The IL generator. + The type to convert from. + The type to convert to. + + + + Pops the value on the stack, converts it to the given type, then pushes the result + onto the stack. + + The IL generator. + The type to convert from. + The type to convert to. + Information about the line number, function and path. + + + + Pops the value on the stack, converts it to the given type, then pushes the result + onto the stack. + + The IL generator. + The type to convert from. + The type to convert to. + The path of the javascript source file that is currently executing. + The name of the currently executing function. + The line number of the statement that is currently executing. + + + + Pops the value on the stack, converts it to a boolean, then pushes the boolean result + onto the stack. + + The IL generator. + The type to convert from. + + + + Pops the value on the stack, converts it to an integer, then pushes the integer result + onto the stack. + + The IL generator. + The type to convert from. + + + + Pops the value on the stack, converts it to an integer, then pushes the integer result + onto the stack. Large numbers wrap (i.e. 4294967296 -> 0). + + The IL generator. + The type to convert from. + + + + Pops the value on the stack, converts it to an unsigned integer, then pushes the + integer result onto the stack. Large numbers wrap (i.e. 4294967296 -> 0). + + The IL generator. + The type to convert from. + + + + Pops the value on the stack, converts it to a double, then pushes the double result + onto the stack. + + The IL generator. + The type to convert from. + + + + Pops the value on the stack, converts it to a string, then pushes the result onto the + stack. + + The IL generator. + The type to convert from. + + + + Pops the value on the stack, converts it to a concatenated string, then pushes the result + onto the stack. + + The IL generator. + The type to convert from. + + + + Pops the value on the stack, converts it to a javascript object, then pushes the result + onto the stack. + + The IL generator. + The type to convert from. + Information about the line number, function and path. + + + + Pops the value on the stack, converts it to a javascript object, then pushes the result + onto the stack. + + The IL generator. + The type to convert from. + The path of the javascript source file that is currently executing. + The name of the currently executing function. + The line number of the statement that is currently executing. + + + + Pops the value on the stack, converts it to a primitive value, then pushes the result + onto the stack. + + The IL generator. + The type to convert from. + Specifies whether toString() or valueOf() should be + preferred when converting to a primitive. + + + + Pops the value on the stack, converts it to an object, then pushes the result onto the + stack. + + The IL generator. + The type to convert from. + + + + Pops the value on the stack, converts it to a property key (either a symbol or a + string), then pushes the result onto the stack. + + The IL generator. + The type to convert from. + + + + Outputs IL for misc tasks. + + + + + Emits undefined. + + The IL generator. + + + + Emits null. + + The IL generator. + + + + Emits a default value of the given type. + + The IL generator. + The type of value to generate. + + + + Emits a dummy value of the given type. + + The IL generator. + The type of value to generate. + + + + Emits a JavaScriptException. + + The IL generator. + The type of error to generate, e.g. Error, RangeError, etc. + The error message. + + + + Emits a JavaScriptException. + + The IL generator. + The type of error to generate, e.g. Error, RangeError, etc. + The error message. + Information about the line number, function and path. + + + + Emits a JavaScriptException. + + The IL generator. + The type of error to generate, e.g. Error, RangeError, etc. + The error message. + The path of the javascript source file that is currently executing. + The name of the currently executing function. + The line number of the statement that is currently executing. + + + + Emits the given value. Only possible for certain types. + + The IL generator. + The value to emit. + + + + Pushes the value of the execution context onto the stack. + + The IL generator. + + + + Pushes a reference to the script engine onto the stack. + + The IL generator. + + + + Pushes the value of the this keyword onto the stack. + + The IL generator. + + + + Pushes a reference to the current function onto the stack. + + The IL generator. + + + + Pushes a reference to the 'new.target' value for the current function onto the stack. + + The IL generator. + + + + Pushes a reference to the array of argument values for the current function onto the + stack. + + The IL generator. + + + + Represents a generator of CIL bytes. + + + + + Gets a reference to the method that we are generating IL for. + + + + + Emits a return statement and finalizes the generated code. Do not emit any more + instructions after calling this method. + + + + + Pops the value from the top of the stack. + + + + + Duplicates the value on the top of the stack. + + + + + Creates a label without setting its position. + + A new label. + + + + Defines the position of the given label. + + The label to define. + + + + Creates a label and sets its position. + + A new label. + + + + Unconditionally branches to the given label. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is zero, false or + null. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is non-zero, true or + non-null. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is zero, false or + null. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is non-zero, true or + non-null. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is zero, false or + null. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is non-zero, true or + non-null. + + The label to branch to. + + + + Branches to the given label if the two values on the top of the stack are equal. + + The label to branch to. + + + + Branches to the given label if the two values on the top of the stack are not equal. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than the second + value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than the second + value on the stack. If the operands are integers then they are treated as if they are + unsigned. If the operands are floating point numbers then a NaN value will trigger a + branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than or equal to + the second value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than or equal to + the second value on the stack. If the operands are integers then they are treated as + if they are unsigned. If the operands are floating point numbers then a NaN value will + trigger a branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than the second + value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than the second + value on the stack. If the operands are integers then they are treated as if they are + unsigned. If the operands are floating point numbers then a NaN value will trigger a + branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than or equal to + the second value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than or equal to + the second value on the stack. If the operands are integers then they are treated as + if they are unsigned. If the operands are floating point numbers then a NaN value will + trigger a branch. + + The label to branch to. + + + + Returns from the current method. A value is popped from the stack and used as the + return value. + + + + + Creates a jump table. A value is popped from the stack - this value indicates the + index of the label in the array to jump to. + + A array of labels. + + + + Declares a new local variable. + + The type of the local variable. + The name of the local variable. Can be null. + A new local variable. + + + + Declares a new local variable. + + The type of the local variable. + The name of the local variable. Can be null. + A new local variable. + + + + Pushes the value of the given variable onto the stack. + + The variable whose value will be pushed. + + + + Pushes the address of the given variable onto the stack. + + The variable whose address will be pushed. + + + + Pops the value from the top of the stack and stores it in the given local variable. + + The variable to store the value. + + + + Pushes the value of the method argument with the given index onto the stack. + + The index of the argument to push onto the stack. + + + + Pops a value from the stack and stores it in the method argument with the given index. + + The index of the argument to store into. + + + + Retrieves a temporary variable with the given type, reusing a previous variable if + possible. + + The type of variable to create. + A temporary variable + + + + Retrieves a temporary variable with the given type, reusing a previous variable if + possible. + + The type of variable to create. + A temporary variable + + + + Indicates that the given temporary variable is no longer needed. + + The temporary variable created using CreateTemporaryVariable(). + + + + Pushes null onto the stack. + + + + + Pushes a constant value onto the stack. + + The boolean to push onto the stack. + + + + Pushes a constant value onto the stack. + + The integer to push onto the stack. + + + + Pushes an unsigned constant value onto the stack. + + The integer to push onto the stack. + + + + Pushes a 64-bit constant value onto the stack. + + The 64-bit integer to push onto the stack. + + + + Pushes an unsigned 64-bit constant value onto the stack. + + The 64-bit integer to push onto the stack. + + + + Pushes a constant value onto the stack. + + The number to push onto the stack. + + + + Pushes a constant value onto the stack. + + The string to push onto the stack. + + + + Pushes a constant value onto the stack. + + The string to push onto the stack. Can be null. + + + + Pushes a constant value onto the stack. + + The enum value to push onto the stack. + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is equal to the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is greater than the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is greater than the second, or 0 otherwise. Produces 1 if one or both + of the arguments are NaN. Integers are considered to be unsigned. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is less than the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is less than the second, or 0 otherwise. Produces 1 if one or both + of the arguments are NaN. Integers are considered to be unsigned. + + + + + Pops two values from the stack, adds them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, subtracts the second from the first, then pushes the + result to the stack. + + + + + Pops two values from the stack, multiplies them together, then pushes the + result to the stack. + + + + + Pops two values from the stack, divides the first by the second, then pushes the + result to the stack. + + + + + Pops two values from the stack, divides the first by the second, then pushes the + remainder to the stack. + + + + + Pops a value from the stack, negates it, then pushes it back onto the stack. + + + + + Pops two values from the stack, ANDs them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, ORs them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, XORs them together, then pushes the result to the + stack. + + + + + Pops a value from the stack, inverts it, then pushes the result to the stack. + + + + + Pops two values from the stack, shifts the first to the left, then pushes the result + to the stack. + + + + + Pops two values from the stack, shifts the first to the right, then pushes the result + to the stack. The sign bit is preserved. + + + + + Pops two values from the stack, shifts the first to the right, then pushes the result + to the stack. The sign bit is not preserved. + + + + + Pops a value from the stack, converts it to an object reference, then pushes it back onto + the stack. + + The type of value to box. This should be a value type. + + + + Pops a value from the stack, converts it to an object reference, then pushes it back onto + the stack. + + The type of value to box. This should be a value type. + + + + Pops an object reference (representing a boxed value) from the stack, extracts the + address, then pushes that address onto the stack. + + The type of the boxed value. This should be a value type. + + + + Pops an object reference (representing a boxed value) from the stack, extracts the + address, then pushes that address onto the stack. + + The type of the boxed value. This should be a value type. + + + + Pops an object reference (representing a boxed value) from the stack, extracts the value, + then pushes the value onto the stack. + + The type of the boxed value. This should be a value type. + + + + Pops an object reference (representing a boxed value) from the stack, extracts the value, + then pushes the value onto the stack. + + The type of the boxed value. This should be a value type. + + + + Pops a value from the stack, converts it to a signed integer, then pushes it back onto + the stack. + + + + + Pops a value from the stack, converts it to an unsigned integer, then pushes it back + onto the stack. + + + + + Pops a value from the stack, converts it to a signed 64-bit integer, then pushes it + back onto the stack. + + + + + Pops a value from the stack, converts it to an unsigned 64-bit integer, then pushes it + back onto the stack. + + + + + Pops a value from the stack, converts it to a double, then pushes it back onto + the stack. + + + + + Pops an unsigned integer from the stack, converts it to a double, then pushes it back onto + the stack. + + + + + Pops the constructor arguments off the stack and creates a new instance of the object. + + The constructor that is used to initialize the object. + + + + Pops the method arguments off the stack, calls the given method, then pushes the result + to the stack (if there was one). Identical to CallStatic() if the method is a static + method (or is declared on a value type) or CallVirtual() otherwise. + + The method to call. + + + + Pops the method arguments off the stack, calls the given method, then pushes the result + to the stack (if there was one). This operation can be used to call instance methods, + but virtual overrides will not be called and a null check will not be performed at the + callsite. + + The method to call. + + + + Pops the method arguments off the stack, calls the given method, then pushes the result + to the stack (if there was one). This operation cannot be used to call static methods. + Virtual overrides are obeyed and a null check is performed. + + The method to call. + The method is static. + + + + Pushes the value of the given field onto the stack. + + The field whose value will be pushed. + + + + Pops a value off the stack and stores it in the given field. + + The field to modify. + + + + Pops an object off the stack, checks that the object inherits from or implements the + given type, and pushes the object onto the stack if the check was successful or + throws an InvalidCastException if the check failed. + + The type of the class the object inherits from or the interface the + object implements. + + + + Changes the type of the value on the top of the stack, for the purpose of passing + verification. Doesn't generate any IL instructions. + + The type to convert to. + + + + Pops an object off the stack, checks that the object inherits from or implements the + given type, and pushes either the object (if the check was successful) or null + (if the check failed) onto the stack. + + The type of the class the object inherits from or the interface the + object implements. + + + + Pushes a RuntimeTypeHandle corresponding to the given type onto the evaluation stack. + + The type to convert to a RuntimeTypeHandle. + + + + Pushes a RuntimeMethodHandle corresponding to the given method onto the evaluation + stack. + + The method to convert to a RuntimeMethodHandle. + + + + Pushes a RuntimeFieldHandle corresponding to the given field onto the evaluation stack. + + The type to convert to a RuntimeFieldHandle. + + + + Pushes a pointer to the native code implementing the given method onto the evaluation + stack. The virtual qualifier will be ignored, if present. + + The method to retrieve a pointer for. + + + + Pushes a pointer to the native code implementing the given method onto the + evaluation stack. This method cannot be used to retrieve a pointer to a static method. + + The method to retrieve a pointer for. + The method is static. + + + + Pushes a pointer to the native code implementing the given method onto the evaluation + stack. This method is identical to LoadStaticMethodPointer() if the method is a static + method (or is declared on a value type) or LoadVirtualMethodPointer() otherwise. + + The method to retrieve a pointer for. + + + + Pops a managed or native pointer off the stack and initializes the referenced type with + zeros. + + The type the pointer on the top of the stack is pointing to. + + + + Pops the size of the array off the stack and pushes a new array of the given type onto + the stack. + + The element type. + + + + Pops the array and index off the stack and pushes the element value onto the stack. + + The element type. + + + + Pops the array and index off the stack and pushes the element value onto the stack. + + The element type. + + + + Pops the array, index and value off the stack and stores the value in the array. + + The element type. + + + + Pops the array, index and value off the stack and stores the value in the array. + + The element type. + + + + Pops an array off the stack and pushes the length of the array onto the stack. + + + + + Pops an exception object off the stack and throws the exception. + + + + + Re-throws the current exception. + + + + + Begins a try-catch-finally block. After issuing this instruction any following + instructions are conceptually within the try block. + + + + + Ends a try-catch-finally block. + + + + + Begins a catch block. BeginExceptionBlock() must have already been called. + + The type of exception to handle. + + + + Begins a finally block. BeginExceptionBlock() must have already been called. + + + + + Begins a filter block. BeginExceptionBlock() must have already been called. + + + + + Begins a fault block. BeginExceptionBlock() must have already been called. + + + + + Unconditionally branches to the given label. Unlike the regular branch instruction, + this instruction can exit out of try, filter and catch blocks. + + The label to branch to. + + + + This instruction can be used from within a finally block to resume the exception + handling process. It is the only valid way of leaving a finally block. + + + + + This instruction can be used from within a fault block to resume the exception + handling process. It is the only valid way of leaving a fault block. + + + + + This instruction can be used from within a filter block to indicate whether the + exception will be handled. It pops an integer from the stack which should be 0 + to continue searching for an exception handler or 1 to use the handler + associated with the filter. EndFilter() must be called at the end of a filter block. + + + + + Triggers a breakpoint in an attached debugger. + + + + + Does nothing. + + + + + Represents a label in IL code. + + + + + Represents a label in IL code. + + + + + Creates a new label instance. + + The underlying label. + + + + Gets the underlying label. + + + + + Represents a local variable in CIL code. + + + + + Gets the zero-based index of the local variable within the method body. + + + + + Gets the type of the local variable. + + + + + Gets the local variable name, or null if a name was not provided. + + + + + Represents a local variable in CIL code. + + + + + Creates a new local variable instance. + + The underlying local variable. + The name of the local variable. Can be null. + + + + Gets the underlying local variable. + + + + + Gets the zero-based index of the local variable within the method body. + + + + + Gets the type of the local variable. + + + + + Gets the local variable name, or null if a name was not provided. + + + + + Represents a generator that logs all operations. + + + + + Creates a new LoggingILGenerator instance. + + The ILGenerator that is used to output the IL. + + + + Gets a reference to the method that we are generating IL for. + + + + + Emits a return statement and finalizes the generated code. Do not emit any more + instructions after calling this method. + + + + + Pops the value from the top of the stack. + + + + + Duplicates the value on the top of the stack. + + + + + Creates a label without setting its position. + + A new label. + + + + Defines the position of the given label. + + The label to define. + + + + Unconditionally branches to the given label. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is zero. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is non-zero, true or + non-null. + + The label to branch to. + + + + Branches to the given label if the two values on the top of the stack are equal. + + The label to branch to. + + + + Branches to the given label if the two values on the top of the stack are not equal. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than the second + value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than the second + value on the stack. If the operands are integers then they are treated as if they are + unsigned. If the operands are floating point numbers then a NaN value will trigger a + branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than or equal to + the second value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than or equal to + the second value on the stack. If the operands are integers then they are treated as + if they are unsigned. If the operands are floating point numbers then a NaN value will + trigger a branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than the second + value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than the second + value on the stack. If the operands are integers then they are treated as if they are + unsigned. If the operands are floating point numbers then a NaN value will trigger a + branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than or equal to + the second value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than or equal to + the second value on the stack. If the operands are integers then they are treated as + if they are unsigned. If the operands are floating point numbers then a NaN value will + trigger a branch. + + The label to branch to. + + + + Returns from the current method. A value is popped from the stack and used as the + return value. + + + + + Creates a jump table. A value is popped from the stack - this value indicates the + index of the label in the array to jump to. + + A array of labels. + + + + Declares a new local variable. + + The type of the local variable. + The name of the local variable. Can be null. + A new local variable. + + + + Pushes the value of the given variable onto the stack. + + The variable whose value will be pushed. + + + + Pushes the address of the given variable onto the stack. + + The variable whose address will be pushed. + + + + Pops the value from the top of the stack and stores it in the given local variable. + + The variable to store the value. + + + + Pushes the value of the method argument with the given index onto the stack. + + The index of the argument to push onto the stack. + + + + Pops a value from the stack and stores it in the method argument with the given index. + + The index of the argument to store into. + + + + Pushes null onto the stack. + + + + + Pushes a constant value onto the stack. + + The integer to push onto the stack. + + + + Pushes a 64-bit constant value onto the stack. + + The 64-bit integer to push onto the stack. + + + + Pushes a constant value onto the stack. + + The number to push onto the stack. + + + + Pushes a constant value onto the stack. + + The string to push onto the stack. + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is equal to the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is greater than the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is greater than the second, or 0 otherwise. Produces 1 if one or both + of the arguments are NaN. Integers are considered to be unsigned. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is less than the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is less than the second, or 0 otherwise. Produces 1 if one or both + of the arguments are NaN. Integers are considered to be unsigned. + + + + + Pops two values from the stack, adds them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, subtracts the second from the first, then pushes the + result to the stack. + + + + + Pops two values from the stack, multiplies them together, then pushes the + result to the stack. + + + + + Pops two values from the stack, divides the first by the second, then pushes the + result to the stack. + + + + + Pops two values from the stack, divides the first by the second, then pushes the + remainder to the stack. + + + + + Pops a value from the stack, negates it, then pushes it back onto the stack. + + + + + Pops two values from the stack, ANDs them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, ORs them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, XORs them together, then pushes the result to the + stack. + + + + + Pops a value from the stack, inverts it, then pushes the result to the stack. + + + + + Pops two values from the stack, shifts the first to the left, then pushes the result + to the stack. + + + + + Pops two values from the stack, shifts the first to the right, then pushes the result + to the stack. The sign bit is preserved. + + + + + Pops two values from the stack, shifts the first to the right, then pushes the result + to the stack. The sign bit is not preserved. + + + + + Pops a value from the stack, converts it to an object reference, then pushes it back onto + the stack. + + + + + Pops an object reference (representing a boxed value) from the stack, extracts the + address, then pushes that address onto the stack. + + The type of the boxed value. This should be a value type. + + + + Pops an object reference (representing a boxed value) from the stack, extracts the value, + then pushes the value onto the stack. + + The type of the boxed value. This should be a value type. + + + + Pops a value from the stack, converts it to a signed integer, then pushes it back onto + the stack. + + + + + Pops a value from the stack, converts it to an unsigned integer, then pushes it back + onto the stack. + + + + + Pops a value from the stack, converts it to a signed 64-bit integer, then pushes it + back onto the stack. + + + + + Pops a value from the stack, converts it to an unsigned 64-bit integer, then pushes it + back onto the stack. + + + + + Pops a value from the stack, converts it to a double, then pushes it back onto + the stack. + + + + + Pops an unsigned integer from the stack, converts it to a double, then pushes it back onto + the stack. + + + + + Pops the constructor arguments off the stack and creates a new instance of the object. + + The constructor that is used to initialize the object. + + + + Pops the method arguments off the stack, calls the given method, then pushes the result + to the stack (if there was one). This operation can be used to call instance methods, + but virtual overrides will not be called and a null check will not be performed at the + callsite. + + The method to call. + + + + Pops the method arguments off the stack, calls the given method, then pushes the result + to the stack (if there was one). This operation cannot be used to call static methods. + Virtual overrides are obeyed and a null check is performed. + + The method to call. + The method is static. + + + + Pushes the value of the given field onto the stack. + + The field whose value will be pushed. + + + + Pops a value off the stack and stores it in the given field. + + The field to modify. + + + + Pops an object off the stack, checks that the object inherits from or implements the + given type, and pushes the object onto the stack if the check was successful or + throws an InvalidCastException if the check failed. + + The type of the class the object inherits from or the interface the + object implements. + + + + Pops an object off the stack, checks that the object inherits from or implements the + given type, and pushes either the object (if the check was successful) or null + (if the check failed) onto the stack. + + The type of the class the object inherits from or the interface the + object implements. + + + + Pushes a RuntimeTypeHandle corresponding to the given type onto the evaluation stack. + + The type to convert to a RuntimeTypeHandle. + + + + Pushes a RuntimeMethodHandle corresponding to the given method onto the evaluation + stack. + + The method to convert to a RuntimeMethodHandle. + + + + Pushes a RuntimeFieldHandle corresponding to the given field onto the evaluation stack. + + The type to convert to a RuntimeFieldHandle. + + + + Pushes a pointer to the native code implementing the given method onto the evaluation + stack. The virtual qualifier will be ignored, if present. + + The method to retrieve a pointer for. + + + + Pushes a pointer to the native code implementing the given method onto the evaluation + stack. This method cannot be used to retrieve a pointer to a static method. + + The method to retrieve a pointer for. + The method is static. + + + + Pops a managed or native pointer off the stack and initializes the referenced type with + zeros. + + The type the pointer on the top of the stack is pointing to. + + + + Pops the size of the array off the stack and pushes a new array of the given type onto + the stack. + + The element type. + + + + Pops the array and index off the stack and pushes the element value onto the stack. + + The element type. + + + + Pops the array, index and value off the stack and stores the value in the array. + + The element type. + + + + Pops an array off the stack and pushes the length of the array onto the stack. + + + + + Pops an exception object off the stack and throws the exception. + + + + + Rethrows the current exception. + + + + + Begins a try-catch-finally block. After issuing this instruction any following + instructions are conceptually within the try block. + + + + + Ends a try-catch-finally block. BeginExceptionBlock() must have already been called. + + + + + Begins a catch block. BeginExceptionBlock() must have already been called. + + The type of exception to handle. + + + + Begins a finally block. BeginExceptionBlock() must have already been called. + + + + + Begins a filter block. BeginExceptionBlock() must have already been called. + + + + + Begins a fault block. BeginExceptionBlock() must have already been called. + + + + + Unconditionally branches to the given label. Unlike the regular branch instruction, + this instruction can exit out of try, filter and catch blocks. + + The label to branch to. + + + + This instruction can be used from within a finally block to resume the exception + handling process. It is the only valid way of leaving a finally block. + + + + + This instruction can be used from within a filter block to indicate whether the + exception will be handled. It pops an integer from the stack which should be 0 + to continue searching for an exception handler or 1 to use the handler + associated with the filter. EndFilter() must be called at the end of a filter block. + + + + + Triggers a breakpoint in an attached debugger. + + + + + Does nothing. + + + + + Converts the object to a string. + + A string containing the IL generated by this object. + + + + Outputs an instruction to the log. + + The instruction to output. + + + + Outputs an instruction and a label to the log. + + The instruction to output. + The label to output. + + + + Outputs an instruction and a number of labels to the log. + + The instruction to output. + The labels to output. + + + + Appends the name of a label to the log. + + The label to convert. + A string representation of the label. + + + + Outputs an instruction and a variable to the log. + + The instruction to output. + The variable to output. + + + + Outputs an instruction and an integer to the log. + + The instruction to output. + The integer to output. + + + + Outputs an instruction and a 64-bit integer to the log. + + The instruction to output. + The 64-bit integer to output. + + + + Outputs an instruction and a floating-point value to the log. + + The instruction to output. + The floating-point vaue to output. + + + + Outputs an instruction and a string literal to the log. + + The instruction to output. + The string literal to output. + + + + Outputs an instruction and a type to the log. + + The instruction to output. + The type to output. + + + + Outputs an instruction and a method to the log. + + The instruction to output. + The method to output. + + + + Outputs an instruction and a field to the log. + + The instruction to output. + The field to output. + + + + Outputs an instruction and a constructor to the log. + + The instruction to output. + The constructor to output. + + + + Outputs an instruction and an arbitrary suffix to the log. + + The instruction to output. + A suffix to output. + + + + Outputs arbitrary text to the log. + + The text to output. + + + + Represents a generator of CIL bytes. + + + + + Creates a new ReflectionEmitILGenerator instance from a DynamicMethod. + + The DynamicMethod to emit IL for. + Indicates whether to emit debugging information, like symbol names. + + + + Gets a reference to the method that we are generating IL for. + + + + + Emits a return statement and finalizes the generated code. Do not emit any more + instructions after calling this method. + + + + + Pops the value from the top of the stack. + + + + + Duplicates the value on the top of the stack. + + + + + Creates a label without setting its position. + + A new label. + + + + Defines the position of the given label. + + The label to define. + + + + Unconditionally branches to the given label. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is zero. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is non-zero, true or + non-null. + + The label to branch to. + + + + Branches to the given label if the two values on the top of the stack are equal. + + The label to branch to. + + + + Branches to the given label if the two values on the top of the stack are not equal. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than the second + value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than the second + value on the stack. If the operands are integers then they are treated as if they are + unsigned. If the operands are floating point numbers then a NaN value will trigger a + branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than or equal to + the second value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than or equal to + the second value on the stack. If the operands are integers then they are treated as + if they are unsigned. If the operands are floating point numbers then a NaN value will + trigger a branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than the second + value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than the second + value on the stack. If the operands are integers then they are treated as if they are + unsigned. If the operands are floating point numbers then a NaN value will trigger a + branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than or equal to + the second value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than or equal to + the second value on the stack. If the operands are integers then they are treated as + if they are unsigned. If the operands are floating point numbers then a NaN value will + trigger a branch. + + The label to branch to. + + + + Returns from the current method. A value is popped from the stack and used as the + return value. + + + + + Creates a jump table. A value is popped from the stack - this value indicates the + index of the label in the array to jump to. + + A array of labels. + + + + Declares a new local variable. + + The type of the local variable. + The name of the local variable. Can be null. + A new local variable. + + + + Pushes the value of the given variable onto the stack. + + The variable whose value will be pushed. + + + + Pushes the address of the given variable onto the stack. + + The variable whose address will be pushed. + + + + Pops the value from the top of the stack and stores it in the given local variable. + + The variable to store the value. + + + + Pushes the value of the method argument with the given index onto the stack. + + The index of the argument to push onto the stack. + + + + Pops a value from the stack and stores it in the method argument with the given index. + + The index of the argument to store into. + + + + Pushes null onto the stack. + + + + + Pushes a constant value onto the stack. + + The integer to push onto the stack. + + + + Pushes a 64-bit constant value onto the stack. + + The 64-bit integer to push onto the stack. + + + + Pushes a constant value onto the stack. + + The number to push onto the stack. + + + + Pushes a constant value onto the stack. + + The string to push onto the stack. + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is equal to the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is greater than the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is greater than the second, or 0 otherwise. Produces 1 if one or both + of the arguments are NaN. Integers are considered to be unsigned. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is less than the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is less than the second, or 0 otherwise. Produces 1 if one or both + of the arguments are NaN. Integers are considered to be unsigned. + + + + + Pops two values from the stack, adds them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, subtracts the second from the first, then pushes the + result to the stack. + + + + + Pops two values from the stack, multiplies them together, then pushes the + result to the stack. + + + + + Pops two values from the stack, divides the first by the second, then pushes the + result to the stack. + + + + + Pops two values from the stack, divides the first by the second, then pushes the + remainder to the stack. + + + + + Pops a value from the stack, negates it, then pushes it back onto the stack. + + + + + Pops two values from the stack, ANDs them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, ORs them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, XORs them together, then pushes the result to the + stack. + + + + + Pops a value from the stack, inverts it, then pushes the result to the stack. + + + + + Pops two values from the stack, shifts the first to the left, then pushes the result + to the stack. + + + + + Pops two values from the stack, shifts the first to the right, then pushes the result + to the stack. The sign bit is preserved. + + + + + Pops two values from the stack, shifts the first to the right, then pushes the result + to the stack. The sign bit is not preserved. + + + + + Pops a value from the stack, converts it to an object reference, then pushes it back onto + the stack. + + + + + Pops an object reference (representing a boxed value) from the stack, extracts the + address, then pushes that address onto the stack. + + The type of the boxed value. This should be a value type. + + + + Pops an object reference (representing a boxed value) from the stack, extracts the value, + then pushes the value onto the stack. + + The type of the boxed value. This should be a value type. + + + + Pops a value from the stack, converts it to a signed integer, then pushes it back onto + the stack. + + + + + Pops a value from the stack, converts it to an unsigned integer, then pushes it back + onto the stack. + + + + + Pops a value from the stack, converts it to a signed 64-bit integer, then pushes it + back onto the stack. + + + + + Pops a value from the stack, converts it to an unsigned 64-bit integer, then pushes it + back onto the stack. + + + + + Pops a value from the stack, converts it to a double, then pushes it back onto + the stack. + + + + + Pops an unsigned integer from the stack, converts it to a double, then pushes it back onto + the stack. + + + + + Pops the constructor arguments off the stack and creates a new instance of the object. + + The constructor that is used to initialize the object. + + + + Pops the method arguments off the stack, calls the given method, then pushes the result + to the stack (if there was one). This operation can be used to call instance methods, + but virtual overrides will not be called and a null check will not be performed at the + callsite. + + The method to call. + + + + Pops the method arguments off the stack, calls the given method, then pushes the result + to the stack (if there was one). This operation cannot be used to call static methods. + Virtual overrides are obeyed and a null check is performed. + + The method to call. + The method is static. + + + + Pushes the value of the given field onto the stack. + + The field whose value will be pushed. + + + + Pops a value off the stack and stores it in the given field. + + The field to modify. + + + + Pops an object off the stack, checks that the object inherits from or implements the + given type, and pushes the object onto the stack if the check was successful or + throws an InvalidCastException if the check failed. + + The type of the class the object inherits from or the interface the + object implements. + + + + Pops an object off the stack, checks that the object inherits from or implements the + given type, and pushes either the object (if the check was successful) or null + (if the check failed) onto the stack. + + The type of the class the object inherits from or the interface the + object implements. + + + + Pushes a RuntimeTypeHandle corresponding to the given type onto the evaluation stack. + + The type to convert to a RuntimeTypeHandle. + + + + Pushes a RuntimeMethodHandle corresponding to the given method onto the evaluation + stack. + + The method to convert to a RuntimeMethodHandle. + + + + Pushes a RuntimeFieldHandle corresponding to the given field onto the evaluation stack. + + The type to convert to a RuntimeFieldHandle. + + + + Pushes a pointer to the native code implementing the given method onto the evaluation + stack. The virtual qualifier will be ignored, if present. + + The method to retrieve a pointer for. + + + + Pushes a pointer to the native code implementing the given method onto the evaluation + stack. This method cannot be used to retrieve a pointer to a static method. + + The method to retrieve a pointer for. + The method is static. + + + + Pops a managed or native pointer off the stack and initializes the referenced type with + zeros. + + The type the pointer on the top of the stack is pointing to. + + + + Pops the size of the array off the stack and pushes a new array of the given type onto + the stack. + + The element type. + + + + Pops the array and index off the stack and pushes the element value onto the stack. + + The element type. + + + + Pops the array, index and value off the stack and stores the value in the array. + + The element type. + + + + Pops an array off the stack and pushes the length of the array onto the stack. + + + + + Pops an exception object off the stack and throws the exception. + + + + + Rethrows the current exception. + + + + + Begins a try-catch-finally block. After issuing this instruction any following + instructions are conceptually within the try block. + + + + + Ends a try-catch-finally block. BeginExceptionBlock() must have already been called. + + + + + Begins a catch block. BeginExceptionBlock() must have already been called. + + The type of exception to handle. + + + + Begins a finally block. BeginExceptionBlock() must have already been called. + + + + + Begins a filter block. BeginExceptionBlock() must have already been called. + + + + + Begins a fault block. BeginExceptionBlock() must have already been called. + + + + + Unconditionally branches to the given label. Unlike the regular branch instruction, + this instruction can exit out of try, filter and catch blocks. + + The label to branch to. + + + + This instruction can be used from within a finally block to resume the exception + handling process. It is the only valid way of leaving a finally block. + + + + + This instruction can be used from within a filter block to indicate whether the + exception will be handled. It pops an integer from the stack which should be 0 + to continue searching for an exception handler or 1 to use the handler + associated with the filter. EndFilter() must be called at the end of a filter block. + + + + + Triggers a breakpoint in an attached debugger. + + + + + Does nothing. + + + + + Represents a generator that checks commands for correctness. + + + + + Creates a new LoggingILGenerator instance. + + The ILGenerator that is used to output the IL. + + + + Gets a reference to the method that we are generating IL for. + + + + + Emits a return statement and finalizes the generated code. Do not emit any more + instructions after calling this method. + + + + + Pops the value from the top of the stack. + + + + + Duplicates the value on the top of the stack. + + + + + Creates a label without setting its position. + + A new label. + + + + Defines the position of the given label. + + The label to define. + + + + Unconditionally branches to the given label. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is zero. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is non-zero, true or + non-null. + + The label to branch to. + + + + Branches to the given label if the two values on the top of the stack are equal. + + The label to branch to. + + + + Branches to the given label if the two values on the top of the stack are not equal. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than the second + value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than the second + value on the stack. If the operands are integers then they are treated as if they are + unsigned. If the operands are floating point numbers then a NaN value will trigger a + branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than or equal to + the second value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than or equal to + the second value on the stack. If the operands are integers then they are treated as + if they are unsigned. If the operands are floating point numbers then a NaN value will + trigger a branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than the second + value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than the second + value on the stack. If the operands are integers then they are treated as if they are + unsigned. If the operands are floating point numbers then a NaN value will trigger a + branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than or equal to + the second value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than or equal to + the second value on the stack. If the operands are integers then they are treated as + if they are unsigned. If the operands are floating point numbers then a NaN value will + trigger a branch. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is zero, false or + null. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is non-zero, true or + non-null. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is zero, false or + null. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is non-zero, true or + non-null. + + The label to branch to. + + + + Returns from the current method. A value is popped from the stack and used as the + return value. + + + + + Creates a jump table. A value is popped from the stack - this value indicates the + index of the label in the array to jump to. + + A array of labels. + + + + Declares a new local variable. + + The type of the local variable. + The name of the local variable. Can be null. + A new local variable. + + + + Pushes the value of the given variable onto the stack. + + The variable whose value will be pushed. + + + + Pushes the address of the given variable onto the stack. + + The variable whose address will be pushed. + + + + Pops the value from the top of the stack and stores it in the given local variable. + + The variable to store the value. + + + + Pushes the value of the method argument with the given index onto the stack. + + The index of the argument to push onto the stack. + + + + Pops a value from the stack and stores it in the method argument with the given index. + + The index of the argument to store into. + + + + Pushes null onto the stack. + + + + + Pushes a constant value onto the stack. + + The boolean to push onto the stack. + + + + Pushes a constant value onto the stack. + + The integer to push onto the stack. + + + + Pushes a 64-bit constant value onto the stack. + + The 64-bit integer to push onto the stack. + + + + Pushes a constant value onto the stack. + + The number to push onto the stack. + + + + Pushes a constant value onto the stack. + + The string to push onto the stack. + + + + Pushes a constant value onto the stack. + + The enum value to push onto the stack. + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is equal to the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is greater than the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is greater than the second, or 0 otherwise. Produces 1 if one or both + of the arguments are NaN. Integers are considered to be unsigned. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is less than the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is less than the second, or 0 otherwise. Produces 1 if one or both + of the arguments are NaN. Integers are considered to be unsigned. + + + + + Pops two values from the stack, adds them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, subtracts the second from the first, then pushes the + result to the stack. + + + + + Pops two values from the stack, multiplies them together, then pushes the + result to the stack. + + + + + Pops two values from the stack, divides the first by the second, then pushes the + result to the stack. + + + + + Pops two values from the stack, divides the first by the second, then pushes the + remainder to the stack. + + + + + Pops a value from the stack, negates it, then pushes it back onto the stack. + + + + + Pops two values from the stack, ANDs them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, ORs them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, XORs them together, then pushes the result to the + stack. + + + + + Pops a value from the stack, inverts it, then pushes the result to the stack. + + + + + Pops two values from the stack, shifts the first to the left, then pushes the result + to the stack. + + + + + Pops two values from the stack, shifts the first to the right, then pushes the result + to the stack. The sign bit is preserved. + + + + + Pops two values from the stack, shifts the first to the right, then pushes the result + to the stack. The sign bit is not preserved. + + + + + Pops a value from the stack, converts it to an object reference, then pushes it back onto + the stack. + + + + + Pops an object reference (representing a boxed value) from the stack, extracts the + address, then pushes that address onto the stack. + + The type of the boxed value. This should be a value type. + + + + Pops an object reference (representing a boxed value) from the stack, extracts the value, + then pushes the value onto the stack. + + The type of the boxed value. This should be a value type. + + + + Pops a value from the stack, converts it to a signed integer, then pushes it back onto + the stack. + + + + + Pops a value from the stack, converts it to an unsigned integer, then pushes it back + onto the stack. + + + + + Pops a value from the stack, converts it to a signed 64-bit integer, then pushes it + back onto the stack. + + + + + Pops a value from the stack, converts it to an unsigned 64-bit integer, then pushes it + back onto the stack. + + + + + Pops a value from the stack, converts it to a double, then pushes it back onto + the stack. + + + + + Pops an unsigned integer from the stack, converts it to a double, then pushes it back onto + the stack. + + + + + Pops the constructor arguments off the stack and creates a new instance of the object. + + The constructor that is used to initialize the object. + + + + Pops the method arguments off the stack, calls the given method, then pushes the result + to the stack (if there was one). This operation can be used to call instance methods, + but virtual overrides will not be called and a null check will not be performed at the + callsite. + + The method to call. + + + + Pops the method arguments off the stack, calls the given method, then pushes the result + to the stack (if there was one). This operation cannot be used to call static methods. + Virtual overrides are obeyed and a null check is performed. + + The method to call. + The method is static. + + + + Pushes the value of the given field onto the stack. + + The field whose value will be pushed. + + + + Pops a value off the stack and stores it in the given field. + + The field to modify. + + + + Pops an object off the stack, checks that the object inherits from or implements the + given type, and pushes the object onto the stack if the check was successful or + throws an InvalidCastException if the check failed. + + The type of the class the object inherits from or the interface the + object implements. + + + + Changes the type of the value on the top of the stack, for the purpose of passing + verification. Doesn't generate any IL instructions. + + The type to convert to. + + + + Pops an object off the stack, checks that the object inherits from or implements the + given type, and pushes either the object (if the check was successful) or null + (if the check failed) onto the stack. + + The type of the class the object inherits from or the interface the + object implements. + + + + Pushes a RuntimeTypeHandle corresponding to the given type onto the evaluation stack. + + The type to convert to a RuntimeTypeHandle. + + + + Pushes a RuntimeMethodHandle corresponding to the given method onto the evaluation + stack. + + The method to convert to a RuntimeMethodHandle. + + + + Pushes a RuntimeFieldHandle corresponding to the given field onto the evaluation stack. + + The type to convert to a RuntimeFieldHandle. + + + + Pushes a pointer to the native code implementing the given method onto the evaluation + stack. The virtual qualifier will be ignored, if present. + + The method to retrieve a pointer for. + + + + Pushes a pointer to the native code implementing the given method onto the evaluation + stack. This method cannot be used to retrieve a pointer to a static method. + + The method to retrieve a pointer for. + The method is static. + + + + Pops a managed or native pointer off the stack and initializes the referenced type with + zeros. + + The type the pointer on the top of the stack is pointing to. + + + + Pops the size of the array off the stack and pushes a new array of the given type onto + the stack. + + The element type. + + + + Pops the array and index off the stack and pushes the element value onto the stack. + + The element type. + + + + Pops the array, index and value off the stack and stores the value in the array. + + The element type. + + + + Pops an array off the stack and pushes the length of the array onto the stack. + + + + + Pops an exception object off the stack and throws the exception. + + + + + Rethrows the current exception. + + + + + Begins a try-catch-finally block. After issuing this instruction any following + instructions are conceptually within the try block. + + + + + Ends a try-catch-finally block. BeginExceptionBlock() must have already been called. + + + + + Begins a catch block. BeginExceptionBlock() must have already been called. + + The type of exception to handle. + + + + Begins a finally block. BeginExceptionBlock() must have already been called. + + + + + Begins a filter block. BeginExceptionBlock() must have already been called. + + + + + Begins a fault block. BeginExceptionBlock() must have already been called. + + + + + Unconditionally branches to the given label. Unlike the regular branch instruction, + this instruction can exit out of try, filter and catch blocks. + + The label to branch to. + + + + This instruction can be used from within a finally block to resume the exception + handling process. It is the only valid way of leaving a finally block. + + + + + This instruction can be used from within a filter block to indicate whether the + exception will be handled. It pops an integer from the stack which should be 0 + to continue searching for an exception handler or 1 to use the handler + associated with the filter. EndFilter() must be called at the end of a filter block. + + + + + Triggers a breakpoint in an attached debugger. + + + + + Does nothing. + + + + + Converts the object to a string. + + A string containing the IL generated by this object. + + + + Represents a label in IL code. + + + + + Creates a new label instance. + + The underlying label. + + + + Gets the underlying label. + + + + + A copy of the stack at the point the flow branched. + + + + + Indicates whether the label has been marked. This must be done once and only once. + + + + + Used internally to allow branching out of a finally block. + + + + + Creates a new LongJumpException instance. + + The route ID. + + + + Gets the route ID. + + + + + Represents information useful for optimizing a method. + + + + + Called by the parser whenever a variable is encountered (variable being any identifier + which is not a property name). + + The variable name. + + + + Determines if the parser encountered the given variable name while parsing the + function, or if the function contains a reference to "eval" or the function contains + nested functions which may reference the variable. + + The variable name. + true if the parser encountered the given variable name or "eval" while + parsing the function; false otherwise. + + + + Gets a value that indicates whether the function being generated contains a reference + to the arguments object. + + + + + Gets a value that indicates whether the function being generated contains an eval + statement. + + + + + Caches the HasEval and HasArguments property access. + + + + + Gets or sets a value that indicates whether the function being generated contains a + nested function declaration or expression. + + + + + Gets or sets a value that indicates whether the function being generated contains a + reference to the "this" keyword. + + + + + Represents information about one or more code generation optimizations. + + + + + Creates a new OptimizationInfo instance. + + + + + Gets or sets the root of the abstract syntax tree that is being compiled. + + + + + Gets or sets a value that indicates whether strict mode is enabled. + + + + + Gets or sets the source of javascript code. + + + + + Gets or sets the name of the function that is being generated. + + + + + Gets the portion of source code associated with the statement that code is + being generated for. + + + + + Emits a sequence point, and sets the SourceSpan property. + + The IL generator used to emit the sequence point. + The source code span. + + + + Gets a list of generated methods that correspond to nested functions. + This list is maintained so that the garbage collector does not prematurely collect + the generated code for the nested functions. + + + + + Gets or sets function optimization information. + + + + + Gets a value that indicates whether the declarative scopes should be optimized away, + so that the scope is not even created at runtime. + + + + + Indicates that the given expression can choose to not generate a return value. + + + + + Indicates whether the return value was generated. + + + + + Gets or sets the local variable to store the result of the eval() call. Will be + null if code is being generated outside an eval context. + + + + + Retrieves a variable that can be used to store a property name referencing a + global variable. + + The IL generator used to create the variable. + The name of the global variable. + A variable. + + + + Retrieves a variable that can be used to store a property name referencing an + object property. + + The IL generator used to create the variable. + The name of the property. + A variable. + + + + Retrieves a variable that can be used to store a shared instance of a regular + expression. + + The IL generator used to create the variable. + The regular expression literal. + A varaible that can be used to store a shared instance of a regular + expression. + + + + Gets or sets the label the return statement should jump to (with the return value on + top of the stack). Will be null if code is being generated outside a function + context. + + + + + Gets or sets the variable that holds the return value for the function. Will be + null if code is being generated outside a function context or if no return + statements have been encountered. + + + + + Indicates whether we are generating code inside a loop. + + + + + Pushes information about break or continue targets to a stack. + + The label names associated with the break or continue target. + Can be null. + The IL label to jump to if a break statement is encountered. + The IL label to jump to if a continue statement is + encountered. Can be null. + true if break or continue statements without a label + should ignore this entry; false otherwise. + + + + Removes the top-most break or continue information from the stack. + + + + + Returns the break target for the statement with the given label, if one is provided, or + the top-most break target otherwise. + + The label associated with the break target. Can be + null. + The break target for the statement with the given label. + + + + Returns the continue target for the statement with the given label, if one is provided, or + the top-most continue target otherwise. + + The label associated with the continue target. Can be + null. + The continue target for the statement with the given label. + + + + Gets the number of available break or continue targets. Used to support break or + continue statements within finally blocks. + + + + + Searches for the given label in the break/continue stack. + + + The depth of the label in the stack. Zero indicates the bottom of the stack. + -1 is returned if the label was not found. + + + + Gets or sets a value that indicates whether code generation is occurring within a + try, catch or finally block. + + + + + Gets or sets a delegate that is called when EmitLongJump() is called and the target + label is outside the LongJumpStackSizeThreshold. + + + + + Gets or sets the depth of the break/continue stack at the start of the finally + statement. + + + + + Emits code to branch between statements, even if code generation is within a finally + block (where unconditional branches are not allowed). + + The generator to output the CIL to. + The label to jump to. + + + + Represents a javascript primitive type. + + + + + Methods related to the PrimitiveType enum. + + + + + Converts a javascript primitive type to a .NET type. + + The type to convert. + A .NET type. + + + + Converts a .NET type to a javascript primitive type. + + The type to convert. + A javascript primitive type. + + + + Checks if the given primitive type is numeric. + + The primitive type to check. + true if the given primitive type is numeric; false otherwise. + + + + Checks if the given primitive type is a string type. + + The primitive type to check. + true if the given primitive type is a string type; false + otherwise. + + + + Checks if the given primitive type is a value type. + + The primitive type to check. + true if the given primitive type is a value type; false otherwise. + + + + Gets a type that can hold values of both the given types. + + The first of the two types to find the LCD for. + The second of the two types to find the LCD for. + A type that can hold values of both the given types. + + + + Used by the code generator. + Not intended for user code (the class needs to be public because when using Reflection + Emit, all calls into Jurassic.dll are cross-assembly and thus must be public). + + + + + Initializes static members of this class. + + + + + Creates a new instance of a user-defined function. + + The next object in the prototype chain. + The name of the function. + The names of the arguments. + The scope at the point the function is declared. + The source code for the function body. + A delegate which represents the body of the function plus any dependencies. + true if the function body is strict mode; false otherwise. + A reference to the containing class prototype or object literal (or null). + This is used by functions declared in JavaScript code (including getters and setters). + + + + Sets the value of a object literal property to a value. + + The object to set the property on. + The property key (can be a string or a symbol). + The value to set. + + + + Sets the value of a object literal property to a getter. If the value already has a + setter then it will be retained. + + The object to set the property on. + The property key (can be a string or a symbol). + The getter function. + + + + Sets the value of a object literal property to a setter. If the value already has a + getter then it will be retained. + + The object to set the property on. + The property key (can be a string or a symbol). + The setter function. + + + + Retrieves a cached template string array, using the given call site ID as the cache key. + + The associated script engine. + The call site ID to use as a cache key. + + + + + Creates an array suitable for passing to a tag function. + + The associated script engine. + The call site ID to use as a cache key. + An array of strings that make up the template literal, + with escape character processing. + An array of strings that make up the template literal, + without any escape character processing. + A JS array suitable for passing to a tag function. + + + + + + + + + + + + + + Sets the value of a class property to a value. + + The object to set the property on. + The property key (can be a string or a symbol). + The value to set. + + + + Sets the value of a class property to a getter. If the value already has a + setter then it will be retained. + + The object to set the property on. + The property key (can be a string or a symbol). + The getter function. + + + + Sets the value of a class property to a setter. If the value already has a + getter then it will be retained. + + The object to set the property on. + The property key (can be a string or a symbol). + The setter function. + + + + Implements the 'instanceof' operator. + + The left-hand side value. + The right-hand side value. + The line number in the source file the error occurred on. + The path or URL of the source file. Can be null. + The name of the function. Can be null. + The result of the 'instanceof' operator. + + + + Gets an enumerable list of all the MemberInfos that are statically known to be used by this DLL. + + An enumerable list of all the MemberInfos that are used by this DLL. + + + + Gets the FieldInfo for a field. Throws an exception if the search fails. + + The type to search. + The name of the field. + The FieldInfo for a field. + + + + Gets the ConstructorInfo for a constructor. Throws an exception if the search fails. + + The type to search. + The types of the parameters accepted by the constructor. + The ConstructorInfo for the constructor. + + + + Gets the MethodInfo for an instance method. Throws an exception if the search fails. + + The type to search. + The name of the method to search for. + The types of the parameters accepted by the method. + The MethodInfo for the method. + + + + Gets the MethodInfo for a static method. Throws an exception if the search fails. + + The type to search. + The name of the method to search for. + The types of the parameters accepted by the method. + The MethodInfo for the method. + + + + Gets the MethodInfo for a generic instance method. Throws an exception if the search fails. + + The type to search. + The name of the method to search for. + The MethodInfo for the method. + + + + Represents the runtime state needed to run JS code. + + + + + Creates an execution context for code running in an eval() scope. + + A script engine. + The scope that was active when eval() was called. + The value of the 'this' keyword. + A new execution context instance. + + + + Creates an execution context for code running as a result of a function call. + + A script engine. + The scope that was active when the function was declared + (NOT when it was called). + The value of the 'this' keyword. + The function that is being called. + A new execution context instance. + + + + Creates an execution context for code running as a result of the new operator. + + A script engine. + The scope that was active when the class was declared. + The value of the 'this' keyword. + A reference to the function that is being executed. + The target of the new operator. + A reference to the object literal or class prototype + the executing function was defined within. Used by the 'super' keyword. + A new execution context instance. + + + + Creates an execution context for code running as a result of the new operator. The + 'this' value is unavailable. + + A script engine. + The scope that was active when the class was declared. + A reference to the function that is being executed. + The target of the new operator. + A reference to the object literal or class prototype + the executing function was defined within. Used by the 'super' keyword. + A new execution context instance. + + + + A reference to the script engine. + + + + + The scope that was active when this execution context was declared. Can be null. + + + + + Represents the state of the 'this' value. + + + + + A 'this' value is available, although it may be null or undefined. + + + + + 'this' is unavailable because execution is in a derived class constructor and + super() has not yet been called. + + + + + This is an ArrowFunction and does not have a local this value. + + + + + Indicates the status of the 'this' value. + + + + + The value of the 'this' keyword. + + + + + Converts to an object. If this is null or undefined, + then it will be set to the global object. + + + + + The value of the 'super' keyword, or null if it is not available. + + + + + Corresponds to a super(...argumentValues) call. + + The parameter values to pass to the base class. + The initialised object instance. + + + + A reference to the executing function. Will be null if running in a global or + eval context. + + + + + If this context was created by the 'new' operator, contains the target of the new + operator. This value can be accessed by JS using the 'new.target' expression. + + + + + Contains a reference to the object literal or class prototype the executing function + was defined within. Used by the 'super' keyword. + + + + + The same as except that it returns + instead of null if no new.target value is available. + + + + + Creates a new instance of the 'arguments' object. + + The top-level scope for the function. + The argument values that were passed to the function. + A new instance of the 'arguments' object. + + + + Creates a new RuntimeScope instance, which is used for passing captured variables + between methods. + + The parent scope, or null to use the ParentScope from this + execution context. + + + + + A new RuntimeScope instance. + + + + A place for storing captured variable values at runtime. + + So this JS code: + + function f() { + let a = 1; + { + let a = 2; + (function g() { + a = 3; + })(); + console.log(a); // Logs 3. + } + } + + Translates to something like this (in C#): + + object f(ExecutionContext executionContext, object[] arguments) + { + var scope1 = executionContext.CreateRuntimeScope(null); + var scope2 = executionContext.CreateRuntimeScope(scope1); + var g = ReflectionHelpers.CreateFunction(..., scope2, ...) + scope1.SetValue("a", 1); + scope2.SetValue("a", 2); + g.Call() + ((FunctionInstance)TypeConverter.ToObject(scope2.GetValue("console"))["log"]).Call(scope2.GetValue("a")); + } + + object g(ExecutionContext executionContext, object[] arguments) + { + executionContext.ParentScope.SetValue("a", 3); + } + + The with(...) statement is handled specially: + + function f() { + with (Math) { + console.log(E); // Logs 2.718281828459045. + } + } + + C# translation: + + object f(ExecutionContext executionContext, object[] arguments) + { + var scope1 = executionContext.CreateRuntimeScope(null); + var scope2 = executionContext.CreateRuntimeScope(scope1); + scope2.BindTo(scope1.GetValue("Math")); + ((FunctionInstance)TypeConverter.ToObject(scope2.GetValue("console"))["log"]).Call(scope2.GetValue("E")); + } + + + + + Creates a global scope. + + The associated script engine. + A new RuntimeScope instance. + + + + Creates a new RuntimeScope instance. + + The script engine this scope is associated with. + The parent scope, or null if this is the root scope. + + + + + + + + The current execution context. + + + + + A reference to the parent scope. If a variable cannot be found in this scope then the + parent scope can be checked instead. + + + + + Gets the type of scope, e.g. global, function, eval, with, etc. + + + + + Gets the object that stores the values of the variables in the scope, if any. Can be null. + + + + + Determines the 'this' value passed to a function when the function call is of the form + simple_func(). This is normally 'undefined' but can be some other value inside a with() + statement. + + + + + Binds the scope to a scope object. This is used by the 'with' statement. + + The object to use. + + + + Returns the value of the given variable. An error is thrown if the variable doesn't + exist. + + The name of the variable. + The line number in the source file the variable was accessed. + The path or URL of the source file. Can be null. + The value of the given variable. + + + + Returns the value of the given variable. Returns if the + variable doesn't exist. + + + The line number in the source file the variable was accessed. + The path or URL of the source file. Can be null. + The value of the given variable, or if the + variable doesn't exist. + + + + Returns the value of the given variable. Returns null if the variable doesn't + exist. + + The name of the variable. + The line number in the source file the variable was accessed. + The path or URL of the source file. Can be null. + The value of the given variable, or null if the variable doesn't exist + in the scope. + + + + Sets the value of the given variable. + + The name of the variable. + The new value of the variable. + The line number in the source file the variable was set. + The path or URL of the source file. Can be null. + + + + Sets the value of the given variable, using strict mode behaviour. + + The name of the variable. + The new value of the variable. + The line number in the source file the variable was set. + The path or URL of the source file. Can be null. + + + + Sets the value of the given variable. + + The name of the variable. + The new value of the variable. + Indicates whether to use strict mode behaviour when setting + the variable. + The line number in the source file the variable was set. + The path or URL of the source file. Can be null. + + + + Deletes the variable from the scope. + + The name of the variable. + + + + Represents an array literal expression. + + + + + Creates a new instance of ArrayLiteralExpression. + + A list of values in the array. + + + + Gets the literal value. + + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents an assignment expression (++, --, =, +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=, >>>=). + + + + + Creates a new instance of AssignmentExpression. + + The operator to base this expression on. + + + + Creates a simple variable assignment expression. + + The scope the variable is defined within. + The name of the variable to set. + The value to set the variable to. + + + + Gets the target of the assignment. + + + + + Gets the underlying base operator for the given compound operator. + + The type of compound operator. + The underlying base operator, or null if the type is not a compound + operator. + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates CIL for an assignment expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + The target to modify. + + + + Generates CIL for an increment or decrement expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + The target to modify. + true if this is the postfix version of the operator; + false otherwise. + true if this is the increment operator; false if + this is the decrement operator. + + + + Generates CIL for a compound assignment expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + The target to modify. + + + + This is a private class that supports generating code for compound operators (e.g. +=). + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for a compound assignment expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + The target to modify. + + + + Checks the expression is valid and throws a SyntaxErrorException if not. + Called after the expression tree is fully built out. + + Indicates where the code is located e.g. inside a function, or a constructor, etc. + The line number to use when throwing an exception. + The source path to use when throwing an exception. + + + + Represents a binary operator expression. + + + + + Creates a new instance of BinaryExpression. + + The binary operator to base this expression on. + + + + Creates a new instance of BinaryJSExpression. + + The binary operator to base this expression on. + The operand on the left side of the operator. + The operand on the right side of the operator. + + + + Gets the expression on the left side of the operator. + + + + + Gets the expression on the right side of the operator. + + + + + Evaluates the expression, if possible. + + The result of evaluating the expression, or null if the expression can + not be evaluated. + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates CIL for the addition operation. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates CIL for the relational operators. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates CIL for the logical operators. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates CIL for the instanceof operator. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates CIL for the in operator. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Represents a class expression. + + + + + Creates a new class expression. + + The scope that contains the class. + The class name. + The base class, or null if this class doesn't inherit + from another class. + The constructor, or null if the class doesn't have one. + A list of class members. + + + + The scope that contains the class. + + + + + The class name, or null if none were specified. + + + + + The base class, or null if this class doesn't inherit from another class. + + + + + The constructor, or null if the class doesn't have one. + + + + + Gets the list of class members, exluding the constructor. + + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents the base class of all javascript expressions. + + + + + Evaluates the expression, if possible. + + The result of evaluating the expression, or null if the expression can + not be evaluated. + + + + Gets the type that results from evaluating this expression. + + + + + Checks the expression is valid and throws a SyntaxErrorException if not. + Called after the expression tree is fully built out. + + Indicates where the code is located e.g. inside a function, or a constructor, etc. + The line number to use when throwing an exception. + The source path to use when throwing an exception. + + + + Represents a function call expression. + + + + + Creates a new instance of FunctionCallExpression. + + The binary operator to base this expression on. + The scope that was in effect at the time of the function call + (used by eval() calls). + + + + Gets an expression that evaluates to the function instance. + + + + + Gets the type that results from evaluating this expression. + + + + + The scope that was in effect at the time of the function call (used by eval() calls.) + + + + + Used to implement function calls without evaluating the left operand twice. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates an array containing the argument values. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates an array containing the argument values for a tagged template literal. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + The template literal expression containing the parameter + values. + + + + Generates CIL for a call to eval(). + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Checks the expression is valid and throws a SyntaxErrorException if not. + Called after the expression tree is fully built out. + + Indicates where the code is located e.g. inside a function, or a constructor, etc. + The line number to use when throwing an exception. + The source path to use when throwing an exception. + + + + Represents a function expression. + + + + + Creates a new instance of FunctionExpression. + + The function context to base this expression on. + The scope that was in effect where the function was declared. + + + + Indicates how the function was declared. + + + + + Gets the name of the function. Can be null. + + + + + Gets a list of argument names and default values. + + + + + Gets the source code for the body of the function. + + + + + Gets the type that results from evaluating this expression. + + + + + The scope that was in effect where the function was declared. + + + + + A variable that contains the declaring object. + 1. In an object literal, the object literal instance. + 2. In a class instance method, the class prototype. + 3. In a class static method, the class itself. + Used when generating code. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents a grouping expression. + + + + + Creates a new instance of GroupingJSExpression. + + The operator to base this expression on. + + + + Gets the expression inside the grouping operator. + + + + + Evaluates the expression, if possible. + + The result of evaluating the expression, or null if the expression can + not be evaluated. + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Represents a reference - an expression that is valid on the left-hand-side of an assignment + operation. + + + + + Gets the static type of the reference. + + + + + Outputs the values needed to get or set this reference. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Duplicates the values needed to get or set this reference. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Pushes the value of the reference onto the stack. GenerateReference should be called first. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + true to throw a ReferenceError exception if + the name is unresolvable; false to output null instead. + + + + Stores the value on the top of the stack in the reference. GenerateReference should be called first. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + The primitive type of the value that is on the top of the stack. + + + + Deletes the reference and pushes true if the delete succeeded, or false + if the delete failed. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Represents a comma-delimited list. + + + + + Creates a new instance of ListExpression. + + The operator to base this expression on. + + + + Gets an array of expressions, one for each item in the list. + + + + + Evaluates the expression, if possible. + + The result of evaluating the expression, or null if the expression can + not be evaluated. + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents a simple literal expression (not an array literal or object literal). + + + + + Creates a new instance of LiteralExpression. + + The literal value. + + + + Gets the literal value. + + + + + Evaluates the expression, if possible. + + The result of evaluating the expression, or null if the expression can + not be evaluated. + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents a variable or member access. + + + + + Creates a new instance of MemberAccessExpression. + + The operator to base this expression on. + + + + Gets an expression that evaluates to the object that is being accessed or modified. + + + + + Gets the type that results from evaluating this expression. + + + + + Gets the static type of the reference. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Static property access e.g. a.b or a['b'] + + + + + Numeric array indexer e.g. a[1] + + + + + Dynamic property access e.g. a[someVariable] + + + + + Determines the type of member access. + + Information about any optimizations that should be performed. + Outputs the name of the property that is being accessed, if + it is available at compile time, or null otherwise. + + + + + Outputs the values needed to get or set this reference. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Outputs the values needed to get or set this reference. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Pushes the value of the reference onto the stack. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + true to throw a ReferenceError exception if + the name is unresolvable; false to output null instead. + + + + Stores the value on the top of the stack in the reference. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + The primitive type of the value that is on the top of the stack. + + + + Deletes the reference and pushes true if the delete succeeded, or false + if the delete failed. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Checks the expression is valid and throws a SyntaxErrorException if not. + Called after the expression tree is fully built out. + + Indicates where the code is located e.g. inside a function, or a constructor, etc. + The line number to use when throwing an exception. + The source path to use when throwing an exception. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents a variable or part of a member reference. + + + + + Creates a new NameExpression instance. + + The current scope. + The name of the variable or member that is being referenced. + + + + Gets or sets the scope the name is contained within. + + + + + Gets the name of the variable or member. + + + + + Gets the type that results from evaluating this expression. + + + + + Gets the static type of the reference. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Outputs the values needed to get or set this reference. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Outputs the values needed to get or set this reference. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Pushes the value of the reference onto the stack. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + true to throw a ReferenceError exception if + the name is unresolvable; false to output null instead. + + + + Stores the value on the top of the stack in the reference. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + The primitive type of the value that is on the top of the stack. + + + + Deletes the reference and pushes true if the delete succeeded, or false + if the delete failed. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Calculates the hash code for this object. + + The hash code for this object. + + + + Determines if the given object is equal to this one. + + The object to compare. + true if the given object is equal to this one; false otherwise. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents a "new" expression. + + + + + Creates a new instance of NewExpression. + + The operator to base this expression on. + + + + Gets the precedence of the operator. + + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Represents a reference to the "new.target" value. + + + + + Creates a new NewTargetExpression instance. + + + + + Gets the type that results from evaluating this expression. + + + + + Gets the static type of the reference. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents an object literal expression. + + + + + Creates a new object literal expression. + + A list of property declarations. + + + + Gets the literal value. + + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents a mutable operator expression. Once all the operands are determined, the + expression is converted into a real operator expression. + + + + + Creates a new instance of OperatorExpression. + + The operator to base this expression on. + + + + Creates a derived instance of OperatorExpression from the given operator. + + The operator to base this expression on. + The scope that was in effect at the time of the function call + (used by eval() calls). + A derived OperatorExpression instance. + + + + Gets or sets the operator this expression refers to. + + + + + Gets or sets the type of operator this expression refers to. + + + + + Gets the operand with the given index. No parameter validation and grouping operator + elimination is performed. + + The index of the operand to retrieve. + The operand with the given index. + + + + Gets the operand with the given index. + + The index of the operand to retrieve. + The operand with the given index. + + + + Gets the number of operands that have been added. + + + + + Adds an operand. + + The expression representing the operand to add. + + + + Removes and returns the most recently added operand. + + The most recently added operand. + + + + Gets or sets a value that indicates whether the second token in a ternary operator + was encountered. + + + + + Gets a value that indicates whether a new operand is acceptable given the state of + this operator. For ternary operators only two operands are acceptable until the + second token of the sequence is encountered. + + + + + Gets the right-most operand as an unbound operator, or null if the operator + has no operands or the right-most operand is not an operator. + + + + + Gets the precedence of the operator. For ternary operators this is -MinValue if + parsing is currently between the two tokens. + + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Checks the expression is valid and throws a SyntaxErrorException if not. + Called after the expression tree is fully built out. + + Indicates where the code is located e.g. inside a function, or a constructor, etc. + The line number to use when throwing an exception. + The source path to use when throwing an exception. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents a 'super' reference. + + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Indicates whether this 'super' keyword is in a valid context. + + + + + Checks the expression is valid and throws a SyntaxErrorException if not. + Called after the expression tree is fully built out. + + Indicates where the code is located e.g. inside a function, or a constructor, etc. + The line number to use when throwing an exception. + The source path to use when throwing an exception. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents a template literal expression, with substitutions. + Code gen treats template literals with no substitutions just like string literals. + + + + + Creates a new instance of TemplateLiteralExpression. + + The literal string parts of the template. For example `1${2}3` + has the string literal parts "1" and "3". + The substitution expressions in the template. For example + `1${2}3` has the substitution expression "2". + The literal string parts of the template, prior to performing + escape sequence processing. + + + + The literal string parts of the template. For example `1${2}3` has the string literal + parts "1" and "3". + + + + + The substitution expressions in the template. For example `1${2}3` has the + substitution expression "2". + + + + + The literal string parts of the template, prior to performing escape sequence + processing. + + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Represents a ternary operator expression. + + + + + Creates a new instance of TernaryExpression. + + The ternary operator to base this expression on. + + + + Evaluates the expression, if possible. + + The result of evaluating the expression, or null if the expression can + not be evaluated. + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Represents a reference to the "this" value. + + + + + Creates a new ThisExpression instance. + + + + + Gets the type that results from evaluating this expression. + + + + + Gets the static type of the reference. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents a unary operator expression. + + + + + Creates a new instance of UnaryExpression. + + The unary operator to base this expression on. + + + + Gets the expression on the left or right side of the unary operator. + + + + + Evaluates the expression, if possible. + + The result of evaluating the expression, or null if the expression can + not be evaluated. + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates CIL for the typeof expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates CIL for the delete expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Represents punctuation or an operator in the source code. + + + + + Creates a new IdentifierToken instance. + + The identifier name. + + + + Gets the name of the identifier. + + + + + Gets a string that represents the token in a parseable form. + + + + + Creates a new identifier token. + + The name of the identifer. + A new IdentifierToken instance. + + + + Represents a reserved word in the source code. + + + + + Creates a new KeywordToken instance. + + The keyword name. + + + + Gets the name of the identifier. + + + + + Creates a token from the given string. + + The text. + The script engine compatibility mode. + true if the lexer is operating in strict mode; + false otherwise. + The token corresponding to the given string, or null if the string + does not represent a valid token. + + + + Initializes a lookup table by combining the base list with a second list of keywords. + + A list of additional keywords. + A lookup table. + + + + Gets a string that represents the token in a parseable form. + + + + + Represents the current expression state of the parser. + + + + + Indicates the context is not known. The lexer will guess. + + + + + Indicates the next token can be a literal. + + + + + Indicates the next token can be an operator. + + + + + Indicates the next token is the continuation of a template literal. + + + + + Converts a JavaScript source file into a series of tokens. + + + + + Creates a Lexer instance with the given source of text. + + The source of javascript code. + + + + Cleans up any resources used by the lexer. + + + + + Gets the reader that was supplied to the constructor. + + + + + Gets the line number of the next token. + + + + + Gets the column number of the start of the next token. + + + + + Gets or sets a callback that interrogates the parser to determine whether a literal or + an operator is valid as the next token. This is only required to disambiguate the + slash symbol (/) which can be a division operator or a regular expression literal. + + + + + Gets or sets a value that indicates whether the lexer should operate in strict mode. + + + + + Gets or sets a value that indicates what compatibility mode to use. + + + + + Gets or sets a string builder that will be appended with characters as they are read + from the input stream. + + + + + Reads the next character from the input stream. + + The character that was read, or -1 if the end of the input stream has + been reached. + + + + Reads the next token from the reader. + + A token, or null if there are no more tokens. + + + + Reads an identifier token. + + The first character of the identifier. + An identifier token, literal token or a keyword token. + + + + Reads a punctuation token. + + The first character of the punctuation token. + A punctuation token. + + + + Creates a TextReader that calls ReadNextChar(). + + + + + Reads a numeric literal token. + + The first character of the token. + A numeric literal token. + + + + Reads an integer value. + + The initial value, derived from the first character. + The number of digits that were read from the stream. + The numeric value, or double.NaN if no number was present. + + + + Reads a string literal. + + The first character of the string literal. + A string literal. + + + + Reads a hexidecimal number with the given number of digits and turns it into a character. + + The character corresponding to the escape sequence, or the content that was read + from the input if a valid hex number was not read. + + + + Reads an octal number turns it into a single-byte character. + + The first character delimiting the string literal. + The value of the first digit. + The character corresponding to the escape sequence. + + + + Reads an extended unicode escape sequence in the form "\u{20BB7}". + + The character or characters corresponding to the escape sequence. + + + + Reads past a single line comment. + + Always returns null. + + + + Reads past a multi-line comment. + + A line terminator token if the multi-line comment contains a newline character; + otherwise returns null. + + + + Reads past whitespace. + + Always returns null. + + + + Reads a line terminator (a newline). + + The first character of the line terminator. + A newline token. + + + + Reads a divide operator ('/' or '/='), a comment ('//' or '/*'), or a regular expression + literal. + + A punctuator token or a regular expression token. + + + + Reads a regular expression literal. + + A regular expression token. + + + + Determines if the given character is whitespace. + + The character to test. + true if the character is whitespace; false otherwise. + + + + Determines if the given character is a line terminator. + + The character to test. + true if the character is a line terminator; false otherwise. + + + + Determines if the given character is valid as the first character of an identifier. + + The character to test. + true if the character is is valid as the first character of an identifier; + false otherwise. + + + + Determines if the given character is valid as a character of an identifier. + + The character to test. + true if the character is is valid as a character of an identifier; + false otherwise. + + + + Determines if the given character is valid as the first character of a punctuator. + + The character to test. + true if the character is is valid as the first character of an punctuator; + false otherwise. + + + + Determines if the given character is valid as the first character of a numeric literal. + + The character to test. + true if the character is is valid as the first character of a numeric + literal; false otherwise. + + + + Determines if the given character is valid as the first character of a string literal. + + The character to test. + true if the character is is valid as the first character of a string + literal; false otherwise. + + + + Determines if the given character is valid in a hexidecimal number. + + The character to test. + true if the given character is valid in a hexidecimal number; false + otherwise. + + + + Represents a string, number, boolean or null literal in the source code. + + + + + Creates a new LiteralToken instance with the given value. + + + + + + The value of the literal. + + + + + Gets a value that indicates whether the literal is a keyword. Literal keywords are + false, true and null. + + + + + Gets a string that represents the token in a parseable form. + + + + + Converts this token into a property name. + + + + + + Represents punctuation or an operator in the source code. + + + + + Creates a new PunctuatorToken instance. + + The punctuator text. + + + + Creates a punctuator token from the given string. + + The punctuator text. + The punctuator corresponding to the given string, or null if the string + does not represent a valid punctuator. + + + + Gets a string that represents the token in a parseable form. + + + + + Represents a lightweight representation of a regular expression literal. + + + + + Creates a new regular expression literal. + + The unescaped regular expression pattern. + The regular expression flags. + + + + Gets the regular expression pattern. + + + + + Gets a string that contains the flags. + + + + + Determines whether the specified Object is equal to the current Object. + + The Object to compare with the current Object. + true if the specified Object is equal to the current Object; + otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current Object. + + + + Returns a String that represents the current Object. + + A String that represents the current Object. + + + + Represents a string literal. + + + + + Gets the number of character escape sequences encounted while parsing the string + literal. + + + + + Gets the number of line continuations encounted while parsing the string literal. + + + + + Gets the contents of the string literal. + + + + + Represents the text content of a template literal. + + Example 1: `plain text` + 1. TemplateLiteralToken (Value = "plain text") + + Example 2: `${count}` + 1. TemplateLiteralToken (Value = "") + 2. IdentifierToken (Name = "count") + 3. PunctuatorToken (Text = "}") + 4. TemplateLiteralToken (Value = "") + + Example 3: `Bought ${count} items from ${person}!` + 1. TemplateLiteralToken (Value = "Bought ") + 2. IdentifierToken (Name = "count") + 3. PunctuatorToken (Text = "}") + 4. TemplateLiteralToken (Value = " items from ") + 5. IdentifierToken (Name = "person") + 6. PunctuatorToken (Text = "}") + 7. TemplateLiteralToken (Value = "!") + + + + + Creates a new TemplateLiteralToken instance. + + The literal text. + The contents of the template literal, without any escaping. + Indicates whether a substitution follows this + string. + + + + Indicates whether a substitution follows this string. For example, this is true for + the "hello" in `hello${1}world`, but not the "world". + + + + + The raw text, prior to performing any escape sequence processing. + + + + + Gets the contents of the template string literal. + + + + + Represents the base class of all tokens. + + + + + Gets a string that represents the token in a parseable form. + + + + + Converts the token to the string suitable for embedding in an error message. + + The token to convert. Can be null. + A string suitable for embedding in an error message. + + + + Converts the token to a string representation. + + A textual representation of the object. + + + + Represents whitespace or a line terminator. + + + + + Creates a new WhiteSpaceToken instance. + + The number of line terminators encountered while + reading the whitespace. + + + + Gets a count of the number of line terminators. + + + + + Gets a string that represents the token in a parseable form. + + + + + Represents a context that code can be run in. + + + + + The default context. + + + + + The context inside function bodies. + + + + + The context inside the eval() function. + + + + + Represents a set of options that influence the compiler. + + + + + Creates a new CompilerOptions instance. + + + + + Gets or sets a value that indicates whether to force ES5 strict mode, even if the code + does not contain a strict mode directive ("use strict"). The default is false. + + + + + Gets or sets a value that indicates what compatibility mode to use. + + + + + Gets or sets a value that indicates whether to disassemble any generated IL and store it + in the associated function. + + + + + Performs a shallow clone of this instance. + + A shallow clone of this instance. + + + + Represents how the function was defined. + + + + + The function was declared as a statement. + + + + + The function was declared as an expression. + + + + + Represents the declaration of a function parameter. + + + + + The name of the parameter. + + + + + The value of the parameter, if no value was passed to the function (can be null). + + + + + Returns the textual representation of this object. + + + + + + Represents the information needed to compile a function. + + + + + Creates a new FunctionMethodGenerator instance. + + The name of the function (can be computed at runtime). + Indicates how the function was declared. + The names and default values of the arguments. + The source code of the function. + The root of the abstract syntax tree for the body of the function. + The scope that contains the function name and arguments. + The URL or file system path that the script was sourced from. + The extent of the function in the source code. + Options that influence the compiler. + + + + Dummy implementation of ScriptSource. + + + + + Creates a new FunctionContext instance. + + The name of the function. + A comma-separated list of arguments. + The source code for the body of the function. + Options that influence the compiler. + + + + An expression that evaluates to the name of the function. For getters and setters, + this does not include the "get" or "set". + + + + + Indicates how the function was declared. + + + + + Gets a comma-separated list of arguments. + + + + + Gets a list of argument names and default values. + + + + + Gets the root of the abstract syntax tree for the body of the function. + + + + + Gets the source code for the body of the function. + + + + + Gets a name for the generated method. + + A name for the generated method. + + + + Gets a name for the function, as it appears in the stack trace. + + A name for the function, as it appears in the stack trace, or null if + this generator is generating code in the global scope. + + + + Gets an array of types - one for each parameter accepted by the method generated by + this context. + + An array of parameter types. + + + + Gets an array of names - one for each parameter accepted by the method being generated. + + An array of parameter names. + + + + Checks whether the function is valid (in strict mode the function cannot be named + 'arguments' or 'eval' and the argument names cannot be duplicated). + + The line number in the source file. + The path or URL of the source file. Can be null. + + + + Parses the source text into an abstract syntax tree. + + The root node of the abstract syntax tree. + + + + Represents a delegate that is used for user-defined functions. For internal use only. + + The script engine, this value and other state needed to run the + function. + The arguments that were passed to the function. + The result of calling the method. + + + + Retrieves a delegate for the generated method. + + The delegate type that matches the method parameters. + + + + Generates IL for the script. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts this object to a string. + + A string representing this object. + + + + Represents a generated method and it's dependencies. + + + + + Creates a new GeneratedMethod instance. + + A delegate that refers to the generated method. + A list of dependent generated methods. Can be null. + + + + Gets a delegate which refers to the generated method. + + + + + Gets a list of dependent generated methods. + + + + + Gets or sets the disassembled IL code for the method. + + + + + Retrieves the code for a generated method, given the ID. For internal use only. + + The ID of the generated method. + A GeneratedMethodInfo instance. + + + + Saves the given generated method and returns an ID. For internal use only. + + The generated method to save. + The ID that was associated with the generated method. + + + + Represents the information needed to compile global or eval script into a method. + + + + + Creates a new EvalMethodGenerator instance. + + The script code to execute. + Options that influence the compiler. + + + + + + + + + + Gets a name for the generated method. + + A name for the generated method. + + + + Represents a delegate that is used for global code. For internal use only. + + The script engine, scope and 'this' value. + The result of calling the method. + + + + Retrieves a delegate for the generated method. + + The delegate type that matches the method parameters. + + + + Parses the source text into an abstract syntax tree. + + + + + Generates IL for the script. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Executes the script. + + The script engine to use to execute the script. + The scope of the calling code. + The value of the "this" keyword in the calling code. + The result of evaluating the script. + + + + Represents the unit of compilation. + + + + + Creates a new MethodGenerator instance. + + The source of javascript code. + Options that influence the compiler. + + + + Gets a reference to any compiler options. + + + + + Gets the source of javascript code. + + + + + Gets a value that indicates whether strict mode is enabled. + + + + + Gets the root node of the abstract syntax tree. This will be null until Parse() + is called. + + + + + Gets the top-level scope. This will be null until Parse() is called. + + + + + Gets or sets optimization information. + + + + + Gets the generated IL. This will be null until GenerateCode() is + called. + + + + + Gets a delegate to the emitted dynamic method, plus any dependencies. This will be + null until GenerateCode() is called. + + + + + Gets a name for the generated method. + + A name for the generated method. + + + + Gets a name for the function, as it appears in the stack trace. + + A name for the function, as it appears in the stack trace, or null if + this generator is generating code in the global scope. + + + + Gets an array of types - one for each parameter accepted by the method generated by + this context. + + An array of parameter types. + + + + Gets an array of names - one for each parameter accepted by the method being generated. + + An array of parameter names. + + + + Retrieves a delegate for the generated method. + + The delegate type that matches the method parameters. + + + + Parses the source text into an abstract syntax tree. + + + + + Optimizes the abstract syntax tree. + + + + + Generates IL for the script. + + + + + Generates IL for the script. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Represents the base class of expressions and statements. + + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Determines if this node or any of this node's children are of the given type. + + The type of AstNode to search for. + true if this node or any of this node's children are of the given + type; false otherwise. + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Indicates that multiple operators of this type are grouped left-to-right. + + + + + Indicates that multiple operators of this type are grouped right-to-left. + + + + + Indicates that a value is consumed to the left of the primary token. + + + + + Indicates that a value is consumed to the right of the primary token. + + + + + Indicates that values to the left and right of the primary token are consumed. + + + + + Indicates that a value is consumed to the right of the secondary token. + + + + + Indicates that three values are consumed. + + + + + Indicates the inner operand is optional. Only used with the function call operator. + + + + + Represents the type of operator. + + + + + Represents a JavaScript operator. + + + + + Creates a new operator instance. + + The token that corresponds to this operator. If the operator consists + of multiple tokens (e.g. ?:) then this is the first token in the sequence. + An integer that indicates the order of evaluation. Higher + precedence operators are evaluated first. + A value that indicates where operands are allowed. + Gets a value that indicates whether multiple operators of this + type are grouped left-to-right or right-to-left. + The type of operator: this decides what algorithm to use to calculate the result. + The second token in the sequence. + The precedence for the secondary or tertiary operand. + + + + Gets the type of operator: this decides what algorithm to use to calculate the result. + + + + + Gets the token that corresponds to this operator. If the operator consists of multiple + tokens (e.g. ?:) then this is the first token in the sequence. + + + + + For a multi-token operator, gets the second token in the sequence. + + + + + Gets an integer that indicates the order of evaluation. Higher precedence operators are + evaluated first. + + + + + Gets an integer that indicates the order of evaluation for the secondary operand. + Higher precedence operators are evaluated first. + + + + + Gets an integer that indicates the order of evaluation for the tertiary operand. + Higher precedence operators are evaluated first. + + + + + Gets a value that indicates whether multiple operators of this type are grouped + left-to-right or right-to-left. + + + + + Gets a value that indicates whether a value is consumed to the left of the primary token. + + + + + Gets a value that indicates whether a value is consumed to the right of the primary token. + + + + + Gets a value that indicates whether a value is consumed to the right of the secondary token. + Must be false if there is no secondary token. + + + + + Gets a value that indicates the inner operand is optional. Only used with the function + call operator. + + + + + Gets the maximum number of operands required by this operator. + + + + + Determines if the given number of operands is valid for this operator. + + The number of operands. + true if the given number of operands is valid for this operator; + false otherwise. + + + + Gets an enumerable collection of every defined operator. + + + + + Converts a series of tokens into an abstract syntax tree. + + + + + Creates a Parser instance with the given lexer supplying the tokens. + + The lexical analyser that provides the tokens. + Options that influence the compiler. + The context of the code (global, function or eval). + Hints about whether optimization is possible. + + + + Creates a parser that can read the body of a function. + + The parser for the parent context. + The function scope. + Hints about whether optimization is possible. + Indicates the parsing context. + A new parser. + + + + Gets the line number of the next token. + + + + + Gets the position just after the last character of the previously consumed token. + + + + + Gets the position of the first character of the next token. + + + + + Gets the path or URL of the source file. Can be null. + + + + + Gets or sets a value that indicates whether the parser is operating in strict mode. + + + + + The top-level scope. + + + + + Gets optimization information about the code that was parsed (Parse() must be called + first). + + + + + Indicates whether we are parsing in a function context (including constructors and class functions). + + + + + Throws an exception if the variable name is invalid. + + The name of the variable to check. + + + + Discards the current token and reads the next one. + + Indicates whether the next token can be a literal or an + operator. + + + + Indicates that the next token is identical to the given one. Throws an exception if + this is not the case. Consumes the token. + + The expected token. + + + + Indicates that the next token should be an identifier. Throws an exception if this is + not the case. Consumes the token. + + The identifier name. + + + + Returns a value that indicates whether the current position is a valid position to end + a statement. + + true if the current position is a valid position to end a statement; + false otherwise. + + + + Indicates that the next token should end the current statement. This implies that the + next token is a semicolon, right brace or a line terminator. + + + + + Sets the initial scope. + + The initial scope + + + + Helper class to help manage scopes. + + + + + Sets the current scope and returns an object which can be disposed to restore the + previous scope. + + The new scope. + An object which can be disposed to restore the previous scope. + + + + Parses javascript source code. + + An expression that can be executed to run the program represented by the + source code. + + + + Parses any statement other than a function declaration. + + true if the statement is being added to an + existing block statement, false if the statement represents a new block. + An expression that represents the statement. + + + + Parses any statement other than a function declaration, without beginning a new + statement context. + + An expression that represents the statement. + + + + Parses a block of statements. + + A BlockStatement containing the statements. + The value of a block statement is the value of the last statement in the block, + or undefined if there are no statements in the block. + + + + Parses a var, let or const statement. + + Indicates which type of statement is being parsed. Must be var, + let or const. + Indicates whether the keyword token needs to be consumed. + Indicates whether we are parsing the initial declaration + inside a for() statement. + A variable declaration statement. + + + + Parses an empty statement. + + An empty statement. + + + + Parses an if statement. + + An expression representing the if statement. + + + + Parses a do statement. + + An expression representing the do statement. + + + + Parses a while statement. + + A while statement. + + + + When parsing a for statement, used to keep track of what type it is. + + + + + Parses a for statement, for-in statement, or a for-of statement. + + A for statement, for-in statement, or a for-of statement. + + + + Parses a continue statement. + + A continue statement. + + + + Parses a break statement. + + A break statement. + + + + Parses a return statement. + + A return statement. + + + + Parses a with statement. + + An expression representing the with statement. + + + + Parses a switch statement. + + A switch statement. + + + + Parses a throw statement. + + A throw statement. + + + + Parses a try statement. + + A try-catch-finally statement. + + + + Parses a debugger statement. + + A debugger statement. + + + + Parses a function declaration. + + A statement representing the function. + + + + Parses a function declaration or a function expression. + + The type of function to parse. + The parent scope for the function. + The name of the function (can be computed at runtime). + The position of the start of the function. + Indicates the parsing context. + A function expression. + + + + Parses a comma-separated list of function arguments. + + The token that ends parsing. + A list of parsed arguments. + + + + Parses a statement consisting of an expression or starting with a label. These two + cases are disambiguated here. + + A statement. + + + + Represents a key by which to look up an operator. + + + + + Gets or sets a mapping from token -> operator. There can be at most two operators per + token (the prefix version and the infix/postfix version). + + + + + Initializes the token -> operator mapping dictionary. + + The token -> operator mapping dictionary. + + + + Finds a operator given a token and an indication whether the prefix or infix/postfix + version is desired. + + The token to search for. + true if the infix/postfix version of the operator + is desired; false otherwise. + An Operator instance, or null if the operator could not be found. + + + + Parses a javascript expression. + + One or more tokens that indicate the end of the expression. + An expression tree that represents the expression. + + + + Parses an array literal (e.g. "[1, 2]"). + + A literal expression that represents the array literal. + + + + Parses an object literal (e.g. "{a: 5}"). + + A literal expression that represents the object literal. + + + + Reads a property name, as used in object literals and class bodies. + + + Details on the property name. + + + + Parses a function expression. + + A function expression. + + + + Parses a template literal (e.g. `Bought ${count} items`). + + An expression that represents the template literal. + + + + Parses a class declaration. + + A statement representing the class. + + + + Parses a class expression. + + A class expression. + + + + Parses the body of a class declaration or a class expression. + + The name of the class (can be empty). + The base class, or null if this class doesn't inherit + from another class. + The position of the start of the function. + A class expression. + + + + Represents a single property of an object literal or a member of a class body. + + + + + Creates a new PropertyDeclaration instance. + + The property name. + The property value. + + + + The member name. Can be static or computed e.g. ['fu' + 'nc']() { }. + + + + + The value of the member. + + + + + Represents the valid prefixes that can appear before a property name. + + + + + Represents the name of a property (member), which can be + + + + + Creates a property name instance with a statically-known name. + + The statically-known name. + + + + Creates a property name instance with a name that will be computed at runtime. + + The expression that will compute the name. + + + + Indicates the property was preceeded by 'get', making this property a getter. + + + + + Indicates the property was preceeded by 'set', making this property a setter. + + + + + Indicates the property was preceeded by 'static', making this a static function + (applies to classes, not object literals). + + + + + Indicates whether the name is statically known. + + + + + If HasStaticName is true, contains the name of the property. + + + + + If HasStaticName is false, contains an expression which computes the name of the + property. + + + + + Modifies this name to include the given flags. + + The flags to add. + A new property name instance with the existing flags and the provided flags. + + + + Represents an enclosing context where variables are uniquely defined. + + + + + Represents a variable declared in a scope. + + + + + + + + + + + + Creates a new declarative scope for use inside a function body (and within function + argument default values). + + The name of the function. Can be empty for an anonymous function. + The names of each of the function arguments. Can be null. + A new DeclarativeScope instance. + + + + + + + + + + + Creates a new object scope for use inside a with statement. + + A reference to the parent scope. Can not be null. + A new ObjectScope instance. + + + + Creates a new Scope instance. + + A reference to the parent scope, or null if this is + the global scope. + The number of variables declared in this scope. + + + + + + + + + Gets a reference to the parent scope. Can be null if this is the global scope. + + + + + Gets the number of variables declared in this scope. + + + + + After GenerateScopeCreation is called, gets a variable containing the RuntimeScope + instance. Can be null if this scope contains no variables. + + + + + Indicates whether + was called. + + + + + Gets an enumerable list of the declared variables, in no particular order. + + + + + Gets a reference to the variable with the given name, in this scope or any parent + scope. + + The name of the variable to find. + The variable details, or null if the variable doesn't exist in the + scope. + + + + Returns true if the given variable has been declared in this scope. + + The name of the variable. + true if the given variable has been declared in this scope; + false otherwise. + + + + Declares a variable or function in this scope. This will be initialized with the value + of the given expression. + + The keyword that was used to declare the variable (var, let or + const). + The name of the variable. + The function value to hoist to the top of the scope. + Should be null for everything except function declarations. + A reference to the variable that was declared. + + + + Generates code that creates a new scope. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates code that pushes a RuntimeScope instance to the top of the stack. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates code that initializes the variable and function declarations. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Represents different types of scopes. + + + + + The top-level global scope. + + + + + A scope associated with a 'with' statement. + + + + + The top-level scope in a function. + + + + + + + + + + The scope for a non-strict mode eval() function call. + + + + + The scope for a strict mode eval() function call. + + + + + Represents a javascript block statement. + + + + + Creates a new BlockStatement instance. + + The labels that are associated with this statement. + The lexical scope associated with this block statement. + + + + Gets a list of the statements in the block. + + + + + The lexical scope associated with this block statement. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a break statement. + + + + + Creates a new BreakStatement instance. + + The labels that are associated with this statement. + + + + Gets or sets the name of the label that identifies the block to break out of. Can be + null. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a continue statement. + + + + + Creates a new ContinueStatement instance. + + The labels that are associated with this statement. + + + + Gets or sets the name of the label that identifies the loop to continue. Can be + null. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents the debugger statement. + + + + + Creates a new DebuggerStatement instance. + + The labels that are associated with this statement. + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a javascript do-while statement. + + + + + Creates a new DoWhileStatement instance. + + The labels that are associated with this statement. + + + + Gets a value that indicates whether the condition should be checked at the end of the + loop. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents an empty statement. + + + + + Creates a new EmptyStatement instance. + + The labels that are associated with this statement. + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a javascript expression statement. + + + + + Creates a new ExpressionStatement instance. By default, this expression does not + contribute to the result of an eval(). + + The underlying expression. + + + + Creates a new ExpressionStatement instance. By default, this expression does + contribute to the result of an eval(). + + The labels that are associated with this statement. + The underlying expression. + + + + Gets or sets the underlying expression. + + + + + Gets or sets a value that indicates whether the result of this statement should be + returned from an eval() call. Does not have any effect if the context is not an + EvalContext. Defaults to false. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a javascript for-in statement. + + + + + Creates a new ForInStatement instance. + + The labels that are associated with this statement. + + + + The scope that encompasses the entire loop statement. + + + + + Gets or sets a reference to mutate on each iteration of the loop. + + + + + Gets or sets the portion of source code associated with the variable. + + + + + Gets or sets an expression that evaluates to the object to enumerate. + + + + + Gets or sets the portion of source code associated with the target object. + + + + + Gets or sets the loop body. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a javascript for-of statement. + + + + + Creates a new ForOfStatement instance. + + The labels that are associated with this statement. + + + + The scope that encompasses the entire loop statement. + + + + + Gets or sets a reference to mutate on each iteration of the loop. + + + + + Gets or sets the portion of source code associated with the variable. + + + + + Gets or sets an expression that evaluates to the object to enumerate. + + + + + Gets or sets the portion of source code associated with the target object. + + + + + Gets or sets the loop body. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a javascript for statement (for-in is a separate statement). + + + + + Creates a new ForStatement instance. + + The labels that are associated with this statement. + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents an if statement. + + + + + Creates a new IfStatement instance. + + The labels that are associated with this statement. + + + + Gets or sets the condition that determines which path the code should proceed. + + + + + Gets or sets the statement that is executed if the condition is true. + + + + + Gets or sets the statement that is executed if the condition is false. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a javascript loop statement (for, for-in, while and do-while). + + + + + Creates a new LoopStatement instance. + + The labels that are associated with this statement. + + + + The scope that encompasses the entire loop statement. Only needed if there is a + declaration statement in the loop header, which means it only applies to for + statements. + + + + + Gets or sets the statement that initializes the loop variable. + + + + + Gets the var statement that initializes the loop variable. + + + + + Gets the expression that initializes the loop variable. + + + + + Gets or sets the statement that checks whether the loop should terminate. + + + + + Gets the expression that checks whether the loop should terminate. + + + + + Gets or sets the statement that increments (or decrements) the loop variable. + + + + + Gets the expression that increments (or decrements) the loop variable. + + + + + Gets or sets the loop body. + + + + + Gets a value that indicates whether the condition should be checked at the end of the + loop. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Represents a return statement. + + + + + Creates a new ReturnStatement instance. + + The labels that are associated with this statement. + + + + Gets or sets the expression to return. Can be null to return "undefined". + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a javascript statement. + + + + + Creates a new Statement instance. + + The labels that are associated with this statement. + + + + Returns a value that indicates whether the statement has one or more labels attached to + it. + + + + + Gets or sets the labels associated with this statement. + + + + + Gets or sets the portion of source code associated with this statement. For + single-line statements this encompasses the whole statement but for multi-line (block) + statements it only encompasses part of the statement. + + + + + Locals needed by GenerateStartOfStatement() and GenerateEndOfStatement(). + + + + + Gets or sets a value that indicates whether the break statement will be handled + specially by the calling code - this means that GenerateStartOfStatement() and + GenerateEndOfStatement() do not have to generate code to handle the break + statement. + + + + + Gets or sets a value that indicates whether the debugging information will be + handled specially by the calling code - this means that GenerateStartOfStatement() + and GenerateEndOfStatement() do not have to set this information. + + + + + Gets or sets a label marking the end of the statement. + + + + + Generates CIL for the start of every statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + Variables common to both GenerateStartOfStatement() and GenerateEndOfStatement(). + + + + Generates CIL for the end of every statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + Variables common to both GenerateStartOfStatement() and GenerateEndOfStatement(). + + + + Converts the statement to a string. + + A string representing this statement. + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a javascript switch statement. + + + + + Creates a new SwitchStatement instance. + + The labels that are associated with this statement. + + + + Gets or sets an expression that represents the value to switch on. + + + + + Gets a list of case clauses (including the default clause). + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a single case statement inside a switch statement. + + + + + Gets or sets an expression that must match the switch value for the case to execute. + A value of null indicates this is the default clause. + + + + + Gets a list of the statement(s) in the body of the case statement. + + + + + Represents a throw statement. + + + + + Creates a new ThrowStatement instance. + + The labels that are associated with this statement. + + + + Gets or sets an expression which evaluates to the value to throw. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a try-catch-finally statement. + + + + + Creates a new TryCatchFinallyStatement instance. + + + + + Gets or sets the statement(s) inside the try block. + + + + + Gets or sets the statement(s) inside the catch block. Can be null. + + + + + Gets or sets the name of the variable to receive the exception. Can be null if + CatchStatement is also null or if the catch variable binding was omitted. + + + + + Gets or sets the statement(s) inside the finally block. Can be null. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a javascript var, let or const statement. + + + + + Creates a new VarStatement instance. + + The labels that are associated with this statement. + The scope the variables are defined within. + + + + Gets the scope the variables are defined within. + + + + + Indicates whether this is a 'var', 'let' or 'const' declaration. + + + + + Gets a list of variable declarations. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a variable declaration. + + + + + Gets the type of declaration. + + + + + Gets the name of the variable that is being declared. + + + + + Gets or sets the initial value of the variable. Can be null. + + + + + Gets or sets the portion of source code associated with the declaration. + + + + + Represents a javascript while statement. + + + + + Creates a new WhileStatement instance. + + The labels that are associated with this statement. + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a javascript with statement. + + + + + Creates a new WithStatement instance. + + The labels that are associated with this statement. + + + + The Scope associated with the with body. This is special as "var a" weirdly refers to + the scope object, if a property named "a" exists. + + + + + Gets or sets the body of the with statement. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a non-runtime compiler error. + + + + + Creates a new syntax error exception. + + A description of the error. + The line number in the source file the error occurred on. + The path or URL of the source file. Can be null. + + + + Creates a new syntax error exception. + + A description of the error. + The line number in the source file the error occurred on. + The path or URL of the source file. Can be null. + The name of the function. Can be null. + + + + Gets the line number in the source file the error occurred on. Can be 0 if no + line number information is available. + + + + + Gets the path or URL of the source file. Can be null if no source information + is available. + + + + + Gets the name of the function where the exception occurred. Can be null if no + source information is available. + + + + + Represents an arbitrarily large signed integer. + + + + + Initializes a new instance of the BigInteger structure using a 32-bit signed integer + value. + + A 32-bit signed integer. + + + + Initializes a new instance of the BigInteger structure using a 64-bit signed integer + value. + + A 64-bit signed integer. + + + + Gets a value that represents the number zero (0). + + + + + Gets a value that represents the number one (1). + + + + + Gets a number that indicates the sign (negative, positive or zero) of the current + BigInteger object. + + + + + Adds two BigInteger values and returns the result. + + The first value to add. + The second value to add. + The sum of and . + + + + Returns the product of two BigInteger values. + + The first number to multiply. + The second number to multiply. + The product of the and + parameters. + + + + Subtracts one BigInteger value from another and returns the result. + + The value to subtract from. + The value to subtract. + The result of subtracting from + . + + + + Shifts a BigInteger value a specified number of bits to the left. + + The value whose bits are to be shifted. + The number of bits to shift to the left. + Can be negative to shift to the right. + A value that has been shifted to the left by the specified number of bits. + + + + Shifts a BigInteger value a specified number of bits to the right. + + The value whose bits are to be shifted. + The number of bits to shift to the right. + A value that has been shifted to the right by the specified number of bits. + Can be negative to shift to the left. + Note: unlike System.Numerics.BigInteger, negative numbers are treated + identically to positive numbers. + + + + Multiply by m and add a. + + + + + + + + + Computes b x 5 ^ k. + + + + + + + + Returns -1 if a < b, 0 if they are the same, or 1 if a > b. + + + + + + + + Negates a specified BigInteger value. + + The value to negate. + The result of the parameter multiplied by negative + one (-1). + + + + Modifies the given values so they are suitable for passing to Quorem. + + The number that will be divided. + The number to divide by. + + + + Modifies the given values so they are suitable for passing to Quorem. + + The number that will be divided. + The number to divide by. + Another value involved in the division. + + + + Calculates the integer result of dividing by + then sets to the remainder. + + The number that will be divided. + The number to divide by. + The integer that results from dividing by + . + + + + Decrements the current value of the BigInteger object. + + + + + Equivalent to BigInteger.Pow but with integer arguments. + + The number to be raised to a power. + The number that specifies the power. + The number raised to the power + . + + + + Gets the absolute value of a BigInteger object. + + A number. + The absolute value of . + + + + Returns the logarithm of a specified number in a specified base. + + A number whose logarithm is to be found. + The base of the logarithm. + The base logarithm of . + + + + Returns a value that indicates whether the current instance and a specified BigInteger + object have the same value. + + The object to compare. + true if this BigInteger object and have the + same value; otherwise, false. + + + + Returns the hash code for the current BigInteger object. + + A 32-bit signed integer hash code. + + + + Converts the string representation of a number to its BigInteger equivalent. + + A string that contains the number to convert. + A value that is equivalent to the number specified in the + parameter. + + + + Converts the numeric value of the current BigInteger object to its equivalent string + representation. + + The string representation of the current BigInteger value. + + + + Returns a new instance BigInteger structure from a 64-bit double precision floating + point value. + + A 64-bit double precision floating point value. + The corresponding BigInteger value. + + + + Returns a double that corresponds to the BigInteger value. + + A double that corresponds to the BigInteger value. + + + + Returns the number of leading zero bits in the given 32-bit integer. + + A 32-bit integer. + The number of leading zero bits in the given 32-bit integer. Returns + 32 if is zero. + + + + Used to indicate that the script engine should run in compatibility mode. + + + + + Indicates that the script engine should run in the most standards compliant mode. + + + + + Indicates that the script engine should conform to the ECMAScript 3 specification. + This has the following effects: + 1. "this" is converted to an object at the call site of function calls. + 2. parseInt() parses octal numbers without requiring an explicit radix. + 3. NaN, undefined and Infinity can be modified. + 4. The list of keywords is much longer (for example, 'abstract' is a keyword). + + + + + Represents the result of compiling a script. + + + + + Compiles source code into a quickly executed form, using the given compiler options. + + The javascript source code to execute. + Compiler options, or null to use the default options. + A CompiledScript instance, which can be executed as many times as needed. + is a null reference. + + + + Gets the body of the generated method in the form of disassembled IL code. Will be + null unless was set to + true. + + + + + Executes the compiled eval code. + + The script engine to use to execute the script. + The result of the eval. + is a null reference. + + + + Represents the result of compiling a script. + + + + + Compiles source code into a quickly executed form, using the given compiler options. + + The javascript source code to execute. + Compiler options, or null to use the default options. + A CompiledScript instance, which can be executed as many times as needed. + is a null reference. + + + + Gets the body of the generated method in the form of disassembled IL code. Will be + null unless was set to + true. + + + + + Executes the compiled script. + + The script engine to use to execute the script. + is a null reference. + + + + Represents a string that supports efficient concatenation. This class is used instead of + when two strings are concatenated together using the addition + operator (+) or the concat() function. Use of this class avoids the creation of useless + intermediary strings and by doing so speeds up string concatenation dramatically + (this change improved sunspider/string-validate-input.js by almost 20x). + + + + + Creates a new ConcatenatedString instance from the given string. + + The initial contents of the concatenated string. + + + + Creates a new ConcatenatedString instance by concatenating the given strings. + + The left-most string to concatenate. + The right-most string to concatenate. + + + + Creates a new ConcatenatedString instance by concatenating the given strings. + + The strings to concatenate to form the initial value for this + object. The array must not be altered after passing it to this constructor. + + + + Gets the length, in characters, of the ConcatenatedString object. + + + + + Returns a new ConcatenatedString instance containing the concatenation of this ConcatenatedString + and the given object (converted to a string). + + The object to append to this string. + A new ConcatenatedString instance representing the concatenated string. + + + + Returns a new ConcatenatedString instance containing the concatenation of this ConcatenatedString + and the given string. + + The string to append. + A new ConcatenatedString instance representing the concatenated string. + + + + Returns a new ConcatenatedString instance containing the concatenation of this ConcatenatedString + and the given string. + + The string to append. + A new ConcatenatedString instance representing the concatenated string. + + + + Appends the given object (converted to a string) to the end of this object. + + The object to append. + + + + Appends the given string to the end of this object. + + The string to append. + + + + Appends the given string to the end of this object. + + The string to append. + + + + Returns a string representing the current object. + + A string representing the current object. + + + + Represents a wrapper for javascript error objects. + + + + + Creates a new JavaScriptException instance based on the given object. + + The javascript object that was thrown. + + + + Creates a new JavaScriptException instance based on the given object. + + The javascript object that was thrown. + The line number in the source file the error occurred on. + The path or URL of the source file. Can be null. + The name of the function. Can be null. + + + + Creates a new JavaScriptException instance. + + The type of error, e.g. Error, RangeError, etc. + A description of the error. + + + + Creates a new JavaScriptException instance. + + The type of error, e.g. Error, RangeError, etc. + A description of the error. + The exception that is the cause of the current exception, + or null if no inner exception is specified. + + + + Creates a new JavaScriptException instance. + + The type of error, e.g. Error, RangeError, etc. + A description of the error. + The line number in the source file the error occurred on. + The path or URL of the source file. Can be null. + + + + Creates a new JavaScriptException instance. + + The type of error, e.g. Error, RangeError, etc. + A description of the error. + The line number in the source file the error occurred on. + The path or URL of the source file. Can be null. + The exception that is the cause of the current exception, + or null if no inner exception is specified. + + + + Creates a new JavaScriptException instance. + + The type of error, e.g. Error, RangeError, etc. + A description of the error. + The line number in the source file the error occurred on. + The path or URL of the source file. Can be null. + The name of the function. Can be null. + + + + Gets a reference to the JavaScript Error object. + + + + + Gets the type of error, e.g. ErrorType.TypeError or ErrorType.SyntaxError. + + + + + The error message, excluding the error type. + + + + + Gets the line number in the source file the error occurred on. Can be 0 if no + line number information is available. + + + + + Gets the path or URL of the source file. Can be null if no source information + is available. + + + + + Gets the name of the function where the exception occurred. Can be null if no + source information is available. + + + + + Gets a reference to the script engine associated with this object. Will be null + for statements like "throw 2". + + + + + Returns the error instance associated with this exception. + + The script engine used to create the error object. + A new Error instance. + + + + Represents the JavaScript "null" type and provides the one and only instance of that type. + + + + + Creates a new Null instance. + + + + + Gets the one and only "null" instance. + + + + + Returns a string representing the current object. + + A string representing the current object. + + + + Converts numbers into strings. + + + + + Used to specify the type of number formatting that should be applied. + + + + + Specifies that the shortest number that accurately represents the number should be + displayed. Scientific notation is used if the exponent is less than -6 or greater + than twenty. The precision parameter has no semantic meaning. + + + + + Specifies that a fixed number of significant figures should be displayed (specified + by the precision parameter). If the number cannot be displayed using the given + number of digits, scientific notation is used. + + + + + Specifies that a fixed number of digits should be displayed after the decimal place + (specified by the precision parameter). Scientific notation is used if the + exponent is greater than twenty. + + + + + Specifies that numbers should always be displayed in scientific notation. The + precision parameter specifies the number of figures to display after the decimal + point. + + + + + Converts a number to a string. + + The value to convert to a string. + The base of the number system to convert to. + The type of formatting to apply. + + This value is dependent on the formatting style: + Regular - this value has no meaning. + Precision - the number of significant figures to display. + Fixed - the number of figures to display after the decimal point. + Exponential - the number of figures to display after the decimal point. + + + + + Converts a number to a string. + + The value to convert to a string. + The base of the number system to convert to. + The number format style to use. + The type of formatting to apply. + + This value is dependent on the formatting style: + Regular - this value has no meaning. + Precision - the number of significant figures to display. + Fixed - the number of figures to display after the decimal point. + Exponential - the number of figures to display after the decimal point. + + + + + Calculates the minimum increment that creates a number distinct from the value that was + provided. The error for the number is plus or minus half the result of this method + (note that the number returned by this method may be so small that dividing it by two + produces zero). + + The number to calculate an error value for. + The minimum increment that creates a number distinct from the value that was + provided. + + + + Scales the given double-precision number by multiplying and then shifting it. + + The value to scale. + The multiplier. + The power of two scale factor. + A BigInteger containing the result of multiplying by + and then shifting left by bits. + + + + Counts the number of trailing zero bits in the given 64-bit value. + + The 64-bit value. + The number of trailing zero bits in the given 64-bit value. + + + + Calculates (int)Math.Floor(Math.Log(value, radix)). + + The value to calculate the log for. + 10 for base-10. + The logarithm of the provided value, rounded down to the nearest integer. + + + + Parses strings into numbers. + + + + + Converts a string to a number (used by parseFloat). + + The string to convert. + The result of parsing the string as a number. + + + + Converts a string to a number (used in type coercion). + + The result of parsing the string as a number. + + + + Parses a number and returns the corresponding double-precision value. + + The reader to read characters from. + The first character of the number. Must be 0-9 or a period. + Upon returning, contains the type of error if one occurred. + + + The numeric value, or NaN if the number is invalid. + + + + Converts a string to an integer (used by parseInt). + + The input text to parse. + The numeric base to use for parsing. Pass zero to use base 10 + except when the input string starts with '0' in which case base 16 or base 8 are used + instead. + true if numbers with a leading zero should be parsed + as octal numbers. + The result of parsing the string as a integer. + + + + Parses a hexidecimal number and returns the corresponding double-precision value. + + The reader to read characters from. + The numeric value, or NaN if the number is invalid. + + + + Parses a octal number and returns the corresponding double-precision value. + + The reader to read characters from. + The numeric value, or NaN if the number is invalid. + + + + Parses a binary number and returns the corresponding double-precision value. + + The reader to read characters from. + The numeric value, or NaN if the number is invalid. + + + + Determines if the given character is whitespace or a line terminator. + + The unicode code point for the character. + true if the character is whitespace or a line terminator; false + otherwise. + + + + Modifies the initial estimate until the closest double-precision number to the desired + value is found. + + The initial estimate. Assumed to be very close to the + result. + The power-of-ten scale factor. + The desired value, already scaled using the power-of-ten + scale factor. + The closest double-precision number to the desired value. If there are two + such values, the one with the least significant bit set to zero is returned. + + + + Adds ULPs (units in the last place) to the given double-precision number. + + The value to modify. + The number of ULPs to add. Can be negative. + The modified number. + + + + Scales the given double-precision number by multiplying and then shifting it. + + The value to scale. + The multiplier. + The power of two scale factor. + A BigInteger containing the result of multiplying by + and then shifting left by bits. + + + + Represents the JavaScript script engine. This is the first object that needs to be + instantiated in order to execute javascript code. + + + + + Initializes a new scripting environment. + + + + + Implements the behaviour of the function that is the prototype of the Function object. + + + + + + + + + Gets or sets a value that indicates whether to force ECMAScript 5 strict mode, even if + the code does not contain a strict mode directive ("use strict"). The default is + false. + + + + + Gets or sets a value that indicates whether the script engine should run in + compatibility mode. + + + + + Gets or sets a value that indicates whether to disassemble any generated IL and store it + in the associated function. + + + + + Get or sets a value that indicates the maximum recursion depth of user-defined + functions that is allowed by this script engine. + When a user-defined function exceeds the recursion depth limit, a + will be thrown. + The default value is 0, which allows unlimited recursion. + + + + + Represents a method that transforms a stack frame when formatting the stack trace. + + + + + + Gets or sets a delegate that transforms a stack frame when + formatting the stack trace for . + This can be useful if you are using a source map to map generated lines + to source lines and the stack trace should contain the source line numbers. + + + + + The instance prototype of the Function object (i.e. Function.InstancePrototype). + + + This property solves a circular reference in the initialization, plus it speeds up + initialization. + + + + + The prototype shared by all iterators. + + + + + The prototype of all string iterators. + + + + + The prototype of all map iterators. + + + + + The prototype of all set iterators. + + + + + The prototype of all array iterators. + + + + + Gets the built-in global object. This object is implicitly accessed when creating + global variables and functions. + + + + + Gets the built-in Array object. + + + + + Gets the built-in Boolean object. + + + + + Gets the built-in Date object. + + + + + Gets the built-in Function object. + + + + + Gets the built-in Map object. + + + + + Gets the built-in Math object. + + + + + Gets the built-in Number object. + + + + + Gets the built-in Object object. + + + + + Gets the built-in Promise object. + + + + + Gets the built-in Proxy object. + + + + + Gets the built-in Reflect object. + + + + + Gets the built-in RegExp object. + + + + + Gets the built-in String object. + + + + + Gets the built-in String object. + + + + + Gets the built-in Symbol object. + + + + + Gets the built-in WeakMap object. + + + + + Gets the built-in WeakSet object. + + + + + Gets the built-in Error object. + + + + + Gets the built-in RangeError object. + + + + + Gets the built-in TypeError object. + + + + + Gets the built-in SyntaxError object. + + + + + Gets the built-in URIError object. + + + + + Gets the built-in EvalError object. + + + + + Gets the built-in ReferenceError object. + + + + + Gets the built-in ArrayBuffer object. + + + + + Gets the built-in DataView object. + + + + + Gets the built-in Int8Array object. + + + + + Gets the built-in Uint8Array object. + + + + + Gets the built-in Uint8ClampedArray object. + + + + + Gets the built-in Int16Array object. + + + + + Gets the built-in Uint16Array object. + + + + + Gets the built-in Int32Array object. + + + + + Gets the built-in Uint32Array object. + + + + + Gets the built-in Float32Array object. + + + + + Gets the built-in Float64Array object. + + + + + Gets or sets whether CLR types can be exposed directly to the script engine. If this is set to + false, attempting to instantiate CLR types from script may result in exceptions being + thrown in script. + + + This property is intended to prevent script developers from accessing the entire CLR + type system, for security purposes. When this property is set to false, it should prevent + new instances of CLR types from being exposed to the script engine, even if you have already + exposed CLR types to the script engine. + + + + + Compiles the given source code and returns it in a form that can be executed many + times. + + The javascript source code to execute. + A CompiledScript instance, which can be executed as many times as needed. + is a null reference. + + + + Executes the given source code. Execution is bound to the global scope. + + The javascript source code to execute. + The result of executing the source code. + is a null reference. + + + + Executes the given source code. Execution is bound to the global scope. + + The type to convert the result to. + The javascript source code to execute. + The result of executing the source code. + is a null reference. + + + + Executes the given source code. Execution is bound to the global scope. + + The javascript source code to execute. + The result of executing the source code. + is a null reference. + + + + Executes the given source code. Execution is bound to the global scope. + + The type to convert the result to. + The javascript source code to execute. + The result of executing the source code. + is a null reference. + + + + Executes the given source code. Execution is bound to the global scope. + + The javascript source code to execute. + + + + Executes the given file. If the file does not have a BOM then it is assumed to be UTF8. + Execution is bound to the global scope. + + The path to a javascript file. This can be a local file path or a + UNC path. + is a null reference. + + + + Executes the given file. Execution is bound to the global scope. + + The path to a javascript file. This can be a local file path or a + UNC path. + The character encoding to use if the file lacks a byte order + mark (BOM). + is a null reference. + + + + Executes the given source code. Execution is bound to the global scope. + + The javascript source code to execute. + is a null reference. + + + + Verifies the generated byte code. + + + + + Creates a CompilerOptions instance using the script engine properties. + + A populated CompilerOptions instance. + + + + Gets a value that indicates whether the global variable with the given name is defined. + + The name of the variable to check. + true if the given variable has a value; false otherwise. + Note that a variable that has been set to undefined is still + considered to have a value. + + + + Gets the value of the global variable with the given name. + + The name of the variable to retrieve the value for. + The value of the global variable, or null otherwise. + + + + Gets the value of the global variable with the given name and coerces it to the given + type. + + The type to coerce the value to. + The name of the variable to retrieve the value for. + The value of the global variable, or null otherwise. + Note that null is coerced to the following values: false (if + is bool), 0 (if is int + or double), string.Empty (if is string). + + + + Sets the value of the global variable with the given name. If the property does not + exist, it will be created. + + The name of the variable to set. + The desired value of the variable. This must be of a supported + type (bool, int, double, string, Null, Undefined or a ObjectInstance-derived type). + The property is read-only or the property does + not exist and the object is not extensible. + + + + Calls a global function and returns the result. + + The name of the function to call. + The argument values to pass to the function. + The return value from the function. + + + + Calls a global function and returns the result. + + The type to coerce the value to. + The name of the function to call. + The argument values to pass to the function. + The return value from the function, coerced to the given type. + + + + Sets the global variable with the given name to a function implemented by the provided + delegate. + + The name of the global variable to set. + The delegate that will implement the function. + + + + Fires when the compiler starts parsing javascript source code. + + + + + Fires when the compiler starts optimizing. + + + + + Fires when the compiler starts generating byte code. + + + + + Fires when the compiler starts running javascript code. + + + + + Gets an empty schema. + + + + + Evaluates the given javascript source code and returns the result. + + The source code to evaluate. + The containing scope. + The value of the "this" keyword in the containing scope. + Indicates whether the eval statement is being called from + strict mode code. + The value of the last statement that was executed, or undefined if + there were no executed statements. + + + + Creates a stack trace. + + The name of the error (e.g. "ReferenceError"). + The error message. + The path of the javascript source file that is currently executing. + The name of the currently executing function. + The line number of the statement that is currently executing. + + + + Appends a stack frame to the end of the given StringBuilder instance. + + The StringBuilder to append to. + The path of the javascript source file. + The name of the function. + The line number of the statement. + The method by which the current stack frame was created. + + + + Pushes a frame to the javascript stack. This needs to be called every time there is a + function call. + + The path of the javascript source file that contains the function. + The name of the function that is calling another function. + The line number of the function call. + The type of call that is being made. + + + + Pops a frame from the javascript stack. + + + + + Checks if the given is catchable by JavaScript code with a + catch clause. + Note: This method is public for technical reasons only and should not be used by user code. + + The exception to check. + true if the is catchable, false otherwise + + + + Gets a dictionary that can be used to cache ClrInstanceTypeWrapper instances. + + + + + Gets a dictionary that can be used to cache ClrStaticTypeWrapper instances. + + + + + Returns a cached template array, suitable for passing to a tag function. + + The cache key that identifies the array to return. + The cached template array, or null if no array with the given cache + key has been cached. + + + + Caches a template array using the given cache key. + + The cache key that identifies the array to cache. + The cached value. + + + + Appends a callback that will be executed at the end of script execution. + + The callback function. + + + + This method is called at the end of script execution in order to execute pending + callbacks registered with . + + + + + Clears (and does not execute) all queued post-execute actions. + + + + + Adds a callback to the end of the event queue. + + The action to enqueue. + This method is thread-safe. + + + + The number of queued actions in the event queue. + + + + + Removes the first available action from the event queue, and executes it. + + true if an event queue action was executed, false if the event + queue was empty. + + This method is meant to be called in a loop, like this: + + while (scriptEngine.ExecuteNextEventQueueAction()) { } + + If an exception is thrown, you should assume that the action was successfully removed + from the queue. This means can be called + again without triggering the same exception. + + + + + Represents a script file. + + + + + Creates a new FileScriptSource instance. + + The path of the script file. + The character encoding to use if the file lacks a byte order + mark (BOM). If this parameter is omitted, the file is assumed to be UTF8. + + + + Gets the path of the source file (either a path on the file system or a URL). This + can be null if no path is available. + + + + + Returns a reader that can be used to read the source code for the script. + + A reader that can be used to read the source code for the script, positioned + at the start of the source code. + If this method is called multiple times then each reader must return the + same source code. + + + + Represents a resource that can provide script code. This is the abstract base class of all + the script providers. + + + + + Gets the path of the source file (either a path on the file system or a URL). This + can be null if no path is available. + + + + + Returns a reader that can be used to read the source code for the script. + + A reader that can be used to read the source code for the script, positioned + at the start of the source code. + If this method is called multiple times then each reader must return the + same source code. + + + + Reads the source code within the given span. + + The start and end positions within the source code. + The source code within the given span. + + + + Represents a string containing script code. + + + + + Creates a new StringScriptSource instance. + + The script code. + + + + Creates a new StringScriptSource instance. + + The script code. + The path of the file the script code was retrieved from. + + + + Gets the path of the source file (either a path on the file system or a URL). This + can be null if no path is available. + + + + + Returns a reader that can be used to read the source code for the script. + + A reader that can be used to read the source code for the script, positioned + at the start of the source code. + If this method is called multiple times then each reader must return the + same source code. + + + + Contains stack frame properties which can be transformed when formatting the + stack trace. + + + + + Gets or sets a value that indicates if the stack frame represented by + this should be suppressed, so that + it is not displayed in the stack trace. + The default value is false. + + + + + Gets or sets the line number. A value of 0 means the line number + is unknown. + + + + + Gets or sets the path of the javascript script file. A value of + null means that the path is unknown. + + + + + Gets or sets the name of the function. A value of null or + the empty string ("") means that the path is unknown. + + + + + Contains handy string routines. + + + + + Concatenates a specified separator string between each element of a specified string + array, yielding a single concatenated string. + + The type of the members of + The string to use as a separator. + A collection that contains the objects to concatenate. + A string that consists of the members of delimited + by the string. + + + + Implements the JavaScript equality and comparison rules. + + + + + Compares two objects for equality. Used by the equality operator (==). + + The first object to compare. + The first object to compare. + true if the objects are identical; false otherwise. + + + + Compares two objects for equality. Used by the strict equality operator (===). + + The first object to compare. + The second object to compare. + true if the objects are identical; false otherwise. + + With this algorithm: + 1. NaN is not considered equal to NaN. + 2. +0 and -0 are considered to be equal. + + + + + Determines the ordering of two objects. Used by the less than operator (<). + + The first object to compare. + The second object to compare. + true if is less than ; + false otherwise. + + + + Determines the ordering of two objects. Used by the less than or equal operator (<=). + + The first object to compare. + The second object to compare. + true if is less than or equal to + ; false otherwise. + + + + Determines the ordering of two objects. Used by the greater than operator (>). + + The first object to compare. + The second object to compare. + true if is greater than ; + false otherwise. + + + + Determines the ordering of two objects. Used by the greater than or equal operator (>=). + + The first object to compare. + The second object to compare. + true if is greater than or equal to + ; false otherwise. + + + + Implements the SameValue algorithm. + + The first object to compare. + The second object to compare. + true if the objects are the same value according to the SameValue + algorithm. + + With this algorithm: + 1. NaN is considered equal to NaN. + 2. +0 and -0 are considered to be different. + + + + + Implements the SameValueZero algorithm. + + The first object to compare. + The second object to compare. + true if the objects are the same value according to the SameValueZero + algorithm. + + With this algorithm: + 1. NaN is considered equal to NaN. + 2. +0 and -0 are considered to be equal. + + + + + Provides a hint on how to do the conversion when converting to a primitive. + + + + + Use the default behaviour. + + + + + Prefer converting to a number. + + + + + Prefer converting to a string. + + + + + Implements the JavaScript type conversion rules. + + + + + Converts the given value to the given type. + + The script engine used to create new objects. + The value to convert. + The type to convert the value to. + The converted value. + + + + Converts the given value to the given type. + + The script engine used to create new objects. + The value to convert. + The type to convert the value to. + The converted value. + + + + Converts any JavaScript value to a primitive boolean value. + + The value to convert. + A primitive boolean value. + + + + Converts any JavaScript value to a primitive number value. + + The value to convert. + A primitive number value. + + + + Converts any JavaScript value to a primitive string value. + + The value to convert. + A primitive string value. + + + + Converts any JavaScript value to a primitive string value. + + The value to convert. + The value to return if the input is undefined. + A primitive string value. + + + + Converts any JavaScript value to a concatenated string value. + + The value to convert. + A concatenated string value. + + + + Converts any JavaScript value to an object. + + The script engine used to create new objects. + The value to convert. + An object. + + + + Converts any JavaScript value to an object. + + The script engine used to create new objects. + The value to convert. + The line number in the source file the error occurred on. + The path or URL of the source file. Can be null. + The name of the function. Can be null. + An object. + + + + Converts any JavaScript value to an object. + + The script engine used to create new objects. + The value to convert. + An object. + + + + Converts any JavaScript value to a primitive value. + + The value to convert. + Specifies whether toString() or valueOf() should be + preferred when converting to a primitive. + A primitive (non-object) value. + + + + Converts a value to a property key (either a string or a symbol). + + The value to convert. + A property key value. + + + + Converts any JavaScript value to an integer. + + The value to convert. + An integer value. + + + + Converts any JavaScript value to a 32-bit integer. + + The value to convert. + A 32-bit integer value. + + + + Converts any JavaScript value to an unsigned 32-bit integer. + + The value to convert. + An unsigned 32-bit integer value. + + + + Converts any JavaScript value to a signed 16-bit integer. + + The value to convert. + A signed 16-bit integer value. + + + + Converts any JavaScript value to an unsigned 16-bit integer. + + The value to convert. + An unsigned 16-bit integer value. + + + + Converts any JavaScript value to a signed 8-bit integer. + + The value to convert. + A signed 8-bit integer value. + + + + Converts any JavaScript value to an unsigned 8-bit integer. + + The value to convert. + An unsigned 8-bit integer value. + + + + Utility method to convert an object array to a typed array. + + The type to convert to. + The script engine used to create new objects. + The array to convert. + The number of elements to skip at the beginning of the array. + A typed array. + + + + Contains type-related functionality that isn't conversion or comparison. + + + + + Gets the type name for the given object. Used by the typeof operator. + + The object to get the type name for. + The type name for the given object. + + + + Returns true if the given value is undefined. + + The object to check. + true if the given value is undefined; false otherwise. + + + + Returns true if the given value is a supported numeric type. + + The object to check. + true if the given value is a supported numeric type; false + otherwise. + + + + Returns true if the given value is a supported string type. + + The object to check. + true if the given value is a supported string type; false + otherwise. + + + + Converts the given value into a standard .NET type, suitable for returning from an API. + + The value to normalize. + The value as a standard .NET type. + + + + Enumerates the names of the enumerable properties on the given object, including + properties defined on the object's prototype. Used by the for-in statement. + + The script engine used to convert the given value to an object. + The object to enumerate. + An enumerator that iteratively returns property names. + + + + Adds two objects together, as if by the javascript addition operator. + + The left hand side operand. + The right hand side operand. + Either a number or a concatenated string. + + + + Determines if the given value is a supported JavaScript primitive. + + The value to test. + true if the given value is a supported JavaScript primitive; + false otherwise. + + + + Determines if the given value is a supported JavaScript primitive or derives from + ObjectInstance. + + The value to test. + true if the given value is a supported JavaScript primitive or derives + from ObjectInstance; false otherwise. + + + + Throws a TypeError when the given value is null or undefined. + + The associated script engine. + The value to check. + The name of the function which is doing the check. + + + + Utility method for create a slice of an array. + + The array to slice. + The offset to begin the resulting array. + An array containing the input array elements, excluding the first + entries. + + + + Determines if the given number is negative zero. + + The value to test. + true if the value is negative zero; false otherwise. + + + + Determines if the given number is positive zero. + + The value to test. + true if the value is positive zero; false otherwise. + + + + Converts an iteratable object into a iterator by looking up the @@iterator property, + then calling that value as a function. + + The script engine. + The object to get a iterator from. + An iterator object, with a next function, or null if the iterator + symbol value is undefined or null. + + + + Creates an iterator object that can iterate over a .NET enumerable collection. The + returned object also supports the iterable protocol, meaning it can be used in a for-of + loop. + + The script engine to associate the new object with. + The enumerable collection. The item type must be a supported + type. + An iterator object that also supports the iterable protocol. + + + + Converts an iteratable object into a iterator by looking up the @@iterator property, + then calling that value as a function. Throws an exception if the object isn't iterable. + + The script engine. + The object to get a iterator from. + An iterator object, with a next function. + + + + Iterate over the values in an iterator. + + The script engine. + The iterator object. Must contain a next function. + An enumerable list of iterator values. + + + + Implements the logic for the for-of operator. + + The script engine. + The object to get a iterator from. + An enumerable list of iterator values. + + + + Create an array whose elements are provided by the indexed properties of an array-like object. + + The array-like object to convert. + An array. + + + + Retrieves the constructor that should be used to create new objects that are derived + from the argument object . + + The object to check. + The constructor to return if no @@species property + can be found. + A constructor that can be used to create new objects. + + + + Represents the JavaScript "undefined" type and provides the one and only instance of that type. + + + + + Creates a new Undefined instance. + + + + + Gets the one and only "undefined" instance. + + + + + Returns a string representing the current object. + + A string representing the current object. + + + + Implements the array algorithms that are shared between arrays and typed arrays. + + + + + Creates a new ArrayWrapper instance. + + The array-like object that is being wrapped. + The number of elements in the array. + + + + The current scripting environment. + + + + + The array-like object that is being wrapped. + + + + + The number of elements in the array. + + + + + Gets or sets an array element within the range 0 .. Length-1 (inclusive). + + The index to get or set. + The value at the given index. + + + + Deletes the value at the given array index, throwing an exception on error. + + The array index to delete. + + + + Indicates whether the array index exists (has a value). + + The index to check. + true if the index exists, false otherwise. + + + + Creates a new array of the same type as this one. + + The values in the new array. + A new array object. + + + + Convert an untyped value to a typed value. + + The value to convert. + The value converted to type . + + + + Concatenates all the elements of the array, using the specified separator between each + element. If no separator is provided, a comma is used for this purpose. + + The string to use as a separator. + A string that consists of the element values separated by the separator string. + + + + Reverses the order of the elements in the array. + + The array that is being operated on. + + + + Returns a section of an array. + + The index of the first element in the section. If this value is + negative it is treated as an offset from the end of the array. + The index of the element just past the last element in the section. + If this value is negative it is treated as an offset from the end of the array. If + is less than or equal to then an empty + array is returned. + A section of an array. + + + + Sorts the array. + + A comparison function. + The array that was sorted. + + + + Returns a locale-specific string representing this object. + + A locale-specific string representing this object. + + + + Returns a string representing this object. + + A string representing this object. + + + + Returns the index of the given search element in the array, starting from + . + + The value to search for. + The array index to start searching. + The index of the given search element in the array, or -1 if the + element wasn't found. + + + + Returns the index of the given search element in the array, searching backwards from + . + + The value to search for. + The array index to start searching. + The index of the given search element in the array, or -1 if the + element wasn't found. + + + + Determines if every element of the array matches criteria defined by the given user- + defined function. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + true if every element of the array matches criteria defined by the + given user-defined function; false otherwise. + + + + Determines if at least one element of the array matches criteria defined by the given + user-defined function. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + true if at least one element of the array matches criteria defined by + the given user-defined function; false otherwise. + + + + Calls the given user-defined function once per element in the array. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. + The value of this in the context of the callback function. + + + + Creates a new array with the results of calling the given function on every element in + this array. + + A user-defined function that is called for each element + in the array. This function is called with three arguments: the value of the element, + the index of the element, and the array that is being operated on. The value that is + returned from this function is stored in the resulting array. + The value of this in the context of the callback function. + A new array with the results of calling the given function on every element + in the array. + + + + Returns the first element in the given array that passes the test implemented by the + given function. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + The first element that results in the callback returning true. + + + + Creates a new array with the elements from this array that pass the test implemented by + the given function. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + A copy of this array but with only those elements which produce true + when passed to the provided function. + + + + Accumulates a single value by calling a user-defined function for each element. + + A user-defined function that is called for each element + in the array. This function is called with four arguments: the current accumulated + value, the value of the element, the index of the element, and the array that is being + operated on. The return value for this function is the new accumulated value and is + passed to the next invocation of the function. + The initial accumulated value. + The accumulated value returned from the last invocation of the callback + function. + + + + Accumulates a single value by calling a user-defined function for each element + (starting with the last element in the array). + + A user-defined function that is called for each element + in the array. This function is called with four arguments: the current accumulated + value, the value of the element, the index of the element, and the array that is being + operated on. The return value for this function is the new accumulated value and is + passed to the next invocation of the function. + The initial accumulated value. + The accumulated value returned from the last invocation of the callback + function. + + + + Copies the sequence of array elements within the array to the position starting at + target. The copy is taken from the index positions of the second and third arguments + start and end. The end argument is optional and defaults to the length of the array. + This method has the same algorithm as Array.prototype.copyWithin. + + Target start index position where to copy the elements to. + Source start index position where to start copying elements from. + Optional. Source end index position where to end copying elements from. + The array that is being operated on. + + + + Fills all the elements of a typed array from a start index to an end index with a + static value. + + The value to fill the typed array with. + Optional. Start index. Defaults to 0. + Optional. End index (exclusive). Defaults to the length of the array. + The array that is being operated on. + + + + Returns an index in the typed array, if an element in the typed array satisfies the + provided testing function. Otherwise -1 is returned. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + The first element that results in the callback returning true. + + + + Determines whether an array includes a certain value among its entries. + + The value to search for. + The array index to start searching. + true given search element in the array, or false if the element + wasn't found. + + + + Sorts a array using the quicksort algorithm. + + A comparison function. + The first index in the range. + The last index in the range. + + + + Sorts a array using the insertion sort algorithm. + + A comparison function. + The first index in the range. + The last index in the range. + + + + Swaps the elements at two locations in the array. + + The location of the first element. + The location of the second element. + + + + Represents the built-in javascript Array object. + + + + + Creates a new Array object. + + The next object in the prototype chain. + + + + Creates a new Array instance. + + + + + Creates a new Array instance. + + The initial elements of the new array. + + + + Creates a new Array instance. + + The prototype of the newly created array. + The initial elements of the new array. + + + + A reference to the constructor function that is used to create derived objects. + + + + + Creates a new Array instance and initializes the contents of the array. + Called when the Array object is invoked like a function, e.g. var x = Array(length). + + The initial elements of the new array. + + + + Creates a new Array instance and initializes the contents of the array. + Called when the new expression is used on this object, e.g. var x = new Array(length). + + The initial elements of the new array. + + + + Creates a new Array instance and initializes the contents of the array. + Called when the new expression is used on this object, e.g. var x = new Array(length). + + The value of the new.target expression. + The initial elements of the new array. + + + + Tests if the given value is an Array instance. + + The value to test. + true if the given value is an Array instance, false otherwise. + + + + Creates a new Array instance from a variable number of arguments. + + The difference between Array.of() and the Array constructor is in the handling of + integer arguments: Array.of(7) creates an array with a single element, 7, whereas + Array(7) creates an empty array with a length property of 7. + + The script engine to use. + The elements of the new array. + + + + The Array.from() method creates a new, shallow-copied Array instance from an array-like + or iterable object. + + The script engine to use. + An array-like or iterable object to convert to an array. + + + + + The Array.from() method creates a new, shallow-copied Array instance from an array-like + or iterable object. + + The script engine to use. + An array-like or iterable object to convert to an array. + Map function to call on every element of the array. + Value to use as this when executing . + + + + + Represents an instance of the JavaScript Array object. + + + + + Creates a new array with the given length and capacity. + + The next object in the prototype chain. + The initial value of the length property. + The number of elements to allocate. + + + + Creates a new array and initializes it with the given array. + + The next object in the prototype chain. + The initial values in the array. + + + + Creates a new array and initializes it with the given sparse array. + + The next object in the prototype chain. + The sparse array to use as the backing store. + The initial value of the length property. + + + + Creates the Array prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Gets or sets the number of elements in the array. Equivalent to the javascript + Array.prototype.length property. + + + + + Gets an enumerable list of the defined element values stored in this array. + + + + + Attempts to parse a string into a valid array index. + + The property key (either a string or a Symbol). + The array index value, or uint.MaxValue if the property name does not reference + an array index. + + + + Converts the JS array to a .NET object array. + + A .NET object array. + + + + Gets a descriptor for the property with the given array index. + + The array index of the property. + A property descriptor containing the property value and attributes. + The prototype chain is not searched. + + + + Sets the value of the property with the given array index. If a property with the + given index does not exist, or exists in the prototype chain (and is not a setter) then + a new property is created. + + The array index of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + The value of the "this" keyword inside a getter. + true to throw an exception if the property could not + be set. This can happen if the property is read-only or if the object is sealed. + false if is false and an error + occurred; true otherwise. + + + + Deletes the property with the given array index. + + The array index of the property to delete. + true to throw an exception if the property could not + be set because the property was marked as non-configurable. + true if the property was successfully deleted, or if the property did + not exist; false if the property was marked as non-configurable and + was false. + + + + Defines or redefines the value and attributes of a property. The prototype chain is + not searched so if the property exists but only in the prototype chain a new property + will be created. + + The property key of the property to modify. + The property value and attributes. + true to throw an exception if the property could not + be set. This can happen if the property is not configurable or the object is sealed. + true if the property was successfully modified; false otherwise. + + + + Gets an enumerable list of every property name associated with this object. + Does not include properties in the prototype chain. + + + + + Returns a new array consisting of the values of this array plus any number of + additional items. Values are appended from left to right. + + The array that is being operated on. + Any number of items to append. + A new array consisting of the values of this array plus any number of + additional items. + + + + Removes the last element from the array and returns it. + + The array to operate on. + The last element from the array. + + + + Removes the last element from the array and returns it. + + The last element from the array. + + + + Appends one or more elements to the end of the array. + + The array that is being operated on. + The items to append to the array. + + + + Appends one element to the end of the array. + + The item to append to the array. + + + + The first element in the array is removed from the array and returned. All the other + elements are shifted down in the array. + + The array that is being operated on. + The first element in the array. + + + + Deletes a range of elements from the array and optionally inserts new elements. + + The array that is being operated on. + An array containing the deleted elements, if any. + + + + Deletes a range of elements from the array and optionally inserts new elements. + + The array that is being operated on. + The index to start deleting from. + An array containing the deleted elements, if any. + + + + Deletes a range of elements from the array and optionally inserts new elements. + + The array that is being operated on. + The index to start deleting from. + The number of elements to delete. + The items to insert. + An array containing the deleted elements, if any. + + + + Prepends the given items to the start of the array. + + The array that is being operated on. + The items to prepend. + The new length of the array. + + + + Creates a new array with all sub-array elements concatenated into it recursively up to + the specified depth. + + The array that is being operated on. + The depth level specifying how deep a nested array structure + should be flattened. Defaults to 1. + A new array with the sub-array elements concatenated into it. + + + + Maps each element using a mapping function, then flattens the result into a new array. + + The array that is being operated on. + A function that produces an element of the new Array, taking + three arguments: currentValue, index, array. + Value to use as this when executing callback. + A new array with each element being the result of the callback function and + flattened to a depth of 1. + + + + Implements an adapter for regular JS arrays. + + + + + Creates a new ArrayInstanceWrapper instance. + + The array-like object that is being wrapped. + + + + Gets or sets an array element within the range 0 .. Length-1 (inclusive). + + The index to get or set. + The value at the given index. + + + + Deletes the value at the given array index, throwing an exception on error. + + The array index to delete. + + + + Indicates whether the array index exists (has a value). + + The index to check. + true if the index exists, false otherwise. + + + + Creates a new array of the same type as this one. + + The values in the new array. + A new array object. + + + + Convert an untyped value to a typed value. + + The value to convert. + The typed value. + + + + Concatenates all the elements of the array, using the specified separator between each + element. If no separator is provided, a comma is used for this purpose. + + The array that is being operated on. + The string to use as a separator. + A string that consists of the element values separated by the separator string. + + + + Reverses the order of the elements in the array. + + The array that is being operated on. + The array that is being operated on. + + + + Returns a section of an array. + + The array that is being operated on. + The index of the first element in the section. If this value is + negative it is treated as an offset from the end of the array. + The index of the element just past the last element in the section. + If this value is negative it is treated as an offset from the end of the array. If + is less than or equal to then an empty + array is returned. + A section of an array. + + + + Sorts the array. + + The array that is being operated on. + A function which determines the order of the + elements. This function should return a number less than zero if the first argument is + less than the second argument, zero if the arguments are equal or a number greater than + zero if the first argument is greater than Defaults to an ascending ASCII ordering. + The array that was sorted. + + + + Returns a locale-specific string representing this object. + + The array that is being operated on. + A locale-specific string representing this object. + + + + Returns a string representing this object. + + The array that is being operated on. + A string representing this object. + + + + Returns the index of the given search element in the array, starting from + . + + The array that is being operated on. + The value to search for. + The array index to start searching. + The index of the given search element in the array, or -1 if the + element wasn't found. + + + + Returns the index of the given search element in the array, searching backwards from + the end of the array. + + The array that is being operated on. + The value to search for. + The index of the given search element in the array, or -1 if the + element wasn't found. + + + + Returns the index of the given search element in the array, searching backwards from + . + + The array that is being operated on. + The value to search for. + The array index to start searching. + The index of the given search element in the array, or -1 if the + element wasn't found. + + + + Determines if every element of the array matches criteria defined by the given user- + defined function. + + The array that is being operated on. + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + true if every element of the array matches criteria defined by the + given user-defined function; false otherwise. + + + + Determines if at least one element of the array matches criteria defined by the given + user-defined function. + + The array that is being operated on. + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + true if at least one element of the array matches criteria defined by + the given user-defined function; false otherwise. + + + + Calls the given user-defined function once per element in the array. + + The array that is being operated on. + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. + The value of this in the context of the callback function. + + + + Creates a new array with the results of calling the given function on every element in + this array. + + The array that is being operated on. + A user-defined function that is called for each element + in the array. This function is called with three arguments: the value of the element, + the index of the element, and the array that is being operated on. The value that is + returned from this function is stored in the resulting array. + The value of this in the context of the callback function. + A new array with the results of calling the given function on every element + in the array. + + + + Returns the first element in the given array that passes the test implemented by the + given function. + + The array that is being operated on. + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + The first element that results in the callback returning true. + + + + Creates a new array with the elements from this array that pass the test implemented by + the given function. + + The array that is being operated on. + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + A copy of this array but with only those elements which produce true + when passed to the provided function. + + + + Accumulates a single value by calling a user-defined function for each element. + + The array that is being operated on. + A user-defined function that is called for each element + in the array. This function is called with four arguments: the current accumulated + value, the value of the element, the index of the element, and the array that is being + operated on. The return value for this function is the new accumulated value and is + passed to the next invocation of the function. + The initial accumulated value. + The accumulated value returned from the last invocation of the callback + function. + + + + Accumulates a single value by calling a user-defined function for each element + (starting with the last element in the array). + + The array that is being operated on. + A user-defined function that is called for each element + in the array. This function is called with four arguments: the current accumulated + value, the value of the element, the index of the element, and the array that is being + operated on. The return value for this function is the new accumulated value and is + passed to the next invocation of the function. + The initial accumulated value. + The accumulated value returned from the last invocation of the callback + function. + + + + Copies the sequence of array elements within the array to the position starting at + target. The copy is taken from the index positions of the second and third arguments + start and end. The end argument is optional and defaults to the length of the array. + This method has the same algorithm as Array.prototype.copyWithin. + + The array that is being operated on. + Target start index position where to copy the elements to. + Source start index position where to start copying elements from. + Optional. Source end index position where to end copying elements from. + The array that is being operated on. + + + + Fills all the elements of a typed array from a start index to an end index with a + static value. + + The array that is being operated on. + The value to fill the typed array with. + Optional. Start index. Defaults to 0. + Optional. End index (exclusive). Defaults to the length of the array. + The array that is being operated on. + + + + Returns an index in the typed array, if an element in the typed array satisfies the + provided testing function. Otherwise -1 is returned. + + The array that is being operated on. + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + The first element that results in the callback returning true. + + + + Returns a new array iterator object that contains the key/value pairs for each index in + the array. + + An array iterator object that contains the key/value pairs for each index in + the array. + + + + Returns a new array iterator object that contains the keys for each index in the array. + + An array iterator object that contains the keys for each index in the array. + + + + Returns a new array iterator object that contains the values for each index in the + array. + + An array iterator object that contains the values for each index in the + array. + + + + Determines whether an array includes a certain value among its entries. + + The array that is being operated on. + The value to search for. + The array index to start searching. + true given search element in the array, or false if the element + wasn't found. + + + + Gets the number of items in the array. + + The array that is being operated on. + The number of items in the array. + + + + Sets the number of items in the array. + + The array that is being operated on. + The new value of the length property. + + + + Enlarges the size of the dense array. + + The new capacity of the array. + The valid number of items in the array. + + + + Recursively appends sub-array elements into the given list. + + The list to append to. + The array elements to append. + A function that produces an element of the new Array, taking + three arguments: currentValue, index, array. + Value to use as this when executing callback. + The depth of recursion when iterating through elements. + + + + Indicates whether the given object should be concatenated as if it was an array. + + The script engine. + The value to check. + true if the value should be concatenated as if it was an array, + false otherwise. + + + + Enumerates the list of array-like properties (with numeric names). + + The script engine. + The object to enumerate properties of. + The value of the length property. No indices are returned that + are higher or equal to this value. + Enumerates the list of array-like properties (with numeric names). + + + + Represents an iteration over an array-like object. + + + + + Creates a new array iterator. + + The next object in the prototype chain. + The array-like object to iterate over. + The type of values to return. + + + + Creates the array iterator prototype object. + + The script environment. + + + + The tag value that is used by the base implementation of toString(). + + + + + Moves the iterator to the next element in the array. + + An object containing two properies: value and done. + + + + Represents an array with non-consecutive elements. + + + + + Creates a sparse array from the given dense array. + + The array to copy items from. + The number of items to copy. + A new sparse array containing the items from the given array. + + + + Deletes (sets to null) an array element. + + The index of the array element to delete. + + + + Deletes (sets to null) a range of array elements. + + The index of the first array element to delete. + The number of array elements to delete. + + + + Deletes (sets to null) a range of array elements. + + The index of the first array element to delete. + The number of array elements to delete. + The parent node of the node to delete from. Can be null. + The node to delete from. + The index of the node, in the parent node's array. + The depth of the tree, treating as the root. + + + + Copies the elements of the sparse array to this sparse array, starting at a particular + index. Existing values are overwritten. + + The sparse array to copy. + The zero-based index at which copying begins. + The number of elements to copy. + + + + Copies the elements of the given sparse array to this sparse array, starting at a + particular index. Existing values are overwritten. + + The sparse array to copy. + The zero-based index at which copying begins. + + + + Represents the built-in javascript Boolean object. + + + + + Creates a new Boolean object. + + The next object in the prototype chain. + + + + Called when the Boolean object is invoked like a function, e.g. var x = Boolean("5"). + Converts the given argument into a boolean value (not a Boolean object). + + + + + Creates a new Boolean instance and initializes it to the given value. + + The value to initialize to. Defaults to false. + + + + Represents an instance of the JavaScript Boolean object. + + + + + Creates a new boolean instance. + + The next object in the prototype chain. + The value to initialize the instance with. + + + + Creates the Boolean prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Gets the primitive value of this object. + + + + + Returns the underlying primitive value of the current object. + + The underlying primitive value of the current object. + + + + Returns a string representing this object. + + A string representing this object. + + + + Represents the instance portion of a CLR type that cannot be exposed directly but instead + must be wrapped. + + + + + Retrieves a ClrInstanceTypeWrapper object from the cache, if possible, or creates it + otherwise. + + The associated script engine. + The CLR type to wrap. + + + + Creates a new ClrInstanceTypeWrapper object. + + The associated script engine. + The CLR type to wrap. + + + + Returns an object instance to serve as the next object in the prototype chain. + + The associated script engine. + The CLR type to wrap. + The next object in the prototype chain. + + + + Gets the .NET type this object represents. + + + + + Returns a textual representation of this object. + + A textual representation of this object. + + + + Represents a non-native CLR object instance. + + + + + Creates a new ClrInstanceWrapper object. + + The associated script engine. + The CLR object instance to wrap. + + + + Returns an object instance to serve as the next object in the prototype chain. + + The associated script engine. + The CLR object instance to wrap. + The next object in the prototype chain. + + + + Creates an instance of ClrInstanceWrapper or ArrayInstance based on object type. + + The associated script engine. + The CLR object instance to wrap. + + + + Gets the .NET instance this object represents. + + + + + Returns a textual representation of this object. + + A textual representation of this object. + + + + Represents the static portion of a CLR type that cannot be exposed directly but instead + must be wrapped. + + + + + Retrieves a ClrStaticTypeWrapper object from the cache, if possible, or creates it + otherwise. + + The associated script engine. + The CLR type to wrap. + + + + Creates a new ClrStaticTypeWrapper object. + + The associated script engine. + The CLR type to wrap. + + + + Returns an object instance to serve as the next object in the prototype chain. + + The associated script engine. + The CLR type to wrap. + The next object in the prototype chain. + + + + Gets the .NET type this object represents. + + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The value of the "this" keyword within the function. + An array of argument values. + The value that was returned from the function. + + + + Creates an object, using this function as the constructor. + + The value of 'new.target'. + An array of argument values. + The object that was created. + + + + Populates the given object with properties, field and methods based on the given .NET + type. + + The object to populate. + The .NET type to search for methods. + BindingFlags.Static to populate static methods; + BindingFlags.Instance to populate instance methods. + + + + Returns a textual representation of this object. + + A textual representation of this object. + + + + Represents the built-in javascript Date object. + + + + + Creates a new Date object. + + The next object in the prototype chain. + + + + Called when the Date object is invoked like a function, e.g. var x = Date(). + Returns a string representing the current time. + + + + + Creates a new Date object and sets its value to the current time. + + + + + Creates a new Date object from a millisecond value. + + The number of milliseconds since 1 January 1970 00:00:00 UTC. + + + + Creates a new Date object from a string. + + A string representing a date, expressed in RFC 1123 format. + + + + Creates a new Date object from various date components, expressed in local time. + + The full year. + The month as an integer between 0 and 11 (january to december). + The day of the month, from 1 to 31. Defaults to 1. + The number of hours since midnight, from 0 to 23. Defaults to 0. + The number of minutes, from 0 to 59. Defaults to 0. + The number of seconds, from 0 to 59. Defaults to 0. + The number of milliseconds, from 0 to 999. Defaults to 0. + + If any of the parameters are out of range, then the other values are modified accordingly. + + + + + Creates a new Date object from various date components, expressed in local time. + + An array containing date components, in the following order: + year, month, day, hour, minute, second and millisecond. + + If any of the parameters are out of range, then the other values are modified accordingly. + + + + + Returns the current date and time as the number of milliseconds elapsed since January 1, + 1970, 00:00:00 UTC. + + The current date and time as the number of milliseconds elapsed since January 1, + 1970, 00:00:00 UTC. + + + + Given the components of a UTC date, returns the number of milliseconds since January 1, + 1970, 00:00:00 UTC to that date. + + The full year. + The month as an integer between 0 and 11 (january to december). + The day of the month, from 1 to 31. Defaults to 1. + The number of hours since midnight, from 0 to 23. Defaults to 0. + The number of minutes, from 0 to 59. Defaults to 0. + The number of seconds, from 0 to 59. Defaults to 0. + The number of milliseconds, from 0 to 999. Defaults to 0. + The number of milliseconds since January 1, 1970, 00:00:00 UTC to the given + date. + + This method differs from the Date constructor in two ways: + 1. The date components are specified in UTC time rather than local time. + 2. A number is returned instead of a Date instance. + + If any of the parameters are out of range, then the other values are modified accordingly. + + + + + Parses a string representation of a date, and returns the number of milliseconds since + January 1, 1970, 00:00:00 UTC. + + A string representing a date, expressed in RFC 1123 format. + + + + The prototype for the Date object. + + + + + The underlying DateTime value. + + + + + A DateTime that represents an invalid date. + + + + + Creates a new Date instance and initializes it to the current time. + + The next object in the prototype chain. + + + + Creates a new Date instance from the given date value. + + The next object in the prototype chain. + The number of milliseconds since January 1, 1970, 00:00:00 UTC. + + + + Creates a new Date instance from the given date string. + + The next object in the prototype chain. + A string representing a date, expressed in RFC 1123 format. + + + + Creates a new Date instance from various date components, expressed in local time. + + The next object in the prototype chain. + The full year. + The month as an integer between 0 and 11 (january to december). + The day of the month, from 1 to 31. Defaults to 1. + The number of hours since midnight, from 0 to 23. Defaults to 0. + The number of minutes, from 0 to 59. Defaults to 0. + The number of seconds, from 0 to 59. Defaults to 0. + The number of milliseconds, from 0 to 999. Defaults to 0. + + If any of the parameters are out of range, then the other values are modified accordingly. + + + + + Creates a new Date instance from the given date. + + The next object in the prototype chain. + The date to set the instance value to. + + + + Creates the Date prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Gets the date represented by this object in standard .NET DateTime format. + + + + + Gets the date represented by this object as the number of milliseconds elapsed since + January 1, 1970, 00:00:00 UTC. + + + + + Gets a value indicating whether the date instance is valid. A date can be invalid if + NaN is passed to any of the constructor parameters. + + + + + Returns the year component of this date, according to local time. + + The year component of this date, according to local time. + + + + Returns the year component of this date as an offset from 1900, according to local time. + + The year component of this date as an offset from 1900, according to local time. + + + + Returns the month component of this date, according to local time. + + The month component (0-11) of this date, according to local time. + + + + Returns the day of the month component of this date, according to local time. + + The day of the month component (1-31) of this date, according to local time. + + + + Returns the day of the week component of this date, according to local time. + + The day of the week component (0-6) of this date, according to local time. + + + + Returns the hour component of this date, according to local time. + + The hour component (0-23) of this date, according to local time. + + + + Returns the minute component of this date, according to local time. + + The minute component (0-59) of this date, according to local time. + + + + Returns the seconds component of this date, according to local time. + + The seconds component (0-59) of this date, according to local time. + + + + Returns the millisecond component of this date, according to local time. + + The millisecond component (0-999) of this date, according to local time. + + + + Returns the number of milliseconds since January 1, 1970, 00:00:00 UTC. + + The number of milliseconds since January 1, 1970, 00:00:00 UTC. + + + + Returns the time-zone offset in minutes for the current locale. + + The time-zone offset in minutes for the current locale. + + + + Returns the year component of this date, according to universal time. + + The year component of this date, according to universal time. + + + + Returns the month component of this date, according to universal time. + + The month component (0-11) of this date, according to universal time. + + + + Returns the day of the month component of this date, according to universal time. + + The day of the month component (1-31) of this date, according to universal time. + + + + Returns the day of the week component of this date, according to universal time. + + The day of the week component (0-6) of this date, according to universal time. + + + + Returns the hour component of this date, according to universal time. + + The hour component (0-23) of this date, according to universal time. + + + + Returns the minute component of this date, according to universal time. + + The minute component (0-59) of this date, according to universal time. + + + + Returns the seconds component of this date, according to universal time. + + The seconds component (0-59) of this date, according to universal time. + + + + Returns the millisecond component of this date, according to universal time. + + The millisecond component (0-999) of this date, according to universal time. + + + + Sets the full year (4 digits for 4-digit years) of this date, according to local time. + + The 4 digit year. + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the full year (4 digits for 4-digit years) of this date, according to local time. + + The 4 digit year. + The month (0-11). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the full year (4 digits for 4-digit years) of this date, according to local time. + + The 4 digit year. + The month (0-11). + The day of the month (1-31). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the year of this date, according to local time. + + The year. Numbers less than 100 will be assumed to be + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the month of this date, according to local time. + + The month (0-11). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the month of this date, according to local time. + + The month (0-11). + The day of the month (1-31). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the day of this date, according to local time. + + The day of the month (1-31). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the hours component of this date, according to local time. + + The number of hours since midnight (0-23). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the hours component of this date, according to local time. + + The number of hours since midnight (0-23). + The number of minutes since the hour (0-59). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the hours component of this date, according to local time. + + The number of hours since midnight (0-23). + The number of minutes since the hour (0-59). + The number of seconds since the minute (0-59). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the hours component of this date, according to local time. + + The number of hours since midnight (0-23). + The number of minutes since the hour (0-59). + The number of seconds since the minute (0-59). + The number of milliseconds since the second (0-999). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the minutes component of this date, according to local time. + + The number of minutes since the hour (0-59). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the minutes component of this date, according to local time. + + The number of minutes since the hour (0-59). + The number of seconds since the minute (0-59). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the minutes component of this date, according to local time. + + The number of minutes since the hour (0-59). + The number of seconds since the minute (0-59). + The number of milliseconds since the second (0-999). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the seconds component of this date, according to local time. + + The number of seconds since the minute (0-59). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the seconds component of this date, according to local time. + + The number of seconds since the minute (0-59). + The number of milliseconds since the second (0-999). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the milliseconds component of this date, according to local time. + + The number of milliseconds since the second (0-999). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the full year (4 digits for 4-digit years) of this date, according to universal time. + + The 4 digit year. + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the full year (4 digits for 4-digit years) of this date, according to universal time. + + The 4 digit year. + The month (0-11). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the full year (4 digits for 4-digit years) of this date, according to universal time. + + The 4 digit year. + The month (0-11). + The day of the month (1-31). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the month of this date, according to universal time. + + The month (0-11). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the month of this date, according to universal time. + + The month (0-11). + The day of the month (1-31). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the day of this date, according to universal time. + + The day of the month (1-31). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the hours component of this date, according to universal time. + + The number of hours since midnight (0-23). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the hours component of this date, according to universal time. + + The number of hours since midnight (0-23). + The number of minutes since the hour (0-59). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the hours component of this date, according to universal time. + + The number of hours since midnight (0-23). + The number of minutes since the hour (0-59). + The number of seconds since the minute (0-59). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the hours component of this date, according to universal time. + + The number of hours since midnight (0-23). + The number of minutes since the hour (0-59). + The number of seconds since the minute (0-59). + The number of milliseconds since the second (0-999). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the minutes component of this date, according to universal time. + + The number of minutes since the hour (0-59). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the minutes component of this date, according to universal time. + + The number of minutes since the hour (0-59). + The number of seconds since the minute (0-59). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the minutes component of this date, according to universal time. + + The number of minutes since the hour (0-59). + The number of seconds since the minute (0-59). + The number of milliseconds since the second (0-999). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the seconds component of this date, according to universal time. + + The number of seconds since the minute (0-59). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the seconds component of this date, according to universal time. + + The number of seconds since the minute (0-59). + The number of milliseconds since the second (0-999). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the milliseconds component of this date, according to universal time. + + The number of milliseconds since the second (0-999). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the date and time value of ths date. + + The number of milliseconds since January 1, 1970, 00:00:00 UTC. + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Returns the date as a string. + + The date as a string. + + + + Returns the date as a string using GMT (Greenwich Mean Time). + + The date as a string. + + + + Returns the date as a string using GMT (Greenwich Mean Time). + + The date as a string. + + + + Used by the JSON.stringify to transform objects prior to serialization. + + The object that is being operated on. + Unused. + The date as a serializable string. + + + + Returns the date as a string using the current locale settings. + + + + + + Returns the date and time as a string using the current locale settings. + + + + + + Returns the time as a string using the current locale settings. + + + + + + Returns a string representing the date and time. + + The object that is being operated on. + A string representing the date and time. + + + + Returns the time as a string. + + + + + + Returns the date as a string using UTC (universal time). + + + + + + Returns the primitive value of this object. + + The primitive value of this object. + + + + Returns a primitive value that represents the current object. Used by the addition and + equality operators. + + The current script environment. + The object to operate on. + Specifies the conversion behaviour. Must be "default", "string" or "number". + + + + + Returns the current date and time as the number of milliseconds elapsed since January 1, + 1970, 00:00:00 UTC. + + The current date and time as the number of milliseconds elapsed since January 1, + 1970, 00:00:00 UTC. + + + + Given the components of a UTC date, returns the number of milliseconds since January 1, + 1970, 00:00:00 UTC to that date. + + The full year. + The month as an integer between 0 and 11 (january to december). + The day of the month, from 1 to 31. Defaults to 1. + The number of hours since midnight, from 0 to 23. Defaults to 0. + The number of minutes, from 0 to 59. Defaults to 0. + The number of seconds, from 0 to 59. Defaults to 0. + The number of milliseconds, from 0 to 999. Defaults to 0. + The number of milliseconds since January 1, 1970, 00:00:00 UTC to the given + date. + + This method differs from the Date constructor in two ways: + 1. The date components are specified in UTC time rather than local time. + 2. A number is returned instead of a Date instance. + + If any of the parameters are out of range, then the other values are modified accordingly. + + + + + Parses a string representation of a date, and returns the number of milliseconds since + January 1, 1970, 00:00:00 UTC. + + A string representing a date, expressed in RFC 1123 format. + + + + Gets a single component of this date. + + The date component to extract. + Indicates whether to retrieve the component in local + or universal time. + The date component value, or NaN if the date is invalid. + + + + Sets one or more components of this date. + + The first date component to set. + Indicates whether to set the component(s) in local + or universal time. + One or more date component values. + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Converts a .NET date into a javascript date. + + The .NET date. + The number of milliseconds since January 1, 1970, 00:00:00 UTC + + + + Converts a javascript date into a .NET date. + + The number of milliseconds since January 1, 1970, 00:00:00 UTC. + The equivalent .NET date. + + + + Given the components of a date, returns the equivalent .NET date. + + The full year. + The month as an integer between 0 and 11 (january to december). + The day of the month, from 1 to 31. Defaults to 1. + The number of hours since midnight, from 0 to 23. Defaults to 0. + The number of minutes, from 0 to 59. Defaults to 0. + The number of seconds, from 0 to 59. Defaults to 0. + The number of milliseconds, from 0 to 999. Defaults to 0. + Indicates whether the components are in UTC or local time. + The equivalent .NET date. + + + + Gets the current time and date. + + The current time and date. + + + + Returns a string of the form "GMT+1200 (New Zealand Standard Time)". + + The date to get the time zone information from. + A string of the form "GMT+1200 (New Zealand Standard Time)". + + + + Parses a javascript date string. + + + + + Parses a javascript date string. + + The string to parse as a date. + A date. + + + + Parses an unstructured javascript date string. + + The string to parse as a date. + A date. + + + + Converts a timezone string to a timezone offset. + + The timezone string e.g. "+1300", "+13", "-1". + The timezone offset, in minutes. e.g. +1200 will return 12*60=700. + Indicates whether parsing was successful. + + + + Constructs a HashSet containing the names of days of the week. + + + + + Constructs a dictionary containing the names of all the months and a mapping to the + number of the month (1-12). + + + + + Constructs a dictionary containing the names of all the time zones and a mapping to the + time zone offset (in hours). + + + + + Represents a constructor for one of the error types: Error, RangeError, SyntaxError, etc. + + + + + Creates a new derived error function. + + The next object in the prototype chain. + The type of error, e.g. Error, RangeError, etc. + + + + Called when the Error object is invoked like a function, e.g. var x = Error("oh no"). + Creates a new derived error instance with the given message. + + A description of the error. + + + + Creates a new derived error instance with the given message. + + A description of the error. + + + + Represents the base class of all the javascript errors. + + + + + Creates a new Error instance with the given message. + + The next object in the prototype chain. + The initial value of the message property. Pass null to + avoid creating this property. + + + + Creates the Error prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + The type of error, e.g. Error, RangeError, etc. + + + + Determine the prototype for the given error type. + + The script engine associated with this object. + The type of error, e.g. Error, RangeError, etc. + The prototype. + + + + Gets the name for the type of error. + + + + + Gets a human-readable description of the error. + + + + + Gets the stack trace. Note that this is populated when the object is thrown, NOT when + it is initialized. + + + + + Sets the stack trace information. + + The path of the javascript source file that is currently executing. + The name of the currently executing function. + The line number of the statement that is currently executing. + + + + Returns a string representing the current object. + + The current script environment. + The object that is being operated on. + A string representing the current object. + + + + Used when creating an error to specify the specific type of error. + + + + + Represents a generic error. + + + + + Indicates a value that is not in the set or range of allowable values. + + + + + Indicates the actual type of an operand is different than the expected type. + + + + + Indicates that a parsing error has occurred. + + + + + Indicates that one of the global URI handling functions was used in a way that is incompatible with its definition. + + + + + Not used. + + + + + Indicate that an invalid reference value has been detected. + + + + + Represents a set of commands for working with the standard console. This class is + non-standard - it is based on the Firebug console API + (http://getfirebug.com/wiki/index.php/Console_API). + + + + + Creates a new FirebugConsole instance. + + The associated script engine. + + + + Gets or sets the console to output to. + + + + + Logs a message to the console. The objects provided will be converted to strings then + joined together in a space separated line. The first parameter can be a string + containing the following patterns: + %s String + %d, %i Integer + %f Floating point number + + The items to format. + + + + Logs a message to the console. The objects provided will be converted to strings then + joined together in a space separated line. The first parameter can be a string + containing the following patterns: + %s String + %d, %i Integer + %f Floating point number + + The items to format. + + + + Logs a message to the console using a style suggesting informational content. The + objects provided will be converted to strings then joined together in a space separated + line. The first parameter can be a string containing the following patterns: + %s String + %d, %i Integer + %f Floating point number + + The items to format. + + + + Logs a message to the console using a style suggesting a warning. The objects provided + will be converted to strings then joined together in a space separated line. The first + parameter can be a string containing the following patterns: + %s String + %d, %i Integer + %f Floating point number + + The items to format. + + + + Logs a message to the console using a style suggesting an error. The objects provided + will be converted to strings then joined together in a space separated line. The + first parameter can be a string containing the following patterns: + %s String + %d, %i Integer + %f Floating point number + + The items to format. + + + + Tests that an expression is true. If not, it will write a message to the console. + + The expression to test. + The items to format. + + + + Clears the console. + + + + + Writes a message to the console and opens a nested block to indent all future messages + sent to the console. Call console.groupEnd() to close the block. + + The items to format. + + + + Writes a message to the console and opens a nested block to indent all future messages + sent to the console. Call console.groupEnd() to close the block. + + The items to format. + + + + Closes the most recently opened block created by a call to console.group(). + + + + + Creates a new timer under the given name. Call console.timeEnd(name) with the same name + to stop the timer and print the time elapsed. + + The name of the time to create. + + + + Stops a timer created by a call to console.time(name) and writes the time elapsed. + + The name of the timer to stop. + + + + Logs a message to the console. The objects provided will be converted to strings then + joined together in a space separated line. The first parameter can be a string + containing the following patterns: + %s String + %d, %i Integer + %f Floating point number + + The style of the message (this determines the icon and text + color). + The items to format. + + + + Formats a message. The objects provided will be converted to strings then + joined together in a space separated line. The first parameter can be a string + containing the following patterns: + %s String + %d, %i Integer + %f Floating point number + %o Object hyperlink + + The items to format. + A formatted string. + + + + Formats a message. The objects provided will be converted to strings then + joined together in a space separated line. The first parameter can be a string + containing the following patterns: + %s String + %d, %i Integer + %f Floating point number + %o Object hyperlink + + The items to format. + An array containing formatted strings interspersed with objects. + + + + Indicates the level of severity. + + + + + Log text, without any indication of the severity. + + + + + Log informational text. + + + + + Log warnings. + + + + + Log errors. + + + + + Represents the target of any Firebug console commands. + + + + + Logs a message to the console. + + The style of the message (this determines the icon and text + color). + The objects to output to the console. These can be strings or + ObjectInstances. + + + + Clears the console. + + + + + Starts grouping messages together. + + The title for the group. + true if subsequent messages should be hidden by default. + + + + Ends the most recently started group. + + + + + Represents an implementation of the Firebug API using the standard console. + + + + + Gets or sets the number of spaces to output before writing any text to the console. + + + + + Gets or sets the number of spaces to add to the identation when group() is called. + + + + + Logs a message to the console. + + A style which influences the icon and text color. + The objects to output to the console. These can be strings or + ObjectInstances. + + + + Clears the console. + + + + + Starts grouping messages together. + + The title for the group. + true if subsequent messages should be hidden by default. + + + + Ends the most recently started group. + + + + + Represents an arguments object. + + + + + Creates a new Arguments instance. + + The next object in the prototype chain. + The function that was called. + The bindings to allow modification. + The argument values that were passed to the function. + + + + Used to retrieve the value of an argument. + + The script engine, this value, etc. + The arguments that were passed to the function. + The result of calling the method. + + + + Used to set the value of an argument. + + The script engine, this value, etc. + The arguments that were passed to the function. + The result of calling the method. + + + + Deletes the property with the given array index. + + The array index of the property to delete. + true to throw an exception if the property could not + be set because the property was marked as non-configurable. + true if the property was successfully deleted, or if the property did + not exist; false if the property was marked as non-configurable and + was false. + + + + Returns an iterator that iterates over the argument values. + + An iterator for the arguments instance. + + + + Represents a function that has bound arguments. + + + + + Creates a new instance of a user-defined function. + + The function that was bound. + The value of the "this" parameter when the target function is called. + Zero or more bound argument values. + + + + Gets the function that is being bound. + + + + + Gets the value of the "this" parameter when the target function is called. + + + + + Gets an array of zero or more bound argument values. + + + + + Determines whether the given object inherits from this function. More precisely, it + checks whether the prototype chain of the object contains the prototype property of + this function. Used by the "instanceof" operator. + + The instance to check. + true if the object inherits from this function; false + otherwise. + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The value of the "this" keyword within the function. + An array of argument values to pass to the function. + The value that was returned from the function. + + + + Creates an object, using this function as the constructor. + + The value of 'new.target'. + An array of argument values to pass to the function. + The object that was created. + + + + Returns a string representing this object. + + A string representing this object. + + + + Represents a JS class, which is really just a special type of function. Classes cannot be + called directly, but they can be instantiated using the 'new' operator. + + + + + Creates a new instance of a user-defined class. + + The next object in the prototype chain. + The name of the class. Can be null if none were supplied. + The value of the 'prototype' property. + A function that represents the constructor, if the class has + one, or null otherwise. + + A class that doesn't extend looks like this: + new ClassFunction(engine.Function.InstancePrototype, name, engine.Object.Construct(), constructor) + + A class that extends A looks like this: + new ClassFunction(A, name, ObjectInstance.CreateRawObject(A.InstancePrototype), constructor) + + A class that extends null looks like this: + new ClassFunction(engine.Function.InstancePrototype, name, ObjectInstance.CreateRawObject(null), constructor) + + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The value of the "this" keyword within the function. + An array of argument values to pass to the function. + The value that was returned from the function. + + + + Creates an object, using this function as the constructor. + + The value of 'new.target'. + An array of argument values. + The object that was created. + + + + Returns a string representing this object. + + A string representing this object. + + + + Represents a JavaScript function implemented by one or more .NET methods. + + + + + Creates a new instance of a built-in constructor function. + + The next object in the prototype chain. + The name of the function. + + + + + Creates a new instance of a function which calls the given delegate. + + The next object in the prototype chain. + The delegate to call. + The name of the function. Pass null to use the name of the + delegate for the function name. + The "typical" number of arguments expected by the function. Pass + -1 to use the number of arguments expected by the delegate. + + + + Creates a new instance of a function which calls one or more provided methods. + + The next object in the prototype chain. + An enumerable collection of methods that logically comprise a + single method group. + The name of the function. Pass null to use the name of the + provided methods for the function name (in this case all the provided methods must have + the same name). + The "typical" number of arguments expected by the function. Pass + -1 to use the maximum of arguments expected by any of the provided methods. + + + + Creates a new instance of a function which calls the given binder. + + The next object in the prototype chain. + An object representing a collection of methods to bind to. + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The value of the "this" keyword within the function. + An array of argument values. + The value that was returned from the function. + + + + Creates an object, using this function as the constructor. + + The value of 'new.target'. + An array of argument values. + The object that was created. + + + + A binder that merely returns undefined. + + + + + Creates a new EmptyBinder instance. + + + + + Gets the name of the target methods. + + + + + Gets the full name of the target methods, including the type name. + + + + + Generates a method that does type conversion and calls the bound method. + + The ILGenerator used to output the body of the method. + The number of arguments that will be passed to the delegate. + A delegate that does type conversion and calls the method represented by this + object. + + + + Represents a function that is implemented with a .NET static method. + Faster, but less flexible version of ClrFunction. Now used by all the built-in constructors and functions. + + + + + Creates a function which calls a .NET method, with no name or length. + + The next object in the prototype chain. + The delegate to call when calling the JS method. + + + + Creates a new instance of a function which calls a .NET method. The prototype of the + new function is set to the default function prototype. + + The script engine. + The name of the function. + The "typical" number of arguments expected by the function. + The delegate to call when calling the JS method. + + + + Creates a new instance of a function which calls a .NET method. + + The next object in the prototype chain. + The name of the function. + The "typical" number of arguments expected by the function. + The delegate to call when calling the JS method. + + + + Creates a new constructor function. + + The next object in the prototype chain. + The delegate to call when calling the JS method as a constructor. + The delegate to call when function is called. + + + + Adds properties needed by the function to the list of properties. + + The list of properties to add to. + The name of the function. + The "typical" number of arguments expected by the function. + The value of the "prototype" property. + + + + Creates a new constructor function. + + The next object in the prototype chain. + The name of the function. + The "typical" number of arguments expected by the function. + The value of the "prototype" property. + The delegate to call when calling the JS method as a constructor. + The delegate to call when function is called. + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The value of the "this" keyword within the function. + An array of argument values. + The value that was returned from the function. + + + + Indicates whether the 'new' operator can be used on this function. + Will be false for built-in functions like Math.max. + + + + + Creates an object, using this function as the constructor. + + The value of 'new.target'. + An array of argument values. + The object that was created. + + + + Represents the built-in JavaScript Function object. + + + + + Creates a new Function object. + + The next object in the prototype chain. + The prototype for instances created by this function. + + + + Called when the Function object is invoked like a function, e.g. var x = Function("5"). + Creates a new function instance. + + The argument names plus the function body. + A new function instance. + + + + Creates a new function instance. + + The argument names plus the function body. + A new function instance. + + + + Represents a JavaScript function. + + + + + Creates a new instance of a built-in function object, with the default Function + prototype. + + The associated script engine. + + + + Creates a new instance of a built-in function object. + + The next object in the prototype chain. + + + + Creates a new instance of a built-in function object. + + The associated script engine. + The next object in the prototype chain. Can be null. + + + + Initializes the prototype properties. + + The object to set the properties on. + A reference to the constructor that owns the prototype. + + + + Gets the prototype of objects constructed using this function. Equivalent to + the Function.prototype property. + + + + + Gets the name of the function. + + + + + Gets the number of arguments expected by the function. + + + + + Determines whether the given object inherits from this function. More precisely, it + checks whether the prototype chain of the object contains the prototype property of + this function. Used by the "instanceof" operator. + + The instance to check. + true if the object inherits from this function; false + otherwise. + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The value of the "this" keyword within the function. + An array of argument values. + The value that was returned from the function. + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The name of the caller function. + The value of the "this" keyword within the function. + An array of argument values. + The value that was returned from the function. + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The path of the javascript source file that contains the caller. + The name of the caller function. + The line number of the statement that is calling this function. + The value of the "this" keyword within the function. + An array of argument values. + The value that was returned from the function. + + + + Indicates whether the 'new' operator can be used on this function. + Will be false for built-in functions like Math.max. + + + + + Creates an object, using this function as the constructor. + + The value of 'new.target'. + An array of argument values. + The object that was created. + + + + Creates an object, using this function as the constructor. + + The path of the javascript source file that contains the caller. + The name of the caller function. + The line number of the statement that is calling this function. + The value of 'new.target'. + An array of argument values. + The object that was created. + + + + Calls the function, passing in parameters from the given array. + + The value of this in the context of the function. + The arguments passed to the function, as an array. + The result from the function call. + + + + Calls the function. + + The value of this in the context of the function. + Any number of arguments that will be passed to the function. + The result from the function call. + + + + Creates a new function that, when called, calls this function with the given "this" + value and, optionally, one or more more arguments. + + The fixed value of "this". + Any number of fixed arguments values. + A new function. + + + + Returns a string representing this object. + + A string representing this object. + + + + Returns a string representing this object. + + A string representing this object. + + + + Represents a JavaScript function that throws a type error. + + + + + Creates a new ThrowTypeErrorFunction instance. + + The next object in the prototype chain. + + + + Creates a new ThrowTypeErrorFunction instance. + + The next object in the prototype chain. + The TypeError message. + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The value of the "this" keyword within the function. + An array of argument values to pass to the function. + The value that was returned from the function. + + + + Represents a JavaScript function implemented in javascript. + + + + + Creates a new instance of a user-defined function. + + The next object in the prototype chain. + The name of the function. + A comma-separated list of arguments. + The source code for the body of the function. + This is used by new Function(). + + + + Creates a new instance of a user-defined function. + + The next object in the prototype chain. + The name of the function. + The names of the arguments. + The scope at the point the function is declared. + The source code for the function body. + A delegate which represents the body of the function. + true if the function body is strict mode; false otherwise. + This is used by arguments. + + + + Creates a new instance of a user-defined function. + + The next object in the prototype chain. + The name of the function. + The names of the arguments. + The scope at the point the function is declared. + The source code for the function body. + A delegate which represents the body of the function plus any dependencies. + true if the function body is strict mode; false otherwise. + A reference to the containing class prototype or object literal (or null). + This is used by functions declared in JavaScript code (including getters and setters). + + + + Initializes the object properties. + + The name of the function. + The expected number of arguments. + + + + A comma-separated list of arguments. + + + + + Gets a list containing the names of the function arguments, in order of definition. + This list can contain duplicate names. + + + + + Gets a value that indicates whether the function was declared within strict mode code + -or- the function contains a strict mode directive within the function body. + + + + + Gets the scope at the point the function was declared. + + + + + Gets the source code for the body of the function. + + + + + Gets the body of the method in the form of disassembled IL code. Will be null + unless was set to true. + + + + + Gets a reference to the generated method. For internal use only. + + + + + Gets a reference to the generated method. For internal use only. + + + + + A reference to the containing class prototype or object literal (or null). Used + by the 'super' property accessor. + + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The value of the "this" keyword within the function. + An array of argument values to pass to the function. + The value that was returned from the function. + + + + Creates an object, using this function as the constructor. + + The value of 'new.target'. + An array of argument values. + The object that was created. + + + + Returns a string representing this object. + + A string representing this object. + + + + Represents functions and properties within the global scope. + + + + + Creates a new Global object. + + The next object in the prototype chain. + + + + Retrieves a list of properties to apply to the global object. + + + + + Decodes a string that was encoded with the encodeURI function. + + The current script environment. + The associated script engine. + The string, as it was before encoding. + + + + Decodes a string that was encoded with the decodeURIComponent function. + + The associated script engine. + The string to decode. + The string, as it was before encoding. + + + + Encodes a string containing a Uniform Resource Identifier (URI). + + The associated script engine. + The string to encode. + A copy of the given URI with the special characters encoded. + + + + Encodes a string containing a portion of a Uniform Resource Identifier (URI). + + The associated script engine. + The string to encode. + A copy of the given URI with the special characters encoded. + + + + Encodes a string using an encoding similar to that used in URLs. + + The string to encode. + A copy of the given string with the special characters encoded. + + + + Evaluates the given javascript source code and returns the result. + + The associated script engine. + The source code to evaluate. + The value of the last statement that was executed, or undefined if + there were no executed statements. + + + + Evaluates the given javascript source code and returns the result. + + The associated script engine. + The source code to evaluate. + The containing scope. + The value of the "this" keyword in the containing scope. + Indicates whether the eval statement is being called from + strict mode code. + The value of the last statement that was executed, or undefined if + there were no executed statements. + + + + Determines whether the given number is finite. + + The number to test. + false if the number is NaN or positive or negative infinity, + true otherwise. + + + + Determines whether the given number is NaN. + + The number to test. + true if the number is NaN, false otherwise. + + + + Decodes a string that has been encoded using escape(). + + The string to decode. + A copy of the given string with the escape sequences decoded. + + + + Decodes a string containing a URI or a portion of a URI. + + The script engine used to create the error objects. + The string to decode. + A string containing the set of characters that should not + be escaped. Alphanumeric characters should not be included. + A copy of the given string with the escape sequences decoded. + + + + Encodes a string containing a URI or a portion of a URI. + + The associated script engine. + The string to encode. + An array containing the set of characters that should not + be escaped. + A copy of the given URI with the special characters encoded. + + + + Reads an integer value using the given reader. + + The reader to read characters from. + Upon returning, contains the number of digits that were read. + The numeric value, or double.NaN if no number was present. + + + + Determines if the given character is whitespace or a line terminator. + + The unicode code point for the character. + true if the character is whitespace or a line terminator; false + otherwise. + + + + Parses a hexidecimal number from within a string. + + The string containing the hexidecimal number. + The start index of the hexidecimal number. + The number of characters in the hexidecimal number. + The numeric value of the hexidecimal number, or -1 if the number + is not valid. + + + + Creates a 128 entry lookup table for the characters in the given string. + + The characters to include in the set. + An array containing true for each character in the set. + + + + Represents a general iterator. + + + + + Creates a new iterator. + + The script environment. + The enumerable to iterate over. + + + + Creates the array iterator prototype object. + + The script environment. + + + + The tag value that is used by the base implementation of toString(). + + + + + Returns this iterator. + + An iterator. + + + + Moves the iterator to the next element in the array. + + An object containing two properies: value and done. + + + + Converts JSON text into a series of tokens. + + + + + Creates a JSONLexer instance with the given source of text. + + The script engine used to create error objects. + A reader that will supply the JSON source text. + + + + Gets the reader that was supplied to the constructor. + + + + + Reads the next token from the reader. + + A token, or null if there are no more tokens. + + + + Reads an keyword token. + + The first character of the identifier. + An keyword token. + + + + Reads a numeric literal token. + + The first character of the token. + A numeric literal token. + + + + Reads an integer value. + + The initial value, derived from the first character. + The number of digits that were read from the stream. + The numeric value, or double.NaN if no number was present. + + + + Reads a string literal. + + The first character of the string literal. + A string literal. + + + + Reads a hexidecimal number with the given number of digits and turns it into a character. + + The character corresponding to the escape sequence, or the content that was read + from the input if a valid hex number was not read. + + + + Reads past whitespace. + + Always returns null. + + + + Determines if the given character is whitespace or a line terminator. + + The character to test. + true if the character is whitespace or a line terminator; false + otherwise. + + + + Determines if the given character is valid as a character of an identifier. + + The character to test. + true if the character is is valid as a character of an identifier; + false otherwise. + + + + Determines if the given character is valid as the first character of a numeric literal. + + The character to test. + true if the character is is valid as the first character of a numeric + literal; false otherwise. + + + + Determines if the given character is valid in a hexidecimal number. + + The character to test. + true if the given character is valid in a hexidecimal number; false + otherwise. + + + + Represents the built-in JSON object. + + + + + Creates a new JSON object. + + The next object in the prototype chain. + + + + Parses the JSON source text and transforms it into a value. + + The current script environment. + The JSON text to parse. + A function that will be called for each value. + The value of the JSON text. + + + + Serializes a value into a JSON string. + + The current script environment. + The value to serialize. + Either a function that can transform each value before it is + serialized, or an array of the names of the properties to serialize. + Either the number of spaces to use for indentation, or a string + that is used for indentation. + The JSON string representing the value. + + + + Converts a series of JSON tokens into a JSON object. + + + + + Creates a JSONParser instance with the given lexer supplying the tokens. + + The associated script engine. + The lexical analyser that provides the tokens. + + + + Gets or sets a function that can be used to transform values as they are being parsed. + + + + + Discards the current token and reads the next one. + + + + + Indicates that the next token is identical to the given one. Throws an exception if + this is not the case. Consumes the token. + + The expected token. + + + + Indicates that the next token should be an identifier. Throws an exception if this is + not the case. Consumes the token. + + The identifier name. + + + + Parses the JSON text (optionally applying the reviver function) and returns the resulting value. + + The result of parsing the JSON text. + + + + Parses a value. + + A JSON value. + + + + Parses an array literal (e.g. "[1, 2]"). + + A populated array. + + + + Parses an object literal (e.g. "{a: 5}"). + + A populated object. + + + + Converts a value into JSON text. + + + + + Creates a new JSONSerializer instance with the default options. + + The associated script engine. + + + + Gets or sets a function which can transform values before they are serialized. + + + + + Gets or sets a string to use for indentation. + + + + + Gets or sets a list of property names to be serialized. + + + + + Serializes a value into a JSON string. + + The value to serialize. + The JSON repesentation of the value, or null if passed an + unserializable value (like a function). + + + + Transforms the value stored in the given object using toJSON and/or the replacer function. + + The object containing the value. + The name of the property holding the value to transform. + The transformed value. + + + + Transforms the value stored in the given object using toJSON and/or the replacer function. + + The object containing the value. + The array index of the property holding the value to transform. + The transformed value. + + + + Serializes a value into a JSON string. Does not serialize "undefined", check for that + value before calling this method. + + The value to serialize. + The StringBuilder to write the JSON representation of the + value to. + + + + Adds double quote characters to the start and end of the given string and converts any + invalid characters into escape sequences. + + The string to quote. + The StringBuilder to write the quoted string to. + + + + Serializes an object into a JSON string. + + The object to serialize. + The StringBuilder to write the JSON representation of the + object to. + + + + Serializes an array into a JSON string. + + The array to serialize. + The StringBuilder to write the JSON representation of the + array to. + + + + The Map object is a simple key/value map. Any value (both objects and primitive values) may + be used as either a key or a value. + + + + + Creates a new map constructor. + + The next object in the prototype chain. + + + + A reference to the constructor function that is used to create derived objects. + + + + + Called when the Map object is invoked like a function, e.g. var x = Map(). + Throws an error. + + + + + Creates a new Map. + + iterable is an Array or other iterable object whose elements + are key-value pairs (2-element Arrays). Each key-value pair is added to the new Map. + null is treated as undefined. + A new Map object, either empty or initialised with the given values. + + + + The Map object is a simple key/value map. Any value (both objects and primitive values) may + be used as either a key or a value. + + + + + Creates a new Map instance. + + The next object in the prototype chain. + + + + Creates the Map prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Called before a linked list node is deleted. + + + + + Gets the internal storage. Used by debugger decoration only. + + + + + The number of elements in the Map. + + + + + Removes all elements from a Map object. + + + + + Removes the specified element from a Map object. + + The key of the element to remove from the Map object. + true if an element in the Map object existed and has been removed, or + false if the element does not exist. + + + + Returns a new Iterator object that contains the [key, value] pairs for each element in + the Map object in insertion order. + + A new Iterator object. + + + + Executes a provided function once per each key/value pair in the Map object, in + insertion order. + + Function to execute for each element. + Value to use as this when executing callback. + + + + Returns a specified element from a Map object. + + The key of the element to return from the Map object. + The element associated with the specified key, or undefined if the key can't + be found in the Map object. + + + + Returns a boolean indicating whether an element with the specified key exists or not. + + The key of the element to test for presence in the Map object. + true if an element with the specified key exists in the Map object; + otherwise false. + + + + Returns a new Iterator object that contains the keys for each element in the Map object + in insertion order. + + A new Iterator object. + + + + Adds a new element with a specified key and value to a Map object. + + The key of the element to add to the Map object. + The value of the element to add to the Map object. + The Map object. + + + + Returns a new Iterator object that contains the values for each element in the Map + object in insertion order. + + A new Iterator object. + + + + Implements the SameValueZero comparison operation. + + + + + Represents an iteration over a Map. + + + + + Creates a new map iterator. + + The next object in the prototype chain. + The map to iterate over. + The linked list to iterate over. + The type of values to return. + + + + Creates the array iterator prototype object. + + The script environment. + + + + Called before a linked list node is deleted. + + The node that is being deleted. + + + + The tag value that is used by the base implementation of toString(). + + + + + Moves the iterator to the next element in the array. + + An object containing two properies: value and done. + + + + Gets wheter the end is reached. Used by debugger decoration only. + + + + + Gets current index. Used by debugger decoration only. + + + + + Gets what is iterated - key, value or both + + + + + Gets the iterated Map + + + + + Represents the built-in Math class that has mathematical constants and functions. + + + + + Creates a new Math object. + + The next object in the prototype chain. + + + + The mathematical constant E, approximately 2.718. + + + + + The natural logarithm of 2, approximately 0.693. + + + + + The natural logarithm of 10, approximately 2.303. + + + + + The base 2 logarithm of E, approximately 1.442. + + + + + The base 10 logarithm of E, approximately 0.434. + + + + + The ratio of the circumference of a circle to its diameter, approximately 3.14159. + + + + + The square root of 0.5, approximately 0.707. + + + + + The square root of 2, approximately 1.414. + + + + + Returns the absolute value of a number. + + The number to operate on. + The absolute value of the parameter. + + + + Returns the arccosine of a number. + + The number to operate on. + The arccosine of the parameter. If + is less than -1 or greater than 1, then NaN is + returned. + + + + Returns the arcsine of a number. + + The number to operate on. + The arcsine of the parameter. If + is less than -1 or greater than 1, then NaN is + returned. + + + + Returns the arctangent of a number. + + The number to operate on. + The arctangent of the parameter. If + is less than -1 or greater than 1, then NaN is + returned. + + + + Returns the counter-clockwise angle (in radians) from the X axis to the point (x,y). + + A numeric expression representing the cartesian x-coordinate. + A numeric expression representing the cartesian y-coordinate. + The angle (in radians) from the X axis to a point (x,y) (between -pi and pi). + + + + Returns the smallest integer greater than or equal to a number. + + The number to operate on. + The smallest integer greater than or equal to the + parameter. + + + + Returns the cosine of an angle. + + The angle to operate on. + The cosine of the parameter (between -1 and 1). + + + + Returns e (the base of natural logarithms) raised to the specified power. + + The exponent. + E (the base of natural logarithms) raised to the specified power. + + + + Returns the greatest integer less than or equal to a number. + + The number to operate on. + The greatest integer less than or equal to the parameter. + + + + Returns the natural logarithm of a number. + + The number to operate on. + The natural logarithm of the parameter. + + + + Returns the largest of zero or more numbers. + + The numbers to operate on. + The largest of zero or more numbers. If no arguments are provided, the + return value is equal to NEGATIVE_INFINITY. If any of the arguments cannot be + converted to a number, the return value is NaN. + + + + Returns the smallest of zero or more numbers. + + The numbers to operate on. + The smallest of zero or more numbers. If no arguments are provided, the + return value is equal to NEGATIVE_INFINITY. If any of the arguments cannot be + converted to a number, the return value is NaN. + + + + Returns the value of a base expression taken to a specified power. + + The base value of the expression. + The exponent value of the expression. + The value of the base expression taken to the specified power. + + + + Returns a pseudorandom number between 0 and 1. + + A pseudorandom number between 0 and 1. The pseudorandom number generated is + from 0 (inclusive) to 1 (exclusive), that is, the returned number can be zero, but it + will always be less than one. The random number generator is seeded automatically. + + + + + Returns the value of a number rounded to the nearest integer. + + The number to operate on. + The required number argument is the value to be rounded to the nearest + integer. For positive numbers, if the decimal portion of number is 0.5 or greater, + the return value is equal to the smallest integer greater than number. If the decimal + portion is less than 0.5, the return value is the largest integer less than or equal to + number. For negative numbers, if the decimal portion is exactly -0.5, the return value + is the smallest integer that is greater than the number. For example, Math.round(8.5) + returns 9, but Math.round(-8.5) returns -8. + + + + Returns the sine of an angle. + + The angle, in radians. + The sine of the parameter (between -1 and 1). + + + + Returns the square root of a number. + + The number to operate on. + The square root of the parameter. + + + + Returns the tangent of an angle. + + The angle, in radians. + The tangent of the parameter (between -1 and 1). + + + + Returns the base 10 logarithm of a number. + + The number to operate on. + The base 10 logarithm of the parameter. + + + + Returns the base 2 logarithm of a number. + + The number to operate on. + The base 2 logarithm of the parameter. + + + + Returns the natural logarithm (base E) of one plus a number. The result is calculated + in such a way that the result is accurate even if the number is close to zero. + + The number to operate on. + The natural logarithm (base E) of one plus the parameter. + + + + Returns E to the power of a number minus 1. The result is calculated in such a way + that the result is accurate even if the number is close to zero. + + The number to operate on. + E to the power of the parameter minus 1. + + + + Returns the hyperbolic cosine of a number. + + The number to operate on. + The hyperbolic cosine of the parameter. + + + + Returns the hyperbolic sine of a number. + + The number to operate on. + The hyperbolic sine of the parameter. + + + + Returns the hyperbolic tangent of a number. + + The number to operate on. + The hyperbolic tangent of the parameter. + + + + Returns the inverse hyperbolic cosine of a number. + + The number to operate on. + The inverse hyperbolic cosine of the parameter. + + + + Returns the inverse hyperbolic sine of a number. + + The number to operate on. + The inverse hyperbolic sine of the parameter. + + + + Returns the inverse hyperbolic tangent of a number. + + The number to operate on. + The inverse hyperbolic tangent of the parameter. + + + + Returns the square root of the sum of squares of the provided numbers. + + The numbers to operate on. + The square root of the sum of squares of . + + + + Returns the square root of the sum of squares of the provided numbers. + + The first number to operate on. + The second number to operate on. + The square root of the sum of squares of and + . + + + + Returns the integral part of a number, removing any fractional digits. + + The number to operate on. + The integral part of the parameter. + + + + Returns the sign of the x, indicating whether x is positive, negative or zero. + + The number to operate on. + The sign of the parameter. + + + + Returns the result of the 32-bit multiplication of the two parameters. + + The first value to multiply. + The second value to multiply. + The result of multiplying the two numbers as if they were 32-bit integers. + + + + Returns the result of converting the double precision number to the nearest single + precision equivalent. + + The number to operate on. + The result of converting the double precision number to the nearest single + precision equivalent. + + + + Converts the input value to an unsigned 32-bit integer, then returns the number of + leading zero bits. + + The number to operate on. + The number of leading zero bits, treating the input like an unsigned 32-bit + integer. + + + + Returns an approximation to the cube root of the input value. + + The number to operate on. + An approximation to the cube root of the input value. + + + + Represents the built-in javascript Number object. + + + + + Creates a new Number object. + + The next object in the prototype chain. + + + + Called when the Number object is invoked like a function, e.g. var x = Number("5"). + Returns zero. + + + + + Called when the Number object is invoked like a function, e.g. var x = Number("5"). + Converts the given argument into a number value (not a Number object). + + + + + Creates a new Number instance and initializes it to zero. + + + + + Creates a new Number instance and initializes it to the given value. + + The value to initialize to. + + + + The largest representable number, approximately 1.8e+308. + + + + + The smallest positive representable number, approximately 5e-324. + + + + + Special "not a number" value. + + + + + Special value representing negative infinity. + + + + + Special value representing positive infinity. + + + + + The difference between 1 and the smallest value greater than 1 that is representable as + a numeric value. + + + + + The maximum integer within the range of integers that can be represented exactly. + Outside the safe range multiple integers are mapped to a single value. + + + + + The minimum integer within the range of integers that can be represented exactly. + Outside the safe range multiple integers are mapped to a single value. + + + + + Determines whether the given number is finite. + + The number to test. + false if the number is NaN or positive or negative infinity, + true otherwise. false if the value is not a number. + + + + Determines whether the given number is NaN. + + The number to test. + true if the number is NaN, false otherwise. + + + + Determines whether the given number is an integer. + + The number to test. + true if the number is an integer, false otherwise. + + + + Determines whether the given number is within the "safe" integer range. + + The number to test. + true if the number is a safe integer, false otherwise. + + + + Parses the given string and returns the equivalent integer value. + + The associated script engine. + The string to parse. + The numeric base to use for parsing. Pass zero to use base 10 + except when the input string starts with '0' in which case base 16 or base 8 are used + instead (base 8 is only supported in compatibility mode). + The equivalent integer value of the given string. + Leading whitespace is ignored. Parsing continues until the first invalid + character, at which point parsing stops. No error is returned in this case. + + + + Parses the given string and returns the equivalent numeric value. + + The string to parse. + The equivalent numeric value of the given string. + Leading whitespace is ignored. Parsing continues until the first invalid + character, at which point parsing stops. No error is returned in this case. + + + + Represents an instance of the Number object. + + + None of the methods of the Number prototype are generic; they should throw TypeError + if the this value is not a Number object or a number primitive. + + + + + The primitive value. + + + + + Creates a new Number instance and initializes it to the given value. + + The next object in the prototype chain. + The value to initialize to. + + + + Creates the Number prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Gets the primitive value of the number. + + + + + Returns a string representing a number represented in exponential notation. + + Number of digits after the decimal point. Must be in the + range 0 – 20, inclusive. Defaults to the number of digits necessary to specify the + number. + A string representation of a number in exponential notation. The string + contains one digit before the significand's decimal point, and may contain + fractionDigits digits after it. + + + + Returns a string representing a number in fixed-point notation. + + Number of digits after the decimal point. Must be in the + range 0 – 20, inclusive. + A string representation of a number in fixed-point notation. The string + contains one digit before the significand's decimal point, and must contain + fractionDigits digits after it. + If fractionDigits is not supplied or undefined, the toFixed method assumes the value + is zero. + + + + Returns a string containing a locale-dependant version of the number. + + A string containing a locale-dependant version of the number. + + + + Returns a string containing a number represented either in exponential or fixed-point + notation with a specified number of digits. + + The number of significant digits. Must be in the range 1 – 21, + inclusive. + A string containing a number represented either in exponential or fixed-point + notation with a specified number of digits. + + For numbers in exponential notation, precision - 1 digits are returned after the + decimal point. For numbers in fixed notation, precision significant digits are + returned. + If precision is not supplied or is undefined, the toString method is called instead. + + + + + Returns the textual representation of the number. + + Specifies a radix for converting numeric values to strings. + The textual representation of the number. + + + + Returns the primitive value of the specified object. + + The primitive value of the specified object. + + + + Calculates the number of leading zero bits in the integer representation of this + number. + + The number of leading zero bits in the integer representation of this number. + + + + Counts the number of set bits in an integer. + + The integer. + The number of set bits in the integer. + + + + The base class of the javascript function attributes. + + + + + Creates a new BaseJSFunctionAttribute instance with no flags. + + + + + Creates a new BaseJSFunctionAttribute instance. + + One or more flags. + + + + Gets or sets the flags associated with the function. + + + + + Marks a method as being visible to javascript code. + + + + + Creates a new JSFunctionAttribute instance with no flags. + + + + + Get or sets the name of the function, as exposed to javascript. + + + + + Indicates the function is non-standard. + + + + + Indicates the function is deprecated and should not be used. + + + + + Gets or sets the "typical" number of arguments expected by the function. + + + + + Gets or sets whether the property value is writable. If this flag is not set, + attempting to modify the property will fail. The default value of this property + is true. + + + + + + Gets or sets whether the property should be enumerable (exposed via the + for...in construct) in JavaScript code. The default value of this + property is false. + + + + + + Gets or sets whether the property should be configurable, that is, whether + the property may be changed or have its descriptor changed by JavaScript + code. The default value of this property is true. + + + + + + Marks a method as being visible to javascript code. + Used internally - has different defaults to what you would expect. + + + + + Gets or sets the number of parameters that are required. If the function is called + with fewer than this number of arguments, then a TypeError will be thrown. + + + + + Marks a property as being visible to JavaScript code. + + + + + Creates a new + + + + + Gets or sets the name of the property as exposed to JavaScript code. + + + + + Gets or sets whether the property should be enumerable (exposed via the + for...in construct) in JavaScript code. The default value of this + property is false. + + + + + + Gets or sets whether the property should be configurable, that is, whether + the property may be changed or have its descriptor changed by JavaScript + code. The default value of this property is true. + + + + + + Some built-in objects act like both classes and functions depending on whether the + new operator is used (for example, the Number object acts this way). This + property indicates that the method should be called when an object is called like + a function. + + + + + Indicates that the method should be called when the new keyword is used. + + + + + Marks a field as being visible to javascript code. Currently only const fields + are supported. + + + + + Represents a container for property names and attributes. + + + + + Creates a new HiddenClassSchema instance from a modify or delete operation. + + + + + Creates a new HiddenClassSchema instance from an add operation. + + + + + Creates a hidden class schema with no properties. + + A hidden class schema with no properties. + + + + Gets the number of properties defined in this schema. + + + + + Gets the index into the Values array of the next added property. + + + + + Enumerates the property names for this schema. + + An enumerable collection of property names. + + + + Enumerates the property names and values for this schema. + + The array containing the property values. + An enumerable collection of property names and values. + + + + Gets the zero-based index of the property with the given name. + + The property key (either a string or a Symbol). + The zero-based index of the property, or -1 if a property with the + given name does not exist. + + + + Gets the zero-based index of the property with the given name and the attributes + associated with the property. + + The property key (either a string or a Symbol). + A structure containing the zero-based index of the property, or -1 if a property with the + given name does not exist. + + + + Adds a property to the schema. + + The property key of the property to add. + The property attributes. + A new schema with the extra property. + + + + Adds multiple properties to the schema. + + The properties to add. + A new schema with the extra properties. + + + + Deletes a property from the schema. + + The property key of the property to delete. + A new schema without the property. + + + + Modifies the attributes for a property in the schema. + + The property key of the property to modify. + The new attributes. + A new schema with the modified property. + + + + Creates the properties dictionary. + + + + + A set of flags that controls stub generation. + + + + + No flags were specified. + + + + + The first parameter to the function is the associated ScriptEngine. + + + + + The first (or second, if HasEngineParameter is specified) parameter to the + function is the this value. + + + + + Indicates that the instance object may be modified by the function. + + + + + A return value of null is converted to undefined immediately after control leaves the + method. + + + + + Represents the built-in javascript Object object. + + + + + Creates a new Object object. + + The next object in the prototype chain. + The prototype for instances created by this function. + + + + Creates a new Object instance. + + + + + Converts the given argument to an object. + + The value to convert. + + + + Converts the given argument to an object. + + The value to convert. + + + + Retrieves the next object in the prototype chain for the given object. + + The object to retrieve the prototype from. + The next object in the prototype chain for the given object, or null + if the object has no prototype chain. + + + + Sets the prototype of a specified object to another object or null. + + The object which is to have its prototype set. + The object's new prototype (an object or null). + The specified object. + + + + Gets an object that contains details of the property with the given name. + + The object to retrieve property details for. + The property key (either a string or a Symbol). + An object containing some of the following properties: configurable, + writable, enumerable, value, get and set. + + + + Creates an array containing the names of all the named properties on the object (even + the non-enumerable ones). + + The object to retrieve the property names for. + An array containing property names. + + + + Creates an array containing the symbols of all the symbol-based properties on the + object (even the non-enumerable ones). + + The object to retrieve the property symbols for. + An array containing symbols. + + + + Creates an object with the given prototype and, optionally, a set of properties. + + The script engine. + A reference to the next object in the prototype chain for the + created object. + An object containing one or more property descriptors. + A new object instance. + + + + Assigns enumerable properties of one or more source objects onto a destination object. + + The script engine. + The destination object to copy properties to. + One or more source objects to copy properties from. + A new object instance. + + + + Modifies the value and attributes of a property. + + The object to define the property on. + The property key (either a string or a Symbol). + A property descriptor containing some of the following + properties: configurable, writable, enumerable, value, get and set. + The object with the property. + + + + Modifies multiple properties on an object. + + The object to define the properties on. + An object containing one or more property descriptors. + The object with the properties. + + + + Prevents the addition or deletion of any properties on the given object. + + The object to modify. + The object that was affected. + + + + Prevents the addition, deletion or modification of any properties on the given object. + + The object to modify. + The object that was affected. + + + + Prevents the addition of any properties on the given object. + + The object to modify. + The object that was affected. + + + + Determines if addition or deletion of any properties on the object is allowed. + + The object to check. + true if properties can be added or at least one property can be + deleted; false otherwise. + + + + Determines if addition, deletion or modification of any properties on the object is + allowed. + + The object to check. + true if properties can be added or at least one property can be + deleted or modified; false otherwise. + + + + Determines if addition of properties on the object is allowed. + + The object to check. + true if properties can be added to the object; false otherwise. + + + + Creates an array containing the names of all the enumerable properties on the object. + + The object to retrieve the property names for. + An array containing the names of all the enumerable properties on the object. + + + + Determines whether two values are the same value. Note that this method considers NaN + to be equal with itself and negative zero is considered different from positive zero. + + The first value to compare. + The second value to compare. + true if the values are the same. + + + + Transforms a list of key-value pairs into an object. + + An iterable such as Array or Map. + A new object whose properties are given by the entries of the iterable. + + + + Provides functionality common to all JavaScript objects. + + + + + Indicates whether properties can be added to this object. + + + + + Creates an Object with the default prototype. + + The script engine associated with this object. + + + + Called by derived classes to create a new object instance. + + The next object in the prototype chain. Cannot be null. + + + + Called by derived classes to create a new object instance. + + The script engine associated with this object. + The next object in the prototype chain. Can be null. + + + + Creates an Object with no prototype to serve as the base prototype of all objects. + + The script engine associated with this object. + An Object with no prototype. + + + + Creates an Object instance (use ObjectConstructor.Construct rather than this). + + The next object in the prototype chain. + An Object instance. + + + + Initializes the prototype properties. + + The object to set the properties on. + A reference to the constructor that owns the prototype. + + + + Gets a reference to the script engine associated with this object. + + + + + Gets the next object in the prototype chain. There is no corresponding property in + javascript (it is is *not* the same as the prototype property), instead use + Object.getPrototypeOf(). Returns null for the root object in the prototype + chain. Use to set this value. + + + + + Gets a value that indicates whether the object can have new properties added to it. + Called by Object.isExtensible(). Use to set this value. + + + + + Gets or sets the value of a named property. + + The property key (either a string or a Symbol). + The property value, or if the property doesn't + exist. + + + + Gets or sets the value of an array-indexed property. + + The index of the property to retrieve. + The property value, or if the property doesn't + exist. + + + + Gets or sets the value of an array-indexed property. + + The index of the property to retrieve. + The property value, or if the property doesn't + exist. + + + + Gets an enumerable list of every property name and value associated with this object. + Does not include properties in the prototype chain. + + + + + Gets an enumerable list of every property name associated with this object. + Does not include properties in the prototype chain. + + + + + Sets the next object in the prototype chain. Can be null, which indicates there + are no further objects in the chain. + + The new prototype. + true to throw an exception if the prototype could not + be set. This can happen if the object is non-extensible or if setting the prototype + would introduce a cyclic dependency. + true if the prototype was successfully applied; false otherwise. + + + + Makes this object non-extensible, which means no new properties can be added to it. + + true to throw an exception if the object could not + be made non-extensible. + true if the operation was successful, false otherwise. The + default implementation always returns true. + + + + Determines if a property with the given name exists. + + The property key (either a string or a Symbol). + true if the property exists on this object or in the prototype chain; + false otherwise. + + + + Gets the value of the property with the given array index. + + The array index of the property. + The value of the property, or null if the property doesn't exist. + The prototype chain is searched if the property does not exist directly on + this object. + + + + Gets the value of the property with the given array index. + + The array index of the property. + The value of the "this" keyword inside a getter. + The value of the property, or null if the property doesn't exist. + The prototype chain is searched if the property does not exist directly on + this object. + + + + Gets the value of the property with the given name. + + The property key (either a string or a Symbol). + The value of the property, or null if the property doesn't exist. + The prototype chain is searched if the property does not exist directly on + this object. + + + + Gets the value of the property with the given name. + + The property key (either a string or a Symbol). + The value of the "this" keyword inside a getter. + The value of the property, or null if the property doesn't exist. + The prototype chain is searched if the property does not exist directly on + this object. + + + + Gets the value of the property with the given name. + + The property key (either a string or a Symbol). + Receives the value of the property, or null if the property + doesn't exist. + true if the value exists, false otherwise. + + + + Gets the value of the property with the given name. + + The name of the property. + The value of the property, or if the property + doesn't exist. + The prototype chain is searched if the property does not exist directly on + this object. + + + + Gets the value of the property with the given name. The name cannot be an array index. + + The property key (either a string or a Symbol). Cannot be an array index. + The value of the "this" keyword inside a getter. + The value of the property, or null if the property doesn't exist. + The prototype chain is searched if the property does not exist directly on + this object. + + + + Gets a descriptor for the property with the given array index. + + The array index of the property. + A property descriptor containing the property value and attributes. + The prototype chain is not searched. + + + + Gets a descriptor for the property with the given name. + + The property key (either a string or a Symbol). + A property descriptor containing the property value and attributes. + The prototype chain is not searched. + + + + Returns the function with the given name, if it exists. + + The property key (either a string or a Symbol). Cannot be a number. + The method with the given name, if it exists; otherwise null. + A property exists with the given name, but it's not callable. + + + + Sets the value of the property with the given array index. If a property with the + given index does not exist, or exists in the prototype chain (and is not a setter) then + a new property is created. + + The array index of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + true to throw an exception if the property could not + be set. This can happen if the property is read-only or if the object is sealed. + false if an error occurred. + + + + Sets the value of the property with the given array index. If a property with the + given index does not exist, or exists in the prototype chain (and is not a setter) then + a new property is created. + + The array index of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + The value of the "this" keyword inside a setter. + true to throw an exception if the property could not + be set. This can happen if the property is read-only or if the object is sealed. + false if an error occurred. + + + + Sets the value of the property with the given name. If a property with the given name + does not exist, or exists in the prototype chain (and is not a setter) then a new + property is created. + + The property key of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + true to throw an exception if the property could not + be set (i.e. if the property is read-only or if the object is not extensible and a new + property needs to be created). + false if is false and an error + occurred; true otherwise. + + + + Sets the value of the property with the given name. If a property with the given name + does not exist, or exists in the prototype chain (and is not a setter) then a new + property is created. + + The property key of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + The value of the "this" keyword inside a setter. + true to throw an exception if the property could not + be set (i.e. if the property is read-only or if the object is not extensible and a new + property needs to be created). + false if is false and an error + occurred; true otherwise. + + + + Sets the value of the property with the given name. If a property with the given name + does not exist, or exists in the prototype chain (and is not a setter) then a new + property is created. + + The name of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + true to throw an exception if the property could not + be set (i.e. if the property is read-only or if the object is not extensible and a new + property needs to be created). + false if is false and an error + occurred; true otherwise. + + + + Sets the value of the property with the given name. If a property with the given name + does not exist, or exists in the prototype chain (and is not a setter) then a new + property is created. + + The name of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + The value of the "this" keyword inside a setter. + true to throw an exception if the property could not + be set (i.e. if the property is read-only or if the object is not extensible and a new + property needs to be created). + false if is false and an error + occurred; true otherwise. + + + + Sets the value of the given property. If a property with the given name exists, but + only in the prototype chain, then a new property is created (unless the property is a + setter, in which case the setter is called and no property is created). If the + property does not exist at all, then no property is created and the method returns + false. This method is used to set the value of a variable reference within a + with statement. + + The property key (either a string or a Symbol). Cannot be an array index. + The desired value of the property. This must be a javascript + primitive (double, string, etc) or a class derived from . + The value of the "this" keyword inside a setter. + true to throw an exception if the property could not + be set (i.e. if the property is read-only or if the object is not extensible and a new + property needs to be created). + Set to true if the property value exists; false otherwise. + false if is false and an error + occurred; true otherwise. + + + + Deletes the property with the given array index. + + The array index of the property to delete. + true to throw an exception if the property could not + be set because the property was marked as non-configurable. + true if the property was successfully deleted, or if the property did + not exist; false if the property was marked as non-configurable and + was false. + + + + Deletes the property with the given name. + + The property key of the property to delete. + true to throw an exception if the property could not + be set because the property was marked as non-configurable. + true if the property was successfully deleted, or if the property did + not exist; false if the property was marked as non-configurable and + was false. + + + + Defines or redefines the value and attributes of a property. The prototype chain is + not searched so if the property exists but only in the prototype chain a new property + will be created. + + The property key of the property to modify. + The property value and attributes. + true to throw an exception if the property could not + be set. This can happen if the property is not configurable or the object is sealed. + true if the property was successfully modified; false otherwise. + + + + Checks whether the given descriptor is compatible with the current descriptor. + + Indicates whether the target object is extensible. + The new descriptor. + The descriptor corresponding to the currently existing property. + true if the new descriptor is compatible with the old one; false otherwise. + + + + Adds a property to this object. The property must not already exist. + + The property key of the property to add. + The desired value of the property. This can be a + . + Attributes describing how the property may be modified. + true to throw an exception if the property could not + be added (i.e. if the object is not extensible). + true if the property was successfully added; false otherwise. + + + + Sets a property value and attributes, or adds a new property if it doesn't already + exist. Any existing attributes are ignored (and not modified). + + The property key (either a string or a Symbol). + The intended value of the property. + Attributes that indicate whether the property is writable, + configurable and enumerable. + Indicates whether to overwrite any existing attributes. + + + + Sets up multiple properties at once. Can only be called on an empty object. + + The list of properties to set. + + + + Initializes a property to be undefined, if the property doesn't exist. + If it does exist, then this method does nothing. + + The property key of the property. + The attributes of the new property, if it doesn't exist. + + + + Returns a primitive value that represents the current object. Used by the addition and + equality operators. + + Indicates the preferred type of the result. + A primitive value that represents the current object. + + + + Returns a primitive value that represents the current object, without using the + @@toPrimitive symbol. + + Indicates the preferred type of the result. + A primitive value that represents the current object. + + + + Calls the function with the given name. The function must exist on this object or an + exception will be thrown. + + The name of the function to call (or a symbol). + The parameters to pass to the function. + The result of calling the function. + + + + Calls the function with the given name. + + The result of calling the function. + The name or symbol of the function to call. + The parameters to pass to the function. + true if the function was called successfully; false otherwise. + + + + Returns a string representing this object. + + A string representing this object. + + + + Determines if a property with the given name exists on this object. + + The associated script engine. + The object that is being operated on. + The property key (either a string or a Symbol). + true if a property with the given name exists on this object, + false otherwise. + Objects in the prototype chain are not considered. + + + + Determines if this object is in the prototype chain of the given object. + + The associated script engine. + The object that is being operated on. + The object to check. + true if this object is in the prototype chain of the given object; + false otherwise. + + + + Determines if a property with the given name exists on this object and is enumerable. + + The associated script engine. + The object that is being operated on. + The property key (either a string or a Symbol). + true if a property with the given name exists on this object and is + enumerable, false otherwise. + Objects in the prototype chain are not considered. + + + + Returns a locale-dependant string representing the current object. + + Returns a locale-dependant string representing the current object. + + + + Returns a primitive value associated with the object. + + A primitive value associated with the object. + + + + Returns a string representing the current object. + + The current script environment. + The value of the "this" keyword. + A string representing the current object. + + + + Populates the object with functions by searching a .NET type for methods marked with + the [JSFunction] attribute. Should be called only once at startup. Also automatically + populates properties marked with the [JSProperty] attribute. + + + + + Populates the object with functions by searching a .NET type for methods marked with + the [JSFunction] attribute. Should be called only once at startup. Also automatically + populates properties marked with the [JSProperty] attribute. + + The type to search for methods. + + + + Populates the object with functions by searching a .NET type for methods marked with + the [JSFunction] attribute. Should be called only once at startup. Also automatically + populates properties marked with the [JSProperty] attribute. + + The type to search for methods. + The binding flags to use to search for properties and methods. + + + + Populates the object with properties by searching a .NET type for fields marked with + the [JSField] attribute. Should be called only once at startup. + + + + + Populates the object with properties by searching a .NET type for fields marked with + the [JSField] attribute. Should be called only once at startup. + + The type to search for fields. + + + + Represents a the value of an accessor property. + + + + + Creates a new PropertyAccessorValue instance. + + The getter function, or null if no getter was provided. + The setter function, or null if no setter was provided. + + + + Gets the function that is called when the property value is retrieved. + + + + + Gets the function that is called when the property value is modified. + + + + + Gets the property value by calling the getter, if one is present. + + The value of the "this" keyword inside the getter. + The property value returned by the getter. + + + + Sets the property value by calling the setter, if one is present. + + The value of the "this" keyword inside the setter. + The desired value. + + + + Returns a string that represents the current object. + + + + + A set of flags which controls the accessibility of properties. + + + + + Indicates the property value is not writable, enumerable or configurable. This is + the default for built-in properties. + + + + + Indicates the property value is writable. If this flag is not set, attempting to + modify the property will fail. Not used if the property is an accessor property. + + + + + Indicates the property will be enumerated by a for-in enumeration. Otherwise, the + property is said to be non-enumerable. + + + + + Indicates the property can be deleted or changed to an accessor property or have it's + flags changed. + + + + + Indicates the property can be modified and deleted but will not be enumerated. + + + + + Indicates the property is read-write, enumerable and configurable. This is the default + for user-created properties. + + + + + Indicates the property is an accessor property (i.e. it has a getter or a setter). + + + + + Indicates the property is the "magic" length property (only found on arrays). + + + + + Represents either a named data property, or a named accessor property. + + + + + Creates a new PropertyDescriptor instance. + + The initial value for the property. + The property attributes. + + + + Creates a new PropertyDescriptor instance with a getter function and, optionally, a + setter function. + + The function to call to retrieve the property value. + The function to call to set the property value. + The property attributes (whether the property is writable or + not is implied by whether there is a setter function). + + + + Indicates that a property doesn't exist. + + + + + Used to indicate that a property whose value is undefined, and is not writable, + enumerable or configurable. + + + + + Gets a value that indicates whether the property exists. + + + + + Gets the property attributes. These attributes describe how the property can + be modified. + + + + + Gets a boolean value indicating whether the property value can be set. + + + + + Gets a boolean value indicating whether the property value will be included during an + enumeration. + + + + + Gets a boolean value indicating whether the property can be deleted. + + + + + Gets the raw property value. Does not call the get accessor, even if one is present. + + + + + Returns a string representing the current object. + + A string representing the current object. + + + + Gets a value that indicates whether the value is computed using accessor functions. + + + + + Gets the function that is called when the property value is retrieved, assuming this + property value is computed using accessor functions. Returns null if the + property is not a accessor property. + + + + + Gets the function that is called when the property value is modified, assuming this + property value is computed using accessor functions. Returns null if the + property is not a accessor property. + + + + + Creates a property descriptor from an object containing any of the following + properties: configurable, writable, enumerable, value, get, set. + + The object to get the property values from. + The values to use if the relevant value is not specified. + A PropertyDescriptor that corresponds to the object. + + + + Populates an object with the following properties: configurable, writable, enumerable, + value, get, set. + + The script engine used to create a new object. + An object with the information in this property descriptor set as individual + properties. + + + + Checks whether the given descriptor is compatible with the current descriptor. + + The new descriptor. + The descriptor corresponding to the currently existing property. + true if the new descriptor is compatible with the old one; false otherwise. + + + + Represents a property name and value. + + + + + Initializes a property with any descriptor. + + The property key (either a string or a Symbol). + A descriptor describing the property. + + + + Initializes a simple property. + + The property key (either a string or a Symbol). + The property value. + Indicates whether the property is readable, writable and/or enumerable. + + + + Initializes a getter/setter property. + + The property key (either a string or a Symbol). + The function to call to retrieve the property value. + The function to call to set the property value. + Indicates whether the property is readable, writable and/or enumerable. + + + + Gets the property key. + + + + + Gets the value of the property. + + + + + Gets the property attributes. These attributes describe how the property can + be modified. + + + + + Gets a boolean value indicating whether the property value can be set. + + + + + Gets a boolean value indicating whether the property value will be included during an + enumeration. + + + + + Gets a boolean value indicating whether the property can be deleted. + + + + + Returns a string that represents the current object. + + + + + Represents a property name. Used to speed up access to object properties and global variables. + + + + + Creates a new PropertyName instance. + + The name of the property to be accessed. + + + + The property name. + + + + + A reference to a schema that defines how properties are stored. + + + + + The index into the property array. + + + + + Caches property details. + + A reference to a schema that defines how properties are stored. + The index into the property array. + + + + Clears the cached property details. + + + + + Returns a textual representation of this object. + + + + + + Represents the information stored about a property in the class schema. + + + + + Creates a new SchemaProperty instance. + + The index of the property in the backing array. + The property attributes. These attributes describe how the + property can be modified. + + + + Gets a value that indicates that a property doesn't exist. + + + + + Gets the index of the property in the backing array. + + + + + Gets the property attributes. These attributes describe how the property can + be modified. + + + + + Gets a value that indicates whether the property exists. + + + + + Gets a boolean value indicating whether the property value can be set. + + + + + Gets a boolean value indicating whether the property value will be included during an + enumeration. + + + + + Gets a boolean value indicating whether the property can be deleted. + + + + + Gets a value that indicates whether the value is computed using accessor functions. + + + + + Gets a value that indicates whether the property is the magic length property. + + + + + Represents the built-in javascript Promise object. + + + + + Creates a new promise constructor. + + The next object in the prototype chain. + + + + Called when the Promise object is invoked like a function, e.g. var x = Promise(). + Throws an error. + + + + + Creates a new Promise instance. + + The function that the promise executes. + The Promise instance. + + + + Creates a new Promise instance from a task. + + A task to wait on. + The Promise instance. + + If the task is of type Task<object> then the result of the task will be used to + resolve the promise. Otherwise, the promise is resolved with "undefined" as the value. + + + + + A reference to the constructor function that is used to create derived objects. + + + + + Returns a Promise that is rejected for the specified reason. + + The reason. Can be an Error instance. + + + + + Returns either a new promise resolved with the passed argument, or the argument itself + if the argument is a promise produced by this constructor. + + Argument to be resolved by this Promise. Can also be a Promise or + a thenable to resolve. + + + + + Returns a new promise which is settled in the same way as the first passed promise to + settle. All elements of the passed iterable are resolved to promises. + + An iterable object such as an Array. + + + + + Returns a Promise. It takes one argument: a list of Promises that determine whether + the new Promise is fulfilled or rejected. + + An iterable object such as an Array. + + + + + Represents an instance of the Promise object. + + + + + Creates a new Promise instance. + + + + + + + Creates a new Promise instance. + + + + + + Resolves the promise with the given value. If the value is an object with a "then" + function, the returned promise will "follow" that thenable, adopting its eventual + state; otherwise the returned promise will be fulfilled with the value. + + The resolved value of the promise, or a promise or thenable to + follow. + + + + Rejects the promise with the given reason. + + The reason why this promise rejected. Can be an Error instance. + + + + Creates the Promise prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + When the promise is completed, i.e either fulfilled or rejected, the specified callback + function is executed. + + A Function called when the Promise is completed. + + + + + Returns a Promise and deals with rejected cases only. It behaves the same as calling + Promise.prototype.then(undefined, onRejected). + + A Function called when the Promise is rejected. This function + has one argument, the rejection reason. + + + + + Returns a Promise. It takes two arguments: callback functions for the success and + failure cases of the Promise. + + A Function called when the Promise is fulfilled. This + function has one argument, the fulfillment value. + A Function called when the Promise is rejected. This function + has one argument, the rejection reason. + + + + + Creates a task that completes when this promise completes. + + The task that completes when this promise completes. + + + + Gets the promise status. Used by debugger decoration only. + + + + + Gets the promise result. Used by debugger decoration only. + + + + + Gets a function that will resolve the promise. + + + + + Gets a function that will reject the promise. + + + + + Represents a proxy instance. + + + + + The proxy target. + + + + + Invalidates (switches off) the proxy. + + + + + The Set object lets you store unique values of any type, whether primitive values or object references. + + + + + Creates a new set constructor. + + The next object in the prototype chain. + + + + Called when the typed array object is invoked like a function, e.g. Proxy(). + Throws an error. + + + + + Creates a proxy object. + + A target object to wrap with Proxy. It can be any sort of object, including a native array, a function, or even another proxy. + An object whose properties are functions that define the behavior of the proxy when an operation is performed on it. + A new proxy object. + + + + Creates a revocable proxy object. + + The script engine. + A target object to wrap with Proxy. It can be any sort of object, including a native array, a function, or even another proxy. + An object whose properties are functions that define the behavior of the proxy when an operation is performed on it. + A new proxy object. + + + + Represents a callable, constructable instance of the Proxy class. + + + + + Creates a new proxy instance. + + The script engine. + A target object to wrap with Proxy. It can be any sort of object, + including a native array, a function, or even another proxy. + An object whose properties are functions that define the + behavior of the proxy when an operation is performed on it. + + + + The proxy target. + + + + + Invalidates (switches off) the proxy. + + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The value of the "this" keyword within the function. + An array of argument values. + The value that was returned from the function. + + + + Creates an object, using this function as the constructor. + + The value of 'new.target'. + An array of argument values. + The object that was created. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents an instance of the Proxy class, one that is non-callable and non-constructable. + + + + + Creates a new proxy instance. + + The script engine. + A target object to wrap with Proxy. It can be any sort of object, + including a native array, a function, or even another proxy. + An object whose properties are functions that define the + behavior of the proxy when an operation is performed on it. + + + + The proxy target. + + + + + Invalidates (switches off) the proxy. + + + + + Gets the next object in the prototype chain. There is no corresponding property in + javascript (it is is *not* the same as the prototype property), instead use + Object.getPrototypeOf(). Returns null for the root object in the prototype + chain. Use to set this value. + + + Enforces the following invariants: + * The return value must be either an Object or null. + * If the target object is not extensible, the return value must be the same as + Object.getPrototypeOf() applied to the proxy object's target object. + + + + + Sets the next object in the prototype chain. Can be null, which indicates there + are no further objects in the chain. + + The new prototype. + true to throw an exception if the prototype could not + be set. This can happen if the object is non-extensible or if setting the prototype + would introduce a cyclic dependency. + true if the prototype was successfully applied; false otherwise. + + + + Gets a value that indicates whether the object can have new properties added to it. + Called by Object.isExtensible(). Use to set this value. + + + + + Makes this object non-extensible, which means no new properties can be added to it. + + true to throw an exception if the object could not + be made non-extensible. + true if the operation was successful, false otherwise. + + + + Gets a descriptor for the property with the given array index. + + The array index of the property. + A property descriptor containing the property value and attributes. + The prototype chain is not searched. + + + + Gets a descriptor for the property with the given name. + + The property key (either a string or a Symbol). + A property descriptor containing the property value and attributes. + + Enforces the following invariants: + * The result of [[GetOwnProperty]] must be either an Object or undefined. + * A property cannot be reported as non-existent, if it exists as a non-configurable own + property of the target object. + * A property cannot be reported as non-existent, if the target object is not + extensible, unless it does not exist as an own property of the target object. + * A property cannot be reported as existent, if the target object is not extensible, + unless it exists as an own property of the target object. + * A property cannot be reported as non-configurable, unless it exists as a + non-configurable own property of the target object. + * A property cannot be reported as both non-configurable and non-writable, unless it + exists as a non-configurable, non-writable own property of the target object. + + + + + Defines or redefines the value and attributes of a property. The prototype chain is + not searched so if the property exists but only in the prototype chain a new property + will be created. + + The property key of the property to modify. + The property value and attributes. + true to throw an exception if the property could not + be set. This can happen if the property is not configurable or the object is sealed. + true if the property was successfully modified; false otherwise. + + + + Determines if a property with the given name exists. + + The property key (either a string or a Symbol). + true if the property exists on this object or in the prototype chain; + false otherwise. + + + + Gets the value of the property with the given array index. + + The array index of the property. + The value of the "this" keyword inside a getter. + The value of the property, or null if the property doesn't exist. + The prototype chain is searched if the property does not exist directly on + this object. + + + + Gets the value of the property with the given name. + + The name of the property. + The value of the property, or if the property + doesn't exist. + The prototype chain is searched if the property does not exist directly on + this object. + + + + Gets the value of the property with the given name. The name cannot be an array index. + + The property key (either a string or a Symbol). Cannot be an array index. + The value of the "this" keyword inside a getter. + The value of the property, or null if the property doesn't exist. + The prototype chain is searched if the property does not exist directly on + this object. + + + + Gets the value of the property with the given name. + + The property key (either a string or a Symbol). + The value of the "this" keyword inside a getter. + The value of the property, or null if the property doesn't exist. + The prototype chain is searched if the property does not exist directly on + this object. + + + + Sets the value of the property with the given array index. If a property with the + given index does not exist, or exists in the prototype chain (and is not a setter) then + a new property is created. + + The array index of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + The value of the "this" keyword inside a setter. + true to throw an exception if the property could not + be set. This can happen if the property is read-only or if the object is sealed. + false if an error occurred. + + + + Sets the value of the property with the given name. If a property with the given name + does not exist, or exists in the prototype chain (and is not a setter) then a new + property is created. + + The name of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + The value of the "this" keyword inside a setter. + true to throw an exception if the property could not + be set (i.e. if the property is read-only or if the object is not extensible and a new + property needs to be created). + false if is false and an error + occurred; true otherwise. + + + + Sets the value of the property with the given name. If a property with the given name + does not exist, or exists in the prototype chain (and is not a setter) then a new + property is created. + + The property key of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + The value of the "this" keyword inside a setter. + true to throw an exception if the property could not + be set (i.e. if the property is read-only or if the object is not extensible and a new + property needs to be created). + false if is false and an error + occurred; true otherwise. + + + + Deletes the property with the given name. + + The property key of the property to delete. + true to throw an exception if the property could not + be set because the property was marked as non-configurable. + true if the property was successfully deleted, or if the property did + not exist; false if the property was marked as non-configurable and + was false. + + + + Gets an enumerable list of every property name associated with this object. + Does not include properties in the prototype chain. + + + + + Represents the built-in Reflect class that provides methods for interceptable JavaScript + operations. + + + + + Creates a new Reflect object. + + The next object in the prototype chain. + + + + Calls a target function with arguments as specified by the argumentsList parameter. + See also Function.prototype.apply(). + + The target function to call. + The value of this provided for the call to target. + An array-like object specifying the arguments with which target should be called. + The result of calling the given target function with the specified this value and arguments. + + + + The new operator as a function. Equivalent to calling new target(...argumentsList). Also provides the option to specify a different prototype. + + The target function to call. + An array-like object specifying the arguments with which target should be called. + The constructor whose prototype should be used. See also the new.target operator. If newTarget is not present, its value defaults to target. + A new instance of target (or newTarget, if present), initialized by target as a constructor with the given argumentsList. + + + + Similar to Object.defineProperty(). Returns a Boolean that is true if the property was successfully defined. + + The target object on which to define the property. + The name of the property to be defined or modified. + The attributes for the property being defined or modified. + A Boolean indicating whether or not the property was successfully defined. + + + + The delete operator as a function. Equivalent to calling delete target[propertyKey]. + + The target object on which to delete the property. + The name of the property to be deleted. + A Boolean indicating whether or not the property was successfully deleted. + + + + Returns the value of the property. Works like getting a property from an object (target[propertyKey]) as a function. + + The target object on which to get the property. + The name of the property to get. + The value of this provided for the call to target if a getter + is encountered. When used with Proxy, it can be an object that inherits from target. + The value of the property. + + + + Similar to Object.getOwnPropertyDescriptor(). Returns a property descriptor of the given property if it exists on the object, undefined otherwise. + + The target object in which to look for the property. + The name of the property to get an own property descriptor for. + + + + + Same as Object.getPrototypeOf(). + + The target object of which to get the prototype. + The prototype of the given object. If there are no inherited properties, null is returned. + + + + Returns a Boolean indicating whether the target has the property. Either as own or + inherited. Works like the in operator as a function. + + The target object in which to look for the property. + The name of the property to check. + A Boolean indicating whether or not the target has the property. + + + + Same as Object.isExtensible(). Returns a Boolean that is true if the target is extensible. + + The target object which to check if it is extensible. + A Boolean indicating whether or not the target is extensible. + + + + Returns an array of the target object's own (not inherited) property keys. + + The target object from which to get the own keys. + An Array of the target object's own property keys. + + + + Similar to Object.preventExtensions(). + + The target object on which to prevent extensions. + A Boolean indicating whether or not the target was successfully set to prevent extensions. + + + + A function that assigns values to properties. Returns a Boolean that is true if the update was successful. + + The target object on which to set the property. + The name of the property to set. + The value to set. + The value of this provided for the call to target if a setter is encountered. + A Boolean indicating whether or not setting the property was successful. + + + + A function that sets the prototype of an object. Returns a Boolean that is true if the update was successful. + + The target object of which to set the prototype. + The object's new prototype (an object or null). + A Boolean indicating whether or not the prototype was successfully set. + + + + Represents the built-in javascript RegExp object. + + + + + Creates a new RegExp object. + + The next object in the prototype chain. + + + + A reference to the constructor function that is used to create derived objects. + + + + + Adds the deprecated RegExp properties to the given list. + + The list to add to. + + + + Initializes a single deprecated property. + + The list to add to. + The name of the property. + The property getter. + The property attributes (determines whether the property is enumerable). + + + + Sets the deprecated RegExp properties. + + The string against which a regular expression is matched. + The regular expression match to base the properties on. + + + + Gets the value of RegExp.input and RegExp.$_. + + The value of RegExp.input and RegExp.$_. + + + + Adapter for GetInput(). + + + + + + + + + Gets the value of RegExp.$1. + + The value of RegExp.$1. + + + + Adapter for GetGroup1(). + + + + + + + + + Gets the value of RegExp.$2. + + The value of RegExp.$2. + + + + Adapter for GetGroup2(). + + + + + + + + + Gets the value of RegExp.$3. + + The value of RegExp.$3. + + + + Adapter for GetGroup3(). + + + + + + + + + Gets the value of RegExp.$4. + + The value of RegExp.$4. + + + + Adapter for GetGroup4(). + + + + + + + + + Gets the value of RegExp.$5. + + The value of RegExp.$5. + + + + Adapter for GetGroup5(). + + + + + + + + + Gets the value of RegExp.$6. + + The value of RegExp.$6. + + + + Adapter for GetGroup6(). + + + + + + + + + Gets the value of RegExp.$7. + + The value of RegExp.$7. + + + + Adapter for GetGroup7(). + + + + + + + + + Gets the value of RegExp.$8. + + The value of RegExp.$8. + + + + Adapter for GetGroup8(). + + + + + + + + + Gets the value of RegExp.$9. + + The value of RegExp.$9. + + + + Adapter for GetGroup9(). + + + + + + + + + Gets the value of RegExp.lastMatch and RegExp.$&. + + The value of RegExp.lastMatch and RegExp.$&. + + + + Adapter for GetLastMatch(). + + + + + + + + + Gets the value of RegExp.lastParen and RegExp.$+. + + The value of RegExp.lastParen and RegExp.$+. + + + + Adapter for GetLastParen(). + + + + + + + + + Gets the value of RegExp.leftContext and RegExp.$`. + + The value of RegExp.leftContext and RegExp.$`. + + + + Adapter for GetLeftContext(). + + + + + + + + + Gets the value of RegExp.rightContext and RegExp.$'. + + The value of RegExp.rightContext and RegExp.$'. + + + + Adapter for GetRightContext(). + + + + + + + + + Called when the RegExp object is invoked like a function e.g. RegExp('abc', 'g') or + RegExp(/abc/). If a string is passed as the first parameter it creates a new regular + expression instance. Otherwise, if a regular expression is passed it returns the given + regular expression verbatim. + + A regular expression pattern or a regular expression. + Available flags, which may be combined, are: + g (global search for all occurrences of pattern) + i (ignore case) + m (multiline search) + + + + Called when the new keyword is used on the RegExp object e.g. new RegExp(/abc/). + Creates a new regular expression instance. + + The regular expression pattern, or a regular expression + to clone. + Available flags, which may be combined, are: + g (global search for all occurrences of pattern) + i (ignore case) + m (multiline search) + + + + Called when the new keyword is used on the RegExp object e.g. new RegExp(/abc/). + Creates a new regular expression instance. + + The value of the new.target expression. + The regular expression pattern, or a regular expression + to clone. + Available flags, which may be combined, are: + g (global search for all occurrences of pattern) + i (ignore case) + m (multiline search) + + + + Represents an instance of the RegExp object. + + + + + Creates a new regular expression instance. + + The next object in the prototype chain. + The regular expression pattern. + Available flags, which may be combined, are: + g (global search for all occurrences of pattern) + i (ignore case) + m (multiline search) + + + + Creates a new regular expression instance by copying the pattern and flags from another + RegExp instance. + + The next object in the prototype chain. + The instance to copy the pattern and flags from. + + + + Creates the RegExp prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Gets the primitive value of this object. + + + + + Gets the regular expression pattern. + + + + + Gets a string that contains the flags. + + + + + Gets a value that indicates whether the global flag is set. If this flag is set it + indicates that a search should find all occurrences of the pattern within the searched + string, not just the first one. + + + + + Gets a value that indicates whether the multiline flag is set. If this flag is set it + indicates that the ^ and $ tokens should match the start and end of lines and not just + the start and end of the string. + + + + + Gets a value that indicates whether the ignoreCase flag is set. If this flag is set it + indicates that a search should ignore differences in case between the pattern and the + matched string. + + + + + Gets the character position to start searching when the global flag is set. + + + + + Compiles the regular expression for faster execution. + + The regular expression pattern. + Available flags, which may be combined, are: + g (global search for all occurrences of pattern) + i (ignore case) + m (multiline search) + + + + Returns a boolean value that indicates whether or not a pattern exists in a searched string. + + The string on which to perform the search. + true if the regular expression has at least one match in the given + string; false otherwise. + + + + Executes a search on a string using a regular expression pattern, and returns an array + containing the results of that search. + + The string on which to perform the search. + Returns an array containing the match and submatch details, or null if + no match was found. The array returned by the exec method has three properties, input, + index and lastIndex. The input property contains the entire searched string. The index + property contains the position of the matched substring within the complete searched + string. The lastIndex property contains the position following the last character in + the match. + + + + Calculates the position to start searching. + + The string on which to perform the search. + The character position to start searching. + + + + Finds all regular expression matches within the given string. + + The string on which to perform the search. + An array containing the matched strings. + + + + Returns a copy of the given string with text replaced using a regular expression. + + The string on which to perform the search. + A string containing the text to replace for every successful match. + A copy of the given string with text replaced using a regular expression. + + + + Returns a copy of the given string with text replaced using a regular expression. + + The string on which to perform the search. + A string containing the text to replace for every successful match. + A copy of the given string with text replaced using a regular expression. + + + + Returns a copy of the given string with text replaced using a regular expression. + + The string on which to perform the search. + A function that is called to produce the text to replace + for every successful match. + A copy of the given string with text replaced using a regular expression. + + + + Returns the position of the first substring match in a regular expression search. + + The string on which to perform the search. + The character position of the first match, or -1 if no match was found. + + + + Splits the given string into an array of strings by separating the string into substrings. + + The string to split. + The maximum number of array items to return. Defaults to unlimited. + An array containing the split strings. + + + + Returns a string representing the current object. + + The object that is being operated on. + A string representing the current object. + + + + Parses the flags parameter into an enum. + + Available flags, which may be combined, are: + g (global search for all occurrences of pattern) + i (ignore case) + m (multiline search) + RegexOptions flags that correspond to the given flags. + + + + Creates a .NET Regex object using the given pattern and options. + + The pattern string. + The regular expression options. + A constructed .NET Regex object. + + + + The Set object lets you store unique values of any type, whether primitive values or object references. + + + + + Creates a new set constructor. + + The next object in the prototype chain. + + + + A reference to the constructor function that is used to create derived objects. + + + + + Called when the typed array object is invoked like a function, e.g. Int8Array(). + Throws an error. + + + + + Creates a new set instance. + + If an iterable object is passed, all of its elements will be + added to the new Set. null is treated as undefined. + A new set instance. + + + + The Set object lets you store unique values of any type, whether primitive values or object references. + + + + + Creates a new set instance. + + The next object in the prototype chain. + + + + Creates the Set prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Called before a linked list node is deleted. + + + + + Gets the internal storage. Used by debugger decoration only. + + + + + The number of elements in the Set. + + + + + Appends a new element with a specified value to the end of the Set. + + The value of the element to add to the Set. + The Set object. + + + + Removes all elements from a Set + + + + + Removes the specified value from the Set. + + The value of the element to remove from the Set. + true if an element in the Set object has been removed successfully; + otherwise false. + + + + Returns a new array iterator object that contains the key/value pairs for each index in + the array. + + An array iterator object that contains the key/value pairs for each index in + the array. + + + + Executes a provided function once per each value in the Set, in insertion order. + + Function to execute for each element. + Value to use as this when executing callback. + + + + Returns a boolean indicating whether an element with the specified value exists in the + Set or not. + + The value to test for presence in the Set. + true if an element with the specified value exists in the Set object; + otherwise false. + + + + Returns a new array iterator object that contains the keys for each index in the array. + + An array iterator object that contains the keys for each index in the array. + + + + Returns a new array iterator object that contains the values for each index in the + array. + + An array iterator object that contains the values for each index in the + array. + + + + Implements the SameValueZero comparison operation. + + + + + Represents an iteration over a Set. + + + + + Creates a new set iterator. + + The next object in the prototype chain. + The set to iterate over. + The linked list to iterate over. + The type of values to return. + + + + Creates the array iterator prototype object. + + The script environment. + + + + Called before a linked list node is deleted. + + The node that is being deleted. + + + + The tag value that is used by the base implementation of toString(). + + + + + Moves the iterator to the next element in the array. + + An object containing two properies: value and done. + + + + Gets wheter the end is reached. Used by debugger decoration only. + + + + + Gets current index. Used by debugger decoration only. + + + + + Gets what is iterated - key, value or both. + + + + + Gets the iterated Set. + + + + + Represents the built-in javascript String object. + + + + + Creates a new String object. + + The next object in the prototype chain. + + + + Called when the String object is invoked like a function, e.g. var x = String(). + Returns an empty string. + + + + + Called when the String object is invoked like a function, e.g. var x = String(NaN). + Converts the given argument into a string value (not a String object). + + + + + Creates a new String instance and initializes it to the empty string. + + + + + Creates a new String instance and initializes it to the given value. + + The value to initialize to. + + + + Returns a string created by using the specified sequence of Unicode values. + + An array of 16-bit character codes. + + + + + Returns a string created by using the specified sequence of Unicode codepoints. + + The script engine. + An array of unicode code points. + + + + + A tag function of template literals which is used to get the raw string form of + template strings (that is, the original, uninterpreted text). + + The script engine. + Well-formed template call site object e.g. { raw: ['one', 'two'] }. + Contains substitution values. + A formatted string containing the raw template literal text (with + substitutions included). + + + + Represents an instance of the JavaScript string object. + + + + + Creates a new string instance. + + The next object in the prototype chain. + The value to initialize the instance. + + + + Creates the string prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Gets the primitive value of this object. + + + + + Gets the number of characters in the string. + + + + + Gets a descriptor for the property with the given array index. + + The array index of the property. + A property descriptor containing the property value and attributes. + The prototype chain is not searched. + + + + Defines or redefines the value and attributes of a property. The prototype chain is + not searched so if the property exists but only in the prototype chain a new property + will be created. + + The property key of the property to modify. + The property value and attributes. + true to throw an exception if the property could not + be set. This can happen if the property is not configurable or the object is sealed. + true if the property was successfully modified; false otherwise. + + + + Gets an enumerable list of every property name associated with this object. + Does not include properties in the prototype chain. + + + + + Returns the character at the specified index. + + The string that is being operated on. + The character position (starts at 0). + + + + + Returns a number indicating the 16-bit UTF-16 character code at the given index. + + The string that is being operated on. + The character position (starts at 0). + + + + + Returns a number indicating the Unicode code point of the character at the given index. + + The string that is being operated on. + The character position (starts at 0). + + + + + Combines the text of two or more strings and returns a new string. + + The current script environment. + The string that is being operated on. + The strings to concatenate with this string. + The result of combining this string with the given strings. + + + + Returns true if the calling String object contains the given string. + + The script engine. + The string that is being operated on. + The substring to search for. + The character position within the string to start searching. + true if the substring was found; false otherwise. + + + + Returns the index within the calling String object of the first occurrence of the specified value, or -1 if not found. + + The string that is being operated on. + The substring to search for. + The character position to start searching from. Defaults to 0. + The character position of the start of the substring, if it was found, or -1 if it wasn't. + + + + Returns the index within the calling String object of the specified value, searching + backwards from the end of the string. + + The string that is being operated on. + The substring to search for. + The index of the character to start searching. + The index of the substring, or -1 if not found. + + + + Returns a number indicating whether a reference string comes before or after or is the + same as the given string in sort order. + + The string that is being operated on. + The string to compare with. + -1, 0 or 1 depending on whether the given string comes before or after or is + the same as the given string in sort order. + + + + Finds the first match of the given substring within this string. + + The current script environment. + The string that is being operated on. + The substring or regular expression to search for. + An array containing the matched strings. + + + + Returns a new string whose binary representation is in a particular Unicode normalization form. + + The current ScriptEngine instance. + The string that is being operated on. + A Unicode normalization form. + A new string whose binary representation is in a particular Unicode normalization form. + + + + Wraps the string in double quotes ("). Any existing double quotes in the string are + escaped using the backslash character. + + The string to wrap. + The input string wrapped with double quotes and with existing double quotes + escaped. + + + + Substitutes the given string or regular expression with the given text or the result + of a replacement function. + + The current script environment. + The string that is being operated on. + The substring to replace -or- a regular expression that + matches the text to replace. + The text to substitute -or- a function that + returns the text to substitute. + A copy of this string with text replaced. + + + + Returns a copy of this string with text replaced. + + The string that is being operated on. + The text to search for. + A string containing the text to replace for every successful + match. + A copy of this string with text replaced. + + + + Returns a copy of this string with text replaced using a replacement function. + + The string that is being operated on. + The text to search for. + A function that is called to produce the text to replace + for every successful match. + A copy of this string with text replaced. + + + + Returns the position of the first substring match. + + The current script environment. + The string that is being operated on. + The string or regular expression to search for. + The character position of the first match, or -1 if no match was found. + + + + Extracts a section of the string and returns a new string. + + The string that is being operated on. + The character position to start extracting. + The character position to stop extacting. + A section of the string. + + + + Splits this string into an array of strings by separating the string into substrings. + + The current script environment. + The string that is being operated on. + A string or regular expression that indicates where to split the string. + The maximum number of array items to return. Defaults to unlimited. + An array containing the split strings. + + + + Splits this string into an array of strings by separating the string into substrings. + + The current script environment. + The string that is being operated on. + A string that indicates where to split the string. + The maximum number of array items to return. Defaults to unlimited. + An array containing the split strings. + + + + Returns the characters in a string beginning at the specified location through the specified number of characters. + + The string that is being operated on. + The character position to start extracting. + The number of characters to extract. + A substring of this string. + + + + Returns the characters in a string between two indexes into the string. + + The string that is being operated on. + The character position to start extracting. + The character position to stop extracting. + A substring of this string. + + + + Converts the characters within this string to lowercase while respecting the current + locale. + + A copy of this string with the characters converted to lowercase. + + + + Converts the characters within this string to uppercase while respecting the current + locale. + + A copy of this string with the characters converted to uppercase. + + + + Returns the calling string value converted to lowercase. + + A copy of this string with the characters converted to lowercase. + + + + Returns a string representing the current object. + + A string representing the current object. + + + + Returns the calling string value converted to uppercase. + + A copy of this string with the characters converted to uppercase. + + + + Trims whitespace from the beginning and end of the string. + + + + + + Trims whitespace from the beginning of the string. + + + + + + Trims whitespace from the beginning of the string. + + + + + + Trims whitespace from the beginning of the string. + + + + + + Trims whitespace from the beginning of the string. + + + + + + Returns the underlying primitive value of the current object. + + The underlying primitive value of the current object. + + + + Determines whether a string begins with the characters of another string. + + The string that is being operated on. + The characters to be searched for at the start of this string. + The position at which to begin searching. Defaults to zero. + true if this string starts with the given string, false otherwise. + + + + Determines whether a string ends with the characters of another string. + + The string that is being operated on. + The characters to be searched for at the end of this string. + Search within the string as if the string were only this long. + Defaults to the string's actual length. + true if this string ends with the given string, false otherwise. + + + + Determines whether a string contains the characters of another string. + + The string that is being operated on. + The characters to be searched for. + The position at which to begin searching. Defaults to zero. + true if this string contains the given string, false otherwise. + + + + Repeats this string a number of times and returns the result. + + The current ScriptEngine instance. + The string that is being operated on. + The number of times to repeat the string. Must be zero or higher. + A repeated string. + + + + Returns an iterator that iterates over the code points of the string. + + An iterator for the string instance. + + + + Wraps the string with an anchor tag. + + The string that is being operated on. + The name of the anchor. + + + + + Wraps the string with a big tag. + + The string that is being operated on. + + + + + Wraps the string with a blink tag. + + The string that is being operated on. + + + + + Wraps the string with a bold (b) tag. + + The string that is being operated on. + + + + + Wraps the string with a tt tag. + + + + + + Wraps the string with a font tag that specifies the given color. + + The string that is being operated on. + The color value or name. + + + + + Wraps the string with a font tag that specifies the given font size. + + The string that is being operated on. + The font size, specified as an integer. + + + + + Wraps the string with a italics (i) tag. + + The string that is being operated on. + + + + + Wraps the string with a hyperlink. + + The string that is being operated on. + The hyperlink URL. + + + + + Wraps the string in a small tag. + + The string that is being operated on. + + + + + Wraps the string in a strike tag. + + The string that is being operated on. + + + + + Wraps the string in a sub tag. + + The string that is being operated on. + + + + + Wraps the string in a sup tag. + + The string that is being operated on. + + + + + Determines if the given object can be considered a RegExp-like object. + + The object instance to check. + true if the object instance has [Symbol.match] value that is truthy; + false otherwise. + + + + Represents an iteration over a String. + + + + + Creates a new string iterator. + + The next object in the prototype chain. + The string to iterate over. + + + + Creates the array iterator prototype object. + + The script environment. + + + + The tag value that is used by the base implementation of toString(). + + + + + Moves the iterator to the next element in the array. + + An object containing two properies: value and done. + + + + Gets wheter the end is reached. Used by debugger decoration only. + + + + + Gets current index. Used by debugger decoration only. + + + + + Gets current character. Used by debugger decoration only. + + + + + Represents a symbol primitive. + + + + + Creates a new symbol primitive. + + An optional description of the symbol. + + + + An optional description of the symbol. + + + + + Converts the value to a string. + + + + + + A method that determines if a constructor object recognizes an object as one of the + constructor's instances. Used by the 'instanceof' operator. + + + + + A Boolean valued property that if true indicates that an object should be flattened to + its array elements by Array.prototype.concat. + + + + + Used to override the default iterator for an object. Used by the for-of statement. + + + + + A regular expression method that matches the regular expression against a string. + Used by the String.prototype.match method. + + + + + A regular expression method that replaces matched substrings of a string. Used by the + String.prototype.replace method. + + + + + A regular expression method that returns the index within a string that matches the + regular expression. Used by the String.prototype.search method. + + + + + A function valued property that is the constructor function that is used to create + derived objects. + + + + + A regular expression method that splits a string at the indices that match the regular + expression. Used by the String.prototype.split method. + + + + + Used to override ToPrimitive behaviour. + + + + + Used to customize the behaviour of Object.prototype.toString(). + + + + + An object valued property whose own and inherited property names are property names + that are excluded from the with environment bindings of the associated object. + + + + + Represents the built-in Symbol object. + + + + + Creates a new Symbol object. + + The next object in the prototype chain. + The prototype for instances created by this function. + + + + Called when the Symbol object is invoked like a function, e.g. var x = Symbol(). + + The name or description of the symbol (optional). + + + + Called when the Symbol object is called using new, e.g. var x = new Symbol(). + + + + + Searches for existing symbols in a runtime-wide symbol registry with the given key and + returns it if found. Otherwise a new symbol gets created in the global symbol registry + with this key. + + The key for the symbol (also used for the description of the symbol). + An existing symbol with the given key if found; otherwise, a new symbol is + created and returned. + + + + Retrieves a shared symbol key from the global symbol registry for the given symbol. + + The symbol to find a key for. + A string representing the key for the given symbol if one is found on the + global registry; otherwise, undefined. + + + + Represents an instance of the Symbol object. + + + + + Creates a new symbol instance. + + The next object in the prototype chain. + The symbol primitive. + + + + Initializes the prototype properties. + + The object to set the properties on. + A reference to the constructor that owns the prototype. + + + + Returns a string representing the object. + + A string representing the object. + + + + Returns the primitive value of a Symbol object. + + The primitive value of a Symbol object. + + + + Converts a Symbol object to a primitive value. + + Specifies the conversion behaviour. Must be "default", "string" or "number". + The primitive value of a Symbol object. + + + + The ArrayBuffer object is used to represent a generic, fixed-length raw binary data buffer. + You can not directly manipulate the contents of an ArrayBuffer; instead, you create one of + the typed array objects or a DataView object which represents the buffer in a specific + format, and use that to read and write the contents of the buffer. + + + + + Creates a new array buffer constructor. + + The next object in the prototype chain. + + + + Called when the ArrayBuffer object is invoked like a function, e.g. var x = ArrayBuffer(). + Throws an error. + + + + + Creates a new ArrayBuffer of the given length in bytes. Its contents are initialized + to zero. + + The size, in bytes, of the array buffer to create. + A new ArrayBuffer object of the specified size. + + + + A reference to the constructor function that is used to create derived objects. + + + + + Returns true if is one of the ArrayBuffer views, such as + typed array objects or a DataView; false otherwise. + + The argument to be checked. + true if arg is one of the ArrayBuffer views. + + + + The ArrayBuffer object is used to represent a generic, fixed-length raw binary data buffer. + You can not directly manipulate the contents of an ArrayBuffer; instead, you create one of + the typed array objects or a DataView object which represents the buffer in a specific + format, and use that to read and write the contents of the buffer. + + + + + Creates a new ArrayBuffer instance. + + The next object in the prototype chain. + The size, in bytes, of the array buffer to create. + + + + Creates a new ArrayBuffer instance from an existing buffer. + + The next object in the prototype chain. + The buffer to use. + + + + Creates the ArrayBuffer prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Gets the internal array for this ArrayBuffer. + + + + + Returns a copy of the buffer data. + + A copy of the buffer data. + + + + Gets the length of an ArrayBuffer in bytes. Returns 0 if this ArrayBuffer has been + detached. + + + + + Returns a new ArrayBuffer whose contents are a copy of this ArrayBuffer's bytes from + begin, inclusive, up to end, exclusive. + + Zero-based byte index at which to begin slicing. + A new ArrayBuffer object. + + + + Returns a new ArrayBuffer whose contents are a copy of this ArrayBuffer's bytes from + begin, inclusive, up to end, exclusive. + + Zero-based byte index at which to begin slicing. + Byte index to end slicing. If end is unspecified, the new + ArrayBuffer contains all bytes from begin to the end of this ArrayBuffer. The range + specified by the begin and end values is clamped to the valid index range for the + current array. If the computed length of the new ArrayBuffer would be negative, it is + clamped to zero. + A new ArrayBuffer object. + + + + The DataView view provides a low-level interface for reading and writing multiple number + types in an ArrayBuffer irrespective of the platform's endianness. + + + + + Creates a new DataView constructor. + + The next object in the prototype chain. + + + + Called when the DataView object is invoked like a function, e.g. var x = DataView(). + Throws an error. + + + + + Creates a new DataView. + + An existing ArrayBuffer to use as the storage for the new + DataView object. + The offset, in bytes, to the first byte in the specified + buffer for the new view to reference. If not specified, the view of the buffer will + start with the first byte. + The number of elements in the byte array. If unspecified, + length of the view will match the buffer's length. + A new DataView object of the specified size. + + + + The DataView view provides a low-level interface for reading and writing multiple number + types in an ArrayBuffer irrespective of the platform's endianness. + + + + + Creates a new DataView instance. + + The next object in the prototype chain. + An existing ArrayBuffer to use as the storage for the new + DataView object. + The offset, in bytes, to the first byte in the specified + buffer for the new view to reference. If not specified, the view of the buffer will + start with the first byte. + The number of elements in the byte array. If unspecified, + length of the view will match the buffer's length. + + + + Creates the DataView prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + The ArrayBuffer referenced by the DataView at construction time. + + + + + The offset (in bytes) of this view from the start of its ArrayBuffer. + + + + + The length (in bytes) of this view from the start of its ArrayBuffer. + + + + + Gets a 32-bit floating point number at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + read the data. + Indicates whether the number is stored in little- or + big-endian format. If false or undefined, a big-endian value is read. + The 32-bit floating point number at the specified byte offset from the start + of the DataView. + + + + Gets a 64-bit floating point number at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + read the data. + Indicates whether the number is stored in little- or + big-endian format. If false or undefined, a big-endian value is read. + The 64-bit floating point number at the specified byte offset from the start + of the DataView. + + + + Gets a signed 16-bit integer at the specified byte offset from the start of the DataView. + + The offset, in bytes, from the start of the view where to + read the data. + Indicates whether the number is stored in little- or + big-endian format. If false or undefined, a big-endian value is read. + The signed 16-bit integer at the specified byte offset from the start of the + DataView. + + + + Gets a signed 32-bit integer at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + read the data. + Indicates whether the number is stored in little- or + big-endian format. If false or undefined, a big-endian value is read. + The signed 32-bit integer at the specified byte offset from the start + of the DataView. + + + + Gets a signed 64-bit integer at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + read the data. + Indicates whether the number is stored in little- or + big-endian format. If false or undefined, a big-endian value is read. + The signed 64-bit integer at the specified byte offset from the start + of the DataView. + + + + Gets a signed 8-bit integer (byte) at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + read the data. + The signed 8-bit integer (byte) at the specified byte offset from the start + of the DataView. + + + + Gets an unsigned 8-bit integer (byte) at the specified byte offset from the start of + the DataView. + + The offset, in bytes, from the start of the view where to + read the data. + Indicates whether the number is stored in little- or + big-endian format. If false or undefined, a big-endian value is read. + The unsigned 8-bit integer (byte) at the specified byte offset from the start + of the DataView. + + + + Gets an unsigned 32-bit integer at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + read the data. + Indicates whether the number is stored in little- or + big-endian format. If false or undefined, a big-endian value is read. + The unsigned 32-bit integer at the specified byte offset from the start + of the DataView. + + + + Gets an unsigned 8-bit integer (byte) at the specified byte offset from the start of + the DataView. + + The offset, in bytes, from the start of the view where to + read the data. + The unsigned 8-bit integer (byte) at the specified byte offset from the start + of the DataView. + + + + Stores a signed 32-bit float value at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + store the data. + The value to set. + Indicates whether the 32-bit float is stored in little- or + big-endian format. If false or undefined, a big-endian value is written. + + + + Stores a signed 64-bit float value at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + store the data. + The value to set. + Indicates whether the 64-bit float is stored in little- or + big-endian format. If false or undefined, a big-endian value is written. + + + + Stores a signed 16-bit integer value at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + store the data. + The value to set. + Indicates whether the 32-bit float is stored in little- or + big-endian format. If false or undefined, a big-endian value is written. + + + + Stores a signed 32-bit integer value at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + store the data. + The value to set. + Indicates whether the 32-bit float is stored in little- or + big-endian format. If false or undefined, a big-endian value is written. + + + + Stores a signed 8-bit integer value at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + store the data. + The value to set. + + + + Stores an unsigned 16-bit integer value at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + store the data. + The value to set. + Indicates whether the 32-bit float is stored in little- or + big-endian format. If false or undefined, a big-endian value is written. + + + + Stores an unsigned 32-bit integer value at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + store the data. + The value to set. + Indicates whether the 32-bit float is stored in little- or + big-endian format. If false or undefined, a big-endian value is written. + + + + Stores an unsigned 8-bit integer value at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + store the data. + The value to set. + + + + Stores a series of bytes at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + store the data. + The bytes to store. + Indicates whether the bytes are stored in little- or + big-endian format. If false, a big-endian value is written. + + + + Represents the built-in javascript String object. + + + + + Creates a new typed array constructor. + + The next object in the prototype chain. + Defines the element type and behaviour of the typed array. + The result of calling . + + + + The data storage size, in bytes, of each array element. + + + + + Creates a new typed array from a .NET array. + + A .NET array + A new typed array instance. + + + + A reference to the constructor function that is used to create derived objects. + + + + + Called when the typed array object is invoked like a function, e.g. Int8Array(). + Throws an error. + + + + + Creates a new (empty) typed array instance. + + A new typed array instance. + + + + Creates a new typed array instance. + + Either the length of the new array, or buffer, or an array-like + object. + The offset, in bytes, to the first byte in the specified + buffer for the new view to reference. If not specified, the TypedArray will start + with the first byte. Ignored unless the first parameter is a array buffer. + The length (in elements) of the typed array. Ignored unless the + first parameter is a array buffer. + A new typed array instance. + + + + Creates a new typed array from an array-like or iterable object. + + An array-like or iterable object to convert to a typed array. + Optional. Map function to call on every element of the typed array. + Optional. Value to use as this when executing mapFn. + A new typed array instance. + + + + Creates a new typed array with a variable number of elements. + + Elements of which to create the typed array. + A new typed array with the given elements. + + + + Represents a typed array instance. + + + + + Creates a new typed array instance. + + The next object in the prototype chain. + Defines the element type and behaviour of the typed array. + An existing ArrayBuffer to use as the storage for the new + TypedArray object. + The offset, in bytes, to the first byte in the specified + buffer for the new view to reference. If not specified, the TypedArray will start + with the first byte. + The length (in elements) of the typed array. + + + + Creates the TypedArray prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + The result of calling . + + + + Speeds up initialization by only calling GetDeclarativeProperties once. + + + + + + + The type of each element in the array. + + + + + Gets or sets the item at the given index. + + The array index. + The value of the item at the given index. + + + + The data storage size, in bytes, of each array element. + + + + + The ArrayBuffer referenced by the TypedArray at construction time. + + + + + The offset (in bytes) of the typed array from the start of its ArrayBuffer. + + + + + The length (in bytes) of the typed array from the start of its ArrayBuffer. + + + + + The length (in elements) of the typed array. + + + + + The length (in elements) of the typed array. + + + + + Gets a descriptor for the property with the given array index. + + The array index of the property. + A property descriptor containing the property value and attributes. + The prototype chain is not searched. + + + + Sets the value of the property with the given array index. If a property with the + given index does not exist, or exists in the prototype chain (and is not a setter) then + a new property is created. + + The array index of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + The value of the "this" keyword inside a getter. + true to throw an exception if the property could not + be set. This can happen if the property is read-only or if the object is sealed. + false if is false and an error + occurred; true otherwise. + + + + Deletes the property with the given array index. + + The array index of the property to delete. + true to throw an exception if the property could not + be set because the property was marked as non-configurable. + true if the property was successfully deleted, or if the property did + not exist; false if the property was marked as non-configurable and + was false. + + + + Returns a new array iterator object that contains the key/value pairs for each index in + the array. + + An array iterator object that contains the key/value pairs for each index in + the array. + + + + Returns a new array iterator object that contains the keys for each index in the array. + + An array iterator object that contains the keys for each index in the array. + + + + Returns a new typed array on the same ArrayBuffer store and with the same element types + as for this TypedArray object. The begin offset is inclusive and the end offset is + exclusive. + + Element to begin at. The offset is inclusive. + Element to end at. The offset is exclusive. If not specified, all + elements from the one specified by begin to the end of the array are included in the + new view. + A new typed array that shares the same ArrayBuffer store. + + + + Returns a new array iterator object that contains the values for each index in the + array. + + An array iterator object that contains the values for each index in the + array. + + + + Implements an adapter for typed arrays. + + + + + Creates a new TypedArrayWrapper instance. + + The typed array that is being wrapped. + + + + Gets or sets an array element within the range 0 .. Length-1 (inclusive). + + The index to get or set. + The value at the given index. + + + + Deletes the value at the given array index, throwing an exception on error. + + The array index to delete. + + + + Indicates whether the array index exists (has a value). + + The index to check. + true if the index exists, false otherwise. + + + + Creates a new array of the same type as this one. + + The values in the new array. + A new array object. + + + + Convert an untyped value to a typed value. + + The value to convert. + The value converted to a typed value. + + + + Copies the sequence of array elements within the array to the position starting at + target. The copy is taken from the index positions of the second and third arguments + start and end. The end argument is optional and defaults to the length of the array. + This method has the same algorithm as Array.prototype.copyWithin. + + Target start index position where to copy the elements to. + Source start index position where to start copying elements from. + Optional. Source end index position where to end copying elements from. + The array that was operated on. + + + + Determines if every element of the array matches criteria defined by the given user- + defined function. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + true if every element of the array matches criteria defined by the + given user-defined function; false otherwise. + + + + Fills all the elements of a typed array from a start index to an end index with a + static value. + + The value to fill the typed array with. + Optional. Start index. Defaults to 0. + Optional. End index (exclusive). Defaults to the length of the array. + The array that is being operated on. + + + + Creates a new array with the elements from this array that pass the test implemented by + the given function. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + A copy of this array but with only those elements which produce true + when passed to the provided function. + + + + Returns the first element in the given array that passes the test implemented by the + given function. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + The first element that results in the callback returning true. + + + + Returns an index in the typed array, if an element in the typed array satisfies the + provided testing function. Otherwise -1 is returned. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + The first element that results in the callback returning true. + + + + Calls the given user-defined function once per element in the array. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. + The value of this in the context of the callback function. + + + + Returns the index of the given search element in the array, starting from + . + + The value to search for. + The array index to start searching. + The index of the given search element in the array, or -1 if the + element wasn't found. + + + + Concatenates all the elements of the array, using the specified separator between each + element. If no separator is provided, a comma is used for this purpose. + + The string to use as a separator. + A string that consists of the element values separated by the separator string. + + + + Returns the index of the given search element in the array, searching backwards from + the end of the array. + + The value to search for. + The index of the given search element in the array, or -1 if the + element wasn't found. + + + + Returns the index of the given search element in the array, searching backwards from + . + + The value to search for. + The array index to start searching. + The index of the given search element in the array, or -1 if the + element wasn't found. + + + + Creates a new array with the results of calling the given function on every element in + this array. + + A user-defined function that is called for each element + in the array. This function is called with three arguments: the value of the element, + the index of the element, and the array that is being operated on. The value that is + returned from this function is stored in the resulting array. + The value of this in the context of the callback function. + A new array with the results of calling the given function on every element + in the array. + + + + Accumulates a single value by calling a user-defined function for each element. + + A user-defined function that is called for each element + in the array. This function is called with four arguments: the current accumulated + value, the value of the element, the index of the element, and the array that is being + operated on. The return value for this function is the new accumulated value and is + passed to the next invocation of the function. + The initial accumulated value. + The accumulated value returned from the last invocation of the callback + function. + + + + Accumulates a single value by calling a user-defined function for each element + (starting with the last element in the array). + + A user-defined function that is called for each element + in the array. This function is called with four arguments: the current accumulated + value, the value of the element, the index of the element, and the array that is being + operated on. The return value for this function is the new accumulated value and is + passed to the next invocation of the function. + The initial accumulated value. + The accumulated value returned from the last invocation of the callback + function. + + + + Reverses the order of the elements in the array. + + The array that is being operated on. + + + + Stores multiple values in the typed array, reading input values from a specified array. + + The array from which to copy values. All values from the source + array are copied into the target array, unless the length of the source array plus the + offset exceeds the length of the target array, in which case an exception is thrown. + The offset into the target array at which to begin writing values + from the source array. If you omit this value, 0 is assumed (that is, the source array + will overwrite values in the target array starting at index 0). + + + + Returns a section of an array. + + The index of the first element in the section. If this value is + negative it is treated as an offset from the end of the array. + The index of the element just past the last element in the section. + If this value is negative it is treated as an offset from the end of the array. If + is less than or equal to then an empty + array is returned. + A section of an array. + + + + Determines if at least one element of the array matches criteria defined by the given + user-defined function. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + true if at least one element of the array matches criteria defined by + the given user-defined function; false otherwise. + + + + Sorts the array. + + A function which determines the order of the + elements. This function should return a number less than zero if the first argument is + less than the second argument, zero if the arguments are equal or a number greater than + zero if the first argument is greater than Defaults to an ascending ASCII ordering. + The array that was sorted. + + + + Returns a locale-specific string representing this object. + + A locale-specific string representing this object. + + + + Returns a string representing this object. + + The array that is being operated on. + A string representing this object. + + + + Defines the element type and behaviour of typed array. + + + + + An array of signed 8-bit elements. + + + + + An array of unsigned 8-bit elements. + + + + + An array of unsigned 8-bit elements, clamped to 0-255. + + + + + An array of signed 16-bit elements. + + + + + An array of unsigned 16-bit elements. + + + + + An array of signed 32-bit elements. + + + + + An array of unsigned 32-bit elements. + + + + + An array of 32-bit floating point elements. + + + + + An array of 64-bit floating point elements. + + + + + The WeakMap object is a collection of key/value pairs in which the keys are weakly + referenced. The keys must be objects and the values can be arbitrary values. + + + + + Creates a new map constructor. + + The next object in the prototype chain. + + + + Called when the WeakMap object is invoked like a function, e.g. var x = WeakMap(). + Throws an error. + + + + + Creates a new WeakMap. + + An Array or other iterable object whose elements are key-value + pairs (2-element Arrays). Each key-value pair is added to the new WeakMap. null + is treated as undefined. + A new WeakMap object, either empty or initialised with the given values. + + + + The WeakMap object is a collection of key/value pairs in which the keys are weakly + referenced. The keys must be objects and the values can be arbitrary values. + + + + + Creates a new WeakMap instance. + + The next object in the prototype chain. + + + + Creates the WeakMap prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Removes the specified element from a Map object. + + The key of the element to remove from the Map object. + true if an element in the Map object existed and has been removed, or + false if the element does not exist. + + + + Returns a specified element from a Map object. + + The key of the element to return from the Map object. + The element associated with the specified key, or undefined if the key can't + be found in the Map object. + + + + Returns a boolean indicating whether an element with the specified key exists or not. + + The key of the element to test for presence in the Map object. + true if an element with the specified key exists in the Map object; + otherwise false. + + + + Adds a new element with a specified key and value to a Map object. + + The key of the element to add to the Map object. + The value of the element to add to the Map object. + The WeakMap object. + + + + Gets the internal storage. Used by debugger decoration. + + + + + The WeakSet object lets you store weakly held objects in a collection. + + + + + Creates a new WeakSet constructor. + + The next object in the prototype chain. + + + + Called when the WeakSet object is invoked like a function, e.g. var x = WeakSet(). + Throws an error. + + + + + Creates a new WeakSet instance. + + If an iterable object is passed, all of its elements will be + added to the new WeakSet. null is treated as undefined. + A new WeakSet instance. + + + + The WeakSet object lets you store weakly held objects in a collection. + + + + + Creates a new WeakSet instance. + + The next object in the prototype chain. + + + + Creates the WeakSet prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Appends a new element with a specified value to the end of the WeakSet. + + The value of the element to add to the WeakSet. + The WeakSet object. + + + + Removes the specified value from the WeakSet. + + The value of the element to remove from the WeakSet. + true if an element in the WeakSet object has been removed + successfully; otherwise false. + + + + Returns a boolean indicating whether an element with the specified value exists in the + WeakSet or not. + + The value to test for presence in the WeakSet. + true if an element with the specified value exists in the WeakSet + object; otherwise false. + + + + Gets the internal storage. Used by debugger decoration. + + + + diff --git a/packages/Stef.Validation.0.0.4/.signature.p7s b/packages/Stef.Validation.0.0.4/.signature.p7s new file mode 100755 index 0000000000000000000000000000000000000000..416428892cace3414832b8007ada7c8918028954 GIT binary patch literal 9466 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 and represents a dynamic method that can be compiled, executed, and discarded. Discarded methods are available for garbage collection. + + + Creates a dynamic method that is global to a module, specifying the method name, attributes, calling convention, return type, parameter types, module, and whether just-in-time (JIT) visibility checks should be skipped for types and members accessed by the Microsoft intermediate language (MSIL) of the dynamic method. + The name of the dynamic method. This can be a zero-length string, but it cannot be null. + A bitwise combination of values that specifies the attributes of the dynamic method. The only combination allowed is and . + The calling convention for the dynamic method. Must be . + A object that specifies the return type of the dynamic method, or null if the method has no return type. + An array of objects specifying the types of the parameters of the dynamic method, or null if the method has no parameters. + A representing the module with which the dynamic method is to be logically associated. + true to skip JIT visibility checks on types and members accessed by the MSIL of the dynamic method; otherwise, false. + An element of is null or .-or- is a module that provides anonymous hosting for dynamic methods. + + is null. -or- is null. + + is a combination of flags other than and .-or- is not .-or- is a type for which returns true. + + + Creates a dynamic method, specifying the method name, attributes, calling convention, return type, parameter types, the type with which the dynamic method is logically associated, and whether just-in-time (JIT) visibility checks should be skipped for types and members accessed by the Microsoft intermediate language (MSIL) of the dynamic method. + The name of the dynamic method. This can be a zero-length string, but it cannot be null. + A bitwise combination of values that specifies the attributes of the dynamic method. The only combination allowed is and . + The calling convention for the dynamic method. Must be . + A object that specifies the return type of the dynamic method, or null if the method has no return type. + An array of objects specifying the types of the parameters of the dynamic method, or null if the method has no parameters. + A with which the dynamic method is logically associated. The dynamic method has access to all members of the type. + true to skip JIT visibility checks on types and members accessed by the MSIL of the dynamic method; otherwise, false. + An element of is null or . -or- is an interface, an array, an open generic type, or a type parameter of a generic type or method. + + is null. -or- is null. + + is a combination of flags other than and .-or- is not .-or- is a type for which returns true. + + + Initializes an anonymously hosted dynamic method, specifying the method name, return type, and parameter types. + The name of the dynamic method. This can be a zero-length string, but it cannot be null. + A object that specifies the return type of the dynamic method, or null if the method has no return type. + An array of objects specifying the types of the parameters of the dynamic method, or null if the method has no parameters. + An element of is null or . + + is null. + + is a type for which returns true. + + + Initializes an anonymously hosted dynamic method, specifying the method name, return type, parameter types, and whether just-in-time (JIT) visibility checks should be skipped for types and members accessed by the Microsoft intermediate language (MSIL) of the dynamic method. + The name of the dynamic method. This can be a zero-length string, but it cannot be null. + A object that specifies the return type of the dynamic method, or null if the method has no return type. + An array of objects specifying the types of the parameters of the dynamic method, or null if the method has no parameters. + true to skip JIT visibility checks on types and members accessed by the MSIL of the dynamic method, with this restriction: the trust level of the assemblies that contain those types and members must be equal to or less than the trust level of the call stack that emits the dynamic method; otherwise, false. + An element of is null or . + + is null. + + is a type for which returns true. + + + Creates a dynamic method that is global to a module, specifying the method name, return type, parameter types, and module. + The name of the dynamic method. This can be a zero-length string, but it cannot be null. + A object that specifies the return type of the dynamic method, or null if the method has no return type. + An array of objects specifying the types of the parameters of the dynamic method, or null if the method has no parameters. + A representing the module with which the dynamic method is to be logically associated. + An element of is null or . -or- is a module that provides anonymous hosting for dynamic methods. + + is null. -or- is null. + + is a type for which returns true. + + + Creates a dynamic method that is global to a module, specifying the method name, return type, parameter types, module, and whether just-in-time (JIT) visibility checks should be skipped for types and members accessed by the Microsoft intermediate language (MSIL) of the dynamic method. + The name of the dynamic method. This can be a zero-length string, but it cannot be null. + A object that specifies the return type of the dynamic method, or null if the method has no return type. + An array of objects specifying the types of the parameters of the dynamic method, or null if the method has no parameters. + A representing the module with which the dynamic method is to be logically associated. + true to skip JIT visibility checks on types and members accessed by the MSIL of the dynamic method. + An element of is null or . -or- is a module that provides anonymous hosting for dynamic methods. + + is null. -or- is null. + + is a type for which returns true. + + + Creates a dynamic method, specifying the method name, return type, parameter types, and the type with which the dynamic method is logically associated. + The name of the dynamic method. This can be a zero-length string, but it cannot be null. + A object that specifies the return type of the dynamic method, or null if the method has no return type. + An array of objects specifying the types of the parameters of the dynamic method, or null if the method has no parameters. + A with which the dynamic method is logically associated. The dynamic method has access to all members of the type. + An element of is null or .-or- is an interface, an array, an open generic type, or a type parameter of a generic type or method. + + is null. -or- is null. + + is null, or is a type for which returns true. + + + Creates a dynamic method, specifying the method name, return type, parameter types, the type with which the dynamic method is logically associated, and whether just-in-time (JIT) visibility checks should be skipped for types and members accessed by the Microsoft intermediate language (MSIL) of the dynamic method. + The name of the dynamic method. This can be a zero-length string, but it cannot be null. + A object that specifies the return type of the dynamic method, or null if the method has no return type. + An array of objects specifying the types of the parameters of the dynamic method, or null if the method has no parameters. + A with which the dynamic method is logically associated. The dynamic method has access to all members of the type. + true to skip JIT visibility checks on types and members accessed by the MSIL of the dynamic method; otherwise, false. + An element of is null or .-or- is an interface, an array, an open generic type, or a type parameter of a generic type or method. + + is null. -or- is null. + + is null, or is a type for which returns true. + + + Gets the attributes specified when the dynamic method was created. + A bitwise combination of the values representing the attributes for the method. + + + Gets the calling convention specified when the dynamic method was created. + One of the values that indicates the calling convention of the method. + + + Completes the dynamic method and creates a delegate that can be used to execute it. + A delegate of the specified type, which can be used to execute the dynamic method. + A delegate type whose signature matches that of the dynamic method. + The dynamic method has no method body. + + has the wrong number of parameters or the wrong parameter types. + + + Completes the dynamic method and creates a delegate that can be used to execute it, specifying the delegate type and an object the delegate is bound to. + A delegate of the specified type, which can be used to execute the dynamic method with the specified target object. + A delegate type whose signature matches that of the dynamic method, minus the first parameter. + An object the delegate is bound to. Must be of the same type as the first parameter of the dynamic method. + The dynamic method has no method body. + + is not the same type as the first parameter of the dynamic method, and is not assignable to that type.-or- has the wrong number of parameters or the wrong parameter types. + + + Gets the type that declares the method, which is always null for dynamic methods. + Always null. + + + Returns a Microsoft intermediate language (MSIL) generator for the method with a default MSIL stream size of 64 bytes. + An object for the method. + + + Returns a Microsoft intermediate language (MSIL) generator for the method with the specified MSIL stream size. + An object for the method, with the specified MSIL stream size. + The size of the MSIL stream, in bytes. + + + Returns the parameters of the dynamic method. + An array of objects that represent the parameters of the dynamic method. + + + Gets or sets a value indicating whether the local variables in the method are zero-initialized. + true if the local variables in the method are zero-initialized; otherwise, false. The default is true. + + + + Gets the name of the dynamic method. + The simple name of the method. + + + Gets the return parameter of the dynamic method. + Always null. + + + Gets the type of return value for the dynamic method. + A representing the type of the return value of the current method; if the method has no return type. + + + Returns the signature of the method, represented as a string. + A string representing the method signature. + + + \ No newline at end of file diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/de/System.Reflection.Emit.Lightweight.xml b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/de/System.Reflection.Emit.Lightweight.xml new file mode 100755 index 0000000..b6e39f2 --- /dev/null +++ b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/de/System.Reflection.Emit.Lightweight.xml @@ -0,0 +1,177 @@ + + + + System.Reflection.Emit.Lightweight + + + + Definiert und stellt eine dynamische Methode dar, die kompiliert ausgeführt und verworfen werden kann.Verworfene Methoden sind für die Garbage Collection verfügbar. + + + Erstellt eine dynamische Methode, die in einem Modul global ist, unter Angabe von Methodenname, Attributen, Aufrufkonvention, Rückgabetyp, Parametertypen und Modul sowie, ob Just-In-Time (JIT)-Sichtbarkeitsprüfungen für Typen und Member übersprungen werden sollen, auf die von der Microsoft intermediate language (MSIL) der dynamischen Methode zugegriffen wird. + Der Name der dynamischen Methode.Die Zeichenfolge kann die Länge 0 (null) haben, darf aber nicht null sein. + Eine bitweise Kombination von -Werten, die die Attribute der dynamischen Methode angibt.Die einzige zulässige Kombination ist und . + Die Aufrufkonvention für die dynamische Methode.Dieser Wert muss sein. + Ein -Objekt, das den Rückgabetyp der dynamischen Methode angibt, oder null, wenn die Methode über keinen Rückgabetyp verfügt. + Ein Array von -Objekten, die die Parametertypen der dynamischen Methode angeben, oder null, wenn die Methode über keine Parameter verfügt. + Ein , das das Modul darstellt, dem die dynamische Methode logisch zugeordnet ist. + true, wenn bei Zugriffen durch die MSIL der dynamischen Methode JIT-Sichtbarkeitsprüfungen für Typen und Member übersprungen werden, andernfalls false. + Ein Element von ist null oder .- oder - ist ein Modul, das anonymes Hosting für dynamische Methoden bereitstellt. + + ist null. - oder - ist null. + + ist eine Kombination aus anderen Flags als und .- oder - ist nicht .- oder - ist ein Typ, für den true zurückgibt. + + + Erstellt eine dynamische Methode unter Angabe von Methodenname, Attributen, Aufrufkonvention, Rückgabetyp, Parametertypen, dem Typ, dem die dynamische Methode logisch zugeordnet ist, sowie, ob Just-In-Time (JIT)-Sichtbarkeitsprüfungen für Typen und Member bei Zugriffen durch die Microsoft Intermediate Language (MSIL) der dynamischen Methode übersprungen werden. + Der Name der dynamischen Methode.Die Zeichenfolge kann die Länge 0 (null) haben, darf aber nicht null sein. + Eine bitweise Kombination von -Werten, die die Attribute der dynamischen Methode angibt.Die einzige zulässige Kombination ist und . + Die Aufrufkonvention für die dynamische Methode.Dieser Wert muss sein. + Ein -Objekt, das den Rückgabetyp der dynamischen Methode angibt, oder null, wenn die Methode über keinen Rückgabetyp verfügt. + Ein Array von -Objekten, die die Parametertypen der dynamischen Methode angeben, oder null, wenn die Methode über keine Parameter verfügt. + Ein , dem die dynamische Methode logisch zugeordnet ist.Die dynamische Methode hat Zugriff auf alle Member des Typs. + true, wenn bei Zugriffen durch die MSIL der dynamischen Methode JIT-Sichtbarkeitsprüfungen für Typen und Member übersprungen werden, andernfalls false. + Ein Element von ist null oder . - oder - ist eine Schnittstelle, ein Array, ein offener generischer Typ oder ein Typparameter eines generischen Typs oder einer generischen Methode. + + ist null. - oder - ist null. + + ist eine Kombination aus anderen Flags als und .- oder - ist nicht .- oder - ist ein Typ, für den true zurückgibt. + + + Initialisiert eine anonym gehostete dynamische Methode und gibt den Methodennamen, Rückgabetyp und Parametertypen an. + Der Name der dynamischen Methode.Die Zeichenfolge kann die Länge 0 (null) haben, darf aber nicht null sein. + Ein -Objekt, das den Rückgabetyp der dynamischen Methode angibt, oder null, wenn die Methode über keinen Rückgabetyp verfügt. + Ein Array von -Objekten, die die Parametertypen der dynamischen Methode angeben, oder null, wenn die Methode über keine Parameter verfügt. + Ein Element von ist null oder . + + ist null. + + ist ein Typ, für den true zurückgibt. + + + Initialisiert eine anonym gehostete dynamische Methode unter Angabe von Methodenname, Rückgabetyp und Parametertypen sowie, ob Just-In-Time (JIT)-Sichtbarkeitsprüfungen für Typen und Member übersprungen werden sollen, auf die von der Microsoft intermediate language (MSIL) der dynamischen Methode zugegriffen wird. + Der Name der dynamischen Methode.Die Zeichenfolge kann die Länge 0 (null) haben, darf aber nicht null sein. + Ein -Objekt, das den Rückgabetyp der dynamischen Methode angibt, oder null, wenn die Methode über keinen Rückgabetyp verfügt. + Ein Array von -Objekten, die die Parametertypen der dynamischen Methode angeben, oder null, wenn die Methode über keine Parameter verfügt. + true, wenn JIT-Sichtbarkeitsprüfungen für Typen und Member bei Zugriffen durch die MSIL der dynamischen Methode übersprungen werden sollen, mit folgender Einschränkung: die Vertrauensebene der Assemblys, die diese Typen und Member enthalten, muss identisch sein mit oder kleiner sein als die Vertrauensebene der Aufrufliste, die die dynamische Methode ausgibt, andernfalls false. + Ein Element von ist null oder . + + ist null. + + ist ein Typ, für den true zurückgibt. + + + Erstellt eine dynamische Methode, die zu einem Modul global ist, unter Angabe von Methodenname, Rückgabetyp, Parametertypen und Modul. + Der Name der dynamischen Methode.Die Zeichenfolge kann die Länge 0 (null) haben, darf aber nicht null sein. + Ein -Objekt, das den Rückgabetyp der dynamischen Methode angibt, oder null, wenn die Methode über keinen Rückgabetyp verfügt. + Ein Array von -Objekten, die die Parametertypen der dynamischen Methode angeben, oder null, wenn die Methode über keine Parameter verfügt. + Ein , das das Modul darstellt, dem die dynamische Methode logisch zugeordnet ist. + Ein Element von ist null oder . - oder - ist ein Modul, das anonymes Hosting für dynamische Methoden bereitstellt. + + ist null. - oder - ist null. + + ist ein Typ, für den true zurückgibt. + + + Erstellt eine dynamische Methode, die in einem Modul global ist, unter Angabe von Methodenname, Rückgabetyp, Parametertypen und Modul sowie, ob Just-In-Time (JIT)-Sichtbarkeitsprüfungen für Typen und Member übersprungen werden sollen, auf die von der Microsoft intermediate language (MSIL) der dynamischen Methode zugegriffen wird. + Der Name der dynamischen Methode.Die Zeichenfolge kann die Länge 0 (null) haben, darf aber nicht null sein. + Ein -Objekt, das den Rückgabetyp der dynamischen Methode angibt, oder null, wenn die Methode über keinen Rückgabetyp verfügt. + Ein Array von -Objekten, die die Parametertypen der dynamischen Methode angeben, oder null, wenn die Methode über keine Parameter verfügt. + Ein , das das Modul darstellt, dem die dynamische Methode logisch zugeordnet ist. + true, wenn bei Zugriffen durch die MSIL der dynamischen Methode JIT-Sichtbarkeitsprüfungen für Typen und Member übersprungen werden + Ein Element von ist null oder . - oder - ist ein Modul, das anonymes Hosting für dynamische Methoden bereitstellt. + + ist null. - oder - ist null. + + ist ein Typ, für den true zurückgibt. + + + Erstellt eine dynamische Methode unter Angabe von Methodenname, Rückgabetyp, Parametertypen und dem Typ, dem die dynamische Methode logisch zugeordnet ist. + Der Name der dynamischen Methode.Die Zeichenfolge kann die Länge 0 (null) haben, darf aber nicht null sein. + Ein -Objekt, das den Rückgabetyp der dynamischen Methode angibt, oder null, wenn die Methode über keinen Rückgabetyp verfügt. + Ein Array von -Objekten, die die Parametertypen der dynamischen Methode angeben, oder null, wenn die Methode über keine Parameter verfügt. + Ein , dem die dynamische Methode logisch zugeordnet ist.Die dynamische Methode hat Zugriff auf alle Member des Typs. + Ein Element von ist null oder .- oder - ist eine Schnittstelle, ein Array, ein offener generischer Typ oder ein Typparameter eines generischen Typs oder einer generischen Methode. + + ist null. - oder - ist null. + + ist null oder ein Typ, für den true zurückgibt. + + + Erstellt eine dynamische Methode unter Angabe von Methodenname, Rückgabetyp, Parametertypen, dem Typ, dem die dynamische Methode logisch zugeordnet ist, sowie, ob Just-In-Time (JIT)-Sichtbarkeitsprüfungen für Typen und Member bei Zugriffen durch die Microsoft Intermediate Language (MSIL) der dynamischen Methode übersprungen werden. + Der Name der dynamischen Methode.Die Zeichenfolge kann die Länge 0 (null) haben, darf aber nicht null sein. + Ein -Objekt, das den Rückgabetyp der dynamischen Methode angibt, oder null, wenn die Methode über keinen Rückgabetyp verfügt. + Ein Array von -Objekten, die die Parametertypen der dynamischen Methode angeben, oder null, wenn die Methode über keine Parameter verfügt. + Ein , dem die dynamische Methode logisch zugeordnet ist.Die dynamische Methode hat Zugriff auf alle Member des Typs. + true, wenn bei Zugriffen durch die MSIL der dynamischen Methode JIT-Sichtbarkeitsprüfungen für Typen und Member übersprungen werden, andernfalls false. + Ein Element von ist null oder .- oder - ist eine Schnittstelle, ein Array, ein offener generischer Typ oder ein Typparameter eines generischen Typs oder einer generischen Methode. + + ist null. - oder - ist null. + + ist null oder ein Typ, für den true zurückgibt. + + + Ruft die beim Erstellen der dynamischen Methode angegebenen Attribute ab. + Eine bitweise Kombination der -Werte, die die Attribute für die Methode darstellen. + + + Ruft die beim Erstellen der dynamischen Methode angegebene Aufrufkonvention ab. + Einer der -Werte, der die Aufrufkonvention der Methode angibt. + + + Vervollständigt die dynamische Methode und erstellt einen Delegaten, mit der sie ausgeführt werden kann. + Ein Delegat des angegebenen Typs, mit dem die dynamische Methode ausgeführt werden kann. + Ein Delegattyp, dessen Signatur der der dynamischen Methode entspricht. + Die dynamische Methode verfügt über keinen Methodentext. + + hat die falsche Anzahl von Parametern oder die falschen Parametertypen. + + + Vervollständigt die dynamische Methode und erstellt einen Delegaten, mit dem diese ausgeführt werden kann, unter Angabe des Delegattyps und eines Objekts, an das der Delegat gebunden ist. + Ein Delegat des angegebenen Typs, mit dem die dynamische Methode für das angegebene Zielobjekt ausgeführt werden kann. + Ein Delegattyp, dessen Signatur der der dynamischen Methode ohne den ersten Parameter entspricht. + Ein Objekt, an das der Delegat gebunden ist.Dieses muss von demselben Typ wie der erste Parameter der dynamischen Methode sein. + Die dynamische Methode verfügt über keinen Methodentext. + + ist nicht von demselben Typ wie der erste Parameter der dynamischen Methode und kann diesem Typ nicht zugeordnet werden.- oder - hat die falsche Anzahl von Parametern oder die falschen Parametertypen. + + + Ruft den Typ ab, der die Methode deklariert, die für dynamische Methoden immer null ist. + Immer null. + + + Gibt einen MSIL-Generator (Microsoft Intermediate Language) für die Methode mit einer MSIL-Standardstreamgröße von 64 Bytes zurück. + Ein -Objekt für die Methode. + + + Gibt einen MSIL-Generator (Microsoft Intermediate Language) für die Methode mit der angegebenen MSIL-Streamgröße zurück. + Ein -Objekt für die Methode mit der angegebenen MSIL-Streamgröße. + Die Größe des MSIL-Streams in Bytes. + + + Gibt die Parameter der dynamischen Methode zurück. + Ein Array von -Objekten, die die Parameter der dynamischen Methode darstellen. + + + Ruft einen Wert ab, der angibt, ob die lokalen Variablen in der Methode mit 0 (null) initialisiert werden, oder legt diesen fest. + true, wenn die lokalen Variablen in der Methode mit 0 (null) initialisiert werden, andernfalls false.Die Standardeinstellung ist true. + + + + Ruft den Namen der dynamischen Methode ab. + Der einfache Name der Methode. + + + Ruft den Rückgabeparameter der dynamischen Methode ab. + Immer null. + + + Ruft den Typ des Rückgabewerts für die dynamische Methode ab. + Ein , der den Typ des Rückgabewerts der aktuellen Methode darstellt, , wenn die Methode über keinen Rückgabetyp verfügt. + + + Gibt die Signatur der Methode als Zeichenfolge zurück. + Eine Zeichenfolge, die die Methodensignatur darstellt. + + + \ No newline at end of file diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/es/System.Reflection.Emit.Lightweight.xml b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/es/System.Reflection.Emit.Lightweight.xml new file mode 100755 index 0000000..5de4dd3 --- /dev/null +++ b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/es/System.Reflection.Emit.Lightweight.xml @@ -0,0 +1,182 @@ + + + + System.Reflection.Emit.Lightweight + + + + Define y representa un método dinámico que se puede compilar, ejecutar y descartar.Los métodos descartados están disponibles para la recolección de elementos no utilizados. + + + Crea un método dinámico que es global para un módulo, especificando el nombre del método, sus atributos, la convención de llamada, el tipo de valor devuelto, los tipos de parámetro, el módulo, y si las comprobaciones de visibilidad Just-In-Time (JIT) se deben omitir para los tipos y miembros a los que obtiene acceso el Lenguaje intermedio de Microsoft (MSIL) del método dinámico. + Nombre del método dinámico.Puede ser una cadena de longitud cero, pero no el valor null. + Combinación bit a bit de valores de que especifica los atributos del método dinámico.La única combinación permitida es y . + Convención de llamada para el método dinámico.Debe ser . + Objeto que especifica el tipo de valor devuelto del método dinámico, o null si el método no tiene ningún tipo de valor devuelto. + Matriz de objetos que especifica los tipos de los parámetros del método dinámico, o null si el método no tiene parámetros. + + que representa el módulo al que se va a asociar lógicamente el método dinámico. + true para omitir las comprobaciones de visibilidad JIT en tipos y miembros a los que obtiene acceso el Lenguaje intermedio de Microsoft (MSIL) del método dinámico; de lo contrario, false. + Un elemento de es null o .O bien es un módulo que proporciona hospedaje anónimo a los métodos dinámicos. + + es null. O bien es null. + + es una combinación de marcadores diferente de y .O bien no es .O bien es un tipo para el que devuelve true. + + + Crea un método dinámico especificando el nombre del método, sus atributos, la convención de llamada, el tipo de valor devuelto, los tipos de parámetro, el tipo al que está asociado lógicamente el método dinámico, y si las comprobaciones de visibilidad Just-In-Time (JIT) se deben omitir para los tipos y los miembros a los que tiene acceso el Lenguaje Intermedio de Microsoft (MSIL) del método dinámico. + Nombre del método dinámico.Puede ser una cadena de longitud cero, pero no el valor null. + Combinación bit a bit de valores de que especifica los atributos del método dinámico.La única combinación permitida es y . + Convención de llamada para el método dinámico.Debe ser . + Objeto que especifica el tipo de valor devuelto del método dinámico, o null si el método no tiene ningún tipo de valor devuelto. + Matriz de objetos que especifica los tipos de los parámetros del método dinámico, o null si el método no tiene parámetros. + + al que está asociado lógicamente el método dinámico.El método dinámico tiene acceso a todos los miembros del tipo. + true para omitir las comprobaciones de visibilidad JIT en tipos y miembros a los que obtiene acceso el Lenguaje intermedio de Microsoft (MSIL) del método dinámico; de lo contrario, false. + Un elemento de es null o . O bien es una interfaz, una matriz, un tipo genérico abierto o un parámetro de tipo de un método o tipo genérico. + + es null. O bien es null. + + es una combinación de marcadores diferente de y .O bien no es .O bien es un tipo para el que devuelve true. + + + Inicializa un método dinámico que está hospedado de forma anónima especificando el nombre del método, el tipo de valor devuelto y los tipos de parámetro. + Nombre del método dinámico.Puede ser una cadena de longitud cero, pero no el valor null. + Objeto que especifica el tipo de valor devuelto del método dinámico, o null si el método no tiene ningún tipo de valor devuelto. + Matriz de objetos que especifica los tipos de los parámetros del método dinámico, o null si el método no tiene parámetros. + Un elemento de es null o . + + es null. + + es un tipo para el que devuelve true. + + + Inicializa un método dinámico hospedado de forma anónima especificando el nombre del método, el tipo de valor devuelto, los tipos de parámetro y si las comprobaciones de visibilidad Just-In-Time (JIT) deberían omitirse en los tipos y miembros a los que obtiene acceso el Lenguaje intermedio de Microsoft (MSIL) del método dinámico. + Nombre del método dinámico.Puede ser una cadena de longitud cero, pero no el valor null. + Objeto que especifica el tipo de valor devuelto del método dinámico, o null si el método no tiene ningún tipo de valor devuelto. + Matriz de objetos que especifica los tipos de los parámetros del método dinámico, o null si el método no tiene parámetros. + true si se van a omitir las comprobaciones de visibilidad JIT en los tipos y miembros a los que tiene acceso el Lenguaje intermedio de Microsoft (MSIL) del método dinámico, con esta restricción: el nivel de confianza de los ensamblados que contienen esos tipos y miembros debe ser igual o menor que el nivel de confianza de la pila de llamadas que emite el método dinámico; de lo contrario, false. + Un elemento de es null o . + + es null. + + es un tipo para el que devuelve true. + + + Crea un método dinámico que es global para un módulo, especificando el nombre del método, el tipo de valor devuelto, los tipos de parámetro y el módulo. + Nombre del método dinámico.Puede ser una cadena de longitud cero, pero no el valor null. + Objeto que especifica el tipo de valor devuelto del método dinámico, o null si el método no tiene ningún tipo de valor devuelto. + Matriz de objetos que especifica los tipos de los parámetros del método dinámico, o null si el método no tiene parámetros. + + que representa el módulo al que se va a asociar lógicamente el método dinámico. + Un elemento de es null o . O bien es un módulo que proporciona hospedaje anónimo a los métodos dinámicos. + + es null. O bien es null. + + es un tipo para el que devuelve true. + + + Crea un método dinámico que es global para un módulo especificando el nombre del método, el tipo de valor devuelto, los tipos de parámetro, el módulo y si las comprobaciones de visibilidad Just-In-Time (JIT) se deben omitir para los tipos y miembros a los que obtiene acceso el Lenguaje intermedio de Microsoft (MSIL) del método dinámico. + Nombre del método dinámico.Puede ser una cadena de longitud cero, pero no el valor null. + Objeto que especifica el tipo de valor devuelto del método dinámico, o null si el método no tiene ningún tipo de valor devuelto. + Matriz de objetos que especifica los tipos de los parámetros del método dinámico, o null si el método no tiene parámetros. + + que representa el módulo al que se va a asociar lógicamente el método dinámico. + true para omitir las comprobaciones de visibilidad JIT en tipos y miembros a los que obtiene acceso el Lenguaje intermedio de Microsoft (MSIL) del método dinámico. + Un elemento de es null o . O bien es un módulo que proporciona hospedaje anónimo a los métodos dinámicos. + + es null. O bien es null. + + es un tipo para el que devuelve true. + + + Crea un método dinámico, especificando el nombre del método, el tipo de valor devuelto, los tipos de parámetro y el tipo al que está asociado lógicamente el método dinámico. + Nombre del método dinámico.Puede ser una cadena de longitud cero, pero no el valor null. + Objeto que especifica el tipo de valor devuelto del método dinámico, o null si el método no tiene ningún tipo de valor devuelto. + Matriz de objetos que especifica los tipos de los parámetros del método dinámico, o null si el método no tiene parámetros. + + al que está asociado lógicamente el método dinámico.El método dinámico tiene acceso a todos los miembros del tipo. + Un elemento de es null o .O bien es una interfaz, una matriz, un tipo genérico abierto o un parámetro de tipo de un método o tipo genérico. + + es null. O bien es null. + El valor de es null o es un tipo para el que devuelve true. + + + Crea un método dinámico especificando el nombre del método, el tipo de valor devuelto, los tipos de parámetro, el tipo al que está asociado lógicamente el método dinámico y si las comprobaciones de visibilidad Just-In-Time (JIT) se deben omitir para los tipos y los miembros a los que tiene acceso el Lenguaje intermedio de Microsoft (MSIL) del método dinámico. + Nombre del método dinámico.Puede ser una cadena de longitud cero, pero no el valor null. + Objeto que especifica el tipo de valor devuelto del método dinámico, o null si el método no tiene ningún tipo de valor devuelto. + Matriz de objetos que especifica los tipos de los parámetros del método dinámico, o null si el método no tiene parámetros. + + al que está asociado lógicamente el método dinámico.El método dinámico tiene acceso a todos los miembros del tipo. + true para omitir las comprobaciones de visibilidad JIT en tipos y miembros a los que obtiene acceso el Lenguaje intermedio de Microsoft (MSIL) del método dinámico; de lo contrario, false. + Un elemento de es null o .O bien es una interfaz, una matriz, un tipo genérico abierto o un parámetro de tipo de un método o tipo genérico. + + es null. O bien es null. + El valor de es null o es un tipo para el que devuelve true. + + + Obtiene los atributos especificados cuando se creó el método dinámico. + Una combinación bit a bit de los valores de que representan los atributos del método. + + + Obtiene la convención de llamada especificada cuando se creó el método dinámico. + Uno de los valores de que indica la convención de llamada del método. + + + Completa el método dinámico y crea un delegado que se puede utilizar para ejecutarlo. + Un delegado del tipo especificado que se puede utilizar para ejecutar el método dinámico. + Tipo de delegado cuya firma coincide con la del método dinámico. + El método dinámico no tiene cuerpo de método. + + tiene el número de parámetros o los tipos de parámetro incorrectos. + + + Completa el método dinámico y crea un delegado que se puede utilizar para ejecutarlo, especificando el tipo de delegado y un objeto al que se enlaza el delegado. + Un delegado del tipo especificado que se puede utilizar para ejecutar el método dinámico con el objeto de destino especificado. + Tipo de delegado cuya firma coincide con el método dinámico, menos el primer parámetro. + Objeto al que se enlaza el delegado.Debe ser del mismo tipo que el primer parámetro del método dinámico. + El método dinámico no tiene cuerpo de método. + + no es del mismo tipo que el primer parámetro del método dinámico y no se puede asignar a ese tipo.O bien tiene el número de parámetros o los tipos de parámetro incorrectos. + + + Obtiene el tipo que declara el método, que siempre es null para los métodos dinámicos. + Siempre es null. + + + Devuelve un generador de Lenguaje intermedio de Microsoft (MILS) para el método con un tamaño predeterminado de secuencia de MSIL de 64 bytes. + Un objeto para el método. + + + Devuelve un generador de Lenguaje intermedio de Microsoft (MSIL) para el método con el tamaño de secuencia de MSIL especificado. + Un objeto para el método, con el tamaño de secuencia de MSIL especificado. + Tamaño de la secuencia de MSIL, en bytes. + + + Devuelve los parámetros del método dinámico. + Una matriz de objetos que representan los parámetros del método dinámico. + + + Obtiene o establece un valor que indica si las variables locales del método se inicializan en cero. + true si las variables locales del método se inicializan en cero; de lo contrario, false.El valor predeterminado es true. + + + + Obtiene el nombre del método dinámico. + El nombre simple del método. + + + Obtiene el parámetro devuelto del método dinámico. + Siempre es null. + + + Obtiene el tipo de valor devuelto para el método dinámico. + + que representa el tipo del valor devuelto del método actual; si el método no tiene ningún tipo de valor devuelto. + + + Devuelve la firma del método, representada como una cadena. + Una cadena que representa la firma del método. + + + \ No newline at end of file diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/fr/System.Reflection.Emit.Lightweight.xml b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/fr/System.Reflection.Emit.Lightweight.xml new file mode 100755 index 0000000..0787ab1 --- /dev/null +++ b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/fr/System.Reflection.Emit.Lightweight.xml @@ -0,0 +1,184 @@ + + + + System.Reflection.Emit.Lightweight + + + + Définit et représente une méthode dynamique qui peut être compilée, exécutée et ignorée.Les méthodes ignorées sont disponibles pour le garbage collection. + + + Crée une méthode dynamique qui est globale pour un module, en spécifiant le nom de la méthode, les attributs, les conventions d'appel, le type de retour, les types de paramètres, le module et si les contrôles de visibilité juste-à-temps (JIT) doivent être ignorés pour les types et membres auxquels accède le langage Microsoft Intermediate Language (MSIL) de la méthode dynamique. + Nom de la méthode dynamique.Ce peut être une chaîne de longueur nulle, mais pas la valeur null. + Combinaison d'opérations de bits de valeurs qui spécifient les attributs de la méthode dynamique.La seule combinaison autorisée est et . + Convention d'appel de la méthode dynamique.Doit être . + Objet qui spécifie le type de retour de la méthode dynamique, ou null si la méthode n'a aucun type de retour. + Tableau d'objets spécifiant les types des paramètres de la méthode dynamique, ou indiquant null si la méthode n'a pas de paramètre. + + représentant le module auquel la méthode dynamique doit être associée de manière logique. + true pour ignorer les contrôles de visibilité JIT sur les types et membres auxquels accède le code MSIL de la méthode dynamique ; sinon, false. + Un élément de est null ou .ou est un module qui fournit l'hébergement anonyme pour les méthodes dynamiques. + + a la valeur null. ou a la valeur null. + + est une combinaison d'indicateurs autre que et .ou n'est pas .ou est un type pour lequel retourne true. + + + Crée une méthode dynamique, en spécifiant le nom de la méthode, les attributs, la convention d'appel, le type de retour, les types de paramètres, le type auquel la méthode dynamique est associée de manière logique, et si les contrôles de visibilité juste-à-temps (JIT) doivent être ignorés pour les types et membres auxquels accède le langage MSIL de la méthode dynamique. + Nom de la méthode dynamique.Ce peut être une chaîne de longueur nulle, mais pas la valeur null. + Combinaison d'opérations de bits de valeurs qui spécifient les attributs de la méthode dynamique.La seule combinaison autorisée est et . + Convention d'appel de la méthode dynamique.Doit être . + Objet qui spécifie le type de retour de la méthode dynamique, ou null si la méthode n'a aucun type de retour. + Tableau d'objets spécifiant les types des paramètres de la méthode dynamique, ou indiquant null si la méthode n'a pas de paramètre. + + auquel la méthode dynamique est associée de manière logique.La méthode dynamique a accès à tous les membres du type. + true pour ignorer les contrôles de visibilité JIT sur les types et membres auxquels accède le code MSIL de la méthode dynamique ; sinon, false. + Un élément de est null ou . ou est une interface, un tableau, un type générique ouvert ou un paramètre de type d'un type ou d'une méthode générique. + + a la valeur null. ou a la valeur null. + + est une combinaison d'indicateurs autre que et .ou n'est pas .ou est un type pour lequel retourne true. + + + Initialise une méthode dynamique hébergée de manière anonyme, en spécifiant le nom de la méthode, le type de retour et les types de paramètre. + Nom de la méthode dynamique.Ce peut être une chaîne de longueur nulle, mais pas la valeur null. + Objet qui spécifie le type de retour de la méthode dynamique, ou null si la méthode n'a aucun type de retour. + Tableau d'objets spécifiant les types des paramètres de la méthode dynamique, ou indiquant null si la méthode n'a pas de paramètre. + Un élément de est null ou . + + a la valeur null. + + est un type pour lequel retourne true. + + + Initialise une méthode dynamique hébergée de manière anonyme, en spécifiant le nom de la méthode, le type de retour, les types de paramètre, et si les contrôles de visibilité juste-à-temps (JIT) doivent être ignorés pour les types et membres auxquels accède le langage MSIL de la méthode dynamique. + Nom de la méthode dynamique.Ce peut être une chaîne de longueur nulle, mais pas la valeur null. + Objet qui spécifie le type de retour de la méthode dynamique, ou null si la méthode n'a aucun type de retour. + Tableau d'objets spécifiant les types des paramètres de la méthode dynamique, ou indiquant null si la méthode n'a pas de paramètre. + true pour ignorer les contrôles de visibilité JIT sur les types et membres auxquels accède le langage MSIL de la méthode dynamique, avec cette restriction : le niveau de confiance des assemblys qui contiennent ces types et membres doit être inférieur ou égal à celui de la pile des appels qui émet la méthode dynamique ; sinon, false. + Un élément de est null ou . + + a la valeur null. + + est un type pour lequel retourne true. + + + Crée une méthode dynamique qui est globale pour un module, en spécifiant le nom de la méthode, le type de retour, les types de paramètres et le module. + Nom de la méthode dynamique.Ce peut être une chaîne de longueur nulle, mais pas la valeur null. + Objet qui spécifie le type de retour de la méthode dynamique, ou null si la méthode n'a aucun type de retour. + Tableau d'objets spécifiant les types des paramètres de la méthode dynamique, ou indiquant null si la méthode n'a pas de paramètre. + + représentant le module auquel la méthode dynamique doit être associée de manière logique. + Un élément de est null ou . ou est un module qui fournit l'hébergement anonyme pour les méthodes dynamiques. + + a la valeur null. ou a la valeur null. + + est un type pour lequel retourne true. + + + Crée une méthode dynamique qui est globale pour un module, en spécifiant le nom de la méthode, le type de retour, les types de paramètres, le module et si les contrôles de visibilité juste-à-temps (JIT) doivent être ignorés pour les types et membres auxquels accède le langage Microsoft Intermediate Language (MSIL) de la méthode dynamique. + Nom de la méthode dynamique.Ce peut être une chaîne de longueur nulle, mais pas la valeur null. + Objet qui spécifie le type de retour de la méthode dynamique, ou null si la méthode n'a aucun type de retour. + Tableau d'objets spécifiant les types des paramètres de la méthode dynamique, ou indiquant null si la méthode n'a pas de paramètre. + + représentant le module auquel la méthode dynamique doit être associée de manière logique. + true pour ignorer les contrôles de visibilité JIT sur les types et membres auxquels accède le code MSIL de la méthode dynamique. + Un élément de est null ou . ou est un module qui fournit l'hébergement anonyme pour les méthodes dynamiques. + + a la valeur null. ou a la valeur null. + + est un type pour lequel retourne true. + + + Crée une méthode dynamique, en spécifiant le nom de la méthode, le type de retour, les types de paramètres et le type auquel la méthode dynamique est associée de manière logique. + Nom de la méthode dynamique.Ce peut être une chaîne de longueur nulle, mais pas la valeur null. + Objet qui spécifie le type de retour de la méthode dynamique, ou null si la méthode n'a aucun type de retour. + Tableau d'objets spécifiant les types des paramètres de la méthode dynamique, ou indiquant null si la méthode n'a pas de paramètre. + + auquel la méthode dynamique est associée de manière logique.La méthode dynamique a accès à tous les membres du type. + Un élément de est null ou .ou est une interface, un tableau, un type générique ouvert ou un paramètre de type d'un type ou d'une méthode générique. + + a la valeur null. ou a la valeur null. + + est null ou est un type pour lequel retourne true. + + + Crée une méthode dynamique, en spécifiant le nom de la méthode, le type de retour, les types de paramètres, le type auquel la méthode dynamique est associée de manière logique, et si les contrôles de visibilité juste-à-temps (JIT) doivent être ignorés pour les types et membres auxquels accède le code MSIL de la méthode dynamique. + Nom de la méthode dynamique.Ce peut être une chaîne de longueur nulle, mais pas la valeur null. + Objet qui spécifie le type de retour de la méthode dynamique, ou null si la méthode n'a aucun type de retour. + Tableau d'objets spécifiant les types des paramètres de la méthode dynamique, ou indiquant null si la méthode n'a pas de paramètre. + + auquel la méthode dynamique est associée de manière logique.La méthode dynamique a accès à tous les membres du type. + true pour ignorer les contrôles de visibilité JIT sur les types et membres auxquels accède le code MSIL de la méthode dynamique ; sinon, false. + Un élément de est null ou .ou est une interface, un tableau, un type générique ouvert ou un paramètre de type d'un type ou d'une méthode générique. + + a la valeur null. ou a la valeur null. + + est null ou est un type pour lequel retourne true. + + + Obtient les attributs spécifiés au moment de la création de la méthode dynamique. + Combinaison d'opérations de bits des valeurs qui représentent les attributs de la méthode. + + + Obtient la convention d'appel spécifiée au moment de la création de la méthode dynamique. + L'une des valeurs indiquant la convention d'appel de la méthode. + + + Exécute la méthode dynamique et crée un délégué qui peut être utilisé pour l'exécuter. + Délégué du type spécifié qui peut être utilisé pour exécuter la méthode dynamique. + Type délégué dont la signature correspond à celle de la méthode dynamique. + La méthode dynamique ne possède aucun corps de méthode. + + possède un nombre de paramètres erroné ou des types de paramètres incorrects. + + + Exécute la méthode dynamique et crée un délégué qui peut être utilisé pour l'exécuter, en spécifiant le type délégué et un objet auquel le délégué est lié. + Délégué du type spécifié qui peut être utilisé pour exécuter la méthode dynamique avec l'objet cible spécifié. + Type délégué dont la signature correspond à celle de la méthode dynamique, moins le premier paramètre. + Objet auquel le délégué est lié.Doit être du même type que le premier paramètre de la méthode dynamique. + La méthode dynamique ne possède aucun corps de méthode. + + n'est pas du même type que le premier paramètre de la méthode dynamique et ne peut pas être assigné à ce type.ou possède un nombre de paramètres erroné ou des types de paramètres incorrects. + + + Obtient le type qui déclare la méthode (toujours null pour les méthodes dynamiques). + Toujours null. + + + Retourne un générateur MSIL (Microsoft Intermediate Language) pour la méthode, avec une taille de flux MSIL par défaut de 64 octets. + Objet de la méthode. + + + Retourne un générateur MSIL (Microsoft Intermediate Language) pour la méthode, avec la taille de flux MSIL spécifiée. + Objet pour la méthode avec la taille de flux MSIL spécifiée. + Taille du flux MSIL en octets. + + + Retourne les paramètres de la méthode dynamique. + Tableau d'objets représentant les paramètres de la méthode dynamique. + + + Obtient ou définit une valeur qui indique si les variables locales contenues dans la méthode sont initialisées à zéro. + true si les variables locales contenues dans la méthode sont initialisées à zéro ; sinon, false.La valeur par défaut est true. + + + + Obtient le nom de la méthode dynamique. + Nom simple de la méthode. + + + Obtient le paramètre de retour de la méthode dynamique. + Toujours null. + + + Obtient le type de la valeur de retour pour la méthode dynamique. + + qui représente le type de la valeur de retour de la méthode actuelle ; si la méthode ne possède aucun type de retour. + + + Retourne la signature de la méthode, représentée sous la forme d'une chaîne. + Chaîne représentant la signature de la méthode. + + + \ No newline at end of file diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/it/System.Reflection.Emit.Lightweight.xml b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/it/System.Reflection.Emit.Lightweight.xml new file mode 100755 index 0000000..116bd0d --- /dev/null +++ b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/it/System.Reflection.Emit.Lightweight.xml @@ -0,0 +1,177 @@ + + + + System.Reflection.Emit.Lightweight + + + + Definisce e rappresenta un metodo dinamico che può essere compilato, eseguito ed eliminato.I metodi scartati sono disponibili per la procedura di Garbage Collection. + + + Crea un metodo dinamico globale per un modulo, specificando il nome del metodo, gli attributi, la convenzione di chiamata, il tipo restituito, i tipi di parametri e il modulo e indicando se deve essere ignorato il controllo di visibilità JIT per i tipi e i membri a cui accede il linguaggio MSIL (Microsoft Intermediate Language) del metodo dinamico. + Nome del metodo dinamico.Può essere una stringa di lunghezza zero, ma non può essere null. + Combinazione bit per bit di valori che specifica gli attributi del metodo dinamico.L'unica combinazione consentita è quella composta da e . + Convenzione di chiamata per il metodo dinamico.Deve essere . + Classe che specifica il tipo restituito del metodo dinamico oppure null se il metodo non dispone di tipi restituiti. + Matrice di oggetti che specificano i tipi dei parametri del metodo dinamico oppure null se il metodo non dispone di parametri. + Classe che rappresenta il modulo a cui il metodo dinamico deve essere associato dal punto di vista logico. + true per ignorare i controlli di visibilità JIT su tipi e membri a cui accede il linguaggio MSIL del metodo dinamico; in caso contrario, false. + Un elemento di è null o .- oppure - è un modulo che fornisce hosting anonimo per i metodi dinamici. + + è null. - oppure - è null. + + è una combinazione di flag diversa da e .- oppure - non è .- oppure - è un tipo per cui restituisce true. + + + Crea un metodo dinamico, specificando il nome del metodo, gli attributi, la convenzione di chiamata, il tipo restituito, i tipi di parametri, il tipo a cui il metodo dinamico è associato dal punto di vista logico e indicando se è necessario ignorare il controllo di visibilità JIT per i tipi e i membri a cui accede il linguaggio MSIL (Microsoft Intermediate Language) del metodo dinamico. + Nome del metodo dinamico.Può essere una stringa di lunghezza zero, ma non può essere null. + Combinazione bit per bit di valori che specifica gli attributi del metodo dinamico.L'unica combinazione consentita è quella composta da e . + Convenzione di chiamata per il metodo dinamico.Deve essere . + Classe che specifica il tipo restituito del metodo dinamico oppure null se il metodo non dispone di tipi restituiti. + Matrice di oggetti che specificano i tipi dei parametri del metodo dinamico oppure null se il metodo non dispone di parametri. + Classe a cui il metodo dinamico è associato dal punto di vista logico.Il metodo dinamico ha accesso a tutti i membri del tipo. + true per ignorare i controlli di visibilità JIT su tipi e membri a cui accede il linguaggio MSIL del metodo dinamico; in caso contrario, false. + Un elemento di è null o . - oppure - è un'interfaccia, una matrice, un tipo generico aperto o un parametro di tipo di un tipo o di un metodo generico. + + è null. - oppure - è null. + + è una combinazione di flag diversa da e .- oppure - non è .- oppure - è un tipo per cui restituisce true. + + + Inizializza un metodo dinamico contenuto anonimamente, specificando il nome del metodo, il tipo restituito e tipi di parametro. + Nome del metodo dinamico.Può essere una stringa di lunghezza zero, ma non può essere null. + Classe che specifica il tipo restituito del metodo dinamico oppure null se il metodo non dispone di tipi restituiti. + Matrice di oggetti che specificano i tipi dei parametri del metodo dinamico oppure null se il metodo non dispone di parametri. + Un elemento di è null o . + + è null. + + è un tipo per cui restituisce true. + + + Inizializza un metodo dinamico contenuto anonimamente, specificando il nome del metodo, il tipo restituito, i tipi di parametri e il modulo e indicando se deve essere ignorato il controllo di visibilità JIT per i tipi e i membri del metodo dinamico a cui accede MSIL (Microsoft Intermediate Language). + Nome del metodo dinamico.Può essere una stringa di lunghezza zero, ma non può essere null. + Classe che specifica il tipo restituito del metodo dinamico oppure null se il metodo non dispone di tipi restituiti. + Matrice di oggetti che specificano i tipi dei parametri del metodo dinamico oppure null se il metodo non dispone di parametri. + true per ignorare i controlli di visibilità JIT su tipi e membri a cui accede il linguaggio MSIL del metodo dinamico, con la seguente restrizione: il livello di attendibilità degli assembly che contengono tali tipi e membri deve essere uguale a inferiore al livello di attendibilità dello stack di chiamate che genera il metodo dinamico; in caso contrario, false. + Un elemento di è null o . + + è null. + + è un tipo per cui restituisce true. + + + Crea un metodo dinamico globale per un modulo, specificando il nome del metodo, il tipo restituito, i tipi di parametri e il modulo. + Nome del metodo dinamico.Può essere una stringa di lunghezza zero, ma non può essere null. + Classe che specifica il tipo restituito del metodo dinamico oppure null se il metodo non dispone di tipi restituiti. + Matrice di oggetti che specificano i tipi dei parametri del metodo dinamico oppure null se il metodo non dispone di parametri. + Classe che rappresenta il modulo a cui il metodo dinamico deve essere associato dal punto di vista logico. + Un elemento di è null o . - oppure - è un modulo che fornisce hosting anonimo per i metodi dinamici. + + è null. - oppure - è null. + + è un tipo per cui restituisce true. + + + Crea un metodo dinamico globale per un modulo, specificando il nome del metodo, il tipo restituito, i tipi di parametri e il modulo e indicando se deve essere ignorato il controllo di visibilità JIT per i tipi e i membri del metodo dinamico a cui accede MSIL (Microsoft Intermediate Language). + Nome del metodo dinamico.Può essere una stringa di lunghezza zero, ma non può essere null. + Classe che specifica il tipo restituito del metodo dinamico oppure null se il metodo non dispone di tipi restituiti. + Matrice di oggetti che specificano i tipi dei parametri del metodo dinamico oppure null se il metodo non dispone di parametri. + Classe che rappresenta il modulo a cui il metodo dinamico deve essere associato dal punto di vista logico. + true per ignorare i controlli di visibilità JIT su tipi e membri a cui accede il linguaggio MSIL del metodo dinamico. + Un elemento di è null o . - oppure - è un modulo che fornisce hosting anonimo per i metodi dinamici. + + è null. - oppure - è null. + + è un tipo per cui restituisce true. + + + Crea un metodo dinamico, specificando il nome del metodo, il tipo restituito, i parametri di tipo e il tipo a cui il metodo dinamico è associato dal punto di vista logico. + Nome del metodo dinamico.Può essere una stringa di lunghezza zero, ma non può essere null. + Classe che specifica il tipo restituito del metodo dinamico oppure null se il metodo non dispone di tipi restituiti. + Matrice di oggetti che specificano i tipi dei parametri del metodo dinamico oppure null se il metodo non dispone di parametri. + Classe a cui il metodo dinamico è associato dal punto di vista logico.Il metodo dinamico ha accesso a tutti i membri del tipo. + Un elemento di è null o .- oppure - è un'interfaccia, una matrice, un tipo generico aperto o un parametro di tipo di un tipo o di un metodo generico. + + è null. - oppure - è null. + + è null o è un tipo per il quale la proprietà restituisce true. + + + Crea un metodo dinamico, specificando il nome del metodo, il tipo restituito, i tipi di parametri, il tipo a cui il metodo dinamico è associato dal punto di vista logico e indicando se è necessario ignorare il controllo di visibilità JIT per i tipi e i membri a cui accede il linguaggio MSIL (Microsoft Intermediate Language) del metodo dinamico. + Nome del metodo dinamico.Può essere una stringa di lunghezza zero, ma non può essere null. + Classe che specifica il tipo restituito del metodo dinamico oppure null se il metodo non dispone di tipi restituiti. + Matrice di oggetti che specificano i tipi dei parametri del metodo dinamico oppure null se il metodo non dispone di parametri. + Classe a cui il metodo dinamico è associato dal punto di vista logico.Il metodo dinamico ha accesso a tutti i membri del tipo. + true per ignorare i controlli di visibilità JIT su tipi e membri a cui accede il linguaggio MSIL del metodo dinamico; in caso contrario, false. + Un elemento di è null o .- oppure - è un'interfaccia, una matrice, un tipo generico aperto o un parametro di tipo di un tipo o di un metodo generico. + + è null. - oppure - è null. + + è null o è un tipo per il quale la proprietà restituisce true. + + + Ottiene gli attributi specificati quando il metodo dinamico è stato creato. + Combinazione bit per bit dei valori che rappresentano gli attributi relativi al metodo. + + + Ottiene la convenzione di chiamata specificata quando il metodo dinamico è stato creato. + Uno dei valori che indica la convenzione di chiamata del metodo. + + + Completa il metodo dinamico e crea un delegato che può essere utilizzato per eseguirlo. + Delegato del tipo specificato, che è possibile utilizzare per eseguire il metodo dinamico. + Tipo delegato la cui firma corrisponde a quella del metodo dinamico. + Il metodo dinamico non dispone di corpo. + + ha un numero errato di parametri o tipi di parametro non validi. + + + Completa il metodo dinamico e crea un delegato che può essere utilizzato per eseguirlo, specificando il tipo di delegato e l'oggetto a cui il delegato è associato. + Delegato del tipo specificato, che è possibile utilizzare per eseguire il metodo dinamico con l'oggetto di destinazione specificato. + Tipo delegato la cui firma corrisponde a quella del metodo dinamico, meno il primo parametro. + Oggetto a cui il delegato è associato.Deve essere dello stesso tipo del primo parametro del metodo dinamico. + Il metodo dinamico non dispone di corpo. + + non è dello stesso tipo del primo parametro del metodo dinamico e non è assegnabile al tipo.- oppure - ha un numero errato di parametri o tipi di parametro non validi. + + + Ottiene il tipo che dichiara il metodo, che è sempre null per i metodi dinamici. + Sempre null. + + + Restituisce un generatore in linguaggio MSIL (Microsoft Intermediate Language) per il metodo con una dimensione di flusso MSIL predefinita di 64 byte. + Classe relativa al metodo. + + + Restituisce un generatore MSIL (Microsoft Intermediate Language) per il metodo con la dimensione di flusso MSIL specificata. + Classe per il metodo, con la dimensione di flusso MSIL specificata. + Dimensione del flusso MSIL in byte. + + + Restituisce i parametri del metodo dinamico. + Matrice di oggetti che rappresentano i parametri del metodo dinamico. + + + Ottiene o imposta un valore che indica se le variabili locali all'interno del metodo sono inizializzate su zero. + true se le variabili locali all'interno del metodo sono inizializzate su zero. In caso contrario, false.Il valore predefinito è true. + + + + Ottiene il nome del metodo dinamico. + Il nome semplice del metodo. + + + Ottiene il parametro restituito del metodo dinamico. + Sempre null. + + + Ottiene il tipo del valore restituito per il metodo dinamico. + Classe che rappresenta il tipo del valore restituito del metodo corrente; se il metodo non dispone di tipi restituiti. + + + Restituisce la firma del metodo, rappresentata sotto forma di stringa. + Una stringa che rappresenta la firma del metodo. + + + \ No newline at end of file diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/ja/System.Reflection.Emit.Lightweight.xml b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/ja/System.Reflection.Emit.Lightweight.xml new file mode 100755 index 0000000..017e387 --- /dev/null +++ b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/ja/System.Reflection.Emit.Lightweight.xml @@ -0,0 +1,185 @@ + + + + System.Reflection.Emit.Lightweight + + + + コンパイル、実行、および破棄できる動的メソッドを定義し、表します。破棄されたメソッドは、ガベージ コレクションの対象となります。 + + + メソッド名、属性、呼び出し規約、戻り値の型、パラメーターの型、モジュールを指定し、さらに動的メソッドの MSIL (Microsoft Intermediate Language) によってアクセスされる型およびメンバーに対して JIT (Just-In-Time) の参照範囲チェックをスキップする必要があるかどうかを指定して、モジュールに対してグローバルな動的メソッドを作成します。 + 動的メソッドの名前。これは、長さ 0 の文字列にすることはできますが、null にすることはできません。 + 動的メソッドの属性を指定する 値のビットごとの組み合わせ。許可される組み合わせは、 の組み合わせだけです。 + 動的メソッドの呼び出し規約。 にする必要があります。 + 動的メソッドの戻り値の型を指定する オブジェクト。メソッドに戻り値の型がない場合は null。 + 動的メソッドのパラメーターの型を指定する オブジェクトの配列。メソッドにパラメーターがない場合は null。 + 動的メソッドを論理的に関連付けるモジュールを表す 。 + 動的メソッドの MSIL によってアクセスされる型およびメンバーに対して JIT の参照範囲チェックをスキップする場合は true。それ以外の場合は false。 + + の要素が null または です。または が、動的メソッドを匿名でホストするモジュールです。 + + は null なので、または は null なので、 + + 以外のフラグの組み合わせです。または ではありません。または で true が返される型です。 + + + メソッド名、属性、呼び出し規約、戻り値の型、パラメーターの型、動的メソッドを論理的に関連付ける型を指定し、さらに動的メソッドの MSIL (Microsoft Intermediate Language) によってアクセスされる型およびメンバーに対して JIT (Just-In-Time) の参照範囲チェックをスキップする必要があるかどうかを指定して、動的メソッドを作成します。 + 動的メソッドの名前。これは、長さ 0 の文字列にすることはできますが、null にすることはできません。 + 動的メソッドの属性を指定する 値のビットごとの組み合わせ。許可される組み合わせは、 の組み合わせだけです。 + 動的メソッドの呼び出し規約。 にする必要があります。 + 動的メソッドの戻り値の型を指定する オブジェクト。メソッドに戻り値の型がない場合は null。 + 動的メソッドのパラメーターの型を指定する オブジェクトの配列。メソッドにパラメーターがない場合は null。 + 動的メソッドを論理的に関連付ける 。動的メソッドはこの型のすべてのメンバーにアクセスできます。 + 動的メソッドの MSIL によってアクセスされる型およびメンバーに対して JIT の参照範囲チェックをスキップする場合は true。それ以外の場合は false。 + + の要素が null または です。または がインターフェイス、配列、オープン ジェネリック型、ジェネリック型またはジェネリック メソッドの型パラメーターです。 + + は null なので、または は null なので、 + + 以外のフラグの組み合わせです。または ではありません。または で true が返される型です。 + + + メソッド名、戻り値の型、およびパラメーターの型を指定して、匿名でホストされる動的メソッドを初期化します。 + 動的メソッドの名前。これは、長さ 0 の文字列にすることはできますが、null にすることはできません。 + 動的メソッドの戻り値の型を指定する オブジェクト。メソッドに戻り値の型がない場合は null。 + 動的メソッドのパラメーターの型を指定する オブジェクトの配列。メソッドにパラメーターがない場合は null。 + + の要素が null または です。 + + は null なので、 + + で true が返される型です。 + + + メソッド名、戻り値の型、パラメーターの型、モジュールを指定し、さらに動的メソッドの MSIL (Microsoft Intermediate Language) によってアクセスされる型およびメンバーに対して JIT (Just-In-Time) の参照範囲チェックをスキップする必要があるかどうかを指定して、匿名でホストされる動的メソッドを初期化します。 + 動的メソッドの名前。これは、長さ 0 の文字列にすることはできますが、null にすることはできません。 + 動的メソッドの戻り値の型を指定する オブジェクト。メソッドに戻り値の型がない場合は null。 + 動的メソッドのパラメーターの型を指定する オブジェクトの配列。メソッドにパラメーターがない場合は null。 + 動的メソッドの MSIL によってアクセスされる型およびメンバーに対して、このような型およびメンバーを含むアセンブリの信頼レベルが、動的メソッドを出力するコール スタックの信頼レベル以下である必要があるという制限付きで、JIT の参照範囲チェックをスキップする場合は true。それ以外の場合は false。 + + の要素が null または です。 + + は null なので、 + + で true が返される型です。 + + + メソッド名、戻り値の型、パラメーターの型、およびモジュールを指定して、モジュールに対してグローバルな動的メソッドを作成します。 + 動的メソッドの名前。これは、長さ 0 の文字列にすることはできますが、null にすることはできません。 + 動的メソッドの戻り値の型を指定する オブジェクト。メソッドに戻り値の型がない場合は null。 + 動的メソッドのパラメーターの型を指定する オブジェクトの配列。メソッドにパラメーターがない場合は null。 + 動的メソッドを論理的に関連付けるモジュールを表す 。 + + の要素が null または です。または が、動的メソッドを匿名でホストするモジュールです。 + + は null なので、または は null なので、 + + で true が返される型です。 + + + メソッド名、戻り値の型、パラメーターの型、モジュールを指定し、さらに動的メソッドの MSIL (Microsoft Intermediate Language) によってアクセスされる型およびメンバーに対して JIT (Just-In-Time) の参照範囲チェックをスキップする必要があるかどうかを指定して、モジュールに対してグローバルな動的メソッドを作成します。 + 動的メソッドの名前。これは、長さ 0 の文字列にすることはできますが、null にすることはできません。 + 動的メソッドの戻り値の型を指定する オブジェクト。メソッドに戻り値の型がない場合は null。 + 動的メソッドのパラメーターの型を指定する オブジェクトの配列。メソッドにパラメーターがない場合は null。 + 動的メソッドを論理的に関連付けるモジュールを表す 。 + 動的メソッドの MSIL によってアクセスされる型およびメンバーに対して JIT の参照範囲チェックをスキップする場合は true。 + + の要素が null または です。または が、動的メソッドを匿名でホストするモジュールです。 + + は null なので、または は null なので、 + + で true が返される型です。 + + + メソッド名、戻り値の型、パラメーターの型、および動的メソッドを論理的に関連付ける型を指定して、動的メソッドを作成します。 + 動的メソッドの名前。これは、長さ 0 の文字列にすることはできますが、null にすることはできません。 + 動的メソッドの戻り値の型を指定する オブジェクト。メソッドに戻り値の型がない場合は null。 + 動的メソッドのパラメーターの型を指定する オブジェクトの配列。メソッドにパラメーターがない場合は null。 + 動的メソッドを論理的に関連付ける 。動的メソッドはこの型のすべてのメンバーにアクセスできます。 + + の要素が null または です。または がインターフェイス、配列、オープン ジェネリック型、ジェネリック型またはジェネリック メソッドの型パラメーターです。 + + は null なので、または は null なので、 + + が null であるか、 で true が返される型です。 + + + メソッド名、戻り値の型、パラメーターの型、動的メソッドを論理的に関連付ける型を指定し、さらに動的メソッドの MSIL (Microsoft Intermediate Language) によってアクセスされる型およびメンバーに対して JIT (Just-In-Time) の参照範囲チェックをスキップする必要があるかどうかを指定して、動的メソッドを作成します。 + 動的メソッドの名前。これは、長さ 0 の文字列にすることはできますが、null にすることはできません。 + 動的メソッドの戻り値の型を指定する オブジェクト。メソッドに戻り値の型がない場合は null。 + 動的メソッドのパラメーターの型を指定する オブジェクトの配列。メソッドにパラメーターがない場合は null。 + 動的メソッドを論理的に関連付ける 。動的メソッドはこの型のすべてのメンバーにアクセスできます。 + 動的メソッドの MSIL によってアクセスされる型およびメンバーに対して JIT の参照範囲チェックをスキップする場合は true。それ以外の場合は false。 + + の要素が null または です。または がインターフェイス、配列、オープン ジェネリック型、ジェネリック型またはジェネリック メソッドの型パラメーターです。 + + は null なので、または は null なので、 + + が null であるか、 で true が返される型です。 + + + 動的メソッドの作成時に指定した属性を取得します。 + メソッドの属性を表す 値のビットごとの組み合わせ。 + + + 動的メソッドの作成時に指定した呼び出し規約を取得します。 + メソッドの呼び出し規約を示す 値のいずれか。 + + + 動的メソッドを完了し、メソッドの実行に使用できるデリゲートを作成します。 + 動的メソッドの実行に使用できる指定した型のデリゲート。 + シグネチャが動的メソッドのシグネチャと一致するデリゲート型。 + 動的メソッドにメソッド本体がありません。 + + のパラメーターの数に誤りがあるか、パラメーターの型に誤りがあります。 + + + デリゲート型とデリゲートのバインド先となるオブジェクトを指定して、動的メソッドを完了し、メソッドの実行に使用できるデリゲートを作成します。 + 指定した対象オブジェクトで動的メソッドの実行に使用できる、指定した型のデリゲート。 + 1 つ目のパラメーターがない、シグネチャが動的メソッドのシグネチャと一致するデリゲート型。 + デリゲートのバインド先となるオブジェクト。動的メソッドの 1 つ目のパラメーターと同じ型であることが必要です。 + 動的メソッドにメソッド本体がありません。 + + が動的メソッドの 1 つ目のパラメーターと同じ型でないため、この型に割り当てることはできません。または のパラメーターの数に誤りがあるか、パラメーターの型に誤りがあります。 + + + 動的メソッドに対して常に null である、メソッドを宣言する型を取得します。 + 常に null。 + + + 既定の MSIL (Microsoft Intermediate Language) ストリーム サイズである 64 バイトを使用して、このメソッドに対応する MSIL ジェネレーターを返します。 + メソッドの オブジェクト。 + + + 指定された MSIL (Microsoft Intermediate Language) ストリーム サイズのメソッドに MSIL ジェネレーターを返します。 + MSIL ストリームの指定したサイズを使用するメソッドの オブジェクト。 + MSIL ストリームのサイズ (バイト単位)。 + + + 動的メソッドのパラメーターを返します。 + 動的メソッドのパラメーターを表す オブジェクトの配列。 + + + メソッドのローカル変数を 0 で初期化するかどうかを示す値を取得または設定します。 + メソッドのローカル変数を 0 で初期化する場合は true。それ以外の場合は false。既定値は、true です。 + + + + 動的メソッドの名前を取得します。 + メソッドの簡易名。 + + + 動的メソッドの返されるパラメーターを取得します。 + 常に null。 + + + 動的メソッドの戻り値の型を取得します。 + 現在のメソッドの戻り値の型を表す 。メソッドに戻り値の型がない場合は + + + 文字列として表されたメソッドのシグネチャを返します。 + メソッドのシグネチャを表す文字列。 + + + \ No newline at end of file diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/ko/System.Reflection.Emit.Lightweight.xml b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/ko/System.Reflection.Emit.Lightweight.xml new file mode 100755 index 0000000..e108fb3 --- /dev/null +++ b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/ko/System.Reflection.Emit.Lightweight.xml @@ -0,0 +1,185 @@ + + + + System.Reflection.Emit.Lightweight + + + + 컴파일, 실행, 삭제 가능한 동적 메서드를 정의하고 나타냅니다.삭제한 메서드는 가비지 수집 대상이 될 수 있습니다. + + + 메서드 이름, 특성, 호출 규칙, 반환 형식, 매개 변수 형식 및 모듈을 지정하고 동적 메서드의 MSIL(Microsoft Intermediate Language)을 통해 액세스하는 형식과 멤버에 대해 JIT(Just-In-Time) 가시성 검사를 생략할지 여부를 지정하여 모듈에 대해 전역인 동적 메서드를 만듭니다. + 동적 메서드의 이름입니다.이 이름은 길이가 0인 문자열이 될 수 있지만 null은 될 수 없습니다. + 동적 메서드의 특성을 지정하는 값의 비트 조합입니다. 조합만 허용됩니다. + 동적 메서드의 호출 규칙입니다.여야 합니다. + 동적 메서드의 반환 형식을 지정하는 개체이거나, 메서드에 반환 형식이 없는 경우에는 null입니다. + 동적 메서드의 매개 변수 형식을 지정하는 개체로 이루어진 배열이거나, 메서드에 매개 변수가 없는 경우에는 null입니다. + 동적 메서드가 논리적으로 연결될 모듈을 나타내는 입니다. + 동적 메서드의 MSIL에서 액세스하는 형식과 멤버에 대해 JIT 가시성 검사를 생략하려면 true이고, 그렇지 않으면 false입니다. + + 의 요소가 null이거나 인 경우또는이 동적 메서드에 대한 익명 호스팅을 제공하는 모듈인 경우 + + 가 null입니다. 또는가 null입니다. + + 이외의 플래그 조합인 경우또는가 아닌 경우또는가 true를 반환하는 형식인 경우 + + + 메서드 이름, 특성, 호출 규칙, 반환 형식, 매개 변수 형식, 동적 메서드를 논리적으로 연결할 형식을 지정하고 동적 메서드의 MSIL(Microsoft Intermediate Language)을 통해 액세스하는 형식과 멤버에 대해 JIT(Just-In-Time) 가시성 검사를 생략할지 여부를 지정하여 동적 메서드를 만듭니다. + 동적 메서드의 이름입니다.이 이름은 길이가 0인 문자열이 될 수 있지만 null은 될 수 없습니다. + 동적 메서드의 특성을 지정하는 값의 비트 조합입니다. 조합만 허용됩니다. + 동적 메서드의 호출 규칙입니다.여야 합니다. + 동적 메서드의 반환 형식을 지정하는 개체이거나, 메서드에 반환 형식이 없는 경우에는 null입니다. + 동적 메서드의 매개 변수 형식을 지정하는 개체로 이루어진 배열이거나, 메서드에 매개 변수가 없는 경우에는 null입니다. + 동적 메서드가 논리적으로 연결될 입니다.동적 메서드는 해당 형식의 모든 멤버에 액세스할 수 있습니다. + 동적 메서드의 MSIL에서 액세스하는 형식과 멤버에 대해 JIT 가시성 검사를 생략하려면 true이고, 그렇지 않으면 false입니다. + + 의 요소가 null이거나 인 경우 또는가 인터페이스, 배열, 개방형 제네릭 형식, 또는 제네릭 형식이나 메서드의 형식 매개 변수인 경우 + + 가 null입니다. 또는가 null입니다. + + 이외의 플래그 조합인 경우또는가 아닌 경우또는가 true를 반환하는 형식인 경우 + + + 메서드 이름, 반환 형식 및 매개 변수 형식을 지정하여 익명으로 호스팅된 동적 메서드를 초기화합니다. + 동적 메서드의 이름입니다.이 이름은 길이가 0인 문자열이 될 수 있지만 null은 될 수 없습니다. + 동적 메서드의 반환 형식을 지정하는 개체이거나, 메서드에 반환 형식이 없는 경우에는 null입니다. + 동적 메서드의 매개 변수 형식을 지정하는 개체로 이루어진 배열이거나, 메서드에 매개 변수가 없는 경우에는 null입니다. + + 의 요소가 null이거나 인 경우 + + 가 null입니다. + + 가 true를 반환하는 형식인 경우 + + + 메서드 이름, 반환 형식 및 매개 변수 형식을 지정하고 동적 메서드의 MSIL(Microsoft Intermediate Language)을 통해 액세스하는 형식과 멤버에 대해 JIT(Just-In-Time) 가시성 검사를 생략할지 여부를 지정하여 익명으로 호스팅된 동적 메서드를 초기화합니다. + 동적 메서드의 이름입니다.이 이름은 길이가 0인 문자열이 될 수 있지만 null은 될 수 없습니다. + 동적 메서드의 반환 형식을 지정하는 개체이거나, 메서드에 반환 형식이 없는 경우에는 null입니다. + 동적 메서드의 매개 변수 형식을 지정하는 개체로 이루어진 배열이거나, 메서드에 매개 변수가 없는 경우에는 null입니다. + 동적 메서드의 MSIL에서 액세스하는 형식과 멤버를 포함하는 어셈블리의 신뢰 수준이 동적 메서드를 내보내는 호출 스택의 신뢰 수준과 같거나 그보다 낮은 경우에 한해 해당 형식과 멤버에 대한 JIT 가시성 검사를 생략하려면 true이고, 그렇지 않으면 false입니다. + + 의 요소가 null이거나 인 경우 + + 가 null입니다. + + 가 true를 반환하는 형식인 경우 + + + 메서드 이름, 반환 값, 매개 변수 형식 및 모듈을 지정하여 모듈에 대해 전역 메서드인 동적 메서드를 만듭니다. + 동적 메서드의 이름입니다.이 이름은 길이가 0인 문자열이 될 수 있지만 null은 될 수 없습니다. + 동적 메서드의 반환 형식을 지정하는 개체이거나, 메서드에 반환 형식이 없는 경우에는 null입니다. + 동적 메서드의 매개 변수 형식을 지정하는 개체로 이루어진 배열이거나, 메서드에 매개 변수가 없는 경우에는 null입니다. + 동적 메서드가 논리적으로 연결될 모듈을 나타내는 입니다. + + 의 요소가 null이거나 인 경우 또는이 동적 메서드에 대한 익명 호스팅을 제공하는 모듈인 경우 + + 가 null입니다. 또는가 null입니다. + + 가 true를 반환하는 형식인 경우 + + + 메서드 이름, 반환 형식, 매개 변수 형식 및 모듈을 지정하고 동적 메서드의 MSIL(Microsoft Intermediate Language)을 통해 액세스하는 형식과 멤버에 대해 JIT(Just-In-Time) 가시성 검사를 생략할지 여부를 지정하여 모듈에 대해 전역인 동적 메서드를 만듭니다. + 동적 메서드의 이름입니다.이 이름은 길이가 0인 문자열이 될 수 있지만 null은 될 수 없습니다. + 동적 메서드의 반환 형식을 지정하는 개체이거나, 메서드에 반환 형식이 없는 경우에는 null입니다. + 동적 메서드의 매개 변수 형식을 지정하는 개체로 이루어진 배열이거나, 메서드에 매개 변수가 없는 경우에는 null입니다. + 동적 메서드가 논리적으로 연결될 모듈을 나타내는 입니다. + 동적 메서드의 MSIL에서 액세스하는 형식과 멤버에 대해 JIT 가시성 검사를 생략하려면 true입니다. + + 의 요소가 null이거나 인 경우 또는이 동적 메서드에 대한 익명 호스팅을 제공하는 모듈인 경우 + + 가 null입니다. 또는가 null입니다. + + 가 true를 반환하는 형식인 경우 + + + 메서드 이름, 반환 형식, 매개 변수 형식 및 동적 메서드가 논리적으로 연결될 형식을 지정하여 동적 메서드를 만듭니다. + 동적 메서드의 이름입니다.이 이름은 길이가 0인 문자열이 될 수 있지만 null은 될 수 없습니다. + 동적 메서드의 반환 형식을 지정하는 개체이거나, 메서드에 반환 형식이 없는 경우에는 null입니다. + 동적 메서드의 매개 변수 형식을 지정하는 개체로 이루어진 배열이거나, 메서드에 매개 변수가 없는 경우에는 null입니다. + 동적 메서드가 논리적으로 연결될 입니다.동적 메서드는 해당 형식의 모든 멤버에 액세스할 수 있습니다. + + 의 요소가 null이거나 인 경우또는 가 인터페이스, 배열, 개방형 제네릭 형식, 또는 제네릭 형식이나 메서드의 형식 매개 변수인 경우 + + 가 null입니다. 또는가 null입니다. + + 이 null이거나, 가 true를 반환하는 형식인 경우 + + + 메서드 이름, 반환 형식, 매개 변수 형식, 동적 메서드를 논리적으로 연결할 형식을 지정하고 동적 메서드의 MSIL(Microsoft Intermediate Language)을 통해 액세스하는 형식과 멤버에 대해 JIT(Just-In-Time) 가시성 검사를 생략할지 여부를 지정하여 동적 메서드를 만듭니다. + 동적 메서드의 이름입니다.이 이름은 길이가 0인 문자열이 될 수 있지만 null은 될 수 없습니다. + 동적 메서드의 반환 형식을 지정하는 개체이거나, 메서드에 반환 형식이 없는 경우에는 null입니다. + 동적 메서드의 매개 변수 형식을 지정하는 개체로 이루어진 배열이거나, 메서드에 매개 변수가 없는 경우에는 null입니다. + 동적 메서드가 논리적으로 연결될 입니다.동적 메서드는 해당 형식의 모든 멤버에 액세스할 수 있습니다. + 동적 메서드의 MSIL에서 액세스하는 형식과 멤버에 대해 JIT 가시성 검사를 생략하려면 true이고, 그렇지 않으면 false입니다. + + 의 요소가 null이거나 인 경우또는 가 인터페이스, 배열, 개방형 제네릭 형식, 또는 제네릭 형식이나 메서드의 형식 매개 변수인 경우 + + 가 null입니다. 또는가 null입니다. + + 이 null이거나, 가 true를 반환하는 형식인 경우 + + + 동적 메서드를 만들 때 지정된 특성을 가져옵니다. + 메서드의 특성을 나타내는 값의 비트 조합입니다. + + + 동적 메서드를 만들 때 지정된 호출 규칙을 가져옵니다. + 메서드의 호출 규칙을 나타내는 값 중 하나입니다. + + + 동적 메서드를 완성하고 이 메서드를 실행하는 데 사용할 수 있는 대리자를 만듭니다. + 동적 메서드를 실행하는 데 사용할 수 있는 지정된 형식의 대리자입니다. + 동적 메서드의 시그니처와 일치하는 시그니처를 갖는 대리자 형식입니다. + 동적 메서드에 메서드 본문이 없는 경우 + + 에 잘못된 수의 매개 변수나 잘못된 매개 변수 형식이 있는 경우 + + + 동적 메서드를 완성하고, 대리자 형식과 대리자가 바인딩될 개체를 지정하여 이 메서드를 실행하는 데 사용할 수 있는 대리자를 만듭니다. + 지정된 대상 개체와 함께 동적 메서드를 실행하는 데 사용할 수 있는 지정된 형식의 대리자입니다. + 동적 메서드의 시그니처와 일치하는 시그니처를 갖고 첫 번째 매개 변수는 없는 대리자 형식입니다. + 대리자가 바인딩될 개체입니다.동적 메서드의 첫 번째 매개 변수와 동일한 형식이어야 합니다. + 동적 메서드에 메서드 본문이 없는 경우 + + 이 동적 메서드의 첫 번째 매개 변수 형식과 동일하지 않고 이 형식에 할당할 수 없는 경우또는에 잘못된 수의 매개 변수나 잘못된 매개 변수 형식이 있는 경우 + + + 메서드를 선언하는 형식을 가져옵니다. 동적 메서드의 경우에는 항상 null입니다. + 항상 null입니다. + + + 기본 MSIL(Microsoft Intermediate Language) 스트림 크기인 64바이트로 메서드에 대한 MSIL 생성기를 반환합니다. + 메서드에 대한 개체입니다. + + + 지정된 MSIL(Microsoft Intermediate Language) 스트림 크기로 메서드에 대한 MSIL 생성기를 반환합니다. + 메서드에 대해 MSIL 스트림이 지정된 크기인 개체입니다. + MSIL 스트림의 크기(바이트)입니다. + + + 동적 메서드의 매개 변수를 반환합니다. + 동적 메서드의 매개 변수를 나타내는 개체의 배열입니다. + + + 메서드의 지역 변수가 0으로 초기화되는지 여부를 나타내는 값을 가져오거나 설정합니다. + 메서드의 지역 변수가 0으로 초기화되면 true이고, 그렇지 않으면 false입니다.기본값은 true입니다. + + + + 동적 메서드의 이름을 가져옵니다. + 메서드의 단순한 이름입니다. + + + 동적 메서드의 반환 매개 변수를 가져옵니다. + 항상 null입니다. + + + 동적 메서드의 반환 값 형식을 가져옵니다. + 현재 메서드의 반환 값 형식을 나타내는 이거나, 메서드에 반환 형식이 없는 경우 입니다. + + + 문자열로 표현된 메서드 시그니처를 반환합니다. + 메서드 시그니처를 나타내는 문자열입니다. + + + \ No newline at end of file diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/ru/System.Reflection.Emit.Lightweight.xml b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/ru/System.Reflection.Emit.Lightweight.xml new file mode 100755 index 0000000..9d99f94 --- /dev/null +++ b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/ru/System.Reflection.Emit.Lightweight.xml @@ -0,0 +1,171 @@ + + + + System.Reflection.Emit.Lightweight + + + + Определяет и представляет динамический метод, который может быть скомпилирован, выполнен и удален.Удаленные методы доступны для сборки мусора. + + + Создает динамический метод, который является глобальным по отношению к модулю, указывая при этом имя метода, атрибуты, соглашение о вызове, возвращаемый тип, типы параметров, модуль, а также необходимость пропуска проверок видимости с помощью JIT-компилятора для типов и элементов, к которым получает доступ язык MSIL динамического метода. + Имя динамического метода.Это может быть строка нулевой длины, но не значение null. + Битовая комбинация значений , которые указывают атрибуты динамического метода.Единственной разрешенной комбинацией является и . + Соглашение о вызовах этого динамического метода.Значением должно быть . + Объект , определяющий тип возвращаемого значения данного динамического метода, или значение null, если метод не возвращает значение. + Массив объектов типа , определяющих типы параметров динамического метода, или null, если метод не имеет параметров. + + , представляющий модуль, с которым следует логически связать динамический метод. + Значение true, чтобы пропустить проверки видимости, выполняемые JIT-компилятором, для типов и членов, доступ к которым имеет язык MSIL динамического метода; в противном случае — значение false. + Элемент равен null или .– или – — модуль, предоставляющий анонимное размещение для динамических методов. + Параметр имеет значение null. – или –Параметр имеет значение null. + + является комбинацией флагов, отличных от и .– или –Значение не .– или – является типом, для которого возвращает значение true. + + + Создает динамический метод, указывая при этом имя метода, атрибуты, соглашение о вызове, возвращаемый тип, типы параметров, тип, с которым логически связан этот динамический метод, а также необходимость пропуска проверок видимости с помощью JIT-компилятора для типов и элементов, к которым получает доступ язык MSIL динамического метода. + Имя динамического метода.Это может быть строка нулевой длины, но не значение null. + Битовая комбинация значений , которые указывают атрибуты динамического метода.Единственной разрешенной комбинацией является и . + Соглашение о вызовах этого динамического метода.Значением должно быть . + Объект , определяющий тип возвращаемого значения данного динамического метода, или значение null, если метод не возвращает значение. + Массив объектов типа , определяющих типы параметров динамического метода, или null, если метод не имеет параметров. + Тип , с которым логически связан динамический метод.Динамический метод имеет доступ ко всем элементам этого типа. + Значение true, чтобы пропустить проверки видимости, выполняемые JIT-компилятором, для типов и членов, доступ к которым имеет язык MSIL динамического метода; в противном случае — значение false. + Элемент равен null или . – или – является интерфейсом, массивом, открытым универсальным типом или параметром типа универсального типа или метода. + Параметр имеет значение null. – или –Параметр имеет значение null. + + является комбинацией флагов, отличных от и .– или –Значение не .– или – является типом, для которого возвращает значение true. + + + Инициализирует анонимно размещенный динамический метод, указывая имя метода, возвращаемый тип и типы параметров. + Имя динамического метода.Это может быть строка нулевой длины, но не значение null. + Объект , определяющий тип возвращаемого значения данного динамического метода, или значение null, если метод не возвращает значение. + Массив объектов типа , определяющих типы параметров динамического метода, или null, если метод не имеет параметров. + Элемент равен null или . + Параметр имеет значение null. + + является типом, для которого возвращает значение true. + + + Инициализирует анонимно размещенный динамический метод, указывая при этом имя метода, возвращаемый тип, типы параметров, модуль, а также необходимость пропуска проверок видимости с помощью JIT-компилятора для типов и элементов, к которым получает доступ язык MSIL динамического метода. + Имя динамического метода.Это может быть строка нулевой длины, но не значение null. + Объект , определяющий тип возвращаемого значения данного динамического метода, или значение null, если метод не возвращает значение. + Массив объектов типа , определяющих типы параметров динамического метода, или null, если метод не имеет параметров. + true для пропуска проверок видимости с помощью JIT-компилятора для всех типов и элементом, к которым есть доступ у языка MSIL динамического метода. При таком ограничении уровень доверия сборок, содержащих эти типы и элементы, должен не превышать уровень доверия стека вызовов, который выпустил динамический метод; в противном случае — значение false. + Элемент равен null или . + Параметр имеет значение null. + + является типом, для которого возвращает значение true. + + + Создает динамический метод, который является глобальным по отношению к модулю, указывая имя метода, возвращаемый тип, типы параметров и модуль. + Имя динамического метода.Это может быть строка нулевой длины, но не значение null. + Объект , определяющий тип возвращаемого значения данного динамического метода, или значение null, если метод не возвращает значение. + Массив объектов типа , определяющих типы параметров динамического метода, или null, если метод не имеет параметров. + + , представляющий модуль, с которым следует логически связать динамический метод. + Элемент равен null или . – или – — модуль, предоставляющий анонимное размещение для динамических методов. + Параметр имеет значение null. – или –Параметр имеет значение null. + + является типом, для которого возвращает значение true. + + + Создает динамический метод, который является глобальным по отношению к модулю, указывая при этом имя метода, возвращаемый тип, типы параметров, модуль, а также необходимость пропуска проверок видимости с помощью JIT-компилятора для типов и элементов, к которым получает доступ язык MSIL динамического метода. + Имя динамического метода.Это может быть строка нулевой длины, но не значение null. + Объект , определяющий тип возвращаемого значения данного динамического метода, или значение null, если метод не возвращает значение. + Массив объектов типа , определяющих типы параметров динамического метода, или null, если метод не имеет параметров. + + , представляющий модуль, с которым следует логически связать динамический метод. + Значение true, чтобы пропустить проверки видимости, выполняемые JIT-компилятором, для типов и членов, доступ к которым имеет язык MSIL динамического метода. + Элемент равен null или . – или – — модуль, предоставляющий анонимное размещение для динамических методов. + Параметр имеет значение null. – или –Параметр имеет значение null. + + является типом, для которого возвращает значение true. + + + Создает динамический метод, указывая имя метода, возвращаемый тип, типы параметров и тип, с которым логически связан этот динамический метод. + Имя динамического метода.Это может быть строка нулевой длины, но не значение null. + Объект , определяющий тип возвращаемого значения данного динамического метода, или значение null, если метод не возвращает значение. + Массив объектов типа , определяющих типы параметров динамического метода, или null, если метод не имеет параметров. + Тип , с которым логически связан динамический метод.Динамический метод имеет доступ ко всем элементам этого типа. + Элемент равен null или .– или – является интерфейсом, массивом, открытым универсальным типом или параметром типа универсального типа или метода. + Параметр имеет значение null. – или –Параметр имеет значение null. + + равен null или является типом, для которого возвращает значение true. + + + Создает динамический метод, указывая при этом имя метода, возвращаемый тип, типы параметров, тип, с которым логически связан этот динамический метод, а также необходимость пропуска проверок видимости с помощью JIT-компилятора для типов и элементов, к которым получает доступ язык MSIL динамического метода. + Имя динамического метода.Это может быть строка нулевой длины, но не значение null. + Объект , определяющий тип возвращаемого значения данного динамического метода, или значение null, если метод не возвращает значение. + Массив объектов типа , определяющих типы параметров динамического метода, или null, если метод не имеет параметров. + Тип , с которым логически связан динамический метод.Динамический метод имеет доступ ко всем элементам этого типа. + Значение true, чтобы пропустить проверки видимости, выполняемые JIT-компилятором, для типов и членов, доступ к которым имеет язык MSIL динамического метода; в противном случае — значение false. + Элемент равен null или .– или – является интерфейсом, массивом, открытым универсальным типом или параметром типа универсального типа или метода. + Параметр имеет значение null. – или –Параметр имеет значение null. + + равен null или является типом, для которого возвращает значение true. + + + Возвращает атрибуты, указанные при создании динамического метода. + Битовая комбинация значений , представляющих атрибуты этого метода. + + + Возвращает соглашение о вызове, указанное при создании динамического метода. + Одно из значений , указывающее соглашение о вызове для этого метода. + + + Завершает динамический метод и создает делегата, который может быть использован для запуска метода. + Делегат указанного типа, который может использоваться для запуска динамического метода. + Тип делегата, сигнатура которого совпадает с сигнатурой динамического метода. + Динамический метод не содержит основного текста метода. + + содержит неверное количество параметров или недопустимые типы параметров. + + + Завершает динамический метод и создает делегата, который может быть использован для его вызова, указывая при этом тип делегата и объект, к которому привязан этот делегат. + Делегат указанного типа, который может использоваться для запуска динамического метода с указанным объектом назначения. + Тип делегата, подпись которого совпадает с сигнатурой динамического метода, за исключением первого параметра. + Объект, к которому привязан делегат.Должен быть того же типа, что и первый параметр динамического метода. + Динамический метод не содержит основного текста метода. + Параметр не является тем же типом, что и первый параметр динамического метода, и не может быть назначен для этого типа.– или – содержит неверное количество параметров или недопустимые типы параметров. + + + Получает тип, объявляющий метод, который всегда равен null для динамических методов. + Всегда null. + + + Возвращает генератор MSIL для этого метода с используемым по умолчанию 64-байтным потоком MSIL. + Объект для этого метода. + + + Возвращает генератор MSIL для метода с указанным размером потока MSIL. + Объект для метода с указанным размером потока MSIL. + Размер потока языка MSIL в байтах. + + + Возвращает параметры динамического метода. + Массив объектов , предоставляющих параметры данного динамического метода. + + + Возвращает или задает значение, указывающее, инициализируются ли локальные переменные в этом методе с нуля. + Значение true, если локальные переменные в методе инициализируются с нуля, в противном случае — false.Значение по умолчанию — true. + + + + Возвращает имя динамического метода. + Простое имя метода. + + + Получает возвращаемый параметр динамического метода. + Всегда null. + + + Возвращает тип возвращаемого значения для динамического метода. + Тип , представляющий тип возвращаемого значения текущего метода; , если метод не содержит возвращаемого типа. + + + Возвращает сигнатуру метода, представленную строкой. + Строка, представляющая подпись метода. + + + \ No newline at end of file diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/zh-hans/System.Reflection.Emit.Lightweight.xml b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/zh-hans/System.Reflection.Emit.Lightweight.xml new file mode 100755 index 0000000..34a84b9 --- /dev/null +++ b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/zh-hans/System.Reflection.Emit.Lightweight.xml @@ -0,0 +1,188 @@ + + + + System.Reflection.Emit.Lightweight + + + + 定义并表示一种可编译、执行和丢弃的动态方法。丢弃的方法可用于垃圾回收。 + + + 创建一个对模块全局有效的动态方法,指定方法名称、属性、调用约定、返回类型、参数类型和模块,并指定动态方法的 Microsoft 中间语言 (MSIL) 访问的类型和成员是否应跳过实时 (JIT) 可见性检查。 + 动态方法的名称。可以是长度为零的字符串,但不能为 null。 + + 值的按位组合,指定动态方法的属性。允许的唯一组合为 。 + 动态方法的调用约定。必须为 。 + 一个 对象,它指定动态方法的返回类型;如果方法没有返回类型,则为 null。 + 一个 对象数组,它指定动态方法的参数的类型;如果方法没有参数,则为 null。 + 一个 ,表示动态方法将与之逻辑关联的模块。 + 要跳过动态方法的 MSIL 访问的类型和成员的 JIT 可见性检查,则为 true;否则为 false。 + + 的一个元素为 null 或 。- 或 - 是为动态方法提供匿名承载的模块。 + + 为 null。- 或 - 为 null。 + + 是标志的组合,而不是 的组合。- 或 - 不是 。- 或 - 返回 true 的类型。 + + + 创建一个动态方法,指定方法名称、特性、调用约定、返回类型、参数类型、动态方法逻辑关联的类型,并指定动态方法的 Microsoft 中间语言 (MSIL) 访问的类型和成员是否应跳过实时 (JIT) 可见性检查。 + 动态方法的名称。可以是长度为零的字符串,但不能为 null。 + + 值的按位组合,指定动态方法的属性。允许的唯一组合为 。 + 动态方法的调用约定。必须为 。 + 一个 对象,它指定动态方法的返回类型;如果方法没有返回类型,则为 null。 + 一个 对象数组,它指定动态方法的参数的类型;如果方法没有参数,则为 null。 + 一个 ,动态方法与其逻辑关联。动态方法可以访问类型的所有成员。 + 要跳过动态方法的 MSIL 访问的类型和成员的 JIT 可见性检查,则为 true;否则为 false。 + + 的一个元素为 null 或 。- 或 - 是一个接口、一个数组、一个开放式泛型类型或一个泛型类型或方法的类型参数。 + + 为 null。- 或 - 为 null。 + + 是标志的组合,而不是 的组合。- 或 - 不是 。- 或 - 返回 true 的类型。 + + + 初始化匿名承载的动态方法,指定方法名称、返回类型和参数类型。 + 动态方法的名称。可以是长度为零的字符串,但不能为 null。 + 一个 对象,它指定动态方法的返回类型;如果方法没有返回类型,则为 null。 + 一个 对象数组,它指定动态方法的参数的类型;如果方法没有参数,则为 null。 + + 的一个元素为 null 或 + + 为 null。 + + 返回 true 的类型。 + + + 初始化匿名承载的动态方法,指定方法名称、返回类型、参数类型,并指定动态方法的 Microsoft 中间语言 (MSIL) 访问的类型和成员是否应跳过实时 (JIT) 可见性检查。 + 动态方法的名称。可以是长度为零的字符串,但不能为 null。 + 一个 对象,它指定动态方法的返回类型;如果方法没有返回类型,则为 null。 + 一个 对象数组,它指定动态方法的参数的类型;如果方法没有参数,则为 null。 + 若要跳过对动态方法的 MSIL 访问的类型和方法的 JIT 可见性检查,则为 true,前提是:包含这些类型和成员的程序集的信任级别必须等于或低于发出动态方法的调用堆栈的信任级别;否则为 false。 + + 的一个元素为 null 或 + + 为 null。 + + 返回 true 的类型。 + + + 创建一个对模块全局有效的动态方法,指定方法名称、返回类型、参数类型和模块。 + 动态方法的名称。可以是长度为零的字符串,但不能为 null。 + 一个 对象,它指定动态方法的返回类型;如果方法没有返回类型,则为 null。 + 一个 对象数组,它指定动态方法的参数的类型;如果方法没有参数,则为 null。 + 一个 ,表示动态方法将与之逻辑关联的模块。 + + 的一个元素为 null 或 。- 或 - 是为动态方法提供匿名承载的模块。 + + 为 null。- 或 - 为 null。 + + 返回 true 的类型。 + + + 创建一个对模块全局有效的动态方法,指定方法名称、返回类型、参数类型和模块,并指定动态方法的 Microsoft 中间语言 (MSIL) 访问的类型和成员是否应跳过实时 (JIT) 可见性检查。 + 动态方法的名称。可以是长度为零的字符串,但不能为 null。 + 一个 对象,它指定动态方法的返回类型;如果方法没有返回类型,则为 null。 + 一个 对象数组,它指定动态方法的参数的类型;如果方法没有参数,则为 null。 + 一个 ,表示动态方法将与之逻辑关联的模块。 + 要跳过对动态方法的 MSIL 访问的类型和成员的 JIT 可见性检查,则为 true。 + + 的一个元素为 null 或 。- 或 - 是为动态方法提供匿名承载的模块。 + + 为 null。- 或 - 为 null。 + + 返回 true 的类型。 + + + 创建一个动态方法,指定方法名称、返回类型、参数类型和动态方法逻辑关联的类型。 + 动态方法的名称。可以是长度为零的字符串,但不能为 null。 + 一个 对象,它指定动态方法的返回类型;如果方法没有返回类型,则为 null。 + 一个 对象数组,它指定动态方法的参数的类型;如果方法没有参数,则为 null。 + 一个 ,动态方法与其逻辑关联。动态方法可以访问类型的所有成员。 + + 的一个元素为 null 或 。- 或 - 是一个接口、一个数组、一个开放式泛型类型或一个泛型类型或方法的类型参数。 + + 为 null。- 或 - 为 null。 + + 为 null,或者为 返回 true 的类型。 + + + 创建一个动态方法,指定方法名称、返回类型、参数类型、动态方法逻辑关联的类型,并指定动态方法的 Microsoft 中间语言 (MSIL) 访问的类型和成员是否应跳过实时 (JIT) 可见性检查。 + 动态方法的名称。可以是长度为零的字符串,但不能为 null。 + 一个 对象,它指定动态方法的返回类型;如果方法没有返回类型,则为 null。 + 一个 对象数组,它指定动态方法的参数的类型;如果方法没有参数,则为 null。 + 一个 ,动态方法与其逻辑关联。动态方法可以访问类型的所有成员。 + 要跳过动态方法的 MSIL 访问的类型和成员的 JIT 可见性检查,则为 true;否则为 false。 + + 的一个元素为 null 或 。- 或 - 是一个接口、一个数组、一个开放式泛型类型或一个泛型类型或方法的类型参数。 + + 为 null。- 或 - 为 null。 + + 为 null,或者为 返回 true 的类型。 + + + 获取创建动态方法时指定的属性。 + + 值的按位组合,表示方法的属性。 + + + 获取创建动态方法时指定的调用约定。 + 一个 值,它指示方法的调用约定。 + + + 完成动态方法并创建一个可用于执行该方法的委托。 + 一个指定类型的委托,可用于执行动态方法。 + 一个签名与动态方法的签名匹配的委托类型。 + 动态方法没有方法体。 + + 的参数数量不正确,或者参数类型不正确。 + + + 完成动态方法并创建一个可用于执行该方法的委托,指定委托类型和委托绑定到的对象。 + 一个指定类型的委托,可用于对指定的目标对象执行动态方法。 + 一个签名与动态方法的签名匹配的委托类型,不包括第一个参数。 + 委托绑定到的对象。其类型必须与动态方法的第一个参数的类型相同。 + 动态方法没有方法体。 + + 的类型与动态方法的第一个参数的类型不同,不能赋值给该类型。- 或 - 的参数数量不正确,或者参数类型不正确。 + + + 获取声明方法的类型,对于动态方法,类型始终为 null。 + 始终为 null。 + + + 为该方法返回一个具有默认 MSIL 流大小(64 字节)的 Microsoft 中间语言 (MSIL) 生成器。 + 该方法的 对象。 + + + 为方法返回一个具有指定 MSIL 流大小的 Microsoft 中间语言 (MSIL) 生成器。 + 方法的 对象,具有指定的 MSIL 流大小。 + MSIL 流的大小,以字节为单位。 + + + 返回动态方法的参数。 + 一个 对象数组,表示动态方法的参数。 + + + 获取或设置一个值,该值指示方法中的局部变量是否初始化为零。 + 如果方法中的局部变量初始化为零,则为 true;否则为 false。默认值为 true。 + + + + 获取动态方法的名称。 + 方法的简称。 + + + 获取动态方法的返回参数。 + 始终为 null。 + + + 获取动态方法的返回值的类型。 + 一个 ,表示当前方法的返回值的类型;如果该方法没有返回类型,则为 + + + 返回方法的签名,以字符串表示。 + 表示方法签名的字符串。 + + + \ No newline at end of file diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/zh-hant/System.Reflection.Emit.Lightweight.xml b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/zh-hant/System.Reflection.Emit.Lightweight.xml new file mode 100755 index 0000000..c5e3799 --- /dev/null +++ b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/zh-hant/System.Reflection.Emit.Lightweight.xml @@ -0,0 +1,192 @@ + + + + System.Reflection.Emit.Lightweight + + + + 定義及表示可以編譯、執行和捨棄的動態方法。捨棄的方法可被記憶體回收。 + + + 為模組建立全域的動態方法,指定方法名稱、屬性、呼叫慣例、傳回型別、參數型別、模組,以及是否應當略過動態方法的 Microsoft intermediate language (MSIL) 所存取型別與成員的 Just-In-Time (JIT) 可視性檢查。 + 動態方法的名稱。這個名稱可以是零長度的字串,但不能是 null。 + + 值的位元組合,指定動態方法的屬性。允許的唯一組合是 。 + 動態方法的呼叫慣例。必須是 。 + 指定動態方法之傳回型別的 物件,如果方法沒有任何傳回型別則為 null。 + 指定動態方法之參數型別的 物件陣列,如果方法沒有任何參數則為 null。 + + ,表示動態方法在邏輯上與其相關聯的模組。 + 若為 true,則略過動態方法的 MSIL 所存取型別和成員的 JIT 可視性檢查,否則為 false。 + + 的一個項目是 null 或 。-或- 為模組,會提供動態方法的匿名裝載。 + + 為 null。-或- 為 null。 + + 之外的旗標組合。-或- 不是 。-或- 傳回 true 的型別。 + + + 建立動態方法,指定方法名稱、屬性、呼叫慣例、傳回型別、參數型別、與動態方法在邏輯上相關聯的型別,以及是否應略過動態方法的 Microsoft intermediate language (MSIL) 所存取型別和成員的 Just-In-Time (JIT) 可視性檢查。 + 動態方法的名稱。這個名稱可以是零長度的字串,但不能是 null。 + + 值的位元組合,指定動態方法的屬性。允許的唯一組合是 。 + 動態方法的呼叫慣例。必須是 。 + 指定動態方法之傳回型別的 物件,如果方法沒有任何傳回型別則為 null。 + 指定動態方法之參數型別的 物件陣列,如果方法沒有任何參數則為 null。 + 動態方法在邏輯上與其相關聯的 。動態方法可以存取型別的所有成員。 + 若為 true,則略過動態方法的 MSIL 所存取型別和成員的 JIT 可視性檢查,否則為 false。 + + 的一個項目是 null 或 。-或- 為介面、陣列、開放泛型型別,或泛型型別或方法的型別參數。 + + 為 null。-或- 為 null。 + + 之外的旗標組合。-或- 不是 。-或- 傳回 true 的型別。 + + + 初始化匿名裝載動態方法,指定方法名稱、傳回型別及參數型別。 + 動態方法的名稱。這個名稱可以是零長度的字串,但不能是 null。 + 指定動態方法之傳回型別的 物件,如果方法沒有任何傳回型別則為 null。 + 指定動態方法之參數型別的 物件陣列,如果方法沒有任何參數則為 null。 + + 的一個項目是 null 或 + + 為 null。 + + 傳回 true 的型別。 + + + 初始化匿名裝載動態方法,指定方法名稱、傳回型別、參數型別,以及是否應當略過動態方法的 Microsoft intermediate language (MSIL) 所存取型別與成員的 Just-In-Time (JIT) 可視性檢查。 + 動態方法的名稱。這個名稱可以是零長度的字串,但不能是 null。 + 指定動態方法之傳回型別的 物件,如果方法沒有任何傳回型別則為 null。 + 指定動態方法之參數型別的 物件陣列,如果方法沒有任何參數則為 null。 + 若為 true,則略過動態方法的 MSIL 所存取型別和成員的 JIT 可視性檢查,但有這項限制:包含這些型別和成員的組件信任層級,必須等於或低於發出動態方法之呼叫堆疊的信任層級,否則為 false。 + + 的一個項目是 null 或 + + 為 null。 + + 傳回 true 的型別。 + + + 為模組建立全域的動態方法,指定方法名稱、傳回型別、參數型別和模組。 + 動態方法的名稱。這個名稱可以是零長度的字串,但不能是 null。 + 指定動態方法之傳回型別的 物件,如果方法沒有任何傳回型別則為 null。 + 指定動態方法之參數型別的 物件陣列,如果方法沒有任何參數則為 null。 + + ,表示動態方法在邏輯上與其相關聯的模組。 + + 的一個項目是 null 或 。-或- 為模組,會提供動態方法的匿名裝載。 + + 為 null。-或- 為 null。 + + 傳回 true 的型別。 + + + 為模組建立全域的動態方法,指定方法名稱、傳回型別、參數型別、模組,以及是否應當略過動態方法的 Microsoft intermediate language (MSIL) 所存取型別與成員的 Just-In-Time (JIT) 可視性檢查。 + 動態方法的名稱。這個名稱可以是零長度的字串,但不能是 null。 + 指定動態方法之傳回型別的 物件,如果方法沒有任何傳回型別則為 null。 + 指定動態方法之參數型別的 物件陣列,如果方法沒有任何參數則為 null。 + + ,表示動態方法在邏輯上與其相關聯的模組。 + 若為 true,則略過動態方法的 MSIL 所存取型別和成員的 JIT 可視性檢查。 + + 的一個項目是 null 或 。-或- 為模組,會提供動態方法的匿名裝載。 + + 為 null。-或- 為 null。 + + 傳回 true 的型別。 + + + 建立動態方法,指定方法名稱、傳回型別、參數型別和動態方法在邏輯上與其相關聯的型別。 + 動態方法的名稱。這個名稱可以是零長度的字串,但不能是 null。 + 指定動態方法之傳回型別的 物件,如果方法沒有任何傳回型別則為 null。 + 指定動態方法之參數型別的 物件陣列,如果方法沒有任何參數則為 null。 + 動態方法在邏輯上與其相關聯的 。動態方法可以存取型別的所有成員。 + + 的一個項目是 null 或 。-或- 為介面、陣列、開放泛型型別,或泛型型別或方法的型別參數。 + + 為 null。-或- 為 null。 + + 是 null,或是 傳回 true 的型別。 + + + 建立動態方法,指定方法名稱、傳回型別、參數型別、與動態方法以邏輯方式相關聯的型別,以及是否應略過動態方法的 Microsoft intermediate language (MSIL) 所存取型別和成員的 Just-In-Time (JIT) 可視性檢查。 + 動態方法的名稱。這個名稱可以是零長度的字串,但不能是 null。 + 指定動態方法之傳回型別的 物件,如果方法沒有任何傳回型別則為 null。 + 指定動態方法之參數型別的 物件陣列,如果方法沒有任何參數則為 null。 + 動態方法在邏輯上與其相關聯的 。動態方法可以存取型別的所有成員。 + 若為 true,則略過動態方法的 MSIL 所存取型別和成員的 JIT 可視性檢查,否則為 false。 + + 的一個項目是 null 或 。-或- 為介面、陣列、開放泛型型別,或泛型型別或方法的型別參數。 + + 為 null。-或- 為 null。 + + 是 null,或是 傳回 true 的型別。 + + + 取得建立動態方法時指定的屬性。 + + 值的位元組合,表示方法的屬性。 + + + 取得建立動態方法時指定的呼叫慣例。 + 其中一個 值,表示方法的呼叫慣例。 + + + 完成動態方法,並建立可用於執行該動態方法的委派。 + 指定型別的委派,可用於執行動態方法。 + 簽章與動態方法相符的委派型別。 + 動態方法沒有方法主體。 + + 的參數數目錯誤或參數型別錯誤。 + + + 完成動態方法,並建立可用於執行該動態方法的委派,同時指定委派型別和委派繫結至的物件。 + 指定型別的委派,可用於執行具有指定目標物件的動態方法。 + 簽章與動態方法相符的委派型別,不包含第一個參數。 + 委派繫結至的物件。必須與動態方法的第一個參數型別相同。 + 動態方法沒有方法主體。 + + 與動態方法的第一個參數型別不同,無法指派給該型別。-或- 的參數數目錯誤或參數型別錯誤。 + + + 取得宣告方法的型別,對於動態方法而言一定是 null。 + 一定是 null。 + + + 傳回這個方法的 Microsoft intermediate language (MSIL) 產生器,且預設 MSIL 資料流大小為 64 個位元組。 + 方法的 物件。 + + + 傳回這個方法的 Microsoft intermediate language (MSIL) 產生器,且使用指定的 MSIL 資料流大小。 + 方法的 物件,具有指定的 MSIL 資料流大小。 + MSIL 緩衝區的大小,以位元組為單位。 + + + 傳回動態方法的參數。 + + 物件的陣列,表示動態方法的參數。 + + + 取得或設定值,指出方法中的區域變數是否以零起始。 + 如果方法中的區域變數以零起始則為 true,否則為 false。預設為 true。 + + + + 取得動態方法的名稱。 + 方法的簡單名稱。 + + + 取得動態方法的傳回參數。 + 一定是 null。 + + + 取得動態方法之傳回值的型別。 + 表示目前方法之傳回值型別的 ,如果方法沒有任何傳回型別則為 + + + 傳回方法的簽章,以字串表示。 + 表示方法簽章的字串。 + + + \ No newline at end of file diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/portable-net45+wp8/_._ b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/portable-net45+wp8/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/wp80/_._ b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/wp80/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/xamarinios10/_._ b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/xamarinios10/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/xamarinmac20/_._ b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/xamarinmac20/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/xamarintvos10/_._ b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/xamarintvos10/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/xamarinwatchos10/_._ b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/xamarinwatchos10/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/runtimes/aot/lib/netcore50/_._ b/packages/System.Reflection.Emit.Lightweight.4.3.0/runtimes/aot/lib/netcore50/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/YoutubeExplode.Extensions.0.0.2/.signature.p7s b/packages/YoutubeExplode.Extensions.0.0.2/.signature.p7s new file mode 100755 index 0000000000000000000000000000000000000000..73c0b7221caa0e29a447ed272ed624098ebd6672 GIT binary patch literal 9465 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 >^kxAff>>|SWX){REUdXO}XT!K2 z=b)h&vVu?$sXhQ6kY8zoNEKbCCHSF>uW^3*RABRJU+Ajk2=>L|vH!F{9Pzhts=fxN z**uWz7o(em{rN?mH=}Yw)#<`T*5UM*yj}AudF8c;(S`icJ6Xs6KN#tck7h%nGGauRUt zy}Y>%zo||9V0WbFA=lhe3uV4D{pTd}_i_ydUe}vt3)Q@y$<}sotMZf)m6u(C`PAS zWyV|Uxv@zUaVgQ+Y0t5(y_mgJj+)XKs72t#K@UUSU=$VV2>uGh7IYf`$}!;I!X=b5 z{AZA_HOn$6mjR(wO9eCz+1A-6|6m>dZ2h^{x$L=cz4Y$guyT^!!H+TmqT&w^Sn4^Z zi=N2!scESPG}g=xRY8G*5&(a_0!LPpp9a$%glbu^W%s>1z*`$R+e3xuEKFIC>?;-P z!p_jlot59rKxh`3_;%yzqlUJQyqR}jp;8)E;uMn-_XvTxw-XM{g@~=%;?G zKgZYSKDL(x8?DeSop%mnIK9tWP`F4AVmXjR61*^_-m}q~eOP+@Qs;^4QkytSi*m1X zI_-=phj1ke?HX8Dk1agAne$t`L$`lp@jn)SZ`?%gvceC}EAYB1R_P{gb zK9Lk%L!OQjwp-O_FSCaqEt2$t3=cng)X|5kzOTi1)$hCchXc3ovgG>MBNgfmepF}^ zW0J+kb!`JAbn_lhWns#=cAaMr3C9u#; zF@+Q00 zW2fDE0V>RO7Wtt0O-3o`rtR$Qb`wxWwrf*EY1(&2Mc*hjl8LB^G&xy_FB}=Y0SB)o zt$T@mjQfPs zuo_&{sp5thq`-`^?NgvHZparNAxzan6NOUUB$d&ze2e5(5eU~Y!vk~SOHIqfihNhd*M-Zh8;;_- z5T*RQDthT73RccVUcW(@fcv2#oudU7$VLOG1xRBOu;jTxx0`#Dx@b&?M(P}Ih)Sg} z3}ONmI{p%b*bxNwGq*x+$lN+9An%)27#eVfZ{GgPLQPbQ)?#Rg6U?Hotx-({=No;w zijkj(6HB?lhi9TfF%D>*<#cAGffb64Np^K?eM#VeH|ivRxvlPtlk8#t!x1ZchKZA8 zoyn+*g*+{R839Y)r|m76@ULTg36p1YS=LOYwEtF<eYvn>+g%}{m)Of&r7@@ukXvqsI5b5_u<+XnEz8${1L`VF!flb)ObJDr2SJ^ zKby6MA)T#>Gczj#-T!xe8CzRldP6&7FT1Q{rERXl`LVdBfQUm8r{Kj(`Ktp*fbz#8 z)4&5sg#Hr$g-;?`m^*j{r0!5#pP5Di*_+!VZfmU;UeI0kWJK(_8@mTA(-7~}o(PQ?P&ibvx`4~E5sEEmw*zQD0)R8n^^2o6b zC2fXKlmKn?fbdgHjEKooGh%V^wRw#(8U|>Cg5sv1jrXaD=ow`NyEJYMNVH}LrQy>9 z1fgBY&vVEmj}516{$<=>HssfHcaHjLwKHw@i@OXsyCv3r3az>~H;jBl@%16lkm^pt z9s)(#R0!I5$oLq8RJ-|Z>vyWnvbe-GBf|6WpLy|rl~`vZ!KxIFTwjBKXv&KNs|uOM z+sqKQ|5>su9}m9LvpEPkll7pz0~exTw7#t1i>dv7aoZxBa@;p+&aXKFJ1q4;K3!`a zE}~i#2`72Nu}#>8xBu>i7sje_kaRz2$XcAc!=yFYvNmByhu9}L59V`FIuoPhXukHon;^_HshDH9uWQW!uq33-CaiP z5Jls#PpW0?WTfz-int}+SIQujx-QxW=~X*fdm6vI7 z6(>ZJe`AqRS(^J1&Q!GDWQPYy%$9XLW3md`Q^sde!D=88N4S)mw8%C>F4%YBr5}Vo8{b)kv*ToI40d(&;}A zReFNQSn>1^|gO87OAsEfoMFI6hCY}rMmRy08d{FvC9ox(1L6rz^qO|7Tfk64DVomh5oU06bL63c~z7b+R3 z%`9qCv4Lzxxj}D2LbnIlrd>w(u8c^&d0kf+I3(HLJN) zHM?XhGxPUvS=}`*zm5YYEagy&#CQr0&1cz&;G-fPLp^WV?RM!K&~b7IO7$b_hGqST zZVY|iEi#sZS@SEfAl`Z}>BUDO_GN)G>$?R_--pYnB=T@2=QW}`%&u*1xEKf zX$tP|ZHf6F_(my>WUfPx5m`N_wSWoE8z zoZ9-O{9NeB*z4kkj?1!ww4Dkbz;-bf69;LN6}4UE7)xri%yB_v(z#CI&jfzcKp?L!8N07xq&r992=ZVo}PLQ z)V!e4hC{@w?b{ERJ~0}igbc>8eU61QLZ~fALuA5tk#8;7Ec5{ZP#bk0WTJ*ce$|{B z7s0=Pc2-`ceIbq;r_$e;1KG$Sw7K2D{lMgiOJSXakrAwZt5UBc?yqdd_Z%*U<-QS= z)QY>T%XHk7AF&2oGB@>Oa6AU;atY82ZMu%-_9^d5Wl(qy2pfGbX6SrF_Q82Mr*sq` zbX3I02+zoSdXEU+k_0bqkz(lIdL#QGOgF%GK)Cn5NV~AXd~rVO#eJD?92aiCtb}Hc zW4thL82=f+6;d<;lWO=B2s@@@1Zy0rq#1uvI`NL(u(jUUzeRC1$ zaIFyt4A(0ZT0RrgS#qOfjS{eVH>}VXqkPwoOV|55o5F>OJ0_m3e|eMmo8#!4X{7AUmEFRKvm}b6RMP+m{%#WlSOxiB%|mZV{(zV?Kb=s?M96s0HOV0SFu{> z&hb=gE5@r-I7|gD=O$DUXBhzS`Vd0DhEE~AR7A%eLew1wN>csjPoj7qu;PPa9iX$- zo@jG}@!UB^`ci%O7b3wCYL~eW3|mGcQ0E4}F9kgX07qDn;`4hKY{*SQ_*&l^ZohM` zTS*yR;R}BEZ#JLk%HcO=Uyj7K@Js3&S~!R=)Hmp^&CN1|UXWU%5wrWQUd3y62)C&DPzA2LU1p@?;9ZIWB%_(DGvPZ}7}A;JNE4>G)fwX| z!LSOIabGO)Qv z^Jz@;X~-eWQjQ=pUk|c6h-geV5bhNmK6n8ETZe-MMr|j-5ezqF>zXfwfh(Uo{O0-U60jP`CY+{TDEWEH_IQQ!^{V# z96bVbW#U(kZ%7^A*!5M;(2c(|x8J=Dg!; zyyJ~}rZ3z|Uqt)W^wU(4-D3~s(yf;J!r)=K#0VmBC8`G8eGf8`b_Q>#LtYq941kzh z;(lZ$#mJv)HNs8W1|J$jIc6VJh#I#jVHNI46trpNKP$udDrk59uA2lhl8;WwS=Z!5 zF;$P?%SUA3T=ymQ!Q*rquuP(2o5*#zerUwLEon}4se>B}*9ww2>k4XNp#6Mi4_NiL zCu24ert8J)S>EBg0Rt&CE!Dz|8v5X31Qoy!Y*xQm?#Ae10S*T!TYAqNJBR0f$lQuYTlX{LQB(PP2 zngCo0%~adZD$lc()_3eJLU_u&Q#MwsQnuQoA@M}$|pjRzBuL{?Af^{oqE4=?Um7wb7_WPiOobP`XLbLV&XtLO_bM#CyxeYqY; z>Q`qYMNUSIn{uN_ChJ4%D+mq5>x&*A{t1$1EJZp_Z9z*|OA(8e0h}y^rHW#X>gwH0 zrJ=`Gq=jPYwr^uO1CE4oIAkni} zYS-0svL`Jms0xlJRtRW{G18DX6zJoN!o<6M2vQakPK{O%Doi8KK#2gg-#`H*w6x)a zRzp?({~*bjEM)Mc`#s*d?HQ^wG%;7M$sA1`6}i&S=gnpmP~(f4t-NQblN7dkBa=l6 zW0~h->6G9_G(;IqV4m|vH)7*%GuhL;5n=x+dG=CDo3D5zhX=IYziDtknn^DN-$95% zaZoW8L`@zw_K#{~Qmn8f!D7Be%GBy;K+!}NMM`gBj>woet^i1<0<2$4k{TNFj4ji} z3l4_r>NIrW?`o)u#}z03G~p-Yh!!v@wHB)2Ls?Y{;I(bd(G#o<4{PB6kB8m9kg*t@j`eO7 z+D;HtyeF)hw7xxT7@I;32R0hJbelRhP*HNgfYq%CC`!ZSs51Ri!v34>3#6dOta96P zuPwp=q_tSa4u$u!8l76B2D?PO8M|iM?FjQmafqz+S_2bkI&|b>)DOp}$~7_a2cW^4 zFM-O8@8*sG8Y)6Z(4)Vx3sDtBX>8)b+({<~@)gz!dAtNm6Xp^nv*5I)Ei$p`6Ix3E z*YpVcr4jLPV1vS=EgFLFqQwcKUCU2g3BimMLTrx`RHT$RD8VdLt}AtSGa<@eU|4;r zR$y{%zt)?#G4XQX%QpxmWX)lX9hEO95L{=oWwK7eX6iF3 z4Fi|Y<(Uk~#={#h;Yk?7*Bhd*ED-HxO`|rZk<3AuB(`n{Ow!PY!)WI(=n>T@@Hc?( z@;gHjDYWLc{4;S- zsj)W98r{#V{?dy8sWIXQ#zFn>8XrBk|Bq84JQ1Zr-ODU|KpO&ghI|j>T{CW9JSdrh zASMIOl|ON^68R^(p_2Hy$dyK7!Y^|SA;^0CHEbbB3F^271#68SCnzbhn@mu38^>w( z>H^lE#thLzf0(!3hfmiedjA+`sTh75e;66tSgNiBn)+j$w_>c<6&Xn&`Bx6KIKkol z%dA3d(1k_e_CHGOAcKMYk-SyqKU{r~)G`j>2rYhQ&`}XPgKB{!!Z-0Qu)DBF$eq## zQJ`KeRWL^a>D>-G;sI&-NEedM3^*uvF3xqujA zC_K+|c_$30$=Fvp(>UlPitxE(=553Z{Cq1}TmdfXdRFBZS%39SaW-lJoiBrU$rE z+lZAq!5543esa0&43~|??1wv{=NE3atl1!}J1h(;GM1UhtT>iUZbawcoD5lw+VfIq z4Ry{yL7s@tBi3NSSoGVWjfLWOLVM1P*j8Nz%YIyGioP>1n^V=~y%nr_3S(Fe*8jD2s`(~TrC!7jr9Q3mH^jlzBNO>6EfqBbU zMWMejXOeLg5np>6PgckJ`UH9Gd6TmDIZXI(zMKwiggW_zN?QzHt)8~M^>W`D_bgk{6O+;;8Z*U5BrMEuDzG^xh zShrB(Y`IQaeYbV}W;AIYsc@Y-!<|TEH)~1IfSej;H&g0JJ>Sf{%*u=jOd0}eyw;Z> z^b(;xau-W9$vjfDTsCdqu!*50s14wA$PNpFbtrOMH>zw;-Q?j0+v8@McR#N=bY69G zXS2$wDTTz%+O&=lqOo|qDlxC`Y_l5GtjvGXJ>U&UXFql`tfHAtRrRWha@u;dZ$j*h zFp{X(PT~26q*-_GigH>Qyr3$4urEz8o5nptcz~T!kDoD#3G|JQOl@GBn03Qv6E9Hx zxG>2Em=fgAk}^&+?Q$W_v&S6K;s#xIP?Fe=&9m(rncyjE&WAjuZiO_N4=klyWk9$U?p5eu~wU}!1~ z9dI%Bd0pVxfKNBzxNfY!hL>g3GfcfMDsAM=$>v5p7u&cVeQi(2j@?#v{x)h3;hE_@ zS8wO3^H~+`yK4`3Gi_YejXZtwJ$mf$ggvPn9%N>J#+$nFocG7uvp8%!8-Y)99Ws<* zyv(qnsA_L5k4HW;bCjJat2+)hPOLy>oz-;s`&z3`<>1TG?+4-TJz$t;}*GVk?hXvDoYot*k(bYQ&lkwf&OKSKU(! z&X_lAGrYt))I%AtacaXN^tn9Qe{TZYwv@e};A!2n0y$>#-Lx8%yc!HW@5gwz{2DUj zkEjlufYLj#*UhH5N-3&EHnB5#3Hc2}+o!M)=DY$7;An4Kila70FoU+zPM-!fiLWNi zOltCc(mQ<=9$hzF)I8gIkyKkxvhQ5PWe#$k=OGx5C`GxMS9yQDb*oI>-qTxAO(!AF zsxqItfuoNmX}`d1JL2r`W?^?7ipYd)>MhNCH$BWeWDI(emC*vl(@{wxZc4eG-ST|x zTBmxu(oL?fyLPp0E|}=bHldbNURByd;-$D%d7^o9YOvN?y1F7%12hOHk%STInFV#P zm%X^AoT^==O__LJmh7DCSB@VhnF-4Ufg_EJR~(#c1eY^n-j-!r=&5!eUX(mIkf@O@ zb9moULUWBV%PE_yV9ZuAW^q!zl}!M~My{)NthJKs6;0O}d4{R(cpRe4Rh(3{boQu@ z%Wy5SRJ@m&=%CBjQZAbv4_s9}NOh0WnyiEY+QVaMC2L%_CdUt{+O$-3KNxE0m_c~@O zuul~;bFS^zRwnD*p_`VcWjCHzahM--cygjnG`=x2HCGIA*PA8*}wBS zK)`P>kI1=0y;2-H2sfkbxk7Pd?r5AlRc!#YNG&lQK+oP7J{^J=hRK#Z-4kbY*<86e zI6R&La022n+&-1yD5SI0wRtT~=b}64e8Y7Q{eSk7kH>z;Y9EQEg*E?qZzRiO__KAV zshi^y;mh2KF*#*uzQy~^G3$hTF5dUJVd>H$Wpj#}@2lr*xzSQQiG=g3rFUN=mMGf>qUBTdA`<5fQm!7}MCM#xK(_z4uy6p3 zjH>-IuPHAGO$UP3g~Ex;soTt{9IF~)nl!^*x8x^$NRJXuiAN8*~lQw}Tk< zD{sGC2zpy2s!K;}scBS8n9xxjR!IF0Ww7dZ^QJm8k8b=eE`iZ*9ThVk=hlL3RAMYfVb2?o$i;K)kw9J{DXZy_AGkI!r*cfhSRJOk0KqTUjX(>(ICq_> z5y#xFQc{0{7eRb{aI~+{ONI27fFi%WxL@d0VI(XpESC>2oq0@om3d4n$NPv`vJBcU zCBk36@sUT}RE-E4%JFb2|K7+wYH*GcH*sN7K5goxUsbvV%5KM9Md<(0LI-4QQm*|) zUN6n3;=3n6lzyqDZMcCxTd@NFV*4xY6<@cYAUOyk^7|IKr(XP>D)DLLz72fF)J@Z2rNi|=#mHpGAX>H5~^M2+lz`+Y-B_t}RX7_TI1`TD4N71^azOLdc$ zrQrszqwMmFvyt26x24G4a=A(?x+0pHjt5d?a*D{jy7Gd&qCx(>0KH!w`riOwmefGjS_xnXa$RYo zvp%ZTZ&{n)o$I`$Y#S!T_x+w#FP{A?4S9O>B-O^r-Tg zI<>CIi0Ud8g>ETzqZ*znrYMc!$X0|CILY|@*ZRV+R`r@w;+pe7jfn1|4He1EEPf%x z?)J(#vxMpQ-fqUh+m}p432g|a-Voe~G+x(+Vh4TBq%1fR_e3A21L;eI>rU%L9-gFn z^~^+!7AH*N(KA{k2vRZ9rnI6H6+Q&xWCGN9h7a1d zs4+Q}M>H`!t8Jv8V2+Adh=i_p2-dU8x6);>v7)O#iN%G6OJd-5-I}Af_W{qM6vKTl z0AGe1GWBON6Bp+NHByIYR>ZC!z340Oylv z=M2a2A@TQ|$gq#Q+$^5Q(<`;8`UB_%T7>Uognp6vN4R*jOP=m2JIr}a=l-`(6aJvX zsM^4#W_Gwk>)bKvaYeKAlf?U7H*r0T)*RcE*__GmJ2*#amM-J`Wi81i?QU3xit)Se zVa^_(Hlz~(QT*EQH1$*+KZU~6pPXv|1U|Nl?k34RfS#*M>`kO)+uM(|1epa8M)FA(5Z zLYcW4LpPv`h82y;iFiN#nH>Zru4rTto>%dx3nI;?jE1GKbfaR|iy_s|u>Jj*%(c?X zAv_6Lqjrgl>?N18dCAV_uC!0!Tp&eDPs?e;>kY5%zt5XLA!jwM_h#J(8X3rb_qlNy zh!T5QBCFKg}T%12+EK zKRKx0oX9QT%i@V&;m3VpF`x@xbFN3{wCWz*zvZKfrBU?_aTqADcl}Sj-Q#$51;uD= zw)*au<<@+nP%mi}9DEn(qlj0U@}hG0+$yxMa6ck2HAUs1v_?&rTwH^+^#Ezpr+eO+ z4N4{F*5VR53P=#z=m?-|K@Kw(b|Q%1g@C+?|1xI`436-hlYRu7Rd=Lq_c1 zwtVRR;ykFdpta;6cZ#9YV~RLAI#SKI9`lMcIokvSgzELHMT8ln$O{;OxFk^+bc^P>MI@IVYN(@galq~ z6}N=PN*S%xH-yF@y%>&OoCmGe+pId96hW&yP^4G*q4RrBOW0& zHQ<*xdHB=vNEV#Zne1yUVD|Pdbcih(73QJz0$X%f3?ne`Mh~vLo!f9%J-XuhvxDjQ zX^30Nz_*%*=*@B=WIv9l8tO138ZQ=P&$nMPocq)Lnm!k3)x8!tdb+pSx;*||r&DFw zKCMBGYdqQRQeNCJ@9@7|`w)Xu8i6G=HROE7tE#T5F0FQ2TyD)UJIK{q*jzn&ZglT> ztd?Ayw4<@7YbfP4W|4Yi*-CZ|sciBHs0yxksXEH-ziTKR;Z!?@YSSz`e9LX$t*FVW z;dGm!srS7dj>-h#FbE0lCptlUl9+h`r@k2<`tC`nRT|3uVfS+GA)h|D`5$)2F2np` z_u0AYy{nZcb++e12EY7NC*6srTq^&5y}!Qms78UUT0GZwZJX#u9SE;(=w=Wx*aRUH z?U(HByMGNeATiO5o5+I5_D5k>`(52_pj%#lSa-+u&tQp2*=ifudfTMH^N{r63XfmY z9y7Lbq+CMMwoAoBIU)2SRVVSpQ_0Y{^2TuMp+SFn=cC&iVcjy3wmJK-?81tRPw33B zPYv|@cM|q#u`(;T`Tt^fkm1U<14MU}|Ja>CLyE-#x$K>yi5SmoR^b`Fn_m^B z%nfZpjVkp#+A^9XyGQO5S02BZdT-#!jUwWCF4TvLCjKtJ@BSMy9W1zXOLZSVeD5?# z$GwfGsAsp>;>StS zdB#Ua=(xbLB2U(!=2bkAIsd&ItVCfn)LBjFRJCm%Z60DDokk{ddd@y9f2iKV>Zx{aUHNV^`Q zmV$Okp=_Q&m~^=JDOPv0T%B7`!*Is}Zj{Knp-ts~?ha*j zL>#8jV2O)z&B+6+*CN%>eZF!^fUSHZQ^>R;)c(f!mS}^tMzz`e`KiLY@Vh&9Em!wK z!r|oC5LOKrkV>Cwty-Xj0yw=F1s(?7XRtL#wamKKUlsSlKH24QT$HY{n}&=Xr7<-g z7yS8yU*9UPiCRJZSKF#8scr}lj9*@nZuHnjFG#^TiV(6?g=Ck!|6aPE5IV}>KQQ+N zhQ6UpKI{>WI)LdvriuR0e`uYuc~fpw^G03D8k9mI`2M!U`aO4=P;#ZE;rn}E=8sOr z{W;^QH=5KBx$E^*Ap3Qz=7{n57G=wS#+r6*KdJ=c8C3g1kS)M_OZo_xg}63iJ*Jw! zs=l;7h%_8LA0nNxwp?I{NNnEMnPL5L7en}BOWFaZy9KX7LHR;jT7wKZuqxT5Qwi^P zrR(j?MzZAbhG1Flce0)P2B-cO%l26KWV`Mzi-u#|1l@iq(Z!&NN7VR}8+t&FaKXD8#*NV<| z5DITN!9v?$kPAm9^oHM>dvPH=#S(dLysj8bz`Z4Sqv%PxVRi!`&K;OZ5M29&Ai5`8 zsA-5QlCt?*qHcd9-matbjks4o0E-0C9>yR%dGUtdxPIple1tt*BVe8#qd@Y4>j}G~ zd4ujs-QXoDV0PS0vwjDK5V|(;f5IdmLoLL_d75dg+A%z~-zc0Gi+}o+lI!+PUn0G>OTpack)`-t6)Sn$11CP=Ihf zb5<&S1cQPGZych)n5-unoAR(1p&LpzA0E2KmF5H2oJqR%dJ@F|Bm#om&&Ci?t9yII99w50-8 zQu1E(hZj%av*O&Er{wN+-GmC;E?BtO3Zrq&v$%q7a1Amp~w&Tg>hWrkavH zPIkilP2hvyH^D`H>K%EX-CK4bU!vjI{K)mKHw0$d_Q=QPjqR%ld(REzsoycm54AUB zNx>2MmNWNc0v~1aPvtWAWmk%x7W!~`jx^Mm}`heekYj+KOSWUdL zdk?;ce~^3k-8;QD=S_Y~Sf6|Gb_>#%h~F7~o!7xVi!3PR$g@!`ww$g-$9n#U?S+9m zuz~Fi^8uDfcU{H84k8y$A`ZA*!8fkxA}!F)fs-xiA`UTcVi0h>X7Eo;U#jj1yX=u| z1@^eKgwlP~ec%XB0by%z4qq2eBp7mQFNDlxYP%XQweOToSE_isb7CzI2-KHqIlWdn zZml^6URCu6F3H}gu6=MD({+v0j;F;KT|Jr8^k09IUwQZG7`}fr-f(~5f3#gJu0+{@ zd*TBp^4jo=_CIZBD$cnD=_huIkJK}H2^H?rHv7?bJ^hb*M2}mIunzYy4%#&KpT%Wt z8??)Gcbxz>q!(N2rfYbjsIE)!3M}%l?BSmCz;G%xH%+W!8_RXzb?`G7CV7Z^qIJ4M zNbzHQtHQ5_UGBuxws0lbfRkA%P}`B)o!-^Dp#&);EtSGdAO&>CZPDk92L20MQfZOrkIex!0t^Pz)N#+Y{7Aaar> zOj<2NJOPeirUN=uV>)?O+U3oeFc+yfx-|}2Aw?}#4q##_B2gr(PYXh_m=}CQRN-#| zOy=Q`W?Zy56dE})(ppDCW9_^Ce#K5lM@!n*UQMHSGh7)6fFX;oAHXaIN}e&LAaMMR!UYo> zb-F>_mXtk8TG8)`H;51BTt-$QkmYgY_XX= zhwx3lo48F=!*%HuB2>9vpH1>i*5fw$WaUM6&w#oVR@m|L{?u%%xF_Yrm0K@ zh6s+7zTWBN8f-H@2Wy1(-Vz*B%CwomNZ|cf3MGAJe7PO;T2lOfor|_DBG;YC%J!M@cR8gcKOlRQlM|xvEuPZWfkT*`y6nz*0iN2vG zRe{x~NiUB8DmQv%~`HSO1(1Ny{@-IW1I+ z{=;;uA%L^u|H5=C^my4OC9u6@n9Bh|fr>xc6nZVh>?8{OfKGN`>QoCS5kWBu&`GR= z9Sf=~hD#Ko9hAC`sx*b!*&j`((4EM@YN!j=FhS(@8^dtrtki!pn?uh+Y}y=cz(2kt zyq;8f`d!{ms;UrKt)WdZfE?|xTt6BJD&~>ylKhaM1eYu5l@89s#t|6d&Y33K+F+nb z76oj>88@w-$ZM1?vEq(Eb=!l>$SUxo>8tr2Kbr2kyqVFG2w%=*DT9ux;U&S8$(nfy zDUA-@(ayiFuijl4HN*4ekvgXYO>eBon#~M$?6~ynN(GD50G0Y<$1m`YZoO5k2$Z*2 zFA&a=I$;>PLs&v@OfdRFsoY>>L(UCw$iiDs7*T`_0bM#ty4-AH z{(BHhbsz;ZWESFB!pePhrkG=5#p2sc;1y%XarVjr79n+COcVWWgZ2*yT^QNDVz}{y z&|(Ecu;@B6j0VtT-vYddx*D{_Kn3FIV{XTh7i=GAW#c?|sMqIwNHPPES_nyVRx~f1 zU1UY34Ssam{Z+x^KKD3eQy7De25sS%7!naGCUwJJ0osUOL~$uLJ7^7hHHb3%1ZU%# z0qPkgbv+P4qs@8j8S1lj@OZNEJpUt}8gLicULA6*!>QWXtuRL}1zSAi@m`_hzd%}7 zf;t{oywF+&fuZ^~)VDf)Os{Zb1RtU|;nsM%Ljl9cm5mBmrg>2yn$|n7Kt5>fK_!zy zC29@ng{se@>`~;mikVPGE03RPfk|5s~v3eF*E+o>xL^*u(sv>xtmW!bp}~wjf=T7A~_NPw#+o+s2#=VO{VnBlc(R z7oM@YBOKfG4g2x**MW?qUiOiG3sjGC5yLl9LwU>p@$}+WIf-piXPQbSAB(IXPcLc- z*-r)i@$|m`?dgLT1Z^`(^dbEr(b5qI7}6}6D+s0 zuXC~EK~hBnmu(NF3qOTxPuxY5_p?s|l<7>DFPg-XW>$uB*rx~jg4yreFKU-mMy_yi ze>-HSS#&h6dU9TJbVO9zHMd@JbGEPGg=jULsTB~Kiaqv}0W>vEJrcV@li82ijH+lR zQ&In4Pw!56k2h_V_4-0m9s1AHt0Pv`%ufx<0)9L_8R3IXj&BU78$CgRu# z*hcbEKd=qc7EKBEems4cX*XlO*a3GkiyKPIL&dTiAigabnf132>3q>hHBt?hhTcO) z-A2TMA~KfEOu1pj3nCqo3;mkh*rl9jf5?N|`KCjR8Y}IQ8>l#(_0;4gB?~n_n zHUxgZAizv@Pj0n6!?md_>6!8JX>7JXxxr!GCg|1mEXBUa<<7b-){Kykl~XT5Qv_#C z=5z*%vuHaJVaw>+eBHgsrvAM%sk)?%9cw>Rk0%I+@)Cs8!xyuj>G|6yI5EcVQU<-9 z2m2qZ?y%-%+~YVa;?kB%2S@qjmSE1+CzQNu3h@A5F?GY>MGL! zAgfkALHd2Ti8y6*O+^Cnl8J-NT!q73i8EXmI>)?nMct>OLGq(3{irk7HDN8hYc~9O z=tcB=wepqKJIBrW%=8PN7U<`ZKzpwD{7;R$FSJt9JR4VhIz?$itz2$ z4YLx_4a0Uad$q37F7ui)G-vX38Q!6}Ajh|v<)!!td3t01yi3%cR|-p)YUy4pvV}LZ zzWT_{2dv>ma)dfU1oil^wa>=_wG={(YLX3>IW;7~9BH)%F5Jo0q_jZegmBcfsf9fU zdWu<3gq_Of@S=O`Jj}3Ru&i;-ZvR}zW|`>G(`$zKO{N=?LqWPqD7$KnjdZ)!)+6G& zrjkucoJ(g``v8kRnhg8`vF)gBSAg{3KZ zG(gsuXVhtz>w}d&>;|YDi(F*hm+lI< zhYl5Sw2wvxskp7FYCAe7%I4$`sgboks!p zH|25f;vuD&n3e|d`i>}3XGwj5;hz*U5xFq!L+d3?1=R%w3*TqV_#~prPGacsOUf8W zF^LOKO2-hfG4Z$z8lG`{D2(oaNvL?61Zeu_{JXTlrO%?b!X#Ii}uW(Q@J#%UQ97>o0 zaot)|wVminVw15OtOKvL+G=^>=sf0Lit~&5SU3|$JD(#Wm1){O%(#8D($)&8H`si^ z*Pxn=_yKj>*B?;-I*VD}Sn$-0B2 zsQm|N;nJBOL#U5hOzfBPE%bNH?d$#%&zHvgz-bwG3rZ55SWP{?!xp4hCJ+oAhZvm` zfT-;g8OrsGHU`=H*&2%0R~|~|0hnGDJUf+GqH(?FaM;ieef2o@{ILZ~2#$pnOdFqt z)e|TQG=)zMM$-Isy!Ws=NH$1z(HiOyAd?45(h!)hf{&mBPM%xhvh$mx;UjA2uKAbC z4r0=;Jf#f5@oj;KE(IOM=2>ojkxy>CjLa z;s&1T8SM_zE~+%!Qli45fm)VS=n@6M6|@7CII@F-0{&)6@{V-{47eGO z#+@!WXO9S6+W;c#E@*Zi57d9$_ZoH_{eMKgR;mLyu^%_S6WAZPdih)dMFbTPz6|4t zKXY>1@_U8fk3yL|k6!#A*RKVmZ!iyBWl2**6VyNMJt(8_bgKD99aUn)}55G^J$fGv+jrecHfiI}SSXfwDubzKMJtA*2FJk2g2{CJm zLHi3QZ0{SHW72oIyuXgT5WVczqr#m&&jdv~FDLE0(SM}gE>m_l?kZ4&Bcuv$3tL|D z%%v`eBJ-*N8>ionH!e8-oq_qZhV!k9cb}b4?GmZTATTSy4SGX8_r(d|8S}QNy=tUu z_C8L0=DALv`rO(6dNA8MzRvbGyTSSj*cx8n-CVp~v-MGsQMk4rFIxu$C-a@DT$U`C z0Man!#~r&=E5&a*f` zXj3Gu<+mH2>8^p8p+eo=U-M69L0qEdZv@F^peZ1chS|wNcql(Z0eIT}^?X*~HyqErM!SDTR#pm1g*8ehj?!Aey@d1b2 z6h6~F(r$Syg9A&cEb);|Dvr2L9g(tP5CgJ|Te!?Zc96dHhm$jNTK!a8R4CYvoU0te z!ZQzcQ1+*LG2A=xy};Q9w{TBfdpUmjbVlti7&^1q6DX1Q-3Bnn&H1vZKW1|q^Lyi)4{ei3)!TAFih_Fagp=TaSZ+3bJNT#h|`3Rp1iw*6zw*dOMMdNfgJYmV8yVT@Nj%Ui=JjKxk|)v@|Y7eV43 zZefkWi}TR^d)jc+dsM39p7u?S$xI)+8P`l7o=s<;egJM!ZqEZGI{dp0;(O{bK`r9j zMxHkFx`_cTu{%L}7^vAhxH<>? zT-SNcIg7L*R9w9rKOr$devi~<$K>of5V_O6cJ)*Odh+y>1%{snXLl)nj)n@{7Lo3< z5ZdHZ-Idv^PDht@@r#^Pt*mqRv)mxihMcXSKi(@3WTx$A|Efn#>(qNVc@0eY7hVS@q zJ%lzVN(h*N>g0U>ba(yHT#IuQ!xi3O01ky;{z=YO-`JC~eHY>kV#OIv?-!08Ikx_& zuMg%W&Rvkns;gW>N7AdVh*>9}WG%Gh>k~_tS&5T~cJ64@Pp6&|a94$;;nu|T7j1q; zsc(_tByg}39#Eaenuy#Zf{GelUg|YWCY?ZXaRzo6MxAzogAf<9-fUGDBicb^nLS@C{ZquhPqyO7b5c9J|3z zy~ktb7My(RIcgJZDZcL)y_G{NC-XRObOA$IEU{qc!Q6)~<47_uXLTt~Fp* zH9>zj`pRCr&`KM#cucLJt=hj>PHiT{Lp1_HUstu>!&6!4kqug0;TIi!Jr!|3KPz(v z3mP%2D15c*x=}#YXPjoVjQCFk?-M7XJ?htJwyU2W#d|yb z1j(cgSSKf)s5n04n=!DA+;GSc{<<|j-1LzJ9HPnrxn^W^pc))v&Q%4uWXCBQzRhfL z?OxsJlq=E#p#!uDRWY~dQWlw~#LfekQFg-+$4^pGs({FEr>46I^%~pdDQ54H8zx8X z?9|GPXQ|gkK*7os*(h}d{?$}M!7GyRgt8~eH$D0&6QUh*a`ZQTN1uDh-qP|90+*b$y&?c zV;s*!gp{w#k3RPZmj=gsB06{1NH*33R1R+NvM`RLKOL1$D z>1o$8uC;(w_?=F&i}}zI@fHt^mYvC%zsc5R*pVxR3ihb+PVB5*$9K(buC{7|zaAkG z5D%2&a66?^P#>04e0_I)Lo0dC7}pQ26$9#Qu(=9Vv9|M@Y@LZXJM>nz4r@9RD6X5+-$4z?)(yzSwF-{z3cxnXC>j2zv$$|R(V4q8RhyZw!O?ND zB=z;ZuW1s$6bLKy7f^9?P`$EZ;3{O}#!XgT4i0^F1>-IX?^tkIgJ4}#Q>4jl|LS!j zaY#v%l>DYCgWAa>@wAm@(MZquM>Zcry$nhOC1Id@qieBV)E8xqHyeFAm@QV_v?)b# z!*GdmB-iv}u2S>h)meR6+e%$DLz!Y^=-1K%AA7NFRT%F^ZIk zOQiY5_~?OwMA}cmYW>*@Px89wo1KG?oyqPA`TL;=`#T`GKU3Fzm|kHe=AP?b<5kuh z<9=M3#8*6hE{W^ls-%?qlGgo7oG%k$4zjPx2)AX< z+ne~zRp?Ug97${6^US{ip3VKClJZH@+5`;j7bX9jB5c7qx@)MKtao0WT2pgTmmu>~ zi@1fd8Cl!XRexe%%KpTCQMZSE1M!?!%>1W4#QKe8jC2A5(K4RNg8s zCqMO=Oh*Ex)X+O0J%duhq=jVD##;#MFoMB-j(6Iy7vr?zIkCQsC+fS}M;Ohr z3lZ$)eTk!M>uf!zX!4oUSWC1{*T^#~$4(skN>bfZM;SfaePP6{?XCO|dC;%-Cd zvEM`I={%qF9z02=B%a4_I_X7xqMeZ)CeSy6IwaBR&)M<%%J*SYAqtemMbO0Z zTj*TY^W8cDHoRvq@wFJMdG?U@y`{Iz@4eYonc=?Wh>#949 zr(_7DB2{bmf&MciPnrYg_Qs{vd8qd8T-dY(+vUt5CpMw5OV%MM2tpzRhTm@p4stgU zlD63bMGGov{59H3;`|lYjwj4nWPQ5mso@E* zsRP41f|>ODr%tmFq|&n%h9eo=m#aA^`sB*%wRG=p6l5}YZhB6ckxCa7e0R0Zq$8wX zWgmJUTG?b@Vh-ha9yl$Jz@+h+pe8{#(EiE#b7!o zp4M%Iy0L6w&)vjyg}*R+=%MCG0z}R|6VEU?S2=gpza%V4&S46PyqrZ9y)i8>7TG_; z^A(kdVLvZ@FFZ}4qu;vP~e!A}|)qQlgH8Qz)N@YG)^wp(NO&gkiw2 z8|w=~Hj=YXL>ZBKCBwFoNW?DICF48KuARWuI}z>q_fSsW!TU=mO1Rw77fH-7rdS;m zR*%`s31=6}KF1P-6|oobFK+x?sN)tVTWVm|dd~IqqG|YwYYGxhS6aTrS%%ZH;~7}& z5hyD%xXZtC$+$Rcn6v}FhB?qR7?9;rcpil$gKdZVLI$s^y>IsIDcj19K~sXh2;`hd z5hTY!|Nc}QtyE^|19w-t{w04`D`hl+Zd6YwLE>V}3*fs_d_|2=n6)*X3v`_#*L(mY zp73rTRX0Bt|+BV19qy|P0Cg?1s|V|5U2_-WJA^mi=KpR*x3eo-I4gueU|R4l4<#Y(nm0Pz)E%Kj0B6PExbsapV$;Y?NmOJ5Tl`Hm`{BxYBa-6Zy4E z+AriND%7BaD7XrsqnjK+UPUMNK0B!v^P+x9q^RwmCT+Ao`QTksFyAHA&0V1^L1R$YitCL12_m>SC-ZXDca&_&%;-7AdVzF`j?8- zcWo60wa*yQ(cfe7$2RBab`0O2eDHxGPLCzMdI&PvA*OIILY^A2pK>EVb8sSMFDH6H z({Ccl0iWb!hikA0c`bH4Pm0t4wnYkzhFEg0e-HZOuUz+eUPCI^)ZFeSm+d3ikF%kl zgFnUxHh&S|e=nmKRq+Cgeox=lT1Gav>Tzj+2Txocb(oPrHqrDlgSPVHHihIDM8!Q6 zA7Afta^eP4+t8-JkA=9&t0X7)vdHBW+dD}>g-GBa!`@rTk4_wB+wAJ>Mc`g^A+{RC zKO4`}8tn*sGO?j_xE^Lw^pr0)bu_#lZrP2x^7Z4^v{Z$`IixZ*R`QQ>+w&D-iJqzPyf(%@2uor8$$v1D*@x z)J}d%_xc`lWQG#Kb{(j^ZhLk=tqp9@&ml8x)d>p27nllr%|S%?iPijNr=63}a6Rq{ zuD&FvtN&W(ncR%IA?lvD1%*?W7I)Ab%2vhK?2nDBy7@p0^P5bbM;u72uC5#eNzeY4Ya5_gIM zal;!$Z6&3(L{OIIr^WaYh$df1_-YW=4bbpPh<}7Kpg@2Bc34foaFRK& zjoHZc31@azw*0`ba#JGjm>GP>eMZyq_Z7Yq>C)Ldbe4^%X7&Bc5^BkXMaP9CY@{x1eW`MiE#{8>EnY6`@MpZ7^zV2%7LO>ub+)C_7Z8$eqv5uU zj!bYhLG@j<(4yuXA_bCx71+CB@L%p_Sb>UkhaRq3UkS>szkw&@U>s8*_Ji+ zzXYM;d)l^%B9yjr_fW&PWb1ijKv<$5gw=JtpOX|vGw<596eBl_wc!tpg*Sa9jsmF9 z-!i*}mNe_(mJ=-fHR5={fM8QJ>GEjJ>B@tx%V1xpWBq+H?h5DiUvsyeTT`NeLo_&FJf3%7_?Ngz& zO^Ujn%2125d@Nc{3aHN!%g!)H;#RjS%eZBNkw&|)XXylA-ei!zvwbiI9dl=j@{rJSph!CQ&GD?r7sb9E{E0`34mDWOfiaX|ZODYvxs%2Pisy zUO1D-|6$t)CEHn_azuDXCe6!NJye?c*@^ub_#w~IaL`^!WF?dGe=^h`q3F8S@>k0_ z&Ki{nR#6nbn&O`8&f1T}2|+9i#dccmEeqIcQ^F}+&mZA7-hAT#VfQ@NCoIitKclrG zI}t;z5+`UF#h6)>LTgRUrwO}MSQDjhtgAv5*mc)K-&E1bDsB(zjWn6MqhEyF%6Q1s zKErQ_nZKf1cQG0z>>ys8Cqpg8DF@elmpyCxD!~PTBT2Ezj6BRwFvTRgR*Uwv4K+gU zXmF-tyX&iq*u$CNl3d4L_F_)OltJ7RThhu55|Jl~Bz6Os(Tv53LJw;7HPKpykly5= z%Qo;kPu_`~(CKA~*_>}O?~I&NK6cD9y0>Yz%0qfJVotxg`M}DqQGwa?8A-d^z&u;B zVg(sbUij40^w!p%?ex5__(`98HD~;iuvgKXISNw`zylMw>`QJ0rtXNVH2R(3`$tn6 zFMFOwhiZPgV@#M=AG^`{_0`OAJ~r{xDb8w=#yFO#XM)gZ1IolqyCLNOCuevqkG5i- zP>^%^(H2i_s-!8w#iDJf+LgiMj<5OT8r6@PnVSi6*)!+{&cYKdWI11VrdceeI18l| zckC>+E%~o3vpZs>Qw)pm(?(CE_i{iK7AnbTw@y zEfkuia3Va`Zvu3Tu6rn&Gv?m}=wyHZUAj?7*#HorpEm~J0|NAA#k21M^tq(CQ8n1Pp`hbiUlKcz~-XDj?lv@kTFQ6&BP%1}Gz zgY{Mc?Th226r8F8(k4bSiP8YYDz)i<2$-M$9WZy_i*E)L=tuhnn>Xd;+09p*i`vXP z53N6wmk&2MhH8!9CAQ!-y>oSXFI??KBU-J=pyk9Q?|?I2$KcALMR48Jr@_`K;!71s zi0Ssaqb?0!dhY+bfVtKm0dpI<7Rby#{;a;XO?;G7LsoqouO6u)#yFirzoX9%H=k!0 zYRuMGKNYdoKS{-x&GU^z$4>)9vpZ|tqM@Y1RXmIQhi$O@x2*~&|~ILIujCe`kab*Uw6 zF!u+iRUp-rW|r%en4-Vg{}QaeB)9qMxOiF8HS9yKKwV#SsJhFznt`i(lIpV1q^5z2 zq^9eE+gA1yMbrkd(~IINH*0GyE`XAR+{; zlZGcmXCGIoX(6GhB$<0PV|KId%l47b>{Lj7oHHOw<_(n`a z_!k)L_{}AO{Fl$+tF_y#)bUjn@f@3^*EBqP@U&1;%`JmTO2S>YW^z>}Bc%eD8A?Q$aPr7|-so_NVgcAF zez@br8RQpFmRuh(CcTK$1kFLKdt-cFq}Eb{Wn$=P3nT%fm(hC`1RC={n$p1QVmp-s zROkseom)!8^*&vbp*@Eh4nZ`~4AoID(Kj=PPL_6wboA1^0t`Rd&ZEW(&3Ra4p-D^Fv3wO>g}{nkk& zJ|O;vm-}n=y=z$E6(MQO4Z>Ul-z+~DlsV0uD{dM0*t30unL=H&vjN5(FPBw^?Tgl% zm+5Zl9tTTPezUt2hr**6I|UJAP6wgSLK;4^7Fs6|YhA~xS7$%XjyEyC&-&p^tC|{K ze52Qhx!5;#$@nuD93FSVRp!61$0@ zzF+#tKhgqKYg9_366!OyOIKA`Jc!%7R(5x;PB<@sdlh zCZQ;X2A?#z$a8O|seF==BR;HDr}qXOU{6;bcsC*UunqcM8*N(t3 ze4OqR;f8rKO7uu&lGcz}$%<1l)|M&h_m6{g-K@NlBW6_|IgP}>1n~%iu3r>yT(pAE zuC65&`Xg^9J!bB%uZg&L-fwic)|eDXOBa|;kQU4*Q3~6IdpPcT@`!Vwl<45#eB^3% zt4Kh1|1PD;>SSD2{RnOt#ZI`hgRj+y*L8&zF8}q$$HvL+R-uE5#cQLTl&200sRJTR zI?Ea#W#7E_oFVKn3dC7w=}VHH`N-wz`d;{Hu7{p+@RvF91q5FH8{=|+#VaiB07b;B zowiC14&8l&ou<(1;XWe5?yX)T!jAAsKD0f*)0ZyfKG_ScZ0{)QpL*t=&LS+oJL~6J z@f~sw=>)g2rq6FNH)r1`S$=m9-R0|w7S1J>h){LxyoFAACSG@Ci49Xu_ThD>jC{IL zlE(aS#1tqD5S&Xag(9x6ehpe%PoECs4BEc@7+2a!XQEFd)UEwavxVM3Y|nFt-?QGE zC-l&~gL1TQZxe}e6j#)}OWoDkuVyLX?5R(k6T8R9^ePqE$6oBM40j%;B1Z(3iB+;| zcU}QTdiS`ic89B~A#wGfcp^={p~VPFYNZ_gX$dNsUet=>s+12b3~@F zq^!M76wR6dt=vUH%eUtWmx$wjv?sD9MYAOYZy1J`!MyyY&2$Ze;|W<3so)~%S-$l5 z@m35X9UcXH$Ei=N8QdU?JP*oQ+HWY{L@qkOticlwO%4tYvX

ULt(5=w|9XPOaL^ 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 q?8Xyje7j>DV3=&pDXXORrj+{;r{^)+XF8E literal 0 HcmV?d00001 diff --git a/packages/YoutubeExplode.Extensions.0.0.2/lib/netstandard2.0/YoutubeExplode.Extensions.dll b/packages/YoutubeExplode.Extensions.0.0.2/lib/netstandard2.0/YoutubeExplode.Extensions.dll new file mode 100755 index 0000000000000000000000000000000000000000..ce2fa653c47121ac5823e906185deed45650a482 GIT binary patch literal 23040 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 literal 0 HcmV?d00001 diff --git a/packages/YoutubeExplode.Extensions.0.0.2/lib/netstandard2.1/YoutubeExplode.Extensions.dll b/packages/YoutubeExplode.Extensions.0.0.2/lib/netstandard2.1/YoutubeExplode.Extensions.dll new file mode 100755 index 0000000000000000000000000000000000000000..75cc552d0ea4f5854e1915e08b53c51250939953 GIT binary patch literal 23040 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 UZ^l05JKSp~@XG@KFH7M6088cEJ^%m! literal 0 HcmV?d00001 diff --git a/youtube-downloader.csproj b/youtube-downloader.csproj index 950e53c..6fa62f0 100644 --- a/youtube-downloader.csproj +++ b/youtube-downloader.csproj @@ -118,6 +118,21 @@ packages\CookiesTxtParser.1.0.1\lib\netstandard2.0\CookiesTxtParser.dll + + packages\ExposedObject.2.1.0\lib\net461\ExposedObject.dll + + + packages\Stef.Validation.0.0.4\lib\net40\Stef.Validation.dll + + + packages\Jurassic.3.2.4\lib\netstandard2.0\Jurassic.dll + + + packages\Flurl.3.0.2\lib\net461\Flurl.dll + + + packages\YoutubeExplode.Extensions.0.0.2\lib\net461\YoutubeExplode.Extensions.dll +

^d=6msm06*rJ6X4{A7I+P^IV$FdbjcI z>pUNa@5aGeOzzl1fo0E8$H3@$uC&ZJWsOx!+VOm8XRWpn=G?r~($+>x!+w!(>-)}pVy*#u( zPdi>~y30?)Nkw+)9?N2ZB@a zfZ){hE1xm@M_aI5i~RagW#7)XF;(8bmxL2X4v3kmLrLp0=yc?vsNxphLDWw6RBW~B zDe>Sklj3d?!$x7O*hHJR+zL;trSL2|85X+2L(rQzY_8TL8hN`@;qn!EZhSd8$OZMn z=7AW!TXLX%jVWE8*3obp0Y6vYX#V@FOY1?JF;hF&&{smcdMdM%rdp>hZdO+tA*Zd^ zy`82>t=`3Xr&)#zH|z7?DD{Q6a$a%7YLlOvoyBwuEcN*Et_?TuWO%Hs8Dsj)xn}G= zdzw~aZC6@TnlkE8QqX@sF66uOo^L|fYhocvi|-5Zcm74$1E*2`HEs@hw(C>e-P+8G8>?t(dlc#iQ~s6Y#GFr2LSpN) z^&k-;7}tg0cK8UNoNXEx5njOu%{+TOQPtjVI!j|Go6J1#{al0%9F&+eRuyQL&tUb` zlU2QUsq22yaXo4y15Hvo>TmRsi$Z}-qrmk3MIQOX$@Gl*s?vA z;WvbO>*{@T-|uz!-iC;`YP-C5>(hX8{6v~@gmicP(zZre0wMjmCBNe-H#wmc{Ubs^ znE==#>Pd5~?N*n2*wNKHbh|Ur<`j>Vhb4_$7R1+`{i^q2 z%~Uk}VHcfJ1!XEFe1Y%lIQA~jXzN#aDL!uG_(pdDtc%8(8Qwn2lIt864B}Q)LM`6u z>!y>B4L*8wYo-=@?3p?7_5<0n6wWRQ z5(&7T54Q_(eMcP~=iF}?u2Xi6xMJK2-Cbf9(o5L}PJjs3mDW>V>aNx>&RNi4$$cwE zw;Lr2H@iO~STXGp2Gnuo***?SK8tH@O>2(e(icm-H7szu(N^c*2ytEQIh2g|h5eN- z?!d8E9{qQ85&U1c9{&tsMVE`Fqox+ev6sYo;lWBRB_&Qv>n}xxZ0*j7UEkzY)v&%h zcQW7P-^r|8LvR2upI%Y2m_0qB`dPJbRM)haOT0&>WI4N5K7GWYI&wTR>i&@1?wpLP zM>SXafy_7FGw+R)^gZtluXL}f<4Qeo!1w3Yt9`YC(4d~;aP12G&(1)`y5=74}~+7NDo+&q>>Y$@ z5dRKPtV^ERwFzQwi7n@UBz%VL3*?Q}(25B9LdJ))P)_WPc`)zrZuoLd4?!EnhRtXG zG1Td)AroevOmq!=)>jXL=7G?+tVpP2J`&{tFV&#?-^xBoNlo;H_+Snl( zoES1VEpcz8?+7DKrSN@j>{jJvd-|1qswJWFB-Uqee-K9R_9Ho8jJ7LeQRRI_NK{)7 z(piU%vnN|Fc$l?Z_=Dlj+i|$Ho_PT}tP>$1@#zB#E;UgL*~h^Qxu~^NEPhB8@;}I8dJmwl! zzIxFJJ041)HpCylNzy*EoG5VN6LQ>(F7$uqujfej#X zLyE_;#vVB+||wrMZQ6@)Kp2xIyLf%zYl+{o|K zKr%X1E#SACY2Y*C#}$}L($zvA!Eev{3EIi?(ReFPhouT{*O;^>a-ZSs2F2{t9xeO$ zA{Zi*-PggOq$>7T2J)FYwxK#L!UPTsL+rs)SeJ_mfmVJmpCY{%K)OOsRiOtGp6RDtLyo;Q-;l zx`khEg%T+o2Q#K@=hPIPp@Cat+tW2TG}JXCsQ`b3{#cS!5;lbg74!Yw`ue;MO@rYk== zLpH)qXHbAWcg(Kl+@%8hh9%LW*HeWTQqI_I*whO!My->A#O1J$(C~uyv=GXkP`)^3 zDJT`!02pHhUN*oOBe3M1!vMyZ9cqX!7`OuBPRYeNwF*$cSHSp~IBT*rwi%WAmgkE$ zM1n4Pm0PA=RZ|`9kc>3%1cFnrjcDy z8XVLUx}Z6J!7kkoJx$a`#|!{tR77{&OH0lPf0muINsk~_wGjj`#!v@K!=`ysaQhu& z6e`hjlG@Xh1P2^*cCm#LgFbKCXOgR0Ry-bAjR;IhiD*K5EC;=#k^TS?o#(T;X)xip zrLCKS>A>tt(PTW+=(*{Yak%UDV*$gZ{uB#)80sgq!|&b&rLR{UL1?q>Yy-{UUgIlA_2eT z;Bjn@m$8VPH5H7d~}f?1d@a=Zz$JGhxMPzgB^2r={9j`_MZe>BY;u&RGZd z&_3G{esoHw@9}duFp2?O9)th;D^~K1j2^f)+pT?>EVftRb;~?t-XT#(&9>fbmp%3w zZ$4j}Wr6p$H&1CN%T)WGD}IuwTmYZWKmD}Yy4mznPhoGyXYTsu`dgpq_0*1-=T6L8 zX0C!VqkK;lO+?n_I(!eGkB#PYfs6F#6;_yT6b`Gj7Mk=!G?|XXl6XcAqas zBx1IFJ2u#9*ehw2sde=6?km>+a>;wvEJGpYdN_9NRL7F^q_y>Y8P;neGR=Dj{uK#D zi|fu!2}g$8V#+JgOSS&gO`OWd!sYA~qc7PB|A<-@rdNUy)uE7crAVk|0~Mc*Sw}GBM0r<9opsyH2WxOCb&tOJOLj&2bMi< zB$OqeOFk!uY`s2qeN_jpr}r^%N5ILelTp7)n4*w>);uVuE|lhs@fyvRv+HFT&PI#O z2)Wkb`{U`si4`lcmP^=GP9Wu}$_E4I%MutTqHx_(DVp3+^KXkNl11B9#rXnW)78npKWk;ncs~vPQZ-}FP&}=ez2GCS-(6< z+LUo~(k22wAyWM%hh|US6f^Q_jkJ4$VY}t&G zzjN&v=o`0X(&PI2TDy)XX%Knge0exSd9&v-w|_y?+ry=0C)shtTzU50$?&JTIqh-h zsTh{i{UotuzM@M>1BIq~b-p8Ok`)$wIyJ|SgBNa51?OMxPnF^kb9i*f&5p3OWR>8j zmn!&HpI>6Oo~z$#_eI*14pez*CD(_0t!5@?E)Go0e8NEY#vW9$gG z;4llD$C|;LtF{AzeKt~^Q&}iEiDn@9Mn%gcDJ}s>i7I?66Ew2eWA43O(+bc=$Q^BL z_7oLY{&;po(ZXm**P>r0If>GTZ55)_%rRj&2aWo*Y}a1p@(Ud8JVTuR5r@*!+vfx! z1lt~TbEBvS1RG~wLi4-t+_{d_B<^_Q1ekPqGqJ7;wMm#+L}5YFn~7L4Hzy-j>G|@+ zi#y&JI!S-W8~J0t^G0HiuyoCQfHyJ$yzw}D(7KZ_Q5xgF-D*Q=R6J`scU}&HVu*FYBe4PCJfh zD1n5iqrAn4y|ofCTTbJu6tz)9lBlBem%SSdg4Q?7uFcg5qbq$A7OtV`3GqchLew1~ zAu371`Zt0sAE5!_iLqYG(Ic+24QcsoyBR@^taQ43(tGdBKH?!-z)_RY-1;ih55ZzC zfAV|1pEuZ+OS5Nvuzjyph+MC5#m#&6()a7Fcc?F+X}v_+3{**G|Ao-=*(%QIJQ*=! zFTY3J%8HCUOp<5WiZ?fom%OLm-&Afwa^`RJ73VJ&>S)B`_p+}^|Dug|8{Eu$D>e@S zD;`IH4Q_CO-+GdEw$7%u&iWc2_NGox*xhZc(__H49UwI6GnjV)Z)(cdoEbygm4a#c zKET7J)CPUTqaKxTyaLJP!6=4Bc3$1K`hQ*LW^f8@2OFDfyBMPze0bhjQ5A+Z)-+d~ zkulwo;ujGdBP8^4IK+tzSgt>j0+oQ)(Es$9HJgS~^c&J{jm7-q4~%|ly)GTwso<{| z2(7f>tGKMDW^p5{+Oz$!iAT!uM*CT_E5Hjj5n#7>vN18Xw^4gyHx0sjo>6^kutxj^j?tL=t!`0if*>cYN|W|P z3p7h4`4pex#hDZ5i_O})^VgUeE3?Pz??zYA)3nEnvjV%Zp=pXW%vwW9Si8eE>94Mt z@WeiX7freH5C5CWP%bzXYtN(bbJxl|8G*{$5 zR?B9SCt`=wgM3wUQ-P0|f38CuHH*YwfDp82s4S_08{OU*n!QJE$u8d#GH5Z#EY2?A zIL<>lAz8y%O-Gwx#6)Ia%|3GvZxuVzfUHOIBl{aJO$edV7!d{dYW-AEJEPg5q#fPx zK{d0X90kcP?Eu?)#CUd8PsVOb;lcUP@!A`#T55r`Od+ec+fUlk9z@M<)UJ3<_cVn& zMdq7)c#8t>i!!o7{e+{z&#TLVt}?mXIkEDnqDP*;c3dta$NKyW^ngfd$1WVHhgbjM zI&}0rue?IzO3Se`?#=rb!WrW>N_K~<_&~)130t-0}Ttt1fe4!8wATjo5I4uK*K|UO#Z3}{YD#3Q_IxR3D_7( z5R8Jt$qwda=jR5ogW16#Fgq7JH#=~MP1exqnV>yj-O@IhJjs)O-CxOW8Qa|=me2vEt{8iR>J zgm;Hgak1Ro+}KTkQ^vq4c4IpmFfHib-6>dH(w{9PoSc9sWI`n;MWtqE=S(Fj0iqy8 z2l0ZzV9+0bbP3V9fYQ(6|5P_1(D(lS0Du<*3xURj0zsfrU?9-YP$d}ngR7E$k1Ils z>I^O%aB@m#>EmA%9uJ;S2{7sypq=|o7vLvw8VUn?Y+z{UYz7Ki0HJ48baCj0hx%i1 zAoD3^GAFNV|NNYAe%7Al74@N-;X(%01m$wY)D4lzD2|@~g$@x40 zHqwr8uBk~5q8mocs=R>l4qK`BhCGP`H;>Z7Tx})}vJ}u+Zc!blUmFZZM)P#LYlcu| z4z1ase30`7Cv#cf+X@-x)Xi$dg~Kpp`oC&jX{PW4B(}b zV?smU!odL_QZNYfu8ezEh6lj{zd+=72Qc6W;P9k(vdWHQ`ygO8)v&xg>hvR<511gz zyVEpqL?8mcf3EQBcL=-&Xs9fV=7r_2`zwx4o+k0FXO3o*oU8X;j7mdx4#%eEwW>1u z2k{si(31=v<2=+^{Uj0~C#{pjV?mNHv#r(bQG_#T?jN||i!21?c{a_S7BD@L>FGqD`fOO`t>I#N{Y zSP+p0+1FJn^Da@OIkNT-K@fNl2m(j+=g@^iCL+}zYcg|Dm#nc%P(k|pmy7y8I&{HY zU=SxKnDcJ%0z;RR|8GT*0Aw_dPPC6toM1M8U4PL>r7h*}CeD@*OcW?T-U#r9c6gT7nd zeX*HqLSV9??L(AR?I!t}E$4NX8|ywFX8~UH=)Kh%rMCs!mMBGmN5$q!HJxYSBUE%W zJ4hy?YKd)!m^jB>k(g~+o2;s5PR;LvDvSc0Bp`^Z{9%?(RKu7iPQtGOQWV;2d80E}H2XsCY~-*>Q2P6vkuLP0=cK>(%(L|9mm$B+L* zL&MpCtU$Cs${^@qqG!&|_JSN7cE(Qjzsv|A$)B}gg8BZeWo&piVL1I#k>khf{_{o4 zN!`sBk`nC3j?N%||GN%R!g+$+L4t4i-|z-={}AP9&HbOsvHsV#T>p7n<-0CW!O4Oi zfcOzm?q>7gZ`M#Sa3E$7zEVpD1M(CIV4ro@1EzMEn)wLnYx_~Ud$-j zIol4f?+q^4PEB1fbp9V8kSZu`TquQ)sHe6tJ-f5(!b2|10J0I4p!~ME}dM=?jS5nUQU#`Xx?0 zQ4o7<%=R;DDb7l>%nhQqsV1s>0A?x!n927iWOP#@ARaIeCl?PuD|A8r;lCm%E(ja=@ZgYeQM3US5I{UNIZYGPw&YXZLe2!U!SxYSB6GN#V#c8=y$YNqyfP8QB~jviD-9#o1J#*TJQc4p2$ z>caj9b^k54?)o+cXLd2eC)DkkNo^zK;)b*3M{T!BfG_TPWnD~5KdSo>Edl(TY42TbTEx>*uXFYBSuoG^i-~7VfiY-i_84= zsC=H;x6v`(hy2dL0bf}oKhhl~_L?l|mo*fR4z#@@&~zykIj?(gPj}u!HR?T|FrSNSEn_7jCzbkIMD&Hui+}`*r8bwcx58WAP zx3|ojZcb}di*1(L??I*h4q`}QxhP#})6!0VQ262A291b1PXK5{)lETt36|w^aEI%9 zNi83j%1>pM(=$U(Hp4#@a5iHnHghllr`G@4>^BJgFPbU*fq+t= z`yk#w_zZx6u+ShT5X0X9ko3>q{3HG$At0Fhqd~(#gZu-3v;n3QcaZCUIGrf{Xa#}^ zzW?LC|GVkrPI>q_rQB%_e<}`t&Matm_w;=>gaJYQh7aE%brN>vqvuc;HTi|$tQ(2( zvb^u(;s*v4P97gAP|G0?b`fs7Ul1~X**hWCikd22F60jtZsGC*r_jOiS1;ir@X=hw z7E?=QnW_24YVE~G4dI93Ay@{J$k$Gko^GYSPfQwSO4}Y&p(3-GiQn+;V_0r#G;1R1 z-=8bsEMLMyM31xvwvhDI$0E{67638VL}yE~mp&UKYTBIB>%gpE6|0niNd!A$UseuG z&%7kbzy4TTABf@*MQ_)TfVZ4u)!l_fr-!5|kVrdgl21iYe7sv%)KbA>ddiI~B=?#m zgRa}MAarmMO(#D|ixpB{^nqh<0?Mc2a|^;(=7!Ra>tQg2fD!~DAO(1=AKpKHw7+uO zHxTH05YbOsi3|%y{aHYS29f4jRIz0Rs&U1I7TMp`kcEGxadFbu@H-2B?ld=qxfE_#PY;R@u}ID9H7#^Z$n441@LG&5r;ZhJ!#u(EH#gwBo+ zhZibDMSiqG@F|(cb4H8WSG&)007cPzm&!3c@XWSk@im954te^=SG!sGTa&o$A6d>0 z5({WB-3NO4x&&2(ATN_K*Y2f?ZgDCrq*GtoIcmpKJ!?CZVMChOIzHcv@!3@fRY5R4 z+Id}Yp{n457r&D%zhq*eRlGr&_V$(Qyz8g5jkwyvDBf^cA%Ez31Geh|g4@zYfe^-c z>?cN_BB!?#xf=dO0;FA6QePe(jxTwHE z#GhZ=ow*0+90b8RzBBir|MCq069f0(T0_GDBZLNcw7{r>21XS$0_t~-@LU=ikq{OH zzQdrO-w*H(sN6Pnui~3CxSTiW-#lgA)uEMLl5)3N4tA&);~QfwZG^#x>abpUU610L zx!(tC(8IqoocoTJkqDC$&@%o$xB%u(0Yl|6axP~uHQ6vS_r$O01!B$0(qx{V*5Oqt zank}*gLKUs|KPX&0U&?BU)2zD5a}QK1)jQxjUiwxHl~uabF{Yuh8MC4nSd6As9Fi{b-|!mb|L)gL6N2#n=rjgkV6(WB&3b3R zV*gurf1IHDwY!3Vjt{6)sJLK8Vhe?lsQHHopo+Y1&%20wz8~>px9kcgAEh3*+z4j!NPW8O|Qx?PB~OZqRpX z{heHM@c}#={8Kml|M>m=JEGoW$oI4YntR4*0{_*mj&3*&&A35i%tUl@fakgnF@Jd1 z>6%GUb(X``*LMxm1By`9AK097dMq3gCN z^$Dm{rAF+PwYOKuR{A}5btW;|tEA)Jvu>mkvUox9c}j4(FL5m&VUhTTu(q6@oZVku zYYj1asSl;F&^5Q}BE=~oNa0{>(TD2t0BPjoC`-cd&{c!Dl}Wg^;x#U|N8s0|8mHVD zNYF=EbO?m<(+A|9W>(1tW^bqVM%f_;`+LaSQoZ<=%doawpNcayp?Xe{EaMyWXBW8+ z0u3(o7_h6a2@adIEdA&r{vhi9l_3AJe>JiFYJ)=n+5FIipwZwALHe0b-spiIfwV!I z1jrUPcg_rR3o{Tkh!TW|0MCK}3qt~j7q#|@B)B*t(yC*~&+@Y@5vvz5JLu0T4`8g; zcII~Mz;|ll1dNnBb1sLg)AwU{lK#?MYu$h?!DKSjamL!W5jkBEN0JbUe;bM4H7EJ= z^K#gAR&%e_csJvI+lLp=G0k_{)NLz1Jrc7j3OJgxh;9hxr!6!zd_5gZQdljG{X3_uJI_}7(_l9_cQ05ZxC z02tMu-~}Z9_$>EKRqCww@~qt zU}|cgVrpRjVqCQ}B!;RLeQreRvy+RsJn#F|Mx6h148n$lw+C5YUkPdJWJ1i*{;u_T zNumI|ZyQ6syFgc9&eyMHA(4X-JvQ5;$u)wM6awiT$Eo?pflHku-VWUeOx0qm0qFD{ zUPz*f7btaHa3-cp$(32Kgk8uO;Dy zW!LO+g~I2-P2?E;nm`YpQ1@bD&M2BTP6^US7zLsg{TJgbdv%kmW8^m2g0ZJ@y=g15 zyG`mCpLvsl-McdRewYW{0ENWqR|*P^@Q>y~GvLVsrZ9cb6Oi7o>dQkA%@0@tY+-~y zbZHZICl4EAqwknvZ0`i3`&kJFL`?FJ)g0{&LF_-O0Tl5bhzd~u|FlK|7Dt>v$)D4A z(I$7Izt6jXm5>9(24Z=`^oAjr?w3k`T;Ju#T+HSO7#P3v;eRl9B7L`~kYmFE2>KTI zR)09XU~#d2DlBZAAZ~s(uD?NJneq6?Y^5N_#k^*TBc?2VUq2V4UyK6(DR#PSm$Qv= z6F=sZzQI`fteorKW;d}tH>-S<`N99iSzZ+Wx;RtG`jg|VDJ_#g2N3fdg(0CCl@>xW zal{jc!}FwO25wKVN(H!F_)=FGo#;fB#Jd8G$6%eQHoEx`&nJiqBoU~bh zP>0+brLHXz&9OwGs5JW#%ia3E?S5_7x#45A6QxtDh%Srh} zU%Fk`3(bPyQtHkTw3oUuPB+V@zq}%%ENoa2glZiOjqih=dELX`gsE0EvJww#fTH;3 zhQS7p^I9xPe5p0%<;X4}nsCp1Qoqo^Mg%dB-j)^^`UBXh0AMHA z5A6KBR@T^$D3%Fm&i5n~{{=h$*RTb!=79kfjg#vyYn}jzixW8Tr#0_?U5y3?^?&c> zEW-#bJfCf~@X{c3kU@SIA?$zdjPGV1o%U^B3Ffte>**S=sOcCjl?~`(jyzyXj6t4D z$%Y_wH9|b%USUffD(NUVQ5|gjH=W6=p3-4iKfF0=vlAO&uw!@oj&k2=*LMuPGtlt>na`Yn z(}v$6jNncJ-JM7F?@k+}U*R0ED7yWCPykY`Ko%h8A7ubiDgH!D;G*CCIKN#LB=oZ` z%ukymP}k7H@ZWXN)bT%tQ{KP9X$~%QK}JwNsVxD8z7V+3gBQw+{1-U=N4));FZqXG zT?!Av2*GHn)s7=0gr*>s-iFS&y)eDdcZV`{zGft*9}%K*_V@^!L5mEKoeF zCVUht(NQNByng!LS4#N7V?y1Pw?bnU^kdY|m;B6qjEd`&*zr@>(rC)`u(urwBrecB z_zN=8hpH>4MN>U{?sYj2EXW`ScV5TPRgxxd1tD$DZ95y-8sunsqJNOmnO(n-#e2Qh zIuG^Ets)uE5s!AE2b+}=N~}WxuiKogp8_E}TK};|nCJ?Z9t5+iE*M71A!Ex-TFey; zfzbuRK(qjJ1IRxN^uGm{Fj!u{1Nq;rWpDi7f=GVaQ~=8%`Y(2qe`7oR7uz4>adnI} zDL?cs&+n`|KZ0hU?`&iUeGt0f&?<2MQsqH7gW!vDktox* z25%l&?g!U@xHMSKPx6F!2|KnAogIZxucpEYa&JyA8BtOlk+Yg`!MgLqrxUc)6PzR@vDQf`$X)I{>n7!U^@$=C_DI} z5}IN%7kZb-_g|CiG%&_-`^V|zdt=-gMosYf`@`4_@$LNAWGfY)Qnxr(AokB%mZvr zfN|Ez-qiT-GVZqWQ@wu~a{T9tIPza)WCFo{))qz_wx-UU|G2Zm@1lO+HvTVZ!`MGX z{qrXBzl-{PgTcQ<9Z>!h_0QW4{x0hGT`T?)wZZmN)W6xo;&++9XE6OsCWr7p$o$8A zroYSlJ(JB}GQH&gMdp8z*XDPbzb|+EOJ+*z_zsD%5D8M7!oks)y76QXTBS+ literal 0 HcmV?d00001 diff --git a/packages/Stef.Validation.0.0.4/lib/net20/Stef.Validation.dll b/packages/Stef.Validation.0.0.4/lib/net20/Stef.Validation.dll new file mode 100755 index 0000000000000000000000000000000000000000..3e8cd7e6214551159fc55cc850db131d13ab592c GIT binary patch literal 8192 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 F`~|eJv}FJQ literal 0 HcmV?d00001 diff --git a/packages/Stef.Validation.0.0.4/lib/net35/Stef.Validation.dll b/packages/Stef.Validation.0.0.4/lib/net35/Stef.Validation.dll new file mode 100755 index 0000000000000000000000000000000000000000..e7ad025affb1a628443717ec3fac64d0fc5421f1 GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/packages/Stef.Validation.0.0.4/lib/net40/Stef.Validation.dll b/packages/Stef.Validation.0.0.4/lib/net40/Stef.Validation.dll new file mode 100755 index 0000000000000000000000000000000000000000..0f5667403fe0b31bb621ca601c70b20f4710e208 GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/packages/Stef.Validation.0.0.4/lib/netstandard2.0/Stef.Validation.dll b/packages/Stef.Validation.0.0.4/lib/netstandard2.0/Stef.Validation.dll new file mode 100755 index 0000000000000000000000000000000000000000..a3c7b0e3006621d2e7a12c200517adda23786114 GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/packages/Stef.Validation.0.0.4/lib/netstandard2.1/Stef.Validation.dll b/packages/Stef.Validation.0.0.4/lib/netstandard2.1/Stef.Validation.dll new file mode 100755 index 0000000000000000000000000000000000000000..8c9f62e93de0252eb34a956c611c973ec9be9312 GIT binary patch literal 8192 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 Td1Cvu14l(hH{Fsu`TBnVJ2@}} literal 0 HcmV?d00001 diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/System.Reflection.Emit.Lightweight.4.3.0.nupkg b/packages/System.Reflection.Emit.Lightweight.4.3.0/System.Reflection.Emit.Lightweight.4.3.0.nupkg new file mode 100755 index 0000000000000000000000000000000000000000..56481cb66e52ffd4ec32f65be5e59da7b6ef57b4 GIT binary patch literal 84426 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 MEi5wy&=-LGAF{5l*Z=?k literal 0 HcmV?d00001 diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/ThirdPartyNotices.txt b/packages/System.Reflection.Emit.Lightweight.4.3.0/ThirdPartyNotices.txt new file mode 100755 index 0000000..55cfb20 --- /dev/null +++ b/packages/System.Reflection.Emit.Lightweight.4.3.0/ThirdPartyNotices.txt @@ -0,0 +1,31 @@ +This Microsoft .NET Library may incorporate components from the projects listed +below. Microsoft licenses these components under the Microsoft .NET Library +software license terms. The original copyright notices and the licenses under +which Microsoft received such components are set forth below for informational +purposes only. Microsoft reserves all rights not expressly granted herein, +whether by implication, estoppel or otherwise. + +1. .NET Core (https://github.com/dotnet/core/) + +.NET Core +Copyright (c) .NET Foundation and Contributors + +The MIT License (MIT) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/dotnet_library_license.txt b/packages/System.Reflection.Emit.Lightweight.4.3.0/dotnet_library_license.txt new file mode 100755 index 0000000..92b6c44 --- /dev/null +++ b/packages/System.Reflection.Emit.Lightweight.4.3.0/dotnet_library_license.txt @@ -0,0 +1,128 @@ + +MICROSOFT SOFTWARE LICENSE TERMS + + +MICROSOFT .NET LIBRARY + +These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft + +· updates, + +· supplements, + +· Internet-based services, and + +· support services + +for this software, unless other terms accompany those items. If so, those terms apply. + +BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE. + + +IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE PERPETUAL RIGHTS BELOW. + +1. INSTALLATION AND USE RIGHTS. + +a. Installation and Use. You may install and use any number of copies of the software to design, develop and test your programs. + +b. Third Party Programs. The software may include third party programs that Microsoft, not the third party, licenses to you under this agreement. Notices, if any, for the third party program are included for your information only. + +2. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. + +a. DISTRIBUTABLE CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in programs you develop if you comply with the terms below. + +i. Right to Use and Distribute. + +· You may copy and distribute the object code form of the software. + +· Third Party Distribution. You may permit distributors of your programs to copy and distribute the Distributable Code as part of those programs. + +ii. Distribution Requirements. For any Distributable Code you distribute, you must + +· add significant primary functionality to it in your programs; + +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; + +· display your valid copyright notice on your programs; and + +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your programs. + +iii. Distribution Restrictions. You may not + +· alter any copyright, trademark or patent notice in the Distributable Code; + +· use Microsoft’s trademarks in your programs’ names or in a way that suggests your programs come from or are endorsed by Microsoft; + +· include Distributable Code in malicious, deceptive or unlawful programs; or + +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that + +· the code be disclosed or distributed in source code form; or + +· others have the right to modify it. + +3. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not + +· work around any technical limitations in the software; + +· reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation; + +· publish the software for others to copy; + +· rent, lease or lend the software; + +· transfer the software or this agreement to any third party; or + +· use the software for commercial software hosting services. + +4. BACKUP COPY. You may make one backup copy of the software. You may use it only to reinstall the software. + +5. DOCUMENTATION. Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes. + +6. EXPORT RESTRICTIONS. The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see www.microsoft.com/exporting. + +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. + +8. ENTIRE AGREEMENT. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. + +9. APPLICABLE LAW. + +a. United States. If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort. + +b. Outside the United States. If you acquired the software in any other country, the laws of that country apply. + +10. LEGAL EFFECT. This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so. + +11. DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS OR STATUTORY GUARANTEES UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + +FOR AUSTRALIA – YOU HAVE STATUTORY GUARANTEES UNDER THE AUSTRALIAN CONSUMER LAW AND NOTHING IN THESE TERMS IS INTENDED TO AFFECT THOSE RIGHTS. + +12. LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. + +This limitation applies to + +· anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and + +· claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law. + +It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages. + +Please note: As this software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French. + +Remarque : Ce logiciel étant distribué au Québec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en français. + +EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert « tel quel ». Toute utilisation de ce logiciel est à votre seule risque et péril. Microsoft n’accorde aucune autre garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualité marchande, d’adéquation à un usage particulier et d’absence de contrefaçon sont exclues. + +LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAGES. Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune indemnisation pour les autres dommages, y compris les dommages spéciaux, indirects ou accessoires et pertes de bénéfices. + +Cette limitation concerne : + +· tout ce qui est relié au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et + +· les réclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilité stricte, de négligence ou d’une autre faute dans la limite autorisée par la loi en vigueur. + +Elle s’applique également, même si Microsoft connaissait ou devrait connaître l’éventualité d’un tel dommage. Si votre pays n’autorise pas l’exclusion ou la limitation de responsabilité pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l’exclusion ci-dessus ne s’appliquera pas à votre égard. + +EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous pourriez avoir d’autres droits prévus par les lois de votre pays. Le présent contrat ne modifie pas les droits que vous confèrent les lois de votre pays si celles-ci ne le permettent pas. + + diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/lib/MonoAndroid10/_._ b/packages/System.Reflection.Emit.Lightweight.4.3.0/lib/MonoAndroid10/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/lib/MonoTouch10/_._ b/packages/System.Reflection.Emit.Lightweight.4.3.0/lib/MonoTouch10/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/lib/net45/_._ b/packages/System.Reflection.Emit.Lightweight.4.3.0/lib/net45/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/lib/netcore50/System.Reflection.Emit.Lightweight.dll b/packages/System.Reflection.Emit.Lightweight.4.3.0/lib/netcore50/System.Reflection.Emit.Lightweight.dll new file mode 100755 index 0000000000000000000000000000000000000000..a7aaa5739625b99832836687fdc5b88e83b4cffd GIT binary patch literal 22792 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 KzJ^x22>O3A50O#; literal 0 HcmV?d00001 diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/lib/portable-net45+wp8/_._ b/packages/System.Reflection.Emit.Lightweight.4.3.0/lib/portable-net45+wp8/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/lib/wp80/_._ b/packages/System.Reflection.Emit.Lightweight.4.3.0/lib/wp80/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/lib/xamarinios10/_._ b/packages/System.Reflection.Emit.Lightweight.4.3.0/lib/xamarinios10/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/lib/xamarinmac20/_._ b/packages/System.Reflection.Emit.Lightweight.4.3.0/lib/xamarinmac20/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/lib/xamarintvos10/_._ b/packages/System.Reflection.Emit.Lightweight.4.3.0/lib/xamarintvos10/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/lib/xamarinwatchos10/_._ b/packages/System.Reflection.Emit.Lightweight.4.3.0/lib/xamarinwatchos10/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/MonoAndroid10/_._ b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/MonoAndroid10/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/MonoTouch10/_._ b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/MonoTouch10/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/net45/_._ b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/net45/_._ new file mode 100755 index 0000000..e69de29 diff --git a/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/System.Reflection.Emit.Lightweight.dll b/packages/System.Reflection.Emit.Lightweight.4.3.0/ref/netstandard1.0/System.Reflection.Emit.Lightweight.dll new file mode 100755 index 0000000000000000000000000000000000000000..5a50a63914521e10f2e8493336d7663b26a90b7f GIT binary patch literal 22952 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 + + + System.Reflection.Emit.Lightweight + + + +

{~MCb=w(LV%q(QitZZiXD2y!Oyx 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

+R3_f?l3$_n>GrkLc$Nep> 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 literal 0 HcmV?d00001 diff --git a/bin/Release/Jurassic.xml b/bin/Release/Jurassic.xml new file mode 100755 index 0000000..fa4038b --- /dev/null +++ b/bin/Release/Jurassic.xml @@ -0,0 +1,18893 @@ + + + + Jurassic + + + +

+ Represents a generic delegate that all method calls pass through. For internal use only. + + The associated script engine. + The value of the this keyword. + The arguments that were passed to the function. + The result of calling the method. + + + + Selects a method from a list of candidates and performs type conversion from actual + argument type to formal argument type. + + + + + Gets the name of the target methods. + + + + + Gets the full name of the target methods, including the type name. + + + + + Gets the maximum number of arguments of any of the target methods. Used to set the + length property on the function. + + + + + Calls the bound method. + + The associated script engine. + The value of the this keyword. + The arguments to pass to the function. + The result of calling the method. + + + + Creates a delegate that does type conversion and calls the bound method. + + The number of arguments that will be passed to the delegate. + A delegate that does type conversion and calls the method represented by this + object. + This method caches the result so calling CreateDelegate a second time with + the same parameter count will be markedly quicker. + + + + Creates a delegate that does type conversion and calls the bound method. + + The number of arguments that will be passed to the delegate. + A delegate that does type conversion and calls the method represented by this + object. + No caching of the result occurs. + + + + Generates a method that does type conversion and calls the bound method. + + The ILGenerator used to output the body of the method. + The number of arguments that will be passed to the delegate. + A delegate that does type conversion and calls the method represented by this + object. + + + + Returns a textual representation of this object. + + A textual representation of this object. + + + + Represents a single method that a binder can call. + + + + + Creates a new BinderMethod instance. + + The method to encapsulate. + + + + Initializes this instance. + + + + + Gets a reference to the method. + + + + + Implicitly cast an instance of this class to a MethodBase. + + The BinderMethod instance. + A MethodBase instance. + + + + Gets the name of the method. + + + + + Gets the type the method is declared on. + + + + + Gets the type of value pushed onto the stack after calling this method. + + + + + Gets the number of required parameters. + + + + + Gets the number of optional parameters. + + + + + Gets a value that indicates whether the last parameter is a ParamArray. + + + + + Gets the type of element in the ParamArray array. + + + + + Gets an array of method parameters. + + An array of ParameterInfo instances describing the method parameters. + + + + Determines if this method can be called with the given number of arguments. + + The desired number of arguments. + true if this method can be called with the given number of arguments; + false otherwise. + + + + Gets an enumerable list of argument objects, equal in size to + . + + The number of arguments to return. + An enumerable list of argument objects. + + + + Gets an enumerable list of argument objects, equal in size to + while generating code to prepare those arguments for + a method call. + + The number of arguments to return. + The IL generator used to create an array if the method has a + ParamArray parameter. + An enumerable list of argument objects. + + + + Generates code to call the method. + + The IL generator. + + + + Returns a string representing this object. + + A string representing this object. + + + + Represents a single method argument. + + + + + Gets the intended source of the argument. + + + + + Gets the argument index, starting from zero. Only valid if Source is InputParameter. + + + + + Gets the type of the argument. + + + + + Gets a value that indicates whether this argument will be rolled up into an array. + + + + + Gets a value that indicates whether this argument has a default value. + + + + + Gets the default value for this argument. + + + + + Gets an attribute instance of the given type, if it exists on the argument. + + The type of attribute to retrieve. + An attribute instance, or null if the attribute does not exist on the + argument. + + + + This class is intended only for internal use. + + + + + Given a set of methods and a set of arguments, determines whether one of the methods + can be unambiguously selected. Throws an exception if this is not the case. + + An array of handles to the candidate methods. + The associated script engine. + The value of the "this" keyword. + An array of parameter values. + The index of the selected method. + + + + Binds to a method group using pretty standard .NET rules. The main difference from the + JSBinder is that the number of arguments must be correct. Additionally, it is possible to + bind to overloaded methods with the same number of arguments. + + + + + Creates a new ClrBinder instance. + + A method to bind to. + + + + Creates a new ClrBinder instance. + + An enumerable list of methods to bind to. + + + + Creates a new ClrBinder instance. + + An enumerable list of methods to bind to. + + + + Generates a method that does type conversion and calls the bound method. + + The ILGenerator used to output the body of the method. + The number of arguments that will be passed to the delegate. + A delegate that does type conversion and calls the method represented by this + object. + + + + Pops the value on the stack, converts it from an object to the given type, then pushes + the result onto the stack. + + The IL generator. + The type to convert to. + true if the value is intended for use as an + instance pointer; false otherwise. + + + + Pops the value on the stack, converts it to an object, then pushes the result onto the + stack. + + The IL generator. + The type to convert from. + + + + Base class of field getter and setter binders. + + + + + Creates a new FieldGetterBinder instance. + + The field. + + + + Gets the name of the target methods. + + + + + Gets the full name of the target methods, including the type name. + + + + + Retrieves the value of a field. + + + + + Creates a new FieldGetterBinder instance. + + The field. + + + + Generates a method that does type conversion and calls the bound method. + + The ILGenerator used to output the body of the method. + The number of arguments that will be passed to the delegate. + A delegate that does type conversion and calls the method represented by this + object. + + + + Sets the value of a field. + + + + + Creates a new FieldSetterBinder instance. + + The field. + + + + Generates a method that does type conversion and calls the bound method. + + The ILGenerator used to output the body of the method. + The number of arguments that will be passed to the delegate. + A delegate that does type conversion and calls the method represented by this + object. + + + + Binds to a method group using the default javascript rules (extra parameter values are + ignored, missing parameter values are replaced with "undefined"). + + + + + Creates a new JSBinder instance. + + An array of methods to bind to. + + + + Creates a new JSBinder instance. + + An enumerable list of methods to bind to. + + + + Generates a method that does type conversion and calls the bound method. + + The ILGenerator used to output the body of the method. + The number of arguments that will be passed to the delegate. + A delegate that does type conversion and calls the method represented by this + object. + + + + Pops the value on the stack, converts it from one type to another, then pushes the + result onto the stack. Undefined is converted to the given default value. + + The IL generator. + The type to convert from. + The type and default value of the target parameter. + + + + Pops the value on the stack, converts it from one type to another, then pushes the + result onto the stack. + + The IL generator. + The type to convert from. + The type to convert to. + + + + Pushes the result of converting undefined to the given type onto the stack. + + The IL generator. + The type to convert to, and optionally a default value. + + + + Represents a single method that the JS function binder can call. + + + + + Creates a new FunctionBinderMethod instance. + + The method to call. + Flags that modify the binding process. + + + + Creates a new FunctionBinderMethod instance. + + Flags that modify the binding process. + + + + Gets the flags that were passed to the constructor. + + + + + Gets a value that indicates whether the script engine should be passed as the first + parameter. Always false for instance methods. + + + + + Gets a value that indicates whether the "this" object should be passed as the first + parameter (or the second parameter if HasEngineParameter is true). Always false + for instance methods. + + + + + Gets the type of the explicit "this" value passed to this method. Will be null + if there is no explicit this value. + + + + + Gets the maximum number of parameters that this method requires (excluding the implicit + this parameter). + + + + + Gets an array of method parameters. + + An array of ParameterInfo instances describing the method parameters. + + + + Gets an enumerable list of argument objects, equal in size to + . + + The number of arguments to return. + An enumerable list of argument objects. + + + + Selects a method from a list of candidates and performs type conversion from actual + argument type to formal argument type. + + + + + Creates a new Binder instance. + + A method to bind to. + + + + Creates a new Binder instance. + + An enumerable list of methods to bind to. At least one + method must be provided. Every method must have the same name and declaring type. + + + + Gets the name of the target methods. + + + + + Gets the full name of the target methods, including the type name. + + + + + Gets the maximum number of arguments of any of the target methods. Used to set the + length property on the function. + + + + + Represents a line and column number in a source file. + + + + + Creates a new SourceCodePosition instance. + + The line number. Must be greater than zero. + The column number. Must be greater than zero. + + + + Gets the line number. + + + + + Gets the column number. + + + + + Represents a portion of source code. + + + + + Creates a new SourceCodeSpan instance. + + The start line of this SourceCodeSpan. Must be greater than + zero. + The start column of this SourceCodeSpan. Must be greater + than zero. + The end line of this SourceCodeSpan. Must be greater than + . + The end column of this SourceCodeSpan. Must be greater than + . + + + + Creates a new SourceCodeSpan instance. + + The start line and column of this SourceCodeSpan. + The end line and column of this SourceCodeSpan. + + + + Gets the starting line number of this range. + + + + + Gets the starting column number of this range. + + + + + Gets the ending line number of this range. + + + + + Gets the ending column number of this range. + + + + + Outputs IL that converts between types. + + + + + Pops the value on the stack, converts it to the given type, then pushes the result + onto the stack. + + The IL generator. + The type to convert from. + The type to convert to. + + + + Pops the value on the stack, converts it to the given type, then pushes the result + onto the stack. + + The IL generator. + The type to convert from. + The type to convert to. + Information about the line number, function and path. + + + + Pops the value on the stack, converts it to the given type, then pushes the result + onto the stack. + + The IL generator. + The type to convert from. + The type to convert to. + The path of the javascript source file that is currently executing. + The name of the currently executing function. + The line number of the statement that is currently executing. + + + + Pops the value on the stack, converts it to a boolean, then pushes the boolean result + onto the stack. + + The IL generator. + The type to convert from. + + + + Pops the value on the stack, converts it to an integer, then pushes the integer result + onto the stack. + + The IL generator. + The type to convert from. + + + + Pops the value on the stack, converts it to an integer, then pushes the integer result + onto the stack. Large numbers wrap (i.e. 4294967296 -> 0). + + The IL generator. + The type to convert from. + + + + Pops the value on the stack, converts it to an unsigned integer, then pushes the + integer result onto the stack. Large numbers wrap (i.e. 4294967296 -> 0). + + The IL generator. + The type to convert from. + + + + Pops the value on the stack, converts it to a double, then pushes the double result + onto the stack. + + The IL generator. + The type to convert from. + + + + Pops the value on the stack, converts it to a string, then pushes the result onto the + stack. + + The IL generator. + The type to convert from. + + + + Pops the value on the stack, converts it to a concatenated string, then pushes the result + onto the stack. + + The IL generator. + The type to convert from. + + + + Pops the value on the stack, converts it to a javascript object, then pushes the result + onto the stack. + + The IL generator. + The type to convert from. + Information about the line number, function and path. + + + + Pops the value on the stack, converts it to a javascript object, then pushes the result + onto the stack. + + The IL generator. + The type to convert from. + The path of the javascript source file that is currently executing. + The name of the currently executing function. + The line number of the statement that is currently executing. + + + + Pops the value on the stack, converts it to a primitive value, then pushes the result + onto the stack. + + The IL generator. + The type to convert from. + Specifies whether toString() or valueOf() should be + preferred when converting to a primitive. + + + + Pops the value on the stack, converts it to an object, then pushes the result onto the + stack. + + The IL generator. + The type to convert from. + + + + Pops the value on the stack, converts it to a property key (either a symbol or a + string), then pushes the result onto the stack. + + The IL generator. + The type to convert from. + + + + Outputs IL for misc tasks. + + + + + Emits undefined. + + The IL generator. + + + + Emits null. + + The IL generator. + + + + Emits a default value of the given type. + + The IL generator. + The type of value to generate. + + + + Emits a dummy value of the given type. + + The IL generator. + The type of value to generate. + + + + Emits a JavaScriptException. + + The IL generator. + The type of error to generate, e.g. Error, RangeError, etc. + The error message. + + + + Emits a JavaScriptException. + + The IL generator. + The type of error to generate, e.g. Error, RangeError, etc. + The error message. + Information about the line number, function and path. + + + + Emits a JavaScriptException. + + The IL generator. + The type of error to generate, e.g. Error, RangeError, etc. + The error message. + The path of the javascript source file that is currently executing. + The name of the currently executing function. + The line number of the statement that is currently executing. + + + + Emits the given value. Only possible for certain types. + + The IL generator. + The value to emit. + + + + Pushes the value of the execution context onto the stack. + + The IL generator. + + + + Pushes a reference to the script engine onto the stack. + + The IL generator. + + + + Pushes the value of the this keyword onto the stack. + + The IL generator. + + + + Pushes a reference to the current function onto the stack. + + The IL generator. + + + + Pushes a reference to the 'new.target' value for the current function onto the stack. + + The IL generator. + + + + Pushes a reference to the array of argument values for the current function onto the + stack. + + The IL generator. + + + + Represents a generator of CIL bytes. + + + + + Gets a reference to the method that we are generating IL for. + + + + + Emits a return statement and finalizes the generated code. Do not emit any more + instructions after calling this method. + + + + + Pops the value from the top of the stack. + + + + + Duplicates the value on the top of the stack. + + + + + Creates a label without setting its position. + + A new label. + + + + Defines the position of the given label. + + The label to define. + + + + Creates a label and sets its position. + + A new label. + + + + Unconditionally branches to the given label. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is zero, false or + null. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is non-zero, true or + non-null. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is zero, false or + null. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is non-zero, true or + non-null. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is zero, false or + null. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is non-zero, true or + non-null. + + The label to branch to. + + + + Branches to the given label if the two values on the top of the stack are equal. + + The label to branch to. + + + + Branches to the given label if the two values on the top of the stack are not equal. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than the second + value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than the second + value on the stack. If the operands are integers then they are treated as if they are + unsigned. If the operands are floating point numbers then a NaN value will trigger a + branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than or equal to + the second value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than or equal to + the second value on the stack. If the operands are integers then they are treated as + if they are unsigned. If the operands are floating point numbers then a NaN value will + trigger a branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than the second + value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than the second + value on the stack. If the operands are integers then they are treated as if they are + unsigned. If the operands are floating point numbers then a NaN value will trigger a + branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than or equal to + the second value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than or equal to + the second value on the stack. If the operands are integers then they are treated as + if they are unsigned. If the operands are floating point numbers then a NaN value will + trigger a branch. + + The label to branch to. + + + + Returns from the current method. A value is popped from the stack and used as the + return value. + + + + + Creates a jump table. A value is popped from the stack - this value indicates the + index of the label in the array to jump to. + + A array of labels. + + + + Declares a new local variable. + + The type of the local variable. + The name of the local variable. Can be null. + A new local variable. + + + + Declares a new local variable. + + The type of the local variable. + The name of the local variable. Can be null. + A new local variable. + + + + Pushes the value of the given variable onto the stack. + + The variable whose value will be pushed. + + + + Pushes the address of the given variable onto the stack. + + The variable whose address will be pushed. + + + + Pops the value from the top of the stack and stores it in the given local variable. + + The variable to store the value. + + + + Pushes the value of the method argument with the given index onto the stack. + + The index of the argument to push onto the stack. + + + + Pops a value from the stack and stores it in the method argument with the given index. + + The index of the argument to store into. + + + + Retrieves a temporary variable with the given type, reusing a previous variable if + possible. + + The type of variable to create. + A temporary variable + + + + Retrieves a temporary variable with the given type, reusing a previous variable if + possible. + + The type of variable to create. + A temporary variable + + + + Indicates that the given temporary variable is no longer needed. + + The temporary variable created using CreateTemporaryVariable(). + + + + Pushes null onto the stack. + + + + + Pushes a constant value onto the stack. + + The boolean to push onto the stack. + + + + Pushes a constant value onto the stack. + + The integer to push onto the stack. + + + + Pushes an unsigned constant value onto the stack. + + The integer to push onto the stack. + + + + Pushes a 64-bit constant value onto the stack. + + The 64-bit integer to push onto the stack. + + + + Pushes an unsigned 64-bit constant value onto the stack. + + The 64-bit integer to push onto the stack. + + + + Pushes a constant value onto the stack. + + The number to push onto the stack. + + + + Pushes a constant value onto the stack. + + The string to push onto the stack. + + + + Pushes a constant value onto the stack. + + The string to push onto the stack. Can be null. + + + + Pushes a constant value onto the stack. + + The enum value to push onto the stack. + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is equal to the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is greater than the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is greater than the second, or 0 otherwise. Produces 1 if one or both + of the arguments are NaN. Integers are considered to be unsigned. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is less than the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is less than the second, or 0 otherwise. Produces 1 if one or both + of the arguments are NaN. Integers are considered to be unsigned. + + + + + Pops two values from the stack, adds them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, subtracts the second from the first, then pushes the + result to the stack. + + + + + Pops two values from the stack, multiplies them together, then pushes the + result to the stack. + + + + + Pops two values from the stack, divides the first by the second, then pushes the + result to the stack. + + + + + Pops two values from the stack, divides the first by the second, then pushes the + remainder to the stack. + + + + + Pops a value from the stack, negates it, then pushes it back onto the stack. + + + + + Pops two values from the stack, ANDs them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, ORs them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, XORs them together, then pushes the result to the + stack. + + + + + Pops a value from the stack, inverts it, then pushes the result to the stack. + + + + + Pops two values from the stack, shifts the first to the left, then pushes the result + to the stack. + + + + + Pops two values from the stack, shifts the first to the right, then pushes the result + to the stack. The sign bit is preserved. + + + + + Pops two values from the stack, shifts the first to the right, then pushes the result + to the stack. The sign bit is not preserved. + + + + + Pops a value from the stack, converts it to an object reference, then pushes it back onto + the stack. + + The type of value to box. This should be a value type. + + + + Pops a value from the stack, converts it to an object reference, then pushes it back onto + the stack. + + The type of value to box. This should be a value type. + + + + Pops an object reference (representing a boxed value) from the stack, extracts the + address, then pushes that address onto the stack. + + The type of the boxed value. This should be a value type. + + + + Pops an object reference (representing a boxed value) from the stack, extracts the + address, then pushes that address onto the stack. + + The type of the boxed value. This should be a value type. + + + + Pops an object reference (representing a boxed value) from the stack, extracts the value, + then pushes the value onto the stack. + + The type of the boxed value. This should be a value type. + + + + Pops an object reference (representing a boxed value) from the stack, extracts the value, + then pushes the value onto the stack. + + The type of the boxed value. This should be a value type. + + + + Pops a value from the stack, converts it to a signed integer, then pushes it back onto + the stack. + + + + + Pops a value from the stack, converts it to an unsigned integer, then pushes it back + onto the stack. + + + + + Pops a value from the stack, converts it to a signed 64-bit integer, then pushes it + back onto the stack. + + + + + Pops a value from the stack, converts it to an unsigned 64-bit integer, then pushes it + back onto the stack. + + + + + Pops a value from the stack, converts it to a double, then pushes it back onto + the stack. + + + + + Pops an unsigned integer from the stack, converts it to a double, then pushes it back onto + the stack. + + + + + Pops the constructor arguments off the stack and creates a new instance of the object. + + The constructor that is used to initialize the object. + + + + Pops the method arguments off the stack, calls the given method, then pushes the result + to the stack (if there was one). Identical to CallStatic() if the method is a static + method (or is declared on a value type) or CallVirtual() otherwise. + + The method to call. + + + + Pops the method arguments off the stack, calls the given method, then pushes the result + to the stack (if there was one). This operation can be used to call instance methods, + but virtual overrides will not be called and a null check will not be performed at the + callsite. + + The method to call. + + + + Pops the method arguments off the stack, calls the given method, then pushes the result + to the stack (if there was one). This operation cannot be used to call static methods. + Virtual overrides are obeyed and a null check is performed. + + The method to call. + The method is static. + + + + Pushes the value of the given field onto the stack. + + The field whose value will be pushed. + + + + Pops a value off the stack and stores it in the given field. + + The field to modify. + + + + Pops an object off the stack, checks that the object inherits from or implements the + given type, and pushes the object onto the stack if the check was successful or + throws an InvalidCastException if the check failed. + + The type of the class the object inherits from or the interface the + object implements. + + + + Changes the type of the value on the top of the stack, for the purpose of passing + verification. Doesn't generate any IL instructions. + + The type to convert to. + + + + Pops an object off the stack, checks that the object inherits from or implements the + given type, and pushes either the object (if the check was successful) or null + (if the check failed) onto the stack. + + The type of the class the object inherits from or the interface the + object implements. + + + + Pushes a RuntimeTypeHandle corresponding to the given type onto the evaluation stack. + + The type to convert to a RuntimeTypeHandle. + + + + Pushes a RuntimeMethodHandle corresponding to the given method onto the evaluation + stack. + + The method to convert to a RuntimeMethodHandle. + + + + Pushes a RuntimeFieldHandle corresponding to the given field onto the evaluation stack. + + The type to convert to a RuntimeFieldHandle. + + + + Pushes a pointer to the native code implementing the given method onto the evaluation + stack. The virtual qualifier will be ignored, if present. + + The method to retrieve a pointer for. + + + + Pushes a pointer to the native code implementing the given method onto the + evaluation stack. This method cannot be used to retrieve a pointer to a static method. + + The method to retrieve a pointer for. + The method is static. + + + + Pushes a pointer to the native code implementing the given method onto the evaluation + stack. This method is identical to LoadStaticMethodPointer() if the method is a static + method (or is declared on a value type) or LoadVirtualMethodPointer() otherwise. + + The method to retrieve a pointer for. + + + + Pops a managed or native pointer off the stack and initializes the referenced type with + zeros. + + The type the pointer on the top of the stack is pointing to. + + + + Pops the size of the array off the stack and pushes a new array of the given type onto + the stack. + + The element type. + + + + Pops the array and index off the stack and pushes the element value onto the stack. + + The element type. + + + + Pops the array and index off the stack and pushes the element value onto the stack. + + The element type. + + + + Pops the array, index and value off the stack and stores the value in the array. + + The element type. + + + + Pops the array, index and value off the stack and stores the value in the array. + + The element type. + + + + Pops an array off the stack and pushes the length of the array onto the stack. + + + + + Pops an exception object off the stack and throws the exception. + + + + + Re-throws the current exception. + + + + + Begins a try-catch-finally block. After issuing this instruction any following + instructions are conceptually within the try block. + + + + + Ends a try-catch-finally block. + + + + + Begins a catch block. BeginExceptionBlock() must have already been called. + + The type of exception to handle. + + + + Begins a finally block. BeginExceptionBlock() must have already been called. + + + + + Begins a filter block. BeginExceptionBlock() must have already been called. + + + + + Begins a fault block. BeginExceptionBlock() must have already been called. + + + + + Unconditionally branches to the given label. Unlike the regular branch instruction, + this instruction can exit out of try, filter and catch blocks. + + The label to branch to. + + + + This instruction can be used from within a finally block to resume the exception + handling process. It is the only valid way of leaving a finally block. + + + + + This instruction can be used from within a fault block to resume the exception + handling process. It is the only valid way of leaving a fault block. + + + + + This instruction can be used from within a filter block to indicate whether the + exception will be handled. It pops an integer from the stack which should be 0 + to continue searching for an exception handler or 1 to use the handler + associated with the filter. EndFilter() must be called at the end of a filter block. + + + + + Triggers a breakpoint in an attached debugger. + + + + + Does nothing. + + + + + Represents a label in IL code. + + + + + Represents a label in IL code. + + + + + Creates a new label instance. + + The underlying label. + + + + Gets the underlying label. + + + + + Represents a local variable in CIL code. + + + + + Gets the zero-based index of the local variable within the method body. + + + + + Gets the type of the local variable. + + + + + Gets the local variable name, or null if a name was not provided. + + + + + Represents a local variable in CIL code. + + + + + Creates a new local variable instance. + + The underlying local variable. + The name of the local variable. Can be null. + + + + Gets the underlying local variable. + + + + + Gets the zero-based index of the local variable within the method body. + + + + + Gets the type of the local variable. + + + + + Gets the local variable name, or null if a name was not provided. + + + + + Represents a generator that logs all operations. + + + + + Creates a new LoggingILGenerator instance. + + The ILGenerator that is used to output the IL. + + + + Gets a reference to the method that we are generating IL for. + + + + + Emits a return statement and finalizes the generated code. Do not emit any more + instructions after calling this method. + + + + + Pops the value from the top of the stack. + + + + + Duplicates the value on the top of the stack. + + + + + Creates a label without setting its position. + + A new label. + + + + Defines the position of the given label. + + The label to define. + + + + Unconditionally branches to the given label. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is zero. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is non-zero, true or + non-null. + + The label to branch to. + + + + Branches to the given label if the two values on the top of the stack are equal. + + The label to branch to. + + + + Branches to the given label if the two values on the top of the stack are not equal. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than the second + value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than the second + value on the stack. If the operands are integers then they are treated as if they are + unsigned. If the operands are floating point numbers then a NaN value will trigger a + branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than or equal to + the second value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than or equal to + the second value on the stack. If the operands are integers then they are treated as + if they are unsigned. If the operands are floating point numbers then a NaN value will + trigger a branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than the second + value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than the second + value on the stack. If the operands are integers then they are treated as if they are + unsigned. If the operands are floating point numbers then a NaN value will trigger a + branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than or equal to + the second value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than or equal to + the second value on the stack. If the operands are integers then they are treated as + if they are unsigned. If the operands are floating point numbers then a NaN value will + trigger a branch. + + The label to branch to. + + + + Returns from the current method. A value is popped from the stack and used as the + return value. + + + + + Creates a jump table. A value is popped from the stack - this value indicates the + index of the label in the array to jump to. + + A array of labels. + + + + Declares a new local variable. + + The type of the local variable. + The name of the local variable. Can be null. + A new local variable. + + + + Pushes the value of the given variable onto the stack. + + The variable whose value will be pushed. + + + + Pushes the address of the given variable onto the stack. + + The variable whose address will be pushed. + + + + Pops the value from the top of the stack and stores it in the given local variable. + + The variable to store the value. + + + + Pushes the value of the method argument with the given index onto the stack. + + The index of the argument to push onto the stack. + + + + Pops a value from the stack and stores it in the method argument with the given index. + + The index of the argument to store into. + + + + Pushes null onto the stack. + + + + + Pushes a constant value onto the stack. + + The integer to push onto the stack. + + + + Pushes a 64-bit constant value onto the stack. + + The 64-bit integer to push onto the stack. + + + + Pushes a constant value onto the stack. + + The number to push onto the stack. + + + + Pushes a constant value onto the stack. + + The string to push onto the stack. + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is equal to the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is greater than the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is greater than the second, or 0 otherwise. Produces 1 if one or both + of the arguments are NaN. Integers are considered to be unsigned. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is less than the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is less than the second, or 0 otherwise. Produces 1 if one or both + of the arguments are NaN. Integers are considered to be unsigned. + + + + + Pops two values from the stack, adds them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, subtracts the second from the first, then pushes the + result to the stack. + + + + + Pops two values from the stack, multiplies them together, then pushes the + result to the stack. + + + + + Pops two values from the stack, divides the first by the second, then pushes the + result to the stack. + + + + + Pops two values from the stack, divides the first by the second, then pushes the + remainder to the stack. + + + + + Pops a value from the stack, negates it, then pushes it back onto the stack. + + + + + Pops two values from the stack, ANDs them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, ORs them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, XORs them together, then pushes the result to the + stack. + + + + + Pops a value from the stack, inverts it, then pushes the result to the stack. + + + + + Pops two values from the stack, shifts the first to the left, then pushes the result + to the stack. + + + + + Pops two values from the stack, shifts the first to the right, then pushes the result + to the stack. The sign bit is preserved. + + + + + Pops two values from the stack, shifts the first to the right, then pushes the result + to the stack. The sign bit is not preserved. + + + + + Pops a value from the stack, converts it to an object reference, then pushes it back onto + the stack. + + + + + Pops an object reference (representing a boxed value) from the stack, extracts the + address, then pushes that address onto the stack. + + The type of the boxed value. This should be a value type. + + + + Pops an object reference (representing a boxed value) from the stack, extracts the value, + then pushes the value onto the stack. + + The type of the boxed value. This should be a value type. + + + + Pops a value from the stack, converts it to a signed integer, then pushes it back onto + the stack. + + + + + Pops a value from the stack, converts it to an unsigned integer, then pushes it back + onto the stack. + + + + + Pops a value from the stack, converts it to a signed 64-bit integer, then pushes it + back onto the stack. + + + + + Pops a value from the stack, converts it to an unsigned 64-bit integer, then pushes it + back onto the stack. + + + + + Pops a value from the stack, converts it to a double, then pushes it back onto + the stack. + + + + + Pops an unsigned integer from the stack, converts it to a double, then pushes it back onto + the stack. + + + + + Pops the constructor arguments off the stack and creates a new instance of the object. + + The constructor that is used to initialize the object. + + + + Pops the method arguments off the stack, calls the given method, then pushes the result + to the stack (if there was one). This operation can be used to call instance methods, + but virtual overrides will not be called and a null check will not be performed at the + callsite. + + The method to call. + + + + Pops the method arguments off the stack, calls the given method, then pushes the result + to the stack (if there was one). This operation cannot be used to call static methods. + Virtual overrides are obeyed and a null check is performed. + + The method to call. + The method is static. + + + + Pushes the value of the given field onto the stack. + + The field whose value will be pushed. + + + + Pops a value off the stack and stores it in the given field. + + The field to modify. + + + + Pops an object off the stack, checks that the object inherits from or implements the + given type, and pushes the object onto the stack if the check was successful or + throws an InvalidCastException if the check failed. + + The type of the class the object inherits from or the interface the + object implements. + + + + Pops an object off the stack, checks that the object inherits from or implements the + given type, and pushes either the object (if the check was successful) or null + (if the check failed) onto the stack. + + The type of the class the object inherits from or the interface the + object implements. + + + + Pushes a RuntimeTypeHandle corresponding to the given type onto the evaluation stack. + + The type to convert to a RuntimeTypeHandle. + + + + Pushes a RuntimeMethodHandle corresponding to the given method onto the evaluation + stack. + + The method to convert to a RuntimeMethodHandle. + + + + Pushes a RuntimeFieldHandle corresponding to the given field onto the evaluation stack. + + The type to convert to a RuntimeFieldHandle. + + + + Pushes a pointer to the native code implementing the given method onto the evaluation + stack. The virtual qualifier will be ignored, if present. + + The method to retrieve a pointer for. + + + + Pushes a pointer to the native code implementing the given method onto the evaluation + stack. This method cannot be used to retrieve a pointer to a static method. + + The method to retrieve a pointer for. + The method is static. + + + + Pops a managed or native pointer off the stack and initializes the referenced type with + zeros. + + The type the pointer on the top of the stack is pointing to. + + + + Pops the size of the array off the stack and pushes a new array of the given type onto + the stack. + + The element type. + + + + Pops the array and index off the stack and pushes the element value onto the stack. + + The element type. + + + + Pops the array, index and value off the stack and stores the value in the array. + + The element type. + + + + Pops an array off the stack and pushes the length of the array onto the stack. + + + + + Pops an exception object off the stack and throws the exception. + + + + + Rethrows the current exception. + + + + + Begins a try-catch-finally block. After issuing this instruction any following + instructions are conceptually within the try block. + + + + + Ends a try-catch-finally block. BeginExceptionBlock() must have already been called. + + + + + Begins a catch block. BeginExceptionBlock() must have already been called. + + The type of exception to handle. + + + + Begins a finally block. BeginExceptionBlock() must have already been called. + + + + + Begins a filter block. BeginExceptionBlock() must have already been called. + + + + + Begins a fault block. BeginExceptionBlock() must have already been called. + + + + + Unconditionally branches to the given label. Unlike the regular branch instruction, + this instruction can exit out of try, filter and catch blocks. + + The label to branch to. + + + + This instruction can be used from within a finally block to resume the exception + handling process. It is the only valid way of leaving a finally block. + + + + + This instruction can be used from within a filter block to indicate whether the + exception will be handled. It pops an integer from the stack which should be 0 + to continue searching for an exception handler or 1 to use the handler + associated with the filter. EndFilter() must be called at the end of a filter block. + + + + + Triggers a breakpoint in an attached debugger. + + + + + Does nothing. + + + + + Converts the object to a string. + + A string containing the IL generated by this object. + + + + Outputs an instruction to the log. + + The instruction to output. + + + + Outputs an instruction and a label to the log. + + The instruction to output. + The label to output. + + + + Outputs an instruction and a number of labels to the log. + + The instruction to output. + The labels to output. + + + + Appends the name of a label to the log. + + The label to convert. + A string representation of the label. + + + + Outputs an instruction and a variable to the log. + + The instruction to output. + The variable to output. + + + + Outputs an instruction and an integer to the log. + + The instruction to output. + The integer to output. + + + + Outputs an instruction and a 64-bit integer to the log. + + The instruction to output. + The 64-bit integer to output. + + + + Outputs an instruction and a floating-point value to the log. + + The instruction to output. + The floating-point vaue to output. + + + + Outputs an instruction and a string literal to the log. + + The instruction to output. + The string literal to output. + + + + Outputs an instruction and a type to the log. + + The instruction to output. + The type to output. + + + + Outputs an instruction and a method to the log. + + The instruction to output. + The method to output. + + + + Outputs an instruction and a field to the log. + + The instruction to output. + The field to output. + + + + Outputs an instruction and a constructor to the log. + + The instruction to output. + The constructor to output. + + + + Outputs an instruction and an arbitrary suffix to the log. + + The instruction to output. + A suffix to output. + + + + Outputs arbitrary text to the log. + + The text to output. + + + + Represents a generator of CIL bytes. + + + + + Creates a new ReflectionEmitILGenerator instance from a DynamicMethod. + + The DynamicMethod to emit IL for. + Indicates whether to emit debugging information, like symbol names. + + + + Gets a reference to the method that we are generating IL for. + + + + + Emits a return statement and finalizes the generated code. Do not emit any more + instructions after calling this method. + + + + + Pops the value from the top of the stack. + + + + + Duplicates the value on the top of the stack. + + + + + Creates a label without setting its position. + + A new label. + + + + Defines the position of the given label. + + The label to define. + + + + Unconditionally branches to the given label. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is zero. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is non-zero, true or + non-null. + + The label to branch to. + + + + Branches to the given label if the two values on the top of the stack are equal. + + The label to branch to. + + + + Branches to the given label if the two values on the top of the stack are not equal. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than the second + value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than the second + value on the stack. If the operands are integers then they are treated as if they are + unsigned. If the operands are floating point numbers then a NaN value will trigger a + branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than or equal to + the second value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than or equal to + the second value on the stack. If the operands are integers then they are treated as + if they are unsigned. If the operands are floating point numbers then a NaN value will + trigger a branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than the second + value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than the second + value on the stack. If the operands are integers then they are treated as if they are + unsigned. If the operands are floating point numbers then a NaN value will trigger a + branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than or equal to + the second value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than or equal to + the second value on the stack. If the operands are integers then they are treated as + if they are unsigned. If the operands are floating point numbers then a NaN value will + trigger a branch. + + The label to branch to. + + + + Returns from the current method. A value is popped from the stack and used as the + return value. + + + + + Creates a jump table. A value is popped from the stack - this value indicates the + index of the label in the array to jump to. + + A array of labels. + + + + Declares a new local variable. + + The type of the local variable. + The name of the local variable. Can be null. + A new local variable. + + + + Pushes the value of the given variable onto the stack. + + The variable whose value will be pushed. + + + + Pushes the address of the given variable onto the stack. + + The variable whose address will be pushed. + + + + Pops the value from the top of the stack and stores it in the given local variable. + + The variable to store the value. + + + + Pushes the value of the method argument with the given index onto the stack. + + The index of the argument to push onto the stack. + + + + Pops a value from the stack and stores it in the method argument with the given index. + + The index of the argument to store into. + + + + Pushes null onto the stack. + + + + + Pushes a constant value onto the stack. + + The integer to push onto the stack. + + + + Pushes a 64-bit constant value onto the stack. + + The 64-bit integer to push onto the stack. + + + + Pushes a constant value onto the stack. + + The number to push onto the stack. + + + + Pushes a constant value onto the stack. + + The string to push onto the stack. + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is equal to the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is greater than the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is greater than the second, or 0 otherwise. Produces 1 if one or both + of the arguments are NaN. Integers are considered to be unsigned. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is less than the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is less than the second, or 0 otherwise. Produces 1 if one or both + of the arguments are NaN. Integers are considered to be unsigned. + + + + + Pops two values from the stack, adds them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, subtracts the second from the first, then pushes the + result to the stack. + + + + + Pops two values from the stack, multiplies them together, then pushes the + result to the stack. + + + + + Pops two values from the stack, divides the first by the second, then pushes the + result to the stack. + + + + + Pops two values from the stack, divides the first by the second, then pushes the + remainder to the stack. + + + + + Pops a value from the stack, negates it, then pushes it back onto the stack. + + + + + Pops two values from the stack, ANDs them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, ORs them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, XORs them together, then pushes the result to the + stack. + + + + + Pops a value from the stack, inverts it, then pushes the result to the stack. + + + + + Pops two values from the stack, shifts the first to the left, then pushes the result + to the stack. + + + + + Pops two values from the stack, shifts the first to the right, then pushes the result + to the stack. The sign bit is preserved. + + + + + Pops two values from the stack, shifts the first to the right, then pushes the result + to the stack. The sign bit is not preserved. + + + + + Pops a value from the stack, converts it to an object reference, then pushes it back onto + the stack. + + + + + Pops an object reference (representing a boxed value) from the stack, extracts the + address, then pushes that address onto the stack. + + The type of the boxed value. This should be a value type. + + + + Pops an object reference (representing a boxed value) from the stack, extracts the value, + then pushes the value onto the stack. + + The type of the boxed value. This should be a value type. + + + + Pops a value from the stack, converts it to a signed integer, then pushes it back onto + the stack. + + + + + Pops a value from the stack, converts it to an unsigned integer, then pushes it back + onto the stack. + + + + + Pops a value from the stack, converts it to a signed 64-bit integer, then pushes it + back onto the stack. + + + + + Pops a value from the stack, converts it to an unsigned 64-bit integer, then pushes it + back onto the stack. + + + + + Pops a value from the stack, converts it to a double, then pushes it back onto + the stack. + + + + + Pops an unsigned integer from the stack, converts it to a double, then pushes it back onto + the stack. + + + + + Pops the constructor arguments off the stack and creates a new instance of the object. + + The constructor that is used to initialize the object. + + + + Pops the method arguments off the stack, calls the given method, then pushes the result + to the stack (if there was one). This operation can be used to call instance methods, + but virtual overrides will not be called and a null check will not be performed at the + callsite. + + The method to call. + + + + Pops the method arguments off the stack, calls the given method, then pushes the result + to the stack (if there was one). This operation cannot be used to call static methods. + Virtual overrides are obeyed and a null check is performed. + + The method to call. + The method is static. + + + + Pushes the value of the given field onto the stack. + + The field whose value will be pushed. + + + + Pops a value off the stack and stores it in the given field. + + The field to modify. + + + + Pops an object off the stack, checks that the object inherits from or implements the + given type, and pushes the object onto the stack if the check was successful or + throws an InvalidCastException if the check failed. + + The type of the class the object inherits from or the interface the + object implements. + + + + Pops an object off the stack, checks that the object inherits from or implements the + given type, and pushes either the object (if the check was successful) or null + (if the check failed) onto the stack. + + The type of the class the object inherits from or the interface the + object implements. + + + + Pushes a RuntimeTypeHandle corresponding to the given type onto the evaluation stack. + + The type to convert to a RuntimeTypeHandle. + + + + Pushes a RuntimeMethodHandle corresponding to the given method onto the evaluation + stack. + + The method to convert to a RuntimeMethodHandle. + + + + Pushes a RuntimeFieldHandle corresponding to the given field onto the evaluation stack. + + The type to convert to a RuntimeFieldHandle. + + + + Pushes a pointer to the native code implementing the given method onto the evaluation + stack. The virtual qualifier will be ignored, if present. + + The method to retrieve a pointer for. + + + + Pushes a pointer to the native code implementing the given method onto the evaluation + stack. This method cannot be used to retrieve a pointer to a static method. + + The method to retrieve a pointer for. + The method is static. + + + + Pops a managed or native pointer off the stack and initializes the referenced type with + zeros. + + The type the pointer on the top of the stack is pointing to. + + + + Pops the size of the array off the stack and pushes a new array of the given type onto + the stack. + + The element type. + + + + Pops the array and index off the stack and pushes the element value onto the stack. + + The element type. + + + + Pops the array, index and value off the stack and stores the value in the array. + + The element type. + + + + Pops an array off the stack and pushes the length of the array onto the stack. + + + + + Pops an exception object off the stack and throws the exception. + + + + + Rethrows the current exception. + + + + + Begins a try-catch-finally block. After issuing this instruction any following + instructions are conceptually within the try block. + + + + + Ends a try-catch-finally block. BeginExceptionBlock() must have already been called. + + + + + Begins a catch block. BeginExceptionBlock() must have already been called. + + The type of exception to handle. + + + + Begins a finally block. BeginExceptionBlock() must have already been called. + + + + + Begins a filter block. BeginExceptionBlock() must have already been called. + + + + + Begins a fault block. BeginExceptionBlock() must have already been called. + + + + + Unconditionally branches to the given label. Unlike the regular branch instruction, + this instruction can exit out of try, filter and catch blocks. + + The label to branch to. + + + + This instruction can be used from within a finally block to resume the exception + handling process. It is the only valid way of leaving a finally block. + + + + + This instruction can be used from within a filter block to indicate whether the + exception will be handled. It pops an integer from the stack which should be 0 + to continue searching for an exception handler or 1 to use the handler + associated with the filter. EndFilter() must be called at the end of a filter block. + + + + + Triggers a breakpoint in an attached debugger. + + + + + Does nothing. + + + + + Represents a generator that checks commands for correctness. + + + + + Creates a new LoggingILGenerator instance. + + The ILGenerator that is used to output the IL. + + + + Gets a reference to the method that we are generating IL for. + + + + + Emits a return statement and finalizes the generated code. Do not emit any more + instructions after calling this method. + + + + + Pops the value from the top of the stack. + + + + + Duplicates the value on the top of the stack. + + + + + Creates a label without setting its position. + + A new label. + + + + Defines the position of the given label. + + The label to define. + + + + Unconditionally branches to the given label. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is zero. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is non-zero, true or + non-null. + + The label to branch to. + + + + Branches to the given label if the two values on the top of the stack are equal. + + The label to branch to. + + + + Branches to the given label if the two values on the top of the stack are not equal. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than the second + value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than the second + value on the stack. If the operands are integers then they are treated as if they are + unsigned. If the operands are floating point numbers then a NaN value will trigger a + branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than or equal to + the second value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is greater than or equal to + the second value on the stack. If the operands are integers then they are treated as + if they are unsigned. If the operands are floating point numbers then a NaN value will + trigger a branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than the second + value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than the second + value on the stack. If the operands are integers then they are treated as if they are + unsigned. If the operands are floating point numbers then a NaN value will trigger a + branch. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than or equal to + the second value on the stack. + + The label to branch to. + + + + Branches to the given label if the first value on the stack is less than or equal to + the second value on the stack. If the operands are integers then they are treated as + if they are unsigned. If the operands are floating point numbers then a NaN value will + trigger a branch. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is zero, false or + null. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is non-zero, true or + non-null. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is zero, false or + null. + + The label to branch to. + + + + Branches to the given label if the value on the top of the stack is non-zero, true or + non-null. + + The label to branch to. + + + + Returns from the current method. A value is popped from the stack and used as the + return value. + + + + + Creates a jump table. A value is popped from the stack - this value indicates the + index of the label in the array to jump to. + + A array of labels. + + + + Declares a new local variable. + + The type of the local variable. + The name of the local variable. Can be null. + A new local variable. + + + + Pushes the value of the given variable onto the stack. + + The variable whose value will be pushed. + + + + Pushes the address of the given variable onto the stack. + + The variable whose address will be pushed. + + + + Pops the value from the top of the stack and stores it in the given local variable. + + The variable to store the value. + + + + Pushes the value of the method argument with the given index onto the stack. + + The index of the argument to push onto the stack. + + + + Pops a value from the stack and stores it in the method argument with the given index. + + The index of the argument to store into. + + + + Pushes null onto the stack. + + + + + Pushes a constant value onto the stack. + + The boolean to push onto the stack. + + + + Pushes a constant value onto the stack. + + The integer to push onto the stack. + + + + Pushes a 64-bit constant value onto the stack. + + The 64-bit integer to push onto the stack. + + + + Pushes a constant value onto the stack. + + The number to push onto the stack. + + + + Pushes a constant value onto the stack. + + The string to push onto the stack. + + + + Pushes a constant value onto the stack. + + The enum value to push onto the stack. + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is equal to the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is greater than the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is greater than the second, or 0 otherwise. Produces 1 if one or both + of the arguments are NaN. Integers are considered to be unsigned. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is less than the second, or 0 otherwise. Produces 0 if one or both + of the arguments are NaN. + + + + + Pops two values from the stack, compares, then pushes 1 if the first argument + is less than the second, or 0 otherwise. Produces 1 if one or both + of the arguments are NaN. Integers are considered to be unsigned. + + + + + Pops two values from the stack, adds them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, subtracts the second from the first, then pushes the + result to the stack. + + + + + Pops two values from the stack, multiplies them together, then pushes the + result to the stack. + + + + + Pops two values from the stack, divides the first by the second, then pushes the + result to the stack. + + + + + Pops two values from the stack, divides the first by the second, then pushes the + remainder to the stack. + + + + + Pops a value from the stack, negates it, then pushes it back onto the stack. + + + + + Pops two values from the stack, ANDs them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, ORs them together, then pushes the result to the + stack. + + + + + Pops two values from the stack, XORs them together, then pushes the result to the + stack. + + + + + Pops a value from the stack, inverts it, then pushes the result to the stack. + + + + + Pops two values from the stack, shifts the first to the left, then pushes the result + to the stack. + + + + + Pops two values from the stack, shifts the first to the right, then pushes the result + to the stack. The sign bit is preserved. + + + + + Pops two values from the stack, shifts the first to the right, then pushes the result + to the stack. The sign bit is not preserved. + + + + + Pops a value from the stack, converts it to an object reference, then pushes it back onto + the stack. + + + + + Pops an object reference (representing a boxed value) from the stack, extracts the + address, then pushes that address onto the stack. + + The type of the boxed value. This should be a value type. + + + + Pops an object reference (representing a boxed value) from the stack, extracts the value, + then pushes the value onto the stack. + + The type of the boxed value. This should be a value type. + + + + Pops a value from the stack, converts it to a signed integer, then pushes it back onto + the stack. + + + + + Pops a value from the stack, converts it to an unsigned integer, then pushes it back + onto the stack. + + + + + Pops a value from the stack, converts it to a signed 64-bit integer, then pushes it + back onto the stack. + + + + + Pops a value from the stack, converts it to an unsigned 64-bit integer, then pushes it + back onto the stack. + + + + + Pops a value from the stack, converts it to a double, then pushes it back onto + the stack. + + + + + Pops an unsigned integer from the stack, converts it to a double, then pushes it back onto + the stack. + + + + + Pops the constructor arguments off the stack and creates a new instance of the object. + + The constructor that is used to initialize the object. + + + + Pops the method arguments off the stack, calls the given method, then pushes the result + to the stack (if there was one). This operation can be used to call instance methods, + but virtual overrides will not be called and a null check will not be performed at the + callsite. + + The method to call. + + + + Pops the method arguments off the stack, calls the given method, then pushes the result + to the stack (if there was one). This operation cannot be used to call static methods. + Virtual overrides are obeyed and a null check is performed. + + The method to call. + The method is static. + + + + Pushes the value of the given field onto the stack. + + The field whose value will be pushed. + + + + Pops a value off the stack and stores it in the given field. + + The field to modify. + + + + Pops an object off the stack, checks that the object inherits from or implements the + given type, and pushes the object onto the stack if the check was successful or + throws an InvalidCastException if the check failed. + + The type of the class the object inherits from or the interface the + object implements. + + + + Changes the type of the value on the top of the stack, for the purpose of passing + verification. Doesn't generate any IL instructions. + + The type to convert to. + + + + Pops an object off the stack, checks that the object inherits from or implements the + given type, and pushes either the object (if the check was successful) or null + (if the check failed) onto the stack. + + The type of the class the object inherits from or the interface the + object implements. + + + + Pushes a RuntimeTypeHandle corresponding to the given type onto the evaluation stack. + + The type to convert to a RuntimeTypeHandle. + + + + Pushes a RuntimeMethodHandle corresponding to the given method onto the evaluation + stack. + + The method to convert to a RuntimeMethodHandle. + + + + Pushes a RuntimeFieldHandle corresponding to the given field onto the evaluation stack. + + The type to convert to a RuntimeFieldHandle. + + + + Pushes a pointer to the native code implementing the given method onto the evaluation + stack. The virtual qualifier will be ignored, if present. + + The method to retrieve a pointer for. + + + + Pushes a pointer to the native code implementing the given method onto the evaluation + stack. This method cannot be used to retrieve a pointer to a static method. + + The method to retrieve a pointer for. + The method is static. + + + + Pops a managed or native pointer off the stack and initializes the referenced type with + zeros. + + The type the pointer on the top of the stack is pointing to. + + + + Pops the size of the array off the stack and pushes a new array of the given type onto + the stack. + + The element type. + + + + Pops the array and index off the stack and pushes the element value onto the stack. + + The element type. + + + + Pops the array, index and value off the stack and stores the value in the array. + + The element type. + + + + Pops an array off the stack and pushes the length of the array onto the stack. + + + + + Pops an exception object off the stack and throws the exception. + + + + + Rethrows the current exception. + + + + + Begins a try-catch-finally block. After issuing this instruction any following + instructions are conceptually within the try block. + + + + + Ends a try-catch-finally block. BeginExceptionBlock() must have already been called. + + + + + Begins a catch block. BeginExceptionBlock() must have already been called. + + The type of exception to handle. + + + + Begins a finally block. BeginExceptionBlock() must have already been called. + + + + + Begins a filter block. BeginExceptionBlock() must have already been called. + + + + + Begins a fault block. BeginExceptionBlock() must have already been called. + + + + + Unconditionally branches to the given label. Unlike the regular branch instruction, + this instruction can exit out of try, filter and catch blocks. + + The label to branch to. + + + + This instruction can be used from within a finally block to resume the exception + handling process. It is the only valid way of leaving a finally block. + + + + + This instruction can be used from within a filter block to indicate whether the + exception will be handled. It pops an integer from the stack which should be 0 + to continue searching for an exception handler or 1 to use the handler + associated with the filter. EndFilter() must be called at the end of a filter block. + + + + + Triggers a breakpoint in an attached debugger. + + + + + Does nothing. + + + + + Converts the object to a string. + + A string containing the IL generated by this object. + + + + Represents a label in IL code. + + + + + Creates a new label instance. + + The underlying label. + + + + Gets the underlying label. + + + + + A copy of the stack at the point the flow branched. + + + + + Indicates whether the label has been marked. This must be done once and only once. + + + + + Used internally to allow branching out of a finally block. + + + + + Creates a new LongJumpException instance. + + The route ID. + + + + Gets the route ID. + + + + + Represents information useful for optimizing a method. + + + + + Called by the parser whenever a variable is encountered (variable being any identifier + which is not a property name). + + The variable name. + + + + Determines if the parser encountered the given variable name while parsing the + function, or if the function contains a reference to "eval" or the function contains + nested functions which may reference the variable. + + The variable name. + true if the parser encountered the given variable name or "eval" while + parsing the function; false otherwise. + + + + Gets a value that indicates whether the function being generated contains a reference + to the arguments object. + + + + + Gets a value that indicates whether the function being generated contains an eval + statement. + + + + + Caches the HasEval and HasArguments property access. + + + + + Gets or sets a value that indicates whether the function being generated contains a + nested function declaration or expression. + + + + + Gets or sets a value that indicates whether the function being generated contains a + reference to the "this" keyword. + + + + + Represents information about one or more code generation optimizations. + + + + + Creates a new OptimizationInfo instance. + + + + + Gets or sets the root of the abstract syntax tree that is being compiled. + + + + + Gets or sets a value that indicates whether strict mode is enabled. + + + + + Gets or sets the source of javascript code. + + + + + Gets or sets the name of the function that is being generated. + + + + + Gets the portion of source code associated with the statement that code is + being generated for. + + + + + Emits a sequence point, and sets the SourceSpan property. + + The IL generator used to emit the sequence point. + The source code span. + + + + Gets a list of generated methods that correspond to nested functions. + This list is maintained so that the garbage collector does not prematurely collect + the generated code for the nested functions. + + + + + Gets or sets function optimization information. + + + + + Gets a value that indicates whether the declarative scopes should be optimized away, + so that the scope is not even created at runtime. + + + + + Indicates that the given expression can choose to not generate a return value. + + + + + Indicates whether the return value was generated. + + + + + Gets or sets the local variable to store the result of the eval() call. Will be + null if code is being generated outside an eval context. + + + + + Retrieves a variable that can be used to store a property name referencing a + global variable. + + The IL generator used to create the variable. + The name of the global variable. + A variable. + + + + Retrieves a variable that can be used to store a property name referencing an + object property. + + The IL generator used to create the variable. + The name of the property. + A variable. + + + + Retrieves a variable that can be used to store a shared instance of a regular + expression. + + The IL generator used to create the variable. + The regular expression literal. + A varaible that can be used to store a shared instance of a regular + expression. + + + + Gets or sets the label the return statement should jump to (with the return value on + top of the stack). Will be null if code is being generated outside a function + context. + + + + + Gets or sets the variable that holds the return value for the function. Will be + null if code is being generated outside a function context or if no return + statements have been encountered. + + + + + Indicates whether we are generating code inside a loop. + + + + + Pushes information about break or continue targets to a stack. + + The label names associated with the break or continue target. + Can be null. + The IL label to jump to if a break statement is encountered. + The IL label to jump to if a continue statement is + encountered. Can be null. + true if break or continue statements without a label + should ignore this entry; false otherwise. + + + + Removes the top-most break or continue information from the stack. + + + + + Returns the break target for the statement with the given label, if one is provided, or + the top-most break target otherwise. + + The label associated with the break target. Can be + null. + The break target for the statement with the given label. + + + + Returns the continue target for the statement with the given label, if one is provided, or + the top-most continue target otherwise. + + The label associated with the continue target. Can be + null. + The continue target for the statement with the given label. + + + + Gets the number of available break or continue targets. Used to support break or + continue statements within finally blocks. + + + + + Searches for the given label in the break/continue stack. + + + The depth of the label in the stack. Zero indicates the bottom of the stack. + -1 is returned if the label was not found. + + + + Gets or sets a value that indicates whether code generation is occurring within a + try, catch or finally block. + + + + + Gets or sets a delegate that is called when EmitLongJump() is called and the target + label is outside the LongJumpStackSizeThreshold. + + + + + Gets or sets the depth of the break/continue stack at the start of the finally + statement. + + + + + Emits code to branch between statements, even if code generation is within a finally + block (where unconditional branches are not allowed). + + The generator to output the CIL to. + The label to jump to. + + + + Represents a javascript primitive type. + + + + + Methods related to the PrimitiveType enum. + + + + + Converts a javascript primitive type to a .NET type. + + The type to convert. + A .NET type. + + + + Converts a .NET type to a javascript primitive type. + + The type to convert. + A javascript primitive type. + + + + Checks if the given primitive type is numeric. + + The primitive type to check. + true if the given primitive type is numeric; false otherwise. + + + + Checks if the given primitive type is a string type. + + The primitive type to check. + true if the given primitive type is a string type; false + otherwise. + + + + Checks if the given primitive type is a value type. + + The primitive type to check. + true if the given primitive type is a value type; false otherwise. + + + + Gets a type that can hold values of both the given types. + + The first of the two types to find the LCD for. + The second of the two types to find the LCD for. + A type that can hold values of both the given types. + + + + Used by the code generator. + Not intended for user code (the class needs to be public because when using Reflection + Emit, all calls into Jurassic.dll are cross-assembly and thus must be public). + + + + + Initializes static members of this class. + + + + + Creates a new instance of a user-defined function. + + The next object in the prototype chain. + The name of the function. + The names of the arguments. + The scope at the point the function is declared. + The source code for the function body. + A delegate which represents the body of the function plus any dependencies. + true if the function body is strict mode; false otherwise. + A reference to the containing class prototype or object literal (or null). + This is used by functions declared in JavaScript code (including getters and setters). + + + + Sets the value of a object literal property to a value. + + The object to set the property on. + The property key (can be a string or a symbol). + The value to set. + + + + Sets the value of a object literal property to a getter. If the value already has a + setter then it will be retained. + + The object to set the property on. + The property key (can be a string or a symbol). + The getter function. + + + + Sets the value of a object literal property to a setter. If the value already has a + getter then it will be retained. + + The object to set the property on. + The property key (can be a string or a symbol). + The setter function. + + + + Retrieves a cached template string array, using the given call site ID as the cache key. + + The associated script engine. + The call site ID to use as a cache key. + + + + + Creates an array suitable for passing to a tag function. + + The associated script engine. + The call site ID to use as a cache key. + An array of strings that make up the template literal, + with escape character processing. + An array of strings that make up the template literal, + without any escape character processing. + A JS array suitable for passing to a tag function. + + + + + + + + + + + + + + Sets the value of a class property to a value. + + The object to set the property on. + The property key (can be a string or a symbol). + The value to set. + + + + Sets the value of a class property to a getter. If the value already has a + setter then it will be retained. + + The object to set the property on. + The property key (can be a string or a symbol). + The getter function. + + + + Sets the value of a class property to a setter. If the value already has a + getter then it will be retained. + + The object to set the property on. + The property key (can be a string or a symbol). + The setter function. + + + + Implements the 'instanceof' operator. + + The left-hand side value. + The right-hand side value. + The line number in the source file the error occurred on. + The path or URL of the source file. Can be null. + The name of the function. Can be null. + The result of the 'instanceof' operator. + + + + Gets an enumerable list of all the MemberInfos that are statically known to be used by this DLL. + + An enumerable list of all the MemberInfos that are used by this DLL. + + + + Gets the FieldInfo for a field. Throws an exception if the search fails. + + The type to search. + The name of the field. + The FieldInfo for a field. + + + + Gets the ConstructorInfo for a constructor. Throws an exception if the search fails. + + The type to search. + The types of the parameters accepted by the constructor. + The ConstructorInfo for the constructor. + + + + Gets the MethodInfo for an instance method. Throws an exception if the search fails. + + The type to search. + The name of the method to search for. + The types of the parameters accepted by the method. + The MethodInfo for the method. + + + + Gets the MethodInfo for a static method. Throws an exception if the search fails. + + The type to search. + The name of the method to search for. + The types of the parameters accepted by the method. + The MethodInfo for the method. + + + + Gets the MethodInfo for a generic instance method. Throws an exception if the search fails. + + The type to search. + The name of the method to search for. + The MethodInfo for the method. + + + + Represents the runtime state needed to run JS code. + + + + + Creates an execution context for code running in an eval() scope. + + A script engine. + The scope that was active when eval() was called. + The value of the 'this' keyword. + A new execution context instance. + + + + Creates an execution context for code running as a result of a function call. + + A script engine. + The scope that was active when the function was declared + (NOT when it was called). + The value of the 'this' keyword. + The function that is being called. + A new execution context instance. + + + + Creates an execution context for code running as a result of the new operator. + + A script engine. + The scope that was active when the class was declared. + The value of the 'this' keyword. + A reference to the function that is being executed. + The target of the new operator. + A reference to the object literal or class prototype + the executing function was defined within. Used by the 'super' keyword. + A new execution context instance. + + + + Creates an execution context for code running as a result of the new operator. The + 'this' value is unavailable. + + A script engine. + The scope that was active when the class was declared. + A reference to the function that is being executed. + The target of the new operator. + A reference to the object literal or class prototype + the executing function was defined within. Used by the 'super' keyword. + A new execution context instance. + + + + A reference to the script engine. + + + + + The scope that was active when this execution context was declared. Can be null. + + + + + Represents the state of the 'this' value. + + + + + A 'this' value is available, although it may be null or undefined. + + + + + 'this' is unavailable because execution is in a derived class constructor and + super() has not yet been called. + + + + + This is an ArrowFunction and does not have a local this value. + + + + + Indicates the status of the 'this' value. + + + + + The value of the 'this' keyword. + + + + + Converts to an object. If this is null or undefined, + then it will be set to the global object. + + + + + The value of the 'super' keyword, or null if it is not available. + + + + + Corresponds to a super(...argumentValues) call. + + The parameter values to pass to the base class. + The initialised object instance. + + + + A reference to the executing function. Will be null if running in a global or + eval context. + + + + + If this context was created by the 'new' operator, contains the target of the new + operator. This value can be accessed by JS using the 'new.target' expression. + + + + + Contains a reference to the object literal or class prototype the executing function + was defined within. Used by the 'super' keyword. + + + + + The same as except that it returns + instead of null if no new.target value is available. + + + + + Creates a new instance of the 'arguments' object. + + The top-level scope for the function. + The argument values that were passed to the function. + A new instance of the 'arguments' object. + + + + Creates a new RuntimeScope instance, which is used for passing captured variables + between methods. + + The parent scope, or null to use the ParentScope from this + execution context. + + + + + A new RuntimeScope instance. + + + + A place for storing captured variable values at runtime. + + So this JS code: + + function f() { + let a = 1; + { + let a = 2; + (function g() { + a = 3; + })(); + console.log(a); // Logs 3. + } + } + + Translates to something like this (in C#): + + object f(ExecutionContext executionContext, object[] arguments) + { + var scope1 = executionContext.CreateRuntimeScope(null); + var scope2 = executionContext.CreateRuntimeScope(scope1); + var g = ReflectionHelpers.CreateFunction(..., scope2, ...) + scope1.SetValue("a", 1); + scope2.SetValue("a", 2); + g.Call() + ((FunctionInstance)TypeConverter.ToObject(scope2.GetValue("console"))["log"]).Call(scope2.GetValue("a")); + } + + object g(ExecutionContext executionContext, object[] arguments) + { + executionContext.ParentScope.SetValue("a", 3); + } + + The with(...) statement is handled specially: + + function f() { + with (Math) { + console.log(E); // Logs 2.718281828459045. + } + } + + C# translation: + + object f(ExecutionContext executionContext, object[] arguments) + { + var scope1 = executionContext.CreateRuntimeScope(null); + var scope2 = executionContext.CreateRuntimeScope(scope1); + scope2.BindTo(scope1.GetValue("Math")); + ((FunctionInstance)TypeConverter.ToObject(scope2.GetValue("console"))["log"]).Call(scope2.GetValue("E")); + } + + + + + Creates a global scope. + + The associated script engine. + A new RuntimeScope instance. + + + + Creates a new RuntimeScope instance. + + The script engine this scope is associated with. + The parent scope, or null if this is the root scope. + + + + + + + + The current execution context. + + + + + A reference to the parent scope. If a variable cannot be found in this scope then the + parent scope can be checked instead. + + + + + Gets the type of scope, e.g. global, function, eval, with, etc. + + + + + Gets the object that stores the values of the variables in the scope, if any. Can be null. + + + + + Determines the 'this' value passed to a function when the function call is of the form + simple_func(). This is normally 'undefined' but can be some other value inside a with() + statement. + + + + + Binds the scope to a scope object. This is used by the 'with' statement. + + The object to use. + + + + Returns the value of the given variable. An error is thrown if the variable doesn't + exist. + + The name of the variable. + The line number in the source file the variable was accessed. + The path or URL of the source file. Can be null. + The value of the given variable. + + + + Returns the value of the given variable. Returns if the + variable doesn't exist. + + + The line number in the source file the variable was accessed. + The path or URL of the source file. Can be null. + The value of the given variable, or if the + variable doesn't exist. + + + + Returns the value of the given variable. Returns null if the variable doesn't + exist. + + The name of the variable. + The line number in the source file the variable was accessed. + The path or URL of the source file. Can be null. + The value of the given variable, or null if the variable doesn't exist + in the scope. + + + + Sets the value of the given variable. + + The name of the variable. + The new value of the variable. + The line number in the source file the variable was set. + The path or URL of the source file. Can be null. + + + + Sets the value of the given variable, using strict mode behaviour. + + The name of the variable. + The new value of the variable. + The line number in the source file the variable was set. + The path or URL of the source file. Can be null. + + + + Sets the value of the given variable. + + The name of the variable. + The new value of the variable. + Indicates whether to use strict mode behaviour when setting + the variable. + The line number in the source file the variable was set. + The path or URL of the source file. Can be null. + + + + Deletes the variable from the scope. + + The name of the variable. + + + + Represents an array literal expression. + + + + + Creates a new instance of ArrayLiteralExpression. + + A list of values in the array. + + + + Gets the literal value. + + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents an assignment expression (++, --, =, +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=, >>>=). + + + + + Creates a new instance of AssignmentExpression. + + The operator to base this expression on. + + + + Creates a simple variable assignment expression. + + The scope the variable is defined within. + The name of the variable to set. + The value to set the variable to. + + + + Gets the target of the assignment. + + + + + Gets the underlying base operator for the given compound operator. + + The type of compound operator. + The underlying base operator, or null if the type is not a compound + operator. + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates CIL for an assignment expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + The target to modify. + + + + Generates CIL for an increment or decrement expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + The target to modify. + true if this is the postfix version of the operator; + false otherwise. + true if this is the increment operator; false if + this is the decrement operator. + + + + Generates CIL for a compound assignment expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + The target to modify. + + + + This is a private class that supports generating code for compound operators (e.g. +=). + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for a compound assignment expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + The target to modify. + + + + Checks the expression is valid and throws a SyntaxErrorException if not. + Called after the expression tree is fully built out. + + Indicates where the code is located e.g. inside a function, or a constructor, etc. + The line number to use when throwing an exception. + The source path to use when throwing an exception. + + + + Represents a binary operator expression. + + + + + Creates a new instance of BinaryExpression. + + The binary operator to base this expression on. + + + + Creates a new instance of BinaryJSExpression. + + The binary operator to base this expression on. + The operand on the left side of the operator. + The operand on the right side of the operator. + + + + Gets the expression on the left side of the operator. + + + + + Gets the expression on the right side of the operator. + + + + + Evaluates the expression, if possible. + + The result of evaluating the expression, or null if the expression can + not be evaluated. + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates CIL for the addition operation. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates CIL for the relational operators. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates CIL for the logical operators. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates CIL for the instanceof operator. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates CIL for the in operator. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Represents a class expression. + + + + + Creates a new class expression. + + The scope that contains the class. + The class name. + The base class, or null if this class doesn't inherit + from another class. + The constructor, or null if the class doesn't have one. + A list of class members. + + + + The scope that contains the class. + + + + + The class name, or null if none were specified. + + + + + The base class, or null if this class doesn't inherit from another class. + + + + + The constructor, or null if the class doesn't have one. + + + + + Gets the list of class members, exluding the constructor. + + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents the base class of all javascript expressions. + + + + + Evaluates the expression, if possible. + + The result of evaluating the expression, or null if the expression can + not be evaluated. + + + + Gets the type that results from evaluating this expression. + + + + + Checks the expression is valid and throws a SyntaxErrorException if not. + Called after the expression tree is fully built out. + + Indicates where the code is located e.g. inside a function, or a constructor, etc. + The line number to use when throwing an exception. + The source path to use when throwing an exception. + + + + Represents a function call expression. + + + + + Creates a new instance of FunctionCallExpression. + + The binary operator to base this expression on. + The scope that was in effect at the time of the function call + (used by eval() calls). + + + + Gets an expression that evaluates to the function instance. + + + + + Gets the type that results from evaluating this expression. + + + + + The scope that was in effect at the time of the function call (used by eval() calls.) + + + + + Used to implement function calls without evaluating the left operand twice. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates an array containing the argument values. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates an array containing the argument values for a tagged template literal. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + The template literal expression containing the parameter + values. + + + + Generates CIL for a call to eval(). + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Checks the expression is valid and throws a SyntaxErrorException if not. + Called after the expression tree is fully built out. + + Indicates where the code is located e.g. inside a function, or a constructor, etc. + The line number to use when throwing an exception. + The source path to use when throwing an exception. + + + + Represents a function expression. + + + + + Creates a new instance of FunctionExpression. + + The function context to base this expression on. + The scope that was in effect where the function was declared. + + + + Indicates how the function was declared. + + + + + Gets the name of the function. Can be null. + + + + + Gets a list of argument names and default values. + + + + + Gets the source code for the body of the function. + + + + + Gets the type that results from evaluating this expression. + + + + + The scope that was in effect where the function was declared. + + + + + A variable that contains the declaring object. + 1. In an object literal, the object literal instance. + 2. In a class instance method, the class prototype. + 3. In a class static method, the class itself. + Used when generating code. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents a grouping expression. + + + + + Creates a new instance of GroupingJSExpression. + + The operator to base this expression on. + + + + Gets the expression inside the grouping operator. + + + + + Evaluates the expression, if possible. + + The result of evaluating the expression, or null if the expression can + not be evaluated. + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Represents a reference - an expression that is valid on the left-hand-side of an assignment + operation. + + + + + Gets the static type of the reference. + + + + + Outputs the values needed to get or set this reference. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Duplicates the values needed to get or set this reference. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Pushes the value of the reference onto the stack. GenerateReference should be called first. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + true to throw a ReferenceError exception if + the name is unresolvable; false to output null instead. + + + + Stores the value on the top of the stack in the reference. GenerateReference should be called first. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + The primitive type of the value that is on the top of the stack. + + + + Deletes the reference and pushes true if the delete succeeded, or false + if the delete failed. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Represents a comma-delimited list. + + + + + Creates a new instance of ListExpression. + + The operator to base this expression on. + + + + Gets an array of expressions, one for each item in the list. + + + + + Evaluates the expression, if possible. + + The result of evaluating the expression, or null if the expression can + not be evaluated. + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents a simple literal expression (not an array literal or object literal). + + + + + Creates a new instance of LiteralExpression. + + The literal value. + + + + Gets the literal value. + + + + + Evaluates the expression, if possible. + + The result of evaluating the expression, or null if the expression can + not be evaluated. + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents a variable or member access. + + + + + Creates a new instance of MemberAccessExpression. + + The operator to base this expression on. + + + + Gets an expression that evaluates to the object that is being accessed or modified. + + + + + Gets the type that results from evaluating this expression. + + + + + Gets the static type of the reference. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Static property access e.g. a.b or a['b'] + + + + + Numeric array indexer e.g. a[1] + + + + + Dynamic property access e.g. a[someVariable] + + + + + Determines the type of member access. + + Information about any optimizations that should be performed. + Outputs the name of the property that is being accessed, if + it is available at compile time, or null otherwise. + + + + + Outputs the values needed to get or set this reference. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Outputs the values needed to get or set this reference. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Pushes the value of the reference onto the stack. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + true to throw a ReferenceError exception if + the name is unresolvable; false to output null instead. + + + + Stores the value on the top of the stack in the reference. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + The primitive type of the value that is on the top of the stack. + + + + Deletes the reference and pushes true if the delete succeeded, or false + if the delete failed. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Checks the expression is valid and throws a SyntaxErrorException if not. + Called after the expression tree is fully built out. + + Indicates where the code is located e.g. inside a function, or a constructor, etc. + The line number to use when throwing an exception. + The source path to use when throwing an exception. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents a variable or part of a member reference. + + + + + Creates a new NameExpression instance. + + The current scope. + The name of the variable or member that is being referenced. + + + + Gets or sets the scope the name is contained within. + + + + + Gets the name of the variable or member. + + + + + Gets the type that results from evaluating this expression. + + + + + Gets the static type of the reference. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Outputs the values needed to get or set this reference. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Outputs the values needed to get or set this reference. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Pushes the value of the reference onto the stack. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + true to throw a ReferenceError exception if + the name is unresolvable; false to output null instead. + + + + Stores the value on the top of the stack in the reference. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + The primitive type of the value that is on the top of the stack. + + + + Deletes the reference and pushes true if the delete succeeded, or false + if the delete failed. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Calculates the hash code for this object. + + The hash code for this object. + + + + Determines if the given object is equal to this one. + + The object to compare. + true if the given object is equal to this one; false otherwise. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents a "new" expression. + + + + + Creates a new instance of NewExpression. + + The operator to base this expression on. + + + + Gets the precedence of the operator. + + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Represents a reference to the "new.target" value. + + + + + Creates a new NewTargetExpression instance. + + + + + Gets the type that results from evaluating this expression. + + + + + Gets the static type of the reference. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents an object literal expression. + + + + + Creates a new object literal expression. + + A list of property declarations. + + + + Gets the literal value. + + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents a mutable operator expression. Once all the operands are determined, the + expression is converted into a real operator expression. + + + + + Creates a new instance of OperatorExpression. + + The operator to base this expression on. + + + + Creates a derived instance of OperatorExpression from the given operator. + + The operator to base this expression on. + The scope that was in effect at the time of the function call + (used by eval() calls). + A derived OperatorExpression instance. + + + + Gets or sets the operator this expression refers to. + + + + + Gets or sets the type of operator this expression refers to. + + + + + Gets the operand with the given index. No parameter validation and grouping operator + elimination is performed. + + The index of the operand to retrieve. + The operand with the given index. + + + + Gets the operand with the given index. + + The index of the operand to retrieve. + The operand with the given index. + + + + Gets the number of operands that have been added. + + + + + Adds an operand. + + The expression representing the operand to add. + + + + Removes and returns the most recently added operand. + + The most recently added operand. + + + + Gets or sets a value that indicates whether the second token in a ternary operator + was encountered. + + + + + Gets a value that indicates whether a new operand is acceptable given the state of + this operator. For ternary operators only two operands are acceptable until the + second token of the sequence is encountered. + + + + + Gets the right-most operand as an unbound operator, or null if the operator + has no operands or the right-most operand is not an operator. + + + + + Gets the precedence of the operator. For ternary operators this is -MinValue if + parsing is currently between the two tokens. + + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Checks the expression is valid and throws a SyntaxErrorException if not. + Called after the expression tree is fully built out. + + Indicates where the code is located e.g. inside a function, or a constructor, etc. + The line number to use when throwing an exception. + The source path to use when throwing an exception. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents a 'super' reference. + + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Indicates whether this 'super' keyword is in a valid context. + + + + + Checks the expression is valid and throws a SyntaxErrorException if not. + Called after the expression tree is fully built out. + + Indicates where the code is located e.g. inside a function, or a constructor, etc. + The line number to use when throwing an exception. + The source path to use when throwing an exception. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents a template literal expression, with substitutions. + Code gen treats template literals with no substitutions just like string literals. + + + + + Creates a new instance of TemplateLiteralExpression. + + The literal string parts of the template. For example `1${2}3` + has the string literal parts "1" and "3". + The substitution expressions in the template. For example + `1${2}3` has the substitution expression "2". + The literal string parts of the template, prior to performing + escape sequence processing. + + + + The literal string parts of the template. For example `1${2}3` has the string literal + parts "1" and "3". + + + + + The substitution expressions in the template. For example `1${2}3` has the + substitution expression "2". + + + + + The literal string parts of the template, prior to performing escape sequence + processing. + + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Represents a ternary operator expression. + + + + + Creates a new instance of TernaryExpression. + + The ternary operator to base this expression on. + + + + Evaluates the expression, if possible. + + The result of evaluating the expression, or null if the expression can + not be evaluated. + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Represents a reference to the "this" value. + + + + + Creates a new ThisExpression instance. + + + + + Gets the type that results from evaluating this expression. + + + + + Gets the static type of the reference. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the expression to a string. + + A string representing this expression. + + + + Represents a unary operator expression. + + + + + Creates a new instance of UnaryExpression. + + The unary operator to base this expression on. + + + + Gets the expression on the left or right side of the unary operator. + + + + + Evaluates the expression, if possible. + + The result of evaluating the expression, or null if the expression can + not be evaluated. + + + + Gets the type that results from evaluating this expression. + + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates CIL for the typeof expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates CIL for the delete expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Represents punctuation or an operator in the source code. + + + + + Creates a new IdentifierToken instance. + + The identifier name. + + + + Gets the name of the identifier. + + + + + Gets a string that represents the token in a parseable form. + + + + + Creates a new identifier token. + + The name of the identifer. + A new IdentifierToken instance. + + + + Represents a reserved word in the source code. + + + + + Creates a new KeywordToken instance. + + The keyword name. + + + + Gets the name of the identifier. + + + + + Creates a token from the given string. + + The text. + The script engine compatibility mode. + true if the lexer is operating in strict mode; + false otherwise. + The token corresponding to the given string, or null if the string + does not represent a valid token. + + + + Initializes a lookup table by combining the base list with a second list of keywords. + + A list of additional keywords. + A lookup table. + + + + Gets a string that represents the token in a parseable form. + + + + + Represents the current expression state of the parser. + + + + + Indicates the context is not known. The lexer will guess. + + + + + Indicates the next token can be a literal. + + + + + Indicates the next token can be an operator. + + + + + Indicates the next token is the continuation of a template literal. + + + + + Converts a JavaScript source file into a series of tokens. + + + + + Creates a Lexer instance with the given source of text. + + The source of javascript code. + + + + Cleans up any resources used by the lexer. + + + + + Gets the reader that was supplied to the constructor. + + + + + Gets the line number of the next token. + + + + + Gets the column number of the start of the next token. + + + + + Gets or sets a callback that interrogates the parser to determine whether a literal or + an operator is valid as the next token. This is only required to disambiguate the + slash symbol (/) which can be a division operator or a regular expression literal. + + + + + Gets or sets a value that indicates whether the lexer should operate in strict mode. + + + + + Gets or sets a value that indicates what compatibility mode to use. + + + + + Gets or sets a string builder that will be appended with characters as they are read + from the input stream. + + + + + Reads the next character from the input stream. + + The character that was read, or -1 if the end of the input stream has + been reached. + + + + Reads the next token from the reader. + + A token, or null if there are no more tokens. + + + + Reads an identifier token. + + The first character of the identifier. + An identifier token, literal token or a keyword token. + + + + Reads a punctuation token. + + The first character of the punctuation token. + A punctuation token. + + + + Creates a TextReader that calls ReadNextChar(). + + + + + Reads a numeric literal token. + + The first character of the token. + A numeric literal token. + + + + Reads an integer value. + + The initial value, derived from the first character. + The number of digits that were read from the stream. + The numeric value, or double.NaN if no number was present. + + + + Reads a string literal. + + The first character of the string literal. + A string literal. + + + + Reads a hexidecimal number with the given number of digits and turns it into a character. + + The character corresponding to the escape sequence, or the content that was read + from the input if a valid hex number was not read. + + + + Reads an octal number turns it into a single-byte character. + + The first character delimiting the string literal. + The value of the first digit. + The character corresponding to the escape sequence. + + + + Reads an extended unicode escape sequence in the form "\u{20BB7}". + + The character or characters corresponding to the escape sequence. + + + + Reads past a single line comment. + + Always returns null. + + + + Reads past a multi-line comment. + + A line terminator token if the multi-line comment contains a newline character; + otherwise returns null. + + + + Reads past whitespace. + + Always returns null. + + + + Reads a line terminator (a newline). + + The first character of the line terminator. + A newline token. + + + + Reads a divide operator ('/' or '/='), a comment ('//' or '/*'), or a regular expression + literal. + + A punctuator token or a regular expression token. + + + + Reads a regular expression literal. + + A regular expression token. + + + + Determines if the given character is whitespace. + + The character to test. + true if the character is whitespace; false otherwise. + + + + Determines if the given character is a line terminator. + + The character to test. + true if the character is a line terminator; false otherwise. + + + + Determines if the given character is valid as the first character of an identifier. + + The character to test. + true if the character is is valid as the first character of an identifier; + false otherwise. + + + + Determines if the given character is valid as a character of an identifier. + + The character to test. + true if the character is is valid as a character of an identifier; + false otherwise. + + + + Determines if the given character is valid as the first character of a punctuator. + + The character to test. + true if the character is is valid as the first character of an punctuator; + false otherwise. + + + + Determines if the given character is valid as the first character of a numeric literal. + + The character to test. + true if the character is is valid as the first character of a numeric + literal; false otherwise. + + + + Determines if the given character is valid as the first character of a string literal. + + The character to test. + true if the character is is valid as the first character of a string + literal; false otherwise. + + + + Determines if the given character is valid in a hexidecimal number. + + The character to test. + true if the given character is valid in a hexidecimal number; false + otherwise. + + + + Represents a string, number, boolean or null literal in the source code. + + + + + Creates a new LiteralToken instance with the given value. + + + + + + The value of the literal. + + + + + Gets a value that indicates whether the literal is a keyword. Literal keywords are + false, true and null. + + + + + Gets a string that represents the token in a parseable form. + + + + + Converts this token into a property name. + + + + + + Represents punctuation or an operator in the source code. + + + + + Creates a new PunctuatorToken instance. + + The punctuator text. + + + + Creates a punctuator token from the given string. + + The punctuator text. + The punctuator corresponding to the given string, or null if the string + does not represent a valid punctuator. + + + + Gets a string that represents the token in a parseable form. + + + + + Represents a lightweight representation of a regular expression literal. + + + + + Creates a new regular expression literal. + + The unescaped regular expression pattern. + The regular expression flags. + + + + Gets the regular expression pattern. + + + + + Gets a string that contains the flags. + + + + + Determines whether the specified Object is equal to the current Object. + + The Object to compare with the current Object. + true if the specified Object is equal to the current Object; + otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current Object. + + + + Returns a String that represents the current Object. + + A String that represents the current Object. + + + + Represents a string literal. + + + + + Gets the number of character escape sequences encounted while parsing the string + literal. + + + + + Gets the number of line continuations encounted while parsing the string literal. + + + + + Gets the contents of the string literal. + + + + + Represents the text content of a template literal. + + Example 1: `plain text` + 1. TemplateLiteralToken (Value = "plain text") + + Example 2: `${count}` + 1. TemplateLiteralToken (Value = "") + 2. IdentifierToken (Name = "count") + 3. PunctuatorToken (Text = "}") + 4. TemplateLiteralToken (Value = "") + + Example 3: `Bought ${count} items from ${person}!` + 1. TemplateLiteralToken (Value = "Bought ") + 2. IdentifierToken (Name = "count") + 3. PunctuatorToken (Text = "}") + 4. TemplateLiteralToken (Value = " items from ") + 5. IdentifierToken (Name = "person") + 6. PunctuatorToken (Text = "}") + 7. TemplateLiteralToken (Value = "!") + + + + + Creates a new TemplateLiteralToken instance. + + The literal text. + The contents of the template literal, without any escaping. + Indicates whether a substitution follows this + string. + + + + Indicates whether a substitution follows this string. For example, this is true for + the "hello" in `hello${1}world`, but not the "world". + + + + + The raw text, prior to performing any escape sequence processing. + + + + + Gets the contents of the template string literal. + + + + + Represents the base class of all tokens. + + + + + Gets a string that represents the token in a parseable form. + + + + + Converts the token to the string suitable for embedding in an error message. + + The token to convert. Can be null. + A string suitable for embedding in an error message. + + + + Converts the token to a string representation. + + A textual representation of the object. + + + + Represents whitespace or a line terminator. + + + + + Creates a new WhiteSpaceToken instance. + + The number of line terminators encountered while + reading the whitespace. + + + + Gets a count of the number of line terminators. + + + + + Gets a string that represents the token in a parseable form. + + + + + Represents a context that code can be run in. + + + + + The default context. + + + + + The context inside function bodies. + + + + + The context inside the eval() function. + + + + + Represents a set of options that influence the compiler. + + + + + Creates a new CompilerOptions instance. + + + + + Gets or sets a value that indicates whether to force ES5 strict mode, even if the code + does not contain a strict mode directive ("use strict"). The default is false. + + + + + Gets or sets a value that indicates what compatibility mode to use. + + + + + Gets or sets a value that indicates whether to disassemble any generated IL and store it + in the associated function. + + + + + Performs a shallow clone of this instance. + + A shallow clone of this instance. + + + + Represents how the function was defined. + + + + + The function was declared as a statement. + + + + + The function was declared as an expression. + + + + + Represents the declaration of a function parameter. + + + + + The name of the parameter. + + + + + The value of the parameter, if no value was passed to the function (can be null). + + + + + Returns the textual representation of this object. + + + + + + Represents the information needed to compile a function. + + + + + Creates a new FunctionMethodGenerator instance. + + The name of the function (can be computed at runtime). + Indicates how the function was declared. + The names and default values of the arguments. + The source code of the function. + The root of the abstract syntax tree for the body of the function. + The scope that contains the function name and arguments. + The URL or file system path that the script was sourced from. + The extent of the function in the source code. + Options that influence the compiler. + + + + Dummy implementation of ScriptSource. + + + + + Creates a new FunctionContext instance. + + The name of the function. + A comma-separated list of arguments. + The source code for the body of the function. + Options that influence the compiler. + + + + An expression that evaluates to the name of the function. For getters and setters, + this does not include the "get" or "set". + + + + + Indicates how the function was declared. + + + + + Gets a comma-separated list of arguments. + + + + + Gets a list of argument names and default values. + + + + + Gets the root of the abstract syntax tree for the body of the function. + + + + + Gets the source code for the body of the function. + + + + + Gets a name for the generated method. + + A name for the generated method. + + + + Gets a name for the function, as it appears in the stack trace. + + A name for the function, as it appears in the stack trace, or null if + this generator is generating code in the global scope. + + + + Gets an array of types - one for each parameter accepted by the method generated by + this context. + + An array of parameter types. + + + + Gets an array of names - one for each parameter accepted by the method being generated. + + An array of parameter names. + + + + Checks whether the function is valid (in strict mode the function cannot be named + 'arguments' or 'eval' and the argument names cannot be duplicated). + + The line number in the source file. + The path or URL of the source file. Can be null. + + + + Parses the source text into an abstract syntax tree. + + The root node of the abstract syntax tree. + + + + Represents a delegate that is used for user-defined functions. For internal use only. + + The script engine, this value and other state needed to run the + function. + The arguments that were passed to the function. + The result of calling the method. + + + + Retrieves a delegate for the generated method. + + The delegate type that matches the method parameters. + + + + Generates IL for the script. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts this object to a string. + + A string representing this object. + + + + Represents a generated method and it's dependencies. + + + + + Creates a new GeneratedMethod instance. + + A delegate that refers to the generated method. + A list of dependent generated methods. Can be null. + + + + Gets a delegate which refers to the generated method. + + + + + Gets a list of dependent generated methods. + + + + + Gets or sets the disassembled IL code for the method. + + + + + Retrieves the code for a generated method, given the ID. For internal use only. + + The ID of the generated method. + A GeneratedMethodInfo instance. + + + + Saves the given generated method and returns an ID. For internal use only. + + The generated method to save. + The ID that was associated with the generated method. + + + + Represents the information needed to compile global or eval script into a method. + + + + + Creates a new EvalMethodGenerator instance. + + The script code to execute. + Options that influence the compiler. + + + + + + + + + + Gets a name for the generated method. + + A name for the generated method. + + + + Represents a delegate that is used for global code. For internal use only. + + The script engine, scope and 'this' value. + The result of calling the method. + + + + Retrieves a delegate for the generated method. + + The delegate type that matches the method parameters. + + + + Parses the source text into an abstract syntax tree. + + + + + Generates IL for the script. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Executes the script. + + The script engine to use to execute the script. + The scope of the calling code. + The value of the "this" keyword in the calling code. + The result of evaluating the script. + + + + Represents the unit of compilation. + + + + + Creates a new MethodGenerator instance. + + The source of javascript code. + Options that influence the compiler. + + + + Gets a reference to any compiler options. + + + + + Gets the source of javascript code. + + + + + Gets a value that indicates whether strict mode is enabled. + + + + + Gets the root node of the abstract syntax tree. This will be null until Parse() + is called. + + + + + Gets the top-level scope. This will be null until Parse() is called. + + + + + Gets or sets optimization information. + + + + + Gets the generated IL. This will be null until GenerateCode() is + called. + + + + + Gets a delegate to the emitted dynamic method, plus any dependencies. This will be + null until GenerateCode() is called. + + + + + Gets a name for the generated method. + + A name for the generated method. + + + + Gets a name for the function, as it appears in the stack trace. + + A name for the function, as it appears in the stack trace, or null if + this generator is generating code in the global scope. + + + + Gets an array of types - one for each parameter accepted by the method generated by + this context. + + An array of parameter types. + + + + Gets an array of names - one for each parameter accepted by the method being generated. + + An array of parameter names. + + + + Retrieves a delegate for the generated method. + + The delegate type that matches the method parameters. + + + + Parses the source text into an abstract syntax tree. + + + + + Optimizes the abstract syntax tree. + + + + + Generates IL for the script. + + + + + Generates IL for the script. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Represents the base class of expressions and statements. + + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Determines if this node or any of this node's children are of the given type. + + The type of AstNode to search for. + true if this node or any of this node's children are of the given + type; false otherwise. + + + + Generates CIL for the expression. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Indicates that multiple operators of this type are grouped left-to-right. + + + + + Indicates that multiple operators of this type are grouped right-to-left. + + + + + Indicates that a value is consumed to the left of the primary token. + + + + + Indicates that a value is consumed to the right of the primary token. + + + + + Indicates that values to the left and right of the primary token are consumed. + + + + + Indicates that a value is consumed to the right of the secondary token. + + + + + Indicates that three values are consumed. + + + + + Indicates the inner operand is optional. Only used with the function call operator. + + + + + Represents the type of operator. + + + + + Represents a JavaScript operator. + + + + + Creates a new operator instance. + + The token that corresponds to this operator. If the operator consists + of multiple tokens (e.g. ?:) then this is the first token in the sequence. + An integer that indicates the order of evaluation. Higher + precedence operators are evaluated first. + A value that indicates where operands are allowed. + Gets a value that indicates whether multiple operators of this + type are grouped left-to-right or right-to-left. + The type of operator: this decides what algorithm to use to calculate the result. + The second token in the sequence. + The precedence for the secondary or tertiary operand. + + + + Gets the type of operator: this decides what algorithm to use to calculate the result. + + + + + Gets the token that corresponds to this operator. If the operator consists of multiple + tokens (e.g. ?:) then this is the first token in the sequence. + + + + + For a multi-token operator, gets the second token in the sequence. + + + + + Gets an integer that indicates the order of evaluation. Higher precedence operators are + evaluated first. + + + + + Gets an integer that indicates the order of evaluation for the secondary operand. + Higher precedence operators are evaluated first. + + + + + Gets an integer that indicates the order of evaluation for the tertiary operand. + Higher precedence operators are evaluated first. + + + + + Gets a value that indicates whether multiple operators of this type are grouped + left-to-right or right-to-left. + + + + + Gets a value that indicates whether a value is consumed to the left of the primary token. + + + + + Gets a value that indicates whether a value is consumed to the right of the primary token. + + + + + Gets a value that indicates whether a value is consumed to the right of the secondary token. + Must be false if there is no secondary token. + + + + + Gets a value that indicates the inner operand is optional. Only used with the function + call operator. + + + + + Gets the maximum number of operands required by this operator. + + + + + Determines if the given number of operands is valid for this operator. + + The number of operands. + true if the given number of operands is valid for this operator; + false otherwise. + + + + Gets an enumerable collection of every defined operator. + + + + + Converts a series of tokens into an abstract syntax tree. + + + + + Creates a Parser instance with the given lexer supplying the tokens. + + The lexical analyser that provides the tokens. + Options that influence the compiler. + The context of the code (global, function or eval). + Hints about whether optimization is possible. + + + + Creates a parser that can read the body of a function. + + The parser for the parent context. + The function scope. + Hints about whether optimization is possible. + Indicates the parsing context. + A new parser. + + + + Gets the line number of the next token. + + + + + Gets the position just after the last character of the previously consumed token. + + + + + Gets the position of the first character of the next token. + + + + + Gets the path or URL of the source file. Can be null. + + + + + Gets or sets a value that indicates whether the parser is operating in strict mode. + + + + + The top-level scope. + + + + + Gets optimization information about the code that was parsed (Parse() must be called + first). + + + + + Indicates whether we are parsing in a function context (including constructors and class functions). + + + + + Throws an exception if the variable name is invalid. + + The name of the variable to check. + + + + Discards the current token and reads the next one. + + Indicates whether the next token can be a literal or an + operator. + + + + Indicates that the next token is identical to the given one. Throws an exception if + this is not the case. Consumes the token. + + The expected token. + + + + Indicates that the next token should be an identifier. Throws an exception if this is + not the case. Consumes the token. + + The identifier name. + + + + Returns a value that indicates whether the current position is a valid position to end + a statement. + + true if the current position is a valid position to end a statement; + false otherwise. + + + + Indicates that the next token should end the current statement. This implies that the + next token is a semicolon, right brace or a line terminator. + + + + + Sets the initial scope. + + The initial scope + + + + Helper class to help manage scopes. + + + + + Sets the current scope and returns an object which can be disposed to restore the + previous scope. + + The new scope. + An object which can be disposed to restore the previous scope. + + + + Parses javascript source code. + + An expression that can be executed to run the program represented by the + source code. + + + + Parses any statement other than a function declaration. + + true if the statement is being added to an + existing block statement, false if the statement represents a new block. + An expression that represents the statement. + + + + Parses any statement other than a function declaration, without beginning a new + statement context. + + An expression that represents the statement. + + + + Parses a block of statements. + + A BlockStatement containing the statements. + The value of a block statement is the value of the last statement in the block, + or undefined if there are no statements in the block. + + + + Parses a var, let or const statement. + + Indicates which type of statement is being parsed. Must be var, + let or const. + Indicates whether the keyword token needs to be consumed. + Indicates whether we are parsing the initial declaration + inside a for() statement. + A variable declaration statement. + + + + Parses an empty statement. + + An empty statement. + + + + Parses an if statement. + + An expression representing the if statement. + + + + Parses a do statement. + + An expression representing the do statement. + + + + Parses a while statement. + + A while statement. + + + + When parsing a for statement, used to keep track of what type it is. + + + + + Parses a for statement, for-in statement, or a for-of statement. + + A for statement, for-in statement, or a for-of statement. + + + + Parses a continue statement. + + A continue statement. + + + + Parses a break statement. + + A break statement. + + + + Parses a return statement. + + A return statement. + + + + Parses a with statement. + + An expression representing the with statement. + + + + Parses a switch statement. + + A switch statement. + + + + Parses a throw statement. + + A throw statement. + + + + Parses a try statement. + + A try-catch-finally statement. + + + + Parses a debugger statement. + + A debugger statement. + + + + Parses a function declaration. + + A statement representing the function. + + + + Parses a function declaration or a function expression. + + The type of function to parse. + The parent scope for the function. + The name of the function (can be computed at runtime). + The position of the start of the function. + Indicates the parsing context. + A function expression. + + + + Parses a comma-separated list of function arguments. + + The token that ends parsing. + A list of parsed arguments. + + + + Parses a statement consisting of an expression or starting with a label. These two + cases are disambiguated here. + + A statement. + + + + Represents a key by which to look up an operator. + + + + + Gets or sets a mapping from token -> operator. There can be at most two operators per + token (the prefix version and the infix/postfix version). + + + + + Initializes the token -> operator mapping dictionary. + + The token -> operator mapping dictionary. + + + + Finds a operator given a token and an indication whether the prefix or infix/postfix + version is desired. + + The token to search for. + true if the infix/postfix version of the operator + is desired; false otherwise. + An Operator instance, or null if the operator could not be found. + + + + Parses a javascript expression. + + One or more tokens that indicate the end of the expression. + An expression tree that represents the expression. + + + + Parses an array literal (e.g. "[1, 2]"). + + A literal expression that represents the array literal. + + + + Parses an object literal (e.g. "{a: 5}"). + + A literal expression that represents the object literal. + + + + Reads a property name, as used in object literals and class bodies. + + + Details on the property name. + + + + Parses a function expression. + + A function expression. + + + + Parses a template literal (e.g. `Bought ${count} items`). + + An expression that represents the template literal. + + + + Parses a class declaration. + + A statement representing the class. + + + + Parses a class expression. + + A class expression. + + + + Parses the body of a class declaration or a class expression. + + The name of the class (can be empty). + The base class, or null if this class doesn't inherit + from another class. + The position of the start of the function. + A class expression. + + + + Represents a single property of an object literal or a member of a class body. + + + + + Creates a new PropertyDeclaration instance. + + The property name. + The property value. + + + + The member name. Can be static or computed e.g. ['fu' + 'nc']() { }. + + + + + The value of the member. + + + + + Represents the valid prefixes that can appear before a property name. + + + + + Represents the name of a property (member), which can be + + + + + Creates a property name instance with a statically-known name. + + The statically-known name. + + + + Creates a property name instance with a name that will be computed at runtime. + + The expression that will compute the name. + + + + Indicates the property was preceeded by 'get', making this property a getter. + + + + + Indicates the property was preceeded by 'set', making this property a setter. + + + + + Indicates the property was preceeded by 'static', making this a static function + (applies to classes, not object literals). + + + + + Indicates whether the name is statically known. + + + + + If HasStaticName is true, contains the name of the property. + + + + + If HasStaticName is false, contains an expression which computes the name of the + property. + + + + + Modifies this name to include the given flags. + + The flags to add. + A new property name instance with the existing flags and the provided flags. + + + + Represents an enclosing context where variables are uniquely defined. + + + + + Represents a variable declared in a scope. + + + + + + + + + + + + Creates a new declarative scope for use inside a function body (and within function + argument default values). + + The name of the function. Can be empty for an anonymous function. + The names of each of the function arguments. Can be null. + A new DeclarativeScope instance. + + + + + + + + + + + Creates a new object scope for use inside a with statement. + + A reference to the parent scope. Can not be null. + A new ObjectScope instance. + + + + Creates a new Scope instance. + + A reference to the parent scope, or null if this is + the global scope. + The number of variables declared in this scope. + + + + + + + + + Gets a reference to the parent scope. Can be null if this is the global scope. + + + + + Gets the number of variables declared in this scope. + + + + + After GenerateScopeCreation is called, gets a variable containing the RuntimeScope + instance. Can be null if this scope contains no variables. + + + + + Indicates whether + was called. + + + + + Gets an enumerable list of the declared variables, in no particular order. + + + + + Gets a reference to the variable with the given name, in this scope or any parent + scope. + + The name of the variable to find. + The variable details, or null if the variable doesn't exist in the + scope. + + + + Returns true if the given variable has been declared in this scope. + + The name of the variable. + true if the given variable has been declared in this scope; + false otherwise. + + + + Declares a variable or function in this scope. This will be initialized with the value + of the given expression. + + The keyword that was used to declare the variable (var, let or + const). + The name of the variable. + The function value to hoist to the top of the scope. + Should be null for everything except function declarations. + A reference to the variable that was declared. + + + + Generates code that creates a new scope. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates code that pushes a RuntimeScope instance to the top of the stack. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Generates code that initializes the variable and function declarations. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Represents different types of scopes. + + + + + The top-level global scope. + + + + + A scope associated with a 'with' statement. + + + + + The top-level scope in a function. + + + + + + + + + + The scope for a non-strict mode eval() function call. + + + + + The scope for a strict mode eval() function call. + + + + + Represents a javascript block statement. + + + + + Creates a new BlockStatement instance. + + The labels that are associated with this statement. + The lexical scope associated with this block statement. + + + + Gets a list of the statements in the block. + + + + + The lexical scope associated with this block statement. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a break statement. + + + + + Creates a new BreakStatement instance. + + The labels that are associated with this statement. + + + + Gets or sets the name of the label that identifies the block to break out of. Can be + null. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a continue statement. + + + + + Creates a new ContinueStatement instance. + + The labels that are associated with this statement. + + + + Gets or sets the name of the label that identifies the loop to continue. Can be + null. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents the debugger statement. + + + + + Creates a new DebuggerStatement instance. + + The labels that are associated with this statement. + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a javascript do-while statement. + + + + + Creates a new DoWhileStatement instance. + + The labels that are associated with this statement. + + + + Gets a value that indicates whether the condition should be checked at the end of the + loop. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents an empty statement. + + + + + Creates a new EmptyStatement instance. + + The labels that are associated with this statement. + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a javascript expression statement. + + + + + Creates a new ExpressionStatement instance. By default, this expression does not + contribute to the result of an eval(). + + The underlying expression. + + + + Creates a new ExpressionStatement instance. By default, this expression does + contribute to the result of an eval(). + + The labels that are associated with this statement. + The underlying expression. + + + + Gets or sets the underlying expression. + + + + + Gets or sets a value that indicates whether the result of this statement should be + returned from an eval() call. Does not have any effect if the context is not an + EvalContext. Defaults to false. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a javascript for-in statement. + + + + + Creates a new ForInStatement instance. + + The labels that are associated with this statement. + + + + The scope that encompasses the entire loop statement. + + + + + Gets or sets a reference to mutate on each iteration of the loop. + + + + + Gets or sets the portion of source code associated with the variable. + + + + + Gets or sets an expression that evaluates to the object to enumerate. + + + + + Gets or sets the portion of source code associated with the target object. + + + + + Gets or sets the loop body. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a javascript for-of statement. + + + + + Creates a new ForOfStatement instance. + + The labels that are associated with this statement. + + + + The scope that encompasses the entire loop statement. + + + + + Gets or sets a reference to mutate on each iteration of the loop. + + + + + Gets or sets the portion of source code associated with the variable. + + + + + Gets or sets an expression that evaluates to the object to enumerate. + + + + + Gets or sets the portion of source code associated with the target object. + + + + + Gets or sets the loop body. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a javascript for statement (for-in is a separate statement). + + + + + Creates a new ForStatement instance. + + The labels that are associated with this statement. + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents an if statement. + + + + + Creates a new IfStatement instance. + + The labels that are associated with this statement. + + + + Gets or sets the condition that determines which path the code should proceed. + + + + + Gets or sets the statement that is executed if the condition is true. + + + + + Gets or sets the statement that is executed if the condition is false. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a javascript loop statement (for, for-in, while and do-while). + + + + + Creates a new LoopStatement instance. + + The labels that are associated with this statement. + + + + The scope that encompasses the entire loop statement. Only needed if there is a + declaration statement in the loop header, which means it only applies to for + statements. + + + + + Gets or sets the statement that initializes the loop variable. + + + + + Gets the var statement that initializes the loop variable. + + + + + Gets the expression that initializes the loop variable. + + + + + Gets or sets the statement that checks whether the loop should terminate. + + + + + Gets the expression that checks whether the loop should terminate. + + + + + Gets or sets the statement that increments (or decrements) the loop variable. + + + + + Gets the expression that increments (or decrements) the loop variable. + + + + + Gets or sets the loop body. + + + + + Gets a value that indicates whether the condition should be checked at the end of the + loop. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Represents a return statement. + + + + + Creates a new ReturnStatement instance. + + The labels that are associated with this statement. + + + + Gets or sets the expression to return. Can be null to return "undefined". + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a javascript statement. + + + + + Creates a new Statement instance. + + The labels that are associated with this statement. + + + + Returns a value that indicates whether the statement has one or more labels attached to + it. + + + + + Gets or sets the labels associated with this statement. + + + + + Gets or sets the portion of source code associated with this statement. For + single-line statements this encompasses the whole statement but for multi-line (block) + statements it only encompasses part of the statement. + + + + + Locals needed by GenerateStartOfStatement() and GenerateEndOfStatement(). + + + + + Gets or sets a value that indicates whether the break statement will be handled + specially by the calling code - this means that GenerateStartOfStatement() and + GenerateEndOfStatement() do not have to generate code to handle the break + statement. + + + + + Gets or sets a value that indicates whether the debugging information will be + handled specially by the calling code - this means that GenerateStartOfStatement() + and GenerateEndOfStatement() do not have to set this information. + + + + + Gets or sets a label marking the end of the statement. + + + + + Generates CIL for the start of every statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + Variables common to both GenerateStartOfStatement() and GenerateEndOfStatement(). + + + + Generates CIL for the end of every statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + Variables common to both GenerateStartOfStatement() and GenerateEndOfStatement(). + + + + Converts the statement to a string. + + A string representing this statement. + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a javascript switch statement. + + + + + Creates a new SwitchStatement instance. + + The labels that are associated with this statement. + + + + Gets or sets an expression that represents the value to switch on. + + + + + Gets a list of case clauses (including the default clause). + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a single case statement inside a switch statement. + + + + + Gets or sets an expression that must match the switch value for the case to execute. + A value of null indicates this is the default clause. + + + + + Gets a list of the statement(s) in the body of the case statement. + + + + + Represents a throw statement. + + + + + Creates a new ThrowStatement instance. + + The labels that are associated with this statement. + + + + Gets or sets an expression which evaluates to the value to throw. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a try-catch-finally statement. + + + + + Creates a new TryCatchFinallyStatement instance. + + + + + Gets or sets the statement(s) inside the try block. + + + + + Gets or sets the statement(s) inside the catch block. Can be null. + + + + + Gets or sets the name of the variable to receive the exception. Can be null if + CatchStatement is also null or if the catch variable binding was omitted. + + + + + Gets or sets the statement(s) inside the finally block. Can be null. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a javascript var, let or const statement. + + + + + Creates a new VarStatement instance. + + The labels that are associated with this statement. + The scope the variables are defined within. + + + + Gets the scope the variables are defined within. + + + + + Indicates whether this is a 'var', 'let' or 'const' declaration. + + + + + Gets a list of variable declarations. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a variable declaration. + + + + + Gets the type of declaration. + + + + + Gets the name of the variable that is being declared. + + + + + Gets or sets the initial value of the variable. Can be null. + + + + + Gets or sets the portion of source code associated with the declaration. + + + + + Represents a javascript while statement. + + + + + Creates a new WhileStatement instance. + + The labels that are associated with this statement. + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a javascript with statement. + + + + + Creates a new WithStatement instance. + + The labels that are associated with this statement. + + + + The Scope associated with the with body. This is special as "var a" weirdly refers to + the scope object, if a property named "a" exists. + + + + + Gets or sets the body of the with statement. + + + + + Generates CIL for the statement. + + The generator to output the CIL to. + Information about any optimizations that should be performed. + + + + Gets an enumerable list of child nodes in the abstract syntax tree. + + + + + Converts the statement to a string. + + The number of tabs to include before the statement. + A string representing this statement. + + + + Represents a non-runtime compiler error. + + + + + Creates a new syntax error exception. + + A description of the error. + The line number in the source file the error occurred on. + The path or URL of the source file. Can be null. + + + + Creates a new syntax error exception. + + A description of the error. + The line number in the source file the error occurred on. + The path or URL of the source file. Can be null. + The name of the function. Can be null. + + + + Gets the line number in the source file the error occurred on. Can be 0 if no + line number information is available. + + + + + Gets the path or URL of the source file. Can be null if no source information + is available. + + + + + Gets the name of the function where the exception occurred. Can be null if no + source information is available. + + + + + Represents an arbitrarily large signed integer. + + + + + Initializes a new instance of the BigInteger structure using a 32-bit signed integer + value. + + A 32-bit signed integer. + + + + Initializes a new instance of the BigInteger structure using a 64-bit signed integer + value. + + A 64-bit signed integer. + + + + Gets a value that represents the number zero (0). + + + + + Gets a value that represents the number one (1). + + + + + Gets a number that indicates the sign (negative, positive or zero) of the current + BigInteger object. + + + + + Adds two BigInteger values and returns the result. + + The first value to add. + The second value to add. + The sum of and . + + + + Returns the product of two BigInteger values. + + The first number to multiply. + The second number to multiply. + The product of the and + parameters. + + + + Subtracts one BigInteger value from another and returns the result. + + The value to subtract from. + The value to subtract. + The result of subtracting from + . + + + + Shifts a BigInteger value a specified number of bits to the left. + + The value whose bits are to be shifted. + The number of bits to shift to the left. + Can be negative to shift to the right. + A value that has been shifted to the left by the specified number of bits. + + + + Shifts a BigInteger value a specified number of bits to the right. + + The value whose bits are to be shifted. + The number of bits to shift to the right. + A value that has been shifted to the right by the specified number of bits. + Can be negative to shift to the left. + Note: unlike System.Numerics.BigInteger, negative numbers are treated + identically to positive numbers. + + + + Multiply by m and add a. + + + + + + + + + Computes b x 5 ^ k. + + + + + + + + Returns -1 if a < b, 0 if they are the same, or 1 if a > b. + + + + + + + + Negates a specified BigInteger value. + + The value to negate. + The result of the parameter multiplied by negative + one (-1). + + + + Modifies the given values so they are suitable for passing to Quorem. + + The number that will be divided. + The number to divide by. + + + + Modifies the given values so they are suitable for passing to Quorem. + + The number that will be divided. + The number to divide by. + Another value involved in the division. + + + + Calculates the integer result of dividing by + then sets to the remainder. + + The number that will be divided. + The number to divide by. + The integer that results from dividing by + . + + + + Decrements the current value of the BigInteger object. + + + + + Equivalent to BigInteger.Pow but with integer arguments. + + The number to be raised to a power. + The number that specifies the power. + The number raised to the power + . + + + + Gets the absolute value of a BigInteger object. + + A number. + The absolute value of . + + + + Returns the logarithm of a specified number in a specified base. + + A number whose logarithm is to be found. + The base of the logarithm. + The base logarithm of . + + + + Returns a value that indicates whether the current instance and a specified BigInteger + object have the same value. + + The object to compare. + true if this BigInteger object and have the + same value; otherwise, false. + + + + Returns the hash code for the current BigInteger object. + + A 32-bit signed integer hash code. + + + + Converts the string representation of a number to its BigInteger equivalent. + + A string that contains the number to convert. + A value that is equivalent to the number specified in the + parameter. + + + + Converts the numeric value of the current BigInteger object to its equivalent string + representation. + + The string representation of the current BigInteger value. + + + + Returns a new instance BigInteger structure from a 64-bit double precision floating + point value. + + A 64-bit double precision floating point value. + The corresponding BigInteger value. + + + + Returns a double that corresponds to the BigInteger value. + + A double that corresponds to the BigInteger value. + + + + Returns the number of leading zero bits in the given 32-bit integer. + + A 32-bit integer. + The number of leading zero bits in the given 32-bit integer. Returns + 32 if is zero. + + + + Used to indicate that the script engine should run in compatibility mode. + + + + + Indicates that the script engine should run in the most standards compliant mode. + + + + + Indicates that the script engine should conform to the ECMAScript 3 specification. + This has the following effects: + 1. "this" is converted to an object at the call site of function calls. + 2. parseInt() parses octal numbers without requiring an explicit radix. + 3. NaN, undefined and Infinity can be modified. + 4. The list of keywords is much longer (for example, 'abstract' is a keyword). + + + + + Represents the result of compiling a script. + + + + + Compiles source code into a quickly executed form, using the given compiler options. + + The javascript source code to execute. + Compiler options, or null to use the default options. + A CompiledScript instance, which can be executed as many times as needed. + is a null reference. + + + + Gets the body of the generated method in the form of disassembled IL code. Will be + null unless was set to + true. + + + + + Executes the compiled eval code. + + The script engine to use to execute the script. + The result of the eval. + is a null reference. + + + + Represents the result of compiling a script. + + + + + Compiles source code into a quickly executed form, using the given compiler options. + + The javascript source code to execute. + Compiler options, or null to use the default options. + A CompiledScript instance, which can be executed as many times as needed. + is a null reference. + + + + Gets the body of the generated method in the form of disassembled IL code. Will be + null unless was set to + true. + + + + + Executes the compiled script. + + The script engine to use to execute the script. + is a null reference. + + + + Represents a string that supports efficient concatenation. This class is used instead of + when two strings are concatenated together using the addition + operator (+) or the concat() function. Use of this class avoids the creation of useless + intermediary strings and by doing so speeds up string concatenation dramatically + (this change improved sunspider/string-validate-input.js by almost 20x). + + + + + Creates a new ConcatenatedString instance from the given string. + + The initial contents of the concatenated string. + + + + Creates a new ConcatenatedString instance by concatenating the given strings. + + The left-most string to concatenate. + The right-most string to concatenate. + + + + Creates a new ConcatenatedString instance by concatenating the given strings. + + The strings to concatenate to form the initial value for this + object. The array must not be altered after passing it to this constructor. + + + + Gets the length, in characters, of the ConcatenatedString object. + + + + + Returns a new ConcatenatedString instance containing the concatenation of this ConcatenatedString + and the given object (converted to a string). + + The object to append to this string. + A new ConcatenatedString instance representing the concatenated string. + + + + Returns a new ConcatenatedString instance containing the concatenation of this ConcatenatedString + and the given string. + + The string to append. + A new ConcatenatedString instance representing the concatenated string. + + + + Returns a new ConcatenatedString instance containing the concatenation of this ConcatenatedString + and the given string. + + The string to append. + A new ConcatenatedString instance representing the concatenated string. + + + + Appends the given object (converted to a string) to the end of this object. + + The object to append. + + + + Appends the given string to the end of this object. + + The string to append. + + + + Appends the given string to the end of this object. + + The string to append. + + + + Returns a string representing the current object. + + A string representing the current object. + + + + Represents a wrapper for javascript error objects. + + + + + Creates a new JavaScriptException instance based on the given object. + + The javascript object that was thrown. + + + + Creates a new JavaScriptException instance based on the given object. + + The javascript object that was thrown. + The line number in the source file the error occurred on. + The path or URL of the source file. Can be null. + The name of the function. Can be null. + + + + Creates a new JavaScriptException instance. + + The type of error, e.g. Error, RangeError, etc. + A description of the error. + + + + Creates a new JavaScriptException instance. + + The type of error, e.g. Error, RangeError, etc. + A description of the error. + The exception that is the cause of the current exception, + or null if no inner exception is specified. + + + + Creates a new JavaScriptException instance. + + The type of error, e.g. Error, RangeError, etc. + A description of the error. + The line number in the source file the error occurred on. + The path or URL of the source file. Can be null. + + + + Creates a new JavaScriptException instance. + + The type of error, e.g. Error, RangeError, etc. + A description of the error. + The line number in the source file the error occurred on. + The path or URL of the source file. Can be null. + The exception that is the cause of the current exception, + or null if no inner exception is specified. + + + + Creates a new JavaScriptException instance. + + The type of error, e.g. Error, RangeError, etc. + A description of the error. + The line number in the source file the error occurred on. + The path or URL of the source file. Can be null. + The name of the function. Can be null. + + + + Gets a reference to the JavaScript Error object. + + + + + Gets the type of error, e.g. ErrorType.TypeError or ErrorType.SyntaxError. + + + + + The error message, excluding the error type. + + + + + Gets the line number in the source file the error occurred on. Can be 0 if no + line number information is available. + + + + + Gets the path or URL of the source file. Can be null if no source information + is available. + + + + + Gets the name of the function where the exception occurred. Can be null if no + source information is available. + + + + + Gets a reference to the script engine associated with this object. Will be null + for statements like "throw 2". + + + + + Returns the error instance associated with this exception. + + The script engine used to create the error object. + A new Error instance. + + + + Represents the JavaScript "null" type and provides the one and only instance of that type. + + + + + Creates a new Null instance. + + + + + Gets the one and only "null" instance. + + + + + Returns a string representing the current object. + + A string representing the current object. + + + + Converts numbers into strings. + + + + + Used to specify the type of number formatting that should be applied. + + + + + Specifies that the shortest number that accurately represents the number should be + displayed. Scientific notation is used if the exponent is less than -6 or greater + than twenty. The precision parameter has no semantic meaning. + + + + + Specifies that a fixed number of significant figures should be displayed (specified + by the precision parameter). If the number cannot be displayed using the given + number of digits, scientific notation is used. + + + + + Specifies that a fixed number of digits should be displayed after the decimal place + (specified by the precision parameter). Scientific notation is used if the + exponent is greater than twenty. + + + + + Specifies that numbers should always be displayed in scientific notation. The + precision parameter specifies the number of figures to display after the decimal + point. + + + + + Converts a number to a string. + + The value to convert to a string. + The base of the number system to convert to. + The type of formatting to apply. + + This value is dependent on the formatting style: + Regular - this value has no meaning. + Precision - the number of significant figures to display. + Fixed - the number of figures to display after the decimal point. + Exponential - the number of figures to display after the decimal point. + + + + + Converts a number to a string. + + The value to convert to a string. + The base of the number system to convert to. + The number format style to use. + The type of formatting to apply. + + This value is dependent on the formatting style: + Regular - this value has no meaning. + Precision - the number of significant figures to display. + Fixed - the number of figures to display after the decimal point. + Exponential - the number of figures to display after the decimal point. + + + + + Calculates the minimum increment that creates a number distinct from the value that was + provided. The error for the number is plus or minus half the result of this method + (note that the number returned by this method may be so small that dividing it by two + produces zero). + + The number to calculate an error value for. + The minimum increment that creates a number distinct from the value that was + provided. + + + + Scales the given double-precision number by multiplying and then shifting it. + + The value to scale. + The multiplier. + The power of two scale factor. + A BigInteger containing the result of multiplying by + and then shifting left by bits. + + + + Counts the number of trailing zero bits in the given 64-bit value. + + The 64-bit value. + The number of trailing zero bits in the given 64-bit value. + + + + Calculates (int)Math.Floor(Math.Log(value, radix)). + + The value to calculate the log for. + 10 for base-10. + The logarithm of the provided value, rounded down to the nearest integer. + + + + Parses strings into numbers. + + + + + Converts a string to a number (used by parseFloat). + + The string to convert. + The result of parsing the string as a number. + + + + Converts a string to a number (used in type coercion). + + The result of parsing the string as a number. + + + + Parses a number and returns the corresponding double-precision value. + + The reader to read characters from. + The first character of the number. Must be 0-9 or a period. + Upon returning, contains the type of error if one occurred. + + + The numeric value, or NaN if the number is invalid. + + + + Converts a string to an integer (used by parseInt). + + The input text to parse. + The numeric base to use for parsing. Pass zero to use base 10 + except when the input string starts with '0' in which case base 16 or base 8 are used + instead. + true if numbers with a leading zero should be parsed + as octal numbers. + The result of parsing the string as a integer. + + + + Parses a hexidecimal number and returns the corresponding double-precision value. + + The reader to read characters from. + The numeric value, or NaN if the number is invalid. + + + + Parses a octal number and returns the corresponding double-precision value. + + The reader to read characters from. + The numeric value, or NaN if the number is invalid. + + + + Parses a binary number and returns the corresponding double-precision value. + + The reader to read characters from. + The numeric value, or NaN if the number is invalid. + + + + Determines if the given character is whitespace or a line terminator. + + The unicode code point for the character. + true if the character is whitespace or a line terminator; false + otherwise. + + + + Modifies the initial estimate until the closest double-precision number to the desired + value is found. + + The initial estimate. Assumed to be very close to the + result. + The power-of-ten scale factor. + The desired value, already scaled using the power-of-ten + scale factor. + The closest double-precision number to the desired value. If there are two + such values, the one with the least significant bit set to zero is returned. + + + + Adds ULPs (units in the last place) to the given double-precision number. + + The value to modify. + The number of ULPs to add. Can be negative. + The modified number. + + + + Scales the given double-precision number by multiplying and then shifting it. + + The value to scale. + The multiplier. + The power of two scale factor. + A BigInteger containing the result of multiplying by + and then shifting left by bits. + + + + Represents the JavaScript script engine. This is the first object that needs to be + instantiated in order to execute javascript code. + + + + + Initializes a new scripting environment. + + + + + Implements the behaviour of the function that is the prototype of the Function object. + + + + + + + + + Gets or sets a value that indicates whether to force ECMAScript 5 strict mode, even if + the code does not contain a strict mode directive ("use strict"). The default is + false. + + + + + Gets or sets a value that indicates whether the script engine should run in + compatibility mode. + + + + + Gets or sets a value that indicates whether to disassemble any generated IL and store it + in the associated function. + + + + + Get or sets a value that indicates the maximum recursion depth of user-defined + functions that is allowed by this script engine. + When a user-defined function exceeds the recursion depth limit, a + will be thrown. + The default value is 0, which allows unlimited recursion. + + + + + Represents a method that transforms a stack frame when formatting the stack trace. + + + + + + Gets or sets a delegate that transforms a stack frame when + formatting the stack trace for . + This can be useful if you are using a source map to map generated lines + to source lines and the stack trace should contain the source line numbers. + + + + + The instance prototype of the Function object (i.e. Function.InstancePrototype). + + + This property solves a circular reference in the initialization, plus it speeds up + initialization. + + + + + The prototype shared by all iterators. + + + + + The prototype of all string iterators. + + + + + The prototype of all map iterators. + + + + + The prototype of all set iterators. + + + + + The prototype of all array iterators. + + + + + Gets the built-in global object. This object is implicitly accessed when creating + global variables and functions. + + + + + Gets the built-in Array object. + + + + + Gets the built-in Boolean object. + + + + + Gets the built-in Date object. + + + + + Gets the built-in Function object. + + + + + Gets the built-in Map object. + + + + + Gets the built-in Math object. + + + + + Gets the built-in Number object. + + + + + Gets the built-in Object object. + + + + + Gets the built-in Promise object. + + + + + Gets the built-in Proxy object. + + + + + Gets the built-in Reflect object. + + + + + Gets the built-in RegExp object. + + + + + Gets the built-in String object. + + + + + Gets the built-in String object. + + + + + Gets the built-in Symbol object. + + + + + Gets the built-in WeakMap object. + + + + + Gets the built-in WeakSet object. + + + + + Gets the built-in Error object. + + + + + Gets the built-in RangeError object. + + + + + Gets the built-in TypeError object. + + + + + Gets the built-in SyntaxError object. + + + + + Gets the built-in URIError object. + + + + + Gets the built-in EvalError object. + + + + + Gets the built-in ReferenceError object. + + + + + Gets the built-in ArrayBuffer object. + + + + + Gets the built-in DataView object. + + + + + Gets the built-in Int8Array object. + + + + + Gets the built-in Uint8Array object. + + + + + Gets the built-in Uint8ClampedArray object. + + + + + Gets the built-in Int16Array object. + + + + + Gets the built-in Uint16Array object. + + + + + Gets the built-in Int32Array object. + + + + + Gets the built-in Uint32Array object. + + + + + Gets the built-in Float32Array object. + + + + + Gets the built-in Float64Array object. + + + + + Gets or sets whether CLR types can be exposed directly to the script engine. If this is set to + false, attempting to instantiate CLR types from script may result in exceptions being + thrown in script. + + + This property is intended to prevent script developers from accessing the entire CLR + type system, for security purposes. When this property is set to false, it should prevent + new instances of CLR types from being exposed to the script engine, even if you have already + exposed CLR types to the script engine. + + + + + Compiles the given source code and returns it in a form that can be executed many + times. + + The javascript source code to execute. + A CompiledScript instance, which can be executed as many times as needed. + is a null reference. + + + + Executes the given source code. Execution is bound to the global scope. + + The javascript source code to execute. + The result of executing the source code. + is a null reference. + + + + Executes the given source code. Execution is bound to the global scope. + + The type to convert the result to. + The javascript source code to execute. + The result of executing the source code. + is a null reference. + + + + Executes the given source code. Execution is bound to the global scope. + + The javascript source code to execute. + The result of executing the source code. + is a null reference. + + + + Executes the given source code. Execution is bound to the global scope. + + The type to convert the result to. + The javascript source code to execute. + The result of executing the source code. + is a null reference. + + + + Executes the given source code. Execution is bound to the global scope. + + The javascript source code to execute. + + + + Executes the given file. If the file does not have a BOM then it is assumed to be UTF8. + Execution is bound to the global scope. + + The path to a javascript file. This can be a local file path or a + UNC path. + is a null reference. + + + + Executes the given file. Execution is bound to the global scope. + + The path to a javascript file. This can be a local file path or a + UNC path. + The character encoding to use if the file lacks a byte order + mark (BOM). + is a null reference. + + + + Executes the given source code. Execution is bound to the global scope. + + The javascript source code to execute. + is a null reference. + + + + Verifies the generated byte code. + + + + + Creates a CompilerOptions instance using the script engine properties. + + A populated CompilerOptions instance. + + + + Gets a value that indicates whether the global variable with the given name is defined. + + The name of the variable to check. + true if the given variable has a value; false otherwise. + Note that a variable that has been set to undefined is still + considered to have a value. + + + + Gets the value of the global variable with the given name. + + The name of the variable to retrieve the value for. + The value of the global variable, or null otherwise. + + + + Gets the value of the global variable with the given name and coerces it to the given + type. + + The type to coerce the value to. + The name of the variable to retrieve the value for. + The value of the global variable, or null otherwise. + Note that null is coerced to the following values: false (if + is bool), 0 (if is int + or double), string.Empty (if is string). + + + + Sets the value of the global variable with the given name. If the property does not + exist, it will be created. + + The name of the variable to set. + The desired value of the variable. This must be of a supported + type (bool, int, double, string, Null, Undefined or a ObjectInstance-derived type). + The property is read-only or the property does + not exist and the object is not extensible. + + + + Calls a global function and returns the result. + + The name of the function to call. + The argument values to pass to the function. + The return value from the function. + + + + Calls a global function and returns the result. + + The type to coerce the value to. + The name of the function to call. + The argument values to pass to the function. + The return value from the function, coerced to the given type. + + + + Sets the global variable with the given name to a function implemented by the provided + delegate. + + The name of the global variable to set. + The delegate that will implement the function. + + + + Fires when the compiler starts parsing javascript source code. + + + + + Fires when the compiler starts optimizing. + + + + + Fires when the compiler starts generating byte code. + + + + + Fires when the compiler starts running javascript code. + + + + + Gets an empty schema. + + + + + Evaluates the given javascript source code and returns the result. + + The source code to evaluate. + The containing scope. + The value of the "this" keyword in the containing scope. + Indicates whether the eval statement is being called from + strict mode code. + The value of the last statement that was executed, or undefined if + there were no executed statements. + + + + Creates a stack trace. + + The name of the error (e.g. "ReferenceError"). + The error message. + The path of the javascript source file that is currently executing. + The name of the currently executing function. + The line number of the statement that is currently executing. + + + + Appends a stack frame to the end of the given StringBuilder instance. + + The StringBuilder to append to. + The path of the javascript source file. + The name of the function. + The line number of the statement. + The method by which the current stack frame was created. + + + + Pushes a frame to the javascript stack. This needs to be called every time there is a + function call. + + The path of the javascript source file that contains the function. + The name of the function that is calling another function. + The line number of the function call. + The type of call that is being made. + + + + Pops a frame from the javascript stack. + + + + + Checks if the given is catchable by JavaScript code with a + catch clause. + Note: This method is public for technical reasons only and should not be used by user code. + + The exception to check. + true if the is catchable, false otherwise + + + + Gets a dictionary that can be used to cache ClrInstanceTypeWrapper instances. + + + + + Gets a dictionary that can be used to cache ClrStaticTypeWrapper instances. + + + + + Returns a cached template array, suitable for passing to a tag function. + + The cache key that identifies the array to return. + The cached template array, or null if no array with the given cache + key has been cached. + + + + Caches a template array using the given cache key. + + The cache key that identifies the array to cache. + The cached value. + + + + Appends a callback that will be executed at the end of script execution. + + The callback function. + + + + This method is called at the end of script execution in order to execute pending + callbacks registered with . + + + + + Clears (and does not execute) all queued post-execute actions. + + + + + Adds a callback to the end of the event queue. + + The action to enqueue. + This method is thread-safe. + + + + The number of queued actions in the event queue. + + + + + Removes the first available action from the event queue, and executes it. + + true if an event queue action was executed, false if the event + queue was empty. + + This method is meant to be called in a loop, like this: + + while (scriptEngine.ExecuteNextEventQueueAction()) { } + + If an exception is thrown, you should assume that the action was successfully removed + from the queue. This means can be called + again without triggering the same exception. + + + + + Represents a script file. + + + + + Creates a new FileScriptSource instance. + + The path of the script file. + The character encoding to use if the file lacks a byte order + mark (BOM). If this parameter is omitted, the file is assumed to be UTF8. + + + + Gets the path of the source file (either a path on the file system or a URL). This + can be null if no path is available. + + + + + Returns a reader that can be used to read the source code for the script. + + A reader that can be used to read the source code for the script, positioned + at the start of the source code. + If this method is called multiple times then each reader must return the + same source code. + + + + Represents a resource that can provide script code. This is the abstract base class of all + the script providers. + + + + + Gets the path of the source file (either a path on the file system or a URL). This + can be null if no path is available. + + + + + Returns a reader that can be used to read the source code for the script. + + A reader that can be used to read the source code for the script, positioned + at the start of the source code. + If this method is called multiple times then each reader must return the + same source code. + + + + Reads the source code within the given span. + + The start and end positions within the source code. + The source code within the given span. + + + + Represents a string containing script code. + + + + + Creates a new StringScriptSource instance. + + The script code. + + + + Creates a new StringScriptSource instance. + + The script code. + The path of the file the script code was retrieved from. + + + + Gets the path of the source file (either a path on the file system or a URL). This + can be null if no path is available. + + + + + Returns a reader that can be used to read the source code for the script. + + A reader that can be used to read the source code for the script, positioned + at the start of the source code. + If this method is called multiple times then each reader must return the + same source code. + + + + Contains stack frame properties which can be transformed when formatting the + stack trace. + + + + + Gets or sets a value that indicates if the stack frame represented by + this should be suppressed, so that + it is not displayed in the stack trace. + The default value is false. + + + + + Gets or sets the line number. A value of 0 means the line number + is unknown. + + + + + Gets or sets the path of the javascript script file. A value of + null means that the path is unknown. + + + + + Gets or sets the name of the function. A value of null or + the empty string ("") means that the path is unknown. + + + + + Contains handy string routines. + + + + + Concatenates a specified separator string between each element of a specified string + array, yielding a single concatenated string. + + The type of the members of + The string to use as a separator. + A collection that contains the objects to concatenate. + A string that consists of the members of delimited + by the string. + + + + Implements the JavaScript equality and comparison rules. + + + + + Compares two objects for equality. Used by the equality operator (==). + + The first object to compare. + The first object to compare. + true if the objects are identical; false otherwise. + + + + Compares two objects for equality. Used by the strict equality operator (===). + + The first object to compare. + The second object to compare. + true if the objects are identical; false otherwise. + + With this algorithm: + 1. NaN is not considered equal to NaN. + 2. +0 and -0 are considered to be equal. + + + + + Determines the ordering of two objects. Used by the less than operator (<). + + The first object to compare. + The second object to compare. + true if is less than ; + false otherwise. + + + + Determines the ordering of two objects. Used by the less than or equal operator (<=). + + The first object to compare. + The second object to compare. + true if is less than or equal to + ; false otherwise. + + + + Determines the ordering of two objects. Used by the greater than operator (>). + + The first object to compare. + The second object to compare. + true if is greater than ; + false otherwise. + + + + Determines the ordering of two objects. Used by the greater than or equal operator (>=). + + The first object to compare. + The second object to compare. + true if is greater than or equal to + ; false otherwise. + + + + Implements the SameValue algorithm. + + The first object to compare. + The second object to compare. + true if the objects are the same value according to the SameValue + algorithm. + + With this algorithm: + 1. NaN is considered equal to NaN. + 2. +0 and -0 are considered to be different. + + + + + Implements the SameValueZero algorithm. + + The first object to compare. + The second object to compare. + true if the objects are the same value according to the SameValueZero + algorithm. + + With this algorithm: + 1. NaN is considered equal to NaN. + 2. +0 and -0 are considered to be equal. + + + + + Provides a hint on how to do the conversion when converting to a primitive. + + + + + Use the default behaviour. + + + + + Prefer converting to a number. + + + + + Prefer converting to a string. + + + + + Implements the JavaScript type conversion rules. + + + + + Converts the given value to the given type. + + The script engine used to create new objects. + The value to convert. + The type to convert the value to. + The converted value. + + + + Converts the given value to the given type. + + The script engine used to create new objects. + The value to convert. + The type to convert the value to. + The converted value. + + + + Converts any JavaScript value to a primitive boolean value. + + The value to convert. + A primitive boolean value. + + + + Converts any JavaScript value to a primitive number value. + + The value to convert. + A primitive number value. + + + + Converts any JavaScript value to a primitive string value. + + The value to convert. + A primitive string value. + + + + Converts any JavaScript value to a primitive string value. + + The value to convert. + The value to return if the input is undefined. + A primitive string value. + + + + Converts any JavaScript value to a concatenated string value. + + The value to convert. + A concatenated string value. + + + + Converts any JavaScript value to an object. + + The script engine used to create new objects. + The value to convert. + An object. + + + + Converts any JavaScript value to an object. + + The script engine used to create new objects. + The value to convert. + The line number in the source file the error occurred on. + The path or URL of the source file. Can be null. + The name of the function. Can be null. + An object. + + + + Converts any JavaScript value to an object. + + The script engine used to create new objects. + The value to convert. + An object. + + + + Converts any JavaScript value to a primitive value. + + The value to convert. + Specifies whether toString() or valueOf() should be + preferred when converting to a primitive. + A primitive (non-object) value. + + + + Converts a value to a property key (either a string or a symbol). + + The value to convert. + A property key value. + + + + Converts any JavaScript value to an integer. + + The value to convert. + An integer value. + + + + Converts any JavaScript value to a 32-bit integer. + + The value to convert. + A 32-bit integer value. + + + + Converts any JavaScript value to an unsigned 32-bit integer. + + The value to convert. + An unsigned 32-bit integer value. + + + + Converts any JavaScript value to a signed 16-bit integer. + + The value to convert. + A signed 16-bit integer value. + + + + Converts any JavaScript value to an unsigned 16-bit integer. + + The value to convert. + An unsigned 16-bit integer value. + + + + Converts any JavaScript value to a signed 8-bit integer. + + The value to convert. + A signed 8-bit integer value. + + + + Converts any JavaScript value to an unsigned 8-bit integer. + + The value to convert. + An unsigned 8-bit integer value. + + + + Utility method to convert an object array to a typed array. + + The type to convert to. + The script engine used to create new objects. + The array to convert. + The number of elements to skip at the beginning of the array. + A typed array. + + + + Contains type-related functionality that isn't conversion or comparison. + + + + + Gets the type name for the given object. Used by the typeof operator. + + The object to get the type name for. + The type name for the given object. + + + + Returns true if the given value is undefined. + + The object to check. + true if the given value is undefined; false otherwise. + + + + Returns true if the given value is a supported numeric type. + + The object to check. + true if the given value is a supported numeric type; false + otherwise. + + + + Returns true if the given value is a supported string type. + + The object to check. + true if the given value is a supported string type; false + otherwise. + + + + Converts the given value into a standard .NET type, suitable for returning from an API. + + The value to normalize. + The value as a standard .NET type. + + + + Enumerates the names of the enumerable properties on the given object, including + properties defined on the object's prototype. Used by the for-in statement. + + The script engine used to convert the given value to an object. + The object to enumerate. + An enumerator that iteratively returns property names. + + + + Adds two objects together, as if by the javascript addition operator. + + The left hand side operand. + The right hand side operand. + Either a number or a concatenated string. + + + + Determines if the given value is a supported JavaScript primitive. + + The value to test. + true if the given value is a supported JavaScript primitive; + false otherwise. + + + + Determines if the given value is a supported JavaScript primitive or derives from + ObjectInstance. + + The value to test. + true if the given value is a supported JavaScript primitive or derives + from ObjectInstance; false otherwise. + + + + Throws a TypeError when the given value is null or undefined. + + The associated script engine. + The value to check. + The name of the function which is doing the check. + + + + Utility method for create a slice of an array. + + The array to slice. + The offset to begin the resulting array. + An array containing the input array elements, excluding the first + entries. + + + + Determines if the given number is negative zero. + + The value to test. + true if the value is negative zero; false otherwise. + + + + Determines if the given number is positive zero. + + The value to test. + true if the value is positive zero; false otherwise. + + + + Converts an iteratable object into a iterator by looking up the @@iterator property, + then calling that value as a function. + + The script engine. + The object to get a iterator from. + An iterator object, with a next function, or null if the iterator + symbol value is undefined or null. + + + + Creates an iterator object that can iterate over a .NET enumerable collection. The + returned object also supports the iterable protocol, meaning it can be used in a for-of + loop. + + The script engine to associate the new object with. + The enumerable collection. The item type must be a supported + type. + An iterator object that also supports the iterable protocol. + + + + Converts an iteratable object into a iterator by looking up the @@iterator property, + then calling that value as a function. Throws an exception if the object isn't iterable. + + The script engine. + The object to get a iterator from. + An iterator object, with a next function. + + + + Iterate over the values in an iterator. + + The script engine. + The iterator object. Must contain a next function. + An enumerable list of iterator values. + + + + Implements the logic for the for-of operator. + + The script engine. + The object to get a iterator from. + An enumerable list of iterator values. + + + + Create an array whose elements are provided by the indexed properties of an array-like object. + + The array-like object to convert. + An array. + + + + Retrieves the constructor that should be used to create new objects that are derived + from the argument object . + + The object to check. + The constructor to return if no @@species property + can be found. + A constructor that can be used to create new objects. + + + + Represents the JavaScript "undefined" type and provides the one and only instance of that type. + + + + + Creates a new Undefined instance. + + + + + Gets the one and only "undefined" instance. + + + + + Returns a string representing the current object. + + A string representing the current object. + + + + Implements the array algorithms that are shared between arrays and typed arrays. + + + + + Creates a new ArrayWrapper instance. + + The array-like object that is being wrapped. + The number of elements in the array. + + + + The current scripting environment. + + + + + The array-like object that is being wrapped. + + + + + The number of elements in the array. + + + + + Gets or sets an array element within the range 0 .. Length-1 (inclusive). + + The index to get or set. + The value at the given index. + + + + Deletes the value at the given array index, throwing an exception on error. + + The array index to delete. + + + + Indicates whether the array index exists (has a value). + + The index to check. + true if the index exists, false otherwise. + + + + Creates a new array of the same type as this one. + + The values in the new array. + A new array object. + + + + Convert an untyped value to a typed value. + + The value to convert. + The value converted to type . + + + + Concatenates all the elements of the array, using the specified separator between each + element. If no separator is provided, a comma is used for this purpose. + + The string to use as a separator. + A string that consists of the element values separated by the separator string. + + + + Reverses the order of the elements in the array. + + The array that is being operated on. + + + + Returns a section of an array. + + The index of the first element in the section. If this value is + negative it is treated as an offset from the end of the array. + The index of the element just past the last element in the section. + If this value is negative it is treated as an offset from the end of the array. If + is less than or equal to then an empty + array is returned. + A section of an array. + + + + Sorts the array. + + A comparison function. + The array that was sorted. + + + + Returns a locale-specific string representing this object. + + A locale-specific string representing this object. + + + + Returns a string representing this object. + + A string representing this object. + + + + Returns the index of the given search element in the array, starting from + . + + The value to search for. + The array index to start searching. + The index of the given search element in the array, or -1 if the + element wasn't found. + + + + Returns the index of the given search element in the array, searching backwards from + . + + The value to search for. + The array index to start searching. + The index of the given search element in the array, or -1 if the + element wasn't found. + + + + Determines if every element of the array matches criteria defined by the given user- + defined function. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + true if every element of the array matches criteria defined by the + given user-defined function; false otherwise. + + + + Determines if at least one element of the array matches criteria defined by the given + user-defined function. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + true if at least one element of the array matches criteria defined by + the given user-defined function; false otherwise. + + + + Calls the given user-defined function once per element in the array. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. + The value of this in the context of the callback function. + + + + Creates a new array with the results of calling the given function on every element in + this array. + + A user-defined function that is called for each element + in the array. This function is called with three arguments: the value of the element, + the index of the element, and the array that is being operated on. The value that is + returned from this function is stored in the resulting array. + The value of this in the context of the callback function. + A new array with the results of calling the given function on every element + in the array. + + + + Returns the first element in the given array that passes the test implemented by the + given function. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + The first element that results in the callback returning true. + + + + Creates a new array with the elements from this array that pass the test implemented by + the given function. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + A copy of this array but with only those elements which produce true + when passed to the provided function. + + + + Accumulates a single value by calling a user-defined function for each element. + + A user-defined function that is called for each element + in the array. This function is called with four arguments: the current accumulated + value, the value of the element, the index of the element, and the array that is being + operated on. The return value for this function is the new accumulated value and is + passed to the next invocation of the function. + The initial accumulated value. + The accumulated value returned from the last invocation of the callback + function. + + + + Accumulates a single value by calling a user-defined function for each element + (starting with the last element in the array). + + A user-defined function that is called for each element + in the array. This function is called with four arguments: the current accumulated + value, the value of the element, the index of the element, and the array that is being + operated on. The return value for this function is the new accumulated value and is + passed to the next invocation of the function. + The initial accumulated value. + The accumulated value returned from the last invocation of the callback + function. + + + + Copies the sequence of array elements within the array to the position starting at + target. The copy is taken from the index positions of the second and third arguments + start and end. The end argument is optional and defaults to the length of the array. + This method has the same algorithm as Array.prototype.copyWithin. + + Target start index position where to copy the elements to. + Source start index position where to start copying elements from. + Optional. Source end index position where to end copying elements from. + The array that is being operated on. + + + + Fills all the elements of a typed array from a start index to an end index with a + static value. + + The value to fill the typed array with. + Optional. Start index. Defaults to 0. + Optional. End index (exclusive). Defaults to the length of the array. + The array that is being operated on. + + + + Returns an index in the typed array, if an element in the typed array satisfies the + provided testing function. Otherwise -1 is returned. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + The first element that results in the callback returning true. + + + + Determines whether an array includes a certain value among its entries. + + The value to search for. + The array index to start searching. + true given search element in the array, or false if the element + wasn't found. + + + + Sorts a array using the quicksort algorithm. + + A comparison function. + The first index in the range. + The last index in the range. + + + + Sorts a array using the insertion sort algorithm. + + A comparison function. + The first index in the range. + The last index in the range. + + + + Swaps the elements at two locations in the array. + + The location of the first element. + The location of the second element. + + + + Represents the built-in javascript Array object. + + + + + Creates a new Array object. + + The next object in the prototype chain. + + + + Creates a new Array instance. + + + + + Creates a new Array instance. + + The initial elements of the new array. + + + + Creates a new Array instance. + + The prototype of the newly created array. + The initial elements of the new array. + + + + A reference to the constructor function that is used to create derived objects. + + + + + Creates a new Array instance and initializes the contents of the array. + Called when the Array object is invoked like a function, e.g. var x = Array(length). + + The initial elements of the new array. + + + + Creates a new Array instance and initializes the contents of the array. + Called when the new expression is used on this object, e.g. var x = new Array(length). + + The initial elements of the new array. + + + + Creates a new Array instance and initializes the contents of the array. + Called when the new expression is used on this object, e.g. var x = new Array(length). + + The value of the new.target expression. + The initial elements of the new array. + + + + Tests if the given value is an Array instance. + + The value to test. + true if the given value is an Array instance, false otherwise. + + + + Creates a new Array instance from a variable number of arguments. + + The difference between Array.of() and the Array constructor is in the handling of + integer arguments: Array.of(7) creates an array with a single element, 7, whereas + Array(7) creates an empty array with a length property of 7. + + The script engine to use. + The elements of the new array. + + + + The Array.from() method creates a new, shallow-copied Array instance from an array-like + or iterable object. + + The script engine to use. + An array-like or iterable object to convert to an array. + + + + + The Array.from() method creates a new, shallow-copied Array instance from an array-like + or iterable object. + + The script engine to use. + An array-like or iterable object to convert to an array. + Map function to call on every element of the array. + Value to use as this when executing . + + + + + Represents an instance of the JavaScript Array object. + + + + + Creates a new array with the given length and capacity. + + The next object in the prototype chain. + The initial value of the length property. + The number of elements to allocate. + + + + Creates a new array and initializes it with the given array. + + The next object in the prototype chain. + The initial values in the array. + + + + Creates a new array and initializes it with the given sparse array. + + The next object in the prototype chain. + The sparse array to use as the backing store. + The initial value of the length property. + + + + Creates the Array prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Gets or sets the number of elements in the array. Equivalent to the javascript + Array.prototype.length property. + + + + + Gets an enumerable list of the defined element values stored in this array. + + + + + Attempts to parse a string into a valid array index. + + The property key (either a string or a Symbol). + The array index value, or uint.MaxValue if the property name does not reference + an array index. + + + + Converts the JS array to a .NET object array. + + A .NET object array. + + + + Gets a descriptor for the property with the given array index. + + The array index of the property. + A property descriptor containing the property value and attributes. + The prototype chain is not searched. + + + + Sets the value of the property with the given array index. If a property with the + given index does not exist, or exists in the prototype chain (and is not a setter) then + a new property is created. + + The array index of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + The value of the "this" keyword inside a getter. + true to throw an exception if the property could not + be set. This can happen if the property is read-only or if the object is sealed. + false if is false and an error + occurred; true otherwise. + + + + Deletes the property with the given array index. + + The array index of the property to delete. + true to throw an exception if the property could not + be set because the property was marked as non-configurable. + true if the property was successfully deleted, or if the property did + not exist; false if the property was marked as non-configurable and + was false. + + + + Defines or redefines the value and attributes of a property. The prototype chain is + not searched so if the property exists but only in the prototype chain a new property + will be created. + + The property key of the property to modify. + The property value and attributes. + true to throw an exception if the property could not + be set. This can happen if the property is not configurable or the object is sealed. + true if the property was successfully modified; false otherwise. + + + + Gets an enumerable list of every property name associated with this object. + Does not include properties in the prototype chain. + + + + + Returns a new array consisting of the values of this array plus any number of + additional items. Values are appended from left to right. + + The array that is being operated on. + Any number of items to append. + A new array consisting of the values of this array plus any number of + additional items. + + + + Removes the last element from the array and returns it. + + The array to operate on. + The last element from the array. + + + + Removes the last element from the array and returns it. + + The last element from the array. + + + + Appends one or more elements to the end of the array. + + The array that is being operated on. + The items to append to the array. + + + + Appends one element to the end of the array. + + The item to append to the array. + + + + The first element in the array is removed from the array and returned. All the other + elements are shifted down in the array. + + The array that is being operated on. + The first element in the array. + + + + Deletes a range of elements from the array and optionally inserts new elements. + + The array that is being operated on. + An array containing the deleted elements, if any. + + + + Deletes a range of elements from the array and optionally inserts new elements. + + The array that is being operated on. + The index to start deleting from. + An array containing the deleted elements, if any. + + + + Deletes a range of elements from the array and optionally inserts new elements. + + The array that is being operated on. + The index to start deleting from. + The number of elements to delete. + The items to insert. + An array containing the deleted elements, if any. + + + + Prepends the given items to the start of the array. + + The array that is being operated on. + The items to prepend. + The new length of the array. + + + + Creates a new array with all sub-array elements concatenated into it recursively up to + the specified depth. + + The array that is being operated on. + The depth level specifying how deep a nested array structure + should be flattened. Defaults to 1. + A new array with the sub-array elements concatenated into it. + + + + Maps each element using a mapping function, then flattens the result into a new array. + + The array that is being operated on. + A function that produces an element of the new Array, taking + three arguments: currentValue, index, array. + Value to use as this when executing callback. + A new array with each element being the result of the callback function and + flattened to a depth of 1. + + + + Implements an adapter for regular JS arrays. + + + + + Creates a new ArrayInstanceWrapper instance. + + The array-like object that is being wrapped. + + + + Gets or sets an array element within the range 0 .. Length-1 (inclusive). + + The index to get or set. + The value at the given index. + + + + Deletes the value at the given array index, throwing an exception on error. + + The array index to delete. + + + + Indicates whether the array index exists (has a value). + + The index to check. + true if the index exists, false otherwise. + + + + Creates a new array of the same type as this one. + + The values in the new array. + A new array object. + + + + Convert an untyped value to a typed value. + + The value to convert. + The typed value. + + + + Concatenates all the elements of the array, using the specified separator between each + element. If no separator is provided, a comma is used for this purpose. + + The array that is being operated on. + The string to use as a separator. + A string that consists of the element values separated by the separator string. + + + + Reverses the order of the elements in the array. + + The array that is being operated on. + The array that is being operated on. + + + + Returns a section of an array. + + The array that is being operated on. + The index of the first element in the section. If this value is + negative it is treated as an offset from the end of the array. + The index of the element just past the last element in the section. + If this value is negative it is treated as an offset from the end of the array. If + is less than or equal to then an empty + array is returned. + A section of an array. + + + + Sorts the array. + + The array that is being operated on. + A function which determines the order of the + elements. This function should return a number less than zero if the first argument is + less than the second argument, zero if the arguments are equal or a number greater than + zero if the first argument is greater than Defaults to an ascending ASCII ordering. + The array that was sorted. + + + + Returns a locale-specific string representing this object. + + The array that is being operated on. + A locale-specific string representing this object. + + + + Returns a string representing this object. + + The array that is being operated on. + A string representing this object. + + + + Returns the index of the given search element in the array, starting from + . + + The array that is being operated on. + The value to search for. + The array index to start searching. + The index of the given search element in the array, or -1 if the + element wasn't found. + + + + Returns the index of the given search element in the array, searching backwards from + the end of the array. + + The array that is being operated on. + The value to search for. + The index of the given search element in the array, or -1 if the + element wasn't found. + + + + Returns the index of the given search element in the array, searching backwards from + . + + The array that is being operated on. + The value to search for. + The array index to start searching. + The index of the given search element in the array, or -1 if the + element wasn't found. + + + + Determines if every element of the array matches criteria defined by the given user- + defined function. + + The array that is being operated on. + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + true if every element of the array matches criteria defined by the + given user-defined function; false otherwise. + + + + Determines if at least one element of the array matches criteria defined by the given + user-defined function. + + The array that is being operated on. + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + true if at least one element of the array matches criteria defined by + the given user-defined function; false otherwise. + + + + Calls the given user-defined function once per element in the array. + + The array that is being operated on. + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. + The value of this in the context of the callback function. + + + + Creates a new array with the results of calling the given function on every element in + this array. + + The array that is being operated on. + A user-defined function that is called for each element + in the array. This function is called with three arguments: the value of the element, + the index of the element, and the array that is being operated on. The value that is + returned from this function is stored in the resulting array. + The value of this in the context of the callback function. + A new array with the results of calling the given function on every element + in the array. + + + + Returns the first element in the given array that passes the test implemented by the + given function. + + The array that is being operated on. + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + The first element that results in the callback returning true. + + + + Creates a new array with the elements from this array that pass the test implemented by + the given function. + + The array that is being operated on. + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + A copy of this array but with only those elements which produce true + when passed to the provided function. + + + + Accumulates a single value by calling a user-defined function for each element. + + The array that is being operated on. + A user-defined function that is called for each element + in the array. This function is called with four arguments: the current accumulated + value, the value of the element, the index of the element, and the array that is being + operated on. The return value for this function is the new accumulated value and is + passed to the next invocation of the function. + The initial accumulated value. + The accumulated value returned from the last invocation of the callback + function. + + + + Accumulates a single value by calling a user-defined function for each element + (starting with the last element in the array). + + The array that is being operated on. + A user-defined function that is called for each element + in the array. This function is called with four arguments: the current accumulated + value, the value of the element, the index of the element, and the array that is being + operated on. The return value for this function is the new accumulated value and is + passed to the next invocation of the function. + The initial accumulated value. + The accumulated value returned from the last invocation of the callback + function. + + + + Copies the sequence of array elements within the array to the position starting at + target. The copy is taken from the index positions of the second and third arguments + start and end. The end argument is optional and defaults to the length of the array. + This method has the same algorithm as Array.prototype.copyWithin. + + The array that is being operated on. + Target start index position where to copy the elements to. + Source start index position where to start copying elements from. + Optional. Source end index position where to end copying elements from. + The array that is being operated on. + + + + Fills all the elements of a typed array from a start index to an end index with a + static value. + + The array that is being operated on. + The value to fill the typed array with. + Optional. Start index. Defaults to 0. + Optional. End index (exclusive). Defaults to the length of the array. + The array that is being operated on. + + + + Returns an index in the typed array, if an element in the typed array satisfies the + provided testing function. Otherwise -1 is returned. + + The array that is being operated on. + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + The first element that results in the callback returning true. + + + + Returns a new array iterator object that contains the key/value pairs for each index in + the array. + + An array iterator object that contains the key/value pairs for each index in + the array. + + + + Returns a new array iterator object that contains the keys for each index in the array. + + An array iterator object that contains the keys for each index in the array. + + + + Returns a new array iterator object that contains the values for each index in the + array. + + An array iterator object that contains the values for each index in the + array. + + + + Determines whether an array includes a certain value among its entries. + + The array that is being operated on. + The value to search for. + The array index to start searching. + true given search element in the array, or false if the element + wasn't found. + + + + Gets the number of items in the array. + + The array that is being operated on. + The number of items in the array. + + + + Sets the number of items in the array. + + The array that is being operated on. + The new value of the length property. + + + + Enlarges the size of the dense array. + + The new capacity of the array. + The valid number of items in the array. + + + + Recursively appends sub-array elements into the given list. + + The list to append to. + The array elements to append. + A function that produces an element of the new Array, taking + three arguments: currentValue, index, array. + Value to use as this when executing callback. + The depth of recursion when iterating through elements. + + + + Indicates whether the given object should be concatenated as if it was an array. + + The script engine. + The value to check. + true if the value should be concatenated as if it was an array, + false otherwise. + + + + Enumerates the list of array-like properties (with numeric names). + + The script engine. + The object to enumerate properties of. + The value of the length property. No indices are returned that + are higher or equal to this value. + Enumerates the list of array-like properties (with numeric names). + + + + Represents an iteration over an array-like object. + + + + + Creates a new array iterator. + + The next object in the prototype chain. + The array-like object to iterate over. + The type of values to return. + + + + Creates the array iterator prototype object. + + The script environment. + + + + The tag value that is used by the base implementation of toString(). + + + + + Moves the iterator to the next element in the array. + + An object containing two properies: value and done. + + + + Represents an array with non-consecutive elements. + + + + + Creates a sparse array from the given dense array. + + The array to copy items from. + The number of items to copy. + A new sparse array containing the items from the given array. + + + + Deletes (sets to null) an array element. + + The index of the array element to delete. + + + + Deletes (sets to null) a range of array elements. + + The index of the first array element to delete. + The number of array elements to delete. + + + + Deletes (sets to null) a range of array elements. + + The index of the first array element to delete. + The number of array elements to delete. + The parent node of the node to delete from. Can be null. + The node to delete from. + The index of the node, in the parent node's array. + The depth of the tree, treating as the root. + + + + Copies the elements of the sparse array to this sparse array, starting at a particular + index. Existing values are overwritten. + + The sparse array to copy. + The zero-based index at which copying begins. + The number of elements to copy. + + + + Copies the elements of the given sparse array to this sparse array, starting at a + particular index. Existing values are overwritten. + + The sparse array to copy. + The zero-based index at which copying begins. + + + + Represents the built-in javascript Boolean object. + + + + + Creates a new Boolean object. + + The next object in the prototype chain. + + + + Called when the Boolean object is invoked like a function, e.g. var x = Boolean("5"). + Converts the given argument into a boolean value (not a Boolean object). + + + + + Creates a new Boolean instance and initializes it to the given value. + + The value to initialize to. Defaults to false. + + + + Represents an instance of the JavaScript Boolean object. + + + + + Creates a new boolean instance. + + The next object in the prototype chain. + The value to initialize the instance with. + + + + Creates the Boolean prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Gets the primitive value of this object. + + + + + Returns the underlying primitive value of the current object. + + The underlying primitive value of the current object. + + + + Returns a string representing this object. + + A string representing this object. + + + + Represents the instance portion of a CLR type that cannot be exposed directly but instead + must be wrapped. + + + + + Retrieves a ClrInstanceTypeWrapper object from the cache, if possible, or creates it + otherwise. + + The associated script engine. + The CLR type to wrap. + + + + Creates a new ClrInstanceTypeWrapper object. + + The associated script engine. + The CLR type to wrap. + + + + Returns an object instance to serve as the next object in the prototype chain. + + The associated script engine. + The CLR type to wrap. + The next object in the prototype chain. + + + + Gets the .NET type this object represents. + + + + + Returns a textual representation of this object. + + A textual representation of this object. + + + + Represents a non-native CLR object instance. + + + + + Creates a new ClrInstanceWrapper object. + + The associated script engine. + The CLR object instance to wrap. + + + + Returns an object instance to serve as the next object in the prototype chain. + + The associated script engine. + The CLR object instance to wrap. + The next object in the prototype chain. + + + + Creates an instance of ClrInstanceWrapper or ArrayInstance based on object type. + + The associated script engine. + The CLR object instance to wrap. + + + + Gets the .NET instance this object represents. + + + + + Returns a textual representation of this object. + + A textual representation of this object. + + + + Represents the static portion of a CLR type that cannot be exposed directly but instead + must be wrapped. + + + + + Retrieves a ClrStaticTypeWrapper object from the cache, if possible, or creates it + otherwise. + + The associated script engine. + The CLR type to wrap. + + + + Creates a new ClrStaticTypeWrapper object. + + The associated script engine. + The CLR type to wrap. + + + + Returns an object instance to serve as the next object in the prototype chain. + + The associated script engine. + The CLR type to wrap. + The next object in the prototype chain. + + + + Gets the .NET type this object represents. + + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The value of the "this" keyword within the function. + An array of argument values. + The value that was returned from the function. + + + + Creates an object, using this function as the constructor. + + The value of 'new.target'. + An array of argument values. + The object that was created. + + + + Populates the given object with properties, field and methods based on the given .NET + type. + + The object to populate. + The .NET type to search for methods. + BindingFlags.Static to populate static methods; + BindingFlags.Instance to populate instance methods. + + + + Returns a textual representation of this object. + + A textual representation of this object. + + + + Represents the built-in javascript Date object. + + + + + Creates a new Date object. + + The next object in the prototype chain. + + + + Called when the Date object is invoked like a function, e.g. var x = Date(). + Returns a string representing the current time. + + + + + Creates a new Date object and sets its value to the current time. + + + + + Creates a new Date object from a millisecond value. + + The number of milliseconds since 1 January 1970 00:00:00 UTC. + + + + Creates a new Date object from a string. + + A string representing a date, expressed in RFC 1123 format. + + + + Creates a new Date object from various date components, expressed in local time. + + The full year. + The month as an integer between 0 and 11 (january to december). + The day of the month, from 1 to 31. Defaults to 1. + The number of hours since midnight, from 0 to 23. Defaults to 0. + The number of minutes, from 0 to 59. Defaults to 0. + The number of seconds, from 0 to 59. Defaults to 0. + The number of milliseconds, from 0 to 999. Defaults to 0. + + If any of the parameters are out of range, then the other values are modified accordingly. + + + + + Creates a new Date object from various date components, expressed in local time. + + An array containing date components, in the following order: + year, month, day, hour, minute, second and millisecond. + + If any of the parameters are out of range, then the other values are modified accordingly. + + + + + Returns the current date and time as the number of milliseconds elapsed since January 1, + 1970, 00:00:00 UTC. + + The current date and time as the number of milliseconds elapsed since January 1, + 1970, 00:00:00 UTC. + + + + Given the components of a UTC date, returns the number of milliseconds since January 1, + 1970, 00:00:00 UTC to that date. + + The full year. + The month as an integer between 0 and 11 (january to december). + The day of the month, from 1 to 31. Defaults to 1. + The number of hours since midnight, from 0 to 23. Defaults to 0. + The number of minutes, from 0 to 59. Defaults to 0. + The number of seconds, from 0 to 59. Defaults to 0. + The number of milliseconds, from 0 to 999. Defaults to 0. + The number of milliseconds since January 1, 1970, 00:00:00 UTC to the given + date. + + This method differs from the Date constructor in two ways: + 1. The date components are specified in UTC time rather than local time. + 2. A number is returned instead of a Date instance. + + If any of the parameters are out of range, then the other values are modified accordingly. + + + + + Parses a string representation of a date, and returns the number of milliseconds since + January 1, 1970, 00:00:00 UTC. + + A string representing a date, expressed in RFC 1123 format. + + + + The prototype for the Date object. + + + + + The underlying DateTime value. + + + + + A DateTime that represents an invalid date. + + + + + Creates a new Date instance and initializes it to the current time. + + The next object in the prototype chain. + + + + Creates a new Date instance from the given date value. + + The next object in the prototype chain. + The number of milliseconds since January 1, 1970, 00:00:00 UTC. + + + + Creates a new Date instance from the given date string. + + The next object in the prototype chain. + A string representing a date, expressed in RFC 1123 format. + + + + Creates a new Date instance from various date components, expressed in local time. + + The next object in the prototype chain. + The full year. + The month as an integer between 0 and 11 (january to december). + The day of the month, from 1 to 31. Defaults to 1. + The number of hours since midnight, from 0 to 23. Defaults to 0. + The number of minutes, from 0 to 59. Defaults to 0. + The number of seconds, from 0 to 59. Defaults to 0. + The number of milliseconds, from 0 to 999. Defaults to 0. + + If any of the parameters are out of range, then the other values are modified accordingly. + + + + + Creates a new Date instance from the given date. + + The next object in the prototype chain. + The date to set the instance value to. + + + + Creates the Date prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Gets the date represented by this object in standard .NET DateTime format. + + + + + Gets the date represented by this object as the number of milliseconds elapsed since + January 1, 1970, 00:00:00 UTC. + + + + + Gets a value indicating whether the date instance is valid. A date can be invalid if + NaN is passed to any of the constructor parameters. + + + + + Returns the year component of this date, according to local time. + + The year component of this date, according to local time. + + + + Returns the year component of this date as an offset from 1900, according to local time. + + The year component of this date as an offset from 1900, according to local time. + + + + Returns the month component of this date, according to local time. + + The month component (0-11) of this date, according to local time. + + + + Returns the day of the month component of this date, according to local time. + + The day of the month component (1-31) of this date, according to local time. + + + + Returns the day of the week component of this date, according to local time. + + The day of the week component (0-6) of this date, according to local time. + + + + Returns the hour component of this date, according to local time. + + The hour component (0-23) of this date, according to local time. + + + + Returns the minute component of this date, according to local time. + + The minute component (0-59) of this date, according to local time. + + + + Returns the seconds component of this date, according to local time. + + The seconds component (0-59) of this date, according to local time. + + + + Returns the millisecond component of this date, according to local time. + + The millisecond component (0-999) of this date, according to local time. + + + + Returns the number of milliseconds since January 1, 1970, 00:00:00 UTC. + + The number of milliseconds since January 1, 1970, 00:00:00 UTC. + + + + Returns the time-zone offset in minutes for the current locale. + + The time-zone offset in minutes for the current locale. + + + + Returns the year component of this date, according to universal time. + + The year component of this date, according to universal time. + + + + Returns the month component of this date, according to universal time. + + The month component (0-11) of this date, according to universal time. + + + + Returns the day of the month component of this date, according to universal time. + + The day of the month component (1-31) of this date, according to universal time. + + + + Returns the day of the week component of this date, according to universal time. + + The day of the week component (0-6) of this date, according to universal time. + + + + Returns the hour component of this date, according to universal time. + + The hour component (0-23) of this date, according to universal time. + + + + Returns the minute component of this date, according to universal time. + + The minute component (0-59) of this date, according to universal time. + + + + Returns the seconds component of this date, according to universal time. + + The seconds component (0-59) of this date, according to universal time. + + + + Returns the millisecond component of this date, according to universal time. + + The millisecond component (0-999) of this date, according to universal time. + + + + Sets the full year (4 digits for 4-digit years) of this date, according to local time. + + The 4 digit year. + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the full year (4 digits for 4-digit years) of this date, according to local time. + + The 4 digit year. + The month (0-11). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the full year (4 digits for 4-digit years) of this date, according to local time. + + The 4 digit year. + The month (0-11). + The day of the month (1-31). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the year of this date, according to local time. + + The year. Numbers less than 100 will be assumed to be + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the month of this date, according to local time. + + The month (0-11). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the month of this date, according to local time. + + The month (0-11). + The day of the month (1-31). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the day of this date, according to local time. + + The day of the month (1-31). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the hours component of this date, according to local time. + + The number of hours since midnight (0-23). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the hours component of this date, according to local time. + + The number of hours since midnight (0-23). + The number of minutes since the hour (0-59). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the hours component of this date, according to local time. + + The number of hours since midnight (0-23). + The number of minutes since the hour (0-59). + The number of seconds since the minute (0-59). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the hours component of this date, according to local time. + + The number of hours since midnight (0-23). + The number of minutes since the hour (0-59). + The number of seconds since the minute (0-59). + The number of milliseconds since the second (0-999). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the minutes component of this date, according to local time. + + The number of minutes since the hour (0-59). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the minutes component of this date, according to local time. + + The number of minutes since the hour (0-59). + The number of seconds since the minute (0-59). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the minutes component of this date, according to local time. + + The number of minutes since the hour (0-59). + The number of seconds since the minute (0-59). + The number of milliseconds since the second (0-999). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the seconds component of this date, according to local time. + + The number of seconds since the minute (0-59). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the seconds component of this date, according to local time. + + The number of seconds since the minute (0-59). + The number of milliseconds since the second (0-999). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the milliseconds component of this date, according to local time. + + The number of milliseconds since the second (0-999). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the full year (4 digits for 4-digit years) of this date, according to universal time. + + The 4 digit year. + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the full year (4 digits for 4-digit years) of this date, according to universal time. + + The 4 digit year. + The month (0-11). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the full year (4 digits for 4-digit years) of this date, according to universal time. + + The 4 digit year. + The month (0-11). + The day of the month (1-31). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the month of this date, according to universal time. + + The month (0-11). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the month of this date, according to universal time. + + The month (0-11). + The day of the month (1-31). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the day of this date, according to universal time. + + The day of the month (1-31). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the hours component of this date, according to universal time. + + The number of hours since midnight (0-23). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the hours component of this date, according to universal time. + + The number of hours since midnight (0-23). + The number of minutes since the hour (0-59). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the hours component of this date, according to universal time. + + The number of hours since midnight (0-23). + The number of minutes since the hour (0-59). + The number of seconds since the minute (0-59). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the hours component of this date, according to universal time. + + The number of hours since midnight (0-23). + The number of minutes since the hour (0-59). + The number of seconds since the minute (0-59). + The number of milliseconds since the second (0-999). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the minutes component of this date, according to universal time. + + The number of minutes since the hour (0-59). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the minutes component of this date, according to universal time. + + The number of minutes since the hour (0-59). + The number of seconds since the minute (0-59). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the minutes component of this date, according to universal time. + + The number of minutes since the hour (0-59). + The number of seconds since the minute (0-59). + The number of milliseconds since the second (0-999). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the seconds component of this date, according to universal time. + + The number of seconds since the minute (0-59). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the seconds component of this date, according to universal time. + + The number of seconds since the minute (0-59). + The number of milliseconds since the second (0-999). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the milliseconds component of this date, according to universal time. + + The number of milliseconds since the second (0-999). + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Sets the date and time value of ths date. + + The number of milliseconds since January 1, 1970, 00:00:00 UTC. + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Returns the date as a string. + + The date as a string. + + + + Returns the date as a string using GMT (Greenwich Mean Time). + + The date as a string. + + + + Returns the date as a string using GMT (Greenwich Mean Time). + + The date as a string. + + + + Used by the JSON.stringify to transform objects prior to serialization. + + The object that is being operated on. + Unused. + The date as a serializable string. + + + + Returns the date as a string using the current locale settings. + + + + + + Returns the date and time as a string using the current locale settings. + + + + + + Returns the time as a string using the current locale settings. + + + + + + Returns a string representing the date and time. + + The object that is being operated on. + A string representing the date and time. + + + + Returns the time as a string. + + + + + + Returns the date as a string using UTC (universal time). + + + + + + Returns the primitive value of this object. + + The primitive value of this object. + + + + Returns a primitive value that represents the current object. Used by the addition and + equality operators. + + The current script environment. + The object to operate on. + Specifies the conversion behaviour. Must be "default", "string" or "number". + + + + + Returns the current date and time as the number of milliseconds elapsed since January 1, + 1970, 00:00:00 UTC. + + The current date and time as the number of milliseconds elapsed since January 1, + 1970, 00:00:00 UTC. + + + + Given the components of a UTC date, returns the number of milliseconds since January 1, + 1970, 00:00:00 UTC to that date. + + The full year. + The month as an integer between 0 and 11 (january to december). + The day of the month, from 1 to 31. Defaults to 1. + The number of hours since midnight, from 0 to 23. Defaults to 0. + The number of minutes, from 0 to 59. Defaults to 0. + The number of seconds, from 0 to 59. Defaults to 0. + The number of milliseconds, from 0 to 999. Defaults to 0. + The number of milliseconds since January 1, 1970, 00:00:00 UTC to the given + date. + + This method differs from the Date constructor in two ways: + 1. The date components are specified in UTC time rather than local time. + 2. A number is returned instead of a Date instance. + + If any of the parameters are out of range, then the other values are modified accordingly. + + + + + Parses a string representation of a date, and returns the number of milliseconds since + January 1, 1970, 00:00:00 UTC. + + A string representing a date, expressed in RFC 1123 format. + + + + Gets a single component of this date. + + The date component to extract. + Indicates whether to retrieve the component in local + or universal time. + The date component value, or NaN if the date is invalid. + + + + Sets one or more components of this date. + + The first date component to set. + Indicates whether to set the component(s) in local + or universal time. + One or more date component values. + The number of milliseconds elapsed since January 1, 1970, 00:00:00 UTC for + the new date. + + + + Converts a .NET date into a javascript date. + + The .NET date. + The number of milliseconds since January 1, 1970, 00:00:00 UTC + + + + Converts a javascript date into a .NET date. + + The number of milliseconds since January 1, 1970, 00:00:00 UTC. + The equivalent .NET date. + + + + Given the components of a date, returns the equivalent .NET date. + + The full year. + The month as an integer between 0 and 11 (january to december). + The day of the month, from 1 to 31. Defaults to 1. + The number of hours since midnight, from 0 to 23. Defaults to 0. + The number of minutes, from 0 to 59. Defaults to 0. + The number of seconds, from 0 to 59. Defaults to 0. + The number of milliseconds, from 0 to 999. Defaults to 0. + Indicates whether the components are in UTC or local time. + The equivalent .NET date. + + + + Gets the current time and date. + + The current time and date. + + + + Returns a string of the form "GMT+1200 (New Zealand Standard Time)". + + The date to get the time zone information from. + A string of the form "GMT+1200 (New Zealand Standard Time)". + + + + Parses a javascript date string. + + + + + Parses a javascript date string. + + The string to parse as a date. + A date. + + + + Parses an unstructured javascript date string. + + The string to parse as a date. + A date. + + + + Converts a timezone string to a timezone offset. + + The timezone string e.g. "+1300", "+13", "-1". + The timezone offset, in minutes. e.g. +1200 will return 12*60=700. + Indicates whether parsing was successful. + + + + Constructs a HashSet containing the names of days of the week. + + + + + Constructs a dictionary containing the names of all the months and a mapping to the + number of the month (1-12). + + + + + Constructs a dictionary containing the names of all the time zones and a mapping to the + time zone offset (in hours). + + + + + Represents a constructor for one of the error types: Error, RangeError, SyntaxError, etc. + + + + + Creates a new derived error function. + + The next object in the prototype chain. + The type of error, e.g. Error, RangeError, etc. + + + + Called when the Error object is invoked like a function, e.g. var x = Error("oh no"). + Creates a new derived error instance with the given message. + + A description of the error. + + + + Creates a new derived error instance with the given message. + + A description of the error. + + + + Represents the base class of all the javascript errors. + + + + + Creates a new Error instance with the given message. + + The next object in the prototype chain. + The initial value of the message property. Pass null to + avoid creating this property. + + + + Creates the Error prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + The type of error, e.g. Error, RangeError, etc. + + + + Determine the prototype for the given error type. + + The script engine associated with this object. + The type of error, e.g. Error, RangeError, etc. + The prototype. + + + + Gets the name for the type of error. + + + + + Gets a human-readable description of the error. + + + + + Gets the stack trace. Note that this is populated when the object is thrown, NOT when + it is initialized. + + + + + Sets the stack trace information. + + The path of the javascript source file that is currently executing. + The name of the currently executing function. + The line number of the statement that is currently executing. + + + + Returns a string representing the current object. + + The current script environment. + The object that is being operated on. + A string representing the current object. + + + + Used when creating an error to specify the specific type of error. + + + + + Represents a generic error. + + + + + Indicates a value that is not in the set or range of allowable values. + + + + + Indicates the actual type of an operand is different than the expected type. + + + + + Indicates that a parsing error has occurred. + + + + + Indicates that one of the global URI handling functions was used in a way that is incompatible with its definition. + + + + + Not used. + + + + + Indicate that an invalid reference value has been detected. + + + + + Represents a set of commands for working with the standard console. This class is + non-standard - it is based on the Firebug console API + (http://getfirebug.com/wiki/index.php/Console_API). + + + + + Creates a new FirebugConsole instance. + + The associated script engine. + + + + Gets or sets the console to output to. + + + + + Logs a message to the console. The objects provided will be converted to strings then + joined together in a space separated line. The first parameter can be a string + containing the following patterns: + %s String + %d, %i Integer + %f Floating point number + + The items to format. + + + + Logs a message to the console. The objects provided will be converted to strings then + joined together in a space separated line. The first parameter can be a string + containing the following patterns: + %s String + %d, %i Integer + %f Floating point number + + The items to format. + + + + Logs a message to the console using a style suggesting informational content. The + objects provided will be converted to strings then joined together in a space separated + line. The first parameter can be a string containing the following patterns: + %s String + %d, %i Integer + %f Floating point number + + The items to format. + + + + Logs a message to the console using a style suggesting a warning. The objects provided + will be converted to strings then joined together in a space separated line. The first + parameter can be a string containing the following patterns: + %s String + %d, %i Integer + %f Floating point number + + The items to format. + + + + Logs a message to the console using a style suggesting an error. The objects provided + will be converted to strings then joined together in a space separated line. The + first parameter can be a string containing the following patterns: + %s String + %d, %i Integer + %f Floating point number + + The items to format. + + + + Tests that an expression is true. If not, it will write a message to the console. + + The expression to test. + The items to format. + + + + Clears the console. + + + + + Writes a message to the console and opens a nested block to indent all future messages + sent to the console. Call console.groupEnd() to close the block. + + The items to format. + + + + Writes a message to the console and opens a nested block to indent all future messages + sent to the console. Call console.groupEnd() to close the block. + + The items to format. + + + + Closes the most recently opened block created by a call to console.group(). + + + + + Creates a new timer under the given name. Call console.timeEnd(name) with the same name + to stop the timer and print the time elapsed. + + The name of the time to create. + + + + Stops a timer created by a call to console.time(name) and writes the time elapsed. + + The name of the timer to stop. + + + + Logs a message to the console. The objects provided will be converted to strings then + joined together in a space separated line. The first parameter can be a string + containing the following patterns: + %s String + %d, %i Integer + %f Floating point number + + The style of the message (this determines the icon and text + color). + The items to format. + + + + Formats a message. The objects provided will be converted to strings then + joined together in a space separated line. The first parameter can be a string + containing the following patterns: + %s String + %d, %i Integer + %f Floating point number + %o Object hyperlink + + The items to format. + A formatted string. + + + + Formats a message. The objects provided will be converted to strings then + joined together in a space separated line. The first parameter can be a string + containing the following patterns: + %s String + %d, %i Integer + %f Floating point number + %o Object hyperlink + + The items to format. + An array containing formatted strings interspersed with objects. + + + + Indicates the level of severity. + + + + + Log text, without any indication of the severity. + + + + + Log informational text. + + + + + Log warnings. + + + + + Log errors. + + + + + Represents the target of any Firebug console commands. + + + + + Logs a message to the console. + + The style of the message (this determines the icon and text + color). + The objects to output to the console. These can be strings or + ObjectInstances. + + + + Clears the console. + + + + + Starts grouping messages together. + + The title for the group. + true if subsequent messages should be hidden by default. + + + + Ends the most recently started group. + + + + + Represents an implementation of the Firebug API using the standard console. + + + + + Gets or sets the number of spaces to output before writing any text to the console. + + + + + Gets or sets the number of spaces to add to the identation when group() is called. + + + + + Logs a message to the console. + + A style which influences the icon and text color. + The objects to output to the console. These can be strings or + ObjectInstances. + + + + Clears the console. + + + + + Starts grouping messages together. + + The title for the group. + true if subsequent messages should be hidden by default. + + + + Ends the most recently started group. + + + + + Represents an arguments object. + + + + + Creates a new Arguments instance. + + The next object in the prototype chain. + The function that was called. + The bindings to allow modification. + The argument values that were passed to the function. + + + + Used to retrieve the value of an argument. + + The script engine, this value, etc. + The arguments that were passed to the function. + The result of calling the method. + + + + Used to set the value of an argument. + + The script engine, this value, etc. + The arguments that were passed to the function. + The result of calling the method. + + + + Deletes the property with the given array index. + + The array index of the property to delete. + true to throw an exception if the property could not + be set because the property was marked as non-configurable. + true if the property was successfully deleted, or if the property did + not exist; false if the property was marked as non-configurable and + was false. + + + + Returns an iterator that iterates over the argument values. + + An iterator for the arguments instance. + + + + Represents a function that has bound arguments. + + + + + Creates a new instance of a user-defined function. + + The function that was bound. + The value of the "this" parameter when the target function is called. + Zero or more bound argument values. + + + + Gets the function that is being bound. + + + + + Gets the value of the "this" parameter when the target function is called. + + + + + Gets an array of zero or more bound argument values. + + + + + Determines whether the given object inherits from this function. More precisely, it + checks whether the prototype chain of the object contains the prototype property of + this function. Used by the "instanceof" operator. + + The instance to check. + true if the object inherits from this function; false + otherwise. + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The value of the "this" keyword within the function. + An array of argument values to pass to the function. + The value that was returned from the function. + + + + Creates an object, using this function as the constructor. + + The value of 'new.target'. + An array of argument values to pass to the function. + The object that was created. + + + + Returns a string representing this object. + + A string representing this object. + + + + Represents a JS class, which is really just a special type of function. Classes cannot be + called directly, but they can be instantiated using the 'new' operator. + + + + + Creates a new instance of a user-defined class. + + The next object in the prototype chain. + The name of the class. Can be null if none were supplied. + The value of the 'prototype' property. + A function that represents the constructor, if the class has + one, or null otherwise. + + A class that doesn't extend looks like this: + new ClassFunction(engine.Function.InstancePrototype, name, engine.Object.Construct(), constructor) + + A class that extends A looks like this: + new ClassFunction(A, name, ObjectInstance.CreateRawObject(A.InstancePrototype), constructor) + + A class that extends null looks like this: + new ClassFunction(engine.Function.InstancePrototype, name, ObjectInstance.CreateRawObject(null), constructor) + + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The value of the "this" keyword within the function. + An array of argument values to pass to the function. + The value that was returned from the function. + + + + Creates an object, using this function as the constructor. + + The value of 'new.target'. + An array of argument values. + The object that was created. + + + + Returns a string representing this object. + + A string representing this object. + + + + Represents a JavaScript function implemented by one or more .NET methods. + + + + + Creates a new instance of a built-in constructor function. + + The next object in the prototype chain. + The name of the function. + + + + + Creates a new instance of a function which calls the given delegate. + + The next object in the prototype chain. + The delegate to call. + The name of the function. Pass null to use the name of the + delegate for the function name. + The "typical" number of arguments expected by the function. Pass + -1 to use the number of arguments expected by the delegate. + + + + Creates a new instance of a function which calls one or more provided methods. + + The next object in the prototype chain. + An enumerable collection of methods that logically comprise a + single method group. + The name of the function. Pass null to use the name of the + provided methods for the function name (in this case all the provided methods must have + the same name). + The "typical" number of arguments expected by the function. Pass + -1 to use the maximum of arguments expected by any of the provided methods. + + + + Creates a new instance of a function which calls the given binder. + + The next object in the prototype chain. + An object representing a collection of methods to bind to. + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The value of the "this" keyword within the function. + An array of argument values. + The value that was returned from the function. + + + + Creates an object, using this function as the constructor. + + The value of 'new.target'. + An array of argument values. + The object that was created. + + + + A binder that merely returns undefined. + + + + + Creates a new EmptyBinder instance. + + + + + Gets the name of the target methods. + + + + + Gets the full name of the target methods, including the type name. + + + + + Generates a method that does type conversion and calls the bound method. + + The ILGenerator used to output the body of the method. + The number of arguments that will be passed to the delegate. + A delegate that does type conversion and calls the method represented by this + object. + + + + Represents a function that is implemented with a .NET static method. + Faster, but less flexible version of ClrFunction. Now used by all the built-in constructors and functions. + + + + + Creates a function which calls a .NET method, with no name or length. + + The next object in the prototype chain. + The delegate to call when calling the JS method. + + + + Creates a new instance of a function which calls a .NET method. The prototype of the + new function is set to the default function prototype. + + The script engine. + The name of the function. + The "typical" number of arguments expected by the function. + The delegate to call when calling the JS method. + + + + Creates a new instance of a function which calls a .NET method. + + The next object in the prototype chain. + The name of the function. + The "typical" number of arguments expected by the function. + The delegate to call when calling the JS method. + + + + Creates a new constructor function. + + The next object in the prototype chain. + The delegate to call when calling the JS method as a constructor. + The delegate to call when function is called. + + + + Adds properties needed by the function to the list of properties. + + The list of properties to add to. + The name of the function. + The "typical" number of arguments expected by the function. + The value of the "prototype" property. + + + + Creates a new constructor function. + + The next object in the prototype chain. + The name of the function. + The "typical" number of arguments expected by the function. + The value of the "prototype" property. + The delegate to call when calling the JS method as a constructor. + The delegate to call when function is called. + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The value of the "this" keyword within the function. + An array of argument values. + The value that was returned from the function. + + + + Indicates whether the 'new' operator can be used on this function. + Will be false for built-in functions like Math.max. + + + + + Creates an object, using this function as the constructor. + + The value of 'new.target'. + An array of argument values. + The object that was created. + + + + Represents the built-in JavaScript Function object. + + + + + Creates a new Function object. + + The next object in the prototype chain. + The prototype for instances created by this function. + + + + Called when the Function object is invoked like a function, e.g. var x = Function("5"). + Creates a new function instance. + + The argument names plus the function body. + A new function instance. + + + + Creates a new function instance. + + The argument names plus the function body. + A new function instance. + + + + Represents a JavaScript function. + + + + + Creates a new instance of a built-in function object, with the default Function + prototype. + + The associated script engine. + + + + Creates a new instance of a built-in function object. + + The next object in the prototype chain. + + + + Creates a new instance of a built-in function object. + + The associated script engine. + The next object in the prototype chain. Can be null. + + + + Initializes the prototype properties. + + The object to set the properties on. + A reference to the constructor that owns the prototype. + + + + Gets the prototype of objects constructed using this function. Equivalent to + the Function.prototype property. + + + + + Gets the name of the function. + + + + + Gets the number of arguments expected by the function. + + + + + Determines whether the given object inherits from this function. More precisely, it + checks whether the prototype chain of the object contains the prototype property of + this function. Used by the "instanceof" operator. + + The instance to check. + true if the object inherits from this function; false + otherwise. + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The value of the "this" keyword within the function. + An array of argument values. + The value that was returned from the function. + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The name of the caller function. + The value of the "this" keyword within the function. + An array of argument values. + The value that was returned from the function. + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The path of the javascript source file that contains the caller. + The name of the caller function. + The line number of the statement that is calling this function. + The value of the "this" keyword within the function. + An array of argument values. + The value that was returned from the function. + + + + Indicates whether the 'new' operator can be used on this function. + Will be false for built-in functions like Math.max. + + + + + Creates an object, using this function as the constructor. + + The value of 'new.target'. + An array of argument values. + The object that was created. + + + + Creates an object, using this function as the constructor. + + The path of the javascript source file that contains the caller. + The name of the caller function. + The line number of the statement that is calling this function. + The value of 'new.target'. + An array of argument values. + The object that was created. + + + + Calls the function, passing in parameters from the given array. + + The value of this in the context of the function. + The arguments passed to the function, as an array. + The result from the function call. + + + + Calls the function. + + The value of this in the context of the function. + Any number of arguments that will be passed to the function. + The result from the function call. + + + + Creates a new function that, when called, calls this function with the given "this" + value and, optionally, one or more more arguments. + + The fixed value of "this". + Any number of fixed arguments values. + A new function. + + + + Returns a string representing this object. + + A string representing this object. + + + + Returns a string representing this object. + + A string representing this object. + + + + Represents a JavaScript function that throws a type error. + + + + + Creates a new ThrowTypeErrorFunction instance. + + The next object in the prototype chain. + + + + Creates a new ThrowTypeErrorFunction instance. + + The next object in the prototype chain. + The TypeError message. + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The value of the "this" keyword within the function. + An array of argument values to pass to the function. + The value that was returned from the function. + + + + Represents a JavaScript function implemented in javascript. + + + + + Creates a new instance of a user-defined function. + + The next object in the prototype chain. + The name of the function. + A comma-separated list of arguments. + The source code for the body of the function. + This is used by new Function(). + + + + Creates a new instance of a user-defined function. + + The next object in the prototype chain. + The name of the function. + The names of the arguments. + The scope at the point the function is declared. + The source code for the function body. + A delegate which represents the body of the function. + true if the function body is strict mode; false otherwise. + This is used by arguments. + + + + Creates a new instance of a user-defined function. + + The next object in the prototype chain. + The name of the function. + The names of the arguments. + The scope at the point the function is declared. + The source code for the function body. + A delegate which represents the body of the function plus any dependencies. + true if the function body is strict mode; false otherwise. + A reference to the containing class prototype or object literal (or null). + This is used by functions declared in JavaScript code (including getters and setters). + + + + Initializes the object properties. + + The name of the function. + The expected number of arguments. + + + + A comma-separated list of arguments. + + + + + Gets a list containing the names of the function arguments, in order of definition. + This list can contain duplicate names. + + + + + Gets a value that indicates whether the function was declared within strict mode code + -or- the function contains a strict mode directive within the function body. + + + + + Gets the scope at the point the function was declared. + + + + + Gets the source code for the body of the function. + + + + + Gets the body of the method in the form of disassembled IL code. Will be null + unless was set to true. + + + + + Gets a reference to the generated method. For internal use only. + + + + + Gets a reference to the generated method. For internal use only. + + + + + A reference to the containing class prototype or object literal (or null). Used + by the 'super' property accessor. + + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The value of the "this" keyword within the function. + An array of argument values to pass to the function. + The value that was returned from the function. + + + + Creates an object, using this function as the constructor. + + The value of 'new.target'. + An array of argument values. + The object that was created. + + + + Returns a string representing this object. + + A string representing this object. + + + + Represents functions and properties within the global scope. + + + + + Creates a new Global object. + + The next object in the prototype chain. + + + + Retrieves a list of properties to apply to the global object. + + + + + Decodes a string that was encoded with the encodeURI function. + + The current script environment. + The associated script engine. + The string, as it was before encoding. + + + + Decodes a string that was encoded with the decodeURIComponent function. + + The associated script engine. + The string to decode. + The string, as it was before encoding. + + + + Encodes a string containing a Uniform Resource Identifier (URI). + + The associated script engine. + The string to encode. + A copy of the given URI with the special characters encoded. + + + + Encodes a string containing a portion of a Uniform Resource Identifier (URI). + + The associated script engine. + The string to encode. + A copy of the given URI with the special characters encoded. + + + + Encodes a string using an encoding similar to that used in URLs. + + The string to encode. + A copy of the given string with the special characters encoded. + + + + Evaluates the given javascript source code and returns the result. + + The associated script engine. + The source code to evaluate. + The value of the last statement that was executed, or undefined if + there were no executed statements. + + + + Evaluates the given javascript source code and returns the result. + + The associated script engine. + The source code to evaluate. + The containing scope. + The value of the "this" keyword in the containing scope. + Indicates whether the eval statement is being called from + strict mode code. + The value of the last statement that was executed, or undefined if + there were no executed statements. + + + + Determines whether the given number is finite. + + The number to test. + false if the number is NaN or positive or negative infinity, + true otherwise. + + + + Determines whether the given number is NaN. + + The number to test. + true if the number is NaN, false otherwise. + + + + Decodes a string that has been encoded using escape(). + + The string to decode. + A copy of the given string with the escape sequences decoded. + + + + Decodes a string containing a URI or a portion of a URI. + + The script engine used to create the error objects. + The string to decode. + A string containing the set of characters that should not + be escaped. Alphanumeric characters should not be included. + A copy of the given string with the escape sequences decoded. + + + + Encodes a string containing a URI or a portion of a URI. + + The associated script engine. + The string to encode. + An array containing the set of characters that should not + be escaped. + A copy of the given URI with the special characters encoded. + + + + Reads an integer value using the given reader. + + The reader to read characters from. + Upon returning, contains the number of digits that were read. + The numeric value, or double.NaN if no number was present. + + + + Determines if the given character is whitespace or a line terminator. + + The unicode code point for the character. + true if the character is whitespace or a line terminator; false + otherwise. + + + + Parses a hexidecimal number from within a string. + + The string containing the hexidecimal number. + The start index of the hexidecimal number. + The number of characters in the hexidecimal number. + The numeric value of the hexidecimal number, or -1 if the number + is not valid. + + + + Creates a 128 entry lookup table for the characters in the given string. + + The characters to include in the set. + An array containing true for each character in the set. + + + + Represents a general iterator. + + + + + Creates a new iterator. + + The script environment. + The enumerable to iterate over. + + + + Creates the array iterator prototype object. + + The script environment. + + + + The tag value that is used by the base implementation of toString(). + + + + + Returns this iterator. + + An iterator. + + + + Moves the iterator to the next element in the array. + + An object containing two properies: value and done. + + + + Converts JSON text into a series of tokens. + + + + + Creates a JSONLexer instance with the given source of text. + + The script engine used to create error objects. + A reader that will supply the JSON source text. + + + + Gets the reader that was supplied to the constructor. + + + + + Reads the next token from the reader. + + A token, or null if there are no more tokens. + + + + Reads an keyword token. + + The first character of the identifier. + An keyword token. + + + + Reads a numeric literal token. + + The first character of the token. + A numeric literal token. + + + + Reads an integer value. + + The initial value, derived from the first character. + The number of digits that were read from the stream. + The numeric value, or double.NaN if no number was present. + + + + Reads a string literal. + + The first character of the string literal. + A string literal. + + + + Reads a hexidecimal number with the given number of digits and turns it into a character. + + The character corresponding to the escape sequence, or the content that was read + from the input if a valid hex number was not read. + + + + Reads past whitespace. + + Always returns null. + + + + Determines if the given character is whitespace or a line terminator. + + The character to test. + true if the character is whitespace or a line terminator; false + otherwise. + + + + Determines if the given character is valid as a character of an identifier. + + The character to test. + true if the character is is valid as a character of an identifier; + false otherwise. + + + + Determines if the given character is valid as the first character of a numeric literal. + + The character to test. + true if the character is is valid as the first character of a numeric + literal; false otherwise. + + + + Determines if the given character is valid in a hexidecimal number. + + The character to test. + true if the given character is valid in a hexidecimal number; false + otherwise. + + + + Represents the built-in JSON object. + + + + + Creates a new JSON object. + + The next object in the prototype chain. + + + + Parses the JSON source text and transforms it into a value. + + The current script environment. + The JSON text to parse. + A function that will be called for each value. + The value of the JSON text. + + + + Serializes a value into a JSON string. + + The current script environment. + The value to serialize. + Either a function that can transform each value before it is + serialized, or an array of the names of the properties to serialize. + Either the number of spaces to use for indentation, or a string + that is used for indentation. + The JSON string representing the value. + + + + Converts a series of JSON tokens into a JSON object. + + + + + Creates a JSONParser instance with the given lexer supplying the tokens. + + The associated script engine. + The lexical analyser that provides the tokens. + + + + Gets or sets a function that can be used to transform values as they are being parsed. + + + + + Discards the current token and reads the next one. + + + + + Indicates that the next token is identical to the given one. Throws an exception if + this is not the case. Consumes the token. + + The expected token. + + + + Indicates that the next token should be an identifier. Throws an exception if this is + not the case. Consumes the token. + + The identifier name. + + + + Parses the JSON text (optionally applying the reviver function) and returns the resulting value. + + The result of parsing the JSON text. + + + + Parses a value. + + A JSON value. + + + + Parses an array literal (e.g. "[1, 2]"). + + A populated array. + + + + Parses an object literal (e.g. "{a: 5}"). + + A populated object. + + + + Converts a value into JSON text. + + + + + Creates a new JSONSerializer instance with the default options. + + The associated script engine. + + + + Gets or sets a function which can transform values before they are serialized. + + + + + Gets or sets a string to use for indentation. + + + + + Gets or sets a list of property names to be serialized. + + + + + Serializes a value into a JSON string. + + The value to serialize. + The JSON repesentation of the value, or null if passed an + unserializable value (like a function). + + + + Transforms the value stored in the given object using toJSON and/or the replacer function. + + The object containing the value. + The name of the property holding the value to transform. + The transformed value. + + + + Transforms the value stored in the given object using toJSON and/or the replacer function. + + The object containing the value. + The array index of the property holding the value to transform. + The transformed value. + + + + Serializes a value into a JSON string. Does not serialize "undefined", check for that + value before calling this method. + + The value to serialize. + The StringBuilder to write the JSON representation of the + value to. + + + + Adds double quote characters to the start and end of the given string and converts any + invalid characters into escape sequences. + + The string to quote. + The StringBuilder to write the quoted string to. + + + + Serializes an object into a JSON string. + + The object to serialize. + The StringBuilder to write the JSON representation of the + object to. + + + + Serializes an array into a JSON string. + + The array to serialize. + The StringBuilder to write the JSON representation of the + array to. + + + + The Map object is a simple key/value map. Any value (both objects and primitive values) may + be used as either a key or a value. + + + + + Creates a new map constructor. + + The next object in the prototype chain. + + + + A reference to the constructor function that is used to create derived objects. + + + + + Called when the Map object is invoked like a function, e.g. var x = Map(). + Throws an error. + + + + + Creates a new Map. + + iterable is an Array or other iterable object whose elements + are key-value pairs (2-element Arrays). Each key-value pair is added to the new Map. + null is treated as undefined. + A new Map object, either empty or initialised with the given values. + + + + The Map object is a simple key/value map. Any value (both objects and primitive values) may + be used as either a key or a value. + + + + + Creates a new Map instance. + + The next object in the prototype chain. + + + + Creates the Map prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Called before a linked list node is deleted. + + + + + Gets the internal storage. Used by debugger decoration only. + + + + + The number of elements in the Map. + + + + + Removes all elements from a Map object. + + + + + Removes the specified element from a Map object. + + The key of the element to remove from the Map object. + true if an element in the Map object existed and has been removed, or + false if the element does not exist. + + + + Returns a new Iterator object that contains the [key, value] pairs for each element in + the Map object in insertion order. + + A new Iterator object. + + + + Executes a provided function once per each key/value pair in the Map object, in + insertion order. + + Function to execute for each element. + Value to use as this when executing callback. + + + + Returns a specified element from a Map object. + + The key of the element to return from the Map object. + The element associated with the specified key, or undefined if the key can't + be found in the Map object. + + + + Returns a boolean indicating whether an element with the specified key exists or not. + + The key of the element to test for presence in the Map object. + true if an element with the specified key exists in the Map object; + otherwise false. + + + + Returns a new Iterator object that contains the keys for each element in the Map object + in insertion order. + + A new Iterator object. + + + + Adds a new element with a specified key and value to a Map object. + + The key of the element to add to the Map object. + The value of the element to add to the Map object. + The Map object. + + + + Returns a new Iterator object that contains the values for each element in the Map + object in insertion order. + + A new Iterator object. + + + + Implements the SameValueZero comparison operation. + + + + + Represents an iteration over a Map. + + + + + Creates a new map iterator. + + The next object in the prototype chain. + The map to iterate over. + The linked list to iterate over. + The type of values to return. + + + + Creates the array iterator prototype object. + + The script environment. + + + + Called before a linked list node is deleted. + + The node that is being deleted. + + + + The tag value that is used by the base implementation of toString(). + + + + + Moves the iterator to the next element in the array. + + An object containing two properies: value and done. + + + + Gets wheter the end is reached. Used by debugger decoration only. + + + + + Gets current index. Used by debugger decoration only. + + + + + Gets what is iterated - key, value or both + + + + + Gets the iterated Map + + + + + Represents the built-in Math class that has mathematical constants and functions. + + + + + Creates a new Math object. + + The next object in the prototype chain. + + + + The mathematical constant E, approximately 2.718. + + + + + The natural logarithm of 2, approximately 0.693. + + + + + The natural logarithm of 10, approximately 2.303. + + + + + The base 2 logarithm of E, approximately 1.442. + + + + + The base 10 logarithm of E, approximately 0.434. + + + + + The ratio of the circumference of a circle to its diameter, approximately 3.14159. + + + + + The square root of 0.5, approximately 0.707. + + + + + The square root of 2, approximately 1.414. + + + + + Returns the absolute value of a number. + + The number to operate on. + The absolute value of the parameter. + + + + Returns the arccosine of a number. + + The number to operate on. + The arccosine of the parameter. If + is less than -1 or greater than 1, then NaN is + returned. + + + + Returns the arcsine of a number. + + The number to operate on. + The arcsine of the parameter. If + is less than -1 or greater than 1, then NaN is + returned. + + + + Returns the arctangent of a number. + + The number to operate on. + The arctangent of the parameter. If + is less than -1 or greater than 1, then NaN is + returned. + + + + Returns the counter-clockwise angle (in radians) from the X axis to the point (x,y). + + A numeric expression representing the cartesian x-coordinate. + A numeric expression representing the cartesian y-coordinate. + The angle (in radians) from the X axis to a point (x,y) (between -pi and pi). + + + + Returns the smallest integer greater than or equal to a number. + + The number to operate on. + The smallest integer greater than or equal to the + parameter. + + + + Returns the cosine of an angle. + + The angle to operate on. + The cosine of the parameter (between -1 and 1). + + + + Returns e (the base of natural logarithms) raised to the specified power. + + The exponent. + E (the base of natural logarithms) raised to the specified power. + + + + Returns the greatest integer less than or equal to a number. + + The number to operate on. + The greatest integer less than or equal to the parameter. + + + + Returns the natural logarithm of a number. + + The number to operate on. + The natural logarithm of the parameter. + + + + Returns the largest of zero or more numbers. + + The numbers to operate on. + The largest of zero or more numbers. If no arguments are provided, the + return value is equal to NEGATIVE_INFINITY. If any of the arguments cannot be + converted to a number, the return value is NaN. + + + + Returns the smallest of zero or more numbers. + + The numbers to operate on. + The smallest of zero or more numbers. If no arguments are provided, the + return value is equal to NEGATIVE_INFINITY. If any of the arguments cannot be + converted to a number, the return value is NaN. + + + + Returns the value of a base expression taken to a specified power. + + The base value of the expression. + The exponent value of the expression. + The value of the base expression taken to the specified power. + + + + Returns a pseudorandom number between 0 and 1. + + A pseudorandom number between 0 and 1. The pseudorandom number generated is + from 0 (inclusive) to 1 (exclusive), that is, the returned number can be zero, but it + will always be less than one. The random number generator is seeded automatically. + + + + + Returns the value of a number rounded to the nearest integer. + + The number to operate on. + The required number argument is the value to be rounded to the nearest + integer. For positive numbers, if the decimal portion of number is 0.5 or greater, + the return value is equal to the smallest integer greater than number. If the decimal + portion is less than 0.5, the return value is the largest integer less than or equal to + number. For negative numbers, if the decimal portion is exactly -0.5, the return value + is the smallest integer that is greater than the number. For example, Math.round(8.5) + returns 9, but Math.round(-8.5) returns -8. + + + + Returns the sine of an angle. + + The angle, in radians. + The sine of the parameter (between -1 and 1). + + + + Returns the square root of a number. + + The number to operate on. + The square root of the parameter. + + + + Returns the tangent of an angle. + + The angle, in radians. + The tangent of the parameter (between -1 and 1). + + + + Returns the base 10 logarithm of a number. + + The number to operate on. + The base 10 logarithm of the parameter. + + + + Returns the base 2 logarithm of a number. + + The number to operate on. + The base 2 logarithm of the parameter. + + + + Returns the natural logarithm (base E) of one plus a number. The result is calculated + in such a way that the result is accurate even if the number is close to zero. + + The number to operate on. + The natural logarithm (base E) of one plus the parameter. + + + + Returns E to the power of a number minus 1. The result is calculated in such a way + that the result is accurate even if the number is close to zero. + + The number to operate on. + E to the power of the parameter minus 1. + + + + Returns the hyperbolic cosine of a number. + + The number to operate on. + The hyperbolic cosine of the parameter. + + + + Returns the hyperbolic sine of a number. + + The number to operate on. + The hyperbolic sine of the parameter. + + + + Returns the hyperbolic tangent of a number. + + The number to operate on. + The hyperbolic tangent of the parameter. + + + + Returns the inverse hyperbolic cosine of a number. + + The number to operate on. + The inverse hyperbolic cosine of the parameter. + + + + Returns the inverse hyperbolic sine of a number. + + The number to operate on. + The inverse hyperbolic sine of the parameter. + + + + Returns the inverse hyperbolic tangent of a number. + + The number to operate on. + The inverse hyperbolic tangent of the parameter. + + + + Returns the square root of the sum of squares of the provided numbers. + + The numbers to operate on. + The square root of the sum of squares of . + + + + Returns the square root of the sum of squares of the provided numbers. + + The first number to operate on. + The second number to operate on. + The square root of the sum of squares of and + . + + + + Returns the integral part of a number, removing any fractional digits. + + The number to operate on. + The integral part of the parameter. + + + + Returns the sign of the x, indicating whether x is positive, negative or zero. + + The number to operate on. + The sign of the parameter. + + + + Returns the result of the 32-bit multiplication of the two parameters. + + The first value to multiply. + The second value to multiply. + The result of multiplying the two numbers as if they were 32-bit integers. + + + + Returns the result of converting the double precision number to the nearest single + precision equivalent. + + The number to operate on. + The result of converting the double precision number to the nearest single + precision equivalent. + + + + Converts the input value to an unsigned 32-bit integer, then returns the number of + leading zero bits. + + The number to operate on. + The number of leading zero bits, treating the input like an unsigned 32-bit + integer. + + + + Returns an approximation to the cube root of the input value. + + The number to operate on. + An approximation to the cube root of the input value. + + + + Represents the built-in javascript Number object. + + + + + Creates a new Number object. + + The next object in the prototype chain. + + + + Called when the Number object is invoked like a function, e.g. var x = Number("5"). + Returns zero. + + + + + Called when the Number object is invoked like a function, e.g. var x = Number("5"). + Converts the given argument into a number value (not a Number object). + + + + + Creates a new Number instance and initializes it to zero. + + + + + Creates a new Number instance and initializes it to the given value. + + The value to initialize to. + + + + The largest representable number, approximately 1.8e+308. + + + + + The smallest positive representable number, approximately 5e-324. + + + + + Special "not a number" value. + + + + + Special value representing negative infinity. + + + + + Special value representing positive infinity. + + + + + The difference between 1 and the smallest value greater than 1 that is representable as + a numeric value. + + + + + The maximum integer within the range of integers that can be represented exactly. + Outside the safe range multiple integers are mapped to a single value. + + + + + The minimum integer within the range of integers that can be represented exactly. + Outside the safe range multiple integers are mapped to a single value. + + + + + Determines whether the given number is finite. + + The number to test. + false if the number is NaN or positive or negative infinity, + true otherwise. false if the value is not a number. + + + + Determines whether the given number is NaN. + + The number to test. + true if the number is NaN, false otherwise. + + + + Determines whether the given number is an integer. + + The number to test. + true if the number is an integer, false otherwise. + + + + Determines whether the given number is within the "safe" integer range. + + The number to test. + true if the number is a safe integer, false otherwise. + + + + Parses the given string and returns the equivalent integer value. + + The associated script engine. + The string to parse. + The numeric base to use for parsing. Pass zero to use base 10 + except when the input string starts with '0' in which case base 16 or base 8 are used + instead (base 8 is only supported in compatibility mode). + The equivalent integer value of the given string. + Leading whitespace is ignored. Parsing continues until the first invalid + character, at which point parsing stops. No error is returned in this case. + + + + Parses the given string and returns the equivalent numeric value. + + The string to parse. + The equivalent numeric value of the given string. + Leading whitespace is ignored. Parsing continues until the first invalid + character, at which point parsing stops. No error is returned in this case. + + + + Represents an instance of the Number object. + + + None of the methods of the Number prototype are generic; they should throw TypeError + if the this value is not a Number object or a number primitive. + + + + + The primitive value. + + + + + Creates a new Number instance and initializes it to the given value. + + The next object in the prototype chain. + The value to initialize to. + + + + Creates the Number prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Gets the primitive value of the number. + + + + + Returns a string representing a number represented in exponential notation. + + Number of digits after the decimal point. Must be in the + range 0 – 20, inclusive. Defaults to the number of digits necessary to specify the + number. + A string representation of a number in exponential notation. The string + contains one digit before the significand's decimal point, and may contain + fractionDigits digits after it. + + + + Returns a string representing a number in fixed-point notation. + + Number of digits after the decimal point. Must be in the + range 0 – 20, inclusive. + A string representation of a number in fixed-point notation. The string + contains one digit before the significand's decimal point, and must contain + fractionDigits digits after it. + If fractionDigits is not supplied or undefined, the toFixed method assumes the value + is zero. + + + + Returns a string containing a locale-dependant version of the number. + + A string containing a locale-dependant version of the number. + + + + Returns a string containing a number represented either in exponential or fixed-point + notation with a specified number of digits. + + The number of significant digits. Must be in the range 1 – 21, + inclusive. + A string containing a number represented either in exponential or fixed-point + notation with a specified number of digits. + + For numbers in exponential notation, precision - 1 digits are returned after the + decimal point. For numbers in fixed notation, precision significant digits are + returned. + If precision is not supplied or is undefined, the toString method is called instead. + + + + + Returns the textual representation of the number. + + Specifies a radix for converting numeric values to strings. + The textual representation of the number. + + + + Returns the primitive value of the specified object. + + The primitive value of the specified object. + + + + Calculates the number of leading zero bits in the integer representation of this + number. + + The number of leading zero bits in the integer representation of this number. + + + + Counts the number of set bits in an integer. + + The integer. + The number of set bits in the integer. + + + + The base class of the javascript function attributes. + + + + + Creates a new BaseJSFunctionAttribute instance with no flags. + + + + + Creates a new BaseJSFunctionAttribute instance. + + One or more flags. + + + + Gets or sets the flags associated with the function. + + + + + Marks a method as being visible to javascript code. + + + + + Creates a new JSFunctionAttribute instance with no flags. + + + + + Get or sets the name of the function, as exposed to javascript. + + + + + Indicates the function is non-standard. + + + + + Indicates the function is deprecated and should not be used. + + + + + Gets or sets the "typical" number of arguments expected by the function. + + + + + Gets or sets whether the property value is writable. If this flag is not set, + attempting to modify the property will fail. The default value of this property + is true. + + + + + + Gets or sets whether the property should be enumerable (exposed via the + for...in construct) in JavaScript code. The default value of this + property is false. + + + + + + Gets or sets whether the property should be configurable, that is, whether + the property may be changed or have its descriptor changed by JavaScript + code. The default value of this property is true. + + + + + + Marks a method as being visible to javascript code. + Used internally - has different defaults to what you would expect. + + + + + Gets or sets the number of parameters that are required. If the function is called + with fewer than this number of arguments, then a TypeError will be thrown. + + + + + Marks a property as being visible to JavaScript code. + + + + + Creates a new + + + + + Gets or sets the name of the property as exposed to JavaScript code. + + + + + Gets or sets whether the property should be enumerable (exposed via the + for...in construct) in JavaScript code. The default value of this + property is false. + + + + + + Gets or sets whether the property should be configurable, that is, whether + the property may be changed or have its descriptor changed by JavaScript + code. The default value of this property is true. + + + + + + Some built-in objects act like both classes and functions depending on whether the + new operator is used (for example, the Number object acts this way). This + property indicates that the method should be called when an object is called like + a function. + + + + + Indicates that the method should be called when the new keyword is used. + + + + + Marks a field as being visible to javascript code. Currently only const fields + are supported. + + + + + Represents a container for property names and attributes. + + + + + Creates a new HiddenClassSchema instance from a modify or delete operation. + + + + + Creates a new HiddenClassSchema instance from an add operation. + + + + + Creates a hidden class schema with no properties. + + A hidden class schema with no properties. + + + + Gets the number of properties defined in this schema. + + + + + Gets the index into the Values array of the next added property. + + + + + Enumerates the property names for this schema. + + An enumerable collection of property names. + + + + Enumerates the property names and values for this schema. + + The array containing the property values. + An enumerable collection of property names and values. + + + + Gets the zero-based index of the property with the given name. + + The property key (either a string or a Symbol). + The zero-based index of the property, or -1 if a property with the + given name does not exist. + + + + Gets the zero-based index of the property with the given name and the attributes + associated with the property. + + The property key (either a string or a Symbol). + A structure containing the zero-based index of the property, or -1 if a property with the + given name does not exist. + + + + Adds a property to the schema. + + The property key of the property to add. + The property attributes. + A new schema with the extra property. + + + + Adds multiple properties to the schema. + + The properties to add. + A new schema with the extra properties. + + + + Deletes a property from the schema. + + The property key of the property to delete. + A new schema without the property. + + + + Modifies the attributes for a property in the schema. + + The property key of the property to modify. + The new attributes. + A new schema with the modified property. + + + + Creates the properties dictionary. + + + + + A set of flags that controls stub generation. + + + + + No flags were specified. + + + + + The first parameter to the function is the associated ScriptEngine. + + + + + The first (or second, if HasEngineParameter is specified) parameter to the + function is the this value. + + + + + Indicates that the instance object may be modified by the function. + + + + + A return value of null is converted to undefined immediately after control leaves the + method. + + + + + Represents the built-in javascript Object object. + + + + + Creates a new Object object. + + The next object in the prototype chain. + The prototype for instances created by this function. + + + + Creates a new Object instance. + + + + + Converts the given argument to an object. + + The value to convert. + + + + Converts the given argument to an object. + + The value to convert. + + + + Retrieves the next object in the prototype chain for the given object. + + The object to retrieve the prototype from. + The next object in the prototype chain for the given object, or null + if the object has no prototype chain. + + + + Sets the prototype of a specified object to another object or null. + + The object which is to have its prototype set. + The object's new prototype (an object or null). + The specified object. + + + + Gets an object that contains details of the property with the given name. + + The object to retrieve property details for. + The property key (either a string or a Symbol). + An object containing some of the following properties: configurable, + writable, enumerable, value, get and set. + + + + Creates an array containing the names of all the named properties on the object (even + the non-enumerable ones). + + The object to retrieve the property names for. + An array containing property names. + + + + Creates an array containing the symbols of all the symbol-based properties on the + object (even the non-enumerable ones). + + The object to retrieve the property symbols for. + An array containing symbols. + + + + Creates an object with the given prototype and, optionally, a set of properties. + + The script engine. + A reference to the next object in the prototype chain for the + created object. + An object containing one or more property descriptors. + A new object instance. + + + + Assigns enumerable properties of one or more source objects onto a destination object. + + The script engine. + The destination object to copy properties to. + One or more source objects to copy properties from. + A new object instance. + + + + Modifies the value and attributes of a property. + + The object to define the property on. + The property key (either a string or a Symbol). + A property descriptor containing some of the following + properties: configurable, writable, enumerable, value, get and set. + The object with the property. + + + + Modifies multiple properties on an object. + + The object to define the properties on. + An object containing one or more property descriptors. + The object with the properties. + + + + Prevents the addition or deletion of any properties on the given object. + + The object to modify. + The object that was affected. + + + + Prevents the addition, deletion or modification of any properties on the given object. + + The object to modify. + The object that was affected. + + + + Prevents the addition of any properties on the given object. + + The object to modify. + The object that was affected. + + + + Determines if addition or deletion of any properties on the object is allowed. + + The object to check. + true if properties can be added or at least one property can be + deleted; false otherwise. + + + + Determines if addition, deletion or modification of any properties on the object is + allowed. + + The object to check. + true if properties can be added or at least one property can be + deleted or modified; false otherwise. + + + + Determines if addition of properties on the object is allowed. + + The object to check. + true if properties can be added to the object; false otherwise. + + + + Creates an array containing the names of all the enumerable properties on the object. + + The object to retrieve the property names for. + An array containing the names of all the enumerable properties on the object. + + + + Determines whether two values are the same value. Note that this method considers NaN + to be equal with itself and negative zero is considered different from positive zero. + + The first value to compare. + The second value to compare. + true if the values are the same. + + + + Transforms a list of key-value pairs into an object. + + An iterable such as Array or Map. + A new object whose properties are given by the entries of the iterable. + + + + Provides functionality common to all JavaScript objects. + + + + + Indicates whether properties can be added to this object. + + + + + Creates an Object with the default prototype. + + The script engine associated with this object. + + + + Called by derived classes to create a new object instance. + + The next object in the prototype chain. Cannot be null. + + + + Called by derived classes to create a new object instance. + + The script engine associated with this object. + The next object in the prototype chain. Can be null. + + + + Creates an Object with no prototype to serve as the base prototype of all objects. + + The script engine associated with this object. + An Object with no prototype. + + + + Creates an Object instance (use ObjectConstructor.Construct rather than this). + + The next object in the prototype chain. + An Object instance. + + + + Initializes the prototype properties. + + The object to set the properties on. + A reference to the constructor that owns the prototype. + + + + Gets a reference to the script engine associated with this object. + + + + + Gets the next object in the prototype chain. There is no corresponding property in + javascript (it is is *not* the same as the prototype property), instead use + Object.getPrototypeOf(). Returns null for the root object in the prototype + chain. Use to set this value. + + + + + Gets a value that indicates whether the object can have new properties added to it. + Called by Object.isExtensible(). Use to set this value. + + + + + Gets or sets the value of a named property. + + The property key (either a string or a Symbol). + The property value, or if the property doesn't + exist. + + + + Gets or sets the value of an array-indexed property. + + The index of the property to retrieve. + The property value, or if the property doesn't + exist. + + + + Gets or sets the value of an array-indexed property. + + The index of the property to retrieve. + The property value, or if the property doesn't + exist. + + + + Gets an enumerable list of every property name and value associated with this object. + Does not include properties in the prototype chain. + + + + + Gets an enumerable list of every property name associated with this object. + Does not include properties in the prototype chain. + + + + + Sets the next object in the prototype chain. Can be null, which indicates there + are no further objects in the chain. + + The new prototype. + true to throw an exception if the prototype could not + be set. This can happen if the object is non-extensible or if setting the prototype + would introduce a cyclic dependency. + true if the prototype was successfully applied; false otherwise. + + + + Makes this object non-extensible, which means no new properties can be added to it. + + true to throw an exception if the object could not + be made non-extensible. + true if the operation was successful, false otherwise. The + default implementation always returns true. + + + + Determines if a property with the given name exists. + + The property key (either a string or a Symbol). + true if the property exists on this object or in the prototype chain; + false otherwise. + + + + Gets the value of the property with the given array index. + + The array index of the property. + The value of the property, or null if the property doesn't exist. + The prototype chain is searched if the property does not exist directly on + this object. + + + + Gets the value of the property with the given array index. + + The array index of the property. + The value of the "this" keyword inside a getter. + The value of the property, or null if the property doesn't exist. + The prototype chain is searched if the property does not exist directly on + this object. + + + + Gets the value of the property with the given name. + + The property key (either a string or a Symbol). + The value of the property, or null if the property doesn't exist. + The prototype chain is searched if the property does not exist directly on + this object. + + + + Gets the value of the property with the given name. + + The property key (either a string or a Symbol). + The value of the "this" keyword inside a getter. + The value of the property, or null if the property doesn't exist. + The prototype chain is searched if the property does not exist directly on + this object. + + + + Gets the value of the property with the given name. + + The property key (either a string or a Symbol). + Receives the value of the property, or null if the property + doesn't exist. + true if the value exists, false otherwise. + + + + Gets the value of the property with the given name. + + The name of the property. + The value of the property, or if the property + doesn't exist. + The prototype chain is searched if the property does not exist directly on + this object. + + + + Gets the value of the property with the given name. The name cannot be an array index. + + The property key (either a string or a Symbol). Cannot be an array index. + The value of the "this" keyword inside a getter. + The value of the property, or null if the property doesn't exist. + The prototype chain is searched if the property does not exist directly on + this object. + + + + Gets a descriptor for the property with the given array index. + + The array index of the property. + A property descriptor containing the property value and attributes. + The prototype chain is not searched. + + + + Gets a descriptor for the property with the given name. + + The property key (either a string or a Symbol). + A property descriptor containing the property value and attributes. + The prototype chain is not searched. + + + + Returns the function with the given name, if it exists. + + The property key (either a string or a Symbol). Cannot be a number. + The method with the given name, if it exists; otherwise null. + A property exists with the given name, but it's not callable. + + + + Sets the value of the property with the given array index. If a property with the + given index does not exist, or exists in the prototype chain (and is not a setter) then + a new property is created. + + The array index of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + true to throw an exception if the property could not + be set. This can happen if the property is read-only or if the object is sealed. + false if an error occurred. + + + + Sets the value of the property with the given array index. If a property with the + given index does not exist, or exists in the prototype chain (and is not a setter) then + a new property is created. + + The array index of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + The value of the "this" keyword inside a setter. + true to throw an exception if the property could not + be set. This can happen if the property is read-only or if the object is sealed. + false if an error occurred. + + + + Sets the value of the property with the given name. If a property with the given name + does not exist, or exists in the prototype chain (and is not a setter) then a new + property is created. + + The property key of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + true to throw an exception if the property could not + be set (i.e. if the property is read-only or if the object is not extensible and a new + property needs to be created). + false if is false and an error + occurred; true otherwise. + + + + Sets the value of the property with the given name. If a property with the given name + does not exist, or exists in the prototype chain (and is not a setter) then a new + property is created. + + The property key of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + The value of the "this" keyword inside a setter. + true to throw an exception if the property could not + be set (i.e. if the property is read-only or if the object is not extensible and a new + property needs to be created). + false if is false and an error + occurred; true otherwise. + + + + Sets the value of the property with the given name. If a property with the given name + does not exist, or exists in the prototype chain (and is not a setter) then a new + property is created. + + The name of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + true to throw an exception if the property could not + be set (i.e. if the property is read-only or if the object is not extensible and a new + property needs to be created). + false if is false and an error + occurred; true otherwise. + + + + Sets the value of the property with the given name. If a property with the given name + does not exist, or exists in the prototype chain (and is not a setter) then a new + property is created. + + The name of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + The value of the "this" keyword inside a setter. + true to throw an exception if the property could not + be set (i.e. if the property is read-only or if the object is not extensible and a new + property needs to be created). + false if is false and an error + occurred; true otherwise. + + + + Sets the value of the given property. If a property with the given name exists, but + only in the prototype chain, then a new property is created (unless the property is a + setter, in which case the setter is called and no property is created). If the + property does not exist at all, then no property is created and the method returns + false. This method is used to set the value of a variable reference within a + with statement. + + The property key (either a string or a Symbol). Cannot be an array index. + The desired value of the property. This must be a javascript + primitive (double, string, etc) or a class derived from . + The value of the "this" keyword inside a setter. + true to throw an exception if the property could not + be set (i.e. if the property is read-only or if the object is not extensible and a new + property needs to be created). + Set to true if the property value exists; false otherwise. + false if is false and an error + occurred; true otherwise. + + + + Deletes the property with the given array index. + + The array index of the property to delete. + true to throw an exception if the property could not + be set because the property was marked as non-configurable. + true if the property was successfully deleted, or if the property did + not exist; false if the property was marked as non-configurable and + was false. + + + + Deletes the property with the given name. + + The property key of the property to delete. + true to throw an exception if the property could not + be set because the property was marked as non-configurable. + true if the property was successfully deleted, or if the property did + not exist; false if the property was marked as non-configurable and + was false. + + + + Defines or redefines the value and attributes of a property. The prototype chain is + not searched so if the property exists but only in the prototype chain a new property + will be created. + + The property key of the property to modify. + The property value and attributes. + true to throw an exception if the property could not + be set. This can happen if the property is not configurable or the object is sealed. + true if the property was successfully modified; false otherwise. + + + + Checks whether the given descriptor is compatible with the current descriptor. + + Indicates whether the target object is extensible. + The new descriptor. + The descriptor corresponding to the currently existing property. + true if the new descriptor is compatible with the old one; false otherwise. + + + + Adds a property to this object. The property must not already exist. + + The property key of the property to add. + The desired value of the property. This can be a + . + Attributes describing how the property may be modified. + true to throw an exception if the property could not + be added (i.e. if the object is not extensible). + true if the property was successfully added; false otherwise. + + + + Sets a property value and attributes, or adds a new property if it doesn't already + exist. Any existing attributes are ignored (and not modified). + + The property key (either a string or a Symbol). + The intended value of the property. + Attributes that indicate whether the property is writable, + configurable and enumerable. + Indicates whether to overwrite any existing attributes. + + + + Sets up multiple properties at once. Can only be called on an empty object. + + The list of properties to set. + + + + Initializes a property to be undefined, if the property doesn't exist. + If it does exist, then this method does nothing. + + The property key of the property. + The attributes of the new property, if it doesn't exist. + + + + Returns a primitive value that represents the current object. Used by the addition and + equality operators. + + Indicates the preferred type of the result. + A primitive value that represents the current object. + + + + Returns a primitive value that represents the current object, without using the + @@toPrimitive symbol. + + Indicates the preferred type of the result. + A primitive value that represents the current object. + + + + Calls the function with the given name. The function must exist on this object or an + exception will be thrown. + + The name of the function to call (or a symbol). + The parameters to pass to the function. + The result of calling the function. + + + + Calls the function with the given name. + + The result of calling the function. + The name or symbol of the function to call. + The parameters to pass to the function. + true if the function was called successfully; false otherwise. + + + + Returns a string representing this object. + + A string representing this object. + + + + Determines if a property with the given name exists on this object. + + The associated script engine. + The object that is being operated on. + The property key (either a string or a Symbol). + true if a property with the given name exists on this object, + false otherwise. + Objects in the prototype chain are not considered. + + + + Determines if this object is in the prototype chain of the given object. + + The associated script engine. + The object that is being operated on. + The object to check. + true if this object is in the prototype chain of the given object; + false otherwise. + + + + Determines if a property with the given name exists on this object and is enumerable. + + The associated script engine. + The object that is being operated on. + The property key (either a string or a Symbol). + true if a property with the given name exists on this object and is + enumerable, false otherwise. + Objects in the prototype chain are not considered. + + + + Returns a locale-dependant string representing the current object. + + Returns a locale-dependant string representing the current object. + + + + Returns a primitive value associated with the object. + + A primitive value associated with the object. + + + + Returns a string representing the current object. + + The current script environment. + The value of the "this" keyword. + A string representing the current object. + + + + Populates the object with functions by searching a .NET type for methods marked with + the [JSFunction] attribute. Should be called only once at startup. Also automatically + populates properties marked with the [JSProperty] attribute. + + + + + Populates the object with functions by searching a .NET type for methods marked with + the [JSFunction] attribute. Should be called only once at startup. Also automatically + populates properties marked with the [JSProperty] attribute. + + The type to search for methods. + + + + Populates the object with functions by searching a .NET type for methods marked with + the [JSFunction] attribute. Should be called only once at startup. Also automatically + populates properties marked with the [JSProperty] attribute. + + The type to search for methods. + The binding flags to use to search for properties and methods. + + + + Populates the object with properties by searching a .NET type for fields marked with + the [JSField] attribute. Should be called only once at startup. + + + + + Populates the object with properties by searching a .NET type for fields marked with + the [JSField] attribute. Should be called only once at startup. + + The type to search for fields. + + + + Represents a the value of an accessor property. + + + + + Creates a new PropertyAccessorValue instance. + + The getter function, or null if no getter was provided. + The setter function, or null if no setter was provided. + + + + Gets the function that is called when the property value is retrieved. + + + + + Gets the function that is called when the property value is modified. + + + + + Gets the property value by calling the getter, if one is present. + + The value of the "this" keyword inside the getter. + The property value returned by the getter. + + + + Sets the property value by calling the setter, if one is present. + + The value of the "this" keyword inside the setter. + The desired value. + + + + Returns a string that represents the current object. + + + + + A set of flags which controls the accessibility of properties. + + + + + Indicates the property value is not writable, enumerable or configurable. This is + the default for built-in properties. + + + + + Indicates the property value is writable. If this flag is not set, attempting to + modify the property will fail. Not used if the property is an accessor property. + + + + + Indicates the property will be enumerated by a for-in enumeration. Otherwise, the + property is said to be non-enumerable. + + + + + Indicates the property can be deleted or changed to an accessor property or have it's + flags changed. + + + + + Indicates the property can be modified and deleted but will not be enumerated. + + + + + Indicates the property is read-write, enumerable and configurable. This is the default + for user-created properties. + + + + + Indicates the property is an accessor property (i.e. it has a getter or a setter). + + + + + Indicates the property is the "magic" length property (only found on arrays). + + + + + Represents either a named data property, or a named accessor property. + + + + + Creates a new PropertyDescriptor instance. + + The initial value for the property. + The property attributes. + + + + Creates a new PropertyDescriptor instance with a getter function and, optionally, a + setter function. + + The function to call to retrieve the property value. + The function to call to set the property value. + The property attributes (whether the property is writable or + not is implied by whether there is a setter function). + + + + Indicates that a property doesn't exist. + + + + + Used to indicate that a property whose value is undefined, and is not writable, + enumerable or configurable. + + + + + Gets a value that indicates whether the property exists. + + + + + Gets the property attributes. These attributes describe how the property can + be modified. + + + + + Gets a boolean value indicating whether the property value can be set. + + + + + Gets a boolean value indicating whether the property value will be included during an + enumeration. + + + + + Gets a boolean value indicating whether the property can be deleted. + + + + + Gets the raw property value. Does not call the get accessor, even if one is present. + + + + + Returns a string representing the current object. + + A string representing the current object. + + + + Gets a value that indicates whether the value is computed using accessor functions. + + + + + Gets the function that is called when the property value is retrieved, assuming this + property value is computed using accessor functions. Returns null if the + property is not a accessor property. + + + + + Gets the function that is called when the property value is modified, assuming this + property value is computed using accessor functions. Returns null if the + property is not a accessor property. + + + + + Creates a property descriptor from an object containing any of the following + properties: configurable, writable, enumerable, value, get, set. + + The object to get the property values from. + The values to use if the relevant value is not specified. + A PropertyDescriptor that corresponds to the object. + + + + Populates an object with the following properties: configurable, writable, enumerable, + value, get, set. + + The script engine used to create a new object. + An object with the information in this property descriptor set as individual + properties. + + + + Checks whether the given descriptor is compatible with the current descriptor. + + The new descriptor. + The descriptor corresponding to the currently existing property. + true if the new descriptor is compatible with the old one; false otherwise. + + + + Represents a property name and value. + + + + + Initializes a property with any descriptor. + + The property key (either a string or a Symbol). + A descriptor describing the property. + + + + Initializes a simple property. + + The property key (either a string or a Symbol). + The property value. + Indicates whether the property is readable, writable and/or enumerable. + + + + Initializes a getter/setter property. + + The property key (either a string or a Symbol). + The function to call to retrieve the property value. + The function to call to set the property value. + Indicates whether the property is readable, writable and/or enumerable. + + + + Gets the property key. + + + + + Gets the value of the property. + + + + + Gets the property attributes. These attributes describe how the property can + be modified. + + + + + Gets a boolean value indicating whether the property value can be set. + + + + + Gets a boolean value indicating whether the property value will be included during an + enumeration. + + + + + Gets a boolean value indicating whether the property can be deleted. + + + + + Returns a string that represents the current object. + + + + + Represents a property name. Used to speed up access to object properties and global variables. + + + + + Creates a new PropertyName instance. + + The name of the property to be accessed. + + + + The property name. + + + + + A reference to a schema that defines how properties are stored. + + + + + The index into the property array. + + + + + Caches property details. + + A reference to a schema that defines how properties are stored. + The index into the property array. + + + + Clears the cached property details. + + + + + Returns a textual representation of this object. + + + + + + Represents the information stored about a property in the class schema. + + + + + Creates a new SchemaProperty instance. + + The index of the property in the backing array. + The property attributes. These attributes describe how the + property can be modified. + + + + Gets a value that indicates that a property doesn't exist. + + + + + Gets the index of the property in the backing array. + + + + + Gets the property attributes. These attributes describe how the property can + be modified. + + + + + Gets a value that indicates whether the property exists. + + + + + Gets a boolean value indicating whether the property value can be set. + + + + + Gets a boolean value indicating whether the property value will be included during an + enumeration. + + + + + Gets a boolean value indicating whether the property can be deleted. + + + + + Gets a value that indicates whether the value is computed using accessor functions. + + + + + Gets a value that indicates whether the property is the magic length property. + + + + + Represents the built-in javascript Promise object. + + + + + Creates a new promise constructor. + + The next object in the prototype chain. + + + + Called when the Promise object is invoked like a function, e.g. var x = Promise(). + Throws an error. + + + + + Creates a new Promise instance. + + The function that the promise executes. + The Promise instance. + + + + Creates a new Promise instance from a task. + + A task to wait on. + The Promise instance. + + If the task is of type Task<object> then the result of the task will be used to + resolve the promise. Otherwise, the promise is resolved with "undefined" as the value. + + + + + A reference to the constructor function that is used to create derived objects. + + + + + Returns a Promise that is rejected for the specified reason. + + The reason. Can be an Error instance. + + + + + Returns either a new promise resolved with the passed argument, or the argument itself + if the argument is a promise produced by this constructor. + + Argument to be resolved by this Promise. Can also be a Promise or + a thenable to resolve. + + + + + Returns a new promise which is settled in the same way as the first passed promise to + settle. All elements of the passed iterable are resolved to promises. + + An iterable object such as an Array. + + + + + Returns a Promise. It takes one argument: a list of Promises that determine whether + the new Promise is fulfilled or rejected. + + An iterable object such as an Array. + + + + + Represents an instance of the Promise object. + + + + + Creates a new Promise instance. + + + + + + + Creates a new Promise instance. + + + + + + Resolves the promise with the given value. If the value is an object with a "then" + function, the returned promise will "follow" that thenable, adopting its eventual + state; otherwise the returned promise will be fulfilled with the value. + + The resolved value of the promise, or a promise or thenable to + follow. + + + + Rejects the promise with the given reason. + + The reason why this promise rejected. Can be an Error instance. + + + + Creates the Promise prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + When the promise is completed, i.e either fulfilled or rejected, the specified callback + function is executed. + + A Function called when the Promise is completed. + + + + + Returns a Promise and deals with rejected cases only. It behaves the same as calling + Promise.prototype.then(undefined, onRejected). + + A Function called when the Promise is rejected. This function + has one argument, the rejection reason. + + + + + Returns a Promise. It takes two arguments: callback functions for the success and + failure cases of the Promise. + + A Function called when the Promise is fulfilled. This + function has one argument, the fulfillment value. + A Function called when the Promise is rejected. This function + has one argument, the rejection reason. + + + + + Creates a task that completes when this promise completes. + + The task that completes when this promise completes. + + + + Gets the promise status. Used by debugger decoration only. + + + + + Gets the promise result. Used by debugger decoration only. + + + + + Gets a function that will resolve the promise. + + + + + Gets a function that will reject the promise. + + + + + Represents a proxy instance. + + + + + The proxy target. + + + + + Invalidates (switches off) the proxy. + + + + + The Set object lets you store unique values of any type, whether primitive values or object references. + + + + + Creates a new set constructor. + + The next object in the prototype chain. + + + + Called when the typed array object is invoked like a function, e.g. Proxy(). + Throws an error. + + + + + Creates a proxy object. + + A target object to wrap with Proxy. It can be any sort of object, including a native array, a function, or even another proxy. + An object whose properties are functions that define the behavior of the proxy when an operation is performed on it. + A new proxy object. + + + + Creates a revocable proxy object. + + The script engine. + A target object to wrap with Proxy. It can be any sort of object, including a native array, a function, or even another proxy. + An object whose properties are functions that define the behavior of the proxy when an operation is performed on it. + A new proxy object. + + + + Represents a callable, constructable instance of the Proxy class. + + + + + Creates a new proxy instance. + + The script engine. + A target object to wrap with Proxy. It can be any sort of object, + including a native array, a function, or even another proxy. + An object whose properties are functions that define the + behavior of the proxy when an operation is performed on it. + + + + The proxy target. + + + + + Invalidates (switches off) the proxy. + + + + + Calls this function, passing in the given "this" value and zero or more arguments. + + The value of the "this" keyword within the function. + An array of argument values. + The value that was returned from the function. + + + + Creates an object, using this function as the constructor. + + The value of 'new.target'. + An array of argument values. + The object that was created. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents an instance of the Proxy class, one that is non-callable and non-constructable. + + + + + Creates a new proxy instance. + + The script engine. + A target object to wrap with Proxy. It can be any sort of object, + including a native array, a function, or even another proxy. + An object whose properties are functions that define the + behavior of the proxy when an operation is performed on it. + + + + The proxy target. + + + + + Invalidates (switches off) the proxy. + + + + + Gets the next object in the prototype chain. There is no corresponding property in + javascript (it is is *not* the same as the prototype property), instead use + Object.getPrototypeOf(). Returns null for the root object in the prototype + chain. Use to set this value. + + + Enforces the following invariants: + * The return value must be either an Object or null. + * If the target object is not extensible, the return value must be the same as + Object.getPrototypeOf() applied to the proxy object's target object. + + + + + Sets the next object in the prototype chain. Can be null, which indicates there + are no further objects in the chain. + + The new prototype. + true to throw an exception if the prototype could not + be set. This can happen if the object is non-extensible or if setting the prototype + would introduce a cyclic dependency. + true if the prototype was successfully applied; false otherwise. + + + + Gets a value that indicates whether the object can have new properties added to it. + Called by Object.isExtensible(). Use to set this value. + + + + + Makes this object non-extensible, which means no new properties can be added to it. + + true to throw an exception if the object could not + be made non-extensible. + true if the operation was successful, false otherwise. + + + + Gets a descriptor for the property with the given array index. + + The array index of the property. + A property descriptor containing the property value and attributes. + The prototype chain is not searched. + + + + Gets a descriptor for the property with the given name. + + The property key (either a string or a Symbol). + A property descriptor containing the property value and attributes. + + Enforces the following invariants: + * The result of [[GetOwnProperty]] must be either an Object or undefined. + * A property cannot be reported as non-existent, if it exists as a non-configurable own + property of the target object. + * A property cannot be reported as non-existent, if the target object is not + extensible, unless it does not exist as an own property of the target object. + * A property cannot be reported as existent, if the target object is not extensible, + unless it exists as an own property of the target object. + * A property cannot be reported as non-configurable, unless it exists as a + non-configurable own property of the target object. + * A property cannot be reported as both non-configurable and non-writable, unless it + exists as a non-configurable, non-writable own property of the target object. + + + + + Defines or redefines the value and attributes of a property. The prototype chain is + not searched so if the property exists but only in the prototype chain a new property + will be created. + + The property key of the property to modify. + The property value and attributes. + true to throw an exception if the property could not + be set. This can happen if the property is not configurable or the object is sealed. + true if the property was successfully modified; false otherwise. + + + + Determines if a property with the given name exists. + + The property key (either a string or a Symbol). + true if the property exists on this object or in the prototype chain; + false otherwise. + + + + Gets the value of the property with the given array index. + + The array index of the property. + The value of the "this" keyword inside a getter. + The value of the property, or null if the property doesn't exist. + The prototype chain is searched if the property does not exist directly on + this object. + + + + Gets the value of the property with the given name. + + The name of the property. + The value of the property, or if the property + doesn't exist. + The prototype chain is searched if the property does not exist directly on + this object. + + + + Gets the value of the property with the given name. The name cannot be an array index. + + The property key (either a string or a Symbol). Cannot be an array index. + The value of the "this" keyword inside a getter. + The value of the property, or null if the property doesn't exist. + The prototype chain is searched if the property does not exist directly on + this object. + + + + Gets the value of the property with the given name. + + The property key (either a string or a Symbol). + The value of the "this" keyword inside a getter. + The value of the property, or null if the property doesn't exist. + The prototype chain is searched if the property does not exist directly on + this object. + + + + Sets the value of the property with the given array index. If a property with the + given index does not exist, or exists in the prototype chain (and is not a setter) then + a new property is created. + + The array index of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + The value of the "this" keyword inside a setter. + true to throw an exception if the property could not + be set. This can happen if the property is read-only or if the object is sealed. + false if an error occurred. + + + + Sets the value of the property with the given name. If a property with the given name + does not exist, or exists in the prototype chain (and is not a setter) then a new + property is created. + + The name of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + The value of the "this" keyword inside a setter. + true to throw an exception if the property could not + be set (i.e. if the property is read-only or if the object is not extensible and a new + property needs to be created). + false if is false and an error + occurred; true otherwise. + + + + Sets the value of the property with the given name. If a property with the given name + does not exist, or exists in the prototype chain (and is not a setter) then a new + property is created. + + The property key of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + The value of the "this" keyword inside a setter. + true to throw an exception if the property could not + be set (i.e. if the property is read-only or if the object is not extensible and a new + property needs to be created). + false if is false and an error + occurred; true otherwise. + + + + Deletes the property with the given name. + + The property key of the property to delete. + true to throw an exception if the property could not + be set because the property was marked as non-configurable. + true if the property was successfully deleted, or if the property did + not exist; false if the property was marked as non-configurable and + was false. + + + + Gets an enumerable list of every property name associated with this object. + Does not include properties in the prototype chain. + + + + + Represents the built-in Reflect class that provides methods for interceptable JavaScript + operations. + + + + + Creates a new Reflect object. + + The next object in the prototype chain. + + + + Calls a target function with arguments as specified by the argumentsList parameter. + See also Function.prototype.apply(). + + The target function to call. + The value of this provided for the call to target. + An array-like object specifying the arguments with which target should be called. + The result of calling the given target function with the specified this value and arguments. + + + + The new operator as a function. Equivalent to calling new target(...argumentsList). Also provides the option to specify a different prototype. + + The target function to call. + An array-like object specifying the arguments with which target should be called. + The constructor whose prototype should be used. See also the new.target operator. If newTarget is not present, its value defaults to target. + A new instance of target (or newTarget, if present), initialized by target as a constructor with the given argumentsList. + + + + Similar to Object.defineProperty(). Returns a Boolean that is true if the property was successfully defined. + + The target object on which to define the property. + The name of the property to be defined or modified. + The attributes for the property being defined or modified. + A Boolean indicating whether or not the property was successfully defined. + + + + The delete operator as a function. Equivalent to calling delete target[propertyKey]. + + The target object on which to delete the property. + The name of the property to be deleted. + A Boolean indicating whether or not the property was successfully deleted. + + + + Returns the value of the property. Works like getting a property from an object (target[propertyKey]) as a function. + + The target object on which to get the property. + The name of the property to get. + The value of this provided for the call to target if a getter + is encountered. When used with Proxy, it can be an object that inherits from target. + The value of the property. + + + + Similar to Object.getOwnPropertyDescriptor(). Returns a property descriptor of the given property if it exists on the object, undefined otherwise. + + The target object in which to look for the property. + The name of the property to get an own property descriptor for. + + + + + Same as Object.getPrototypeOf(). + + The target object of which to get the prototype. + The prototype of the given object. If there are no inherited properties, null is returned. + + + + Returns a Boolean indicating whether the target has the property. Either as own or + inherited. Works like the in operator as a function. + + The target object in which to look for the property. + The name of the property to check. + A Boolean indicating whether or not the target has the property. + + + + Same as Object.isExtensible(). Returns a Boolean that is true if the target is extensible. + + The target object which to check if it is extensible. + A Boolean indicating whether or not the target is extensible. + + + + Returns an array of the target object's own (not inherited) property keys. + + The target object from which to get the own keys. + An Array of the target object's own property keys. + + + + Similar to Object.preventExtensions(). + + The target object on which to prevent extensions. + A Boolean indicating whether or not the target was successfully set to prevent extensions. + + + + A function that assigns values to properties. Returns a Boolean that is true if the update was successful. + + The target object on which to set the property. + The name of the property to set. + The value to set. + The value of this provided for the call to target if a setter is encountered. + A Boolean indicating whether or not setting the property was successful. + + + + A function that sets the prototype of an object. Returns a Boolean that is true if the update was successful. + + The target object of which to set the prototype. + The object's new prototype (an object or null). + A Boolean indicating whether or not the prototype was successfully set. + + + + Represents the built-in javascript RegExp object. + + + + + Creates a new RegExp object. + + The next object in the prototype chain. + + + + A reference to the constructor function that is used to create derived objects. + + + + + Adds the deprecated RegExp properties to the given list. + + The list to add to. + + + + Initializes a single deprecated property. + + The list to add to. + The name of the property. + The property getter. + The property attributes (determines whether the property is enumerable). + + + + Sets the deprecated RegExp properties. + + The string against which a regular expression is matched. + The regular expression match to base the properties on. + + + + Gets the value of RegExp.input and RegExp.$_. + + The value of RegExp.input and RegExp.$_. + + + + Adapter for GetInput(). + + + + + + + + + Gets the value of RegExp.$1. + + The value of RegExp.$1. + + + + Adapter for GetGroup1(). + + + + + + + + + Gets the value of RegExp.$2. + + The value of RegExp.$2. + + + + Adapter for GetGroup2(). + + + + + + + + + Gets the value of RegExp.$3. + + The value of RegExp.$3. + + + + Adapter for GetGroup3(). + + + + + + + + + Gets the value of RegExp.$4. + + The value of RegExp.$4. + + + + Adapter for GetGroup4(). + + + + + + + + + Gets the value of RegExp.$5. + + The value of RegExp.$5. + + + + Adapter for GetGroup5(). + + + + + + + + + Gets the value of RegExp.$6. + + The value of RegExp.$6. + + + + Adapter for GetGroup6(). + + + + + + + + + Gets the value of RegExp.$7. + + The value of RegExp.$7. + + + + Adapter for GetGroup7(). + + + + + + + + + Gets the value of RegExp.$8. + + The value of RegExp.$8. + + + + Adapter for GetGroup8(). + + + + + + + + + Gets the value of RegExp.$9. + + The value of RegExp.$9. + + + + Adapter for GetGroup9(). + + + + + + + + + Gets the value of RegExp.lastMatch and RegExp.$&. + + The value of RegExp.lastMatch and RegExp.$&. + + + + Adapter for GetLastMatch(). + + + + + + + + + Gets the value of RegExp.lastParen and RegExp.$+. + + The value of RegExp.lastParen and RegExp.$+. + + + + Adapter for GetLastParen(). + + + + + + + + + Gets the value of RegExp.leftContext and RegExp.$`. + + The value of RegExp.leftContext and RegExp.$`. + + + + Adapter for GetLeftContext(). + + + + + + + + + Gets the value of RegExp.rightContext and RegExp.$'. + + The value of RegExp.rightContext and RegExp.$'. + + + + Adapter for GetRightContext(). + + + + + + + + + Called when the RegExp object is invoked like a function e.g. RegExp('abc', 'g') or + RegExp(/abc/). If a string is passed as the first parameter it creates a new regular + expression instance. Otherwise, if a regular expression is passed it returns the given + regular expression verbatim. + + A regular expression pattern or a regular expression. + Available flags, which may be combined, are: + g (global search for all occurrences of pattern) + i (ignore case) + m (multiline search) + + + + Called when the new keyword is used on the RegExp object e.g. new RegExp(/abc/). + Creates a new regular expression instance. + + The regular expression pattern, or a regular expression + to clone. + Available flags, which may be combined, are: + g (global search for all occurrences of pattern) + i (ignore case) + m (multiline search) + + + + Called when the new keyword is used on the RegExp object e.g. new RegExp(/abc/). + Creates a new regular expression instance. + + The value of the new.target expression. + The regular expression pattern, or a regular expression + to clone. + Available flags, which may be combined, are: + g (global search for all occurrences of pattern) + i (ignore case) + m (multiline search) + + + + Represents an instance of the RegExp object. + + + + + Creates a new regular expression instance. + + The next object in the prototype chain. + The regular expression pattern. + Available flags, which may be combined, are: + g (global search for all occurrences of pattern) + i (ignore case) + m (multiline search) + + + + Creates a new regular expression instance by copying the pattern and flags from another + RegExp instance. + + The next object in the prototype chain. + The instance to copy the pattern and flags from. + + + + Creates the RegExp prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Gets the primitive value of this object. + + + + + Gets the regular expression pattern. + + + + + Gets a string that contains the flags. + + + + + Gets a value that indicates whether the global flag is set. If this flag is set it + indicates that a search should find all occurrences of the pattern within the searched + string, not just the first one. + + + + + Gets a value that indicates whether the multiline flag is set. If this flag is set it + indicates that the ^ and $ tokens should match the start and end of lines and not just + the start and end of the string. + + + + + Gets a value that indicates whether the ignoreCase flag is set. If this flag is set it + indicates that a search should ignore differences in case between the pattern and the + matched string. + + + + + Gets the character position to start searching when the global flag is set. + + + + + Compiles the regular expression for faster execution. + + The regular expression pattern. + Available flags, which may be combined, are: + g (global search for all occurrences of pattern) + i (ignore case) + m (multiline search) + + + + Returns a boolean value that indicates whether or not a pattern exists in a searched string. + + The string on which to perform the search. + true if the regular expression has at least one match in the given + string; false otherwise. + + + + Executes a search on a string using a regular expression pattern, and returns an array + containing the results of that search. + + The string on which to perform the search. + Returns an array containing the match and submatch details, or null if + no match was found. The array returned by the exec method has three properties, input, + index and lastIndex. The input property contains the entire searched string. The index + property contains the position of the matched substring within the complete searched + string. The lastIndex property contains the position following the last character in + the match. + + + + Calculates the position to start searching. + + The string on which to perform the search. + The character position to start searching. + + + + Finds all regular expression matches within the given string. + + The string on which to perform the search. + An array containing the matched strings. + + + + Returns a copy of the given string with text replaced using a regular expression. + + The string on which to perform the search. + A string containing the text to replace for every successful match. + A copy of the given string with text replaced using a regular expression. + + + + Returns a copy of the given string with text replaced using a regular expression. + + The string on which to perform the search. + A string containing the text to replace for every successful match. + A copy of the given string with text replaced using a regular expression. + + + + Returns a copy of the given string with text replaced using a regular expression. + + The string on which to perform the search. + A function that is called to produce the text to replace + for every successful match. + A copy of the given string with text replaced using a regular expression. + + + + Returns the position of the first substring match in a regular expression search. + + The string on which to perform the search. + The character position of the first match, or -1 if no match was found. + + + + Splits the given string into an array of strings by separating the string into substrings. + + The string to split. + The maximum number of array items to return. Defaults to unlimited. + An array containing the split strings. + + + + Returns a string representing the current object. + + The object that is being operated on. + A string representing the current object. + + + + Parses the flags parameter into an enum. + + Available flags, which may be combined, are: + g (global search for all occurrences of pattern) + i (ignore case) + m (multiline search) + RegexOptions flags that correspond to the given flags. + + + + Creates a .NET Regex object using the given pattern and options. + + The pattern string. + The regular expression options. + A constructed .NET Regex object. + + + + The Set object lets you store unique values of any type, whether primitive values or object references. + + + + + Creates a new set constructor. + + The next object in the prototype chain. + + + + A reference to the constructor function that is used to create derived objects. + + + + + Called when the typed array object is invoked like a function, e.g. Int8Array(). + Throws an error. + + + + + Creates a new set instance. + + If an iterable object is passed, all of its elements will be + added to the new Set. null is treated as undefined. + A new set instance. + + + + The Set object lets you store unique values of any type, whether primitive values or object references. + + + + + Creates a new set instance. + + The next object in the prototype chain. + + + + Creates the Set prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Called before a linked list node is deleted. + + + + + Gets the internal storage. Used by debugger decoration only. + + + + + The number of elements in the Set. + + + + + Appends a new element with a specified value to the end of the Set. + + The value of the element to add to the Set. + The Set object. + + + + Removes all elements from a Set + + + + + Removes the specified value from the Set. + + The value of the element to remove from the Set. + true if an element in the Set object has been removed successfully; + otherwise false. + + + + Returns a new array iterator object that contains the key/value pairs for each index in + the array. + + An array iterator object that contains the key/value pairs for each index in + the array. + + + + Executes a provided function once per each value in the Set, in insertion order. + + Function to execute for each element. + Value to use as this when executing callback. + + + + Returns a boolean indicating whether an element with the specified value exists in the + Set or not. + + The value to test for presence in the Set. + true if an element with the specified value exists in the Set object; + otherwise false. + + + + Returns a new array iterator object that contains the keys for each index in the array. + + An array iterator object that contains the keys for each index in the array. + + + + Returns a new array iterator object that contains the values for each index in the + array. + + An array iterator object that contains the values for each index in the + array. + + + + Implements the SameValueZero comparison operation. + + + + + Represents an iteration over a Set. + + + + + Creates a new set iterator. + + The next object in the prototype chain. + The set to iterate over. + The linked list to iterate over. + The type of values to return. + + + + Creates the array iterator prototype object. + + The script environment. + + + + Called before a linked list node is deleted. + + The node that is being deleted. + + + + The tag value that is used by the base implementation of toString(). + + + + + Moves the iterator to the next element in the array. + + An object containing two properies: value and done. + + + + Gets wheter the end is reached. Used by debugger decoration only. + + + + + Gets current index. Used by debugger decoration only. + + + + + Gets what is iterated - key, value or both. + + + + + Gets the iterated Set. + + + + + Represents the built-in javascript String object. + + + + + Creates a new String object. + + The next object in the prototype chain. + + + + Called when the String object is invoked like a function, e.g. var x = String(). + Returns an empty string. + + + + + Called when the String object is invoked like a function, e.g. var x = String(NaN). + Converts the given argument into a string value (not a String object). + + + + + Creates a new String instance and initializes it to the empty string. + + + + + Creates a new String instance and initializes it to the given value. + + The value to initialize to. + + + + Returns a string created by using the specified sequence of Unicode values. + + An array of 16-bit character codes. + + + + + Returns a string created by using the specified sequence of Unicode codepoints. + + The script engine. + An array of unicode code points. + + + + + A tag function of template literals which is used to get the raw string form of + template strings (that is, the original, uninterpreted text). + + The script engine. + Well-formed template call site object e.g. { raw: ['one', 'two'] }. + Contains substitution values. + A formatted string containing the raw template literal text (with + substitutions included). + + + + Represents an instance of the JavaScript string object. + + + + + Creates a new string instance. + + The next object in the prototype chain. + The value to initialize the instance. + + + + Creates the string prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Gets the primitive value of this object. + + + + + Gets the number of characters in the string. + + + + + Gets a descriptor for the property with the given array index. + + The array index of the property. + A property descriptor containing the property value and attributes. + The prototype chain is not searched. + + + + Defines or redefines the value and attributes of a property. The prototype chain is + not searched so if the property exists but only in the prototype chain a new property + will be created. + + The property key of the property to modify. + The property value and attributes. + true to throw an exception if the property could not + be set. This can happen if the property is not configurable or the object is sealed. + true if the property was successfully modified; false otherwise. + + + + Gets an enumerable list of every property name associated with this object. + Does not include properties in the prototype chain. + + + + + Returns the character at the specified index. + + The string that is being operated on. + The character position (starts at 0). + + + + + Returns a number indicating the 16-bit UTF-16 character code at the given index. + + The string that is being operated on. + The character position (starts at 0). + + + + + Returns a number indicating the Unicode code point of the character at the given index. + + The string that is being operated on. + The character position (starts at 0). + + + + + Combines the text of two or more strings and returns a new string. + + The current script environment. + The string that is being operated on. + The strings to concatenate with this string. + The result of combining this string with the given strings. + + + + Returns true if the calling String object contains the given string. + + The script engine. + The string that is being operated on. + The substring to search for. + The character position within the string to start searching. + true if the substring was found; false otherwise. + + + + Returns the index within the calling String object of the first occurrence of the specified value, or -1 if not found. + + The string that is being operated on. + The substring to search for. + The character position to start searching from. Defaults to 0. + The character position of the start of the substring, if it was found, or -1 if it wasn't. + + + + Returns the index within the calling String object of the specified value, searching + backwards from the end of the string. + + The string that is being operated on. + The substring to search for. + The index of the character to start searching. + The index of the substring, or -1 if not found. + + + + Returns a number indicating whether a reference string comes before or after or is the + same as the given string in sort order. + + The string that is being operated on. + The string to compare with. + -1, 0 or 1 depending on whether the given string comes before or after or is + the same as the given string in sort order. + + + + Finds the first match of the given substring within this string. + + The current script environment. + The string that is being operated on. + The substring or regular expression to search for. + An array containing the matched strings. + + + + Returns a new string whose binary representation is in a particular Unicode normalization form. + + The current ScriptEngine instance. + The string that is being operated on. + A Unicode normalization form. + A new string whose binary representation is in a particular Unicode normalization form. + + + + Wraps the string in double quotes ("). Any existing double quotes in the string are + escaped using the backslash character. + + The string to wrap. + The input string wrapped with double quotes and with existing double quotes + escaped. + + + + Substitutes the given string or regular expression with the given text or the result + of a replacement function. + + The current script environment. + The string that is being operated on. + The substring to replace -or- a regular expression that + matches the text to replace. + The text to substitute -or- a function that + returns the text to substitute. + A copy of this string with text replaced. + + + + Returns a copy of this string with text replaced. + + The string that is being operated on. + The text to search for. + A string containing the text to replace for every successful + match. + A copy of this string with text replaced. + + + + Returns a copy of this string with text replaced using a replacement function. + + The string that is being operated on. + The text to search for. + A function that is called to produce the text to replace + for every successful match. + A copy of this string with text replaced. + + + + Returns the position of the first substring match. + + The current script environment. + The string that is being operated on. + The string or regular expression to search for. + The character position of the first match, or -1 if no match was found. + + + + Extracts a section of the string and returns a new string. + + The string that is being operated on. + The character position to start extracting. + The character position to stop extacting. + A section of the string. + + + + Splits this string into an array of strings by separating the string into substrings. + + The current script environment. + The string that is being operated on. + A string or regular expression that indicates where to split the string. + The maximum number of array items to return. Defaults to unlimited. + An array containing the split strings. + + + + Splits this string into an array of strings by separating the string into substrings. + + The current script environment. + The string that is being operated on. + A string that indicates where to split the string. + The maximum number of array items to return. Defaults to unlimited. + An array containing the split strings. + + + + Returns the characters in a string beginning at the specified location through the specified number of characters. + + The string that is being operated on. + The character position to start extracting. + The number of characters to extract. + A substring of this string. + + + + Returns the characters in a string between two indexes into the string. + + The string that is being operated on. + The character position to start extracting. + The character position to stop extracting. + A substring of this string. + + + + Converts the characters within this string to lowercase while respecting the current + locale. + + A copy of this string with the characters converted to lowercase. + + + + Converts the characters within this string to uppercase while respecting the current + locale. + + A copy of this string with the characters converted to uppercase. + + + + Returns the calling string value converted to lowercase. + + A copy of this string with the characters converted to lowercase. + + + + Returns a string representing the current object. + + A string representing the current object. + + + + Returns the calling string value converted to uppercase. + + A copy of this string with the characters converted to uppercase. + + + + Trims whitespace from the beginning and end of the string. + + + + + + Trims whitespace from the beginning of the string. + + + + + + Trims whitespace from the beginning of the string. + + + + + + Trims whitespace from the beginning of the string. + + + + + + Trims whitespace from the beginning of the string. + + + + + + Returns the underlying primitive value of the current object. + + The underlying primitive value of the current object. + + + + Determines whether a string begins with the characters of another string. + + The string that is being operated on. + The characters to be searched for at the start of this string. + The position at which to begin searching. Defaults to zero. + true if this string starts with the given string, false otherwise. + + + + Determines whether a string ends with the characters of another string. + + The string that is being operated on. + The characters to be searched for at the end of this string. + Search within the string as if the string were only this long. + Defaults to the string's actual length. + true if this string ends with the given string, false otherwise. + + + + Determines whether a string contains the characters of another string. + + The string that is being operated on. + The characters to be searched for. + The position at which to begin searching. Defaults to zero. + true if this string contains the given string, false otherwise. + + + + Repeats this string a number of times and returns the result. + + The current ScriptEngine instance. + The string that is being operated on. + The number of times to repeat the string. Must be zero or higher. + A repeated string. + + + + Returns an iterator that iterates over the code points of the string. + + An iterator for the string instance. + + + + Wraps the string with an anchor tag. + + The string that is being operated on. + The name of the anchor. + + + + + Wraps the string with a big tag. + + The string that is being operated on. + + + + + Wraps the string with a blink tag. + + The string that is being operated on. + + + + + Wraps the string with a bold (b) tag. + + The string that is being operated on. + + + + + Wraps the string with a tt tag. + + + + + + Wraps the string with a font tag that specifies the given color. + + The string that is being operated on. + The color value or name. + + + + + Wraps the string with a font tag that specifies the given font size. + + The string that is being operated on. + The font size, specified as an integer. + + + + + Wraps the string with a italics (i) tag. + + The string that is being operated on. + + + + + Wraps the string with a hyperlink. + + The string that is being operated on. + The hyperlink URL. + + + + + Wraps the string in a small tag. + + The string that is being operated on. + + + + + Wraps the string in a strike tag. + + The string that is being operated on. + + + + + Wraps the string in a sub tag. + + The string that is being operated on. + + + + + Wraps the string in a sup tag. + + The string that is being operated on. + + + + + Determines if the given object can be considered a RegExp-like object. + + The object instance to check. + true if the object instance has [Symbol.match] value that is truthy; + false otherwise. + + + + Represents an iteration over a String. + + + + + Creates a new string iterator. + + The next object in the prototype chain. + The string to iterate over. + + + + Creates the array iterator prototype object. + + The script environment. + + + + The tag value that is used by the base implementation of toString(). + + + + + Moves the iterator to the next element in the array. + + An object containing two properies: value and done. + + + + Gets wheter the end is reached. Used by debugger decoration only. + + + + + Gets current index. Used by debugger decoration only. + + + + + Gets current character. Used by debugger decoration only. + + + + + Represents a symbol primitive. + + + + + Creates a new symbol primitive. + + An optional description of the symbol. + + + + An optional description of the symbol. + + + + + Converts the value to a string. + + + + + + A method that determines if a constructor object recognizes an object as one of the + constructor's instances. Used by the 'instanceof' operator. + + + + + A Boolean valued property that if true indicates that an object should be flattened to + its array elements by Array.prototype.concat. + + + + + Used to override the default iterator for an object. Used by the for-of statement. + + + + + A regular expression method that matches the regular expression against a string. + Used by the String.prototype.match method. + + + + + A regular expression method that replaces matched substrings of a string. Used by the + String.prototype.replace method. + + + + + A regular expression method that returns the index within a string that matches the + regular expression. Used by the String.prototype.search method. + + + + + A function valued property that is the constructor function that is used to create + derived objects. + + + + + A regular expression method that splits a string at the indices that match the regular + expression. Used by the String.prototype.split method. + + + + + Used to override ToPrimitive behaviour. + + + + + Used to customize the behaviour of Object.prototype.toString(). + + + + + An object valued property whose own and inherited property names are property names + that are excluded from the with environment bindings of the associated object. + + + + + Represents the built-in Symbol object. + + + + + Creates a new Symbol object. + + The next object in the prototype chain. + The prototype for instances created by this function. + + + + Called when the Symbol object is invoked like a function, e.g. var x = Symbol(). + + The name or description of the symbol (optional). + + + + Called when the Symbol object is called using new, e.g. var x = new Symbol(). + + + + + Searches for existing symbols in a runtime-wide symbol registry with the given key and + returns it if found. Otherwise a new symbol gets created in the global symbol registry + with this key. + + The key for the symbol (also used for the description of the symbol). + An existing symbol with the given key if found; otherwise, a new symbol is + created and returned. + + + + Retrieves a shared symbol key from the global symbol registry for the given symbol. + + The symbol to find a key for. + A string representing the key for the given symbol if one is found on the + global registry; otherwise, undefined. + + + + Represents an instance of the Symbol object. + + + + + Creates a new symbol instance. + + The next object in the prototype chain. + The symbol primitive. + + + + Initializes the prototype properties. + + The object to set the properties on. + A reference to the constructor that owns the prototype. + + + + Returns a string representing the object. + + A string representing the object. + + + + Returns the primitive value of a Symbol object. + + The primitive value of a Symbol object. + + + + Converts a Symbol object to a primitive value. + + Specifies the conversion behaviour. Must be "default", "string" or "number". + The primitive value of a Symbol object. + + + + The ArrayBuffer object is used to represent a generic, fixed-length raw binary data buffer. + You can not directly manipulate the contents of an ArrayBuffer; instead, you create one of + the typed array objects or a DataView object which represents the buffer in a specific + format, and use that to read and write the contents of the buffer. + + + + + Creates a new array buffer constructor. + + The next object in the prototype chain. + + + + Called when the ArrayBuffer object is invoked like a function, e.g. var x = ArrayBuffer(). + Throws an error. + + + + + Creates a new ArrayBuffer of the given length in bytes. Its contents are initialized + to zero. + + The size, in bytes, of the array buffer to create. + A new ArrayBuffer object of the specified size. + + + + A reference to the constructor function that is used to create derived objects. + + + + + Returns true if is one of the ArrayBuffer views, such as + typed array objects or a DataView; false otherwise. + + The argument to be checked. + true if arg is one of the ArrayBuffer views. + + + + The ArrayBuffer object is used to represent a generic, fixed-length raw binary data buffer. + You can not directly manipulate the contents of an ArrayBuffer; instead, you create one of + the typed array objects or a DataView object which represents the buffer in a specific + format, and use that to read and write the contents of the buffer. + + + + + Creates a new ArrayBuffer instance. + + The next object in the prototype chain. + The size, in bytes, of the array buffer to create. + + + + Creates a new ArrayBuffer instance from an existing buffer. + + The next object in the prototype chain. + The buffer to use. + + + + Creates the ArrayBuffer prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Gets the internal array for this ArrayBuffer. + + + + + Returns a copy of the buffer data. + + A copy of the buffer data. + + + + Gets the length of an ArrayBuffer in bytes. Returns 0 if this ArrayBuffer has been + detached. + + + + + Returns a new ArrayBuffer whose contents are a copy of this ArrayBuffer's bytes from + begin, inclusive, up to end, exclusive. + + Zero-based byte index at which to begin slicing. + A new ArrayBuffer object. + + + + Returns a new ArrayBuffer whose contents are a copy of this ArrayBuffer's bytes from + begin, inclusive, up to end, exclusive. + + Zero-based byte index at which to begin slicing. + Byte index to end slicing. If end is unspecified, the new + ArrayBuffer contains all bytes from begin to the end of this ArrayBuffer. The range + specified by the begin and end values is clamped to the valid index range for the + current array. If the computed length of the new ArrayBuffer would be negative, it is + clamped to zero. + A new ArrayBuffer object. + + + + The DataView view provides a low-level interface for reading and writing multiple number + types in an ArrayBuffer irrespective of the platform's endianness. + + + + + Creates a new DataView constructor. + + The next object in the prototype chain. + + + + Called when the DataView object is invoked like a function, e.g. var x = DataView(). + Throws an error. + + + + + Creates a new DataView. + + An existing ArrayBuffer to use as the storage for the new + DataView object. + The offset, in bytes, to the first byte in the specified + buffer for the new view to reference. If not specified, the view of the buffer will + start with the first byte. + The number of elements in the byte array. If unspecified, + length of the view will match the buffer's length. + A new DataView object of the specified size. + + + + The DataView view provides a low-level interface for reading and writing multiple number + types in an ArrayBuffer irrespective of the platform's endianness. + + + + + Creates a new DataView instance. + + The next object in the prototype chain. + An existing ArrayBuffer to use as the storage for the new + DataView object. + The offset, in bytes, to the first byte in the specified + buffer for the new view to reference. If not specified, the view of the buffer will + start with the first byte. + The number of elements in the byte array. If unspecified, + length of the view will match the buffer's length. + + + + Creates the DataView prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + The ArrayBuffer referenced by the DataView at construction time. + + + + + The offset (in bytes) of this view from the start of its ArrayBuffer. + + + + + The length (in bytes) of this view from the start of its ArrayBuffer. + + + + + Gets a 32-bit floating point number at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + read the data. + Indicates whether the number is stored in little- or + big-endian format. If false or undefined, a big-endian value is read. + The 32-bit floating point number at the specified byte offset from the start + of the DataView. + + + + Gets a 64-bit floating point number at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + read the data. + Indicates whether the number is stored in little- or + big-endian format. If false or undefined, a big-endian value is read. + The 64-bit floating point number at the specified byte offset from the start + of the DataView. + + + + Gets a signed 16-bit integer at the specified byte offset from the start of the DataView. + + The offset, in bytes, from the start of the view where to + read the data. + Indicates whether the number is stored in little- or + big-endian format. If false or undefined, a big-endian value is read. + The signed 16-bit integer at the specified byte offset from the start of the + DataView. + + + + Gets a signed 32-bit integer at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + read the data. + Indicates whether the number is stored in little- or + big-endian format. If false or undefined, a big-endian value is read. + The signed 32-bit integer at the specified byte offset from the start + of the DataView. + + + + Gets a signed 64-bit integer at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + read the data. + Indicates whether the number is stored in little- or + big-endian format. If false or undefined, a big-endian value is read. + The signed 64-bit integer at the specified byte offset from the start + of the DataView. + + + + Gets a signed 8-bit integer (byte) at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + read the data. + The signed 8-bit integer (byte) at the specified byte offset from the start + of the DataView. + + + + Gets an unsigned 8-bit integer (byte) at the specified byte offset from the start of + the DataView. + + The offset, in bytes, from the start of the view where to + read the data. + Indicates whether the number is stored in little- or + big-endian format. If false or undefined, a big-endian value is read. + The unsigned 8-bit integer (byte) at the specified byte offset from the start + of the DataView. + + + + Gets an unsigned 32-bit integer at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + read the data. + Indicates whether the number is stored in little- or + big-endian format. If false or undefined, a big-endian value is read. + The unsigned 32-bit integer at the specified byte offset from the start + of the DataView. + + + + Gets an unsigned 8-bit integer (byte) at the specified byte offset from the start of + the DataView. + + The offset, in bytes, from the start of the view where to + read the data. + The unsigned 8-bit integer (byte) at the specified byte offset from the start + of the DataView. + + + + Stores a signed 32-bit float value at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + store the data. + The value to set. + Indicates whether the 32-bit float is stored in little- or + big-endian format. If false or undefined, a big-endian value is written. + + + + Stores a signed 64-bit float value at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + store the data. + The value to set. + Indicates whether the 64-bit float is stored in little- or + big-endian format. If false or undefined, a big-endian value is written. + + + + Stores a signed 16-bit integer value at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + store the data. + The value to set. + Indicates whether the 32-bit float is stored in little- or + big-endian format. If false or undefined, a big-endian value is written. + + + + Stores a signed 32-bit integer value at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + store the data. + The value to set. + Indicates whether the 32-bit float is stored in little- or + big-endian format. If false or undefined, a big-endian value is written. + + + + Stores a signed 8-bit integer value at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + store the data. + The value to set. + + + + Stores an unsigned 16-bit integer value at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + store the data. + The value to set. + Indicates whether the 32-bit float is stored in little- or + big-endian format. If false or undefined, a big-endian value is written. + + + + Stores an unsigned 32-bit integer value at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + store the data. + The value to set. + Indicates whether the 32-bit float is stored in little- or + big-endian format. If false or undefined, a big-endian value is written. + + + + Stores an unsigned 8-bit integer value at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + store the data. + The value to set. + + + + Stores a series of bytes at the specified byte offset from the start of the + DataView. + + The offset, in bytes, from the start of the view where to + store the data. + The bytes to store. + Indicates whether the bytes are stored in little- or + big-endian format. If false, a big-endian value is written. + + + + Represents the built-in javascript String object. + + + + + Creates a new typed array constructor. + + The next object in the prototype chain. + Defines the element type and behaviour of the typed array. + The result of calling . + + + + The data storage size, in bytes, of each array element. + + + + + Creates a new typed array from a .NET array. + + A .NET array + A new typed array instance. + + + + A reference to the constructor function that is used to create derived objects. + + + + + Called when the typed array object is invoked like a function, e.g. Int8Array(). + Throws an error. + + + + + Creates a new (empty) typed array instance. + + A new typed array instance. + + + + Creates a new typed array instance. + + Either the length of the new array, or buffer, or an array-like + object. + The offset, in bytes, to the first byte in the specified + buffer for the new view to reference. If not specified, the TypedArray will start + with the first byte. Ignored unless the first parameter is a array buffer. + The length (in elements) of the typed array. Ignored unless the + first parameter is a array buffer. + A new typed array instance. + + + + Creates a new typed array from an array-like or iterable object. + + An array-like or iterable object to convert to a typed array. + Optional. Map function to call on every element of the typed array. + Optional. Value to use as this when executing mapFn. + A new typed array instance. + + + + Creates a new typed array with a variable number of elements. + + Elements of which to create the typed array. + A new typed array with the given elements. + + + + Represents a typed array instance. + + + + + Creates a new typed array instance. + + The next object in the prototype chain. + Defines the element type and behaviour of the typed array. + An existing ArrayBuffer to use as the storage for the new + TypedArray object. + The offset, in bytes, to the first byte in the specified + buffer for the new view to reference. If not specified, the TypedArray will start + with the first byte. + The length (in elements) of the typed array. + + + + Creates the TypedArray prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + The result of calling . + + + + Speeds up initialization by only calling GetDeclarativeProperties once. + + + + + + + The type of each element in the array. + + + + + Gets or sets the item at the given index. + + The array index. + The value of the item at the given index. + + + + The data storage size, in bytes, of each array element. + + + + + The ArrayBuffer referenced by the TypedArray at construction time. + + + + + The offset (in bytes) of the typed array from the start of its ArrayBuffer. + + + + + The length (in bytes) of the typed array from the start of its ArrayBuffer. + + + + + The length (in elements) of the typed array. + + + + + The length (in elements) of the typed array. + + + + + Gets a descriptor for the property with the given array index. + + The array index of the property. + A property descriptor containing the property value and attributes. + The prototype chain is not searched. + + + + Sets the value of the property with the given array index. If a property with the + given index does not exist, or exists in the prototype chain (and is not a setter) then + a new property is created. + + The array index of the property to set. + The value to set the property to. This must be a javascript + primitive (double, string, etc) or a class derived from . + The value of the "this" keyword inside a getter. + true to throw an exception if the property could not + be set. This can happen if the property is read-only or if the object is sealed. + false if is false and an error + occurred; true otherwise. + + + + Deletes the property with the given array index. + + The array index of the property to delete. + true to throw an exception if the property could not + be set because the property was marked as non-configurable. + true if the property was successfully deleted, or if the property did + not exist; false if the property was marked as non-configurable and + was false. + + + + Returns a new array iterator object that contains the key/value pairs for each index in + the array. + + An array iterator object that contains the key/value pairs for each index in + the array. + + + + Returns a new array iterator object that contains the keys for each index in the array. + + An array iterator object that contains the keys for each index in the array. + + + + Returns a new typed array on the same ArrayBuffer store and with the same element types + as for this TypedArray object. The begin offset is inclusive and the end offset is + exclusive. + + Element to begin at. The offset is inclusive. + Element to end at. The offset is exclusive. If not specified, all + elements from the one specified by begin to the end of the array are included in the + new view. + A new typed array that shares the same ArrayBuffer store. + + + + Returns a new array iterator object that contains the values for each index in the + array. + + An array iterator object that contains the values for each index in the + array. + + + + Implements an adapter for typed arrays. + + + + + Creates a new TypedArrayWrapper instance. + + The typed array that is being wrapped. + + + + Gets or sets an array element within the range 0 .. Length-1 (inclusive). + + The index to get or set. + The value at the given index. + + + + Deletes the value at the given array index, throwing an exception on error. + + The array index to delete. + + + + Indicates whether the array index exists (has a value). + + The index to check. + true if the index exists, false otherwise. + + + + Creates a new array of the same type as this one. + + The values in the new array. + A new array object. + + + + Convert an untyped value to a typed value. + + The value to convert. + The value converted to a typed value. + + + + Copies the sequence of array elements within the array to the position starting at + target. The copy is taken from the index positions of the second and third arguments + start and end. The end argument is optional and defaults to the length of the array. + This method has the same algorithm as Array.prototype.copyWithin. + + Target start index position where to copy the elements to. + Source start index position where to start copying elements from. + Optional. Source end index position where to end copying elements from. + The array that was operated on. + + + + Determines if every element of the array matches criteria defined by the given user- + defined function. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + true if every element of the array matches criteria defined by the + given user-defined function; false otherwise. + + + + Fills all the elements of a typed array from a start index to an end index with a + static value. + + The value to fill the typed array with. + Optional. Start index. Defaults to 0. + Optional. End index (exclusive). Defaults to the length of the array. + The array that is being operated on. + + + + Creates a new array with the elements from this array that pass the test implemented by + the given function. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + A copy of this array but with only those elements which produce true + when passed to the provided function. + + + + Returns the first element in the given array that passes the test implemented by the + given function. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + The first element that results in the callback returning true. + + + + Returns an index in the typed array, if an element in the typed array satisfies the + provided testing function. Otherwise -1 is returned. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + The first element that results in the callback returning true. + + + + Calls the given user-defined function once per element in the array. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. + The value of this in the context of the callback function. + + + + Returns the index of the given search element in the array, starting from + . + + The value to search for. + The array index to start searching. + The index of the given search element in the array, or -1 if the + element wasn't found. + + + + Concatenates all the elements of the array, using the specified separator between each + element. If no separator is provided, a comma is used for this purpose. + + The string to use as a separator. + A string that consists of the element values separated by the separator string. + + + + Returns the index of the given search element in the array, searching backwards from + the end of the array. + + The value to search for. + The index of the given search element in the array, or -1 if the + element wasn't found. + + + + Returns the index of the given search element in the array, searching backwards from + . + + The value to search for. + The array index to start searching. + The index of the given search element in the array, or -1 if the + element wasn't found. + + + + Creates a new array with the results of calling the given function on every element in + this array. + + A user-defined function that is called for each element + in the array. This function is called with three arguments: the value of the element, + the index of the element, and the array that is being operated on. The value that is + returned from this function is stored in the resulting array. + The value of this in the context of the callback function. + A new array with the results of calling the given function on every element + in the array. + + + + Accumulates a single value by calling a user-defined function for each element. + + A user-defined function that is called for each element + in the array. This function is called with four arguments: the current accumulated + value, the value of the element, the index of the element, and the array that is being + operated on. The return value for this function is the new accumulated value and is + passed to the next invocation of the function. + The initial accumulated value. + The accumulated value returned from the last invocation of the callback + function. + + + + Accumulates a single value by calling a user-defined function for each element + (starting with the last element in the array). + + A user-defined function that is called for each element + in the array. This function is called with four arguments: the current accumulated + value, the value of the element, the index of the element, and the array that is being + operated on. The return value for this function is the new accumulated value and is + passed to the next invocation of the function. + The initial accumulated value. + The accumulated value returned from the last invocation of the callback + function. + + + + Reverses the order of the elements in the array. + + The array that is being operated on. + + + + Stores multiple values in the typed array, reading input values from a specified array. + + The array from which to copy values. All values from the source + array are copied into the target array, unless the length of the source array plus the + offset exceeds the length of the target array, in which case an exception is thrown. + The offset into the target array at which to begin writing values + from the source array. If you omit this value, 0 is assumed (that is, the source array + will overwrite values in the target array starting at index 0). + + + + Returns a section of an array. + + The index of the first element in the section. If this value is + negative it is treated as an offset from the end of the array. + The index of the element just past the last element in the section. + If this value is negative it is treated as an offset from the end of the array. If + is less than or equal to then an empty + array is returned. + A section of an array. + + + + Determines if at least one element of the array matches criteria defined by the given + user-defined function. + + A user-defined function that is called for each element in the + array. This function is called with three arguments: the value of the element, the + index of the element, and the array that is being operated on. The function should + return true or false. + The value of this in the context of the callback function. + true if at least one element of the array matches criteria defined by + the given user-defined function; false otherwise. + + + + Sorts the array. + + A function which determines the order of the + elements. This function should return a number less than zero if the first argument is + less than the second argument, zero if the arguments are equal or a number greater than + zero if the first argument is greater than Defaults to an ascending ASCII ordering. + The array that was sorted. + + + + Returns a locale-specific string representing this object. + + A locale-specific string representing this object. + + + + Returns a string representing this object. + + The array that is being operated on. + A string representing this object. + + + + Defines the element type and behaviour of typed array. + + + + + An array of signed 8-bit elements. + + + + + An array of unsigned 8-bit elements. + + + + + An array of unsigned 8-bit elements, clamped to 0-255. + + + + + An array of signed 16-bit elements. + + + + + An array of unsigned 16-bit elements. + + + + + An array of signed 32-bit elements. + + + + + An array of unsigned 32-bit elements. + + + + + An array of 32-bit floating point elements. + + + + + An array of 64-bit floating point elements. + + + + + The WeakMap object is a collection of key/value pairs in which the keys are weakly + referenced. The keys must be objects and the values can be arbitrary values. + + + + + Creates a new map constructor. + + The next object in the prototype chain. + + + + Called when the WeakMap object is invoked like a function, e.g. var x = WeakMap(). + Throws an error. + + + + + Creates a new WeakMap. + + An Array or other iterable object whose elements are key-value + pairs (2-element Arrays). Each key-value pair is added to the new WeakMap. null + is treated as undefined. + A new WeakMap object, either empty or initialised with the given values. + + + + The WeakMap object is a collection of key/value pairs in which the keys are weakly + referenced. The keys must be objects and the values can be arbitrary values. + + + + + Creates a new WeakMap instance. + + The next object in the prototype chain. + + + + Creates the WeakMap prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Removes the specified element from a Map object. + + The key of the element to remove from the Map object. + true if an element in the Map object existed and has been removed, or + false if the element does not exist. + + + + Returns a specified element from a Map object. + + The key of the element to return from the Map object. + The element associated with the specified key, or undefined if the key can't + be found in the Map object. + + + + Returns a boolean indicating whether an element with the specified key exists or not. + + The key of the element to test for presence in the Map object. + true if an element with the specified key exists in the Map object; + otherwise false. + + + + Adds a new element with a specified key and value to a Map object. + + The key of the element to add to the Map object. + The value of the element to add to the Map object. + The WeakMap object. + + + + Gets the internal storage. Used by debugger decoration. + + + + + The WeakSet object lets you store weakly held objects in a collection. + + + + + Creates a new WeakSet constructor. + + The next object in the prototype chain. + + + + Called when the WeakSet object is invoked like a function, e.g. var x = WeakSet(). + Throws an error. + + + + + Creates a new WeakSet instance. + + If an iterable object is passed, all of its elements will be + added to the new WeakSet. null is treated as undefined. + A new WeakSet instance. + + + + The WeakSet object lets you store weakly held objects in a collection. + + + + + Creates a new WeakSet instance. + + The next object in the prototype chain. + + + + Creates the WeakSet prototype object. + + The script environment. + A reference to the constructor that owns the prototype. + + + + Appends a new element with a specified value to the end of the WeakSet. + + The value of the element to add to the WeakSet. + The WeakSet object. + + + + Removes the specified value from the WeakSet. + + The value of the element to remove from the WeakSet. + true if an element in the WeakSet object has been removed + successfully; otherwise false. + + + + Returns a boolean indicating whether an element with the specified value exists in the + WeakSet or not. + + The value to test for presence in the WeakSet. + true if an element with the specified value exists in the WeakSet + object; otherwise false. + + + + Gets the internal storage. Used by debugger decoration. + + + + diff --git a/bin/Release/Stef.Validation.dll b/bin/Release/Stef.Validation.dll new file mode 100755 index 0000000000000000000000000000000000000000..0f5667403fe0b31bb621ca601c70b20f4710e208 GIT binary patch literal 8192 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 Y(YLVw!hc8Ae;empsPDTf{;xRjUqZ{nB>(^b literal 51712 zcmc${34B!L)j$5+duQ%!S?10plYIqrNJ1ch$R-jNB?r6t5!s`_I+PotJT`g)))WZbDn!=CX1H#*Z1>}&Uwx` z&w0*sp7We%y?2HM=Ugi^A%p{;FTN1sQKa-Yli^o`K4j-qJf0&S_Pkv6s51ZMs^-

@>S7Tcefn?#{|sXXTuQODfly?a}(|Z0|@*^`f~#%vUs_oby1$ zuI;d>uJkG6gm?}dU2<~{BdsJ{A>e0Rm39-u5`*E$2cP~lvEot^rT^2ZMG^~t``-~_ zA!CZTmK-touTl|NgL%h7R|?_IkaL5cmqFKeMK^VU&U*%+5+7=-Wj8SXs}y2IeLN9w z10`)k+o+>n;OrEbiB{Lgqa7v$*;d%hx_*)pVFYrs26BY>811J&vP~6E@%{!O-dJaO znREU*P#;I#>%+xDcx%el9x}LQyc$N!^l%9=p)NR1OZh_WL6&1owVEhJZjuPeQjh8Z z6iSqVZI%N_cCHexAWmh9V^#sJIY(yKWy#d6CT6JStbuIJ96|gU6-N`#K=~*&c{UkX z9|zkqx>^gLf-IFZYRIh1mZ|125wlzox`5e~f<21Z)TYsB8yalL0$$zc(!$3fvkT0U zEVY-^xm{sUwO-vd;T_u-!<7pkV>vhs^^qkR^?^zC5f}A=8d~4ra$Mh+l{?e&qR(iT>5ub*r^@hiy zJ@Jz$fX4wF6+hiZeQ^xr^{NRU>G2DR+W>*^cz`T-7*=`5Xs%kto$XRO4dzd&LA0X;k!IaEO{bBe&3!kprG19396LQO8R#yoH+%W&4Y zKyt5Y@!1fR6(^=rJr2VWUk;vT!dYH(IzT)MI^GSy4l^8KIL{ldgqbx~Ogto-b%m$W z;5b#l511J-&cZVwm^c~0Yt97pg|cc-bGdKL{y9dD8g2y3W6lDs8|MknM%qPuvO!By zpK+iX4s#B&kbtEd4m~^)sk>lVmfLl8Z2SW?m>(VD64Z%kHPXEszkw{K&dccX_? zr-$bvFDsN?JJ0R8l_%Sv1Nz~B?~_of?}JVk+Dx$$)D5TXdc)9Z+VdV~IDw5q-JXJF z*&a6xdZ?y8aVoOP_YoD(4cpHhdSl5i~}4KC-u*gX|1#|3TUour|t(6D+)< zgwFsofwkQ0)wi5Gu+U3XXb~5p9CI;HIb^uejK-g~Bf{sBP6@igXsS0$H+%Q>8>zL_a02eXttPfy6~bZ#EU90)`SOj285byL1|1cP~uH~ zjq&{C`JDDjGK|@yHXxV^gN0R@?4FNkg~ANGy&<0-P}uH#imaNn^&S(|c+KrF+Pob= z3$FlO=kR3JhB$W8qGkj+<6m%x#ya2r070+DUnf_y{Is-~n>7X;|lW)`dYFr{X6x{#$tPjd`is+pX{rT(5OHOC#A z@mF*}TGT4+N^=a?U>n>8%faNPrqrn3Nqvj_s|NKfk_qA zp05Tx;V7`WC27r;kr^Rrc%=@*<8CNO3mP7n>Xn*;nQV)B$m^=pbs3+BvdopJhj)O7 zL`@@B6oi$?#^*R76Y$}n1#SPG3?6-G!VP02Q!Fk9?fbG=3}tC?U&>i|X^SjhWz}YB z7;e#^mI5wscW;n&BDjhXOr<6 z9Fudvqfcf`(z*v4`vB|+yk1PPtC7|<0*L`B2qjivBJ@e?X;s9O=?-Wa(>^gnE^`f} z4|zRxx?7H!8hbBVCrVD0rqCGJg8DFS3|?lvs<{@$e6@v`kUOY4(?o4q?mCz5HrIgx zekYPK?_d|H91USbvi7<kmR1QpvIN*Z?4ELwf(Dznb3nBixJPKxrFw^b#)To$ok}tNDp5?IS$=- zC~x58#(Ohpr#-q51tPyrWYPSEa}Jd0HPnZV$U#rwj7Ix_jP+Eb^|SyxwIB|>lxHt( zsg2ifGNYKqaR7@Qi`WII$lgx`U^ne2Ffpa}6Ie}v=Ozd^ryDLJ-Gs_qb$`4Yi5K%o!s0 z{Pffki%I*)zc@q)^g8?ZQud{myoA$mACxCAW;{Q65vRS94C6#V`!=G&$nn


9D} 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 diff --git a/bin/Release/YoutubeExplode.Extensions.dll b/bin/Release/YoutubeExplode.Extensions.dll new file mode 100755 index 0000000000000000000000000000000000000000..2b49d40fd98a1472f5ecbe4f2bbec47a7b23131b GIT binary patch literal 23552 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 q?8Xyje7j>DV3=&pDXXORrj+{;r{^)+XF8E literal 0 HcmV?d00001 diff --git a/bin/Release/youtube-downloader.exe b/bin/Release/youtube-downloader.exe index 9548b9eedb1d65a5b1aae068c2aff6c585afdc71..c3fa807b6d944635f574609a82d7ae63545373be 100644 GIT binary patch literal 18944 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

Qz1#tvUCUHfS9>4 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

Qz1#tvUCUHfS9>4 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 NB|h3;n*VPi@V` + + + + + @@ -28,4 +33,5 @@ + \ No newline at end of file diff --git a/packages/ExposedObject.2.1.0/.signature.p7s b/packages/ExposedObject.2.1.0/.signature.p7s new file mode 100755 index 0000000000000000000000000000000000000000..dee2f3449b78a1a3f94ca845bee397f595d973cf GIT binary patch literal 9464 zcmds-c|4SB|HsYJ*!O)OTOrFmGxij+lO+;KF~&AwhMBQf%-Bi^MO4aCBq`ZahmtHM zR794NV=YvOY@PJGM>y%6-+9jSdS0*Rynes=hwHwt>z?br?(6&he!ic30GjM9f>|-n zEN-41!U)Z#$&LUt*#Rg7hT;U+5zKCJW)M#p917XQ0C@b~5t8i)ci8JmBIAh!9TW=- zS_P${qNN6?pj1!*N(G~$rUD*PHp7yAbeu`Hw)>oSnpptqXm>wzvIP*nGt?%~9~+{H z#yL7-JRLN!b~}yLJv8@iXJN^vaTo$LSS3J%W@W>m5Ga(3?d`84g54&|Nh5B*iB199 z^m(n$7_teRmnVu9U`D_k;0Ru*gFT8L;H5WMc-f5b-grY#5(Q~az@dZzLHc1+%3E&%voU^ECP13-hYKxq&N!wnApr^AL(E+z3Zm2QiHJb5=?Z%#c{ zIQ#T7Qd{21jcp;S_Zoj18mn7TA|I2G@H&fyEm|-1G;AdH0E{SEVk__&??ZB&hF$0B_NK=4M>6ZCj^5do@7a^ccx8&&l{- z`)j?;%MMJGGAmAO{t$Zqh~Czj%FXKjuE!y_&G%wh(LQ5Y0}Mx)U5-~~e$ zt@T3_ApNHVK>@1ZW&sHzzfKT)GXpg82aFgJJv@>2cy9up;7!NLzl!697iD6R9Nfj; zA&f6rQRc$Wo_{euSEBRE=yT*q!NphTuE6o&iXpF;JCk~O3&pAEFx|g!@G1tBd_sgAW`yR(MNGrHf zO#lx)7FS}I2|$3c3xzQJA-?I@7ng&x0W1intq3qRFv4I!*xLUP2;3j=1!ULS03=Sx zhe8R^QB@`4$N?KN0${k_3mT`n+6#xJCk*n2j;d>qd-Xw^8_~0cp@9mHL;&4()zH?SzMiWiVLvd_x&Cg1BFp8x@j%!Ew?*YS&maz`e~XzQ09Kf} z<2}2xY}t%-8~y(9lyyYvCjo5NQC7FFb=x`Xi%)!=RP0AOXx&i#Hz*9I5UdtO@u0~-q8hnU^`AidQmv6}>qKq6V{9k@4uGsxB zQTC>6e7kcMVk4%J0Zt@i6>PkR^@ccxR0L^y3{M@tiJq&4u$B~F+q8DYYFYIsh{g-Sl2=%Xh=~cg6W6&wGx8wY6kKS{fyfda@ z$+1@4s8s<9Nd&)l!<@Z(8O|WF+X39L1{3iZlNQB67(tH4cFCR7F zjblxV_EyX8(+@V|x)JWsVx39Zr2R1V@%xfhGD95SnPD+y(Ln)zjS@8N|pmlIQH1a@I|9x1Az}rEdt7PbS&0e~f>frswsn zl<0G`ccwh+?n6|s7eV#`{8S{iO3Rz8+qsSHX!jwl;t(Rl6Z(|1_w7*GYZ3<`s&*E^hDo zbh|G%zvraA>22M}VaBKx`TYkDhkR#Y06+lLvoYDIIMv@-_!G~_K3KFe_PYRA#*vl1 zQ6NtJ{y6L>g#ItXc6}$HF<=O2ey?Xh0>U8w766$L2yZGI1P%eHF>BNW^GPTW{5SK7 z_1Y)^8n<)p#{Vjx(AC3wPN7SORpqdnTG;3}wUQ2@0K-p!SYhg?+BzSox_M{>Mx<6W z&Qxb;>}JY2!(CFFnx1>^VJ9-gD`_3O84ZA6WFQN{nml~-vV9@^SUYe4xtxJ zC#{{fT+_Lz^>CMDC3WXidvU0*z?OY$5aFm#yZ*>ZyO;JI>pt!13ur#*f8*aRqI^{=$2~#Gh)JbX1F))kd{XQYiY6ci&;*3QLNq=%Aigmrg2mwS9Y@nimLui_Npb!X@4m&nRvMh`i8kcP;vq?YuOtcfL9>|d4DIVYA{9>Pw?;z zRXIc^5&&xFj}uWvQ5yj2Lx5TXP^$s(Ue^nKIFiFv>+_M?>c@y~a~qrFFHie2PM8EU zGB%R8o)DF}-7@l2>A?h0C+L1JIjOls_}cQA(y>LaSHnAbr4`8TU(wrNFfhi1IDfHvHrh_m zST3r~;+-tEsyWJtOjDzr950ii?}ol%tXTn>#F3D9`Oetg~>C>k#-c#v^@ zx6#cWo&|u$GfOvn*f;C}FfFM4Fd6~}!$SsKT1oJPC>Q_;))hUtU<_dtgaIfzfY$d9 z_zaMaEitAd#OUeb-TTi!*k!AhxO^w-Jq}}OHB%fPI2g@q>gpVdJ#r^tA?AxOA zL|8U8?g}*;phj&JA>v@zuBZz>`!Ihjf#Qin8WKqXL=u()+EysZ6)g)ILIUfj_mG0f z6r{B$C4@-w1+AU6qHetd9n0z($US&}PkRd1KY(7#(aG#dLMkIoG1)XuGf>Ih1r4m6 zRW+wCQtu&E#w!Kms2b)GX%PPj)&TY1#z_kT{NE?d0orSL`n8ql_La&H(_K4(+&Enw zP~n5O%gT$A$0;D`>xf+I`TY{$6itXEBsPfRLnPtDL3b;N?1>~2{K7zOr$HYJ<5gW7 zf^;C@gF%B2>$hrvfwd3b3y)h_JEXz)Yf!>gTrp4?(w`gsLwChAK~;!CW7M_PwVnUZ z-`~F~(;s0q50*gGUb%PiU-;(ad{Rc{rQ4~LuH=m9@KGmWt&*UaDUKn}n9e(i-9=2`3M`3LtkIwFTHXjt_|q zwS;|i>gIS@W_;#>(%bWbTO$}W!woQ@1DL@XE|JK1rTcTA=XVZ{)Wo|VcV)2bZ|EBi zGC~{ZNCXn_&8$HtOl?ovx28RR_T{d=ug6J8tKWFJ!(u)h+%u<^#RQq*l0yhu^iGS1 zd--O#d0pw5Y*(R8Pfaq98#VDC8iWxrFN(4p7#__r9ZJ3H`ubPQbd1~L{w>_)zX^P* z+IuKUF7dmRq?Q8I;y)T}8yz?V;J+q=AZ&0f;F@zFdq1!ba0DC#n88Hq?WyXG_X4B< zNq`ZtX)6Z|Dgx(A8hIfSSCn|lx9(Zgp$;=4r3hgaU^V4|^{OAyo2UZrQ#=`r6uOzK z8cbd}M!(YUy7hL*65h--%but6;W#5Yn6WLLQTV4wT#-!{3k$bkqe|Wp!>J*-7Q(K@ zBOL6nAKz8K8(@Q5l3ntPK52S!8*b+OVlX-_r6i=f==}YXVU$!OHEpjmN6EvElKg!| z)41k4yTtb;TTCVk$V)okwU-8-iB7Jj8TZWX#nEw7jFO-;`Wm?#pz&&WO1`KoW^uFC4AX6hUkKW6`b{ofMBsWaN z0gdW4Q{UeBSN8EZ#bHLb6o_}4y#3$N{sopC)+wc zmtL?OICf6t^Mf%A-^>0-QLj=yE?1v+B!$ej7PKrge?FsmKke9|hS#$tmK{&uF{ijz z#Du9Qgcb>-lVobq2BP~ouI(skS$w&5va)-)Q{10h=k(l}rpzI;k5%>@9UAFzp$$2j zYXxiwC`iZ~3s4B+Pt8IvaOFWG%oR8Q?B6I~b^$VLSOT3e!8I-Ip+XMx$GNXC1s6aD zW6LvuxFLMlZ*yM-S61&FxUfay% zJf6K%PCO9!X(7Fu`KwrpY181lMA(;> zWYw1}e%6@xFU!w7-j$3q)7F=&?|Vr&o}pWjk^b%)qLR5O$==Z*S#?0d%KG&au28?7 zgsIyN3s@Js&(?FkiSriW_h(wa!n%6qUe3^vDo(rWZ9}OrHx{ex3x^#^Ls9e*{f&3CVN z_(k3LR_C%bCkObEN9W(mz!GB>+rQnshNXh+v;^6SSz~9%NbxT%jCwhsa+Wr*`U5-v zF}BdXJW!&cG3$yAtqow%;DJ@e_K(YGFsT3f9cM8|LgB*e8hpea!9Y{ydx^T#1qy$N zcXH;}H`dTgmcer)8aq5YWs&~CVxM^QnBEo(jJ3Z&!f>K~qIBW?tE{5!jJI_wL}cX` zL`l21KW09*nMr4H$xtT9G=Qzlb$=3*ILXY>)2bM%t3N;6ht@iyH=>k3vrncu>J6{e zB3Dx(i;$lK*0F6Gs#ITb{gabpS;53gHaxE*iMU)^Q z;kpe~7^cAxA-(~pf6Ch*-XyQR6*0L~Jas46HTRs^vw|&_Qmv(T^GN|X)gcFk2yGMV zw?{n@PA94z6Hc=;b#wiqA-lv9@nzc!_Zo{-{!!YiggyS>fam`9t zEPJ-R>F^!0QwU6*9*IuBjh)`{QTDRpEZ z%KNB$QKhvC|M`(jnd1H2lD=+EYaX$Q!bOWWe-;_D7{R+rtW`$L!!9(f4o&!qrx%kB_kR`=?rcTZ!SI zgZ;aA2vtRaf)W6KyaGqoQ=SGh9D!wKzzF=q}IMPade0?8h$9-JP|c z%s}WKnX?7no#D4R;I(+I`I8iW!3E`=#-geEJdFB7zqwyJP!7GY15xM^ts^>ptohn? z$!%i~BV$rN+DKsg;D{mpI}_K8MnOA#a`KrO+@e2bX!Uj z5i8QSOoG^2I=y|S1d|)&k$&-DC$rOp)K>hqJ5xw*Pb-;Ewb1h6<){L=in=DJT@nNK zFO}dD#?w7qjf#aYs>{nMB^CLQ_KbVPx}@A%jy9grc^TZ-g8a+6rxOa3&i5AZyfV75 K^UdZn6aNEU!6^j* literal 0 HcmV?d00001 diff --git a/packages/ExposedObject.2.1.0/ExposedObject.2.1.0.nupkg b/packages/ExposedObject.2.1.0/ExposedObject.2.1.0.nupkg new file mode 100755 index 0000000000000000000000000000000000000000..ffda5918e96b554b092434dbbcf965ad67149f9e GIT binary patch literal 39473 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 z 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 T)4_@@?vJ)Fe{%f)9D)A@gl)s( literal 0 HcmV?d00001 diff --git a/packages/ExposedObject.2.1.0/lib/net461/ExposedObject.pdb b/packages/ExposedObject.2.1.0/lib/net461/ExposedObject.pdb new file mode 100755 index 0000000000000000000000000000000000000000..e8cf7d256dd82de6bfc2243445c547478135763d GIT binary patch literal 3416 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 literal 0 HcmV?d00001 diff --git a/packages/ExposedObject.2.1.0/lib/netcoreapp3.1/ExposedObject.pdb b/packages/ExposedObject.2.1.0/lib/netcoreapp3.1/ExposedObject.pdb new file mode 100755 index 0000000000000000000000000000000000000000..f9e9b3130f58ec79d611423e5384a8a9126d6123 GIT binary patch literal 11388 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 g+>E}-ywtlmGw# literal 0 HcmV?d00001 diff --git a/packages/Flurl.3.0.2/.signature.p7s b/packages/Flurl.3.0.2/.signature.p7s new file mode 100755 index 0000000000000000000000000000000000000000..72cdad116a688c954f6a6360782839c824a6d6dd GIT binary patch literal 9462 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á>wtIv+;9PW(J~=cFAmWc+DP!yMDMQ|gt;N4#s_ zj2D}>HhyGEbh;50sv5g5e;qbn{61Dsa3@>t#^Q$Q7xE)z9ldQrewg;735MRO)q=WG-rP6Ln zq)-gw#f^#lnv?KeQWd==rz{ zDTK;E5y+>@rc1|2t}B@%@!MdSkMg8WE8}E~^BAf6C6F!6L;rm35BTEpu#LtrnN} z-S=-FeEY^?EaMU7$mEsywf&o9ul4U9&wOd?78MBO-U{RSJkYkN)OB&Y1HVqC++q5$ zK5=V(_s2NIY(s+b3ua$)+@}}UPd(a};A*6~Nwnte3&PPO(G z*%ZpItB!5rW8te$=lDhP%6qivsv2XHp1@vTe5g^uZgsV}Ckf%qY?eMJ?Z<=tuA8!{ ztLn_r*S(rNcVG2BuO5_lC{4DvK^}N`_LDdwE?TbTXF)EW0pcD;@`$Ngo1UM{oVNuEZ*VAaossH+fvyd$|Z|Y5zSNIOT zz^zPo8&{d*e36iRD#Z zStHoOa8vt+fP~DHAkk9i5z`SVMy=@?ees~J0W76XyW$yzh(>nqW`%I=O_Sqqu^Ojz z`xGvZ?G%3!`HtIcnxj6Cncvq2Z`b?Q`U!mNZuOb-vf4UA%snN8gXN!d%_e zQBSt&vGWzHvWf72jJm38QYIGc{^^t2*VD-qDTN;usd+Gs=Y^7+&M{e!%GyQS?-`6X z(i1)0_wM?0sgm$b*7l(%tS~6EB*d1QMs38WGPXkGW=(*ZFpy)T=Jjjp?7b7h#}n z=*Z{Lb7@1HmsFeRfv!l;gD&}H=1ObN_MI0m+{HN z$xl1CGR4$z9r z3zu+?@Lxf`QY=fSTmk~ik_x06vaXU%{z4k0$s4~)e~k4nG%qO*px;NRJa`pl)^8&i z#dXg&&Tra5bN@4Njxb&=EERG9YM zg!RboGLcUF6iwV&`oRp0CXuCmygz-BN!rHPZ7|oa`aq7{_KRnJT9o(4UxP)BI^XR% zYJWr|GcIX7V`G7nvp-8|f}ix2Xus6kH+?RmqF(2-r_CJ6!Z^RVFm&_VcZbK=%Dt(G z82-{GcYV`qVGn1jzhyo++pQ!wEwovR{q)$aGNw~Q`yH{B@V)OY2c6*U*H6B1p=oA~ z`&CS@owRqNk!VhfhSn_n^?kmeP0nXvbcY@l*=JIw;|$x28%Mq?@2VKNEh)MskSEwO z{G)MHXB?xr?hJ301v+y2MZ@miO`(E3a$Vm)36#-s=C~CNYhAw1O1PJKcb5Mh3pJ+V ah(-9!Ho7#{X5O#*B%V;gqEUGh*na_zHa*+` literal 0 HcmV?d00001 diff --git a/packages/Flurl.3.0.2/Flurl.3.0.2.nupkg b/packages/Flurl.3.0.2/Flurl.3.0.2.nupkg new file mode 100755 index 0000000000000000000000000000000000000000..14328201c2de48269272020e61c7dd5d25b92268 GIT binary patch literal 104239 zcmZttb95$8_$c}Y6WjJoY#S5XwkOUT8xu}!V=}RAy|HcEdSfRi-~Bu1p1tqAe{`>2 z)wQ~-s-MRCJk?6Fkl!%Dz`$U^+F}Y+@VIJLaKOR9Zod|UuTn!Nb6aO7#{bqy@oUx) zEU2MZ2)a~2+0`-{1 zE^Ot8pz^;}I#o9L%1@ONsJk@!`01Pj;%K(|6CdKuh6gipRBo8Sl(VOYwYXzB9e8n~ zXYO6n0S1=-po04pm6k4;Sa{u)8@<%(!eo{3Kob4#YRLz ziB;wE@FtC^&w0Gmk~$hWHtIJ*lh**xwBM@TGDFdy90J0u1AD&frhli#aoiUz5}n0$ z*nOWy>l3GY%LHeM?=br<-=4nfY%rqGNElC2zNa>ci!GR;@oY0>(QfLa4_C{mUB5Ef z&BwTX=|0BvH9DW4kYGyx$M|8Q{5wg800Vpb1_p-sRYSto)ybC8-qqRB+%!pT%|446 z)wg=yzs5ts4trS_O00CAJwAcjT1x%?2djnA2FG%(eBGMinW#`{w^CnSJG%gTObWL@0-{ejB@I`kel_#S>us+dJQ`L z{qIO^f$I1sBrq&1kwM8#Za*5O*|af_@$r#)DZLK@W|Mg(^Os6g?nhwZ0HidT2a} z*o+T0z2%M%Hnd=?t%H!S_i(qMSXVb-Dt`7j4gzsbZ>8#objfJgXE}zfv z2Mjn+zoJuUhSxnq7RCiW5Y}n=Z0>9(D*fw=$m%3>R$=%OAqNThzKJ^2n8x^V$v! zNC?#}ZSM1E>Fb>IZ6>Uq=@FPOwXw%wDu_Hu5Vs|+jT2{s#Wu%d!0}6)0yo+{8vBJ` zXLL#CRMGjn$kBTgMVi~L(7ZgZa5Z|hwTOdXwo`%M=az*p94%*O#2yBwTC{>;SA2J) zwIFZMu!K%>krsUO+ASQ^&`rWA*AO!HB&wO3SRWd3ffB}p?qV!Gb?84b0RU+xX?9$$ z7h$X6h)A9&;c?M2$zUYT=(}j%8yBe+jspg^O#=q@-$TLH%7n?@ z+=ZQ!h3S7H+0o2oLC4caRee>kwN-k~muVwF1wLuENP5ks2SWdsthUZC?ZN=7jGtt7 zG6~qUvi9)QuZQqjB1+%DB~ujR$Hfw>gg;N9)cyY62Zn18Pw@U`BV-|AIC0H%XzH88TxHai+ap^ch0dze$7!GMUi} zWz{lZYF;?8v&*}yy!{Bi#^kKZ@C|hj+#DNBMhWpDh2Tf;7`7EZwME7Avus@f~zVR+f!KO&i!luJPT0eT2Wg9(x1U3Ejk0k;BNNKvIApuv=dIc^V& zoBmQ`Bi!A&MF2Lb`M0FW99Xl}J^;gnrTiSiJK9n?v3khEFl3LS#DN{~o{)99G6Sq? zgylgEqJD_aKlafS1{9o2EEUp}%)mT_!IhxZ!1e<0fe_>02!TPud^Lnx zD7N34Aeg{j14Myv+n69SN3j>r2tbYis2e$$ehAIsU?YFSo%b%%9C`57K*_)hpx?IZwg4%6 zn&k@6$mrWNYy}J_WP2baP*PY7c4`+~APxx;S|$+Qh@Tm&1m+T~EAJR)8rtJ0$2q~a zWk85k8Vc$+F^FqnN@mRZ3>KtvU^_+{Oa+Vr1Wtd;=h;l1f0$J|rQXwi;s3#dj&3cFHk9_(G2mPzhi=L;xd=HWw`Ae@)2b3vfanQM# zCO#4$NuF^oST5vJKqioAoAK|TyCOKu!bgFBXYbtt_?!k&OLe6Q4Q_=?brLicKUk3} zFYlW7Q}0+6pcAXMq4B6bZPh@Ccqq`U=KPq$DoK_q^SPDbQ_3Jcs3}!YAiQ7hKi}tw zCy|J!9(X~qnJx(NkDpLXD*H?tpgj2ZB%T`W{hol%J}(9UZT#ZZ zS1>YHCgm)yz_BX4WKi$TZ%VUXLasCIHH@THNEzmb=aTQS|0x>vU}r{Jm)w=8op|Iv znWNt;6=rBrNZEvV8eP>4dr~m?riFG&Wn7r0=LO?x{=hgJnIWH!OPqAq(#W%=PH* zn~C_PA{0{rh8#BgF~|XVj0~4AS*~|<;neq zz4UXer_b!eI3#M$N1tZz4{KHOOFcZlUc^)!z);$-yobW)bRuD$%zh z^%?-Ah`5U#eKHIfGRu0oZTa^>h54MD1gMMs>U{K9e>>s$Rj@ykqP7w|*tt(mNvFYy zDFz;)a#F5`%sL1*i)Hw+`4O%>(PJT}lDqUdgWOYZ6d{|2x$m#=@R+_enQ*$?hyXc3 zIq2??Q@Pt-(75bYkj;1E#t zM-D^>bPna*=NYR3>0VDlCkf1w>@`II#`X!TKM1--MB`Jsf(v@Z>mem-?&YzG{DTOO z>Q$&R++TC>%G?W7+0zvVxJflM?vP{s1T{t_B6r6FW|uhdih1r7@u=S4We2T%s>VF{9YqI6 zEPbi=8i+R%u9?iT7C(5zsuDgxt~cIPh+p|P*w9Z zyl82nxf4BU_IIk-8@$^d+YR1+;W{P9oD(`hGVT8{Qfac4m} z0zK4XQ-Wb0Y)z^Il*w$)35(`5I|WG2RP4hV&b4uD8=`WDn$=US#MT-3172P0%!w+z zW#py|yNUs0QzS+kihAu#t?aSM459~%2&-D&ukXwqCvwamJi4}wi_>bS%!&>ToULhd zr^!jdJogul|b2E^YOD z^q;KKV}HAjENqNKiG9kfvYqdx+{%b>U8|hA>`^8$X9W^ z76-qaw0stiq_9N7s!6q6UFmOini3^{WFUCPoyPN!9QQ-<^;Xoid_1p~?H#3IzVxDz z&9|(AvwX#Bfm2&wdu0&OSA0ZkSu5W)W`l*!wPQh~5`R9UaB7j@K189ov37A$Q#QjcaC#IzyxKi)5+Vi_czJnFNfxL zb&nU*<=vL#;&%mH^3Y9fr^o0cXnO737MB4z`JJRi%a69x?HU5gkFZ8f*=k>WE`QsJ z^kUX>3WJyN`gWt4Q_$i}=~2QVCur$N{qpJM(Ur^IzLV#sFS<{|FvHz%N=Py|%d7RU zmWk>~=+4&4re|qw_cvA7jItwOJ8~U=44OqcU2az!l_hneC+ zD8EaniI?5{(i=gv>g{GO-}##6OZe`W090uFjC=14Slv&yGLy^)3sl;2fJ z#VF)8?>^u?5td>&jPP=bHC4E^;LG%HO}*=q;HW z`T1mat9%>SI0bd|&42y1upz1Kui*kh#OA8=$*S=hdvYc%574n}qc&@)tyWh^I+A7uds&sQ4 zKwuv;(nd%YrVxdrsk9sMk4qVF2x{Lb*~d)pf}$zGN1;bSEUq_T7xQ?#h| zJRF%0(ARY%W;8TZzdt}xw8wuM&y!y|nS`(SW9*8WX0NAY)L~kF@c*I5IVMS zPMDT+$vicq=-@c z_jnSfO(G8Lh|CAtm98n{<85-PF*I~TNvWx+=IrSehfy!|Nw(w6M+fOqi*gohT=EVq zip_Pqo8wjv0IdqEdurYZ6NjGPiDTyzRiT5SFcbR}wXAO-zoi zq@`z+uB64&R?*T=kU=ghb5t7%9xX!?+isLH!!1(Rkf$rBr6JT+5eHBAhi9gNs7s=$ z`$+0FdsCGPW&QrD2!10seyf{5XX3t$Z+-8|N$^0p7IZUIKb5dDTT>X@VO>GD=5|}1 zi7{p1Ti-VE$2XvB`LafaMhLMe$-3#Y)I8JSF-^1Wu5Y08sEMSDp^(tpExj;F4_1XT zxc=n^a6!TpL9@c?DYw{nCG;7QG@E%0LwgxWeOP~$tiO74_#1~$1+j5Pl*|L zGM{{9qAn&+0J>e;*JYicg@1c5+D-9%h5ZM~zkZprJ^WzTc~My&B02R6tJ~|XRvhHb zBXu)cX=0MVt6XB>Q27ThM>T`7+9NA1o&r4fab+ek% zh3`4eIdW4_L9rL_icp1hi0kLa#%TIPk!i@MUhf`fFiKk$ZK|7Lm(9DueZ2HqT4uS$ z)7dRYVCXl0r6;nm0TU{FLdCgS5PVc34<%Aj>F>50$FwGsd&=G9HDAD^qum>iBwv5< z{vO5h+4qR!1FEXEo!ODu5#I=fQ@L5L>bY3gKZO2>mIBYyX(%#B~>a_THPeLL6V*z%921;tnYP zP}LDIzH`j0WR3G~y?^0oPoq|JcI?)ejzV{F|T+#hTZ~Q8(B`fZK z=x@?@$3G&D&6L02;fM!|U|vfwjosJr``f|J$>GjIM&+s#i{?7@m~sf7@+$Bfg=bY< zTW*wuz_CLs&wH`+C(S|q+p!}*8JWYQY8IxiA=9=E*QfVWs;A!7xi|4X^j@n6=CR!Htegd=!f#h-)^^J>LVOAlFdnpxzR zT{_r*vy*~-conS+6g30mlYTo7xnbk}ZA>_9_jEEE@rsG0oCw=p6PQ&Uey#T-L~d2a z%7()9pncj_V4YX(b00vwo%c3%0_dP!rbpXDJ3e*C*mtbOiaTe;h~I81>=fY)8Lywi zHslR;a;CjYXss2jWPTIF{W}{@?&q~1$GwogKU7KUN*%cAf@5~xM zSx7E$MJE1@MzF-De;`n-x5ve2_n9w>CoKxEC_)zfgbHZGHcTVFK88nbLA3_d1HI8n zWMSlxD9gFWAk0vDn*Ltn82SF%{5s^}sl_=G@PMoAW^1lkif{QovBkb1k0qx(Ac`0)=D%T|W$!@jCm{-CCQXX8Qq;$LmY%#?wWrC4H@t`8X ze8?o~Nz_O_+-i_J%p9h~h#LRLtOwCVH76>=9;L{_`<-fu&GiMg%S7s|2I$f$D{iov zk5^Plfs|mtc|+vA-^t6#j#o~Kp3~DT`P5UKzaNt!@|tb$93CTQ5eeg}s66-SAvybp z__aNUwlQubiX%)dF)o@xIhHz4fv-2dKKej2$}A}dLHN%W)|1LOy2v;}H@pv$a+}x% z)mm`66hYP+G#k4bt?c+mjSW|#{gI`MAT|^c0kZ39fBd8}h2W39bWY=d7M^rtbaB-x zYTL&@CWl6X@Hi&debcdy_~Dlwxy>9_x$?D!!f^!h7hLy{S}^7MZ7`|5;93|al=)rhBJG&lJ655 zda5%ZJd$*a77@3bMmsty3@p&ab%m|+hS1@#zVWl}N*ad;|4ka=*qf-O+`hwa6~B+T0XZ-UP@xfL*f3l{ z#N>QozvNy^RuF2UB>N^zlKVIVb+={1^3ZHc5I)e@Ok>C(2ho|CXluqqUS?9DeS_w- zrVrdiU9bU{CXoHD@5lIbzv*zWGvAIYxPBv{rTk&5%dBC|9F>p6LQz+R4j(gdFiz%H zbnQ)n!_3+c(n4sSrTbyVuTN@L&rB5x)(-m%{Dl2i1!Eee998U*OCED(ze22(Zp_O5 z>j;g>qLIvT5%4j77F(ERGy43&IOtfAT!V;C?+8IFm;_q&ZWOwb51)@~ofYcF@87CP z3#T5`6LTY<&^MwSD7qag7ve7W4Lz69BXHj0B5NOkNR^+p7!h_`1#pGt9EfL~9$ffB zWWm8xV#;?pm@?!ye#$H}b7I(c0l6NLI%iiwpZv#^=TbNn6CxolJZrI~Az`N5P5pv% zUP8JPls7H?J***r$P_%!b$&@S8bb&ZFu=8(Af(fmlFE2gpkV!S{PW5cRP#N!AQq%l zlFBp|`egWjCZ0x0=qzl$8mvP#m%-l%wBCmd0vLOK!e-^NLj2?cdP@WA4+ z{U`Ufp*|=#&cpdx5uKBHO`lXkSYtQpwe0~v|6=08$Uzi=a{`gSygdL$3%LT46CxJU zJ0J)s3j}PlgE&FpAR0%!C*&tQC1YyeKvYurV;DqeIbmX@?P80_z--{0Fb*i1q)~Ok z;<-E>G7ZKBf-c}5NNEH!4Mhm`0p9_&4rc#yOD{TA&u{ci2_gw{K^Vyh$^yI+sAmNC zRR>%FtT@ma2(?YIjj&A%gz#8I2#1sdKAQ2SL3ZzSvc_358d22Xa6@N-GlJ!UON;Q+ zL6!yT7{S%Rcz{14fOtVjap>dqa({8DzsgGkkbZqz4G0l7`qKPBZJ^F}Eh^G05iIgT zje)SC5m+3&8H8y7P1;11RT|ROe=Q~6Mt4+?dNmYcxJ8+((;|f&hD?F536Kn!1A1)}`{;$Sw-n*WMPq|i}4{qF3g2&SN#)e@w z%dTIk0`Xs8sRCFruv)ZD_CNpbx{B{QKAUqxIU=rg7AZ%d1Wp=l|6n%Jl0#KqKGg5W zs+eaXQp)!ru`2lS==Vgk5`RlGo*bPv}r2mD`2zf)YJf8VwE=~G zH4XL#kWq;Mo&3Qu4ag>x=FwjWVJV1&hZ#%9g2+?p*jf zp+L!v)!5e?9jG#hJU zC;&$KIw(K^?+TJW<%{mozdV>py?={o590?h{lpgTHaH0Ni|%j#qkEvJ`G;}qe{@f_ z2lv0|9-UwA|Dk(epZP9G;eUy>7Tw+gkXQWWp7nzs6c?rH&q;miuND7^ z_O;JL4ec{6YR<#qTWs8bL&EhL`W2Ew8}Bz;=-7l^7zqD_>oD^UoXuise*FKTd+@2` zNqSx2tJHHbq^^0^%U1#eA>bknX~Tya#O;yQzX3!BeV`XlOex?M*H1HwzhS_4=?;zs zQ1xK^@B{OZ8RUZW2Eq&dvms;gH?*${!vmi~du_Ij>yaV%$u#x^i-(eM{*L7sgz3)(qV;GS zCn1F48a@4_TO`Q06?o13l6!X*G=G`Fkq-Kk;j?8vR8Yo7%>g(g>p2(G|t<4rdH zYeW!N`lHV~qeqb($yMJ++cOd#mF^4J)3>b2k-NUG3}4#4eI}tkk96~o9cMf$B0sXP z7-ag&)=YPsW!<@Jf5ClM!nM}64IWjltN5UmKpW-WXA(f?^+<}JAZsyV1*o{)TK7K1 zRKlTIbY+P3=Khrz%U5}4$?@w~D@pdl3ed?K>A<`ZR>WT=+VHEw$=zq;W(mf4grU{O zM=nPQnf8UH670M(nA*E%qV@2JsKgm67e&Om(qb;d?2@uoG*(Qf1*mm+D`L3~C50}6 zH@0NVJ@2~NoRng(Z8OaA<*QdXD9R*rQ?+x{oX2#iQN#-HHAcJqLtopw$IQb0hwVLI zNmt?B!5bsVhim46mmGqfY~TSH7%Z50+x z04-Ut;?k3x?U5Yp(N0$<4*SF2Xe)htXXz@@vp5(uh`SAz^IaI9W=r&zsf_rnN=UZBJwcZ~&mt)6z?(deY{*b)%Gt^XRDj8|EIA_B#L=og4 z!}F`boqC^r!k0yG?V9DZ>#Yi+)Mrk z_v&mBo8+>#@|)FRkMlQW1F27qy2jeR!R=t7Aj8o%LQ64 z^+I0`8zT|?I@B2Y%}d5sZUj2TvZL#{>7&Ib-1z=KaL@Dcb{VAIXNe_r#?yZJiJoid zX*b2j5mr~Fu=4p;dWlA@gY8nH(yXQW0FPUQiZH@N9|0t%N_hEFC z#KGtFZf5>%9*SZ;FGMqF%vjZ=dWe%--+x#SYs<&;JojvJZa!qT;+q;YgwLp4;h?B;VTY z9d%=cWwrKpYYQ4tmUEoD9Z<6+up}Y3Zs0ijSXCg2|1;JCAVf&u@-cW--8e-g8 zpV>6|Rd2-~r{4^mWJu92WL(zKRRAJ28tF@`C0 z4t{jhGJB3t-j)*_9n)qnvP)Xpj-r&7bF{x7RT1Q0E4~!lYhFHF%N`kGopupi&pcs7 zFOh8AEf&f{<=XKGkqVvlKt`^2_p`_Pm;ET~ah30;xQy=bopcv^&O7QL~;NAUVO3(MSy}wIH5Of<;2(!kR=Du|^uKl<^b>*h< zW-Fx1alSk<$1%pZgiP0smJD(lPo-nh%*DHVtE?i~LfCpykXi`&(Y!p^U)b%S>+-oW z*!W0j*d+e>Sl?PmRlmglp%w0T^&lWAv!tov=eJioAxbRN@toOq=gCl|p4xC}968F^ z^)B)O(H{G8KvNj@rqOlNEBHQ@B9DpYud%hRn)E|6*Ljgn4#}g z^kXT@a-#0gOq;Dzd!;FA{pF>iL(kO0E@r}l4bSGbZajT4D(h}PI0Qk!u+f`}y2*~Z ztgy%4xxf|19RCJ!u)$U|bR@}+JuQmnkUz6>G9z6()oPN(@*wT@=B7^0qJAPlIX5Ih z9xtVXzkVcTKmQ zrc(CpDfQC48rk9sxyzHX`Ew$niq4_ZAPxY^RVPxgr9u>+K+a5Z0{l=Jyp`*AvH93q zv?qB#|EFjC93Polm_)(A7@6cGRJcw&s6osn`0$LYx^i=M&Lf>3R4q%>`NvI#oGjrz zn!xdzB{wJ}GlxOYf%jL`2_tfmLU}b;Z5aC8rQPAt1x9riHGfUfAAgVSO(hzD6%_vJ z^6v{Iq&8#B@pBYcp8hsROuL4zw|!aN2o#4GmUE)+ScF2cgS5aH=yFw=4T)020g=Zy z4A(>bqTMR3wPdRW?J4O}x=u>#lApwp`m9DYXM2eyM>-EaCxvLYOa@gRyqCAHl(|=W zjOLxiGmJmRPZ=52AgLc><`A`W0?TOq=?Rc9b=?nrjn-a@07dYx71xI$<2tG?aK{7iO9CeaQ3dUM^); zyYu3Dxe&xDc&E_#EGtsrEp!F1@LEnfyBncGt|4a*V!OLRaRF`BFV13vJ zpso7jj>DF`C?5fTnz}C=76g_Yr+ z-@7NQddGxPtWqANt8}RZQYrA|;^NS-Hr~&Fxf4N3IVikIr2Hm`f#bm<-|A4y_~Uq` zDeE`nSXGwO_a$L2968mNvo}aA?>>4(1OxC-`b>CuUCOoorc{kk7e^RMt$6H6B`Kn+ zHp4RA`W6~z7-gQZs;ycytT4pvwr<>R;RTc3tO_74(Q+V3nso^M>3SEN;giO^4iZPR z#}uy^8FT8SpE4vEXHN`$gxa%Am6(BJ`t^HIQh(^rBQlyQ`$q*%BXiCmX@X8{XqaOg z7<-54cL2Y>uM@%m1VKW7D0}1piXED`T)T+v6oi8}_KT{fX~=-Dlmd3jeZI4mkTJtc z9PmG$zl7}#j)qO|2e8n~{SVJ0fAKtQyRl8rJh{LTwgM@=)NB) z4uMryDiutM?RLv%!80o12?ak?hY&&k&Lx5R3|0@UA`i*Dyo8taQ%>4Uj+cWRBO^;M zf8}vePG7g@-R_281=rAtmc!;64TDWT1KtvT4Ch_v26W`sMia8t17)w034dh1%6Aen zT9L3jIDwPr(t;(msZ+u-fzey$YMlE(8 z&~Tb@*^?W&z@0&+hyu;7+oTZ--wO2M@1rwnfPzPtB#SRMqgLi|G~DU@_jtnf6Ox02 zyp`|w*~CLa-4+k3}>>fiQpw`adqUY^=yf) z7!$rQ>$nUg5i-3$cN)OtU|Hn$Z=X2}^_CH;wj~h-^)Q?o7f2eJY`YI-?NyQd&uw## zhdm`!+}JOQK`IMy)Bf~xgT>*QiRl)~><1COeyP+JNP865+4OGgFK7~wGhyy$+#-Lw zC|b~aN(qY>_HXSC+awXUk>;Mnbaq+dL&CiA3ZE&fYL(fyn5CYCi?bC36mgo&Bzt2_ zL-eVs1MV;f+C_I_wJ5tJ3g&GfmW_1gKtgO?6(mE?@%pAp$^twgvx#^DK~q|8hz2ruRtSf5`@Q^;prL z1KN9d%emca!FSjF?p*1z=&(}K-jCtAvygC7BH8LvYiR$&dF(5lMAd%t+U^>itYTi{ z*YEI?#DoPQx+kfG{PA6MX7x({JI;qw%5lXWxR5bt2HXFK^BOnr`z`eKcC{BY%F=m;7wHC5Y@9RXX^8zDu!N>4_pZlojXpa#Q zCj$CrfsfCBNHlHUeL*O2ox#Pk15&a^;J)=l{qwz$%8t4wxmKMH>h<0pK5PG*&bu0Y z>Acr;{1Qp>dpB?b-~HO!1jf} zzzF}}Y4y%7#$P_}WX8(K{J$Z+x4WL|(&xv>#1F9tbTevMD6|z-fN)wJrV=6dPgqVi#kJBzV??PVbz& zL*~|Mtm1+ALtDSSzjtxbV{r5}A{$a6%0`4Zb`bq!^MZ_xr>m{^t8#A>|ETBgq%AwS z%d*y;c?(_hHzrxBDwpTeCZ*M+0Yd>gf|1y#fpzS>Pymq}k+xBoVO(GWyvQIK7HQU~ue2nm91p@82~E0vPI5%%h%5(k3>gZ+h%2lnzv zi34v))qZ+l^lp*)2!o~#zZE=uu8^R3w%x>`kfNf3fZqF>F0F*EmkN0oa1g*2u%@ z0iD!6fJ+!M4Z7spIg}3!_fll-QGTx1^^6_R7pQtFNYWX4_Nm1gJXJg!{NV71D*h?4 z={xVP=)Xh;PKo2tShO}6k8d8xPXr)h;Rnv2MV&~TO=`bd+^kzKkEdV{l&&F?B*Q`& z9v}*euH-K_V4Nn#n>`F}Oac5yPtG1-k$cZPaeYBr>*%QCyNdy+G2KcEFUDCxgw zASvXlv7LAB=g8gu$D@9fZBSs=8`AD^J`aCrJ`TWxzSwV<`yONJIu$4_6pxYHzZ1m6 zpWdg+&7Yju&930XOXUX}h7yu92qF}Qj@)acO&qud(+0w2#9CYvJ6<5;LK7ATe8$XX z6)f^;Ra?af?B08SGva0jw~Jj`vBe&`=lDGU@RO`-VKKst+>;;t72}Ic<%byQ4jpBF z%@_axMq3d}9keFzyq3q%jL&o*$V`zNbXcN9NZTBl~_m6R3 zWAI#uWO?vVb%hVeg27`CUF4ZvBMP%bq7<>)y_a+AP3&^c8&uo*(1fJ|Zn*wneBwp! zy)ak;B!NftF;p)j^f71t@R57hJjny@sFmv|PwtN1_>QV624lM(9cNl^HrPYn9qbvI z;6tx+%T?q8j?Sx_$pcU>o^%1a)7KyLn{ZW?U~_@Gv)2Xzc=VfCN+Y{1K5W{AOP}-# zK3I_`#jRKZe%avlfx7jpxjVkcH&fvDeHkQ&b=<_&w_58#{~hWOvbk_CNUH-w-w+{S zt@fqwC-%@msRdwN2)ma1k|a{w2iFL0=mP=tm@zIRK`GSk{?po6M0&+Szg&%`ut_&K1}` z`vM5?`Z|&B!0t@I0y94DCP@u+3*AIxKqFAV3OUyB7g6M%z|6wyHhpXep0+syUHCJF|UhIyn?7tKg~Q+ zhWKHhv|9!QDEe?}S3TO#thuRgiw*F}bPNxoF#(UoAX<{8g>A_y&p_01ye9 z0Q3xFwFzVMw!W^}7RFZq-6jp_gZbBR=hWxaa~s4O)IC+x$1HtFv!g)9EJgeT>TaV| zyif5-ar{=_BH_*&vN`bh*s15fM~$?j4pvz@Sq{Y?`R;3}5s9=Z(CEilBzT=AqT~*1 z?GH3vL9Kb&=6mXd74gNdLSlY|keV}#Fw)B`Td-`Cf6=Go!^i(UyeaHbR z1l0AMf#vEv_U7N1rqRHj zBInYgscQ1???!Aj1J~fV-moLWDg;0>&<=zh!7eBPT*#Y6cjtb@H?EL}BdN>|o`I=L z1vmxlE5itj-K`KEZUt?hNLFd+5B!34NA6@s&C{lF^{5LwJ*1=O#2ln1>)fp>0n>)^IF2>vVEzdcxD8*BiR_GDTYg&Lvyjq@!btzdtrBr24ZisnF0itbaij4Zfuisik z`eo^V)kfGui^NiJywoomo1)V>+!MqP>KGmzoWhX#?R{3-crl2i4Mi)QCUZ<@FcN;P z@)omfzEq?1MORGGm&Hm|das(^Mkp2kkx&%!aW>w(>oMF6pUMW1K4&nKxn}%RRTym| zD6V`^oKH(#uYAq#pd~ZzIY2SJ5))`RU971+?kAAn-C2i&34>W@5D6}+MvdT7rkyE? zzBy2G>C*YZ5;3It0H+e7_G3}%c2{st3d=fOCGR1zB-+`dptVv|vl(=rOA=MBo!ckt zjK52AAGUv!BdrMU3;8qVQ{A>wkx9@dRf9GaWoRLVT4R4?hsdnlD{8GxI3HiImebOB zfTt%$9Ow7b=ewurs8Dm*iC)l?)vpH$n6k;xaP?jCcooJl#GfzQ!oM8! zNokJJ$aT)Fr~7zXD!W^qn7hD<>tknat(4MMD^P2osr%CtviZ~D>>=c^^K>l)kbO4W z+%?@MDEn-BD^#81z z(DXWIH*$6BKpA1CN;@>q0OwozitH}s@83)fD3#C#vUg^Ff;lIuaIoj-TD0Ozh<7*5 zGl^y>av}FeVb5uwoN0hL#1Gtb`Qp{9gh*(7zt3lj;S){KQYT#if@l&HRLbCWovtpf zg(6RP&K6Bb=v4c(7>5=v7Plt)@|SR(6DQS%>`LRli+3gHVqxK|LwqM#)FpZ0^R>XM z=Inj5o~ko#?&hAix?I_PclL{E@TigWKckRS)UCh7-bAd)!1gmFxUM_dO?K{P|8arB zi`OvMyXn0b_;LG^>+_udKI>|480+QE)k!Z1=zdNwtG&(1eL6a`gki-ws(2f-b#;F~ zh7mgSY27iIt~C^cy1Cnt9&A1j{;-T`%TN8yxDY4^AAis};Y_?1^^D=Gim}ILDt;WF zA>E7ESP)y*Tll!ubsLQ@C#1{1JUsuZxw9Jnl9!yAdvard*v59JH8W;TH@Rhi=KFa@ zC-CnlHoL-Hm#YTyhSE9p+?!R?>b=}P_WgqH6=CID<0q0s3x>y<`$G!b`_)3k?GdUm zf!BJAd;MixOQ~13dCP%fPPDJj4gJTSVl+?f{bF83JeFu%$Rvs3b~}Z2UuNf(`~$-p z`>=MBVJ(e5x0PAC&0LMD*V#hT4ew6RdQ`|z)Mw)btK;DMF&)OM8_A3=kFCtlx%E%K zP0QN-#^*&p-JqjfkD1Ojq52Pf{nq@uqv=qT7wJg15AR0ucf;q>aqzI1&otG0Zg=5T zI?33+Nt7c&Vz*J7rLZD@zdBvd72ew;JQ5}O$I)2VIg1>+GGai(sZD+65qUyP7=vEp z`l_w-`yixrBpa)rcVkD>RoQ!^;_aId)8cqL!!&YQir3!meF=?|X?O4)ZAC^;nNx@7SWd`I%cvbR$EBNF-;*yyBSsb10VJqdBlR!U-i zeo|&)!jASWYP3j*!_kOvNGab!USB=rvdfyO*<5Uww*$*f()G$t`_|zfBJU86F%EGs zadEM?ad4;k*i~pJ62HM5L4}2eg$9R7NJxZ!3k{VS5P2rs=3$m1#KXg89Fi3xTobKES3k+9wZ^i@7;A^z{e zSyXUe4N8>=4=$H~S!iX3v)aM7`Kk)VI&{iO${V~|9fSdwII-ZjXiTLk-m(e;f%nmoaqJ3HE$ z*|EK2?bx<$+qP}nw(XgBZ2KMCwtf5iUtGl9hx?M%omEd|c0^W1b$8ZNaCg`R0a+GC z#&p?-V~2IjE4J?5C|~2_W+{jFfQ;dwwb;!o?sUWrt)diiWe0T{>nEJdJ`uvI;ig=> z2Fl0Ec*TBN0Di5}RB6*;Dw-bqDBP>|nnqKUD~(9&>Fa&Q_}tV(7OJ+^-~Q;&^pF-_ zA=A8$lNcu#TlvXu`p6kv^@jPN7F+F7pj~xbQiW1mVbh|IA%2TT&GGC*EkKC_!j)oU z(Z8j-x8pSHc=#Fc0NzdpteNVJfCDp^0B=^AAjYvSlC-G%GeYR2@30u@J$2uG!k4N3 zH+gi>VfA>PD`w@m!MpV~dTZ_+?(2ZXtGlB{SWBr&iLXx~*4bE6M3eFtO}7zKkIm3uy_bvGAnA1 z|0rv!ReR~~Hk*(muZm+~bkF%TSK~^5=e)I_jZIA@q??WS8wV5UE-`Xfb!R})ME~Fx ztu%Cdb2WNRMu<~FcGkgtLUGBX=NbtatU;0L5QU#kqJx?2`^Whi_R$u~J}+bcZpjxA2@LACKgaOh$UqC`1djY6aWlrizal^UL21!TNNDk}5qmb=k4 zxT5;`jrpG%Pu$dz3*eXVu+5RSPHe3%3p)zSa7MRuwsVoZ&2g>HbQ2Ec(nZ@1Nkg<9 zF}zqg^ev!}f=UwMO4Ucd1Ph)9xf>j@JL^VPt)~oa@Xz^vdBTh9qa~?~&vkEWwb!WA zbDJ*;owI7I{MFs?XMrh+v|8DfR89izgc=k~+#kJi>d{=3zk7L$JT*^w|8}2?Cn{E$ zp6Zx5i*DTROeUtqmS=puXZ@z+NZ3_kEKkox%gq~-Ii}kGd88$=`YLlstF~Hq=o@ys zR8?KKQ(?Kf1j|C`JzvHgoe8O37z|Npx>AOT_Xrw7EQ!YzvsuS+wg?{!Cu`I>u(x^^ zpN{pmtw!kqDA!>+@4(m!oO=St*>^Ea92>)wJSOv$RVQV3pK5f0+j>u!OCAWsk@A@& zZLB7@fAt5C=WZ#Y_N@1`*n|$nY$Eqx%bSsiNSrHlXSliM^beh*>aW^2;H|9Z!ovUUQb$DvnEx#D1Hk3 z4JMndCS)l?5Bne~I2K6)nSl0TKk?lDr=iFY7EjhXBL?&H+;y_&>Vt)>=C*NBu;vLp z_galdLM4jZE@2C2z17Yv*QY)+_O^xlLbbj^d3|a6yuQ8Ke7Emmac%nG{&Fi;^K#Aj zoQc|;7-cJgv)&#?lRrL3j(cWPj)l3n8d^K&}< z-5K?=`9r4q+3N$K%r2y|Vc;Fp@{9OwsPs-4aJL#bgxkzN)a&#J*t*Nz|Y1) zjEZg#baW16{bdV_(`jWLw_rO(^)z>el3oyG`1&l7TF%K(LoD@t!ga2t-v6V;c*9hx zcJHXh#@e9PXj!;i6ASr>DfKR3mGXn;#}l=KjlWRfT|lZ;q$LKA{n|@Im$((wBOHI$ z`n)AAouJch8vbyW8EG?xi-3aPP+rL37?>_xWMW!Qco{L)ey)7g^m7=u($ zDd^f8q4lTV$4j!_`R0jwXW9`7tYA$;)vcjL2#Nma54dI%Mn0KR~Z_dQ9Krx(kn?1tGat*cZF#1+|cxSut_=7 zloa__xCEtT=;kX@MXLn0kfu|7g@7Ed^UZd(Z4u81Rx>{drGGjbO)DRK?y&S|h21#J zLOSQ=;Mtuykz_RGh*V<8T>)Jf;|8N?F5^LNz z^8H}=YcmtK-JPN1!`a>C-7$1ZR-#`TDS`}nOv=Rk!E*fuuPl67eCaVa)AVrI;l6Ez z@tNAN@Vy(PTg}2?iGqjhR$CB4wPAvzyij&OfrjHjy4DTVuJcyCjgMRQTeTbr97?Wb zMU4D;Y%)muA)!l}zTvIU*{)wIQdu)sk+ferB_PCGZ7QK` z%y41UCZ$c863M31>4T&-+a^kUvDG>=eC8+goF!>6yf0QHxh8z~A!l;m z2Bz81eKFp}y*v1wGoKo4mzF%sTXl$O;)2m;+T`BNX^A2ZaNIYF=AWNA;iGuDE&+A7 z$qczEt&?+v?P@B6Med>Quea}wQ|CW74PBUQw&R#D>J&NSD>^ZB{!|VQA&-9+9D=`` z$3R_n8clCBNfX|oRl7oazsNC;?kDO9S(p@eNly4;`rOQ4xL+$+7S3}XC)&&BCXG-K zk9RIL$KA%4<8eIR6<@rZruuS!3@uRR%D$N`gH1K1_8((*urggl>8dWa?JW9yg~@tg zB4Qy>1gJtZc%_521Vq((Hqq9f11&3G-xVt0w_o39n2kZSbmO3cg;f5Utlg?=v{vc> zEF$h#z}>(~rEG!a@D$JYK5-*FwSvV5RtmP-3Y+2R zSq@-rgPi1XU7g6FbTVx{QDxUu*T$L=s%ysAxMRb>!%Fz^bUZ{^5(QUcZOSp~Z8K$A z-tz2lY~l)Hn-Zg*#IJff4lQYXsNyM8LPSgBej%ZMoa|N^vv7IU$HfGMDCY;ZmWs?Z zBXvfrWAsAH&2Ah-qzH)$cq0+MXe0&seza7dRQmxaT_X94e{tMnG}Ykuu1!(a z*l5T%RbXSTxS8J&hDlKQ>u%CTqcOo%(t6$g>>{&*d_@&uL)pgI*>7Mee)#ztD>cQl} z-=R#Ks$RQ-Nu!~|g59<4aY{3>RtII#NTnZ9_G&+I!W>z(pmGB$S+do&7Fc{{)^3Qj zZeV;%y7}dOCUBeln8T@qZ#*V4IIkNxo3Nc8TGtvV`rLiXV^7^a3iP~dG-)Xkn?|Hx zU#hAUMJ|01m#vXm0o?V!uFbX(l7>rIW&SiC}K0j??#T1^uKe6jX?_n%P}k%7-QHA_3RUTqTS`PtoA=H<=K( zE^1V`Sy#rFWzPluI0D``azUPlTPL=`xEdc~Ycl!+QQFe$)C88x%BiHs4QqoJEHvM2 zn{dl|o}ZKns=1SuGsC4X#AsfOD0&d3Y*xPlVxyn}M9IaharU5^+6w+|c5&`D{y8Gv zMa8oDNygqUMsOyDaHI#Ld$9uJ(XUVVbJ`aLiwIHPAgW)S?MOh%1ymEEAIdV3p2RL< zkS6&e=mV-BC0NsJDjo(ZRI>Wl%T6MX*9Cu=k${nGlG;vITD}a}MkAtG@TmF^`#CVT zLc$#vCW4Egw_oG_aba<7{31}mWzQ_shJ}D14K@+Ew}{Nb@}c1uPN>}WX62cOM!!to zcj?4gb1TFgwVMO!+hBmy;Y=Yv-A}rI*M-nwa0G!j42Ns(2<*`);ztO2ZerOYd)17? zJuWi`x%bEamEDA!$1$D9Xh(R7LWNiVbyF@@br7#u9|gprlFxb>@ST9wTku)O| z>=~JAJ|nS#^JG=TadIpTpxIK|S&D?d_*vFVGTTe|`|rGxUT{G>-U(p>J<7P_<-K-rWdia>KceEBjg~)hT^lZSu89| z=5X*M0K|!<3Y(}&kc#W?EA_J$K2MSaJA)~_=RYT5CZq9wL=v+iCSuaPw??uXm2Zf4 zW>uX0YI%ABmeHM1az+Vu7|hXr_mYKRb|_8=AowxFMk7#``B^+gvmovXhb*H=?{q`> zM^0Hia(a;h;SQ!=kd%mUDv1J`Om&BF#?s8pgRn?{o~%7p;O!PSWhVnby8*27e=Jpqp5|#v@?^m476gi~MnA z(U?58+S2J*?? z5rxpT?w9O3n;UsDn1pq}aGXPmZo=#M-Qi z{ec;IG++cm+G2wFU}eAHgpo*G;zDhz-4Qa0B_~ej)^Rx^8hrqUwjMEgl>EP*@Ti{- zFtlpB-(GjwoJBts=A$a$*}%<Aqnt!B?&t7>(l8Q5Z?Z{6tSSbMSz%D;r@6g2zK*I z21Wd1K&;f9x{aa5lnM=nQjOdqP1G!IC$m&6Fth=}dqkd04EV{M|IvnYD1Z@Hw<5Hs zGnR`ZC_pFTha){`7k~)CrNb&9PW=VqCppA5oXA~%xUXXts5RMyR)*d5ivmGTnZ2$c zAO5S{Pg2;Is7}PY4=SEdR~Q+}1=rjA;LW!);cNqNR-+qediUt5&(Ip+RHc>o_0Cs( z$DQ}39oJjU+RUDgAORlni!$!HFd!UM?7b$gS%^H8+9s@~NJZ?#sqMm!6V&D%DX5n` z0_f5|A~Gf3Q*Y$jIXJ+#MD6@5Zv?w}m}Bo2BH9SV@{mo-!FO|6|7kW>+sU#op1p=l zRKXJT9uYcZ;JE8PdQzUYvqU{n4*LpBKj592iLwa7S;&b&&QYs%w!E4v?>iZDcR#PL zdt~1RoYjfr4K803j>=+UEd*xP^j8&F*UgEa@DF@v+{CGkybzF$p=LcsQo2=S0%Use z9eY9NAo2|=v4FhccJ?d(B_Ke!mkE>vj2&c-?&4Ciq@Q66yhL5?P%o2D>M|&Ha4laA zb~2WZffO8!-;_Sn%65x^KVyd)HVKwAx}18UCRt7(T6^UOq6YGZAp|F(I4cnlEcc~Z z5Y)M`9Pu{OOODcPHTALtUF!J)BY(W4LR5)1YCK}i;7jzHb{}-X?f2kwQn(Loo z{Qq)B68=Aoj7C;gmtCHEN{h|B-P7!hrY6%|qf-4~#C&cXMhSd)TtY%yqmptzyXy#u zL4^{f(!}NX%x;ve=XjEMs^FWJmMnBts+YU-EHo>vo0Th-HOo>gt6LW}D<3OfKC7Ca z)7e4iEU%y6-}j&2y$emVo0oJvFT0kvJTIG{d7!AKzfjbL4hHVGJcXWjr+6J7-UEFg zZU#lR@e4ZydoUbx>p##9HCSAaDm@)nrQ2Js&YoIwa;$V8L!_K*dP)I}r5=6bi;J79 zF;d=4XHm->D%8XpHfl~QPn)}E++v261H&iH+M7c+e?1gd}U z-p2}`(;CWu^}Nt@9vmmHhp8mYYo1fyf8h{E*v-XRz9O(td?=w;(D3rlmb#t1bx#I+ zyV1U+*`T*Ba)}JRy=n0*%K&WNodtPyC_}q56mut>jMtU5+ouc86-P#=I7>3DR27^V z$7Cl`5xMPK)NXwr7{@p0Lq^N{JpcAAXO!E!WiH8>WOirwlThXw%!Lyl4px6b7a+!H zbFv5P?~=o|^j?7Zt&IbPb{%yz^`6{R602UFAID77Yn5a*8jmJSJsC_Df0$ah(A&Bo zHCm3Bf|&&}$afNkVm-ihP{ve9iB)XK1dv*l3nf3%mEB8MiG{`zW6l&DO;aONCIjsH z)9Q>dCSdPJVW~!o=hu*$-?UXN;x&vBcL7gzgLngymwf>(y$YUoGMajGc;&1DtjQ~d zE_R;4u3YYtl$F9K!L`CG-Fne3A6c4a(XNIOqgrk+gV=qE{|EQ|sB1e-Sugsz^OW}C z^VC*8i1&y;kC*t3>e;(E){zgyQ%vH<>U_G1dfW#Q8b99_=kl3j^M_6>?jA~MUUf2>v*mh#8xPH*5y&x0r9dH(A1hl6|W`J zkvy5;Y+_5E8%M%Jmhqzh;iUiJG9EoG%DFR=xl24Q5fMD2{x(Cxto{7=pzPNE!k$Wt zL08oEqWAwiee-#GaR}$m;4R`V`J#GCE7@L z`Y!1|KQC?t!nsSl#XP0H(J$gNcD-kq?$_yP|LQ{DrfV}wCzfxL0EeWQDJh-9Q`?fl zS8I@bp$U?-8_W1cyvipenF##qxr24&6WolUg4>1!y$gcY6a};otLGL;#B(1=3Hm9J za+jD_b=E#ENv5`S=07gCj%=SmQfF zN2#*)=Gierlj9#y7>Jw`^-&e#28)=?M{p(8lF`lvEl#vB9dYHp_=}Q^tHNvpx*RdW)OEWU#V5+8p zLM`PCj{$H0xQU~D8iqL?p7HS5Bp)zwi#fmPBG=&zhayu^Aq;H3yj|<*SCT8-xT9Q7 zZOuPoB&=TF54rEIyT?^_4(|Q^<8IP!JVZOs4Q0H!pgJ!ed+!5mD#(Vd9Q~Js* z!1foOOn*ybTEw&?vyon*-aK1{=8&*G=cm(;Yr1jfYM{qK4NRtmoSv=Txxzh6o075w z+B!D6_Mo$v$ULt9PU;S$h>##BnqzJef+uG)06hN!N$ynL1)9nm(6TyB_{VkJyCQ!e zLt-c-AbOtaoTvnq7D%M#ZbFRF257u(JY`r=z}jFcZoMkbXcWaC`~DdPMLMG04TUz6 z&l7ckB*@}%HjM|t3EFWq647pHU>^Dzwcf485v8c0ma(9Ip`R6yf;zN?LYuqcZ6Eu~c*grfxU8~@;S(HDD{dmAF9UhT{6^jN-l`Jmz7~?(!Uv|s1Bu= z1b^QASM286oC>c=nZGs3*VQs!m|uc>txkW;SjT^O!bY zvW9sCmr{{gWLDiylRpYf9rWH9WpUW16qE+%Aa_Q@;M8Nr$D#~sRwQRNcN3qtvz@mm z5g&0+6iFtADn6P+1L7`F@$_qBDrWxam(2ZxT(?HD&<9MX)4B^&M<1>BqY{62q`Czd z_tP;hQtS;(0bi}W9?sRd0%05~g|FC>J0W2X!!+G)IBI%079Qivf6r+7Uu%+6F)D82 z6FZ3T6FbLn^2pF8^-blPU13aZDvmnP==_{SsnUzu#o}q2+!`wx7Egl9qd->gTr831S`M>fi&vZ0&XS~)4oFsqnmVJYv!Fx_uy)$- z;HV_Dj$C(kAyvP%wiyosj1Fq?HXN?=+0NM53GWoUHsr`t3iNVx7b?8grSE=|}v z<_+JMIgtHZ>L6tgy+%Te8^W<0ha?XP9B1A9!DmocS6Yr&|LH}vKY$v8crnUFr_Ib| zF?`@6VftKW-jGSq2pO5%N3>clwMkkj-p|I61ZnvPSB3EPUJYFqhcPz);^LsDzCjzu zdi;-7nM%@`epeEC%9XMlMygExaW5ZkmH-%?jPQ?nO)cIuGQI1L?qpdha|pAm#gtXmp=@QdSB4Hgn@B&00MynuFxZh6#U%7e zM9nK{ky;(ot%7s)s{lqkw*m==^HIKqyy_@u;n4rDNI0^*dSC)UUO*}D=N1%j4Fr`d zy~R{4jOU>u3NQU@jA+<{IjyaRa#};8kaLr5f{++VWwz~*c;K`Rw~fXC;?WIGDF+j7 z<(KVO)CSQXPW6$1l$hsnr%qD{Cpg@#t^?TXIMrnAybAk@4eYJ~yEMWk+s$#q=c>PF zS9LQth*f;34Nqv^wdq+qVw#Ua{vC+$7Ox3DF<3h`DFB>7!;C{{W#Yt)0q@W-|9zZ? zZ1W|Qf}lL}O4v}6U4W44?n4-#OOum?-AJ$-q-*aoJI`vn6fpbVOZ>R^#Ky|=Lt*g= z(W5J%BSN!7#%Vu49SQz3-Z1SF3Eo};nth((Pu2s1CIpxjHL9cZ=W(G_^@QX?m~cgB zeaRN?6mV)LC;zivoK3S>qV<}p=vtVRoFVv%chWScWlK z0h4hNcJUzhIQ^MznA{4|fIbE_M7Ox6)JDwbE*ns@YZH6-C1+6g1s{?1H7j%`FrzrC4)Lbf zs^Lhx`Jxdu+d-?>4Z0<&uGVH+cm(!cZ1e`O6o5N-GV20t|}{W z%|*UyXc_KvEDyUgqbKmeLQ~^1Udc$_AuA;dr3yAMMY*p}NVOc67==ipMc zIn_CK<{O#uS&MwO-}~N>D)~FS=sQ4SFyJBV6rH$U=K9TYjN>vWQ~H}JXE70!(9K0i zM}or*4S$|Zo>LD(P(5pwt$}<~A?+r1g@I$7JbHIb+?e=kj?2OgK<{Hoz(d1S#iB0} z7}0NRbVLagB4{)^!Vl*Z^TTnuN4U z5&vD22rD2OcmShZ2jkknw(MXL06kKkqL@hMV45G(zne&HH#*RFni42|d}?xukd*^e zA1RJTT&+xgoo1{@rJ>`cnC=g?0}(I2%T>55o|N@`>m|iuz2UfwnX@ZCKep-HB74Wo zQFxktvmelMnNN`)$&_=W#Y-?Xsnr*WCM(7J-ln|NU9A9H78|;`it^5yB)cdlgATs;KF$$9Kp_IifZwR!LmcA>EH0hE_tYV zEoSi5Psjcb2jx8d%xbdV+b2#?AbG7JmvM?J(Iy3RBv&B09G0wXhi$s)lU{4-I4KJVNKxNf3O}Ygd#RReKGEVbB@mK`r~rJ*Jza zhKtP~?Gq7H64~kROypF-0#+Be4y=B66qGhcHju%B7^I64p+JDW^o;ym^say<(@#uXZlXqB(NvF2@Q=CG# zK~>*D{z%qO>5T!I^Ivdt{lSky1LkuO0~OgOg;O|k|6crDoy{h7r2k=9Lo$2?%H@J@ zifT<605COKo62C#HY3Tv0JMl=%XLC;brF zjOVs|Rc}mYBq3X-IBWkNVx|1GKG{2D#63Cr6F2i%9dD@iRt%|ILxJ18DqJ=@6hjoB zDHhkD4D`?-T>`k#r;3flc$k|weaND6es47~&U4M)zSPgg)NtQpy4!EQG%enM{RJA9 zZQg8t{Dr$)qt3~;Sufh7dEFSw%KqRfL`v7B-If}bs6M^iWl_ruV@g;q&|T+Mwi5}4 zw%4Q^Bp0-i-kWkaCq3`ZGdV&osLcJs39q|}VMT2L>;rS8%08|~YiD4@OQZ&akpLpX zF2>LcO8BHveQU>lbQf@qkm5Kl+0gHIqZq_G-GouQl7z0Dnb~PPU42}J&ft93kc*Wb zFhb{A9Zh_iY}7(y*TB4gLaQoFjQRNrr9)Bc>v$xUSL8L|9h*p>NRZ;TPz~pNW@$5~ zx~i_}GWW54g!$htDAu7=R>PhXx@+9lb6M81)5N~au3jZLh{QU_k)pmCKg5^lAHiMO zoW7LMwOALRW-b+Jjp*r!{hLO9+jS@H{yUR`0U`GWZnU<2KfV?hxOydb&6W~NmT^){~bJ5g9J|SXg(IUkbN+ptMsJdCbB(6rJ45nK zHo|V+zX+$#{`(da$2U3u?f1e~2=V}5E2JB`{7Fxdvi+dL^4QoL&B!>RkP~HNnw!iM ziTYwXebuO)QJ}#@3WCS?poi?;nYM-c-W^*_{e9Ta?2J`A$zMBJ2hQ$;W-?RJd5Es; z{hffu2A{Cdnob&Pr31uZHfH?#hA_nJi|r!9U!ypOIHnpZ4DVQp-xQpGs3LFom5Ovs zDNT*P`_i}U27Xb!n-Gw#qX_z4Pygesmi$zd{-b;!{f|;#;;%-$cVy$IYWcdB7EZ4u zv}txp)(AyU`^sacTHQ=VRt4AbcJi^)eyal;#j>kLkWDE-V9QRAz!zbnoK1ohZ1v*r z>lXUHxCE=~AHcmaVi^Z#s%7X9)G5p)u9WHSRhC$tizA&ri5E`vs*RZ{eevZL{Yg!YCu zI#r!T$Kb;EY{|{`yOQOeZ0jpG&6Fb`Cs)Fja-SN(tAS)clOv?4{1F^nfyB=iLvZ#i zdRH!wC_V45U!x#!hS2FE>YQ8m^WY>n9ci37Tq00wJhqSX?jc_eDLn(5Yg)X;-R2UC zpdYZl?V*`SXG6XCp$jF)H(QVcF`ApH=NGF%puPo>b>C10j>FaJ(y2KG-HLdvZc|8g zry8@4b-7rqwUO6Qz%68Mr{NRLeuAy=kJP!r&^#>;fb6u~>+jW{1M>AC`TR(wy|Upw z;T3L52B1bHSMh~88c8paEp`S<%Q+{biU*d}chP9~jMJpP|~(yB1u z@v}i;(qzG#7Kw-H}f5e6*$Cxjhs-G98q@1*y-@-<4+LUYkhe&qk` z3BTtGb&wyPF#O#^y5@ubBGO+nXS^*oc;W{<(3+?>e7NRGamQ`9!h(X+3fNJFNdI=G zc+MN`#L;t$zhM=aFVU19UP!Q1`ACEc#f$YqDmD^2l2p)?ykRA-J#?*uv_`P(gyS_b z{NcEH6-)0Wx1&$7iTL?Wly%-r@LLx|Y8L-zV(5w!?AqZh$K0#5Tg$xEk{GGb#XxqAKuaSw?Pkhh|;m?$8{X6f}XiXJLt&SQy3T^ zNB&KM+dH_JPj4l>Sju)MB{2f(}Q4n(9vTnFII3uWj zK#BSi!dYi8{zO2|*(mR)Z7_bg314=|TGAW^y$ls3YR~~s(WYN!Dr~~j0(mJ31(Aje zNewu2iVcC)#VO=bbJ>j=K(dTfQhpoN!oTDSotlb|8fhF$F{JWm%_Ex!f@A6LJE`K6 zV*%~onbbmD&oKEi{MzVyk}0J@dzcLfu86XpO_N1|cxS{O^2F>lT4IqWwF26-9Ow&` z0*jGTDzlmbeX9N%;E0-r{{Cd};n*?lKi$EwfXjkab@V32 z9VCl&!MNG@v(FT?YsmJ=T2}I*HTqY^=m!;L+I_MS+0C|y+Lx?fDeOjU!|yi>E}Sfp z+-F<+1UBIl$j%V}(hVB`{03q3e5I)^%Mli~{v%zS#ye)}C2_Yg{tek*cBs9oddX)e zQ667YA+o&@@#q(dO#F=n4Frv5r%5eJ;Q^`OSV_EonAPb2Vfv2Pv*6lRxthJ zbr{VVf}FKQZRUsdvQp7S4xb+lo+c18Zzh)d?Dri0ziJL8`kJzZ{Kyg1^V8Xp5!Cgo zS<_)uXO4$Od*N)vxAnGyY4T`%T_9%h%r9qmyVgZ;Uzg1ngY`nEiI;y>o2=bsj=#G8 z$;PM*G8E^OIcfoIJe=^B)VXCQy(ncrk|Xh9e}B^pg6ncdvP>7|Q5{S9_Sf(; zf%NNyFEXBtFO}R(i0EubMuvht8y6C`lCZKce5j~=amg2kHwjlp46U4P(8wGV_;^^6 zS$&BKaX>tlhGyPgJjWTioO1kF(gJXQbeRt{BO|Pd6ae5GB2ql{kfyHY!pV_owWL(j z7c!Z3Wqwq7-Mx|WkW)k_g%6c28ewLxFz_-$!v!YwbkaC5d^Yn*M@|;IGBFn$=os+? zleSyuqO0?XOMlV>h#TTa(aKUrkuv1-mPBQWg)=hZS8&vYEuocY8Zy>kfHk97YX#*a z@z=lK%1THHFaH86_znq=XVICPn;diwwB9O80#MJ1@bf+YbE9+A!-Mai8^^+HC-vf2 zu9Td zGNwnRJI{EWPesL6QD2O2 zr$0CKqb?2S|FRVAg6jjvnVlW#qFiP%q;X^Zy`L6%NPlvxh@j8?mHwn_?_Uv@WO`gM z!n`bEWNK!8T_2@6n*~OX1?IgmH8(p1-^zPvE2^8ll4rB4%iHFw@<=?Jk4L5Ke$lcB z%h!_W#QfHSuPQU2W#FTbo+|%a2*M$+_%*mq)NzU;{h99-T%WmQc9wj{@L1&g$p$NPhpugVUApMTK6wAVS=zVIj9reaOx8nJpp? zC9OI+e26OvNe(T*FDwlP;55=Bb_LW}t0eV!xjpPR_3$Z+^75zM2}qZ-A*~8dWmH5k zIM@7(!|L#>d@Fy82%iKR8aXoI+I&l9W+HlC4{CjaC13;jk(j>*@+Z#a(!WT2c7IFy zF9=}%^+p}3BWk>W+T3&}b`Z%Vq1YFZSfE=3A>F0yL+rpkwFC?nFY#b@4lLrXDX-=) zfs>(~9zH*fWQ<^Zga9a)O_Z|&;OHN<1-x0@RNb-5@KMVKcCk-O!7X$SNIeWh>@QbD zucydsa9I_Fo&dSUIXkr8tov*N^3Px_!nXM)(zrjIskp1lMUgWLTIW8Hn|Zdb4H#N}oG^2NM?pmHvw|1fQH1(@%4u7^X!((h4{S(pKrlla~)|bM=ubV^j zeW_P_4$^FTEaJ`HEAX1YVh%X)1;w+XR%Ur(vcG#G`$(&#EBJY|KbO0}A^kbz!4;vX z`}!LGU4M68H3AJ(9P?h<2S0l{QLWxaA%9Ykbt~Hz&iyNAc|mk!3j<8)MZ8b{`RMRM zeXs6e7Q^|S!}gY*zptU5%nPKm{W!>&362goaGoui-1NZVI` z3-!6z*nU<#UN`CdQ>LC|{Cw;<$vs8O=i$C+da<1AnPojfEsX4$?Gn%yz&^zndrvO$ zF?%&+%gU-PyLHmKsAbYp^v%y$sbq5Tk)N1<>dqgAtWCPhI z0ut=IhJEXnLNY&&7-5$I1rEb)L?%Bts1eTOPG|*N{WNOG4OQ7otC!53#bq>07w{<7 zF+8)c)YP;_bV{%P{$09ve#?9T_ zh2oitW?|9%8oPq1QC;r%u@v`QrmEN>$2ib-kz{aMVxKI7eTq##$keSMc5m48u|py3 zxo5dYBJ3HUp>biJOD|p~n4c_I3V(|UD;c@;h|QRSR(;MYGiQF#&$Z5@Uwx28zV)2&DVTGIFi@5uQk=(yfSaBbkGQFXp(73bxrny(X zeOQd+x6s~sZMo?VbCrsi_VaII}|p{CHD7N;s&leaEXHg_oQN?6dBgjBS z=`n3qt18@;shjuUjd!R1gSJQ*TJ^F5HOq4r$X)g($#2`i(^gzDy+KrRM7~a0rqG3B zY`U0ID2gIe0ydotWc(q$M&is_nDtnxrK5G|jZGFqYNO@$@tgXC9z``XKq9l^yS7N> zn-j;DV)8cSWREw&p<^htSKLw@-DY`zA&GtlhtUL$Z9Ere;`N5;IM6Q8CbiqF?=!Oe z7Cz;>?hs)8Ejj;~OJhpNRm$%x4d_;Nm*HXkdxz?SFLMuzWr|OIy6BR%{Wwgyc-Z)R zSg=9K_Y_B|Jg|@aimianFmkVjTmp(~(=DO*?3QUSJ){(SMk-5WYM2pzhUuT$WDmuc zBFBR(+O1^wba>!H@pf{UF_!YS*ns3EneDl{h<0Z+pd%#Q4R9MZbPvv@X&0K_yAWLp zF@t_%)mIHx>t@f#YlMLhdZMQ|_CAXYHjUaQv}68r25E(~PH_j#fBi=&A&nll?hhRQ zOt9e|>Kprb_mH#tt#3>>>S+3up_vkheO?4Z9Ksmt40HDem>1YEJUEbTfyO^QfoQ*c z+jpn~V$nZT*z0?gWln386t0ROCq^(`4UUyfH>h7W1Gd9Am&JQAbtpPILZhee(Dvoo z2Yi*LpK=kbWk+AX9s7M{n0m;MziA^TsT{t(BeK4GXc%fIUcWCD-Z=ec1n-N-c(Hhz zuB`Xt?D^aEMWS-SOEOXW%aPc0b_PV0FJzB6+2-6~;#^UhcVt69I>y3P26q~>O$wKx z1soiW8QCl^(w7MKU&h&0s_UsYf@?F>WdCarc5C6(Yr#VKfoKTwqN;w4aLv6%u;th( z*tx7mbNBC-Ny7;?w$`iPW5q1&sLFY`)sE%1u0DU`+7JUx?esh@BTqXSxmP_jgUf2r zPU7CwjJy!kiR8llhqdh!ZeFa=dhhOiHs~N3J7n0572K>2FwUB1q7|;)L_^yTf_Ok) z<}fiCbg-0EYfnKpwW)Z5trDlTe|T|BdA4etgS`RdQJ>REtnyvR#9z(azv+{3v!*ie zU2eVFA77lx=d?q?We3s>l?mf$bX508=#Y-^nJkel-#5$6OhPAtqvZ~+-5Qb4_kf7x zPV6uvL~MH7YqDPTKVD#wZq4+| z%Rij;+Uoz_NbQ(JwFdg}{_4SL!+o**?*bRYFh+RhDt_(@(8nt088-67$*}dL_j?BH zpxaZ_!wBB~`Xaxzpwi1T?ETz%mHl06X@~JuWZ3jB`uCr`%PuI);x^!EhU&I4Rp_mNDT+hvI@lf-L}4C(G?a~AgQT#^s)1WW$|jX&*ZX*j#r zeOh(`QwraQq}ytLM;KOxsY$oPn*J;+t3-}H(@ucf(vhts3Wi42l9`4sg_~TMQ7(tb zAbf^K9VeKA!(+OFv|vIasRkWo)QZ%?Wt-?A>gYR#g}^0V+XBF@6B^#Yt{GpSiX_J` z6EilfoWQ#A0b&ZY46jG~>nD-AAvDQa=;>aJ4&`I5=%(r4zq*ku7=5wb*zL+kuj$>b zv@9KZbZto~=S0ePIT=I)*lg0zz;@M5f942~aguVqA?>8j|LmpeW8ED}cMKf$(qyxR zGL7nU3+#JQ+TqvunU+TtU7jWR!WuSt8Q`m}Ab6zIo9{;|O_%N)Fvb7_uKSZq%rdAE z9VgKS;U%tj1e}NVX2#F3j`!W86OZ+jG25dmITfyaBsE_ZB&LuPWWfnu51AXxjW9WN zai7hIYlp$&hnBP_$V|TGkM&cE-h1$)Q@K^GIWGL;ImYZ@C&*0{9ogI;TcjT@yQV?B ze?B(*dxTz6p?q_1Y|*|_gL-t?AcOAx?BJlj0(N{8v_krDU`qEGaeMl*ECL;)5x>}W zV;QGINXW#_aKy8z%I`^>yNhbjeKK#>VOwVW>|9`u8OA&tcXS!L#cl^vgB|(U;4!fC zb_sTIlC+E%nxvMH8H!c<(~0cz?HGR2BD$sbdM9`^jy1m}^nUic^W6jn^!#B{FW62{ z(adtq+Cc`(rG5E%j@A1}xJr`+(npKvmAj*hV+ zAE9mC6><~1=l2cgE~sBm6ff}$zc>l+zt2RDU|08z(oZm4UQ=1%RdFI>9?2lnAPv_ir4PYZu(KK7B9c9Y-i#9hyh zzXY(AcBkpFb!(kz^(E|6VdN?j975wDw8`%H_(Ov44Unc_zTpD?@celx7HmIy2ivB- z*^$GP7eBT4Z&hiSjPzp-9)U-G-Q93~2Uo!->!Psh>ILzC2b=#D|9?EO#U(&P_{i&x ziFch18!YzQhT{FjMsZ8HBdw1`;sF+ePvRqZBMH7u_VS;}d9yi|49|Pv-sinkmBwjJ z@a|u3iYu%l8pL+~y$puk^N=%-xJ$nO>jW z*4>rf&#yT*-20w==#Q}vxkt85-!{A$ZftygMs`9sojZqpz7UxL=pim4G*DeAZ=NTY zaUi*tdLw4Ll@PpNFnX%UKYuGCbflAa3r6U}(}TT7N_Z_Z;dq9{e_#`>SWfl%SUA`b z=>0o&Y>aL{LRUrQfGT~Ws$dc${?^lo2i3Tfu^r`R^Q7GGeZcf*4Qvgl7vu0vJn?{L z!Z}E*D#MrjZd5b_j`|iFC5nX@_G z@A%J9k#k*kII2009>ghx%oEv#fC1oL%bp z!=7~&a$pBoW<$K;5rZpzCt%O&w#@>25fqCl;uUZp-UCAPrbZ=#=!P7Kd4MMnoz@O( z^{NuEBXaH~%B7;Ml;_e22EAee5YJD%UnnmT->AEZJYkQ|ujhUlR@4L8re4D08EIH+ z7`yd9R@}zj#>(i?(?5^AkIX8UG|aVaHjO_AISiujrk)>Pc&^VMbx(U{zFU0#yT-aF zw`^nKt6;T|+IZ|lcfR~+F<@fgr(tyvHc&s5ZtnYR!E@m=@*8GXX6I+OW?}PdgYkZG z<2GayOxumH{_(8^-kVzD_mxLJ$DYJEZY9_LmUQ<|n{bRJx5#eTsdre0wk^w|5YoRS zhaF(VF}!BuBDz_WLd}VH6WPU#zEz8c)UDms`Y~csaGklbdi%~0W&1^XFO+}lT|CR5 zjaO6}?BWC{JS1w;ISEUNo%<9RIWZMTHFx)#B6?6;qb}vxfAlQyDShxnd!gOnmTPGX$_1xzIVf8e4b~p#J29e=RVJTxL(qseC`T2rR6@z zG~zl~7wPy|KSAS~*~2ukEo8i4weJB$+YH_Ry@~cW9v<#x7iqsv6d`>f-9+0EsRio^ ze+Ds3e~gQV=ZES1SuZ+yTZxXM9-~z!xe!U^ zE&N|}-D7Yj(Z4q8*q9^}O>7%aY}>YNd*Wnb+vdc!lP9+AWMb>hfA3xIIlJnd>Z-8 zwA6T1j~=j_wkGt-PrI16w2Mfqu_+{qvV=e8bT?1o*IoQvOFFgAX7gsjoLx#3KV-yD zaRG6$y8s@*ky~>tnIP7T{rcwrgIZ*WVr}OWe5C#D)k{$5tSGA;!L!%47Z;oJX&SnJ zr<^#Jl`F5evskaUzp_kl-}&CH-2!!zCtO^bTOOEV1XmdXhrrUgc;}bu>PxM)VcmCA zKAUT%_!v9db~)uOPl!rd-f(=J>YkIU*^ChyCb9JZs;r$(dpR~N zD8^ax;&o(iW1GF6c)7ZieL3A?b3TbMWs8-x&OzB?sbF`Pw^1JCRQkK4tfv%@;S?R) zkTAux8MdpUng!ZvEKrU~O4|;nEJo~6%}?@wlXho8@x6-q2Pvg}71M=%tN+S;KHNvCJ@aZ{n1F$t-sKbi4vbv*xwNZpx*_ ze$3dI>OyF)Zf$KYZ?12yt^S*{r7(!=ZamCA?$)Co=%Qd<>%}lu2+tM&1->zPA&38x zUW1%ubuIB=@aZXGX+d?F@72ZOQywPbUAN{j&!ogt6qU1j+|oQ{ZOu;rrEc@g5z=_T z)q(lwGLxZmTt9^`+51Jq?3>wOl$qQ%&yps1iG6k<$l1loaaZ&CzVUvhXEyGkvD#3^ zl6s}Rx`nj<5CD((t#SaS!z3*QL+PY(b}?J1Xd2e$*S*+HCDcHlBdS;LSoGY-26(nJ zCuw{X*_St$mP=u(K($%gy5-34DJiEgPkr2M0{@0UYHoIOg0t$2q<4_^a1Ed@RV{UT zF$4hYP9X}G1v0jiAyq;Q3Y_*2e20%@Y81j=G;6C$Fx~go#*t zs@1o~>n}dbl?RVmDw;epbZci2xWY-$3E`P>UIDh_2SGYYwkN9TQ{%?=Jibj@u3Nxa?a6+W#zs_I|IN(mQpo(bPBbB;ihhl(R)IvgP0FpuG6}s+@0j#j5i~^HGElm^8d;{#sIBulHd0^#q?yP1J6SuQ(WMO-+YUFUi8N%C*2_S0( zoG#Z9x@+CFv8(tw%)*nz3BTyZH}$?|SvvDQR{ghfSG@eTh}@ zRFWC|+?c?_-zpuA+P4l%QFCOvNwAY{{f*?!07&l+V19qVsLeuMpm`PsIE+@-#N(6K zNg**F7u$MEdru1>GpJU_!_Zr-6LfOY_AGTZ>PF+BB1Wyx(;Oc`(|Q%%@{6HN?-y$( zZ%E$88Jnl9!vwsDbvN_j3oC7Hvxq2eQBE)XMvOZpFs%cZFp8M(Ex+lnJ%9NMC%;w`)x zXo&EK91deOsfltV;VRuqY-$K}WEM*|-?8-mutnX1SAY4iipj8<-7)W^zpWV|8`?tS z*w6+Y;>{Ku-BXY6vw92B7;5HD+T80bo?SA9hT+$OXLNkfW_eocOcUyNPLoqQ z7+iab;7yETSC${Ed?^X}iDC8@cD9%68|foFcGISJtI@ucwInQ{2$XI1R(9!#2cxq=hSMiaB*UQM94GB6YN8|*}Tf5O3KW1Zpo?yo@_c+CO zs8Gzy#YNm?J=#V}K}4L?9=T8Rqrwjo^+U5)8_>SO6naw?K`*WiwzR#LKJiFt`}LtB z^2S$HIio#|T=_sral=1x*&c>GdU;vyUl)hG>M-5?=D+g%)dsZ;@)ZqLi_%%pU|CALzV5B#0KMTs16ZgjnIoK?+!nIgl^5yf zkE4&ydfB^-vDk`UIXtPzc1_ioX!ZNy8WibYypA9E^P-2_Uc2I9dWbg+M9*_AB*4;k z6x2P$9jVRBA-6f0i*+dir$cUs(}KS}t9o=cWW7RA+G~5wku!S+Adw^cMPdE)6@~um zlZ__pK#M4h8)$4>2ix{~O<;{r>VEX)V~?m5IpqHoR>j$CwioHe{8fwvFYnQ?P>orv zxC18O_ay92G5e#~y<|z`clzkzB)DwhAC6K-nhwDmOexJzVQFJN4!pHcgO}jwcGq)C zM$ncbWrYsboWz?QHNGm^-w{adzosDy%Bd{M`?{`3HwKCw_I;3?7I)1&=y!-mm;2<7 z3;soyy^*%Vw79nhA(>c$|H~g6N5%U>+0Z@C-^blhj195*r6j6T98E#85twroqRUb? zhPoLFg}imrmpKz?+RNw-eq8B(qQWahbr7QtS4$T~35O|;sYww5nenVXFo=2!|JTKR z{dF~$<1O?>-|sr|N`Bqrp=A{=w04a#&@bRwLCpBm3XPx@&N!kr16BK77;Pe&+AJ!H zQy6VMD*q)pN%=Tqm(ZVPqx$@SL$Qx`T3$queTga%v^nu8=eU=r!U(txJQ2Q~e zdwQH$Bhn*c+yq&A<*K+tF{&Ivj5nTAwB$iFKN%M_1`Sw&X_MexS)tI3_fR#g6=G*R zf*&>Y=-c|y)8;dmYYrwt1k<5Tp8$OXQ~r9~!f|6WR!!jX+H5hCL?Dq%@;WRJoNaRO z4P?befUK)jRG3Z`LeO8Wb#9C#Vg*3YK-^^y-x=MKOcHjx{N@&`aEx{yI-`*wz2D9R zRO$o+zhSrvYL1}Vp_@GIu(Az9_g%G!_C|>Z&LEtz;G+s9Yniq> z8Dd18q*(}<8<16#{Kxe!Izj>QETt7}Qo}A;v^f18+6769<;+?_s+mUsnFyO3V@>~E+<~R{`_(T0xK%wRU>am zKSw~SEBYM{HQV5Z(wob9aJgMsEb3Dwbc&Xw{L_CSMTSb|* z)7^6#h=8T&{nJc#G6S77^iRXWn!)w+=F#$;^)0`bj^`U}>TwtfseteS=*eZ^(Imri zi|QnMgwV%tU$>leJTp~_4@&O_HRhrHoir%G&MAn*DbGkdIchbn)g;T8UEKLoVf2FQ z0x@0S`WZ0f2WtT>U$$x7I`1YA19hMD$D>sLJ?({3_dV+Lr+DkxhPekAKHL55v|r|? zPCEaO>&(823Tpmwyl1e~Eeet>=$c=~aL!>~*B$H2)p%Pz*W){d+~eDCqMLW6W9A<3 zwKnmwJ(qVkJ+p>+%0Vf3xdp>8DMTIAd8tqna;)H~L*O3LZKZb`*G6eacnu!jA)9Qh zMIIWTMKD#zDZB}PR%!PGFp+W*N08)FX^livxi{#Ju~NCFWM4pXIp>nG7ue1!Qarj_ zeH+hlcAcPZWNpY`Q7=RQIdq4NG}_-4FyGH&Vo)Q^cMbYX9T|fj)}?@vs_7b&*Z7); zquRqHOQLy1x1hrnd&;=CEEp{N%8Zm)h!w!BgQG}GQEIwbHB+eccncg&bhYr4W=;2k zNyEbkb~O~UO99RA$twIgE{>)+z!7!Q&>Vu=8^QuVA6Z#oc11(4*oyL$pcruoz~usFCUeI^%GqHe*wo*7eJYB{=&GXS%_@#Q5F}bsASlwb zYQ#VOc$SN}qjnEbK7WD*ZUHJ+aNp?%{EhHAq*ewR)R|uZUSSr(?epbeOZ;YgZ9+qr zfr=prHn#FQHCu)0-YR|!`8KhZS{fWbjIH%#AeFYolnmFH&ay*pQ-or2-0_V(^83Z5 z9hKo&5E;jtC>g2$yhsfoO{sE;!q|P8(yn7TqrQ$<1e=yAk}!cgaXt%2zxL7>a4{i$6rlAlG1i zuNxNx)%h}iw#KpooRBzI0{SoS?-$kX9I3Z0RQKWQ&k#Sdbz9-8YVF3<+*`79%lV3n zO;ugFyE%aB<^a2@f9qMZ*p=&meTznnTA8<(#nsR5Gb86S)!(uY%4ay|jz04y3SB== zOPaBj ze&$M=I_@S<+75g?K2K7T@;l!i$hK-;Z7Xc&T;^;n)5&I6S^b8{g2QGNjSte5EQS7B zi-`ePRCT*eyB2RhWm?3#b?4ObzkX8lo=|uX`qQZTUC*}En!p+${JF*&dZNV)gxW+V zzBX;wQ+S?2#(rklZN;YjGz$%VtHRK$BAsjNSi`kB@3)prKH%ogMM`sZn?<7#NcJvcVk3;H~b-x=>; z#S0fv57Iv6aua>7wLXQJPFOAB(kWAW4aNL2PqiS~!jqd#-eM`xHj68|af+aWt8I&* z=csnRB-!`h*qyn~-?lxPA+7}$djIYFm0YV>TogM}C;0YuH3NZ4WFi*qmzqHTtxOO+ zalqBr5dZsf+~M{l4oAlH2aD+szOQQnWiDs_S>uo%jy{gB*{-I>U&jm9mPFY|Hn7!2 z%7P4_IuKd@emigLD8(ZmvZxO!{5hcn`eRqAWdxtzCs2*Il2^o8{CA$`s9CV~gOW^N zQK>pZ^EdRJFRVQ9QXf7O0MXCeA*<^bhz{uE@e!-Ya9~ou|0D;>5x@NN&ozS?AI?-a z`N9|E*6AUGm9lB`^wNKTdMEtN(9Wu^jHOJ>9ZvMh&GhjLc3JO-7ai`_0fl;z&~mSP{cB?)^w4%F{A*EsZPck z)L0LB>t)O4fAU1%9x>yNI&YV~q3{u0-7ZY6S0L4)e=Q+?v9CL|u^Cv}X)>%0vaLf* z+*@KYO1so9_%!25cetLv^fFr&UsfK7m4cUF&YU%+w@hO0W9(b37HaF+xc~CNc{QQ7 zqh6c+bjzUsD_Leax*V>84?h`~_FG35OL@NU`0JN|JxCAs3#WMD`#HkKh|N=*lm9@= z4<724KDaA=WYe#&x4W;|T;H?pinPMek*|-Juhr=W23qfwq;DH#m}WVq@7M{e-2 zwYk*Qc3u}t@!PKWK-P63OQ2>o^)78zilGxHS^t)f>V^}JO|7jFL1j^_e;CZ5^3yF{Ex1Dtcm5fyc=e`U4dUQwY+-m&x;Vbe?1=cK9cj+^`7YUZ>fXyix`Ay z5~e!VC0-$-&P?t0a29Qt>-uSN?+N~;`jPVazF(d$0v~Xfdobo`iOHFNLC2szAB+B+ zvroASm(S*1N|JC8a ze=Y`C+5`2Qg6^w~^vpbeP&xT;FvGFHI2tGeg_t2D%B%)l@}3QofJ@yRNCf4MwE!m* zWR@@Jin$MOH&U@fgiV4yl8=2K0a6TdFmJQaM2rBGGy`Dhm=Z=hE~%$MC&)7SAD{FAUA*T@|?lJ54S8EvJ8 zu+Aj0@0Aa&?=JL?!H#DiE~5_JAUsn_OL|A_(kxZdEbaZ`7}Z2j%A^XlLuy+d4Yqn_ z@O#f!X_d~oYjPT}b2QrvHg~ZLLo+#1)3tQw9}QrdFaspuYS&fAo6+ZZnq1>%JkkFs z?eii2_zid$>x8;7+N4%Ndw0()fZXbp66xVg{>_$(HR`voIdl~2I4As;pija?n?xd4 zwxEln!{X&A&>cOwV!@`Lf=x5JR64;wMgM}D_&|pLw^ciHr3a~{ewT>rmXM~GKr3eB z{7KkrxVK9)EewdXjcFwc2U8gisBQ`D z0U|#ucki#soI5g7j7OhRP<l$rT)K6L{)*$e=qm*q`Jk?8W`3b&EiL z7-%xF+`aOUN}YKtE1l6isYPEU<>MH4+ER7!%}VSFb#Ve!Ymkpn`9?Apl_wBY`O)EN z8CMOaB_Rsx(8)5h4-ILI@@{&0|4^}lGXDgD`htHSB2B}7f9+3ZNN4ts)V|T;x%vb7 z=|$Adr**C*q{ZyA2=Kj><0XrTHYu$XksU(KPM)i#A}(f&r&bWPa)^Dd;!l?6@WsL1 zK!dW{HVwlE%k=Se+)^o0x1J+HI^Pt4E2$JY5mh>p^UFNs-L zje5}OgDisz2NZC&_fun9L1kpRFfW!gwZFJ%uoSfD{Ku*@TXHkEQ?c{C!DweQIK(DJ z>?J{{qaCm{i9J@A5V;uMM0AEg4qk$!uB#`T5Ie>%)0Pl9A zRYG;9Tigekj$s#Lp=I}GN}Si4+0)R2eLagw^`PH?Ezy%|06~YaTc0UkGP3MQ`g=^+s0zd^05gIvaO(@s}P5>z3%2dzd`o zG4ZySW0#KztZS*rh1MoL2-DZPTuSmGn_ox?8GGw~ zZ=;`5c7m9akQJAP@MCt8wov(1q`}gt_th$HCwjKywLvbGb!(eN?P&K;=K=%@4mY4f zD{ycKqFRr-&WcKKZOuoULe=grn(fe^pm}b%1)dng9R8H&rpPz}{GE?Me<80eDPgJ6 zL$JcrW82&P>9W}!nCf%6;>sH|wBY3}ZQxZG>C~uxVbZ^>j~SVSrs#hD#(JHhc|D#X zLM$9y00vk(%P63D1yQhjp`5YP*QZ4I>MyIuAFgMS(t9Z(W{mJg9z(%*< zXBS)gr_0;x5b7jDP!T@PvYsM7t3Kiy5b|gi1fm+?py1fhb&rJjIL&384u9LQdzA7n|$0YY$Kb>nKvp1rJU3wu> z&>MC9@Bs}|R7j0z{L>=-9PpNDC*LVf6crg5%3U(4r~}-n7(C~8Mp*q5nD!nBozLA< zv|GJ&J&BHNWS6^vt-m0AR-j8@Tq>4s|Aqn+w2oxV; z-4G8P_b|E0lk2B`e~F6Ktpx&l0)x*Bg;%4qdND>QRC7GL;|=Isom-{J4oxX|s;9s`Z9_}VPIFJROga#Vb7iNpS;Ed?F7=~C?shp2mRj-IX^ z-Bj-hT0%nMlxd(;6-(l3UQ94p~4Kkh}V3#Cjeq%>+o zOMf=+DG-P2^db(~wI|F(du0)Rcr3IZ%%WB9U<|Y(ArJhOr51dL@;3R&BZC3NHqN?`U{aP zVStM_b)DVn!bioZR??4FuctL=%)UMqW3?O5B{wrGD?}DQm#v^+yHF5^)pJs2r_yhL@ME@%_65V9^>8%%r%n^G zbB}qiodTqY3o25drAVDE{-A=#APCqW|s9kNI ze*T{Wqz#sA+y`zU6Ekc_tZ{y`69wm`Y>}jv<^v}xQF9Wws=W^R0qcXX_i&$1_oITX z2tQ)_NuK-X;K9q}1ed_Io*a^%stF|C!CFGs+o<+~&{tKq@7G*qc^%GjKuL{Or7t7h z6^h^e+L%exj~PWyVf{4wGJO_+H@T4bmX5A z;8ybT^8Fao%%=L`#S&cd%0N^HI2B|dG@6V%n+_W_zp)+&R0)uVjKR<|tmaxcgsOGB<>fZBlp&mXkllxevIF zc6xk6LmLMaiW{4j)%}$5O5a7s;iFxmykg#%$8uV#hodO>@rt}VOYHtS9)fe57(Z?5 zVe5B%-f3Y>Ce2>0N(*cGHZG(ET|T*Oqb;-D@O)tlQak&0&O~bhscAupbw&kkNHe9C z=EkAK?0m~o7*_Ryh|ll`eN3eOZbJ~@nP)?hhOAh|mD+4G3yObp4j5g6rtoN3sE*h8 zm!Z)%vC$S%T2^*xgf0r((q2bG6Llo|qUxz#KQ$`*It%}AEDl!F$oXm zmEPRkB~8!ru_R^*TBnhz%qTl4PCX5z++-oaMdd=y(wl2YSA*ibrG+Aa39VRh7>_%b zt}av|?rBWqi3z)GZRWVQ6~%Q1((7^##s2;~Yyh84LXN$AZZmJHNZq6ld&`0>RdHKJ z!JRfd@^TW*piyF4_6vVVOdU>0iM&3P!LXa$%_c?2nXk8E-8xTM9aDKCrSxngv)l&4 zQtro2{wo&@Q|^Y$qt#WI%yt1Mi;T;q@6(=U?YWZAknv|WYLjTu4A}yhnB{~bqHE%* z`Wy|r7){#el|#YXEOMfK>}NX59$6jxd7K*PE333bhrb9&f2UiI);nrhRXd$wd(%dv zRDP%Z-E;+o^^%eVgMD`j@Nr6R!iB4|zT=eUg7O7S{wm|EBAKRm7&0|F`b)A_?~6+0g3*oMtnBAZK%WD- z&O$$=oYg#elQgK9)~+bOx{D%gL(3HqSQW2Aj-5L&nkV{L`LWvgrBxL{ZX)@N0zGGz zkdigaNc5LN4y2m6f98hZ6JQb|mTLhoYN)6~WSfzC1$xx~MA%eEp)S`P&t>|IOySD- z!lQi&;xRodR*Hc!a)JRa*TT*F=1A<3G*r05f&17lAhWjF_LjP5wjt1(ZLHO|tAup| zgdrJ%8z_XcPz7C%*GGAv9dm|Szhany)J|`RrKkk@4I>g@J0F6SPrp2QZ+`a&wpAA4 zdpiAfBJ2EOhD2}<^E))7k-@XtbVyO?aHTiLia1%i=BdH%7kELPMLDi9o_d=pVBt@X zC6luU!wiWl;%=`BuiEgq-UKD^h!XG}+#(Iw=Ea-Pe&uhZ`AMz$Ak1fAeCnNT5K3D$ z9HKKJ-eyhfE*yed)xqji<&wvr@`wpDM~O~~Z_ApR^Yrs56_t0)u)yr9bIJfopQEcYdB<;t~wu@mIFn+ur+FWo`+rxH$+;G=b*i%o|$@ z$oIaoLgh{C%jOU3WZF03<`6L$d0jtFqjPh?JX%E}c5GG{Z2Q^D?zlmj1$Ea&*PqnUc%jv!a3OpUGPF z@$z!l@OeBv-DBr7Dcbj7Y8tRRs|_t>)nxUrbLJON@GAXua18JY6JRmbd9}LK%73` zwYv36|HyJ&>vdU18Mw>rQCLS!(xJ&wobtv|>Osf(*q#v$&q{cI?{pzH4hF(Suah{z z9QY6aF8pYHuK*_Pio+0322X!1aM?#*mvhMc`*)wWG}`8vn&G+eDQ&5>eZN>JyBNIL zo|zb|F)+I&^V~u8*Dq=F*qlF=3{;Ksw?DspKn1KjTJOxGJLvJ5h}0U64Rn3up(GmO zK!4K$4Zy=5e0KEZP&5_FW^SOF1jO|C$yQA{lq%iGN$h&!QO7+LDY%VZECeQgYfec| zD<#undprZvlrTq7Mzd_A1Ic1_-`_+B>QaiEg*rvCFw8D||Fk^^6KE-bhL;rJ?+H?> z+|un1lyq=(J@WR18ZPB6TepH;ukP)#gL3zTNQhW-e|x5lk_M}|ne3{JGt*5JQjt!^ zg&SQ~l16@JK5O@0Yhr8DsLbbDa~U}zuLXhYDmaS_V4;?Opt}56g5kVBH}q|nZF-U% zn+39j7z~!&6sR5DC!|5MO!wvPVmiuhTA5kpbpHXXD_7CS5aL=M4ekx5a^!#-@hFMJ zgV2uy+0TCxueR?!{7A)VQ>n{iJ~;C|Fx%=ZD-Co#pSKsuH#z6p_J{I($9A#{dLls~)aVe{P<7{$BuV`!~RN+;1~3rj zM6^UUOwxp;2dMoCaX6?A!4qEK!DOTY7XmO4s1kdB8Lre9ea)s;0;T_Xe_eg~UTxNu z%Bi}#y1IXFu1_}}r;_>X+Pc@r@#H0c>d@)+dgsek3o&wld|TA zQyp1*_6GX(y1J5v!cvNP^#*d)#LKI4$)^RNZgahvaS6>LRs@G}W6a^*_ty}HFW~Ob zTc^wWbS5KiR>XxqJYX-|lUD$-+dG&ReM9BpC^ow`naJl;qw&=SUr#aDO z^YJ9quT2BVm#va1^K8ncqTMN5ba@#$f%~l2%B@aUa&fW^+scHqE)&ick8Tz;p65}G?hvxZ`*qar>E_PVHeq`|b)JM#l_1h=K zs?C)h`rcp69yEo?UpPwC@oLOqXxJc6S;Et<>~}qF<>;Bj-UO`|o+e)0eBUGLE9%kW zRsDiVkU#U!C6nN4;i`2kYMr?1|7vJ_Rom_B8_!Gr{lug1C)WPCVA^F_D}4D@U;p?u zW2_g7t`;s@BWqtM>e?V)3!5W0C*W)%_SlcdhS+JgvMXJ_)>fwDltg(-yH*xvTi| zzzxeZ=oE%Fyx29#3>m+=aG@%*Wp*0swgKs^u|WiNNy%H$OI z(FlF&f*`?fMTBxbAEL>$@ z8Cwgpt*YN440a%ixn6pDXwiY4$u<(v_Dblu<2uUpGhh7`I0H1N`2|QRDGJV_Y0QD5 zTUojU{sd$}Ry{d^>n`@-^As;giLv%NqoL2LDEULh?M3VbwB{-TJses-QdC$PQzCY_ z(^+#Y9sOHs7MJw+Q4*=zXZwK-eFxm3FVZ0=<@B-w#)E3Jh-)P?j77F%Qwc-F&c>7h zo{Nua`!y1X;a@!iP{JvOYqMC*W0iwcYNMs}kA| zCO&D9Q7c*TXt6eGkjr5=Zrxax8(Uwwv(!R(zZnkEy&%(nhb;TQZ(88`AA6PBo%eS~ zF=gxv#Y38Sp-*${KC8ap0{>8Z%)XexX?dcLL@5!E+qt;bM_N9Vm~M!r{Xor#`C9VW zM7$}^uhYsQ;$is)ojH#PwC2Xyq)D7}rsD5^vcPKEMTgdcrlZhS;zad7Z>@p02Yjlb zYfdf-w=Rs${Z@ReDlpcW3U+gU3yKW4ii9H*kZ#DMDWy=QCJU7n-DPSuk~>hzm4ECO z%f;1cY@)h?;@ivZku>z>>VA7x>Iu4`BW%WD8Dp-*d_b9!)#sCCG*77GL$$~aB5F^} zl#vQ+51jMX&ohW+aq>FJX7u+#A(>T<4LINFVHtcgLfp_zm6{+R`1O zUKukEf;V<&8upj&*Ko7G!XF%`|4k zMj1;hP~KUT@}owa^xL+o?Z^#Psm6cS3S9|~7zr+I7q|H6i9<16pB=IXmy)Rsx5(aB z?eR;}R*}Bt)y_~&$H}!c^F=k{1FiF6XGAqmJTdyL<_5aH$Xa*hVfNq=)30wK%Qd=Ah{$sD=eA}yF-}Wjz)Ofy?T)Cm?-x*Hj zt9@ZInxOczQCiUMlp901krfvc{Ir^1_-uvs>qQM6tE}J4CRRg+rgu=zRLE-+7fJ1W zRQiGz^)Z!*+Zg`R=Wv)I6;7-U>l&Np4UCNvW+@a>E)IB6Dbj9M=CRk8_)Pzv9WZT2 z>9s%ym9Qs@t}eAIcQLztNOTNhcf>QXSxWVUlP7f~H(SQ`g0bSAE7qr40`~`~%3@dw z3wN2fF2^oFk}`LBvRFZ7g(_Ri-_uk=FJ0fA!T%g#Xr86aJ&GwxdpS zT)F=eTE)C;5cVdaN~K41_P|79-6$+K6MW87$Hd_p2dGq>SF| zjR8IrlsD%inIia|y+2buz5}j)-<8(l)T35q#JfcQcxHE#X6qWsQ?<>n0>65^Yn&S) zj9TbzNtVY=9@rbfalzsf+$MDR&9C~@remG|Kl~~x8LoNnChn!vk66nT8kHOg3#2DJ zVyGDB8TS&+%ve;gl4^F`l;Cqz-H@}2_w-+Iz}vX1|7L5sN? zuMfni+1AdTqi?7J*ZhKUkYy7+V2(%J{<%biagasex_vo6Ie82@?!$ z7w?34ReFBEIOP_t6ZGz5<~LO}NIXLW7ORf(*TOch{+GXc_+S1igV=xkRh^fL+o1pU zSARU|*6_I29R>f#Up*Mw(5>IP(WyT@D!Bb6g{-k|RoTO=I%2R%4b|`q%na2!R98Je zXVu@K>XuL72!T}~dyJ9YgO> zEk+4e30gt3y-*FEODcvD9e)8dS|~MNSk&gcE0Ad?_snGZ{prDQ45)V9KsSKd8~1HK zrV+VM$+nYk$pU&I6AC*?1oL)M?wuXrsH3WiRE^kilC_(?ZU|)jm<=I<%KK!I$Y?}L zY)WSDdd2NbZEemfwul%$p|I&-_xI}$3r%!f8JA=(xl*UO(VNIonzoeWl?VmX)*7Cf z9~0`r&t|5SN0mIkpA!3OOU&h7p7&!fMNr{GbiLEd1H~Qzh$#`(g)Sb=z`3p|aY`;f zdLkDXJmSykNt1CSojWLcM2adkktd5b-`DGC&D?!7ObR;iX!8e;9+;e;DPajnS)&w8 za)XbVzYU;{8DnUrmJcZ22kL)v7ORAP3#`Te5m*iWBd~h&@l64$`0S*D;QEVA%xLcZ zBe43-|DK{|Y>{Vh3x4x3yZk9WN_BCIiy$9U{&El|4^wQzKgpM815eLwPX)NW)lL76 z>=K&h!+M~B-<&miqCoJ9(4P;ldg|zDxeC36+i?h4=& zB%1av&zGqKbrKFC73N5~Bb-)Q)=kiepDbx`V*L8EuiT4Q8ZZhVq1X|Z= z0*7t^4IQJlWwLITmR*+-b9>XYwkU2Cu&Kww$fmCTwVEHcSqX!o<#umbM(OIBM^fLA ztBFqb-ABl(y5lrSLFGDM3&(se=fiqJgmOZ7#TjYAM`ff1rnJZe6AJN<$Md=kyHhS_ zoIT}{`j-Aw?oRUtMGW$~#2^CK;m{T){y34Js;Ps4>Zxsd1;vVvLC4_lK(#4?7LV?0 z@P?r=pIAqd7hfcd96zGS4-GJ0twVg+Gml*ftBqc9ev!M$3#towlfE8FSq*%GPC)I= z^GL9{4QoZ+Zf_~x9P`u`U+oHEEqVc+oMgcX*M9-5diaX^z@(gd=C9#M9WeMVwEBre ztSmX-74yu)bnO6qZOwBA`A>%0&n%-73>W?vUyGj~jI_gaFv zM=CIgB=bm_+ zVEw@3m~44L5!n^m!Tgu@H+*97w^)iYXXev*=_2nkld4OTQ} z8&0x_hq4;A{}`-2bsM!!TNKG#rHxyqcV2be0{qj^l)N$6)0IR<6*BqZ2f$iKoq6}KE>rL2@x|I|XUE)U1?2E;*nDK{p{DmGQ5&XU&i^2+NYhUfqp@0{8QN_f#rxVqE6ovVHd<&-ctM^-x)iC* zy)Q~;H~;~tJ+v**7hZRs+om9{_3G;wV^8b>im6t{vkdq`q*~l(t4&^Fg8W4(UQIAQ z5({;FP=JI+E42!JTjx{xX5a-?{g+D%RQ0TU{ zYvi(t>fQyTNkwpNNmK7AIE386n@{fPb|}+HrS50GR!z$lNCUhxA&O2~vf@Y@5fd+e=>FOq`=EE~!1M!HFblO5EqS=?fNxHmZ zn`s?AB?r0PkeJeyzbjS2I;JGH(uSS%mv_Oj2J(xi>C39KBi+n=a}n5woDjBhm&erz z1&kDTp(+QmkMn!DrJ8EQcL4G)`fr3a=w?5O;)x}>iTUe5#=gxkIN6gsH_sVE~6+reGv``t67hTPCBG|{M;`Pfr8mb_AX8~SWELy*AYYO@G8ty~%R zp4vvLNVplGk@DTl^$8`eaM6irtU2TxVO7XEb@sFkgFYWg7mSa3 z;VBT-oh4US!JPQCU&F9DRrTHlOFhutz!@Ksd|Ms)cxK2+3UThl zSJ-quFyqCAZ>0FUEGFOx;zLmPbw`D;d-lZC_{l3Eny{tQ3AthXm4g*@#}*)ryoQJwMkrAMx4#E z{CNFRh7p-O6z zK(F#@vS;mrK5ECm(9z*+j|0f7_fARH9ud8pVEQRs90gyIjK^LsFayvah4A9D+Iao#f3(a?b9vN>;PAF5ro7VjSNk*>-9)T}&4!OO%L@28ahPzFtDq9bR zyD0;Gh*LnhPQ- zZG>=*OyRuIQwW>03)C;_0P3lnDP#>ZE*eptx#b^Oolz8+QkA_3X%4T_&(@;A0h@=&nQg47!0pLwsfL zMDj1`@6e>5^D>k94Nveg*Z#I&|DsI)_wDc-8IkXN5QXX^0$s#rpNyPAyoJJ`#S|<3 znKs6bu6IE@hb^E%F`=>i>Bq14AO-+?BLd{O{7BcU%ttO1a$tVeX@^%(JZ?LsloNT` zbp{5gx?1(ak~>8PbUT+zrvYIzApvhEP$MM{*vIvOwER4M#nbiJJ!Fko<;yVdicu45 zCYxYB9A`n?zSr>o1+EhImt*7!DsE@*+)K#HK_6snggC|Kb%46h3irRDUq78L2Sgtc zfcTsGf^d`MjZlj#Qdj#|$Yneum^sae613^=612ev!8$K*-aYf6l}o57px zXyxR>cXV9Y-~(Vsa15IUfT({RX>R(J&nO75h+h7C_l{Xafw!+GT4kZ)tc8R{_LRIg@@%z2G&6bz?h&CP&i|l;!Y*-l`mFz z5D*+_GINshY@#9UiriKLbm^wwYWhiZUT>p`U80haf~EUyh|kIL5j!Ohh+;??lsMDM zH;1DuNqeJA(fXT*?G9p>H{+4OVQyLG@!N7jAx}?c?hQM8UNyNVyiPGtd?XUdC!^d2 z)C#qkGEgg~zMNM68TM6Fk z{5smYj2aEiB*t;yShowtcb6B=VEMuZ$K`ClzJAqeT#UKTRQYA-Gqe0tef>CWB7lzH zU#+v-Ie7XXd4W3^ zcj)eWVYfQ6ZJ!zX_}9f#npxjlEB4GOtScs?R zaGvCoT?1X>b+v&&qF~jT~Wa+W3c z5^=e7TTmePyA}QzhF;W=8PN)@ zr4?qt>3kO)2heZX%yB_b##r%H#)y^iWIFX=@-jvFKas0)7)yHaA*E|JSRANx#)sfef;$Hc)_QD$klp`FO z?-WLVWO1_3*{q|vg(M6LhPD6EtvL_fbp9srkf^Qg47^j%Xy&tvzjMvt;k9qOJK^io zJ(fhdv)u*q)eXOQdQ!-zAAfXua>%a{xv#tutO<;y`*g5okuFbLb1tr*)AHuNR!XC}$4zz$gNxsrUt&GZ`|~)CcZo>TclgR^>Oaj_IBk)scn@ zZ_LPV<=q{0vyE-0-rWLI+P;4zRScg1)h%1UUraF0?$NVgp&wsk24WaFCRm5Ge;>j8 zn1$F==h8)RR{TgXceE4H_D`e)+YB zF+?I@I6DP(l7J1eTjuGR3l7p@c{X&6;8_=(U?s4L^_q8pI454{hWlQn`a&HlB4`_mIG5sXLY3?BZG%1+`|EhVaHw>Pe;xS=+^*)je?MQcPX)H z-(+n)CK&1?Eim`Oe2C1QtXhXl$aIrCvghj5>@H)-d38na5X>z4p-Ue9A`Va!-9mKU4;Yx(2tqF{tEDcg1wL<(*FA4+xk~FtHhjbC&>mi+5`dJ`ly1J{;uny` zxfyjMG1%t@iL0Yer=$lnwyqpUVfu#_fSpW+4~-G0mG_>26G5FwYJr>ifD@1SgWZ}g z@E==PT?4pm%K{41C1-!WEZ~(WCr+?HpGl&hFlPAEI5A;&>wJejFeO=i4xoy(!QFtA zE5*IC>IdBxYUWwERThi$NEmoQ<~j2yCmNZ1W!2k&vmyCdaAow){5anEKvmp{7mTr~ zwrSY_Zi50!vcA~hsr*t4b$F7xr0FX8<%r>`;)<6I-%4}&tCv<6u@dqDF+2*~(G*;d zS{8##YxAq$06d?fUT|k^CjiPCtW-$5)4d%^J#YoQ-v<3LYmiS)&Jy$=7fRUN4AV~K zVyI)|6>l&0#FqigGFKf-h)ebm!VIW&=@}9q9$DW!VFz-jP}^llBGN}Edk&xUw1G@Y zqqT1b@ewT6-R~vijk1?3kR5Oym88C`eDe3MD7Xf-#D2Qt$IpAv8VuE&%VZN()xu@=_yz7u_>mD2p8gKl$F~}7t~u}l zSkFmU%IlmbFgeF{=v{*E{Euj3m3Hz5;ZPwp>8iO4)g(&_ONiq%9>41*T=|)MiaAvS zIX2J8=F$2~sM;jF$g0=O*@va^4H+H}w1`0PssQo2gQpM(Uj2Fv%CapxBK?r()8{w+ z_O)$(sGlKCmd_Ml)%Xb;8cOxCIgi3rZO_zJESmxa*C&#WLpLx;sX11uayQ-7qvk>` z1ychFIrCyw(lf?^@+x^O-SLb0;C#kDFHTc|`r34%%XB6gV`eERZr)AKaO)(k)f|Cp z)VRj3N)hR2tfH#o%6{DAd>Etp5IU+|HLY#-g43*H0$DC%#rbp*qsq6)F0EgJl707p)O)rDC7sU3x#)(a>$QQ)O1R}eYjKe#@(3_5mmrPdI zg4Um}QhHc&Yd<(Mey7>+Q%>=N~TVu#DW}d5+YExmx-V?^t2=U!n`0x1i*SJEJ~~Gq}^(hudJ;`J5%D z*G&9G5{R|Y@ub*jew2wk>?v3bs259sydODtCAyy&fEkv}IGQUMbsyptyN--*HI#{b zJR!F!8G7I@qu4mBO~K!g$9mTuVpp>ti`RCLjl6WxXL$Toru0Ehu^~mr`~;mfwyPDz zvCFez&iWK-6uOBvT6MqGECm;ot6RP@dLbcU9ZU@#z9Kg9K=j?+$Pui4j4x6Rbc?a?NspVp}3E!{XqOafhco?kCN(SwK2xb<_5lfTk_-xurh zAqEON;OjwUNgB%T%d=}3XKaS~!kEU}GC&XH(L%i|ZSH_)Vm;DqQk_necl+7F)|vNO z$$tD1D>YpK6Q7Cqb#mm_Ls$cIg?y62yK2{i+BD!nw9*p5m7+P#tQH?@C-AKt{v z?bijy>-Vl91AN9edujS{Ud_v@zl>_R6UnA|^eOtd@1_Y{yVj)z)CTEe+pi9)$!q4) zE6F#ga!e3{8hr8MD0*tyc_QKh@&5H*y6ZuTCZ4Gjl}mc__)Gn?FQ`N20d|%4Kh!EI zs39dFYIT(w*aE7~wnFHd^eT+i=PLS zuG-LR;-?NmT-La&xt_cMsB;X7V2KI%G;-UzPJZx*;#nF=j7Ck6_qqmNQDX3>)6)^f z$>a>Ki?z&}_VfTINY<`)nHVHZAU4QHK;jPh_i4Yb{klM1WRLNEWKF6@cEaOY+ML^1QXG5F09LWZ}Jw1g)|JmoNzun-kRC z(%ZP*A&}Rp#$uucm5h=besMGCD2{C-gAev-`IBN3Bm29r1B5h~4}sC+9b}JFs3Dk% zDvN*`7f~S2JBjxfy}(QAb+|`$oShFsO%yKv&dYuK`6n#D!UV>#9hJQ`T($bmH?z=J zUSmPMPxqTXE2!Y%+d~&E$Y68_KCHe3=R$ zYX3RpipZI7wsKHx)L|zqXco)Lw$Gnrj|VhOrzu*cjixJ1DK>W&HVtTtk*kr+($mlZc+FZ6E)iCR$x05PBvhw#B~(dh(vconKzR&MJ~M*bw?fn&-??4< ztAGX^!W{_*H_?NP+VsPv@lxCE=XJ~%h&I2Q2b8KrOJ+>mk?`0EUBf~<>aY9!{jvQc zV$*3B`=h+0TdHMsv&&|0lg$&)oyGTK_f9ViS9fuqz}?6g7wO1qz`e%(#F^-u)jPra z$Sdcw&o(E7{;JXh;w{WLtS7mx;$}f7s~-xuTqO?|=VRR_r~d-f1-t+%8RcOdcRSdf zwaJ!=kxl2(?+0<~U|ynOEx*22EK-=8@i^9Y7WEGN4R~%w*e+{S+}{^W;Vq(cq?ZJtHb@^7frq?AE$rUTgTNTsc#)ko@oWelexU}qvqMMmkzljtNqu^veCdG5 zX(y3H^CzWVEt#k+z;0fFm>|mB1oJa@AfZ&{E4r-w%*4?%x2T}W(E*L!hl~rPB7)g%)Lz!uM@o0avCKX33PODaXag4!73c>KkorhHi_RStwhe5ptLhQ(THd2>b1~bL-vW^Dc zxo}Kbs`4vHo`Q~+7DHJV^E*h*yn*b3$fLz1p7Pul!8)?^6W(IdfziDsWwqv-+$cN5 zVQ*AA^ugKR%Hj*v8RzuhSKSKlT^tKvI#&mgCfub&QJDJz@s*3!HYh1fn-NOeXT|F0 zcJJ?JstMZA-VtJJ4*T!#pN=vj&(G-x*Jl={OJ&xk*R?IF^ox+q1seTRU}~OYWQ;|v zCEZ2Muk4ukzS)9q9C#N`K?mDN_B>4NTa73<~D+cg9a_rY0ayfiXUitfYyU4GAqMDkeNP3W>x*F&XQdIFlifXAZ%)lY0 zz`jh1VUWnNqE;Svq5YgSKs=tNteN4yeW=QQ%y1Cr)-)cuj&AG_tf^|M zB7ZD2pR;-eJh#5505UZ4j;U}Xuq`-iaI{6{Vvm_mpwCznLy!sHu!E)rO-bucaK3da zFTA&Q#2k!=6%x8L;>{!f9Wdxl9p%EdU7665wq#+SY<(Ne6xRod0rAkRB(21M;>$3S z6B23Nc(rG0!5G~Wp73H5JGkGyDo~C5W48V&u7*9hkN7d%lI1(mx5lr z$Ra`@ zthY3<9O=s?%iA2DlFbLR@+i{nzUWCiGr2LXe;~=-r25EotA%de6_6#a<08f3f%uV) zv-mPFLZ{JdMg(PRapzJ-`4Kb~<_y(cBJLAMYipiTmkWoXBn6apX~#^xQ+FxZ-O^V~ z!4sx*JdBT}&0)$P7e@+pPl!BxZYZBI)mWoEq$RjJKAqlDrKFw$9H+fc<3X(%^&#r50 zv+?3dd{At)8Dg*CMq~P zVk%*I6^66AyrYGb*M>D`Ra>#TkSOn*1d2XQ{0Xm{I<9URYeK z_3cvO+&Yno{L|bvo$%u+zW8o=*tsa4hi#sax%bf+`se`CW364_6gWaB^`8H>k;MW_ z@{!e#T2#Us*0n;u!dmfQ;XIL#Qfd1yB7(pY*G9hV<3!4-Ot)6AvM_?5*c00a_O;}C zZ?Z?01>$Be6$kjs4;o&-)&;#)%V1pnKXk1ZP&}nT7v{IHK+pal4~~hCvHp(-_D1MO zMmE=oO^kGbTpaxn3NpVaMo6vbp-ZlAQ_B(9@vXpb;vphcr!>Gl^>>xe{Sv(55Q_tQ z&!%wx^@y2az)CD{Wk@Kq9}@}$4#V16`PdZ$mml^G`e^CRa4*J?%~ak5#P_K9V*osN zA;+s3C-v|e(Y?hC;|I$r2h2ijDb>|X^irm%D6*>{KEPV6aB>|#bz)3XHPM!20`NO` zq*;Q|fz>ILitVMAZU1^ThK=y-=6*3WCqH{8e0+z@EWVEgqC4WgLA=xrEY&#fgd+*>=M-TTyFd>n3ZPV$akI+ z)#*G%Px7tXs3Kkq!LDnFnrFU=#;u!aqCFLoByys#MbK@g^_Q)}{@%bJzC^)^c)oQs z#rrjf#<5(aCH`L3IAHg zHT>lo1#r~5x1oLg2FTQYJ%jP_*irN5F%Zz|x}3un%Yr0U?J}*+>u1YR)Tg`NYIiV{ z{O(zY05ln1^zG;H}KLicR9$`bCa)#^X&IyCvq-s%5WnWCf8IE z^8BC65s7^9KmsJVY_>qZjiO5ygKf7&*uAjW(-|cFBX_v=vD6Fms8c$XZEZeqj4NLa zF{2=(Tw~|ttw*H9J@I<4KV2S&xHk()X(Bv*zTDsndsudW6ioJ!aAJ+A$IgDd6(irfVXk^SwGCEp=*36mTf7H^skoc?#KO03|lnKz%B~IP*xbErLtTY`s0-Ol}-zWBAs?o^BiG-spxo5M~b;a%*Y1c})&_1I>tvM0buPaAH{CyL`(Z!99w>ohR>P@)8BX}K6B z1t5k*wRaHE%-M)+>=UE+#lpUe$bp$$;1OX@?%klZW4>YXn(o1RP`A2b+P>D~ge>$( zD?31_+-#d6YcMdCkQW09J%v^1GX3Q?ab{Jw8x|?S_>(DTA{AHldHbPX-J1j30F2I) z+HvPz^N#SjT27}md{4;O_lG-QQgyV=LN|UGKo^&kNGqIo_G!B}gj*BVntM`@672gC zWqM!R^=Lk1P+p8*`DlF?@O~N}_&5sm^F~y6rUM2+sS>sOQNcG(|d4X)!>#SY0`Rfcye>;R9j=To-#G0`L`aLa_#|E zcWu>-6>N%1G#v2=s?c?7Kop zu%unbE#s*2-QsRtjxIzLr3)1D--QTQ9f(1WXToGRlnjRwgP>uhY--BUjFt+^RI-9j zLKQS}b&?>-SutL_0^q9>3I?hKsPihQGV=Js)FI1_9Yi$48+oxounR!kMUg|$v;)f{ z4`uz%?{Fh7Q#8k>pv3IzXh%l`E1vNOMKFL{6jeaI(HLL<2Btgw%07Ah+V}`SRB;F{ zoaT1f9K{4s)m6efR9?$j^D-a=(L56(#;IM6;z9TVFdsy=~VR+ut;yeh+cmB-BTlI3L{g(d7Mx zH=QoGSNSfCHi1EN`Z?VEr=Ep}h}|9j&?>~W2b__I%*?B%U!~?v4vlj&l;o4yK#>dP zFzD7G+jX}P{U>-Lsy^AF3ARqyg|8Dubi1^XY+Pzr_+z;&?PQ;%43PBo)FlJ1C0zo3 z758)EN*wzQhTwWjA_|fv$B=bHe+aI>$}xWEnWZLk5msyw^gLiab9}L3-bzP;us_x@ zX@xy4N?i){@@o4gjZ|#SXRNFBZWQkBW#YXHn#N=(VoU*-euDBiac?m{&Y?WTQz}A& zR0^risJYoZp}^hNCPXa;>3T<3u#d4$p-?z8Q>O;gy0EaKJt#{4skj)r!fUSdNZw^9 zvZAVh9#B(dC|Yc+ueEZWBG*chR5DbmqczhYkk2~rSU#X=%1;O!M*<;M?I|J-xGH}1 z5wa0u5nL5!%teYJ%?XjzXob%8&T`ggmPeN9apoD-&Q>S0)Uxyz6opDaI9ZE=dO1*J z|HFSZ>x+}1Y%J36&9wqV>uQ!I`o>1W8p6Qcf(W7xWVQV_3tV1SynzR+xPnNvIw9~# zKSXn-T|JjEC;yJG;=wqMMeXtv&I?}KVWWg+o)_z`n_enwSr<#F(7w;gxYzIQ`u`GA zss1gbu5uDw@-%^jR2GnsN@=!=h}nTCBwX|-%>6g|JdOkfUkstwbIn1Opigpm{)on| zx~I=IfoF%ZYflF4xL{?cU?p}d;f4c$#m0!%Szjgw?LoQc<9m&bX62Sv7(>dW>fJi$ z{9A<6XtFcQdG-@Di3>}RQvJ)WcKyxIs@);io~@t!GV~ZWS%o(`u&;~iF+8cJY zUk;83rua0$EK%um4TTuN(@@d`U7pq-C64Sq@_)MzPn2)%&^|xV9)tSXt%YbaWhMsP zxHC~0yK(L{(=2aH!gp!X_FZ;{3LkJ3j&DSN#J>LOm%4oFZG$=3gt34RlL5TT)5=vo z1tVpO;UT7w9vq$@aerjJSR(G$J@X~I9Scy99vl!1jx1Z4Vpvu|PO$&k`SRopRzdAM z1HA-NnurBD%Kda!E={;A<+uya#i-f;XoLx}Pd4f1wUSrwx;KFxM^7h9fm#3YeEZ7$ zW4FdPf=YM|br3~i8Xf*%rSIUKpG$NiGb`*nYmpU}BVGLUtPX4!1FYT6eQKBuvQf2; zN7$(@Rq}vRXY2vjRNT#AeU_Z;BgaVWh%NDiSMIsPBVWe~fY+v^xmWcS@A0)_FJX`# zM%rP-eTt%diATLazNO+Q$0K>a=1hILOlzVrL6Onw2Lq>qj>K7jYQk};1I#et z;YtGS!=lhSBSH}NuNb3LS3jZLf z{~)RVAgTW#ssA9U{~)RVAgTW#ssA9U{~)RVAgTW#ssA9U{~)RVAgTW#ssA9U{~)RV zAgTXdAA9333>t$*s<|72lc`fn`NO;5WoT2S|* zEt!+m2H8UFda%EmJ`=Iol0bmDzaNW(gF}6vZLpfH9)>J}kCc0`J94z{4|_m>5V&72 zzCOw4Y7(JEI!nv)fIndYWR+dL$l}EMqQsCQ#FsD1P94dd^?Ldp8ykWh8^|(k#mC3T z=b*>&dEr$tYdP7!u+&SisW;ba6F+b7Srgce#m9^O!;Hx&%2k`v*Q{{^sr8xIvy%0s^6|R|WfS*etO{MNwe&L?&TqNnKg$fqzU0IQeP3|Yafm8;_#|73 zj5ia?0EMdDnz;e55OJYPG6Kn|()P3?5Q?~UGmwLXRYUdh!xNLR7-_O4C2qYrCuaNL zlOkjkZ-?0IGqa`AqcT=8LniUz4!@)5kLOkazRdP-4Ph(hgarnoq70cQ#5$bTEfE(c zQhSqX2)On~<(9$4vvm1A*=DC7ygjkpso-3)HDPWw;>;}tp6-MMI$>!!*O}T zXJn?s^HR!Yoc`_`v%i-wUnKi$ikci|;-vB!(wGV?3Ht1F`RsGy?SYzBp*(M;jCB&} z)giVz9_j{BQ~CdbM1lW;L`|b+wX!P`7IUp#J!XB9_>JQhbI%QzbKheZbA<&9~+E!flBb%ZAO>;<*ci z-cc-gom~JY@z{R8*HD2kr0dOP|y zYm0FK1)xQ$2qDQ_38d9B+M%M|=#amoi%_)~oB2gPDJ904K2sL_4%F3*an*neZ0r+# zbAYRB320u`%B7Wx5jc?*2>_4@6k1fb)jq9Ar*yRCJ*|KQ)N`x%d(o7Rx5|ARMzi<( z>3=6N|D8D7+%zPz`Lr}VtssmsW?Ij<6NDwlKXGHD@(x#p7fTw<;j!-%P0iI4oj z_c=vcYLbvz3pnLv?)3s3(-xiw)LwYKFkfE(aVS8vlY*~Ovbx76G(sEuX-bGSdXW^4uZ8eQOjDXf@Z>d!~0kK*g*~xvw7DeDr=+>bWX-{IzVdVU7(QR zPc=7rphOl&-JcOc|LgH@ZpgzobBP0<@ng(u#dP4>Cgu@G(&@iWHA)d80lZz~U$gAH z{oH>bUTd;#P8h~4FMa1bs!39jd#lLwkF7kTE6BOAM8a95N@5E=Ua(aJ-6DO~!y0Zc zOIrulbkb9Ri@u1r*gX4cz@QQz(|6zhJ<*;ZCVF{X=+gKxoOx<;ljS@X-N2?$u7NmC z2f5feBfVSdht`6D3F;r-J%PDN#j$(?(k>8~iiA4z8|xUgl#l)kqIR@db3y%RZ5%YG z>`|Fd(|-8X#eolEKYHvA!v=cTjslUGeJDvPpOXoSf4ZN}%^!pFG|gpw!Oi-LIOLr; z^o0Fox_c%$;gMp4)2K$j2O7JEMzmR9QAvG6!-EB?4(n-&-3a&VjJ$8( zr6R<`#Nvm^s61HmJT;H=QU+E>v3tkINu{-}xv&;!=(pm~G3PW#h0+bvTiS^^3b3P| zejG7Ji9K1uEqVqjept*0>Tl&$qR&YQ zXiTKr9&;9uma?IHNXd+d9(I zh!;%rIY4=vW|xl2IQf7yYN+Vhb5(2HlUx zIVn(4np!C&b?scis_3^hw)b@7nX6s!rL#+?fM3K-qqx$0R)A5dKDILIyL)BDjJQ5~ z^X!%WLxEnnK>8}NG5ED$HyI8O@%V-)>5wXN0s&RZDyMv@Bp0B3)drsuv%?ux8;cV{ z&6kup9lbf_uaGOd{VsQ^-^=K&7nY)b_BAw91CB`n4sU}AHZX1cEmIhNiR)eN{Xkf- zlSjS3W-7^FGj(HIDB?hI4_Pj-nT#jw1`8=}0N;KXkv1%FJoyHeh($v~c_CT@+!Jjl z7b6n&bdZlphn>%yV%J&1_FD$c*bO|W4MpGi$?dn5@GB0GM9=bcBufu0I z$`@2!}*#{?O$1?saPC*r<9}KtR}3l&C{0w0pVl|kJ?H0-)1Vp|20$NJ>caF z-l16Pf(UAU-r-HT(XoZ_pDP^Zf%boVcsH3tNi4`RM*j zrg}$?BxC@*aulYV1n>YFO=2oa6gEocsxEoSEx2(~e`pSF!iP*1HGAog(@ZcN#+e;B zy~ESiiyP6H8!pg{XJ>GGQh4i(1?H~{=QITX6)55O$P}7C8qMtrCa(; z18gFq)^a03BZC3-oh!0(1}5?%tc|YlIrE?N0z+Zx z0S_adbyf(TVB`zk`yiLWl3^r;IWm=VwbmZnxUaP~YyE}~w{*wnl@ph!r9v1WFx9If zIc@v@f~hgyk+_@Is*U))hADgSDrB)KJzl{femnTL>1OljIRRN_B}l>KTg~6pww9Uw zPF;`UHaFc|p<%X8@H0=f3y#N^eoS*SHRG)iHi^`Eh3i&qmT%9G=dQV$miLNw>|h(W z^opj%h(v1Qe3mE{{y*Gshrd8xF-O{d+&1m(J5xPmHk76rPuav(2Nn-s7TFqik& zOXc7HUta3Lzr56R-%B|P*T8EPjNm8g%EhKFlJgc3w_~L-NsX39Zy=++%aHqk!%%@u zLY&$U=fP!FfYTE`f&X0*_GmFm%4x{ya`bWX3&H@+1^Ca2M6}Essc5I|lPFiyrjD$u6kJucHt>-93 z`+I-brEi6av~U>XWGb%FjyFaw&CDx!gTcBXsh7!MBX`M4YT^Aqd&4P4ylOuDU0Uom zoc7)ue{82Tc}5t7fyGUf5TUBwPnL+zM!pOXr8YxAQ#=k*6Ld zfNQ(nqMTJ_a`3%iou$et4tXM8t9ikVVDhRav%LQX_R7ba0)V*#`lt(CY!pV-iQVNm zCaR$4iY2IujrQxWan}@roCp~dm4uN$5XGf5hZ)tQ3PZyc$IMTKM|%e;pyD`l2Cnu> zIH4YFC^#9`;Tx(UQ3yyS(n-@|Eupm_-$sU_JS27m(J? zFyD2#o0Jk2_}Hs3j6B&bI$Xb5jgVkZ%D91~!6j=FFf){Lu-w z=S~U`l*MxvIc1xFa$w!PPWj@Np>#hOB$=!2Je{C8kgDLyNElOSRAC?%L0L%n@u9ig z;S3*)Q`eV4Ab1xNE@nDeU;8AtX#{2S2{wjp%#we~g zANg_{@#l{K396}gaFfFp#kFf&pX6JrNrcb^F?@k*j9UJ8*ouy@-Yy>#hZO%bf-=Pc zw0a%46o3{1NFoEE5a-u}TZ@!%B+u?7;1Ry>RoZ$ zUI!68#1~Gqt!Z#7FlzXKs`^j_A5&SYPMy}pOC7*cw}_Q=tvinH^gar=L?og2r?Q5t z#&NQx9-7pyO-#4qR6oHSNTSs zkU!=w@5%)PL1z=btu}%~K*2=)5o+phFm>!XSSCfU5eGimcLMph?@A|cD#DEOm74P6 zTc@)?v%wzR`_Gx9*Kll^kF%DwKMM_quiPL`XZd~_Wp3H&8X0}Wj@{r9_Ep?S zd}-HI;x{V|l}{JP4kl!i$JZ}{*fU6$n#JEOK?+U2o{&1Q$1AyWt2Z)w@Q^F7V?vHN zeRZJI<{DeJi#rYSK`;<6TdsBZh_qWM6_#^3z4|b{T*^%)a7T`YL$ty=C*S^=aN|_5 zd@|9KEK&T2k&cn(@v9#>*BKTGI*AKKWqzw;tmA#~6Sh%aF-*t7R!OFB+4l&ZBt7f= z8X}8mTGkhn>Oei=P@bIZW;kPsp(y*kj-BWYK-|G%fZ=#^nel3($f+Wp=SD(HjK8H5 zTcaw7OFaj1sUIkc3aK#*RG!tzj1Q@H9W<7;45v*h<#`FQU>^Z2Xqw%v%XS6DzlPld zQrWXx1iw=79`@O8IHWn z8;CuAul`so^Rwi)|F9kEmg1BxbMz!f8DUlyUv9;x`C=zg#?zN-{ntyiEDoS$(bRh- z0WZAhq;Hr&Jnh83o#U{ubNDlK^0@YyuuXeoSfq~}sgN|jP?F+%s()$Wk%#14PH4kR zfU*l+&Ft!wv*O!=(zK6K002*77#074D6{KI3#WL3>CB3Y8PU-r#053*U0M_4LhGD| zTXthlT_Yew&Il82VyK<2gojlO11Hi_!E)(~$VFJ`19rtaMgloQ)DA9h6xAd!8KoiM z)3~H=qImfJtS1!PHiLMQ+D{rhG1tT46Z44Qd^w*B_bq9|u&0LFDKLbE_NflI7OG>G z7Lq+horP2}cLsnGZ9~fA!|(B|ZF@nes`qCia`n_fpElC_>}V68Q&WVB_fzTe2jkRh zzrG-wym$atv{mstM-WWX3(^LtJDNuCQq?QvE7G$04t~TPIPNsqb5Sq2Xa-mpK8vi| z>cMq<9szPmQ9v%8(mkzX?MO;-!l14_Rl_Q$6VTT6YzHjMC;Q8oY@Me`R9Z_j>63fn zM=afq!G9z)zrYSpnFl8Q9Jm5;sep{5(O>nsB2Iv@KN9_3gj0&;hmQZ|QqMot-xjyo z`q3gVoICAp=e?coyx$0_yo}VHZCYAMh}ijQ#3jIEJ&cE`F_@ ztXi3yLOUY8KV03d{Zx}di@$cEzBL}-(Dr_Y=y0i{kpj55l6Ve=?}s14QvXtr><{8n z{qeuWLs|wS*mD^ozaKJn1--ry2Xlo}|HL&x^4`oxkm7P?hVgMr`cnJWSVtSldYfAF zN_bwM5OjnzHj|3CW%D@3zZ$220R2vu#&OnlqlE1|z1*%{V8V+0TIFr{f%fe{MzbNI zfT&^}kWp*7W?yLrc4&TDNI|gB_W)@Q8pO)u^eVgc`QqEVHQNmdRbu3MEUU7BXnm)x zvZavepI+)qz_v}!f4tNKrI~@F{Onelhm%Wo!SN6mD zf~J6u%M0Z1UpZuvqav2r2J~H1IvYd~N1%LkH<7m>AvwbK0V5yibw_=hRh^t7HL~)s zeAJ__5BNbFz0yb=>4ZkF7vO@0j?m?Di$4>YTV>7d6Z&F09;!xDV=PK-GtgdNiElcH z_Xs~HFMuP~bO*Ek8l|V$srx1W+s1$Yg%nX9EqOx1%Kujfts8wuApap%Re!3$_?>(B ziF0lzFJwDeK5x#=kFRMbN2rKCB$t6g_5rdhhT#=x=^M4!?_y+`()LFWeZM9h@(20I zczhV{EKBtksbBk;6X@`|F87IhSo?xpAP0uW@3io7b1J54Y~iJu&lAv#?nE?BzY6UI zT;I5YIRO>G+S9@AFtSBFjp2_8v%C4sh29j3s4momWMRDo+mS7_%M^^Td1dCN7!)YU z&m$SYROF#)Y>7Qx*pQCNW(&d#`nbyQl|RRP1k~c$-c&12pZ~VkjG4|MPY2C<9c}&9 z^7Kg9;WI{tgbTu)CG|0{2>tx5%l8o)1?j+QinuA5%8@Upa710J)c$+`>gQ|)EQw{s zTf^)~ah=3X*@Pc(eXKv>&c9~dnHPwV!lQQEhz0AWB0e2fj0O>g!`3V{JJq|>sGAQiQCRe!sT*u-& zj&=j{TzL=s;5vvS@!9**N!f$=LEYG!EcDQy2!R}6;g41%VEaXTEHHXGOBjb2v5{i% z@xlKw~63th8Wdh=&{utu2uK(0m>jq{A$@hEO z$)!JWqP-8C4^oR;GufkeDZbgRwY^`D2hW)LDRq(>uZPuo0HGux^I*{+HW2&$D@E8xm0hS>>^g7_R#O?V8gN? z2u^5){Voyp0UF$~t2bx-lb4x+qDhE1Z&lGu_HW7W>Bu@vKy~?G0aoCmbFhFQ5VU!P z0>eq{unrVdOyO%PVwK9oI*!?7C_#8XZ64~Y7e6W(0)?7=>=h4SpY`k&O>pXDsE_G# zQv;gG4)La-h;E%^+rsM;r`7UK z=4Y!bs!7WLMYv=7i8N-D^X5szcw%oSqpbxXGVX)PXD0%igI+OE^gW4YXG=nfg2ZPm zppFl=m~T;JRa8$=qWYj!6jdGn4|{hJoVgAt3Od|jX2woB%#0moW@ct)X6_^%W@ct) zW@ct)PUb&nZoM~eF|(b`ah2qfWVs|;<%KMN_I1Nmwm7>zx!=8YGV*_`z9CIh%=to> znPrrYmi0oc%2k9`qF0d31TW)ejCM$CBY4F&7gLlkV3|h)r^HMZShg&yb?|jV->fQK z9{WbmlHQ(O@W1=qZG8wUTKn_fFFK!)cBdK@K9LWa=E1_i;XwUa%D*UzKIfTMR*{0D zE|iME2XyvpcR=i$rvS42U2f!Mc7owLQ{F`%#RwcrSbKrywZ3S*(j_02$p3u9OQE{ zd|YFA;Kpj* zo{U;xajI|A-fkh?^vh7ra&A>t!Q^lSQ96yHqIB_2a~tx0QzfjpDP$M<;B|8RDfC_Z zv;FH^#E6Qgu=GcQtEj^Ro3u98XR{c=;sVv#%K(6;nWU9N5N?vU?Ob0Y5Sq%jrJziK zvmJ~c_>9OK2H_%EAGMJ)7lly83RJ2pEz-k+n*)>nWN#W{&&Fnc%&ukR%sw(dvm8|( zg4d`jZU1B35Gb>_@H(0;^tIjz(3;B!=YrJpU& zlEkpCz76Kl9@7VUM-ZQSBCug-1QX{L;**S-g+wjS7GDU6+fUr2c~rW_R)o))A0zJ= z9}Gf^@S&UM!57L)4FjY$nLF8aXmfr*FIdLIoRZ~MS3i>85F?7I03`0T`@eKH$5+ZJGs^UdwS=(8o@YM!pZU zHy{5rlvhd~mi88xi(CW~jO7@dU&Nl9mL&i#Z#$YjMsC3s)Kt_q4_%rE;tbtGLvdRs z1Ftg)9j~&a@(Fd@dVz95*{Nw3t25JP)?Ai!Dtb%YcWL1<-v30KnO#<#7h@ai^QU%c zX>fSvZ2Kv^G>fRK$aP_7S{m4ykB3Hy<%y(!Wd64djaR2kc7FDYt0+MMpXHhHckAr+ zEXFa_8P>P+thZCT-11B{NV6zG5%@6W+0%>2cK$+H>F}qbSL|%&Z*5^VY|s4dWnVdO zzyRP2`-)q#Jd0gI$YXy@nl}8pPSiF1tl;NK*)Zf$*qGWpEouTAzC6Xe1AH1_A5 z_1XS#_FqGH+x9Br=fUzB{($3Y>&f(ek2XCm1$lIG;`={}GC8MaZpWz~aHZv1FnWnXrlpH#j&6-c+hz{u# z52m%PasPaRctj`tWCsS^KLJC6y>GTtBx#;3s~<@kdEB$nVX4~%gTL`$KfMlAX9M(KCU0heyYuQd?$OfG+q~D(Y81QTt_+p&>e(PBQ8%>5b_vte~n=_c) zBHsQtwoIkG9*ZxJYNqI@P)ly6sQo7{ktlvlw2tl+wjPggc8_GGqk8JsOw?7WSk)XD zcGs#Wdx&{O*Dffvv=g~y^`1_+wtWa9-`+mK(3ms5i1>`wnOmTCbiKgykW`e_WE=dF z**}oorzSyEOie3e&5HgE{A*@W`D$_Dtx;ae^ywSx&EJ`}7M_MRG&qbQ$re5C zyr!mW5M=%#Ni-Szc}FsgaT(qmo{Vt`Wg%Q!>^&q8=>8<`Dt(_Ra}|Zgvh9S9d_&bX zyG}9LSXInRwC_JjYpupSHKz5KI)M0#5Pb-|-m;#6PTy5N?_)dx3lX*LHWx5-&v^+~ z01meeB|IJ)RfiJshsbaN%Ht?S7D7;@k$jRtf%6j7Y&St5kn#nM;{qSc7s&PjE3s!b zuhbqqX=0rOKI!(TZyhA`09v9-6=D3b)GXc+!7d@D3_!G)>E?`JP5+Pz-PI|PXwE6F zm=LuM3O&xYN=|x3kaWI%-_xpMdo=k9Ow_ltt=cu#n(_=?e5&YQbNgGY9lEE(u7xxG zHo}Uo_z#>~&+W{M`+S70Gjv$O+Llqr*pVADZVa$fy@YEw9;>rTBX)6!Mlbwwr!CVT;#&3ckVEUB!aDy=DfUMFaLX4`cX z(hqCqMQ&3bxtU zJ;hZj?eC?yV$WkYjNEIYh~V)|tU>E9l>=!Ghsp>dH~ZPO`7$+VzTo9$y0;#EZ4XHN z`hxbtxv}nZ{ilraTgdBp-xF7PPkK<|hRXg*Q(W`56WtX~@%D1amALEQL<)mf`)y^f zD^=I>o=Sjf2YU_yW0WkAQ%&iC_X(~)3^*-@+n=6!@FtiE$PG$6AUo1MkR?Z&9n1|< z`Y#%P*@y`yW=39r9bg?%l&GQ?tOYafV9b3&d#l;slcTgd7(^cIkX}@ifggl4=wA}O zn&8#QALtyl-NG`bbO{Pq1zcm~Sgr=g%C;LMFFXO;;hW10Jy<$F+uMhuSq>|QVh>=y zMID;H6U{s&roOY$zUuQ{!8yKt1&nl(?!Q$JKfa~o-4&<4ZIkD=K{pU4kAM1_zRa|_ zMh6b99)@5s_~51(t3Vb@>=^mS;;38*-}7XgbbyX57I{py&4yFrWwewm#zDZte5z@eF$o zct$4?f8*cE-+1h^;zzV=44xNEsx zKB3%4Go#4&UV!nu5?t5xdN&hqz{BO;UKREFQy=>>VM34@i(NN){JKQ4tW^#(<9C4b zCs|hI2`M|xE}Y6sd+sl-p#XRG+!=4YI<<-hwKbn^v!$vX zf&~}mOIE`kdDpnnkFHn~fk6E?VqdTi!Z*``Ei`wSH#R@twgb4-K>z0+b)?&O0yY(J zA5(6_o0RZ$Rj~7qc0ab)A3(=%&Cpp$FD1r?hh-GnzD{>iiac7J)+R?zr{x`f$Xp*uu(KtTwQ&Up-O;6_Lww*9yb z>>55uHlM0V9sP^#zMfxu>LI3+F`|~iP3(!k%j^j~S|2Nf?l}Fp=oYdM8+|Wsc-AIO{-<=HZH@~{?B%mj$K?=a7R-qE zbJoL%&ED3k^p8ACulDfwbLmx%cd4ZvrdN?6)4S-X>4Pv{g9z!9KPTb6Y{sr$i0{Yq zfoMOcpD7d88P)G({&pmgT^l8kd~uGh8{BEjMvgx7()=8Lz7OhFbD;UF6-l;ikU;XW znF1qIB7D|8cYqU_^m7}&A zZuz}0usZ@8@F_XtQJere6-VgErMH`?l&Buwjx&&2?i$x8>eJeBD&@c_CpdxO~_zDr`+ zf!ku=(K!3Toj?n8k@F5Tjh0gEZ44uPPn;pj#wmFM-}bY^{|n2l{e~+j8~rQp#ue)O z_wF^)RCHgfI=e2)XlLIx`A2B5uiVWsxUaksY#;}^%peY4cW;J8prbV67wN7nTp;9Yy~9+pxCRkpPxW z{6gG|p{WXNgE$Jm3k&6wyWIp?C{V-3uB3`7De+i-U50+NxG!x_agT* z-hKz{9ypXbf=kL&>3InRCsNso?cf8nRD47+5@C~r=F^3jxE+k>gS2ZTuWCR&Vz0v9nohSi20l^{JV4nLd|T&n+yoAKM;P%ZFUcZ0oDH*>>9dT)VG- zZ8LQpd&_^TeT#qne5ZRN@gD|7m4X-sn}*Us{?M%9aMCdoJ?Wbn&+QJ{g2TFLg>Z>N z-?F&b?*?*VA?l$AuT2l%<0-&=LL{k)EFJKa&aVx{9QS1i=v<-(%rQb71OJp7B7kJ7 zda;eAxJ#NCRFMa~{07Vr@uC@fNjnhjz|4~QeIx6@wQ#qf-?U=(w=#0Mn z+zrZu^*+P_GKKOrAO?LA;n z6j<})yApDv@Z#a+a}~)C?Sl=n26C%t@XCrbTfbN2=N1Dl96LDG-|);ewH~H;gE^0t zseuS)DEeq8Q1W+0KieV_e_LSY+I>#w7Y=};TB)%EKvrE`9{qUSY-bCoUF;wpLDE*z zSwN4>AlTjcQEXQyKrV*A;IC(a_8O2Z3&f9iKdCAjoTzu`YOa}1+0TmGosq2l>MKqgYGA z3t=xwb+I6eLDKiZ?G1i@^65r(3H8RZMdFEfd`>WfX&6%5$3DuwK7y5uxs2tCg@Dz~ zsKaV8QE1Zb-p#R9RkD^Xv@XM2ywGd6s8S0r z@*S>tUtM4V0`0&}EWY*wRH$nXsAyNxVED5KLT_0!(PAzQ-rwUvF=nrrn-oq_UB8@C z|I+1;2W5$A9vGR_`N%9zC;Cj~t0qwM$}?=tz^Rfi@s*`!;upcQ;oRIc%@L=t#%D#W3PO!p+Eh18oLf+uqA?A*OnVPOE#-^wKCsVa^(2>f6!9d>R-0e1 z*RgiCa&68hXK$}Au^Mttrt=k7R@!^u)EJ+3k@0+Po@#mOvaCIm&l4Vt*;A{p`-_AUFPYbw)W}drFLW!zqP0?Cpo}T z{fKF58cg-FRekTtt9tVCQ9FwItzYlNgzn-jZePEFDzNarRJn>Gvpev6%}PYYmYaNY z_PA&gzbZvPHQF(yonpO{VLl@yTTK){hW=^Eyv{MTB5Gf9GZCYpdD@ zMPor-X-|^5vc0(2RZG>G8~^v*zN8doy?ws8!S%6N)#T25xbZl(^=I@HI=t%Z7s>fbE&Nj`j4WzQ6ROsv7}`2ucFG?5ttTI|2AgzwDB=E(Rzv^ zPyjG3r$ruHA%@9(amou>(O3Z6iDfCT+1j_$t)$ySez?QAG)vb27VCi znjV?DjTE=@DwNHVECz-j6BPy*HiVu%?%CzxBVP_O?n@6N-o`On9c8aCxoCL~x7IWm z^tb*hU`amJnVT0scL4m!l;@A%w`$>glMz=b`DXI9<@Kr6batrkCYQT)a(ZO%jHph`lI&vYd0B#Qz zddD4%k+7kl$>goW`Vm{fp)js|iKnU8ZD3)^_10wj3#9U)xUSU^f$ro5_H2FMyw~0P zG>iM_aTlCUm`g@Li^Xd1E=!t`e}%=xy99M;vS{MSN6BsFVDQvSly+V-Elim@GjQ(X zS1LC`%Th%%TKd}TZFwA5=6yq&_wyfG*vc$k{IplWcfm0}j?G1%EWOwM@&Lcm`tJPd z6vElFKCLS69>vCvb`ykUB_Rl&te}M535KEI*wlpGo7@zS4L@d6s$s$fN)la&mcF&Q zF-giYOdgCw`gt_}(!4nL`}Fm-CN!`J%;hwi8aU@aBM3jQq_Uem5(Z@cyt=hy(Y8>Z zaYWTqWX2a~Nwg`$wT*Kai+AOBvPE-jR;gfWEGO_LHgfw~w3SDCOSGZD%Q-4f5l=R1 zXO3GP`H9r8)fG12%me*;0hv@^?`Ej3QNHxX(=4fk$pm+xF+h^@ZgnvaCnl;B9^0Rc zZmDFUHQgQZYJ%}5g*9dn80_h+S{QShHpwY>q{!=piQ)0JC=xStIeJ4Cb@neujTTTE7V$wvGh@#m;TL)$14rF%e+MvU_kCRPqWTu>OrJ+%^anSl@Olo>57G7ye0D9tf z)?PwDtS=FyFb|bZoz#PeB9sDLLX=`q30_Xi0;vd;uxb2iFJ{SR+^NWMP9#Z{1!Gl@ zsPpr|#)+30*Xl+H`CdUo#u@YX8Rw*2e34s9{t;UuE}oaxCRy3{v{T8N7c5>@M<`@u zxq4qGSplvwkc%5C%~S&k@#wQL=Uu3WJe!7E`jqv!Q^CDQsz^WLNZchjd%vNfrfqV!H{iv;kw|Z}CGC^{L?U}iyrDn2(VeYFDS;6T4(WeSHkx%6-!{H6F&~-%*L&>2=0X|ytQCp=^i<@@DXA8U=X1+DDA@Y0 z-zNpEWZ5Ki0&|aB)t=RkV13b>3tDPk+^k7Yz_ybgf&+m>4Wz3amZECAHUL=UYwga4 zYc5(O%b{c*8xtdT3FAOJDjo(|She>89aN_4FXW4U({L8kbbBKlwU8309-t z%b_SwzeN=ZwZIxi&>4}^(O*TsBWvW_XRCGH?3~rA4Cy=XWzug&$1YB`@&tHxPOV2r4vRo6syuY}Ld~z6>Y(4`jZ#uPgN>YG2qqMl^t|Xybjczsn+nZQUXl zDlrP>cNG0TE<&$hY2A~yS~XC>kBI;ERq6HszUl?Upe>5=t7!aBFDK51=$fK|_ zyn2Zz%9#&pW~?UX2F8y%_ATxo*mXjpS<#+H+)f$c?+4*=mBC6#s^$r!kj;6=p8Cto z7Ij+9xwC<6?l&e4J79V#UH*=XOip?Dg{Th0RKc>pq9~v-L^0Hd!@$#Cr&|V)?}p2q zOigx8HNNOQ4#~dUnZC=vquExVL#o&41AP2m#6%3gEat-ogK9TarNb+~;=_|f(3pmX zGUCI5J0M#7qm+SpB=dLU!*jK$Ow>)!_w6LAs7Y!ziWyE366x$e|(HE3Tn4jYlJ@*AC23)z&J@5yby1td2!= zFea5GX}S! zR6O7|GB`#LS>D)bDDVr!`JM}Q^$RC&%V1I{HTQktQkvPwt45hR#AUz=R^O}T^*uV}e+jEkUeW+siC?9mSuCyeV9a4)d}n_&gN)MZ@r*XJD31Kqqqvo%@(^iuS_h zBlcs^RrnV64#gVAzzWxavN^XVCGVxL~)5|p}bYlCg$6NMSmyD$>h#;k=~J6XCcF!QKa3= z^ttUn%6GbDDpJJVEpyD?g>oC25#@Wgc5yWR;_tDAC@(Afpm06WpzV|uVMown8A3gR zf82?M80UMj|NKfgaE*8+=p!cRwmaVU73t^Kg`nZ$)rNzs;B`^vuZH}aX$DMd330RJ zAe-GPKS(jjWi<&fRwYfvZfni}#_AA_CpAXBa9j2=Og5Y^yi9V1wy-SM8qG1iEa#~7 zE2JvNQWDk@$ywQ7_Kp_sl3|>EhY)*lE3$C73n8{H&2jyIj8)v1#Z6o?)agF|fbl&{ zi1DVR6pV7l+OS=Yrm=sG)lhyxfU&APSj=@`N^LS!Y)DOyt(3|!I*B$Pp`?-5IR?u} zGRxaUS%ElfU4JFi-am$NSwTFp=3nPA3(Q^MY-d4aJE2TrS%6jXgjM3}#3%8M4Ij_hS_VENEkD{EPHT0Fx{&v73*zgO|+8)|e28G)+ABge!PZN(l-E;2zfTgu$tZVj#o>UIr9=ainXc*}N( zsz0W!g{P~!I@zp9ARk9YYpzYD`$@6bb|H3kX@MRO+Yl|dnf-yw`ECyG_ne(&Q+>UM za@&vRP&did9H6V``HwajXH2K3zBB0?Iv#K5MK7H(Rh30IlnM_+-y#@SZ@9(E)w8Q7 z$N9zK=BBFBtDf}0*RzWv=|ykNIZi|8Ve|~|rQP@|_GZrYZB^|G*FegeR(%i9vR~b9 z+k`^aj_(&(j+`2tCXG(at_>4XY?E6JrN&bir;|9Qh4ZIFr#QzA6J}Rtd%i^*gxzh$ zMd}d3w?&HRY#OT@K(saFwgN=2t@B0JLyPX;Lm@F%&kbER=4Z^xFr+&R!#SrBxK~rH zE-%eTCt`s=&paQsR4+rj)-PtKp0D9Tb>tS|-_P)Jix-RM;s_>a-#mtD)@0;?Rd=15LwhqK3RH@{UGRVsHM=2LsW zZ&nJox|frE+2p?_qvzvY+Q_9lFLmBH+%NYUMPq$!HZq#|y5Hv9pSf>Ssm3vCV}u=- z_Zic!VeZZuVjQ&3?^|OY4Tc`wCiOe<^Urx~+w{SH`G;&xMK?UX1WPlS{8{>3Brx05 z`i?o88t!WAzKeRKbLI2KS=RN%H_-BNe7KqB!RH{>;yFNfb*}8|DZ29dv4tQx4uksf zst4_ayEgIt=~aR7ja~QA?k*U5=Po5h5Hd~h#ZWl^g#1}?6NwUaAA6Pg+tU8Y8=59J z!Jnph(TVuv&`;9;{#an!@|ue0O7~Am@rN5WFZW=FuY4cD7mpLD#_NOIuc?MtSXYjz zRJPrRRK5f<)!Tti7+GHZ=>Uan-$&_W-7Ym4-t36yor*U*X{7j6otJ9x;)xHytFYfV zuo|SMn^#b5-+u4E0sm5Zn@Dy)nvSi-LEB#>9m_6>eOWu{%>uBq+G_zSb(}3zL67S2hDaiq)cW$Fj zry<<33G46a{FO=8iB9FK71v*v^QHTE;|1~c zjh)Mr1gw_N6aIHDv%ftixhBNAC<^Y>4g3bI4lIUJlOWmOmSCMoALs|ixYBpkOm+nI zn;2u6h}%{-CAfZQydC&sU*GSq-zTQAZ_Sihe{_jIx2M0idA||<-(}VRPm?tKVkJhVf8;@^*>?tKVkJhVf8;@^*>?tKVkJhVf8;@^*>?tKVkJhVf8;@^*>?t z|4(7H79gxfx#L#fqXGe40RkjIST#4awV}1MF$KOtMLG|clM#i3#)byu!-w;0s+yI{1brP3i(`sfKYS9g#?t`)&@1*owOFc@z?D$ka6oV zCI4DozMG}aQe#J(kVcyn%yQ0|H5+jyUIxwotTazM%1EQ}hnPb&TZv%EB?3cnR6~IV z2PJ~ohg(Nn=T9%b{yz1=U zzShxVVPVN@YEo(0v+p`Uf(! zAKBX4nix4e%#4|GZGBx>R5VnG8a?6U>T|YLO)M+{eVF+{ zCd{Xw)2#{%{}7(r%Nvhv@DRDX;D?E20viz@FA$H9^#@aWp2b?n+OMI*74ZRAK`@Yz zNKFbIT?I*t)7{wjXZ3pa==!QINvv2wbeO161ru?bf&AGk{OlGI%C4AJP~T=ASq5ru zlTJ{+cV1;D0$wfeKpW((j}sXL;x)cdo@rRsFDK{NFgMw>FD@Eno_sM<(b-H~L039M z?!a(iG16ful!puUy-@}a7pVt0*o2hG%^aZ-PX0$;!(ZE*L(*N*_HAEM4k@}ONpgF;ay)J6M2B{(L|$*G zkW{yS=K;6dSPWF9Mtk>%G)5 z#Dh=w6o)rPcAAudo?VI%Ig`WKTG9VuGEbH|=!V$PRxIR>6Qu|^N7ds?HYn9G zRCns9nRwcW;9iM4nrNx1kEq`6OM1-3s@?;96j7#3Jg5TTTAs=$r&*W^LS=%1n>i#$~Xcimn-x(y)E`4s4L&oqrFp?<4bhyU;KsBRSP%A zdSA^onrZpj({Yr+cksgJXcwH}bltux_>?{L;+7V|pJot_l-us7&jmIyIt_ylB8|`Y z#P{+`{Oh9kRi`P&_Hp+QuC&iyC9Krl)YQ)Q_Cy7cEgh)sAsA`c$1V@}(8>zf(9jT6 zJ|-R>I807tO%Jfg$MvmS=`v4A8Jxj$^lOOQaxjxEHR-hKe%PwypPE*yQO~dYq(!&u z()-)11j}R>An6Q(3tj2k9*77~#+7yf-0gI>*x|c@@ZmfAk6JJLvvA3qt$7TTCAz-T zV%lCDPuAV7^bgGJl!22K(w{$v!aq_7fx+7SM$c*0=)o9K2p>C!?bu#~%9gD&a&MVU z{{%nn288;v>(jblU+V^AxM&Addv#$aTi+VG(FgETgtu2$)7#BCh2p)|b0?M@>%N*0 ztr;kuToRykGV4FWNkx41{$ikKrh!n@9GDr25{sTNVDD6pinbj*SfJLYDk^H8Ro15( zB5yWubHWJ`X$l`5{Us$M6Zc6zu(E=g2(+ZXGbgCm2=?YJO;HW4w+#0>Cu8OPxI45P zg%b8Mt*aKuMFD|%2G>gv)hmjmXQ`PyyERMJhQhF~oAn(eKn%5C^NAP-634&Y);JWV zh{?s9mWP0siy#vje#-#ZM1+P07Z!q2va(Q_G>Zl&CeRtUm`IvzGSSwXtjVnMeQnX| z>zVGFQ?c4i$4QHdexABRMAAF(l( z4G|gA^YLQKc!0Zezmwh7EV8z-qi;6?YyN$CxY!aAK`scO4+OFtNJxkNm!com*`@mG{d%))a%Z(x zPxmd47ad6n^0+|U^2>1XGLVse7La?u`|YzY0_f(X*^Lkd zFm!Guja1xgx0L@cP-fy;T81Q>!O$Nn*mhwEjO8J~X|3Dd7I@LG`hk356;NEjjPPoN ze#E?dU?zCrJI^;ZXQ21T_X@l_GA^6I<__M*RkAV(B z(m>@@ulon&XuguDzwbaX2(f?O@t!@}!5o5V{V)qw|1qNCw*pMOhTnfWyex4%qN8K* zv0X!AHsC4JI@3!VM|=Wrhb(~cJKpuod-E$&1vs4_lKY1p;lj#+sAibp9#ERMz%2Hj zQVI+a(FqHG6_~S=P_!KT&#H_^|G(0LWPqz5teY~Ap7GXo=5fIgc&|3OBOU5 zvs++%7#TQc5yoDq#|ll?#7n^4iH@>w$^ezaI3b~$Q@tKOd=UdT7=<|kV?n=jpcH5k zD#8cqz|Z6LPzh)j1YY>^nmI59;{NzClH@Pcc0JyB5~ld)4|be+8Fsp4cn(ai7}ZL= zD>5MtG@TAK&uT=RG>4Tu4?T7?X0IGMZRQ=8qo~w77dT(4vcQeEsxCI!kDFmw><584 z;5Hx`;*%M1s=aYCI`En$P-W(p42PCA1T$OPz+sI3&gJBhEaP{s!XYbPBE>~n1HGK- z9q1dovh1O6{-!&wG@0<)*+fhNoS#v0N-0AJLTMvKznTaHLr9$joc3Br)|WstBn({8 zb|<*wRuRn)N8_mah%qgO(>-~?JFIE#IgafM%X{hFPZJxNC|)&D6;%2LPawC6IOWi5W8^#o=l+!CDJ7iR|39PwmU zK0AkvMgj`F-@mMinTnmWdjO=)#(vbtC0o@m*$#8F_Zf`*?t-zm>e+gx8Bu&qJIEB& z>8i9Bziv@;e9m(Bwxf!3(^`%!24||Mr5{Y(h58B(LV@%bkzYEf16Sd?IgFp48YVyK zigu$RUjc$oCLtSQ1iMEwb?j0+6#Dje3d?Y}>+VAWhJjv~!iLmT&Jh%qJ=fjRRx?fH zxpD1l8)0ORqaQ&BE-Q0mURNnx;Hb%lmo$ft#}2XA%^D@F3Fg z!~~wMKZ@sazHJ=Ia6Gj-*PM&tmV}N?6m>0ISQHE*?90pvRNp3I-{E|t+f_B)P_@pu zQjlz#e>8ht&BEh)#bYLi*-t}+Ed^7j$Eficb@FqejhGJyaKBTKDtLE!WsCtmSJ1~N za1-H|g+9g>9h47i46bOY6Ddh@URU8Cf4ohieM{jK+8L$?(A--&#z0Cg?Y(^o(=p|B zN?Q%6cpA@EyZ_eZIK2E|?h) zb{d4UEKSwO>A-jHf#JCZjJ`#b7T@d+oq`!$C#XY4`c7sC2a@OS>sVi!jH#sPTok*j{9D400+%&|B$reV~?xsaBpAx7?j&-{Xv{fdSln37ubL=oSXcOFn#u`&~OWLU1#BqFW!qi-Uad+JHK;XVSdEk0J5NCLK;eG9< zHomMn9`9~HdxLyG1}?tneGlK9gHnm#ps@?0?A~@_V4>vmoLuh1P5G4EgQ`%>wR&jB zAA@4616LFaaZAIAxF=z#N+sd!4WoA2$7W7hIb<=9PvhQt*Z3a(fseBXj{m-1R>Au0 zl+Wi#5h|%1Hj5@jGMCL`S_%|$W%KZCXJC)(8Ii+H$Y-!hKkGr$Bx&)o?0&BL-jM$QC{ohU2Q69=fT!=GX3GGeEO!HI%Kb z95FqilFxNC=*@;ICXkWWZFMKe%J+1_8APHjHozs!jW0+%D@=ei?H4=w5Y{5}XNIb6 z&zpE@QFi%j;x<*sC}y^#oMg8!jOnEzA|D6~DX6_mJW=IENIi+bSQ%Je9uIY~fp~!p zLSBA7LX|*mxRk~rxSNrUFdo09bj1vww8aMUas!bdornR`%ju^-zPndZx<{t=tRZo# z&`@6uNg2vgE{f_wDtln;r5G@-kRJyY>x{&Vm>Du~cc_9P-5{7wt0AuC^Bx9W^`G^f z);hi_SjWfXSX#@V?!w40*PQx#MGPWOzcG(63A_RYxq=Fz${^>tB^}j+R%=ydo=l?jGi&o6BA+o4?wX3QR3v$MRq!c7r7 zq(O^V5~%0f6*Jk*$f}nTzz*ShG=J@!R#py@?t7=dTv!l*8C+LZflU!c`G4qsNU@}) zg*z#!{3(PSN9vP-EvJ|1KE0MZQ09WQSyq;puNCvt671bKXSO)&z&x#F2+Npw{}sf7 zyX^b+N#fAEf_RAP4@qpTFIY|nO-__CV23<(<@(ssxU8(XQH9zg16B+*du~oYMwvdy zl8lCfI#vfsEcz-b^M}vdB^n7n6cIYu7+hRAA(<+OHUwUHE~Y};_IyCOz3T4n4jkkF z8@hv8At>yR1Km|8EdqO{xFX(PzQ)f_&@sYRAAVxU&H|fN%^I{m@wh{Nax1c_ou)z{ z6(lEMbkVTKyo$L%jO+KrilYpklMJXbsGBbw7`aOm-~hQtp>jwS(Uow0@+dr~K4_Ia zSetca6_vkedRT(MHm*Fmz}MWhB1_-L@P|%*Ib?Caj~x~kLYcTE?~5lYZEA3^RT%!l zoZq*Nl+gexYG_b8A!URFq*5>DwiW3#G%m;uHT?m_9fp)Ue9;0;kzVfI#0*%|HbA-v zvU3Q|B$VupsgcR(wUz|Nlo1rb=)J6B8KXKM)XVD|vGOYO_9=#x>-avCAmvPN$@m%I z5A<;7K}(d8QH#rtv=mO&A|W9WbOpjiUQ#%FStTHE-r3^Rp;pxI80uIJ)FJqha9z2Z zN7*sy;0RvUktG>+2>AzQ>A0dm*>j@_wTCib-fO3-ytio2qjrDpHyUt+77pQE$ytB4 zkaZ`YqWTlfin#+aU?gw}IP|_%eAz5!q2{!-sI7$e)QE&TH!g|@#A|A~I(HGtv_`cC zPQl0hC^t)Td#Zw=u+;;eIIHVgHv-%bShBDLdX>CZNT!D;En#8d-{Cn&pyvf8LM7#u zeM6JZdrNr9DaFGM?EFJN8o+oR&OH*9URqn)cEH{gexDdn2wVi&2cYPOSj4WoSZ{Tx zs|o7?UjUwOr9wXXnJt&H%Ym{nS))WfqP8Q*Y4*=k-1!9?qCps6vY0M_>MKxrLbVYI z<)M`YX!hX0{4yb39Dl<>#i`0sb$Lv_Wx$Wv7{!5heFb~vw^XRBq*Q8Ns}NOG*&z>z z<3756VsXuRcveZLvqF)9z{E)got;6GROg6j`94AfdOlmlaO{wLMT4~*rg>>_bO?Fe z+J9*MR?FNam7vXY3BvM7R{$adX(voZDJvhV&CSuccyY>twXcMi!@ap;R8=TGEjJ@w&NKvVGhYD?pR&)rhk7o2szT)}pdS<(_ z`E;$tK3}a0(zvj&go3VrNE)r>@*V@5;HGL)fcL5mq}$D%Y|Ha(-|c9s@ud&#^@dp~ zw;;-6Q#(?FDK(&Rp$JAFtzQO}yjTrNL*Ki2s|a;RONh`fw7+N)&Fm2^pGzaiOcKf~ zi&05g*+5Yq4w`j&uDd+kj)l=3?4e>#ChQRU&e#7-W--KKIw?DwZb|^mD2R|eF(Plz zp|-T-H)@hn*c@XF+JVC8El4Hisu8qD>ZCX%xj;ppS}vqUxJK@lvGsIPax(c}-qIWkc@Ij7pfqZ^oEexHpFox zl4L>|Vj5u;fyUt%U2YUVQk@*gzkmr$AaP+Cp{n0{0sniQV;f*%w5w@&cOOt10|Equ z0@!N`+S)i7+c@bex!V~#YSRLiHx~SnmKmUj4Sp8eAR0q&{6&rU`*H%L1sDS|{GCK$ zIAU|w&XXHYMGUrtI{&%r*?8B*HzR?AfA^Q6sqOg?c2C@Xkf15XY59-#ZEfAgY638; zhNz8I`5^qvefqwO)+w+O@$B&n;cR2OgZ_4co=uj?P8ck3IZ6&|HEpIM?~pAz@riNy z{Q3@l1Iw(b!-VSkEDGt~$fGO2+w{`6x&?_UJbdy!92&KKp9REeh8b4*5pYV%H1yOR zS7opEolyaP+FgdzHy5wZ4VMhN7larXl%Q^!1{#hwzrR6&{?BU?mX$(U4-5n} z1GpygfFtbm4K4Lejp-bX9bC)}jUDN%jh*z3^qutS3~e2ZY3v+q?Tj6q%mD>#jQY$h z^lbD@Cai|c9L((cCWc1L#>UJB>;_Ewtn|jTc8=CYhIUqeHe=@L5rePe-9qK76x&y4 z$`YBW(4kZeA}Lu3ZL~e-H0&>S2Ep2&*RdSiSH_`#IKaa#4oL6 zxhFHiM!8=29ZN~B<(me$i%d_M^c&Gc+5l7bE^iRu4=qI_fi#tntwn5Y=yLeSXmY%; z_r8%dPzqghzz%sdsY3E~@%8eGk=>+*%c*%&NuDEx*>t^F_zxD5nlIz zA!IMQE5y#?i67dIYiq_4OBmyDRiI?`q>m41>$K92W^5=wyrmo9Wr-LDm(ytv;NB+O zaOLoD*zR*`Nh>)8Bq%W)H{0tQ5Z&69bqCX(jP|FJ!8vAOvlIz-{)+V0tU{OkId;fJjX^;9R;Hvi{^0TbRQCn*e~u6! zAX(J{g$@7Xp(j!xpnn29V1&>*nw#3_J2^W5?l7ApeE{hl1Qcb6SjaOR@DGrj0MdOx z);0(*C<6jL90ZhJh#0UjC>RJZI1s(j|2_~nM-@z2#n{2o+}4JZ0UDZ-mVuR)otd7N zftG=uftHDunHG>mBc|_Y#wnvl$3$-@XTvP!VIe4NBkCfjt|-7@FT%tjX=AGLTbfl- zMorQ})*y4k!pP2nZtV@y;Q}ipW>&q23414L!#{?fRb< z1A_zFWy}CW4+R0L3c#cd23u;?-V$%a8ebai#5 zH3AeF0*Yu2ZLJwd>Hn|pt^^#ax9!hnEZI$nF!r4@Gg(uJ6hg=nieV7OHZuqnGoezl zM6?PiB)cRz2EizukRa|;hgh4_qm_t{@wTed!9KX zM!y8-5nQaHOD2OoL_izrqb+=WDQG=iK$wpWPz8xCVD4qd$A+WxTnmT)Ej4IRv85dV z4h)`stDNNh zzVqzSK=1aC>BemGKUR^RpLcqEJWi!5Cn0e3*c|$o*n@+E9b237O#gh0l9!_-YQUWiKd6xMW>?t0;Lm=kjP- zZI*Tt@8ch7Cx@6E`Gd@0a3}~wK4Wnp&^zvoVb7S83IRFv*WpM;Qz#IPi0?X$iI1EroI{VGe?%~lM z5;=sBSoMYE_6*y*DZn}J(9oy0j@Q=3sSS-NnR2#dCkO6rw!Kd_95mc)o2=p?khNvd zx-R$%_cM2DL}wVYR$~8kDFyVc4aG7?zBv96>rRdk8E_pr^rrKUyJ7LJp(19vA*tcL zmHV~j$I7Hsyd94~uNm5>LK)6n*&unR;ab?;kG@fL(}X=kRK>)hO=Z)^gkL#-tlaKi zM!YrlQN)W?m6110ZC|#%cgRO>1E+)S(uhjq#^lOscey=Wo#Ag;ac)&SY$%_xFcB9{ z;prGbNpE6oW*Ht@*peZY#_50VYIpTi^(pf*c}Av2rT*Y=z+y32y19a;i&bB82$23$1i=8x;A8<2 zL}n2|EVt@n(Mw=N&zInewgj=)!^fQtCx2(hlTV7*hOu+yy9Y5oS%ooN)AV>|^Ql73 z7y6&W`m)Zwz_$Aj2A*S3DvO;?(7T;Eb);2oP5ZT+(X&yR&m?o%gJm=i3^cnxshg3N zz6UPJCicdQpNtElO{GPMyK(QpZKo8`$CckR)7V`B##7L10x&`1TXv#g(AEGFF<197=T9c@1aoqG?kToUC4gRJOZG% zSPB-UHebpGPj?vPWd)TNhI@XX4fW~XLQhx8g+u|URJuYUh!9{epm{<4f@;*d1yLm8 zx<8de{IxFb&+D4eRX`)Q0tSFOl7;TgqrMR#Fa#h6$SkxG2IXB#SBwmH#Y*3(the2g z-knuBJRxjwK^=&>w!=X-aXzHGtjr-@;4~0A?|B<9jwciQ+M_=GFHV_DRYH zW(nh4L)rOC<&X!^^* zw3OmAZcB1?pG9p+3)!l)yB*0%xJ!4jPf)n|b zkve_!`4r9Yi?dIffo@#@duJ)C+i7aj``)eEsyS;;k63L+b~&n zo27UA76y0icivUXdh40Yp7g1l7QXRABWE9(hx8E3Wd*k&_5|cyJf&z+xSkrwlW4Bi zLM!ld8DlSOpm!jbYMUF#^hjI!wO6FB`4K+j_`!w=ae1oOR zL7>?@$k?(AF5ene9oT>Mni_8VBDU6mJ#~AT&HmP?f5u6Z+iMcL828 zDQ(2)1C_s%^r~|r_y+Gg} zx)aldS^z9+(?Yxd%AL@Iheek{j~wO$hk4J!N^jGwH-rI@75Fd!1MTMp` zUj_-dbQ^^^`$Q9L3ce4mfupUW_ZCZU4h4hRPFuK;BH!*Pf_Q~YOvS$a|wxid2yhwZ-_E5UJ z;)Yv=K*Q*(Y-~XnijnO&F%Oj==E%u!o1y{8mBwZ0Ddp{H$~eo#|Cq%PDEkWTkOZ;w2#q&6_*^q3jCyfIHWT zb+Ne z`t77$p4(oaK}!Mt#k7(cj#;&Mzz78dk*r`qfq>G~cEF%e7#-_a87bbbJ|3o966>Nt!YAdFl!pQ|!+!Z>G>>Ypc&FfeXh$Yq%k7%>ET&sf-vBvB3d z4;Ejmj%3+8NSt@y(Q}ki)FB22fe13lt;CE56{o@qQjkJ^}7?K&l*wQ}*y7 zxb9W*B>VaR)V8IHC}XI#0QD|Ftpcbw0kEx$c|HPdCkuUgHKUp4R9@HF&7+mnZhU^k z^G)AN+_s1v&0F@51Jr0B@FL}(2%2G>f8`v(R2V^nLi+O<2jfI%Mt2`j@8~^URxl$n z&Y&qF*ts+9p0neV+`Au8gr0}%uf2AaDTYOw+YIh{Sstv4ezwb}#jNskxYkB&GqCY% z`LwXD%F$q+H1mn{N0*>%rm5>S+16@ZYS}p>wYx&S184iasKi|9r1@w@G7pJy1Kc)= zl~=FnCYN+@^rhjPO}d%=8QKIUz=YB^#bJ2%bFy2dW&IhpQ{D`=`{0<`HYS(h4deV7 z1JOU=`vY$_zE$S;Yp?5MI^)-^$Dl#rJ{IKwlcT;F$ep&9fGSBj}v(ME@y){mw@rVF49>JyK&5oh*uz)9# zi?fZ+^>BXyXxw9Tu7_>e900unZb@w@0yGaXuxo|E3j&}4AXm+XgOi(~jC^naLkFP6 z`2&stT7SRmnZ`4%K@Wh8>F*cM?_N_K+;}Jc8N&u2Pj%^miAop>CBPEgn^9}hOncbS zBq{W@S7YcAKL-|!Fo1d60o3gPFl!fvp?Na3>Jz;5R0KU-5}pjRkH(IN`Dp}Rv5#jjx>LT?ZKn-6Wf(U_DI~!Y|EQ7uAAW`gs*7GI#`I7JykhH>x%to>x9mKnM zc?T(gOhKEvQi6O*ULdivkkTy{prf*iDtd>9x2q)u@9js=^kEP=aSUF?C=aFq>A-Ce}DLFvrF$ z#)bdK+xK@#`aQhb?n3Cg7tZag&-}2pJ0>pv)aiJ9dtA!Fkbc`W>c?s)`UsIF>Hagr zx5}SCGJ%xbS0rcN^YBj+(ak(`pZi_#E5k$cr}DZ}u~@ z8SGix(-8c@_8I%#;>{;+E4)3;Cm#w?3(>{x?ZS1BaSDVTQmCBx{AE*jU)3S!BaRT` z&e~VK0s2^7O<{i@kB6%Q449f9w8$qtZkj3A@gf|vG5N~F6&x|Vd&k7OR3_*crzDck z==n#X5I3(BC%20oBP~j_kE0{ZgZlNWJ-gvPxF@-(R*-uWOrDA5jxXQfK1MiA*-LYk zeC7RAVeJ_%88erpQ;Ps<{;%}fa{dhocrQdjP*wyUa7^2E!5-KN*Z@|%%pTtKMGJQi zH$W5+0T_`C^6YS!00I@;_e3BnH|DrkbyK)!>sEe+&^1cHyvGBxRidxEuM#*$RY1kF8r$ExFt74l-f`8Jm+C*Q~I_*{I2AaV_jF}pFGjSEnq+OqUU;{) z@Y2rQk1h|dZxh-XXEYMWDUHVkJuI=6n*o_s^Gk>@{0Evb=to|v5JH$;dU@_Tp9FvC%ec!NGo;?%1lz zw4AC9LZz+hgY5+lnr5EbvA5lbE;$1o7kS62%}FTs{g0B?b+p9#k*T3)58O(@KihmL zC9ZZT3aC@58vRjib@-t12txwW|I_u96J_ro(eNMD`^}P5o=<9nmSgjO>QH0=sX3Gt`AdiL z2h?E2&T~7h%+4Jn?Gm7-4_S>BK(A`~=VD_SyrND^L$Jx7CiMiAv24ZN4%u?0_b$a< zP1>uh<0hR24-8#m?0y}#+gnGyH6Hm^cVF<@hYzm`Ry|9K9~=EZoVI%_UbDSuRD03jreNMR2YzEO^0rI2QvJMJ%vR zT@kkg8uMMAKFBbQB)z$OQ+G@@T|F#3z4d++$R z559V7HkNjudicxb*wy_yvRC_eji+~56C(TpxmUt?J~y;AGG$H7F8@!H$v2t5t&QJO z-~BEIKGP7V{FH@gihKXGsb+$C&c z`tkwiUg9R7(QCDncn6EmrW0Nyvu+7{tUlJPI-?eq^dDG@gelZ`FrXW92QradlKPJEG8GeOM9cRU$v8Ux~fhc zdC{wZy7j#GN%f$-U2&4F6=MIr)9=OMF_CgDKk~BiR1iCjLF~jWU}tMz{*4Ak?KG%3 zLQL1>7wr7UumxoDFkpy=#rFn{%H1bZg1?GzVvwDg} zj}1|*$|}tF0rHBrQJGkv>-+brpH3!Gr4+tZq~t)=pX5vGoME;cm9>eq-8~q&Raf*- z-|LbmQbnOUmbSsiEig!vMEK^KMlJaJGRP-QvDy;fzLA3HGYjx{5A3OGU^y4`-vT-v zI-rUmG{6lc%jrA{SrH`bl!9haZZ_?j#ZWpqr=qGzA%mCkvk=Bhmmo=Bja|B6!?YaE zK{hdH0YX7Y^#VKqxrJj8QibQy61?f`8qSKl0_zvc!WQ{Puq@sK|91+4ybhh3{u4M= zT>__>Jkada$Ob_lUSY@en4Dl$NT|>t)}}0J@cRIZ z$}f@pT$FpPWJ5I!Oy3@GMcN*{X%n5m#`KKyhN{FgOX$q{C(czyiL3i*FQRvN|B(6a z-sG>{k7Mpg-^n>HZ1ml=;dQH5kA-Xi#7I7~;o+Hg*(P5~_;x1fR+ni<^-tUm)7LU^ z;Ir$wxW3Ips!eo%SGfBD=iD+=rPZhV&Wh*Ta}D}u>rSx+t7oUNHI)=T-*`IYo>(pA zQRf!ssG6_wl0||i2O^o?y&9xA`8Z`-hp^q(w|&_^wH0-~uj)1AR#0IIiiDEryvL;= z0@1EEM%B5mZ4gFg#5p?bIJ&V1XHVm(EsKJg`lk-KZPpIN&|r4p77%NYZ2+i8fqx1v zVVt2WfqW@hc7b{k5Ll#CK-Q3L8Ex_x)F7SSSV{dc)j!p^s5pRr6SnT|^9YlEE5Qiv z+r*&TpVPR`?@wuR0MwR9hbd#gfD!<=t{~7gl*T~Fewc-&V| z$gVPxPW&XD+*#N#1Eo`BsqgMgooAM|G9(OU+f?t*lG}d%)DN@r{@AO~h*76oJx6R0 zi=@XSj;C$Rb9C}$Espb+z8vYDa^srUd1S9vvejNdAn)uOIB1AB3YFF?oX6clpset~T|bt=Z7y|8iQtFnE?$PG!+&HkuB^U!yO z5uGti;@Z=^Rc7e$sizIQdUb*YQF2{h-wTvMxUvWZ!S#E;;-R03V;`Yd@jFHpk!UnG1NUt^oLVs}N&zCiBQ39EQ_aWd(1gsM9uO*e*zxZ}o7p$MKvNiEmi;{k}hCn1P zZ4F(Q5;JX!Byd+}UFk{*#>u~t0Pgi%DuLb~j(KwO3cuBX`^rxVi~aF$>EQSNHxgFp zKyO90Iwo-EybjBIR1E@M7}Z~U^lx-oF6n{pUr1V^)9;=q@N<+;SwR<{F0isUS8lfb zS*yqs`n#>SD+R3Fnfg;eofq_ff1m2l+y8#sDRWv^D~ zzw6Jc_wl>A4F+C?hs}qStCwjVLM7T>Nd*Y%unILr2NA%DKB}G4BpublP4)lqk!9I~1V)TpQ z)PNWnW(F{$=lgq zBacX=jfh7?tTQ6IVo~b(4$mTC7cwYwqAszeWIJz6ZGsj;>j_3c1-jQ z43n6P-JnFsIzaV4V=4QS0B8w?U|PQw?a@}UeVYiiwxc-^Lvt{WNHm7jKm=FL2C(z9 z4fw{jRrtZYQ(Oa8*tB!jriJ5 zAFkXUM_>O4QmL#H7Kq?FNBe^W06U;9+#;fpRuOE8h(>P*LZK)oh6DK0j%qydR|Por z#9I9FhaZD@(*^M(!f6R1PSN!gT~FHJN13bs`>At=dOu(38$OOt&m=K0I7}i8K{-Lq z2`=mGuiIY}0Brw2AV}5^BHY@7rsg&@dZS1W_;CB5m*T|UwfOZLE1(({ZxfEW1dh0b zao8p14zD1%Fem@*f{_F2p84yFa{;%7vxip5=W*19Ke)V$T#y#S!$Z(l2`PZGzwQ9; zeMV;agU`pk@26f4pvl{cMo$=5&baaXuJ!nz11skVznT4LNt(z*;;4BQN2zCiM_}Rj zn~v<+VDt`*A)QW<15(ge2^Jyi0Nws-2$^l$@SdGJDr<1VweiQL?w zEMcL@{;mltsJ7Wjpl`fxM+C|K35=$PF+4n+T`Cs{;4lHg>ur|gz0CnMHnrf+otuo` z95HRqjj+m0T5tIOgS1XQ)BA>T!X{??aJ!Xui)3hv(umI5G1s1{OFag4x{hQ(O z`au&Q_T7J>A>PRlKO}7}pfzgkeKnrN(Rq=aK3Iuq8T;9xWYD-Kz`W+1Kjip7b8v;6 zbnm;_L-wD>_;{LzK$>ES5uv+)VLJrO$U18qZl0>1q+~yu)qO&{O|F2sn|agszy^u~ zGT6I89N(KakH_-FiO2GB{IPs->WNG6-qRNo)-S^8r!K)8dp6;^?_Y%%c3pz6 ze7+i&ZSiAxFoHlRiMy|_FmTdzhaLH|Jd~*CU-@Ps+G11a?H?1pG-34(Op5-&DKRiK zEe2Ct#L&o$NR7;5IK5Sjjc>)|)GT2urlz;iRbeZ}C%0mFbQ^|7wu#BfDNIgIko_mb z*w`490M=pP(nDai1p0kVD6a}&*A4m7PHcVk;l|;N6NvcFUs!`XCkU-zMwZ@237&|_iq7NOR4^E4T@i8$mF-Anj z#njY#Gh3#`%*+-sJ2NA;Zk-j|wrwSBqknG|v$Heux0xBbXUim}rY7lm28%Gx zB1jilhk?r)1bIvc2zR~DIP&oM2KNy4wjs%LuhY_EkZr$tb0K0KAqt2(5pHWoXJ-^$ zv34Tf4vPJ;^A8*3I?PL?-Rh8;Cr-*j`QgQhYji_*<1X<{NY4^M3^KIrm$rT z6WoH?*;x>IY~Q|(t|s_zGcz-M52mN5`5EwYI(c@08U~Ao!2I}cGUOcK^WdMpw?^9B z;9+pc3~B%E<<+=~f*^NOJHp{Mbhd{n3CgCwl>K#3(vvXu|INk7h-cgT{7#-9K74&8 zg{nOis`5-d!U71Z07PCeDN}$M>g`$C^V_#?m%XoCz`yZ5d@n!40`T+vE?oqD9&lN+ zKpFyu*ULeW*Z9Y$*8pT;o&b4*`|!5twX?Z67*5; zSJn9O{5==Q6@bV4sVC1fy4pD?3L_ffOpw!HGZj_^5E=sTwN-Daq&K8{7O6F_%?E`%L<20yDiK%WF{=K$pbngdW*@597UE&i1(|MCMDAQ~p} zKI-*w3*`h{2WW*^2gp`{*a0Hi9>eL!*GlKeUS4AS->@TS#Ct}$(7`T{BIpiq5SwJO^+f)Y#-lTZlvA0GfS4(Hi1ZmBq^2Eu6==pyJsDB@1!tpY5H1g)Vk&jB0_`hA=Y z`b0437cDKa7QmGts5+n$fgKR*jKCX+WA~R!q_t%@Y8U)uVs)M%kL+2GM9;91N)7Ty z$vE9k0ILgh5fo`F`Q`NfA_25yh;soM3i~+|q+B3V4uf6}(;dJoL0hDQ?0-IJax;S* z2M5TNfke9R%eCl;Q<9PzkZGzKn@fqH3!z9W*pYV(@)>hSO#3?pKbciQ@O@Wb8YKtt#|#?uLDB)b08S$4&`B%e%Ox)bu+{@rG`O5{ zxY`eBZ*POg7sI{Rm&l%F`#Yt^Y=0qB)lXtzpwHk6@NlZ1#{WRJ@;jPNiLud?7#|xZ zj8IgV#^gkr$fhZ_A47&DbU}3Dxyakr1Dr}?b`{~wJdoKCY30d~E5afeYR8*|FK)WJS1zm%@-}3%82)XsglE8Wkf00pr8hR~VTZpyA{ISvNT5 z!aGl{!%Mph@Z$Z268m-+;@Nw->RXDZ?=HnNguQoE;*r~Gu;=SF^7`Oc8}PZS5=aea zQ(R$%BEA&)1p+7$mJmQqguEP5@3)9RFf0qBmF_Oww4+i6KTeaM2FMz~Tbau3NrwvY zLYOtjzjxvElNVxOh*I24&Y+cuUqsR1TQ*Q0NcBgc^}Sv%5pW8O+$ zZj3CkH;9Z25DfUx=n2Bz5W?ltwRrBYFUGH4%T$C^RhPhwq+|!FLqLVKy8>c#$%ac>CsG0fwI!a?kF=l;%ON< zTF(nuNjnkO&j!fz0qTH+Re+|(1~fD@iIza4@$=_a(*)!azd7JCv|S(b1CM1Zze{db z@Q^wF-3zeq{ye<$zy=)n_Iez9^dg*md>#JbnYH-YbLZjT_k9BY^@G*;VE@PP>jNuE z@D(^i6XEf_7a0?yJ?QP@4bFb3^8;2W(z$wFk>>*%Splr4L_AFmMtPMNS4@=~;>Q%d zagUwOY;vA7%g-F~eXxJ!k`9n@0g?aj*H#(*y-}k%m_(?p$7qct5ou4NGuDGdcQ<-_ zyD>PBz{pS>lcO~Xuaeu~xw1d540HA8k1lJ3zom^ujk>d&uU zU4_Bk5W;O8^8AoGK&1{*>8Hq?gs=)?6~}s?dfrN0k(UBgR#u7}E?6XhxpCq}MRfqT zf3eWu%F-eFRXYrB z*Huwbu}FYiL&4)|G-~R+80oDsh@8y(DTFl~*MIu`BXYsm5akqs2qJA^L#rhUCn21~ za1zGuclErr*Hv5Gt`xvd1g8nn>uE5`Dx1YMmlYcn%CZO|NBK)ml0SWRjS&uq5DJB5 z1xZztmn(!Wh7Lv2j;vj8>%>*NuJZEo1p?$63cNH@gou)IFYdiA4>+AkQyrE+wf+4A z${@LZKq3geq;A<;uoc2dkmW!pY$eX%wxs}85p)3-M~L;JtkQ!Q@B5Uj=A1p~oC&H4 z@ctVMQ0-;`f>8BDs|Z#{*ok2$j2(2s3RdC_ZrfE>R+bfD8AAbXcRis2?>wcgKzZM{EJS@td1X>t<6P7FIia>4qn{%+Nt z6ri}cSlEfcutte>wbe#Jky~7Mb-p1^xs17k&JK_Vt7w&Y_O1&kZ(sq;>axDuWEH|m z3?+z@Fjk_u2s8BdTt!7iLW!W}1M8%yM5wE+!p6;Y;?^CPn5V~bI6%e+v;;nK>w1(_ z__?^c-~{?oLg->BLF|Naf)ineYLDA?ZQi_DSVdp~>_n)osYHHZow)5!*Mm=vp2;D= zM{mdynsN8eJfo!CM}!ytPZ)MW=wjFjqC~NZldFfVq!n=mDS({_c5^}v36NJ%E53To z`kW5PZe)-HzW#-LqqwYDR+z0@?^YqKu5c2>NgVZe{TVybdV8)-n>Gn00t=8!gzD-F zBd?%FTz~ZjgM0UEjyd2X{*45<<(hn2IlM%A@p1fILRg*QBuXx#c7z#vn^FKJ0=poW z6RNAqv7w+^?D%w^3~{XvP#YN>{Csr4tRVl%?{6XjJVaWR*cxqxu!>SOLko9tGKZ%@<6oB1|6|`OBNV7HD0)PFy&Klr zf>n&A1X)U)T=(nmWvKRC1qB6SxgwO8ml>OjD?~U@Y{&@kE!p#i+|4;5cY4(S9EG1e zw;JPpr6{dn@)Qbd6{h71VHIR4QLOjs@6g|^x9QrraidtS2xX5~9CEk1L<9O!IwfMpn`S3JUp`?s@-Cc`XGns<5)TRqz6~j&xC#P5m zT48;s-li1bTtpy%hr_1L6=?MpqdQuJXiEuvo-$NbRbo?74GK2b(!Z;Ta5XY{1oW)Z zPKf0S@_&K;PSu8L&y}B_FU~;(WP~6ml!~I_aYo> zz2EPT-|zG5 z;nuCHQ>V^3b?Vev?(JsrIiDwsh#a^+{+Q@N-1##@;J*g_NDhs7C`9*ppB(w1vFOQ> zt?N_SSWhOsE|chrwI{l})4AB1WGvI$9ZPk`T9z!2b)`F!4Z)yqj8?sL4$&gRqJu8S z-F9jFX;jQ_Odz@n9FO8o|2pn5T)S}*l?iUDdNaetKt2W$`24YG_2n$e{|a|aG7FzK z?j%~m$Zn!KHp0Nqexd+)G03$JO#4@KEMIkz@_?RKB;SxrUX%mfawP!Lq^-K%pyU%H zTHTPzX4*kX-F5@vhJFTD(Psv_t09x@Ohb_CO8arKuFvBt`ph7jRYVFJW4q$Rbu-CH zixv_+eGU<<_}}^rH~U5s`D$<<#rKtFd^GN+wVBzbW3zCH$|qQKGD<)>VXL=-XsFLs zH$D!x@F@*0(UTqvMqO2WobWlXOZ29X2U-)Y`AzK9v&}bRC#+cUwR4Ixr{hRIOS21k z(SI{2$Npd6dS{6}B-@epkX%RekKdNqgL5B? zJy_i_+hY=h**_ZjUa$wVVGrTj_CPpVgxMY#n#J~DHtZo>+a7MQ$FNd+u%N4tVW~Yhr%SXJ z>``6geW1i1lI=))aNeWZ<7*}M;M~Vz4_0@~_Lu@;w#SKlFZc(uVGrTj_V9>3hL_rd z1zmj%OYOlqU81#Mj|YbQn^j^D$#$eYIPX#I@p6ehIQOyGgVi0YJ>ty}hCS4Ms+rw{ zWrF31_v2PGMU(NZCDf%%O;Ty`%ZiC@OiZ_xIOAACxoYO->5wCS1#|LxuVkuF=v5_& zSC>#&w-jakYzei!gt~?)yL#7_Bz>+p>GQ?J7nndzF2=p6`9kKKuPD3uOy!#|gx!3R za}=7d>7wQfCvG=irN`~&t3!wHYJCk(qB& zk1Ee~*!4Ioo6bdH;Z+O96U;c38CdnyZoyKoxa^;E>I^BHQ{oQD#AkBZLs8zRP@WIv zIqJ(pj;h9xZdG~~*yCzUM|>r+r!g=1e6=H8X)LIGes{ei1bHp$c4pVG%xomN(pa_m z>VN+d7F{k^x(dV#HDr|W8gVq$FXf`Role?=yC3D6R(v&b*ZWP&;e=DPg3zUATaX>A zST=Kd4seam1?rCmYCGJX+s7dw1-*Tzfn~+#0oLgjc+>Mi)lPH8ooH`elPkRtbh$${ zbgoM& zgj)M!-N1X5uwC5gND^}tGY}{*S%QRkJF8yGxyvV*REfO7qP)wH08x>Gdf8i`KZ|7| zls*Ge4lT8;=25#GII(Zb@ue+!jEh5$q9vRXccUc;c-k^6kbrtvREIJ`s7Ll0$g|I* zQ4W_Z*c?h2PX2q=1!wfdJ*yy$mggVVfA8!8t}SG)3vz**-ckf{AOg?j7B?BOQMY)7h<7flgfZ-J$YVW+_>resSS_v{1 zyQyfcCw>+T7d>p&yEBUsN@|^%CAjSxJJ^h;M0|)DzW@mL{@D;M$SoJS<5cqYS`4>c z?7ZxL60e|GK4v_L{0e?zp{&e|cR}zIMb6BN#1Wd5f578(8Eo8fX5R={qfo_jktM^x zjKdl(iEUaB`ecVXj*AB%O|4*_*%w!SOAAB`!@49Fl{yL%_B3LrL((HBP+cg zGTSlv8SKfvs`#C30<8EBSF*FZYyCAua}HCDP4Xj%rx#F(N~59_H! zv2?GZLU3JQq36Ir9enu}z-YAs*v!3!G`5}@=UOVAX_l4xiQk}2T!%ROW?gwv;nDcl zk*C(sE~xcz*JrLl!{Y@#h<7Kc@g!}iuPbu*x)Hj7Xu1alD>F)o(KOuLSL2%MVC&0p zR3@1IcMJqotElE@xDDdks!tRuU2+K$2eXi-Hdw# zer?tJGcThAH9FKl9*42MEfrq*;-OFZE{a1UsO7OYjpN8r*tmgCAmb=sN5??@N z^+*P{T0H&vC7-*_nw{POISdK zEnn1M8+N&G445A6&+e+T{B9SPH-9y2&`yiSL)OQ#dc9Ys*L$X0=g`Z$SBsZ-$g9eA zQ}t+7?k&Y`h$#l{hM9q3dLv4xIy;Tf<>Q#)AXtGg+hXpO^m94EjE?n5TV1+sb5#Vj z98qU_1uNq)$}v^ejGAQ&RYaqj!+p0B`Z3p|?@Y5Mze@0!F16vX;=8z7F%;{s9qLZQ zT<8=}-$l54`ZfVNWaBnYcg~9?odcuWYun=&sJ62mdA>r_3tL-GMo-B$U@DIl*Pl=p z@2apK;*>ayT`LaZs~zMLhwz(jsn|Ge>c0*!wJxughR#*xjY4R?8fvlNR2E5}35soN z(kRpefmro@h4j71ctj@O{Rh#7=zo(Y+4a_SD!1z-x!jUV*9%TsSmASi+XqIBQ}x2) zMryi@sA*UVWK8De1|-ruv$b zU_{UXPr-Amt`SWe!FI>&=Q9Q!PvEiG7lyRjYZ8 z&G7?9#o6E>%nj)DawVabGf`P_U~!@IrMGZ_obNx754{jJ5i{MWnTnaxpNK@!fEkRI zJDPt2DR0koUexP%_@J`QFRvY zC%xCEPHq19F`WBYAU_X^MGDIJ81{ni#ZJO?>unp zkja$EIQF-Xi6*XAMCWKo(f*JAHse#g!1SfW(Kw=ycZ=XT0l6t@&)IxP;|sdnrpKGU z6e#_ zl_4Jo`D)C}P%yVl!$2zvgfBxRyAA1M`#FU}tPk#qg?1I6it!UEl*iAPW=hG0vaK4u zCTC08D=){*=_`?IkjckJzWk94*oeD6d#Mk72Au+Zhymi4%TO~tm)o1XYO@!q297wq zX8fC|Wx!M8j^C{iSNtx8NZl+#KN12-*sQzQ?5#((I*Str7IXMr!bRD>#Jv(w_mS@hJSWj7N;j*{Gv%;@gEoMVxDxQ&DqG(6b}P z-JHe{@okxII}kb$GwDHgpc{}dwx3htLFC$UYN^a$SOx(PGMo|*vCNE8nO9ln%Ob-m zaRj;AE$}(ztg5WPvdmXRhEw8YTtkj=Uq!u#!!Fr3A>nhGo980g)yFV>BjnQ%@NJn@ zs_iw_c9Ur1lz5m+oLwsOI?LQFGMo~RKn6!3e`EG7V8^kdtKEX*vEpjJ!Kt@OCQgZ0 za5Z^F`xX+gqFo3kuk##)6$r=maCRr8x!$+oZn^q)ac1nW9;}KfRW>?f99nS_G8hLG4kvqLA_o$ zg&Hp4qaUKVX69VDx|;CsL9QAe|4v$fv{=FS%xIBsG$`NjVGVm+<2curIi&{qcQy#x zivH)6IF>@S5?FZMi47i&WWCZ;R{GnJ^V!6AK=@r1aX6>1F5qyP73uE*T~<}&u87~u zOuqwz_xpH8p*xg1T4#yK$7)ti|wfU@E!#D%>>=4Mb1 zMTO1GU7&CX!-;CNLMQv$xw!L3>(1Pt*HMoc`{M#tZDt-RP$4t(>pWFA%*;FoN|jb0 zG&6tBQ*uOrHRS!ME>6oHz>S{>3F#0L3(X%ecPhe4_Ca9re`6ALVtby4`)IU1%CpjJ zEUzCzV&4w|EVGZbp*8Aw!sV(u%U2t7BUrlPKSD}v1;T_@`D4&kewM(F;U^#_-RH(4 z3Qr+^3POCsA}(_b%F6BrkIxJD;0`zb8Ez(g_hH<#djaB)0N~gQQ;QXUlo?pc)Z*OR zq#4jLmiu2Nq>3F02H02gGb{ZZ?se5x`VY9Lp9jdi&7LHDHKi7%v8K}?GsqZt&^&68p$?P_ zWhzm#FV3S95zCc*0a;ZWV`w9$fUsqyUj)-Wxz@rREc_A+ueHytHlF}3X8ey}Zm#9F zp<~d$uz;Gg`Z(R^8u3ws!!@MQM=xPz0zb5tG+X6o`^7%W5ar$4i!0^yZ$WH zJvzav!r7r8{l#+ErnJC_0Rm@lZf0ff%_rej+o;9OJ|=JEcSG2FxxQ8Tic1Hyh)x3S?Pl?MpYUE&zF7`Krsdv7(UscxMWKRy?vC{A#Uq$>KrZQIgAGoLAWpE#Wm3|Mf@chn; zw!)>u78VTeBPDNc&r2R;o=)ebzLTMbMYVfWpb5S!u^ki!f>l;|zVwdHwD=78q_^UAVrC3&C;^ZWstsy4kk? za_I_GZ1W;u9ELcd_Cm9d=`_NfFW{+L?}=Cu2d~Cl^^FS0a*UsSc;w8rLQJxG9;>Jl z4OPCEK9$#Yg12s*=@rSaqeyhHEjqy#)x{1*u~Ro;OK--xy$FF^8x`WvSsdb|{T$=| z@CVg?_Hniyri-xMK50ZRRs#HBQa=voQNk6qM+qM3GPykt^Rr#;u>wEVc2r}9`=~Hh z#C$SV;7h#q=v#>N&1_DIYw(jod^^YN`v5J%Jp3VU>5l+-X=x9iOD$QZnSJOQcnmM1 zN)~KK3O+7^PaGlGkUb1u|5E_@OvA0dkBjMiX-|V|_VLoCv^3aY*760j4E^S80QAPD zh6xRg6B;KXHWA*f?F8(p!+LWI(F?fmtOC9~mq~T6%d*5JEqG@boilpHa@q##!c}SX zX)ES~P1l2-5dl4`lOL?e$3zdEIbxUJ8v^-Hqmd79F=f#rT%&Mdf+Y(KA1?G0p+OYG z^(-!qH$hxua3Q{NR$7jW^P>u~xxorf&e4dz8)QB@hd%UP5O&cEK87p(4A*(j3YXJo z!<>4p@E`Y%4Y=qO|CEr6&hRnZAaIbtI)NVwyur(XHQm)cr_zbknyrw@D3 ziDHd+5QkiFU~c0>A%=Se9+c93qJMXQ^}juc;TwPv`lEaNAQxSScKK+P==_ewsqaA2 zNAE?s^k0WYf^(O&{dv*(8>#1l3YOd~dCv`TZBH1)@JAlbl@sgj^-N)Zq3`k15dDpw zMNpiJPM?#fRtaTsh(KCKC@1?1sH=o>^V1nnw+Q9sGgDCa3FT+60rg9vg1lb=HPyR6 zyaIC^ybaU|@ExY=Xe+4mBaa8?fT|}0)j8yUJeUNv4D~6ac_B_K2jzj}PNdz8CogLx z?dL&Gi&9dwY>8YCY836F+t9Kfo7bblqv&3t8ZAZrK&Tc?JtSHdgPIG;hsYXPM(8qF zVl?f=*eRnQK+_zIo?i-eDQq?e>$xX|nuog1p$YViP#{1}!sse!nM(VMs8i?_k>qvd z9GXjS3U!m{JdNHGszGeFm<|c`gy>vC9~9+VMjsXFT#ixA_1rExSCDCpq(d$b;1jL@ zV87tc3$FNM-37jqxwA;d>E^r@MKZ4=ugmp!=R)7g{^3=p1HR^GxYKjGZzTOHdy8M9WdKjlc44=aL90t{tp9`7OB1yoC3g&!0ngag&fFJmu z0hjeZgt83!M%eF}LSJ@n@I`To&YZEY2}=&(#!H^MY;4DF2;Z7 zKL@Fg3VbHaWo@)}gEJoWaY~5 zOMlc9>-13twnMf~A6+Vxs;7@WqbY8?kG`lV(dnaa=zOd*K!4K|>kQJEF$JAL`l3)* zc(z)dh=Mn2irXHfU5XN&L3&Wvg>{xwi>BC~<#ex5s_o_Ukfyc=?{}Be&lDv(%jsF2k9Ahk zh~o=7qtvP?))}Rr33UbX8HlvMETMiQ)D1Me;&J%*0Zlo}f9oGYf6G(P`-jp;nwn5? z&_4`YelG6@stz9X52q?k{VDi{e*_($r{49CrjzoN5s1@inre=C0yVTUPlW^Z)RCvE z1LG;9seM5sFp>H-H7-&eXrycNR5&o1Zqn3(s)PO$=`KxqDvUrg{XkQP$`AUd(q2tn z6g}uanf7UFc*U5&G}^BzXL)_#RC+T{O$p4T4>dKRVpd=_c~7w0J}b~dQBD0RI6p9l z#^tHjzz1~(_Bq8N7e_H(uzEl2`s1fJhdgTf;MPsUvPEcO!~B@#znRS&ZcYf zR3`8#`l_ZDRLu&UOW)9xr($*BJbFM=hstLKR@1|px+pp;kf5i8VxK6(Ox(;H06nJL zsYR$OFv714w9|c>TH)Fr=%6}YYSI<7!M#1Oo(>7MmAXPZ0vH2W5p&vW{xWR5Mri8b zAVguR6Y795C_EBWlTZhZhVU(cZb~Z3n~Y-PNjXiu6}%^qrtfOWr^+7)Y@nw#^-T1K zfegK`sk?$d3*@M#o=ZPyBqE2*UTV%$j|VnVk5Js&eSwSUTZ-~r<==oO5)Ueh_PDPM zTud%(qc}!3c@`UeRIaI0J!RBKBQx=*Rw9QB$C$pW>RDQB_9$bh4(Lk-rDF(mYN5v3#+yl~!o#jq)zi2e3UZbY34Vrl=c!omvxFfpX%i|A2ewm_ zrmBNXovW!o1#5!aDV?VpgP)^I^VBK9>*#t-HAiL#uO}>2L}znkVekgJC{L{jeu=hf zYG3e_;Fsz1ni>~b5&R16&QlA6H&WS&O3Q+(!-22Ta7}qCP6>XMCTi+X`QgA#G+k2{ zMVac+)XkE%Pg5H`oVH(6JQ{DJuQqcDYWBUE?hxt<>ItsGn)+U$Zt&b&o&fdJJay22 z3;jG#%?jK~PYb2y_nq{yrg%QOjRLaQy@9$tzjEA$;|MPA2D;z9F1U-DG_?oR9rUcG zo`|dq-bu4hR+1OF#yY-1twLQ#=NVnWyXX#`_DUodyocV>)ct`=gWsmUX`JsmdM|us z@H_N*O`Q|DGI%fDt*J%9D}(pbZcR-C^&mYf)D3i<``X|SsR;*YL|>p^Id=qqOmAuG zRc9{vQ~J_$mG+$T_TV1+hEO-qKKH%BhiS&CoOT2KEWF0?2(@bJG3QtZY%J7uber*5 z@aNdPv*dNuYwipFl2&Qzb!%VnNlw7$QRh?TH(F0A0@O3noz}iQbyx5k)^GC^M=2ac z$mdaKBJzje@AA|N*J1Pbd1{0Eu=!k`dd+{xe4ZYe!3>UPFB&h<(|PJZ@I`t}sDlP; z`6GR(Db{j;*3U#X#7NfiGTovnuJtQ)kEXcReHa-_*dE` z)E5RX3%?zFoxUxUT5G&c4+wP`t)+h;?bn+6iRBFaJITR1U54|E<3exJkl9?`W%N4L zgx;c2LMbh8Q;kl0*_aS|n_4ur!<-xX59-NFI&lKNU8n=bAF%#^hxTgfPtgRZ_#7@_ zE8T`Q^E=cc)B*47l^Z}UQk1c!oYR);wE8HgtN5J+NJH{qKFvx0z++}EUDfPea%hTc_AXhcNt*Yr%EiXJ+&wG6H4{NyOb45)$Cp3V^Oy596DsaOWQPc16>w+kA7N|?|pi_DBt_^ zTP^7@J`;MM4r=N|b4Tb9y{oBbt-C}2q~Y^a38y+A4}CyWG!--c9QugnXll9nkI-RS zuBlHstwA4CkEXVuW`=ROP^#9Zag9zJ<`_E2G`^lsb7H@|S14sqyiGh`ENHMjLE$vg z?rDc{f=~y%ODazsFF_$K2=f z8nL1@pApw-A43Z^qSznS58^ZN@gBy1=Vur(nWJz8l}uULK$+rPmsNo{rnMaR2la}~Em)lHAy4k(+NqpsFoLc-b=ncOHJ*is_zsmZkOt# zV$MJd7{ondYOhnaRZz97n4|2htjfMu>`?~Jl9)47YFV;K|H|Q>j39WekVrqP#jO~GTiAv9Z=CO9$Ul%{;_-S*- zA#xh@rtmrTs+i2@h6TRD9}F>PwD^3nWU;p6#GV|Dl^(kkmNDo9DTQOc(r?#-?{=z^ zDTP5i@d@Jfp&*_X1@TRjAolG+oDoIvG%SL?>npf6;2CBFR~N1t zTwlSp0pCaFGpjJ56EcjC1oUB3$>$a)37jc#zQAPy&lZ>vm=d@_;3mLItN>ZhR{)3N zNdn{F6SxnsjGm(g%=do^$4 zf05v=f{zjW4mrucLr(IqmQwDaz2&2gdvID?Z`>#NeS+VE)4)@}VR*Hitv+U?%3F;m zD*{(qO0{vqIt#$(2| z=${M+TK9o*z__s7FayRf+$Wk9!l@QGM&M&cb?DFLhd9wW1jsvzI`B_~{72DoR>0u1 zohGBl@<8YMswQw&xTabMjN_|jSarrGeg$7u}I`UB;IMX3eMV|wjMJk1~b+wRhh8{b#s1Z5A}-sIRr=LHks@cGUj;**>`#Ah~pXa{P@HlOBLg`~+mL!K>vbB=vytgJ{P6G|vCN=zhWAG4+b!t73Q+PUPP(4h65VUXay1x3tP} zz_=&)v^B)|V%2ZlLyU#)=iIl!-}VFk*#DaQF5qti{@DM4d!#uEJ-c1J{T+j!Ky4@X z?GI7zHP&|c@Kiwd!w;oLwiEZ@b~+SX>ex=~rSHhj*dVHO>WB=$vZ~!j*+}$OkVNVN!})tpY=4E{M@I>E2bM`G8SdwbFZ%=s#e*5Ix&-z_=GMVeE-q<(+B16};BF%)H9K*ys=q9VS1& z=@h(E%E}3zGx_OBr<9wMn%rh|xPRomL{cv?`N_xk&=nEYg9o5@cv&Nlzy zdBdA9fA4jU9gHtC1_t1R62wiPV=3K(RS!C`K{9BUhH77%+640cv zCg(lLWIb~PpAXzaD}=KH9FuMq_=v!L0$&vPSHO|jZGS7=fM1%J>TAGUxouDb-VD74 za5UWmSWEW@ z-A%XpSJP*KCxqWF{G{;vg}+t!mkIxJ;qMgwZNk4@_`8L(M>r1)=YZfZ3;t)xWfbRR82wx8Peg7W7UxgnLe7~fUlQqNy&JeiM$u`+7 zaKAuuF~{NJ+QtN*A#k<8eu3L0b*JFF1@0F}Zq6GMI78rSf&Bt^3fwJlzd-UxSsp1% z@R6Ro>8Dz>Z;e)6mE^!0-F_0-g|g z1@Kls4HrEE#|&pqzu?;h-zoTRf%^s02$t^{!M*tk;K$)@G1hs9z*hio^*cr~93!wr zV3{%7SZDMZpEGVZeqcOq%ryUII<1Y?4r`C~w)GFI#&M=&ouk*W$#JdYLC4dM=NvCP zg3e*iWzI>izq|IjA9Ir@>KW=e-*biMeNUtJBJXDJW!_i4fA@aiH4uvp>?$q1)!@XR z8@n1WpdUXy8pPiq>~6w<5$ruiU>`9OdyCQ78PyM(f&J8Y&m6#r$@uU5j4OUwS%I%) zF1HFYBPFl1NapiFmQO_&0Dcra9dNh*EWnkXRe7(O0lxGTCE@Zu`QKP{Y5LB@xb zrvR4<|KvypxW9t=fAn7nc)Ew-YZa_BUdiwtNmcmDiayO(w%~oM6PFu*ChXt^48kI& z?DY8k*+IZ7U>6e>!P~UhomB#kfQ?LwfrmMeh60X*wM@)KBLG*yb|z+|(SS*$8#vh? z3w#~E9b(XWK$B8Dx5N|W}{ser$wnSjq@)->rwoNJpnjXw?WT^t1m@y6H* zXva;)c)(kXiGaI|M!-9a$$)nnCjx%MI0^8Z#tCTay^tJ2_d#+9Jz$&+_#h;Q&_j?M zLO(K20sILhhtZ!PISlL6iGZ&frvknP$zk*cB!|(P#!SGsAUO^@;!{wUR@kYRF2@S< zi*yU!jbG>8OOMm<@gCXR^giDF8fr{778uKn^Nfsfg>j?tZR2OgGsde%jXBrsH6Jub zSasGC>k8{$>rv~lHQX`V(e3!MqsMu*^Fika&KB1?*X6F=t}*VF?#tXax$kyAv zQyPa&;6B>-5l$Wk^4vJFP(1s4?R7v5gOxd4t}rHt=jkI7|S4*%viR8JNf?^g=#A(if-XNC6Zbf1f3bE@x#K-tJLnO|3C1IiO|-?iiFV<7 z9@k*kCOXsg9$kd{9k`wczSh0aSnK{2zM1nmBk6gM?(}S;H$30LeUGuwdc??jA4A&X zxVXwo6PavsX(G3Nd2(G>vOAZZ-qF@Jc>+zFeo|Z8#0hP{PD|$IboX{8Gl^U}GkuNC zW`QXpusoSt)|rxnZ~73|I>Qr%+N3A8SmYnwKGJr|Ma&Z2Vghxr`nOcL=+G+WwEZW^r$d_$6E!mySq}s(tXZL0}8Z1t9 zC)Oo9TGwYVhURx5XJ=bmsymfSB|7uWnH?RJ%BmRNK`P>5YRD!#s10L_@AI?hf)w(9 zvY97LPqF7GJO8EB#3HF~go7ed8d^#hQ9Z>tVrdbHFo@Zvh|vR2DI&#treDz3HY?G7 z0V27oBx0OGS~IDxIo%z!B9mH}!W{|tw>X(wk6)RCZI)!tNMhn@Pg1HI<@96_%sYFt zGqcNkm?{3SqjqL6*0# zPXf(i!qDhCp!2iKlU!lVYRf9A7DVIL6vXu$NV7ZB-AO$t5iGcI95m?6^~p@W4ztt1 z=dbJLn<($zn8>6O-MQJlojDXjvlBgXSC-}QPbm?f&8TikQL`JA1(JjbRNN7UT+_R5 zT{1H(lfFSWJiI+ zGe@d3nUP@wJw-{XAU1bF{D{H}Np`8Nsa$am1SVN7NG%s9+Sg-gQOMMq!2F+^ixpV% z!gS_>LV{h;ycFu&UEt5TD3|QcVqsBW*#*xXFuy=o}%Yz4Ap=q?gI15qCS zE_{ru6t61^*=B8m`?MrC@ZyA8WvGdRE36H}9izKLQH5o7K@M?15g0ZKnKr$#t!*R6 zbx~BnxYnI$_r@ftB_Se1NAjX2Yh_U-ndc?CJ30}>s2ky=lruYtnj=LICEcn9-Q}Dz zC)=LrNn(5_)YL;Oy3wzttohk9lbxL$agrSfiCR$QEYLi{mt<1wc%`F7+R~-8z1X4F zG~%0z1zL1@@0zT9;gS|7a_#G>trOD|D!3eb15mk4LRz9oh^!Yo@vcWgm>^t(nQOA? zPK<70D2oXy2JW%*ElPH;L(U}`6p`pesL!66D$p36nVjOV%K2GaDH@BaGwj8cUUNQ4 z6tbP(?mC*=*_-KXSdmM0>Q2M1g+nCYR9XixsZx8olhz>Gt;pykoulA3RI)ddGI)I> z%@!oZl)tL}oa&|pX#m~#r{U|Vn6NLFF=R8(NUqge6JBZS?O$O5L8oQX zy*)+rfRzrNp3W`r?deHp5G&_g)Si@RKr=Jzu-C+BhCdd#s-tB@Wl~xE(5cL|9EwQA ze?j%spxGQL1m%8Mk<|pxS$U$Z*Jks63bWv*e1;w|7XH_x9@@~O+G00+QL1~xzh1hW zk3AH6_g@K3oSqlrX|+Jf@GT(=L{AaQic=Aw#^6wx@oyc4Mj| znUOZCysEia>A*L7)V?&ofWQvOZhN6W^9#g=qHWoOoyt?G3Y32+ki?-sF}mP#d~;?GY&vL>aZKsl1gAjlFg;svo_0)qH1O z&k{$Jd=Xd%$N>Y|gUtl5it@{jEUyQ<(%nT2-NCK+PqZ4&NUrPcOl0O-g=Tel#-Y64BN-j%k z&X)E2%q%bF?Z}-&8@q8DL2AXV_hAUi95`*4C~8lBD8Y$f0mLf8>?*70C2Q9*neJ(u z--Rt>dkXn^>nJABt0P23-Zf-w5+l0}D?&NglaQY$RF~#S^k*J#TWjYy!Z5m7MTUV^ zrF~BK##AQV&5`?P?b3V6;`SYDsL)%_W7Rq!Nc{J5+u`9~S{#3evWoNp(UhV}TaqAoO&^6S`m{ZPejOmT7re-)R>TL<#dkYkG0t(84+?2!_a;4NaR8!ZB^pY>3M-0{B+-yZs(q*^ zqqZAMemP>4vS#+;JRpOO0nS2rsk0h6lY5BOni61#M_Tg=d7@ms7@Z=~4d;-2Z zSO=_|4{-1t$>vW4KZa{F9yh8y)9|h(7Qgsw#gnuIa%7<=0Xzvjhv!fo8cX4cT?%*x z+HHMyIUA9q6Hlv-TGA)hj>}0wpRKK^cI*Ck*6#m|6(;8EeN0w3#qOgFo?#x@Q|n;6 z9RAq8N3lopf2TcEZylu+YaGAyYt6u;J$ymWIi7zh#=_-aFLmpIZ;<;!K)&~)rYZcs zgYvei@H*~4a!*CB;ylna!p^VKxRqV70l%S?21XS!t{w}#q7)MmE;~vli-JB z)#AdJ?JPW%_bb1}KnESeHI`^{9HrFYx$g=19gjGkIDZPc>hWZFCg5E7Up>6~T-1FM z>V5*gjXMU=aHsLj=JTN;jUO*O56`Z%(D5leqaFp>T1XXel{SV9e=GdI2csZ~n#`A; z?1DuK_@pAd5iM81k=OQD@~_N~EAkh{7+Ls|A}r9zUkwvWKp#H$ zC00-W>^V2j{@UKFel%t6wclea7><}>c$@&?N=8G@n28r$g)!d|qsRtlWn__2&5U6o zUu9&IQ5oKBhN}IQk^Ze32m4%&Lb}DMc0oGQe+~4TF34SOR6|ucmsbsebB$_m4BylR zznoNhNZ27(db!pV0DhOk%ZZ5>Z30rdILY1uEnw-2DOp`JMcig*L|OAxk&AHiR7N~z zIh7lh3srNK8$P#Tv)m}}0A%n+y~f-zlZ8pA7%+$j#k)lV0NNHZ%MCACp-BH5pL$rG*QXWFe`#4>@Zcg z2@E%LFINv9TxObV%i(A@AUAb~Ih=+YgM6jpY<_LUaI+VhS-zYcZXBGvful@Nc>4*W=z#V9xbMI+=O*b1gY zx3V}_GZgMWBtq3h2ndPD!()q^Mb-O~Q$ue%Y12+$TIn4+LQA?nl z4L50Ir2kuZi3$DMe`pZu6zSsPl)8}H5$?Y~-2ZQp{vSvB_c-w)*H$lDAL8MS_{KNs zpzzip?w%0tXqyMVMQ%xVj~u4LF3U>~ACSrst&mzhlV zZkOqaG$B${b0bwJM!I<2vctrn!qTSt=##358V(;if=AIRr`zJV1hj(()Yg&QXc}Gm%#lrR+>Q%y+{-g-Z=ay?27qcEy z8h1m;bhr@M!ReGq3>h0Y?%RFp(2j1YDwe^+d1q$GKbon zqr@h*5?mL}iFD!GfNuhdh4}!%DM#LzgA~ug!Gg`gP&P4tTajs@Y7?^=?!&5mauTLQK~J~ z4hU2uMG0WV5(hbH@VyLwVjcuaEY`UGQW`=jBA78q z8`2(56?fJ0c^>{o-&xB;iM%)jU;=F96G%%vdQPjJBH5Gx0{>>HIuH zKgz@lQFyP!fE)({oOBrEQx9owa!9G*T(NvgOr)`7^|z)wI%12H-FRCQ|8IdoZan@^;>i(FyFus8jIG5h0^PZ~ z7$2wd+bA)-K^9xno9e`)z=l|BI@XoAAQ_w2+PXB>jyDdovGm%tvE2Hk&KPT7pGbAr z;g)Q_AeQdU#R|>AkCbtNjreWkNewu@X*8%oh}yA-o7zuoYHw_Bnv$HfH6$MBNg9Km@WkM*e^ujcboNu z(v99n27DtjKfhRb=!cUfsF3IRgx_@LG_5*XBw3`7D>SsF=HJO!yp*Mv;mX~K>ncuB zAFg#duH$h%g0x49(pVz@6BA6}bH?(P<$G668u{#3ADH#vEBpHV$4|bSbN(w2!XpPUf1XOjHRCJsoTCqd+q!O`bwp=g(}NT<_0Z z_vVx-WncQ;1ui!Yd6tT_SZQ;KV>xmuB7F7s<0B@usH+R zd|HBEc4)&Lzh()XKR0=YU~ciJ1q6O?2Iry~=t;?W>wKIE zuf<6+f5yn*DLl*Qgk%nKX~?M0cO4UWo{7PK(uF6HbI-1N`1| z8}iPUb8GuF8t2V8PmZAu>KO>1Q1jE59!O5w7-ZJsF9x0KMXI<&mRt|n6k5uqGnE9qK=Sn> zPYmtk8fE|+Py#=1;8S@1G~<7;vD?Mx=-oJ*&Ywslo$J?uzZm{!H9mt^Pl5=)Yk@Ul z-hM4e%c4wvGSCC<1-lnYCfE@RvV5ME$b;8Oiewv6rwO! z6?8YChHNW*&kdeqz}EcKfTg*|deA1W**aJTvjEzHueONpC7RE+V`{=w;C}&v+{`lo literal 0 HcmV?d00001 diff --git a/packages/Flurl.3.0.2/lib/net461/Flurl.pdb b/packages/Flurl.3.0.2/lib/net461/Flurl.pdb new file mode 100755 index 0000000000000000000000000000000000000000..5d89fb39586793d537c4919facc42c81417d5cc4 GIT binary patch literal 10720 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 literal 0 HcmV?d00001 diff --git a/packages/Flurl.3.0.2/lib/net461/Flurl.xml b/packages/Flurl.3.0.2/lib/net461/Flurl.xml new file mode 100755 index 0000000..646f70f --- /dev/null +++ b/packages/Flurl.3.0.2/lib/net461/Flurl.xml @@ -0,0 +1,883 @@ + + + + Flurl + + + +

+ Fluent URL-building extension methods on String and Uri. + + + + + Creates a new Url object from the string and appends a segment to the URL path, ensuring there is one and only one '/' character as a separator. + + This URL. + The segment to append + If true, URL-encodes reserved characters such as '/', '+', and '%'. Otherwise, only encodes strictly illegal characters (including '%' but only when not followed by 2 hex characters). + A new Flurl.Url object. + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a separator. + + This URL. + The segments to append + A new Flurl.Url object. + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a separator. + + This URL. + The segments to append + A new Flurl.Url object. + + + + Removes the last path segment from the URL. + + This URL. + A new Flurl.Url object. + + + + Removes the entire path component of the URL. + + This URL. + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter to the query, overwriting the value if name exists. + + This URL. + Name of query parameter + Value of query parameter + Indicates how to handle null values. Defaults to Remove (any existing) + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter to the query, overwriting the value if name exists. + + This URL. + Name of query parameter + Value of query parameter + Set to true to indicate the value is already URL-encoded. Defaults to false. + Indicates how to handle null values. Defaults to Remove (any existing). + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter without a value to the query, removing any existing value. + + This URL. + Name of query parameter + A new Flurl.Url object. + + + + Creates a new Url object from the string, parses values object into name/value pairs, and adds them to the query, overwriting any that already exist. + + This URL. + Typically an anonymous object, ie: new { x = 1, y = 2 } + Indicates how to handle null values. Defaults to Remove (any existing) + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds multiple parameters without values to the query. + + This URL. + Names of query parameters. + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds multiple parameters without values to the query. + + This URL. + Names of query parameters + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes a name/value pair from the query by name. + + This URL. + Query string parameter name to remove + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes multiple name/value pairs from the query by name. + + This URL. + Query string parameter names to remove + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes multiple name/value pairs from the query by name. + + This URL. + Query string parameter names to remove + A new Flurl.Url object. + + + + Removes the entire query component of the URL. + + This URL. + A new Flurl.Url object. + + + + Set the URL fragment fluently. + + This URL. + The part of the URL after # + A new Flurl.Url object. + + + + Removes the URL fragment including the #. + + This URL. + A new Flurl.Url object. + + + + Trims the URL to its root, including the scheme, any user info, host, and port (if specified). + + This URL. + A new Flurl.Url object. + + + + Creates a new Url object from the string and appends a segment to the URL path, ensuring there is one and only one '/' character as a separator. + + This System.Uri. + The segment to append + If true, URL-encodes reserved characters such as '/', '+', and '%'. Otherwise, only encodes strictly illegal characters (including '%' but only when not followed by 2 hex characters). + A new Flurl.Url object. + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a separator. + + This System.Uri. + The segments to append + A new Flurl.Url object. + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a separator. + + This System.Uri. + The segments to append + A new Flurl.Url object. + + + + Removes the last path segment from the URL. + + This System.Uri. + A new Flurl.Url object. + + + + Removes the entire path component of the URL. + + This System.Uri. + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter to the query, overwriting the value if name exists. + + This System.Uri. + Name of query parameter + Value of query parameter + Indicates how to handle null values. Defaults to Remove (any existing) + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter to the query, overwriting the value if name exists. + + This System.Uri. + Name of query parameter + Value of query parameter + Set to true to indicate the value is already URL-encoded. Defaults to false. + Indicates how to handle null values. Defaults to Remove (any existing). + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter without a value to the query, removing any existing value. + + This System.Uri. + Name of query parameter + A new Flurl.Url object. + + + + Creates a new Url object from the string, parses values object into name/value pairs, and adds them to the query, overwriting any that already exist. + + This System.Uri. + Typically an anonymous object, ie: new { x = 1, y = 2 } + Indicates how to handle null values. Defaults to Remove (any existing) + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds multiple parameters without values to the query. + + This System.Uri. + Names of query parameters. + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds multiple parameters without values to the query. + + This System.Uri. + Names of query parameters + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes a name/value pair from the query by name. + + This System.Uri. + Query string parameter name to remove + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes multiple name/value pairs from the query by name. + + This System.Uri. + Query string parameter names to remove + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes multiple name/value pairs from the query by name. + + This System.Uri. + Query string parameter names to remove + A new Flurl.Url object. + + + + Removes the entire query component of the URL. + + This System.Uri. + A new Flurl.Url object. + + + + Set the URL fragment fluently. + + This System.Uri. + The part of the URL after # + A new Flurl.Url object. + + + + Removes the URL fragment including the #. + + This System.Uri. + A new Flurl.Url object. + + + + Trims the URL to its root, including the scheme, any user info, host, and port (if specified). + + This System.Uri. + A new Flurl.Url object. + + + + Describes how to handle null values in query parameters. + + + + + Set as name without value in query string. + + + + + Don't add to query string, remove any existing value. + + + + + Don't add to query string, but leave any existing value unchanged. + + + + + Represents a URL query as a collection of name/value pairs. Insertion order is preserved. + + + + + Returns a new instance of QueryParamCollection + + Optional query string to parse. + + + + Returns serialized, encoded query string. Insertion order is preserved. + + + + + + Returns serialized, encoded query string. Insertion order is preserved. + + + + + + Appends a query parameter. If value is a collection type (array, IEnumerable, etc.), multiple parameters are added, i.e. x=1&x=2. + To overwrite existing parameters of the same name, use AddOrReplace instead. + + Name of the parameter. + Value of the parameter. If it's a collection, multiple parameters of the same name are added. + If true, assume value(s) already URL-encoded. + Describes how to handle null values. + + + + Replaces existing query parameter(s) or appends to the end. If value is a collection type (array, IEnumerable, etc.), + multiple parameters are added, i.e. x=1&x=2. If any of the same name already exist, they are overwritten one by one + (preserving order) and any remaining are appended to the end. If fewer values are specified than already exist, + remaining existing values are removed. + + Name of the parameter. + Value of the parameter. If it's a collection, multiple parameters of the same name are added/replaced. + If true, assume value(s) already URL-encoded. + Describes how to handle null values. + + + + Removes all query parameters of the given name. + + + + + Clears all query parameters from this collection. + + + + > + + + > + + + > + + + > + + + > + + + > + + + > + + + > + + + + Represents a query parameter value with the ability to track whether it was already encoded when created. + + + + + A mutable object for fluently building and parsing URLs. + + + + + The scheme of the URL, i.e. "http". Does not include ":" delimiter. Empty string if the URL is relative. + + + + + i.e. "user:pass" in "https://user:pass@www.site.com". Empty string if not present. + + + + + i.e. "www.site.com" in "https://www.site.com:8080/path". Does not include user info or port. + + + + + Port number of the URL. Null if not explicitly specified. + + + + + i.e. "www.site.com:8080" in "https://www.site.com:8080/path". Includes both user info and port, if included. + + + + + i.e. "https://www.site.com:8080" in "https://www.site.com:8080/path" (everything before the path). + + + + + i.e. "/path" in "https://www.site.com/path". Empty string if not present. Leading and trailing "/" retained exactly as specified by user. + + + + + The "/"-delimited segments of the path, not including leading or trailing "/" characters. + + + + + i.e. "x=1&y=2" in "https://www.site.com/path?x=1&y=2". Does not include "?". + + + + + Query parsed to name/value pairs. + + + + + i.e. "frag" in "https://www.site.com/path?x=y#frag". Does not include "#". + + + + + True if URL does not start with a non-empty scheme. i.e. true for "https://www.site.com", false for "//www.site.com". + + + + + True if Url is absolute and scheme is https or wss. + + + + + Constructs a Url object from a string. + + The URL to use as a starting point. + + + + Constructs a Url object from a System.Uri. + + The System.Uri (required) + is . + + + + Parses a URL string into a Flurl.Url object. + + + + + Parses a URL query to a QueryParamCollection. + + The URL query to parse. + + + + Splits the given path into segments, encoding illegal characters, "?", and "#". + + The path to split. + + + + + Appends a segment to the URL path, ensuring there is one and only one '/' character as a separator. + + The segment to append + If true, URL-encodes reserved characters such as '/', '+', and '%'. Otherwise, only encodes strictly illegal characters (including '%' but only when not followed by 2 hex characters). + the Url object with the segment appended + is . + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a seperator. + + The segments to append + the Url object with the segments appended + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a seperator. + + The segments to append + the Url object with the segments appended + + + + Removes the last path segment from the URL. + + The Url object. + + + + Removes the entire path component of the URL, including the leading slash. + + The Url object. + + + + Adds a parameter to the query, overwriting the value if name exists. + + Name of query parameter + Value of query parameter + Indicates how to handle null values. Defaults to Remove (any existing) + The Url object with the query parameter added + + + + Adds a parameter to the query, overwriting the value if name exists. + + Name of query parameter + Value of query parameter + Set to true to indicate the value is already URL-encoded + Indicates how to handle null values. Defaults to Remove (any existing) + The Url object with the query parameter added + is . + + + + Adds a parameter without a value to the query, removing any existing value. + + Name of query parameter + The Url object with the query parameter added + + + + Parses values (usually an anonymous object or dictionary) into name/value pairs and adds them to the query, overwriting any that already exist. + + Typically an anonymous object, ie: new { x = 1, y = 2 } + Indicates how to handle null values. Defaults to Remove (any existing) + The Url object with the query parameters added + + + + Adds multiple parameters without values to the query. + + Names of query parameters. + The Url object with the query parameter added + + + + Adds multiple parameters without values to the query. + + Names of query parameters + The Url object with the query parameter added. + + + + Removes a name/value pair from the query by name. + + Query string parameter name to remove + The Url object with the query parameter removed + + + + Removes multiple name/value pairs from the query by name. + + Query string parameter names to remove + The Url object. + + + + Removes multiple name/value pairs from the query by name. + + Query string parameter names to remove + The Url object with the query parameters removed + + + + Removes the entire query component of the URL. + + The Url object. + + + + Set the URL fragment fluently. + + The part of the URL after # + The Url object with the new fragment set + + + + Removes the URL fragment including the #. + + The Url object with the fragment removed + + + + Resets the URL to its root, including the scheme, any user info, host, and port (if specified). + + The Url object trimmed to its root. + + + + Resets the URL to its original state as set in the constructor. + + + + + Creates a copy of this Url. + + + + + Converts this Url object to its string representation. + + Indicates whether to encode spaces with the "+" character instead of "%20" + + + + + Converts this Url object to its string representation. + + + + + + Converts this Url object to System.Uri + + The System.Uri object + + + + Implicit conversion from Url to String. + + The Url object + The string + + + + Implicit conversion from String to Url. + + The String representation of the URL + The string + + + + Implicit conversion from System.Uri to Flurl.Url. + + The string + + + + True if obj is an instance of Url and its string representation is equal to this instance's string representation. + + The object to compare to this instance. + + + + + Returns the hashcode for this Url. + + + + + Basically a Path.Combine for URLs. Ensures exactly one '/' separates each segment, + and exactly on '&' separates each query parameter. + URL-encodes illegal characters but not reserved characters. + + URL parts to combine. + + + + Decodes a URL-encoded string. + + The URL-encoded string. + If true, any '+' character will be decoded to a space. + + + + + URL-encodes a string, including reserved characters such as '/' and '?'. + + The string to encode. + If true, spaces will be encoded as + signs. Otherwise, they'll be encoded as %20. + The encoded URL. + + + + URL-encodes characters in a string that are neither reserved nor unreserved. Avoids encoding reserved characters such as '/' and '?'. Avoids encoding '%' if it begins a %-hex-hex sequence (i.e. avoids double-encoding). + + The string to encode. + If true, spaces will be encoded as + signs. Otherwise, they'll be encoded as %20. + The encoded URL. + + + + Checks if a string is a well-formed absolute URL. + + The string to check + true if the string is a well-formed absolute URL + + + + CommonExtensions for objects. + + + + + Returns a key-value-pairs representation of the object. + For strings, URL query string format assumed and pairs are parsed from that. + For objects that already implement IEnumerable<KeyValuePair>, the object itself is simply returned. + For all other objects, all publicly readable properties are extracted and returned as pairs. + + The object to parse into key-value pairs + + is . + + + + Returns a string that represents the current object, using CultureInfo.InvariantCulture where possible. + Dates are represented in IS0 8601. + + + + + Splits at the first occurrence of the given separator. + + The string to split. + The separator to split on. + Array of at most 2 strings. (1 if separator is not found.) + + + + Merges the key/value pairs from d2 into d1, without overwriting those already set in d1. + + + + + Strips any single quotes or double quotes from the beginning and end of a string. + + + + + True if the given string is a valid IPv4 address. + + + + + Defines common methods for INameValueList and IReadOnlyNameValueList. + + + + + Returns the first Value of the given Name if one exists, otherwise null or default value. + + + + + Gets the first Value of the given Name, if one exists. + + true if any item of the given name is found, otherwise false. + + + + Gets all Values of the given Name. + + + + + True if any items with the given Name exist. + + + + + True if any item with the given Name and Value exists. + + + + + Defines an ordered collection of Name/Value pairs where duplicate names are allowed but aren't typical. + + + + + Adds a new Name/Value pair. + + + + + Replaces the first occurrence of the given Name with the given Value and removes any others, + or adds a new Name/Value pair if none exist. + + + + + Removes all items of the given Name. + + true if any item of the given name is found, otherwise false. + + + + Defines a read-only ordered collection of Name/Value pairs where duplicate names are allowed but aren't typical. + + + + + An ordered collection of Name/Value pairs where duplicate names are allowed but aren't typical. + Useful for things where a dictionary would work great if not for those pesky edge cases (headers, cookies, etc). + + + + + Instantiates a new empty NameValueList. + + + + + Instantiates a new NameValueList with the Name/Value pairs provided. + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/Flurl.3.0.2/lib/net472/Flurl.dll b/packages/Flurl.3.0.2/lib/net472/Flurl.dll new file mode 100755 index 0000000000000000000000000000000000000000..8a4777f312611f1672a2d21cf95546020001d74e GIT binary patch literal 37376 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 literal 0 HcmV?d00001 diff --git a/packages/Flurl.3.0.2/lib/net472/Flurl.pdb b/packages/Flurl.3.0.2/lib/net472/Flurl.pdb new file mode 100755 index 0000000000000000000000000000000000000000..74f65a2a7d67667cce3d65b3f6c8fa991badd09f GIT binary patch literal 10732 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 ZnB|o3Z&}jH5NfiIbXO?JENNBV{{n|sz90Yq literal 0 HcmV?d00001 diff --git a/packages/Flurl.3.0.2/lib/net472/Flurl.xml b/packages/Flurl.3.0.2/lib/net472/Flurl.xml new file mode 100755 index 0000000..646f70f --- /dev/null +++ b/packages/Flurl.3.0.2/lib/net472/Flurl.xml @@ -0,0 +1,883 @@ + + + + Flurl + + + + + Fluent URL-building extension methods on String and Uri. + + + + + Creates a new Url object from the string and appends a segment to the URL path, ensuring there is one and only one '/' character as a separator. + + This URL. + The segment to append + If true, URL-encodes reserved characters such as '/', '+', and '%'. Otherwise, only encodes strictly illegal characters (including '%' but only when not followed by 2 hex characters). + A new Flurl.Url object. + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a separator. + + This URL. + The segments to append + A new Flurl.Url object. + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a separator. + + This URL. + The segments to append + A new Flurl.Url object. + + + + Removes the last path segment from the URL. + + This URL. + A new Flurl.Url object. + + + + Removes the entire path component of the URL. + + This URL. + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter to the query, overwriting the value if name exists. + + This URL. + Name of query parameter + Value of query parameter + Indicates how to handle null values. Defaults to Remove (any existing) + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter to the query, overwriting the value if name exists. + + This URL. + Name of query parameter + Value of query parameter + Set to true to indicate the value is already URL-encoded. Defaults to false. + Indicates how to handle null values. Defaults to Remove (any existing). + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter without a value to the query, removing any existing value. + + This URL. + Name of query parameter + A new Flurl.Url object. + + + + Creates a new Url object from the string, parses values object into name/value pairs, and adds them to the query, overwriting any that already exist. + + This URL. + Typically an anonymous object, ie: new { x = 1, y = 2 } + Indicates how to handle null values. Defaults to Remove (any existing) + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds multiple parameters without values to the query. + + This URL. + Names of query parameters. + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds multiple parameters without values to the query. + + This URL. + Names of query parameters + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes a name/value pair from the query by name. + + This URL. + Query string parameter name to remove + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes multiple name/value pairs from the query by name. + + This URL. + Query string parameter names to remove + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes multiple name/value pairs from the query by name. + + This URL. + Query string parameter names to remove + A new Flurl.Url object. + + + + Removes the entire query component of the URL. + + This URL. + A new Flurl.Url object. + + + + Set the URL fragment fluently. + + This URL. + The part of the URL after # + A new Flurl.Url object. + + + + Removes the URL fragment including the #. + + This URL. + A new Flurl.Url object. + + + + Trims the URL to its root, including the scheme, any user info, host, and port (if specified). + + This URL. + A new Flurl.Url object. + + + + Creates a new Url object from the string and appends a segment to the URL path, ensuring there is one and only one '/' character as a separator. + + This System.Uri. + The segment to append + If true, URL-encodes reserved characters such as '/', '+', and '%'. Otherwise, only encodes strictly illegal characters (including '%' but only when not followed by 2 hex characters). + A new Flurl.Url object. + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a separator. + + This System.Uri. + The segments to append + A new Flurl.Url object. + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a separator. + + This System.Uri. + The segments to append + A new Flurl.Url object. + + + + Removes the last path segment from the URL. + + This System.Uri. + A new Flurl.Url object. + + + + Removes the entire path component of the URL. + + This System.Uri. + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter to the query, overwriting the value if name exists. + + This System.Uri. + Name of query parameter + Value of query parameter + Indicates how to handle null values. Defaults to Remove (any existing) + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter to the query, overwriting the value if name exists. + + This System.Uri. + Name of query parameter + Value of query parameter + Set to true to indicate the value is already URL-encoded. Defaults to false. + Indicates how to handle null values. Defaults to Remove (any existing). + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter without a value to the query, removing any existing value. + + This System.Uri. + Name of query parameter + A new Flurl.Url object. + + + + Creates a new Url object from the string, parses values object into name/value pairs, and adds them to the query, overwriting any that already exist. + + This System.Uri. + Typically an anonymous object, ie: new { x = 1, y = 2 } + Indicates how to handle null values. Defaults to Remove (any existing) + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds multiple parameters without values to the query. + + This System.Uri. + Names of query parameters. + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds multiple parameters without values to the query. + + This System.Uri. + Names of query parameters + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes a name/value pair from the query by name. + + This System.Uri. + Query string parameter name to remove + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes multiple name/value pairs from the query by name. + + This System.Uri. + Query string parameter names to remove + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes multiple name/value pairs from the query by name. + + This System.Uri. + Query string parameter names to remove + A new Flurl.Url object. + + + + Removes the entire query component of the URL. + + This System.Uri. + A new Flurl.Url object. + + + + Set the URL fragment fluently. + + This System.Uri. + The part of the URL after # + A new Flurl.Url object. + + + + Removes the URL fragment including the #. + + This System.Uri. + A new Flurl.Url object. + + + + Trims the URL to its root, including the scheme, any user info, host, and port (if specified). + + This System.Uri. + A new Flurl.Url object. + + + + Describes how to handle null values in query parameters. + + + + + Set as name without value in query string. + + + + + Don't add to query string, remove any existing value. + + + + + Don't add to query string, but leave any existing value unchanged. + + + + + Represents a URL query as a collection of name/value pairs. Insertion order is preserved. + + + + + Returns a new instance of QueryParamCollection + + Optional query string to parse. + + + + Returns serialized, encoded query string. Insertion order is preserved. + + + + + + Returns serialized, encoded query string. Insertion order is preserved. + + + + + + Appends a query parameter. If value is a collection type (array, IEnumerable, etc.), multiple parameters are added, i.e. x=1&x=2. + To overwrite existing parameters of the same name, use AddOrReplace instead. + + Name of the parameter. + Value of the parameter. If it's a collection, multiple parameters of the same name are added. + If true, assume value(s) already URL-encoded. + Describes how to handle null values. + + + + Replaces existing query parameter(s) or appends to the end. If value is a collection type (array, IEnumerable, etc.), + multiple parameters are added, i.e. x=1&x=2. If any of the same name already exist, they are overwritten one by one + (preserving order) and any remaining are appended to the end. If fewer values are specified than already exist, + remaining existing values are removed. + + Name of the parameter. + Value of the parameter. If it's a collection, multiple parameters of the same name are added/replaced. + If true, assume value(s) already URL-encoded. + Describes how to handle null values. + + + + Removes all query parameters of the given name. + + + + + Clears all query parameters from this collection. + + + + > + + + > + + + > + + + > + + + > + + + > + + + > + + + > + + + + Represents a query parameter value with the ability to track whether it was already encoded when created. + + + + + A mutable object for fluently building and parsing URLs. + + + + + The scheme of the URL, i.e. "http". Does not include ":" delimiter. Empty string if the URL is relative. + + + + + i.e. "user:pass" in "https://user:pass@www.site.com". Empty string if not present. + + + + + i.e. "www.site.com" in "https://www.site.com:8080/path". Does not include user info or port. + + + + + Port number of the URL. Null if not explicitly specified. + + + + + i.e. "www.site.com:8080" in "https://www.site.com:8080/path". Includes both user info and port, if included. + + + + + i.e. "https://www.site.com:8080" in "https://www.site.com:8080/path" (everything before the path). + + + + + i.e. "/path" in "https://www.site.com/path". Empty string if not present. Leading and trailing "/" retained exactly as specified by user. + + + + + The "/"-delimited segments of the path, not including leading or trailing "/" characters. + + + + + i.e. "x=1&y=2" in "https://www.site.com/path?x=1&y=2". Does not include "?". + + + + + Query parsed to name/value pairs. + + + + + i.e. "frag" in "https://www.site.com/path?x=y#frag". Does not include "#". + + + + + True if URL does not start with a non-empty scheme. i.e. true for "https://www.site.com", false for "//www.site.com". + + + + + True if Url is absolute and scheme is https or wss. + + + + + Constructs a Url object from a string. + + The URL to use as a starting point. + + + + Constructs a Url object from a System.Uri. + + The System.Uri (required) + is . + + + + Parses a URL string into a Flurl.Url object. + + + + + Parses a URL query to a QueryParamCollection. + + The URL query to parse. + + + + Splits the given path into segments, encoding illegal characters, "?", and "#". + + The path to split. + + + + + Appends a segment to the URL path, ensuring there is one and only one '/' character as a separator. + + The segment to append + If true, URL-encodes reserved characters such as '/', '+', and '%'. Otherwise, only encodes strictly illegal characters (including '%' but only when not followed by 2 hex characters). + the Url object with the segment appended + is . + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a seperator. + + The segments to append + the Url object with the segments appended + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a seperator. + + The segments to append + the Url object with the segments appended + + + + Removes the last path segment from the URL. + + The Url object. + + + + Removes the entire path component of the URL, including the leading slash. + + The Url object. + + + + Adds a parameter to the query, overwriting the value if name exists. + + Name of query parameter + Value of query parameter + Indicates how to handle null values. Defaults to Remove (any existing) + The Url object with the query parameter added + + + + Adds a parameter to the query, overwriting the value if name exists. + + Name of query parameter + Value of query parameter + Set to true to indicate the value is already URL-encoded + Indicates how to handle null values. Defaults to Remove (any existing) + The Url object with the query parameter added + is . + + + + Adds a parameter without a value to the query, removing any existing value. + + Name of query parameter + The Url object with the query parameter added + + + + Parses values (usually an anonymous object or dictionary) into name/value pairs and adds them to the query, overwriting any that already exist. + + Typically an anonymous object, ie: new { x = 1, y = 2 } + Indicates how to handle null values. Defaults to Remove (any existing) + The Url object with the query parameters added + + + + Adds multiple parameters without values to the query. + + Names of query parameters. + The Url object with the query parameter added + + + + Adds multiple parameters without values to the query. + + Names of query parameters + The Url object with the query parameter added. + + + + Removes a name/value pair from the query by name. + + Query string parameter name to remove + The Url object with the query parameter removed + + + + Removes multiple name/value pairs from the query by name. + + Query string parameter names to remove + The Url object. + + + + Removes multiple name/value pairs from the query by name. + + Query string parameter names to remove + The Url object with the query parameters removed + + + + Removes the entire query component of the URL. + + The Url object. + + + + Set the URL fragment fluently. + + The part of the URL after # + The Url object with the new fragment set + + + + Removes the URL fragment including the #. + + The Url object with the fragment removed + + + + Resets the URL to its root, including the scheme, any user info, host, and port (if specified). + + The Url object trimmed to its root. + + + + Resets the URL to its original state as set in the constructor. + + + + + Creates a copy of this Url. + + + + + Converts this Url object to its string representation. + + Indicates whether to encode spaces with the "+" character instead of "%20" + + + + + Converts this Url object to its string representation. + + + + + + Converts this Url object to System.Uri + + The System.Uri object + + + + Implicit conversion from Url to String. + + The Url object + The string + + + + Implicit conversion from String to Url. + + The String representation of the URL + The string + + + + Implicit conversion from System.Uri to Flurl.Url. + + The string + + + + True if obj is an instance of Url and its string representation is equal to this instance's string representation. + + The object to compare to this instance. + + + + + Returns the hashcode for this Url. + + + + + Basically a Path.Combine for URLs. Ensures exactly one '/' separates each segment, + and exactly on '&' separates each query parameter. + URL-encodes illegal characters but not reserved characters. + + URL parts to combine. + + + + Decodes a URL-encoded string. + + The URL-encoded string. + If true, any '+' character will be decoded to a space. + + + + + URL-encodes a string, including reserved characters such as '/' and '?'. + + The string to encode. + If true, spaces will be encoded as + signs. Otherwise, they'll be encoded as %20. + The encoded URL. + + + + URL-encodes characters in a string that are neither reserved nor unreserved. Avoids encoding reserved characters such as '/' and '?'. Avoids encoding '%' if it begins a %-hex-hex sequence (i.e. avoids double-encoding). + + The string to encode. + If true, spaces will be encoded as + signs. Otherwise, they'll be encoded as %20. + The encoded URL. + + + + Checks if a string is a well-formed absolute URL. + + The string to check + true if the string is a well-formed absolute URL + + + + CommonExtensions for objects. + + + + + Returns a key-value-pairs representation of the object. + For strings, URL query string format assumed and pairs are parsed from that. + For objects that already implement IEnumerable<KeyValuePair>, the object itself is simply returned. + For all other objects, all publicly readable properties are extracted and returned as pairs. + + The object to parse into key-value pairs + + is . + + + + Returns a string that represents the current object, using CultureInfo.InvariantCulture where possible. + Dates are represented in IS0 8601. + + + + + Splits at the first occurrence of the given separator. + + The string to split. + The separator to split on. + Array of at most 2 strings. (1 if separator is not found.) + + + + Merges the key/value pairs from d2 into d1, without overwriting those already set in d1. + + + + + Strips any single quotes or double quotes from the beginning and end of a string. + + + + + True if the given string is a valid IPv4 address. + + + + + Defines common methods for INameValueList and IReadOnlyNameValueList. + + + + + Returns the first Value of the given Name if one exists, otherwise null or default value. + + + + + Gets the first Value of the given Name, if one exists. + + true if any item of the given name is found, otherwise false. + + + + Gets all Values of the given Name. + + + + + True if any items with the given Name exist. + + + + + True if any item with the given Name and Value exists. + + + + + Defines an ordered collection of Name/Value pairs where duplicate names are allowed but aren't typical. + + + + + Adds a new Name/Value pair. + + + + + Replaces the first occurrence of the given Name with the given Value and removes any others, + or adds a new Name/Value pair if none exist. + + + + + Removes all items of the given Name. + + true if any item of the given name is found, otherwise false. + + + + Defines a read-only ordered collection of Name/Value pairs where duplicate names are allowed but aren't typical. + + + + + An ordered collection of Name/Value pairs where duplicate names are allowed but aren't typical. + Useful for things where a dictionary would work great if not for those pesky edge cases (headers, cookies, etc). + + + + + Instantiates a new empty NameValueList. + + + + + Instantiates a new NameValueList with the Name/Value pairs provided. + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/Flurl.3.0.2/lib/netstandard2.0/Flurl.dll b/packages/Flurl.3.0.2/lib/netstandard2.0/Flurl.dll new file mode 100755 index 0000000000000000000000000000000000000000..431deac81f1ed1e7406925058f011199fc5c275e GIT binary patch literal 37376 zcmeHwd7M<$v47ord*7Ju9(q6qXja?V1ZHFt5o88IK|lr(MTcglf!3Mnp?d}$N64T^ zG(lrxBx+m`m#5K~7vuJfMsQ1vny4{RU&KIMqKPj?;~EY8zE$VkUI2Z(_kO>BexKLF zty@*6PMve=)Ty)F+s*vbE+>nK9Ju!FBYFUL{>%{g)u12Aq2UjP=pOI0BOWm3Jv*X# zO*$9v%4Sw)lO6HaWM^llJH9d%&-Qf2)1C3g1&iYynYL72Fz6etRWEEJnrB$FwSDV7 zc4@n5WZZ9zBf1zIkK(>?EADYzJ8%(|32v%-GlT1|J_Zr^{IO`oMJ&qy3U^I13!i@I zUBJi=qMCvd=BUqZq5!ZvZy{>dtV6oR^Hmpd59m2X8SA=J=XQgBc{2dgq^-K%pyU%L zT2YtHWm`c>-F5(R;ra%yqR$L;S6w#Mo`E3Om3HG|U6pri%7OXw2FQRA~!?TF2P(YX9CCtOacs>B|g`%vt`>JHf+br5E|9Le{BJ(vx92-mg;h9vB9 zSgAc&(ACGV)E=DEC0Yyi_{Tp!nO0&C$#$TBaNdLZ#|P^)W2iWB0FbxV6L{lI=iyNUnqV$8SpP!MP8` z9<1(=?J)tu>>u@fFW7_Gu!nGMdmtRbKPpS@!Gf+nhNbr4oG#H?ut$B@+o=+JNVWs* z!FdnrA4eO-@q=?8ial7}A={$?!fX!=&0>2n8}<;cZ4bBDV`!;8SkTqSu+$!$(>*s+9v-pBuu^-l zpsSBzsXaKSOSBg3ao^y7vr6nC*$%V^=RK%BUN5l+=ROpBu)0IFM`ALBVGnhmYUX;e zOt2h@e%z`iYBI60gt~yK2`VjdVKK3ZiRrcyX97zoSJmu19daZ#GbgY2>r532y|^Ut zk`fB*mZFT`ETOiPP?s`gSMRctq;C}`U0zIln+eq9Jlu<#FJ!*?in5!}RKEE_*v%I? zN1^$eE^5AT5_a=ddctnLO0=7=D7*QJvYW3cyZMT;o6l6jZoW#gn=eUr^M#P+N5{En zxn8-M6}c(!jP+40kJU2Fsx_+2KBldTOR@aIl4tm_*JY+cDzP19ZNU1=F{ZX+>;^2_ z9D7|)f|rAwZ%jX@B(PSh&K$$uHqwkG79$l4BCO>c)P}nkV=ebfFnum-Jw}KlJJ+Nx zRi10F>uFXtor}W4s~U`Fm~kvKu*+1vh8B#WrCTWR&q5aTL`qVg+*7`c2E>gi|zw(52=YksYg8 zHgl#4xJG9K^~VC$ZEnv^V-b*o-oE3(vJ!IuYjg{|nYo~8wfT^uc!-{Rybb|PsOPLkNdLpgss(OrlmC4byRw5->y1s_}<*JsPq_fJ=Qdi zF&3{w9T+~!J+vVw6xE$0%xTC`^{8TQKqHDf>=#JO%|mU+^m9tWg$88epfQk@G3GO& z*8W&G@LnZs7k3hp#2m#81j_RlAR*DpsuyzZ=s1%GB5$xL?;<2XRHUF@_7>>RVwnhK zPKK02OD(E;(k=&1?Avg7X-l5s;?SdL38y67XbA$Iw#*VFpdJ?0po|dek^3Fw+2_$H zhf5Z04kZjHe~ER$8GQ*4YvFw3k#7LWBd91zC_Cw}k|d$*BuuVXf4`+;T0ZY@4OPLQ32js2{Hz| zsaUlqaViWK+iTXkv-1&3s-4*dxNRRZ$V{X~e6X1~8wmIQGKd!B7K_|rDtSvahTC>_ zUUol;S5Pb;Gm%1m1;4aVR%RwTAo!&sOYKXi>}x z#WbxkwXU&Z*jS>UYnb*+Fy~lnOPCd>d3RIDzL?0WuG9_TIJR7+!d(K`WP2;tDQ2YHZV5Z zgKW7Z63@#Zt}78l>Ge>Jfg@`oEMxi*+tCMRxg?kvk1qN#=A$r=ql)#M3bVw}SzJWH zKskgUUzuTLFwyy@JdTObv@&RxPeuvwRgCkn01j97t>CN!n0bQ{?V7!*v0%Ocx4PW|R_R8MwKx$~D!&)|cU^ zOfdcL7znCXG0o3%8^pC$pD0wi zU(8<}cDb(!m>%uV?ut|WZWop}@0e9+r$t9X*2l7Xy;r8!d!}3G(965GiV&9a5cV=>L)zB>i_G1sH-OtUJ#O7NI2wc)T5+qqhC6zi`Z;?BTa z=oC-ixww1!dI24>aT}{UXIDw*!07hc_V5!_+u4phUm@y+tqn(`r(_#2mB)(fk0^_G zRag&kN&?2N7KiXv4{(V?_)WJ|Y^*l*JNubhmsd?gW~=f>A~atDwODW}i)5C9V%wTD z67@hJR()SCeJ?T|k;!-eTj)aczeyA9dh0qx?K(*=x8&0Gf|C|j_?+MNf#G9Sy|DO^ zNe{7Ax~nipCg1~LO;7_k@hz_Wlf~U%lu-hO%Akg-9#pD*a0U6O$*AT;Eblm`;3o4& zxr%v3aSACMa&hCi7B_gGL(lED=9tV~T))KkP&GB*@mj}4KPoA&w#=TC^yFVvdFd1w z0;k^+^sxrBYCR^$K3DZXbMYK0(o{)x5^$ z_yMEhY;XYP26TELonfb}Yo=oQ#yrOcP%*D|K-j5Cp4n@HuCR0Xv56aj`>GeavfSz-NktYU zM`_6;JT-pgl!?fPfv)t7)v25`{76NhIHlwkF3uJ6R|KldJ+ zy)1p~l};=tsIm@U(#3l(c6VAJX`OF1P9NW-b8A ze&pMpAMj7R#5>BU8t%zSWhCLz+|NBRtYwYg!lmO=sH0UAF{METUoImvTOpmn2Exja zkAr+wW_Ade8>V5P6$QfAA(GpK^fCRM!XefN_ryZGf=|Wxi4@A?=SwrC~yFPoV4}At51AT}A;+Kn1Gd-8vo4iW12dM^*IJ{=! z2dHJhQ{_(Fp%7Q%c7;gYEJ8mL0!i4cInV5=MYbBRc?;it)l1EuI?dp_zq-NfITA>~ zQ#;J;!T#0=dSN3q_`KyD!hM-<091Jt{!PXsMs^wMD4fI=;ZPChQs$Iboov<&!0Ab? zby&4ABy$-vV^wFF*b3*F-vTqX*Ma2%l1k+-SMsIIZ!4y>(?#=fN2IiU)L&u8x$W3k zXTAejpKD;tO(+)Vm;rpJX08C-UR9J+bUW!^ap#ZrEmtCdNLc9E;bX7M zV2JoOOt&2f9f+CqEq0)-NEp-4DTyF*Z8)}6=1(kxfCm{)NrYHtMybr(EOV8}a7qF} zu6hG}PC2V8>m8Q4T4XpSQN}go825eDdl>AJ`zs`TE_3~CB)j?;X0CyJ1_Hhf$CYaP zGi$q6v~fxz%q7k$mH7+HTqiP|l88VCM(+33%+N@ihQF^`GyZ`*u(0_x;8YG8stCNAZRQ4 zpHmW83RO#B;dLiAcr=3bN>5ptyCCPYi64RRyUG)APG3#H;WEoJKL)y}qRL&KxSN@N z2L|s?6wgt;Kqz|=niflNV63S%v)=|~B~XY9dxz|Gpd5+{ zo7vkz;Sh!s)o6uI_O&x`=a1H%y*IC;7BTkW0##{dpD0ivGyCg2RWsDgz5+^>RvR?4 zZ{{gEBETB*UQ`#SW%uF6PlSYY2#JN}{mh+;u#$TKSmNK9M4i~4XW~8zZIAJ+Gz-h? z2a(wKQvl2CV{K@SI-YR3Do*uP$K42)uEaw~sV+yD&?+AWUEya5>==FqV!}OcETZrf z;t>$y6Bcoqqfu6F2Y7s5xD$7{@uRqz@ZHC7&pi&1cme>&UYJ^}#FNaxQl=W`-X_g} zjxpT-Dk1X=r248OuFO+F(7PMqEkh~-uMO1;-nWVuyx8_~a;(ZzrPjSc8dj~=z1&wA zX*8DW_e)la`aO+1>h}z8T)$^=&;1G@ffZ8qhF=4dx$!w5dtJ|S>I=;4=aj@@TxIcr z!=V>fIQJXyS?`OuL+@{KW4*t_UFjXdc?uo%5)!KFa)v6B5y^b23XOr-KlV%|= zY^nQY_}=LAbbP%ZyEnG9>8p;$;=flmT9g)b-o|KEzC5;K*GD!4GVI z9LM@vP;||}Vm~(d%@2nxoeEwz0W9rx4M3~-0UqxW|BiYBMLk&p`z5cd;^?1(iHU3A zddVg4A2`%*LAEy8k1()gYam;X>_2VNUf&KsQq6SyNFGl_7|O9>El-Dv9L8OLD(W5^ zXI0?r(2xFNxy#a8VEBFl%hpe3W$yJ;aI3D@;$|O{*YLX`?7dvyihRW-4W}a&r%EOz zYxc3836I3M`#4)s_X){%F$s0yv7_yx`i~7)=s&TIui71xBRKBAiAd+SGE|>o*t-zK z;OMUYsa%d7P-0g3UJEvt7zuBZXF^uyEf}LBgMsJEybYijg9;3vY*1XXC4}BLS?@8$ zdQY${33ZqV@gY-LEAtWVnU5LV17Kx70W3Vf^P;VA z>9B35eTVxfg#fnT>iZBAv$idfW%Eq*vl%8 zQjrr{IdUQll_5akWYHXG$4-kdY6;^Eeaw0N?j{QiH?9s`SK&gi+=&|of|PFdodCH^ zIV!e(9xx6=oKSs^*~fGS;m#NE)U5GDtcZhGW3JkIg=0C!&pteI=2|W$SwDwWREUNO z-)pDmwH@KD8Ebk)GVCZ49b}7+vqg2WgHY_$UTo>j1h*Fi7rg%G0P>lJS$+G8>3nG~f@}8i(xtRC*x;eK%i@WtKPbm!_EOC%cc&M-P>)RM(C4%UUM(x~H? z%mtfffR0B%AJ@(gR^(%%hn5cC?)Qd3{==x}!&^*QG!NHET$o_V0>g(3{X}RG#c{oi zi{niY*JxabZ=97DuI z_;-5)0T+$-4-L6!ijU!`0zdXL9u@p`f$N3i7FaKumqz~@bkUohW1)E^G`r|&fs6di z|H8-cM|i2hMazPW|3l!nl}`7S5f{127~Uo|Im2SfKRHpmpYU>gFbIEHtE$l%Di8VfSu!i?T-0B+z z-XZWUDcvVJ|0TfsUmn2lHv->q#|F6QybyDih|V8bjQ?IFUyE_+_k}#rdAZ0uDmq_~ zdX6t=$u{9PhFG#}0K=O+3{Mvu-r*U_ol8IFr6KwnJ&T|?8-CZ6rMcdxFI1zZ9uzI}LCuEbgJg{;qkXVT6ZV9UW9*dC{m|5e(eq28E|9b% z=vkrWpsr0cj(#T;2v8F+x(ZsR((WSa7+jCve5dp~E1CeG_cQ#ur^z>h?hVfc?DbcBMo_JL5kk#{fohLIX_p^xp@;E5 zg&5wC_c;s-N1Gv27g-MYd6YSq#a00SS-=nc8NfyT527rCz7_U+Cel^THNF^55!wOo zwfX@MqpJb;&<}kss*7^2FFY)NY>Z2v;$r+E|01ORP~gL1E^D22KR6>%AD5&Sa&aA0 zu4s@`Lx2W_9FHJZr_|&;K(5JSDEDakIp7w0PB^~>{yDt@SZBTs_-o7b$7rH+EMSGv z2zY{dD&Wb^vjDr1*G0)7*VC@^X6(XL>9+Bi0&|0aeW(4%eZE z1)OX33lEp_KnZ_g9F9YqJ$pm#@bFVLHOzCb+n^PS8Z;q%DJF+=g?f_S3_t9*=n+lb z<<43T`cP9>1m+tKS~-I7+3X3K?bs!qrKtz}_qrXFRg~y-(8WS2oi6&drdX$&96T}6 zlf*jRlod+V(@p1T>hA;Yb-U>TMTt%~U8VDJJ-ze?O|ecNm18?(>-5nDLaBQC=o^~i zw)^NiiV~eZx=rU}odJ4JQ>-&cqemBX2I)IOZT4)m+7Sh>(G<5mNZS=9I)n6p&c`|j z&^}GE&N6C1AhhdQM%#tj>~RceN0j@4rrt)|%jj-JiOw?mh0e!1BQyXDGuFa7qtvJ= zwr7;?7D}}}N)Ku(7rfUUrAHMdI-~Tm&c`|j((uCzI%CwVDb^XIM}^vqdw6IeoPHT6JnX<#XRO;f>0Phc5cny1o%)9L$~8ecIba0cC`srRBw1835G zn%W(m5?DcxX{seQC6J`&gkqm4!%RGxHvoD}w^E}}n=!&S1X}4HO`YVrFwjOdyws%4 zw9b8DU=4jH)JAF!Z3$ouU`5Pn&-=@;@fxnFX9pk(Q;kr2jE~DkfZ{bY(ObsA@Rfm1 zN-4@aFNTdLb!+OS;7x%H{i~L|Kl;PKT6$4a56A8fWa(2)T^{_mKsQy@DxGs8pP4;0 zIZr(rSVvt#ach4OIG28?C{M<}7EdG|P!v7s-VivCT-Zi&j6B>k-{_;LrY3mGsEeq)W3(y=zN-{sas<6jrBBFQ+LJ6Xgw{})cLVr1vXHdrY?%T1gcw8XH?8L zzD6Hv>J(`C8lB2ZeAHz(M)B9^0ZqLVD8uu=&^VR$`^cU^Klaax8VW7_l+e`S6=l>< zM{DZc@Sg)4X^y6zjLtVU(h^PmCR#=tsZ~>t`jd14b!qAt4^!I}CH`^&J(Q>33tUKV z3AL5};MwKhM1K`(BQ1A*6u1aalDTFZDHVJV)Wh{mZKW^5{|IcRCp5J$Lcy=o%R+5N zB=QC?rtdbee-zk44VtooOr4>rr-CDbTPTyKs)FC5 z3-VM$@Cy2_riMqR2ER*KsEE$tk>i3}>D)XuFZey$sHq2n4Z*AEa!myz^MY5?jy!c- z@ER(cq_m8$_$csw8m6iDq7A|C(|Aqoj(!xlmZoc}CB{^jrZ!31^O{O~IBmD4cr;#1 z-=EASsM+^Ax>=~rv^2OFYwEj&+UmJFdMc<#^3*Q>_4M;RH6?HZy(pBL-?z~|P4Rqm zBL!ryyOoljUpa2XaRisQl^%4T8Qe|{ntBq{&GfRSeiAt|cq`31T1l>Tjd9#Y%|cy4 zXBut6+v#SV_H^Xz;GOh0OUK1^jdgB@JDpHre;Pq1n;IhG*utm5WJUm zXlfLw2k2#?w$fGZi-JF;1{|OfeVcye+!B14{-&w7oo5Fhq3=ysX|Fi13GSrZgxX5K zbKf3(jAk6mX;BWKPNv^%-OL=OY zd$0LQo_gN@nfZHqVg@rfp6xPTr5E$m%fVgrXQAFQSj!*i3r(?>J+x*fvLWuWme=We zO>wQ?pgT3iwSJR4$0;D3-DtkZ=!zX*r^N`q%{c^A@OXhi65G*T#~<$bEsX|EfHhu)_~ zOiHr4RHzGSpRo#(Z{^dR^bsC2bLpyP zACp5I zl&aas#K)p+-6s0X{FpXrYAentKA}g7@_kBA7v=kuexoHF#>UX6^p>V3nOj1i(Z`y4 z+1eiZ2MwE}N;uZ}Xy|jAsHwQ|YUrQTq^ZT`yP>_bSW~Av{}I|pU7Ff}nilhGDqPGDw$6pSt?VU>mqCaTprQZ2^RF+1Kgw|%FD_u+UaJ#;tY=- z3|FbP43}=9o@HeY`ao)~@)q+?c9oSm4@k8&+!y9@i}T)uvpYMr7*{P-`iuDm+|Kny zzUGQ!&>07`QE^lo_s5mIovXMls-8-|m|xt+LaMEyxQ!}R)%ieNwediHLEhG>+Q^d3 zDJ#PpY88yvN!wWu`w!ce>t^@Pm+_U4acc3$pqFE;Q`Ksu$ISbr&9PI9ebq#Xg_;!m z@R#FU{~zeKaNc{QMXGhGT~SG8FEzE7s=iaOxLvA`iaGmRz##4sQ+u7Vt%9mu#T;d4 zWmWdQVvjO#mc$%>t;(S3fF@liBWQY*^{ZUPxYF>slO_KNXwerKo9bh0Q#zG4)r0p* zWcZ(Oic4WV#U=jCnz!Vx5DSxt70;r8#1o=3cn%5 zoJ#TeV##7{hlxEo8Y?|^DJ)~qAEgwI`AWZC3%=W_N~RPB@x&*H*N1|5S`@^dJ&13c z1aU?b!PCSDPQoKJ5myJUsW`u%j%y;W4qV6Knu=5W6L8hxnt*E}t`1zxKMB`#T*u*i z05~54zXIpJ6|@%D)p*u07FP$Zk+|04x*E?gL%2F{RpDBT>uP)-na`}kfKJFTJ_68( zO(maOOc6L!;9P-=1TGVp6qpvcR$wpSK&${+&((lK@Faop9}9dQu#8@zf#DJK4)7Wp zVN3|0M&peav6|dNytZhd`dB;gO;{)H0lt=|LB5X~g+EX5X2B~3zgbT5Z5k|q<4&B`)*AN+evjaH;xzCWa2Q@9XRA*c3!}}(Gjjg_4DtE@i=ypC;`9Gkh5xE( zeuMb@{|%9Om-zhuUE=fq4@Krf;`9I8rSvZVcNtF^XUG0%IMBM!jXlPhQNs)v&$=g> z<-(~HI9lLSh823#`~oLBp8@iYq6Yj)kbfgK)U1#l3#@RoNlnnMiZS5KLQS4BJ_^n^-hqZPeB-+dCn!77 z_6EmJY6>R7;q#rH#3wmBiO+0y()p+%+kBd1IdV<4+5rtnejs`IWMwDusR@^Rf}>s9 z(r(O%;;FFF6I%$)s;serm8cKfp-o!dEi#Q_rABG{`MO;jJ=;**KKCQiieEV{krUya zGzl6E(-HU!;J)DBka}0(W9VN2{xZqyHT&FOfOA5?>3qtV@BX9lios{SVe>LijdLUL z3C>=?sm`^6rv*M`ycwPe`Ir530jCBTuM+sOe+lrr0;f6m7`ciT;I~B6&P`I*7J=Ut zc&)%osMj;eHQ3k~KE`#kaPAa%kHCinJ`QNm;|4zgdEDS9AdefoT7E`S_ZZj5vhEjg z{`VdCs|Js$H;nfMW^f|^uCY6Ksr9O?=DDR6jy=W|!56K;MsLLn?!iW*`xW<%@VDK7 zH~atWz8(1cfH(U;caJa!qGz{=w|{8x6R0i3zWoKtz0}$QAD#-xe)xs-$QI%r+(Ns9 z3msdCz4SxbIXg_Qzr*AwH4c-X+Bi&J(Fef)9Qrp0Px5?du*dE(?vF0>l$#s}Dot+7 zXvsTT@{X3gqfK7%*GS$5lb`i8nEc$Q!Q}P*G~qW&u13k#D7hL`ICO;8rMy^Y(W|N;2%@cgQIm~sWcaQPi*mUo5(Y(iqRGi|SBKr3jkHwaG z_83qO?q!ud=%BMeR*Z*b~S zz&$h|3*070B-d=Mlc*Luu)){G0RwO^cmkWZZhsSo;GHh@0m_(opq(P z(|X_f$f|NIb*y&uIC>qIIUaDl=y=8Px+CZu>RjZU;QG7karaYh^29ttJZE_}dp`Bl zd(ZW*_g?6I+xvI#=UxM`*ubvR!dnea{JF8K@dEns)1yKB4ZzMK3>d-QV>tE^Be1s^ zg`H9PfJxX-jr2?djF^l+P zb07@?91Clin2Ux3E{E+*%t)gEQ%E;(vOfm+YC0VF8bFiMcw63}vj9!ZTGhbY0Zr`e zY5_a(-l9nv?BMXDYJetodi8)=ItrW|pozC^CIR+fe~0&I08KiFjs`pz-=Q?=c{&#G zH#8IQ_n0+J+J$p%6Q}XV1AdI7;2_=@I|A*v);JRIdSg7`cB3BfX5%QpTa8J8w;59a ze_$Mew%!fN!E_HK2h)AV(SQ#?axgsz$-(rHaSY(kAUTx&2+5&Xt&RtL+c*~R&yXBS z??Q4Y{neNW_%}$7#g6zGtXrC4ryjZpE6nfE^>hb*o%eBinqI$M~&YZZyQzSY_rFFz#MMXSPQJp*4@^V)?RCvW0s@Sah0RXd5QA@ z=jYBw*J{^At{tw??o-?sy03NL;eOEV@Ps_0Ju^M$cs6)0_gv-qSI;hw=`Hh)^q%0o z(tDlv2j0iLFMD0S0lvXLM?aq+@tKJIxm!+YYzl9y`p&|66#tR|p9=(Gu^_&c9fUmw zz+(o$L(1??)H1ZX4Ey{tcu6_DryPD#j=g=kD00wN>=WVN)D9ozw@mTX9J!w-v`43V z=n=tiMK^dpfk)AD6>iO?fy4Nj8z%~*9GtM3VYpGNP-xcq6F zp04jR^!+$}Z`Ai?hLT@qtnv5KVP-G2;JOOebLN$FqSZ?)asAZ#5&g-!lA?}Ja9v4H zIF2x$aP-m!XD@BX^?O`{T)ni^^$DGe`^~t14}6vTL}QivbbPz!TSm(B3Ek@HrFT6) z!hNT4qVNr*UzW7bdg0)WT%rS0d{<< zyQ#CMBb7~dXR^~*+H4k>C<2R9-HUos*McH~$>@kIq|sB5)zG9~N@jLpr>T__5L zV*ccM<~Mb=;zyz9wzsENC);POf!fyYR8}-Af$6O+Esg11S9`K|R(mp+lU(~VkIEM| zi7_-|W_!C7Co~r)hqw05U6ol*&CYR>keDGRfiuJctk zv;$?$Pi0r9xB`taT#j@jQb*j5%+VnMCM6xr7%E2Gz zwgIG9rBhjmE0c|rrOf2$!^Bsls%HIP#`NgIhAZ% z(AnNw!fjgHlWb3SgW16i&lZ)29%70M;d@D`#rnQ9LFa5k=I&Gn8aRDYOUpUgWY_rr z#N;g6(b6(I-I;7}??v{`?)nMJ)b%YuiVY$vzk|RkG}rc|d6~@Fxq0ccQzxDR z!$Txz$AF_+m@Mr{F!uLQjt?uCzpABWW@o0ewrx8b1N zqYlcQ2=45j&Q{#SNyNiIoS5nrdSNo11v$4dEyF9B?FH2a2KtEG^kw6K(*ywNVQO z72oIPVEZ)kf4P0fO;5ASr`o?#YJ8DYC*nX6DJ?9ei>R(*96_{*MEt`vQ^e?kixiRK zHq*~;X*n+0dNxA1sw9G&LYlMbj;78wT9Qqln8qCm_%}b*y#_xK*O}_hbtgO9lG!$b zofc$IPGRM^|VK`+B2OgJq{5c zxG5YbXz7|%7Ij(OnZZpIcCJfi)5*^6Sv~FDP)xIuU2<1;Z98YB@jIx&|wV zLZ;>!#zoGDbTF|{g*j-QY2NM#Fb ziQP@@aKO%PcFkNNN%e=6e{!lld9GkZ>2_nWU~21W?Ji`5b0j-vX0yrO0&i~4UK|v7 zwgOohbQTGpj9?BQ7d}Q#nwJlSY{&J&eHv41c@09%5<0}e71n|Qjq%&2sKV;GAcv8z z2n-d4Oq*Wc(z1@jw<($%#YfW~gFs74ghM^^$=+{!#+}zSsdppOJR2u@I7F0P4G>`BF+4O2& z&}fmCOet-zX{b4a2&Q6z7G2!4GAG}Sr1{D2)-}}9j>!lWT#PLMsP1f1TB1mZtPwl$ z=0?JnAY6l)D|4B4jBa5liwPf>CUxZy-+y|TP5`FR|$=uo)_Y&v_Q%5Eg=g;R}sofl)MTwkyj{rS{5iaH4DQb zOT1mSCwH`VUAirml{Tups<~L#z&ErS`kY?d8G)$EkYE>30FrCU=uy%<5z!a^P-45VE$4XULTqkJ(>*Bs1cq9gVis72iC zTGW&2W+`!<9AZO5OH22fbPnUVHJiz0R&`?;-LVjKTH@Y-8oWowye-+=6JboNA7O4u@i?5q}J4WyM>_4fzx)0qW0v65}XJYK&&Fn zuCiiYuxb^PnXZ<(9oQMRrjeg_h++c0Izm+BeL>bHF|u2*B9!wx3HfWEf~w+M7DprL&n%j@$=pm)}0ypRKK^cB}ty*6#m}6~^c5eMnX~ z#_ppmo;M!YQ>$USZv3%*4`Pqh|4nwW)*P4OHaQHHv^GNU3xufcX>8 zb=jBME6F{ECcqELs>X#c##wlR?pJ<`kq$bJYYfp*36xTWXS7F90)J!hzXs6K`3qx= ztYgFi_53w1u>|ztb7y+yHyZvtc;05`w2A-G^T7vf1;Y_H4385aJdn|lGj19oKrrSy z;uKly92l8rR5D{|$Tu+3i`O96o1sdeXK2(vFw(zKaaE4Lojg#=Bq|!se4zZ?-w59;?+Z7%qCU)5bq;%1ey%9e|0G6(plGW8w#Eo`F zlr;y!xXr`OGce*YqZBnP7pmrp8a}sSv)m|e4`jS}maH&$++<o)5_R~d#25Kdx+>uJWSPph7&KDYvj9-;rp;hdcEmY3=_GjW%l2C}N z8}ho5%)SU`G|Z5T9X(2e-Eh7BON`2)y51gruVl{z-x;T&-0f^W7>-Qn6@vm3Sw&0&TG!v&cP7R)`;@f)Arme5X+5mxhGcB-6ZZSI9J3 z#_e|C=E1L=8NncG36!(pCXI~r{}3-6p&1Y)}j z!y?lEymERV9G#f%e+5ooLYL{X>~u4LF3U>~+b@+PS|PP^2-n5VxnJ60I%`P=)r1Pp zb`btJw_{-BT#0e;=cjlmJgX=bA~nU%uJ{;nN*q7k9_fEVf^8Y298e*{L)Hu+p5&DYs2^c&~$`SjU5qKxmpT#xtyGNPA`K2&SqXRLQMnMsnJ!aBI1cKj$K)sxIUfl~ z=bPyYxwWWI8jD~klk3KTYP?|B!|?}3Kw~yWGwl{Sd|(9J7HWJEFjmD)R}(37I37m& z`!$E}MG+0+cKA{`HX(fgG>HAB5)wiq{hWYzyrVFnu-USD(&JM7a0r!Pmv}K`Inwam zi8e(ke8B91d9N^^;ng#b&+Rfjkp@JHN^Yd;#7GCPTdp)QsIauDJouz4qK3nVj^I(W z-08MBE&*-h0kv@iciP4=9#l!f1Bxz;U({^B@hDyViiuU2Jvdb7zQO}=Ki5Y;J6#;+ z%A9Vu)AUqURyt8`|J7W2w|F?au~&RdVYaJ#p6QG3d$xAhB7U8VzpM^mGT{Gq!$4np zELV7(a*gn0(^bhRJUV2#A`QT0&H&yVE$TCS5i&^g4w$oxh3%=+tAsJ@NfDUFE!R*k zW({UCwtmQTxDe05X_vVR9BsAZCMGf5hgSOJ zE^g=~OoRvl4!}@lc$|-%jD^fFetnsxLzn__lO(1&S4b;TX^~{5>0#MOa%d%9#$`lw zyI6N5>0{-QB&+bVcA%_YbO6Uvn0b<#&kM~;q0Et{C+;v%|L{1ETH{n!2KCNB8HJZV zVjZ4WD|v+hFRrwOc?kf^$zm3&ICf%*BI{GZn8lk2ltqyS400oqWON!ErvX)w0W1rb z$h1n6$J8`LNxn%tJ#lRzZ(PiXdO`_og$W-S!sGIy5^|>vm4cGc9^x{vRxs6K$_lEY zR9h+?5Wp8`EhT`3N+?t!5DFEGM>=8%DI6qK$j>9_eY29y!S^!!iFptou}0(iOKFIp z2wcVhZAg1Km1Bi+K)ADo>;a0#Rw4tk7KK648lF6yx%(})i^Y`fF--IGMR>B!V{2jk z^kXFDS2~Oqk3t!%Qpo<}u1IV!a*2B!FlxCe`Ot{b8RS_j&!{NmD;bePI9Ca$kVpKB z2dX21`GkRCC9s@N*d7Y15?9ER(2mH6a=!%J4@vkPW;H!k;yb$dVl_U)_y3@!AvKCov$$!2kyw2Km&3+d19cT|^TN8eDf$Q!@@d<+Yz0{Y3qkbrb5w zL1U;KXYuMS4*e=C#}mSm)Zd(GYm3iMb>gi{{2u}ax$%5Ig-1g~tp=SrGrkJ%0CaZO z#QD6GUpI;4O|baNo^(5&_0`3jGx3h(*{S%P=H`X*R=hcwi)U7?ig&L`>5TE#HOX{m z4Q{E{v*Veb?s%cz_`xtPupYltjA|19;(eVE)%D5AM@?yMXr0v1THo3*F*RZGs#OhB zCXcIMIVqJ&jUTsiO2bk0trPI;QuqxKr)b2N4-5+8O{WZ=Xl1g!cz`{64UChUdgPI- z@i4t-WnF8gVv;EM~CB^`YIPns{Yb< zn~Svb^LIQnD}6v!z5lzC^6DLaY*zXi{}Ua)$O*I%>lwprJ3{dtg?T|xkNw62enVN$ z9G&QCWWcu*^Am}Mr+PR!f(m(HPxyUhPSdLKetBN9NFP_|(pz_ZM8^DuoW6`1x8k~( z5%u9(M{ymFYZ=m(6{WF68H1wF$%`8oA3glFVN*W&&Vq}l-ShM}E|1P)9kZq`$76DS z9Xhvs6~DZ&JeO@FKNisXp!f_1jBy?s6$n>uo>c%3X&$1hOuXWtm; z*uR;j%Kn%75)1I}EzAF#*Iz22e$^ZS;s8F&&B1l*4x;Dy%OLvmoYesA6k3cY6{p}E zHYWp{OAGMJ4lTIj*DQha=V8ZtdwJyw-^V3mK<+prmJbg-<`#b%K^V}=Pd#SiOq zO#^V6Asfe;auVNsVoCn~Pctn9)(RfJJB@SgIAm7gFAkk+M5?$%mRtkbG+N4~GnE27 zTk`cFPaN&!8fF3OPy#>0;FEp+Ove9UW4DXX<~woToj>J9I@hlae{uZJYJ9G*o-W}x z?eU!)BX7S(q~%a1KW*rO_JZ9DB@^t3)m}c&DaeC&RElKlQKxaZCdi%3@Ijt?Sv_;% zGxzqQ+7)!yp@wWL!t(?EHrqVtUMT$qaKs-owg~^+JI}4z^h)p>ke_o*Kni~*i`{3!*8GH~L%gyVR`~LIa6kO- a=l@#^Y?J@Die8-f|7{EZw_#slf&T+#QpMi@ literal 0 HcmV?d00001 diff --git a/packages/Flurl.3.0.2/lib/netstandard2.0/Flurl.pdb b/packages/Flurl.3.0.2/lib/netstandard2.0/Flurl.pdb new file mode 100755 index 0000000000000000000000000000000000000000..11bd27120c3081069926c4e3630ee71e8953fd54 GIT binary patch literal 16356 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 literal 0 HcmV?d00001 diff --git a/packages/Flurl.3.0.2/lib/netstandard2.0/Flurl.xml b/packages/Flurl.3.0.2/lib/netstandard2.0/Flurl.xml new file mode 100755 index 0000000..646f70f --- /dev/null +++ b/packages/Flurl.3.0.2/lib/netstandard2.0/Flurl.xml @@ -0,0 +1,883 @@ + + + + Flurl + + + + + Fluent URL-building extension methods on String and Uri. + + + + + Creates a new Url object from the string and appends a segment to the URL path, ensuring there is one and only one '/' character as a separator. + + This URL. + The segment to append + If true, URL-encodes reserved characters such as '/', '+', and '%'. Otherwise, only encodes strictly illegal characters (including '%' but only when not followed by 2 hex characters). + A new Flurl.Url object. + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a separator. + + This URL. + The segments to append + A new Flurl.Url object. + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a separator. + + This URL. + The segments to append + A new Flurl.Url object. + + + + Removes the last path segment from the URL. + + This URL. + A new Flurl.Url object. + + + + Removes the entire path component of the URL. + + This URL. + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter to the query, overwriting the value if name exists. + + This URL. + Name of query parameter + Value of query parameter + Indicates how to handle null values. Defaults to Remove (any existing) + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter to the query, overwriting the value if name exists. + + This URL. + Name of query parameter + Value of query parameter + Set to true to indicate the value is already URL-encoded. Defaults to false. + Indicates how to handle null values. Defaults to Remove (any existing). + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter without a value to the query, removing any existing value. + + This URL. + Name of query parameter + A new Flurl.Url object. + + + + Creates a new Url object from the string, parses values object into name/value pairs, and adds them to the query, overwriting any that already exist. + + This URL. + Typically an anonymous object, ie: new { x = 1, y = 2 } + Indicates how to handle null values. Defaults to Remove (any existing) + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds multiple parameters without values to the query. + + This URL. + Names of query parameters. + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds multiple parameters without values to the query. + + This URL. + Names of query parameters + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes a name/value pair from the query by name. + + This URL. + Query string parameter name to remove + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes multiple name/value pairs from the query by name. + + This URL. + Query string parameter names to remove + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes multiple name/value pairs from the query by name. + + This URL. + Query string parameter names to remove + A new Flurl.Url object. + + + + Removes the entire query component of the URL. + + This URL. + A new Flurl.Url object. + + + + Set the URL fragment fluently. + + This URL. + The part of the URL after # + A new Flurl.Url object. + + + + Removes the URL fragment including the #. + + This URL. + A new Flurl.Url object. + + + + Trims the URL to its root, including the scheme, any user info, host, and port (if specified). + + This URL. + A new Flurl.Url object. + + + + Creates a new Url object from the string and appends a segment to the URL path, ensuring there is one and only one '/' character as a separator. + + This System.Uri. + The segment to append + If true, URL-encodes reserved characters such as '/', '+', and '%'. Otherwise, only encodes strictly illegal characters (including '%' but only when not followed by 2 hex characters). + A new Flurl.Url object. + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a separator. + + This System.Uri. + The segments to append + A new Flurl.Url object. + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a separator. + + This System.Uri. + The segments to append + A new Flurl.Url object. + + + + Removes the last path segment from the URL. + + This System.Uri. + A new Flurl.Url object. + + + + Removes the entire path component of the URL. + + This System.Uri. + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter to the query, overwriting the value if name exists. + + This System.Uri. + Name of query parameter + Value of query parameter + Indicates how to handle null values. Defaults to Remove (any existing) + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter to the query, overwriting the value if name exists. + + This System.Uri. + Name of query parameter + Value of query parameter + Set to true to indicate the value is already URL-encoded. Defaults to false. + Indicates how to handle null values. Defaults to Remove (any existing). + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds a parameter without a value to the query, removing any existing value. + + This System.Uri. + Name of query parameter + A new Flurl.Url object. + + + + Creates a new Url object from the string, parses values object into name/value pairs, and adds them to the query, overwriting any that already exist. + + This System.Uri. + Typically an anonymous object, ie: new { x = 1, y = 2 } + Indicates how to handle null values. Defaults to Remove (any existing) + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds multiple parameters without values to the query. + + This System.Uri. + Names of query parameters. + A new Flurl.Url object. + + + + Creates a new Url object from the string and adds multiple parameters without values to the query. + + This System.Uri. + Names of query parameters + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes a name/value pair from the query by name. + + This System.Uri. + Query string parameter name to remove + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes multiple name/value pairs from the query by name. + + This System.Uri. + Query string parameter names to remove + A new Flurl.Url object. + + + + Creates a new Url object from the string and removes multiple name/value pairs from the query by name. + + This System.Uri. + Query string parameter names to remove + A new Flurl.Url object. + + + + Removes the entire query component of the URL. + + This System.Uri. + A new Flurl.Url object. + + + + Set the URL fragment fluently. + + This System.Uri. + The part of the URL after # + A new Flurl.Url object. + + + + Removes the URL fragment including the #. + + This System.Uri. + A new Flurl.Url object. + + + + Trims the URL to its root, including the scheme, any user info, host, and port (if specified). + + This System.Uri. + A new Flurl.Url object. + + + + Describes how to handle null values in query parameters. + + + + + Set as name without value in query string. + + + + + Don't add to query string, remove any existing value. + + + + + Don't add to query string, but leave any existing value unchanged. + + + + + Represents a URL query as a collection of name/value pairs. Insertion order is preserved. + + + + + Returns a new instance of QueryParamCollection + + Optional query string to parse. + + + + Returns serialized, encoded query string. Insertion order is preserved. + + + + + + Returns serialized, encoded query string. Insertion order is preserved. + + + + + + Appends a query parameter. If value is a collection type (array, IEnumerable, etc.), multiple parameters are added, i.e. x=1&x=2. + To overwrite existing parameters of the same name, use AddOrReplace instead. + + Name of the parameter. + Value of the parameter. If it's a collection, multiple parameters of the same name are added. + If true, assume value(s) already URL-encoded. + Describes how to handle null values. + + + + Replaces existing query parameter(s) or appends to the end. If value is a collection type (array, IEnumerable, etc.), + multiple parameters are added, i.e. x=1&x=2. If any of the same name already exist, they are overwritten one by one + (preserving order) and any remaining are appended to the end. If fewer values are specified than already exist, + remaining existing values are removed. + + Name of the parameter. + Value of the parameter. If it's a collection, multiple parameters of the same name are added/replaced. + If true, assume value(s) already URL-encoded. + Describes how to handle null values. + + + + Removes all query parameters of the given name. + + + + + Clears all query parameters from this collection. + + + + > + + + > + + + > + + + > + + + > + + + > + + + > + + + > + + + + Represents a query parameter value with the ability to track whether it was already encoded when created. + + + + + A mutable object for fluently building and parsing URLs. + + + + + The scheme of the URL, i.e. "http". Does not include ":" delimiter. Empty string if the URL is relative. + + + + + i.e. "user:pass" in "https://user:pass@www.site.com". Empty string if not present. + + + + + i.e. "www.site.com" in "https://www.site.com:8080/path". Does not include user info or port. + + + + + Port number of the URL. Null if not explicitly specified. + + + + + i.e. "www.site.com:8080" in "https://www.site.com:8080/path". Includes both user info and port, if included. + + + + + i.e. "https://www.site.com:8080" in "https://www.site.com:8080/path" (everything before the path). + + + + + i.e. "/path" in "https://www.site.com/path". Empty string if not present. Leading and trailing "/" retained exactly as specified by user. + + + + + The "/"-delimited segments of the path, not including leading or trailing "/" characters. + + + + + i.e. "x=1&y=2" in "https://www.site.com/path?x=1&y=2". Does not include "?". + + + + + Query parsed to name/value pairs. + + + + + i.e. "frag" in "https://www.site.com/path?x=y#frag". Does not include "#". + + + + + True if URL does not start with a non-empty scheme. i.e. true for "https://www.site.com", false for "//www.site.com". + + + + + True if Url is absolute and scheme is https or wss. + + + + + Constructs a Url object from a string. + + The URL to use as a starting point. + + + + Constructs a Url object from a System.Uri. + + The System.Uri (required) + is . + + + + Parses a URL string into a Flurl.Url object. + + + + + Parses a URL query to a QueryParamCollection. + + The URL query to parse. + + + + Splits the given path into segments, encoding illegal characters, "?", and "#". + + The path to split. + + + + + Appends a segment to the URL path, ensuring there is one and only one '/' character as a separator. + + The segment to append + If true, URL-encodes reserved characters such as '/', '+', and '%'. Otherwise, only encodes strictly illegal characters (including '%' but only when not followed by 2 hex characters). + the Url object with the segment appended + is . + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a seperator. + + The segments to append + the Url object with the segments appended + + + + Appends multiple segments to the URL path, ensuring there is one and only one '/' character as a seperator. + + The segments to append + the Url object with the segments appended + + + + Removes the last path segment from the URL. + + The Url object. + + + + Removes the entire path component of the URL, including the leading slash. + + The Url object. + + + + Adds a parameter to the query, overwriting the value if name exists. + + Name of query parameter + Value of query parameter + Indicates how to handle null values. Defaults to Remove (any existing) + The Url object with the query parameter added + + + + Adds a parameter to the query, overwriting the value if name exists. + + Name of query parameter + Value of query parameter + Set to true to indicate the value is already URL-encoded + Indicates how to handle null values. Defaults to Remove (any existing) + The Url object with the query parameter added + is . + + + + Adds a parameter without a value to the query, removing any existing value. + + Name of query parameter + The Url object with the query parameter added + + + + Parses values (usually an anonymous object or dictionary) into name/value pairs and adds them to the query, overwriting any that already exist. + + Typically an anonymous object, ie: new { x = 1, y = 2 } + Indicates how to handle null values. Defaults to Remove (any existing) + The Url object with the query parameters added + + + + Adds multiple parameters without values to the query. + + Names of query parameters. + The Url object with the query parameter added + + + + Adds multiple parameters without values to the query. + + Names of query parameters + The Url object with the query parameter added. + + + + Removes a name/value pair from the query by name. + + Query string parameter name to remove + The Url object with the query parameter removed + + + + Removes multiple name/value pairs from the query by name. + + Query string parameter names to remove + The Url object. + + + + Removes multiple name/value pairs from the query by name. + + Query string parameter names to remove + The Url object with the query parameters removed + + + + Removes the entire query component of the URL. + + The Url object. + + + + Set the URL fragment fluently. + + The part of the URL after # + The Url object with the new fragment set + + + + Removes the URL fragment including the #. + + The Url object with the fragment removed + + + + Resets the URL to its root, including the scheme, any user info, host, and port (if specified). + + The Url object trimmed to its root. + + + + Resets the URL to its original state as set in the constructor. + + + + + Creates a copy of this Url. + + + + + Converts this Url object to its string representation. + + Indicates whether to encode spaces with the "+" character instead of "%20" + + + + + Converts this Url object to its string representation. + + + + + + Converts this Url object to System.Uri + + The System.Uri object + + + + Implicit conversion from Url to String. + + The Url object + The string + + + + Implicit conversion from String to Url. + + The String representation of the URL + The string + + + + Implicit conversion from System.Uri to Flurl.Url. + + The string + + + + True if obj is an instance of Url and its string representation is equal to this instance's string representation. + + The object to compare to this instance. + + + + + Returns the hashcode for this Url. + + + + + Basically a Path.Combine for URLs. Ensures exactly one '/' separates each segment, + and exactly on '&' separates each query parameter. + URL-encodes illegal characters but not reserved characters. + + URL parts to combine. + + + + Decodes a URL-encoded string. + + The URL-encoded string. + If true, any '+' character will be decoded to a space. + + + + + URL-encodes a string, including reserved characters such as '/' and '?'. + + The string to encode. + If true, spaces will be encoded as + signs. Otherwise, they'll be encoded as %20. + The encoded URL. + + + + URL-encodes characters in a string that are neither reserved nor unreserved. Avoids encoding reserved characters such as '/' and '?'. Avoids encoding '%' if it begins a %-hex-hex sequence (i.e. avoids double-encoding). + + The string to encode. + If true, spaces will be encoded as + signs. Otherwise, they'll be encoded as %20. + The encoded URL. + + + + Checks if a string is a well-formed absolute URL. + + The string to check + true if the string is a well-formed absolute URL + + + + CommonExtensions for objects. + + + + + Returns a key-value-pairs representation of the object. + For strings, URL query string format assumed and pairs are parsed from that. + For objects that already implement IEnumerable<KeyValuePair>, the object itself is simply returned. + For all other objects, all publicly readable properties are extracted and returned as pairs. + + The object to parse into key-value pairs + + is . + + + + Returns a string that represents the current object, using CultureInfo.InvariantCulture where possible. + Dates are represented in IS0 8601. + + + + + Splits at the first occurrence of the given separator. + + The string to split. + The separator to split on. + Array of at most 2 strings. (1 if separator is not found.) + + + + Merges the key/value pairs from d2 into d1, without overwriting those already set in d1. + + + + + Strips any single quotes or double quotes from the beginning and end of a string. + + + + + True if the given string is a valid IPv4 address. + + + + + Defines common methods for INameValueList and IReadOnlyNameValueList. + + + + + Returns the first Value of the given Name if one exists, otherwise null or default value. + + + + + Gets the first Value of the given Name, if one exists. + + true if any item of the given name is found, otherwise false. + + + + Gets all Values of the given Name. + + + + + True if any items with the given Name exist. + + + + + True if any item with the given Name and Value exists. + + + + + Defines an ordered collection of Name/Value pairs where duplicate names are allowed but aren't typical. + + + + + Adds a new Name/Value pair. + + + + + Replaces the first occurrence of the given Name with the given Value and removes any others, + or adds a new Name/Value pair if none exist. + + + + + Removes all items of the given Name. + + true if any item of the given name is found, otherwise false. + + + + Defines a read-only ordered collection of Name/Value pairs where duplicate names are allowed but aren't typical. + + + + + An ordered collection of Name/Value pairs where duplicate names are allowed but aren't typical. + Useful for things where a dictionary would work great if not for those pesky edge cases (headers, cookies, etc). + + + + + Instantiates a new empty NameValueList. + + + + + Instantiates a new NameValueList with the Name/Value pairs provided. + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/Jurassic.3.2.4/.signature.p7s b/packages/Jurassic.3.2.4/.signature.p7s new file mode 100755 index 0000000000000000000000000000000000000000..59cd22c19ecaa9c1fcc3e507280b2433dfdff45c GIT binary patch literal 9466 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 P?JT#7!3wbF*}4B0`indC literal 0 HcmV?d00001 diff --git a/packages/Jurassic.3.2.4/Jurassic.3.2.4.nupkg b/packages/Jurassic.3.2.4/Jurassic.3.2.4.nupkg new file mode 100755 index 0000000000000000000000000000000000000000..d2c082331964ffb323e9bb947ab9d0db1859bd16 GIT binary patch literal 303567 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≧7nc=KOdA+93SZ}Q#`uQZEZ`)__5H>B> zD71BqY9Mk3Lo-%)h^4zck3+fOQT`mG3aEX(coL@lmL?{>qvxIP7|r8k3`QM_oan{} zum(q~n_7+Ju9yj~Vg@rK z9bN;ZcIa8#nb@5{ue8?RTdt*TJP?D%+>v6eISz}P#*-*%@~vloZxQbwi79X5&UAXu z*l3VlYqPy-YID5>eVaQ5R>lFH0>7^$0FV@ths%wQ02x31by`nnNc*e;XTM z7UjIQfOEAn1nJYV6b*}<1`L5lE?1M{9?x2pH$2iJlj+^DWL~Fgi%cG<9%5+rSMVhX zm7dJm-GhefP3y=JrlXVBCQPX9aALiAfJIXg)(w33<*m!A&Lqf1?pUco+sMKofKHXF zm4s-d<#wl1_yA5*$n2HYH!Pi&B@ z8>~(aPrR5w^NlA>d~j5>3C}@7YCAS#&?e$E`ZLD6J53a=v56$jCz(M?roHU}h3X@< zQp*HwyHExeZ%q|Gve{vqOpjU=XKbF^hE(P9*|rS}Dbc1HLHW!GoE=r_dt!T0`II1c z-U^3$jaHIXwB^n3qcITr=`;wcduaUd4U`Ed8?7|T5yC2#^dphlmBM9)FiL$>+z1=r z5~aBs%3xfjP@Gvqym(Y(1KUPuK|KO=PqeVa|J-&oz(C%1`Na|d?LP3p(_ zsn&Fg#|zb#DVt6tYJh-T!6EZwOOj~gEzPqOZzn-2E*YE;v>+n$fH9xl%J!D=Td#Z} zlgy2MGWuWxFD{STZ7{Z5Xipnyu`ra3G)S{wgUyi2isbN2oAohCEC0%Takvcc_49Sp zl|0>cC54u;H<2F8dTF*?faE;fqVsac4wTapiK{(?Di#wrb?ME0@(Mn~3R`z<+%*@G)oHX(@O_OGM#c+&^mp6?x zVS1TgW{9!^_?R3+z!OYH6l5yRLZzS94K-Wsz4oV(=W2F{w;9*w!T?|v2xUbv1}`SJ z#P-Mup%=UMLd!SM6tCuvE_5M7g9ES}+e(d8xhrn5FllFoDQD0t;%I$yb??gk>4Z!e`YD{Q@d1W-azs9nDfsKc?U; zMcW#NrOO~WkjRJwWZ*egaL;%G>LjC{yT8na?b7<;3kl;%>CW_cNQmZ9<{w}!NotU5B3S>Ri)EfbSEf1^C%7Uscjo*smrTu2eI~aB5f@QL!3+h)1LeQ(IUJ?TuWDp+_ad zkhW$o9mo-lvu4>3BdFnMiyRqXpmDZgsRm0>MsG5-G(*MV9l;87{~lUJ8K6;$T_#XC za!<0E1fn8h?K+)lhE;$onPjTkDhV}`f_^~bM`Y(_xuc9DHN%9I9X;9nCvh`(c1xezG6a; zA4`L3lACxY&|$#-Jt4uiw%)XzbL1>3+5E?&m19*Z=LJ|!U?I5%MImJcs21s4@3C`0TSTmiDJ@>gJtRdax+N~Q z<_YRF_UcoZXi#gV#XF#C3$ifVF8f&VV2iCnrQL}zX>cNpt*vBZCqizVmH0qBOWt9U zu+295>)QXk0U^5Hez z8Sh5eq~eMUv$$Bn{pn;{p{9ED_hX>YTxE^)2%7aw9<>*mGgxR&@J@OaZjU5dr=<#K zaG!)$ba{U0rOV!wqUNp^L%oKNNB8>}sLmdt%+#g|P=z!$MqLx6gSI(wMWu2vvPbq~SMg%%Bs_c8ovxeX(>A6@FYDdLJONoy*B?;qx5L!bQc?8;e zv1tW)=WTf*a6dJ;r@r#Beke{F)2*fMc>FZqf<7`t)S%RJ~SpiXikj*N^Oj;@U8S-iyo04v5gwvEGC1L$giTiVydaAy39`da5&=y@^MWiUEB6Y| z!VjZ=SP|6K<=r@W2AQy6Rwy=|Y{CeyX!)Y$-4ika2HQfaEtjVy2qO&Zjzbvh2~VbF z^TFDzJheuiSz}GNpoLpqA)lLSCf#xrkTyo;M@h8T?@(rlA!*Z>gqfz(qMf0(FhwUC zqkoYE`S(bS7Gos_jUEt2qtS83xR;d%8!v}rsbSv%eO7uBb`UbhN=`a!1@+q$Ey5`a zUQQykV^mFR70262YI%xD(n48{XB5itu+LWQvDT%x>aCQ&Z}(u^%pi`?xG z(bEjY(gp`hq9dyabG|fb1PWt^4|e8}G%tZACGJy*XrV_fSQF-*+BA^$F?i|D&yuF3 zEf{s}n&k1gC>XfXYW`rOnaY#VfNd%u!5qOJ%Q~G(O;C` zs>Im}tnOmSy*j$KJ%arEp^dR?nc05GA%5>JX33YM1v|2-&{&;rQ~tn`YgXtbX_n?C z$(~yljjCWyEwd!Tc$n&=Bg_-ZW4Dv0?4`xtRV|kZY=(;2;;_(K1XfS7wld96Bg8xMmf>mn4WC*hS8-9^~&-Z(=2!j1kgqW1EVU)jn)DyE>#SG>CjK)VX46f~!{E zRrS_PUEMWJ_sR5XPFqhkdlGweosU)qZ66OFY-7l3&+O?-gKyrg?}t~iPe}Pt`edN$ z!aGefp|;B_l~8xa_-F`J?DV)!wt6I^93WBqfNnFVlay3Knrx{W@V>gT%0xqcnN)^rEB{fb3T*Z;Wb{kO||G zPK4P?PlUJYiAfsSyj}(UM$&T$9Z7CFL76sr@QK~{*|X0#XmIEodPOcj)sm)h_dnp&%~+KzTkasw{cV^Cc-SDZca!XJi=FYSAJu%}Ghg zi>0#rhc&g2Nb0f*r-IdZaDwFL=l5A5hX{uCU*R2B@F>B&9*nwRtd&5a!HTjRI$#91 z<^@c8^8yo^fB1>d7cw9nehi9KRKkNKN^3++@|>4%Az)9D)Gk64F**WF4&#}v%7E7! zw~A>P1lCNH8Ijihm?iBud*UiBj8SPx41J+Q)P_Mxc)R{29T<=$(>DT3miC5WO^G=j z)Nx@sj5bFQz12ADOPc19J!l~i>4#z_nKY%881<_XlWrIGSuy_oRhs1^I|p*=idm4J zz_N>&y)u|dpJp*AHOd&N5MGi-zhW4=qhW?OW2Khv&6yK+lqs>B6k2OSJ32wrDvNb& z+9GKBtDJc07#rnCaov;sT|rD;i7=iqpbn3}e5SoG;)+k2rVl19Xv&m=}2wb!r> z%OaKclTxO%-;*Xg%ne6aRRgl$3bWc^B6umpVyeYNUWV}{L1j7lm03Bf zPsOl!Qh~RRKT?Xjk0t9ky^O`A4MqOgEowU{!xk;IV_%_V0vylpK(q{xrS|a4a{oa2 zEo;&s@c(k*a#ZeAvhGxs6MVsSw741_@^jrIEX+9T3ay+5~uMN#- zy=r1RykOLs!oH}W&ijx4(Wf^AxR{;I;D^h;%Y3)2pOKet@ zep+_Qf%C^y-yGzIy4vSS#q&7Y0On;f7_vGUmRSNf9ABSoxV`C7p5_=v4mynYB=cz| z!y@%Jke_sZOSf^^pjA{#knAG^ndd)sO>K1xFr}pL^fe{u=b>tO&!jC{G+eR^u_b~I zB@i*?g7pSI(o-ybPY$r;B-4;-Z8!7k746zIl(s69%cnJGWoKNCOVvZ!cl0(sMR})a z&VkpZ4Us}FpzXV`{^!sy2^NQ*MiK@6KU5<}^uA<&oPOeY3Qfwn&qpZ3wDGd`}~ z#MV8Q>mKACzFwGI7!3(%8XC&*wAW+#x)u0~v1K&>F*H-PA0UlPx~um>@;(HC%tj7c z&*P2GTvFwpVSXwQivqWH)N*AX%FX+ql##KM3Q(q}(7p8lE-= zN4LwV7)g*12>17BiE19;eKpM}lC*HES7gW^N-xSVZnagteL)9d`Gv3C9ZIhiI%g$%~IMxle$<;6bD` z3eo66n+Osn zM0R)bvEC_CpvAdi%C7xXF@A}WO|bh2tFBf7ff%4qlLZPS~)7XcWO`U z+dgV7c#i5_0dfnFJQ&3@?x402jll;V=>SbAhcv0dtTn-wG|ICh-R@C~yqi%A^i~Q? z4m#5y6O1B9nSvj+wRAjcZF|?#1G$x5o&n{NW|56_BwE3dh^)*K=Pp;G#wxpS)Zg97 zo!x45VpKIqp1=?-SFsJ*kyS`@{8adJoT`;REWVtI0tg=8)t%9&cL76#;wSCIT3%p{ zk+y&O*m9XMk4@*2g@}g91!a6RpVA;E2*Bmq*e&P?0q^@KN?(yvX&K_PgV+IH95&ap zfOy=&L?$aSUJ{``Q4%~~ltu_{bkd}44qi2TG!;o(85K&F6Rz3TjdH%P7;@IHh@i<% zv0Kt{jOd26Kd`G$X;BpS!yYNS2;Ipeon%XriJ<#{%3Sk^cx*%wSQCq96wU_?Fh;$H zLWkvr{ETqvkR1^^6`E_yXH0thteS027Rr6RCU&bU9YKeSJ^)M(6$)3ITO>hxuq}hc z(+a4?>9IM`7xj(06IL{T5lG=MQDbc6^vH|lR={U3Ni(d6TE{Zs75GB=#%?8Cr1>A$ z;{eYf))O0yYc4#yG#c`aPUiQp8;>FF&-4W%)*Lx#D-Uv!hKkQTIV@oy;5H*uZJLm( zd=_IwerJbJ40dU(24gLqC^=>0Q-#$;P2xO})dVcVd^HOi+R0z*zVgrt{}C3xiKSmA zpR4t3kArennA({XvJXbiPy;8y*m5?T%||}FxKA4+(jHF@SI(ojQg?UB-5)&iD^xaO zMffM3bmF86;H^qJw}Xc*>lt#8t);_`T{icG2Ko=g3_ChQ_7@tJepapVBzdJ;)lm8+ z(D3MCgBl|!*QmVX2Did6tNHmHwaDoYFyHG{UkUcUJQ`$F2N^X%Ms1K$7i82284W>3 zqh|OHKeMEaV^@I3wsMQdg<#9X2U&eb=WKD=+bqELwxZe`)1RQD$$5mWa_U+md((fw zNnQy`Z>a;_#j|lGpr=#T%{~9<1AFWT9_TLlEja%Jy_;1FpbH)OMz#eYY-8Y)9>!IB zdX^K*dE;hPBN_`-M+1ZC&`}n%2deI*XKqnrPvl` zFmFA=W3gSpkj8%FnJlb`FxQt9AIH<3@`9|%JRi@RReY=ltBn#ow)qc2*2j1T+4d2f z-I=_=0K?N1m8VZnoaTEvh)ne!Cu=b46Xpl_z~5TyT&48~5VODMtmWhvzt<>Ao#wp} zx8(l!kIoyi*XFf0i^Gc7zwJrte7k=&K7F7XidDN2t>xPH?}|8VQ`A2hw-S?z#lIGZ zD))a^VffE_{0E}7q6-LHA=*QKasl}o0Rh^|M5`szRA~jML&J0%v_2&vXCoGkdGQc? zHF+${)yZShNNkZo?4N-Fw^QjeFsD=|9$iHU%5pn&Nxn7VbNNLB2}Di-%0RaznG~nY}4G zf24jdV{2(70pyF_yzG%C9xtx-2!F;K4Zk2mDh#5_Gl z=B_c@W@AuH%#D$~IRV1V7I)_igziwt8IR@tz-2bC{*R$9FJxvzy!spgs;Q0#4D*lGJN_4y^W7A|p& z-+c8OqNR^nHeiR=T$uiY0{lIIyn8~VXxEJQU4`Hid_j1OkCsQm@E3*i_`PWqLmroP zz>ZYt18HB*Bnk2Ht*=0E=}6rn>-*>dq|}v{PT*9SwNL*=na4927{6{sonK$*UlVOV)drMD_^ zsy{iV!&xiO3TV}s7z1H-frZWPW!c}#sh@@0pYhUPdG;6sHsNi+LUvd*=}emEJMzsm zpdQUR%l>Be!?bm^Cwa*s@>H>aqRz1f(re9TDo4xBtXvaMhs?n$86M|Gc2Q zV~tJp7DpePn#J-r9U3Tc+1jLCJ1b9~+QMTL*_w}ma+X#45T7ZFN2z6N{`i}>U(X|( zcJC&;6BWJ{qPu2`HIg4{wqQy2fS;5LQjD6TUiq~oLbM?b`Ju9c8T%YsYJaam?SNy9}*w5<4{A2 z{D!0X%!THApLdl0b{?6rLe!NP_s}13KB40nhSadE1=LGr<(>zuD5-5L>g$m5v|K~& zHkewdGBO&6k0)P!`>Dx8O|MwVNtw-9zp%bSqImmHp@+K+69`1c&h3ioo|FxTS|Oi5|t;r z2Y3PBVQX?^IM9+kw=YT>o$_XLMrbkJat-rFApKO0OJkd%luoT_^}QTa>YQdFkKs8?DLKX0)LU$*<$&wSsBRNlm9eDD%7y^vw_Mf7>m+WJBSrJnNTMU^DlJe_{mPjB zL#9waM0F3^`)1@&G$!$W?Zl$KpQ3zm1H+>G^CiSlsey^q6SZe0Y-K>az{B2L&^C6Btw*GFlTuM0TYWqAYf* z7nes-Q!gg3v?Z24z$T0fwjQz7D5FPH`y<9`NcFS)H<&NG`LuYn6+T(rqs>t5zahZl zLE9sB=k0NP`zrjgV>I&^7~Ab=avq^|FF7}6}_9&Kn}tAVePx&_aGIg>~p+xB7s(=jCF(j!lP^39V#XBD~I|a5eAI88}8Axy|t> zNUl~}!RkyVLe;RYC@iR1l(*5zO0|z6wPv+(b+R0zLpK95WV6#1Uw%0yoenT!6?&Z#92awJ7=8lZbJtjD#OOD(6>xaJE9NzDBkOy|`*|cQ z7-}V4+kl{id)~_IoeaIsScv4_57x%9$azeBpF~Yo(Ug0VXRDfsnK6wcd@^1qjRvYh z=JVMVntMd_RRGONqzpgug{E16`8-HBZG&cxd<4w~L%e3MY~s+oQzDSX^>;#J1Q$A6LPvLX@VT))4zzJHX8s_p895cn|8(Z7?vju zk>tCJi#)PPp6r|;Oi#DB(vBFKO9v8OU%MXrFrIPN6p}Gv-mh2DUKS( zs*Gen&G!iJfFQ-8GB%R1k$99e=2)><1Oz=QVX)RTfBDeN_|(~-hP2K}PbO0&mEcP`KCm zKb2u}(QKOb*uK5g9$Std9!(no{c%yV#ZsWh)Ej7gDa^me|7btQSJFYjJhrs=;vs5h zrx${BLCxT8tyzoBvp9>SjrhoZwLRS`Qrhoi=S6HleqfWlo7L$l%;m4D*i7&1+HzRH zgwZ>rBtJAi$YQmn_9imvl-1nioL@IJMFs5$fiI5h^LiyA&05ws8FYaBq-#ikwlrAF z=0Ro3au>)8QeWxu7;ddBrnz3abN>v;(Ie^B%PEzdEv|6hsi04?C(5p8%Y_$Oixw1j^?2HhI| zEkzJ)5$_PG-70L+^&6}D`uZookF13%RDIZo7vKFJYGkfvFK9-F3D9w=J@iE&`r;#5 zTz!6S#ttjhuu(>(5(R^bx8Z>HjuFFbI?xQ|-RX&wC!wUsZ_wk*Pxk7Rc(H}?rK!Wu z)dRr1n_7k$tVOoqs1<9sfy*jh<5XKi^rsqc6Pc6kX751~T<^0`}L`w}B# zBb?R&vqVh;~try8xHdC}-@MOP1kt!dH>d3$9SP<7%3p?bxP43TE7jEM{Z z<8M7N3Q8Z5EG@P^YXwhk)O1tge1wu`Sln$9^a(JK%B0LEbkR{do}B^3D2^XXV8TNf zrqbluh#3k|J;Tf+4@I7TrR^I}1+gv8`<^ig%Fz-mt=rJjL8^62U6+paar>V>Apm2t=W;x$B0TS!H_H9SdLKcCnTyrbg#CZ zDsBhjqN$Xho0b>-26QHevg_^hD+pV#y2MP&0Y%!g39*hjqEDIVFtf7A9N!`+b4-4i zJ7A?YvKogQlnJLwWCRScTO-;cqa`%1zmKW+9WhhRS~}=kVF|;OGnN38I&F>9Ttwsc zK+qCSkLg>4vd_=<2|_5 zJz(_cO2f|UWsbbICiaTa)L!e<=yACdiA==ucpgI3q9N~+u{LA)$gZ@Mqbn_Z;Nl%I zG|p>XjL0MPX(}H6-L$T>4CE7Dr5Ki@>FOPaw9g#yqHG2*zL}FNB~OklUWiS5XD_4_ zhd%V--AnC9ZBO7pKgpv2`LRioK0)pU_>YCK6PC|cZf9K59!J^FBtthmNpX3oI6YLl z$Eh!EsiWmJB@cop%={KD``8epP7N0|~@|RWe+%Fu)T9;~TEsbW#^c za%{3l6{^`-P1*-H@!f!acOERLYlmn%gh+U6E8kFWFP6$=AGzJzljX^)%~)DqZNf70 zHr=5&W0_Dz`j)FbiGZxVV@veFiY~KRecY{;9N;B`)JluACKc*K%SsH{kFkYwUrFk9 zV@Z0u1iX}BUDUJQplg>`uc=yZtMGicCR&B!R-(^kRZgus5eEvL>~zpjVcVRgSmxVr z=2J4E!2!1E5haPP%KzT*R^WPWh9ol_c|#f|Ud-^0*kzK2D!vU9Wcd*sLbTPKaP0(2 zc>ae7WqYD9?Fmizp174b&JwIo+x-z)BIRK)5;do1s+vj%vuVR+cSeWF9wt1D&y$fT z*(|$LK-f+UHI50kqiSM6p3}g%I^CUdb1t4d<;Y7j96UgA%kFDRQRU?C{Sk^y_s=LqZirJojklGh6${d&l_N-<$DFsA>KPr8=TtwiD4gISA2AK3!IHa$(S1RC z1Bs>0mKf$qaJEHpDx_sN-oJ-62%@kI#vaFnTMo!7s3R5k2U-m8U_kw`2kUS^i)B#R zjc{CkM_?I}&8GY5$mqSqVRg*M(Y4UeMgCZnJfNJETRtrg{*@U?^`I(`#B>F2$2)A9b^ zXs2gO`?!$;dS~yQCh%7TWSA;vyqrA|(dIGBF~?1YFL5?FN4tLeroV;3ULe zaMlVDCFuds`-GSo2PByk!cveDvv(sD{&3<1T$6|`F2qsW5e7eCNRn&@a&dlI64Vgn zGW>*LJUt=$`PniKJgu<<_wMDm5`0fTP}%lnoO;o$`a|6gXMD^XX!pI71wXC!Q`Ufr&DT zcZekrOC!B)23SA89X*TQh0;zb%Ww`XL!2lZ&SM!LQd~lBkitbONinvkQxPt zu9Q!rtjo$pQPvIY6n+=ViLIRa5%oqQD(QXv{B4|fNiADO^pI%d`XP#YxEw@TkCm51 zP4KfQ-D3I+573Bq$aep9gFaMj7YlBKs%#?W_L)}V%Gmf~a7Ux8Ruu5$1cFukHN>OKX=j%HId?j5iszRj${PK2gm6ZO;L+V70?+K&aBB@SzGGeC3 zl_?N2>FTS&#a)m=J)BK7bb#|(wxR*##4cgikF|V{?5kik!1W}giAs#>Qw&m6_b5JU z^I}sA*N_w>sW;22d#JtbH7$M_c!S|>G3rT)^1(n0GEZ4dPaonIBl|zEH$hKPd60_l zAnv2G+(*gu#PAEox>h*LgS=M6MDI1ETXRWVrC$_L4ZWApHO7S}ld+5oXOz1LFVp1R@RjBw zpit`KysmH=ch&UT)SXZWh415LL{Fk0vU+B}N&$8I{Ya`Pi}|{%QQbL}WbqW)y;0{% zF^Jhz!DLm_6+@KmwTmI{uL^W04JlNWh^Bj%39qQua(3#x@v4R_z_HMw3`N&};HRXm zjx@j8*%d{mhbqW!Uzd(&Y(MZb=pMVt_^Y}XZ(yK|{rgkye}WSo-cs z+t|bN|DCt-Kf&3a-&xUf?59fQ$^UFAr(;b8(jt!2ga5xFu77)73_bz5P)VIR#Z1G1 zjw{$5dhw!U%6w^@?yudV%&s${%+7N$GuSOsxTQK&PNrb`-_%OWS?B2n9*o+b0R!O0 z13kCyEWIu;e?&Qm!>G&fvQZXfe&un_I{W`uVsxEzW_p9G97x4Zou=ThOYLE@RvDZ= zgbj0Ic~GSfK0zEJ-#IvF2GfXgoG&P@EwL0w93K4~ahlBta1%01^-Z0w4zbF-Zf1nFcW8{BgQLa429ke_YEkRV!ts zn9foOwIx=xwc3hQkz90zDpO@TrA?@cQzd)lSgz11I)STLWhN^p*o3n3edoOU-o5X= z?&(I4w5e?7=l$HDbI(2Z+;h)8_uTtDjuvctDq)odFinPqQXbt{BW_~^YIKlK=r?=f z6B?@2I)X93wtI|f{Veeq{&lo0LpEAHWOF!{8@0?}!+dOU@`Pt# z0_yS;)XyGL*iwW$Sa;G%r%B#H(<=5fl>L$Nnf)%V7_w}N1-9(4=oPhKG>T;dWt?RT zz5v>eiYy;Vl;j&@{g05Z_!?fQXq(d6F1~J*cj)_^{TAbdnxEclsk%}@`*|@ z_67DFmdBQ+HmM4;!5jMDYSkKbDq^+PPMw@;&(vDmdLxY=Y)3Va_|R9ew@%^tNuQ6U zAN6Qiq^D?{(op|tUIw`4ayFs zyLOD~;sNbsfb2owqTKqx7wM@$tlol$h8j?|GT@6N|jCwB% z%nI<){-frfkWb7Q=yF&>JLXlM4{O_Gh&?6Tl7MGtJkRUZBo#E*QU_4R_hTSV0fYTrL@c~dXqFWrTr7OBz8P$27_eUAqTt|IO zOn%#I$>M0M4+7#vjvO*ce~Fy&e6#Ys7R**!$zam}jP8(5UQgIE!mBm;$xYWlDUa5I z6s>&&u;%i$n%pP{w4@w_a`m_s)~KkXvEVRLm_aca(s^Mk3W%yD2#vTpZJAIGTLzSk zlGlc=Ll$lFES(m@X)r)oPE^#H&Tl5&AV)4xiDU?($f1ByfyI(U2|SThi{y!^5yfiJ zAC)feHXMeu({Y1}J+(20B2@}0hFM=-4M|BZ|%oz6|mDHH~t9tiG%5 zSgV$+?C_wjz0pvv57=Q=y>D|NJGFP>A~e_#&6h|CsOrh>SBbP=CDwi#60UkxVl7rl zY_UpWi-lDlX66N||DCa-@n#8|``S z>K(&_mBbBE^F$)7SSnM#lS*(&j1gQ+t*!7olawT`P7+4AdJV$^hBjq>sXoAX+f2P`Inx*go9saiL2bGp zooy7?o9sW|3TI=wZPm0&q4qK6q_4LZt z`FS~|W0EerTo^8oJgcogFBjD1lV^?S?5+3nCbWao^$c)Hx_v8cpFG286=K{%(nEBJrYoLw?f;kFzM@w*Nh@7bj^G>AE|7M^M z2GB40!n$>w2gDF>Xb}qR<)B6g*%qp;Lf+&(D@y<&&T+vVEn_=O%RBvY?3mw>5N(TQ zXf_a(Z>DN2@i*~*H5L;NtculUl>J;H1?;vkx!pmu7VW}XtjA)5=_y`!$lYE>Inv7+ z-tqEwdvnD#q@TAsnXX>W;N`XbCXATzI(n;?*dGccp)EY_@_XdWJ!?hrUwQgmF)zGUI7>3fV)Fy1BR!o0(>$ZYT$QP|Z z3HhWo!&GfvY|Xssa&aphV7R`Oses#a8i14!mw36ba$b0OB-{`s{uZ{1^@zXBE#86R zA5#^HO!?#87FEbBzr7fw(>A2yfcHSeLomb)@ih&aOK&7;#H)mon%Eh`kmH>>`*l+| znL0#@fYpJ7oyM)4&gk3~`_Vcp?Y6U)arBw6whE{#P~yIl-gw#Gy6Ecv$+*+x2Hk_C zYr)Cu@MzKl$@uDe_oVm(j99Lp#8mZg-Kl~V?Q6#aCqP3z<87fXUbV{Boqr>KLvf8q zU1~$DiHo|$8Fw_pjKP+H^63UjGA_yL-l{`n(ypGGPQ=|IR^IG4j$1rhtHJ5zHXS3M zHnu)JBMWfGn>5Om&-vQJh?O!4xp=;9vWFnq?ZWohbo;g;(I%f{LkUe|SnE#l!lS#1 zS)B8pw>KNsb~lM)Wjr6%=a%U>{iCzOR-Zkh9RjW+e?_)48V_mj z`DhEc4l(r9bayhu{hLi!h<0jaSNd@?@AF=2Yg0@+`%jHrvsLebV8fM)TJ1Sn6bDVZ zOU{4|?o4#FpNKfy8D??Aw_3hL5f}Qy@of^ydRpS=@k@rcnMZ=scwY%S{cesiLJmexHbS|_AB&+3|*1Nf^CJNhp0WkgwAR9fL3+}wCF$= zcRo{|G<$iJcgOvPNcFQ?%yA`fVY4>Z#`J^=Qu#iU&_M`eCJgDIyOy`7He(nUA!Uy) zf4HMUJ>fq;Jau&B~3YuX@r$?%$?cv30x~^9O6T`iS`3N4NV!cJ>lS)1fuDw;>*OFz#a3tJ}EU zobj-PoO$*O-EW|-lNC_b>|Wtqo+18r<|4V!O&{|^mfbBpNI`VhJ#>*P$Mz#69d=;v zR84J9&Zl12SEQs7Cr|2*r~_YQH|W_T0*`TO2Gv$k*G^N1v4(dfs01)>LV$nzgy6ZX zFwZ@pf(i+Noxt**vL3I*sM#Xam&w z$tZVl40uWOIPSP&>8|5$V{lWwc0FiX=kXOBIbKr!?~m`rv3Pc4JXZOWJ<}NK0cG>y zhFijy2xaI2Q4dF>thQ>%!>uEczd>7vzfhB(A6rt{mH5g3Ju} z30(A5ny6LKR<+#SBJ6G2PQxgh(-4lu+5@L!2V6kDK9H>Y)0voUthvHvmWn%>%lIy; zTWNLGokhyMW*L%v6CJ5jSCZN|x(madZ^ZY5+bX6_n=QVsUbPl{{MOo?%roKcm&E-; zIkOwdxCWE!{g6C4le{hCLPq1gjB51W5^iuIoL1~}HU_QOirk%`4L~|jzjm!aQ2Mn3 zp<(B>TMeJbM(wu4Xvt$3A9jETc;5~#^16><%y#4z&r$4%Ke8P0EBPV@j=vrbnJNrK=TP>YCH%9abnyRt(1Rre|}=E;{KY6Y`{x zxU{Sf1tD*lfB4R9mL4;vK(DQ08&7$zdX)s zJ$jErAASn7e**Vo(D4pS*ip2f6SnR#Tpz*vAmX0D^I1vruw0KK6stJvPKr~((Ryim z4nxCc8u9}4!L_FR)3`qz^v=AgUU!;Oua-t17X*D9d!q_- z#456qruGQ+ztCk0f2{4VO?}Mb)-KgH9JLAAjMbE+q9?B-59r=`QkHUzrE}h4Z0Blc z;VPgyuZ;wj7nbvKaG+x)lG{JSrh_rwYGbcI?4Hs9i%qcdxYO-3Zu^%LU~}w?x2TzW zo7t8<`%*iEI|oaee{pXGsgM&>*22@gsACw1G#VCL%fRm9!d@F8>u8k3v~%UH3t z2C~Rr3$G6$Y0br+xr{gt$cc{Y5K@UIRasv1<^nASqj z;o*qxfrv@P4J}!u>zbwK3LFfU?Lz3$0}zZttSYH{(1OM#ElGM0xB|~C-Mahmqso^q zqCl8D7aa!d*kloue56;B2uk(rvy`mQKu|y9=Y9^;pnaZuo+aY@73<`IPA5q<2H!iQ zGT^8TCE5#BMev7`4bMdCb0&813b4B^nu@3CvRm=2(r8>zr~YV6cz_9F?}*0Qt^ZsC zW>F^^IjU-1G*x`jKaNMZ9EaGo(OCDy;UrA$vxJkVV|?h7^4jMIC&kt>1p*gwsiT zYpub~D_#*is$s~gauRP}iTCCt#nQN}MxDb#2VEO?J+IJ6bmOF|_GPr2A?lG=qCCQKxuC0fYR8u9ctC-e{dkm}eRnJ3) zs)apnk*?pim0x|^4mVm#<4tSM#3y|(nWn4!f3fLiYByai)9rF~$vb zDVlaZc@sDC(U_y>5*w39?WWp<5sel*j@G8(AlYUYYSV6M^Z7DSakROzTImA+>Q_~i zjy+mXoavY9LN&~{vtL$(nhB?#ua_SIs(6HNv2T6 zGtCq(%^H`oS}x~HH7qIhFMm~(axL5S)+B5RQJ;3dt!EWPMTDyz*pgo9WZWYZbge0Q zGgSMdfB#f7rg8w& zA(vKSaO&$U^$7ffUk`yBQ_P!ghK`L(=(_dR;+JU%`9he~e71Ez!=Vle(LQU80s09jo}8om z0~@VCeW9xBdr6ga*IT0o9>>||(T&y_=q<{Yi?zFD=$yPf`gRoFuc)g{HY1a3E6GER zI$xaLcoWL^5*Z@VyTl17T|<4LWyoBg5>o5We?5~mTR&;2k?D}*p)k5BBwg*IYkufE0?zqYhs zL)n<1Adn)PY$Da+@5*xW_r*B8R)@6Y5%qssPNCB%+qgX}KG@XjS?*c`o78;j*G#W$ z&!N=pU;e+bf{pZ?=m{PA@yn3=msU-U>)x+OHSMoghIg$|9DXHyebZxGEnNilovcl5 z)s7yuKCiS4^zCt>dS`2wvn&fYqssxG9|bfY=rT)%?iN1O?17|(EZbeZ_7+Wg0Nos( zw(-~<2i%Xpsa*WVau7oqiScF^c*SDN7TNJ|)W?6SVUH5aTk~o6Q}Ok@`)8W->`#PT zOB^%>`Ct^Xp<5F$#*<+*Zl`FC7WGyITcd>$EKR^T6NOQ0m8L1Ek4B-o{i!KfXQQx| zUYBT%iaOA?*2eXg51WGAv7S3Qaor);opRkJ*WGfxN3MJ1x>v6E`a3H8{qhJo3y%Qv zRm0<<=L=#!ZN;1vIV7G@h}kS(LS(I~{%KX!;Eb2`-Z}VvO$Xn8jmJZb!jV$X{}dl8 z*%8arHu=dLU0^V~xxD+M(u`P8v0@JW-YDlXD#$};Z=S203b40MuUi{ko;Vu)yjmMS z(lrXl%)5Mfc$e=l=LH{);3QM`$1C2+#+&#d#gyk%-&jug2@0-$E+@3{)}d`Un;;qU+~GVB3weHh|@-ikO_Jm7!cDlCcnoi5^; zJTLo_f_zSBukJ8rYm!6cq*?zHSL*i{iCd-nrSzydDsJ*2y8dv4O^EF=OJC~vPcK1o z8@M^AXJZVDTef?C;ds!O)GgbM)wLAXl(kpa>F5`N^~_BlLJYq7-f5MwOMD*1rFH9{ zN3mO}0ccBNXSZl8$NtxD_twrFt<4*)cyzj4)tdL8@?$G73@5ijsd{~&0l3dJ3OCw& zTKP;!{eHKc)UbPO18{4e@1p0eE_J?(E}M9F#m{%qn56Sv>U;c}TuYtHVepHc%ds^& zmYegubQiYSLFS+Nl3~s(&?U^yP;Rth%N+D`dAEfz8gep#;*F}0uzNC7y%P!C@o}g@ zO#{=;i}qHZZHdlRVLzy)-(ShG$_M^zVl-j`98|L;NR% zeco__$~-+`jHlkH1Bha7&Vl0yqb8{_sh3ibY4lFbR?DO*R!cQcEH`{UMEss#nx?J{ zXo0RL>dBUyply!}ftmSi_kj|TWUlxWMx*EYN*2aeYwQS7 zXvT!9{HbT|P@VzO=6$|VSMxpKeafE&e9HTbFQN8fW-!F9jcuQTuKH<_#l-G@Xlwh# zZ|I_v)`WN)7^|Ae^N|!`sJDu#+*pL(x=&_DcDTNK_wJM4sC8!jsZ&kY#N4Ds&OLTc zbFx(f`GDc56UR40Ii4EImaa=VP@>{XmN6&R4)yM2D&<95%iMH!IO$Gvo=Z0qVq&La zu?*qq3Oc@UOL2Inr5Rf!boFp-q>=F3!cQqvH#ClNqyWFE5zMN4qq3CohHuO_HB6u7 z`J1LMFeV(&yk7gw|GetD=tqS3%rkMO!V z65^77+Lrb}uRH8#JW7~7g{M+o2+#WIHC!I{Bd=(}f-~fLbn!-w+B`!efZ84MFIz6; zQJ&w$meczb=6$x5P0*QoZ0WcOJ;s%mYSoL`Fm^`I(y#b-7&X41_VpO*bisa^JL;dm z@7-EU|M2?jjiBCbwMV6B&d@3$XMaRWw0gsaMm{8*l**>|pv+*SsW@twb8ii8cs@xD zN^fY0w#67Vdm?pRU84@GYhb;)2A&VZPbqI=Z%{_{IWMoP5)bR!?j#SnIMj+mM{l^% zc~Py;KsREis5M6lH|IZuaI+G;#GL8g=={V!0R6lJXUy8J&W+*3^9gB7%ve^PM-H~P zy{SF4F(t+>X?;k_)ylrZiZ8bsJHxUTo%L{lp`h+dQ1}{8EYtI;lV)S;0v3l^>vIpu z`+Aexo*WsDORDpkPbIthAmzKxO3eas_~DL9%(3mfTgJ}#30uZz;l-dn5$<{B#4_O$ zr5ria#xJy?x}k=*Y&_!p>cskx9+uIOrOIiJvCw8Y*Nv=qk|X2vq}PHZWwYdX$Q4iWjQRCNiEm9 zz1F2{1Mr3$``}|OY#aLcW5YPJ-CO%ol*=*81*<_?F7au3!=V()$GVO$1tau2YGq6e&%ZUtOWbVTK8L3UTfF93;c<_u2C=HS zu1q^(L*In0d%_moiyO3MoN5G4Xp3(3%r0{bX=@%H^xtXlo3eFbH2N*zTKd3~NHqjY zc0=EoiFqR1>v^=?*a!4p@geKE>4dE|NN-788uEvDpfOx@+ee6tv4xnA_>o3u{Z;R? z##140Q`)xCXS^`IeWYlTb<4!c;jpv+`3Z44)`88O?2=TpIR-7<%$B4k z>i&c96bJhgOD5DT_tz>-KYpdh@_YBzQb_I3sy^f|BZbNka*mr5S(n-mpbF1W;KA>n z)NA&E#Ibag-}0fBp(Lx3;c2@ZE^42xn?$3e@+=C?BzN*~?}^#3M>D(bMAA>1#y^%} zw=MH>;m<5b+0ZMpt-+f#B@>Rar;Ed+FYacnm8xp!Hqy3korS8hqPH4PilD-7T zY7$E7^dWSSdfnkBnCH>(tG10obhkuWux?d-_pEnB8uy8y>lkb8Sv&0b&D5r5**)f9 zUNa|qQsy;gTYLPF_5}7CJ|3IrC3PCNBgBsizRzNFv&~Pj(yz>fyLjAhN_&qed+VB^ zT7HdHDcZH8;>GzMNzHj$(&_v0F+Wu?`AseA`;Uhsrn`|h`eozV$CJ}8yfn`Bw*3-+ zQh<6|^3dmeN#KID^i=!H$kioLigs(0&wO0sw6!6KP7nMP;Do=kzSfBNqK^-mq_RW@ zj*MOhYr$*+#;vs&)VMUzHAP(^*m)*o!NW}JkC_y!!?1&P+8)&hQmJX^ls?Ey`~y!Q_25?9@>uluWboutBjh;cmTCHR&{7gzvQ>L z@)_NXE=g|Q>DZz7um!l$)a&M(|J)lsZxfE4@i)Mb)BXBd@0TO*LIEe9OQzv_P(1Uwq^G*-b zg`b8srBp?}@!8d)Nat-Xc4juDW?kkCDTlHT#J`SV z7861oD{x)5^BF9p#WvDKpC8M7BsRV{>3ZWI%i^bs&Ae2NHPIyvvqV)1zJ_CTHQ>H3 zs><_v-ubSHx61v@utM|hji1b*nwwbw30qUg?LcJ@Tq{EAB+v2P4=d`0aL@{EaT!I;e}c zkTcBVt$xJkALZj9--hJyNbdZg{r$16?zhI0jw!J|=$Scyc7PVMkzXl`(}N{B)L#39 zFD)+sj#;>NQgo{uw&0RKWPi54-_|H%CoQd3lUyv^cbVkJtCg$0wU1awQiLfj!`<4` zOQjIUSFLBbxy9XlS_{LNQ~h1>B_Fe79gZM_(i-Z7Z}f}0sWyl8cFT(&#bMk4&O%aJ zhYhSYp^-im7(t`X_aPknOKG8LG+girQ#x(GPBoZ=!5n}Ph;z8|={F1x*WGkafCCU{5=aU)T5u&wI{~iXeH}2z9LBvS(<>i_HpM^NGBpIACxhiGoY5; zR{slV__)9#?4#Vq>rf)bpPRK`+jKqVjQ&;$TbD|!6!T|}OQt^Ud_6DTmIuRm`)!&w z46(54kH$Gz#A2ON@7J^kt?#l9ibT}yOH5^ts1>`v?zZXLaIRHRZV;&+^iqKG z8;lBetxX)axvNCAVgpG>X+heP9~7Gy2LxQJJ;&DYoZhzapkwVcIK{Mwej|%R%&eBY z%cffV8tkjW7C4UI-aj6??Mu=9bqPDX|p*x}>T!tA8EipyqlQ^G+ zA-1;S<$^7VYr|1SIf5xhEsA-SkRIXu)3q;$N4vR;CdOGpEys;->`Fb^$hN_o*l;}@ zI?8PIbt#>%nr$mOb5S=YyR2mQ!MNSrJ{Baj2)Zb-9QP?MQ0}Zk@97Ne$)7GlivnP=ruMft9Pv{FDG*qh*)ua$LON54Dotml%EqV-Vcy5Y8TNnqXjHSz^8a30?%3}%5 z2rYM#5bY?jQxxuSO05>dei-RkLVKs7G%GYEp}&#!UxKY61Eqnp3utmNdtubK9rFX-USjMO#5r z$&&V!dZoqvEtaj^N0*CU^xus8<+~p%xX=)1fcGA03{rhw0G#c$Ohk5Sdw}wScF>x} z)73I`+JmiqOnT^D5;bgTKUcF}s)uw8&9S<8X{0JoYzP$@3AwAjku3Jr;>+p*ueCAU zL%C#5@|;MJuavvm?xCT7C~*X+p)TDK#UpZxWzMvymovK=cxFU&uYtGKsCV&U`1APf z^1r0qg?}3RG&NhnUpm_yJ%`aX%{tyto1?sEw~RX?cr~3y;)^#%!n^H2kM3y8sJ||a z^fW2xj+8jpna`B)pm2B0vd;kq?PkBE&B;bqcOyGVc%)a7=rLc8iEf;UGMw>uTw3IW z9ZXk!le$>k0Xd1Kw?sPEQ2h?JO3UNQuw{EMMoafLa3(hCGe1}DZ49;hfl2OsEYQeo z=c$C0+m~{ti{|n6M30)IDA2Xd&~;MR+8z7+lS?sDBMxZn7KCHINW;$shfwvy-ZJ~j zDF1jlT@B>yFuES#71`nxgcptdyMsC{kNfm}V>&og@k$$C(%eS?9D5( zr)ob_r&k`sqnq{EE^2G^^7i_e`h)mZN;xoCx582stL@gy_(%W2XHEH*-XVJQ4?=I{ z@g#Z}kn*)!sEKvxfk9d*R=Q5^+ack1zq3YfU2@5vbLmPOTU`eXcL34DCs>BYx@)WP52!aIF}Ecg_&8~m z6~pANXlmVbp+0X3>BZ+SKESv;7sA7?qu8oUiqj(*s_}yyh^_0}Q_Lk`KTwYz^*M;U zB2F}%dKud8%CDldYQ#?JQcT93yW&$sjujgddj+KY&cjReyl{i4N`<8U#x@_djw4;N zEuOnM-U~MsZ?!l|4+6F(B$ZZpu(1QuW4t+jb2Ylj(z-w8kN=;-DEcg~xj?yYyC47i z@c$Xa@i=j><1=!7K(1?f&G4CbzA^MSyx%|${C8~T@$?;ALE#i~?~~ksl;M?!HGUfZ zSMmQ__+N|ve}ojD=3)08S3QOk+Gc^d71tCX^Lc}mMtHmv67D&L$@ovp^{QNdOVSV{ z+}rL#$X$H8wH7VCZc7{LHB*LX{7C>0RySb}gj0jHuEi{2l5#d`L95ia&bGb@jD)gtS(Xycl;SgjV}c?KqF7h zispSjmiC4WDM5>EuWjI> zKtGiDPSIZ%T3`Bgqou8r)E4%cgmIHWC`OV*SQBFF-ed*FJ_iMor zJK*l5((kWRGIOPFb=Lx{rPEc$^kUc7o1Hu6&o9h=3)`d5J|NsBrtykUUBMV-)lkcZ zWK(QS^tc;##y0)Zr_SV;miCs(>DHr(1m)q6H|M#?g_5YR_HUavVq0w=v3+kU4f9kK zl6Pwo^+b2xm=v?cq3E4V_h39-Tu-PYWOvpwpVu+Z=N0!RDZh! z)cujX4NoeVsQuZC6UtBFG0@?ndM%r8U3lx3#>?xk2g7?XD(g%yTx!|PKm7Rc za!|&5I^G7V(j>QSZ7z$h1b9c|kZXSrvo8N0KM+VNU8svYDug{UJf@(=q0yEVuhPJ}*j-V3g0T5^v_`s`D9(ED@E9msxLbo8T*N4*@qQ|>Mv{qTfp zNbcUMhTV_6?WMndx^(H|hkyHL&;74Iyyv$c_1XtgsVrDJ)q#g%k*|f0fpn@+kbnm| zd7b?id?{T+x^(BN((Iq43he`4FS|k?-+!1YU*>pD_vq*-}TsG4o58dsVR59D0L7uiuD%+D;k?YTOcM}jVE4&V1^tW05 zGZg@3I`eq~M!D%c3d`s7c+BTBnf78fooz$2w6T@4-I>nPsbV&Zzbw*$ENGe1sW!wF zSRgU)Vm74cCb)c8&P%hn;(QLs^hw)hB~t;(`U_dMbhveiJL(iM=$Eb$DKB{#Niy zsr>28Z78A(xMxw_qWt=Q*>pOcEiO#)nK-s(r4S(Jr3(FI#?q-S6o|Si_SvpXM`@IK zs`<n^4YuucVya-1eD8XS7y)V39A8$;>^os&qM3TDVHynM;*sU*W^=@BwT%`-AqUJ-eX)DeDw6rkN$M!Ffo(m&PJo|N$?OMj;W9eEanzJ~+ zHH+jg@VDDTW4)<=D^{l3Zuih$`~}p~3oFnd^X~$1AE1@UH~m1kxG+j2Tp^C`dSDJkXLgp#d0c|w5KHZt^1gTGD*~fal zEUJqv*(|C^v6;@2|FbIa=GL=JB*+5ix%GHjff}PKf5V(v^fdH00zzMSj^y6L-bxgh zNqTXw*S8|mCcJ{6ULgb@!Jv=5Kme2+y>=n(kt&|bUJw*rjc@Zs&>q3zQw1|U{qc=BU9 zGwlV)NK_JSmJ8AE0%zoMZ0KCy*32#aeQ7jm7X2^VhxRR9l3Olk4?g}4Qcdn0%u<<5 zM-E~E@Y{2J7@smZg3%vHe!{>5%IfOs%KF4bPK=ZwKdTMloGvYVQ`$s`h1&{Y2fvxn zXlU{rIu2U`1V7DW6Rjf;g?|qQY}>rV2arv`<#FQ9idlCS3A*( zO0&P{gz&%(!nv<>?NkOFHj^&+Y|znPnnRIuxzb$T1eNBBcq`3*&s-7lJ^U5tZe3NJ zTN~yr&Ao@bmuRj8@IJW_RBC_wK44d1Iu8n5|VzA9i#0J43=e9y*A~cBHkRQnUkzp)`eU{nH!D)Lo zTL277S_HLs;<73OLhLp*VLk$)WJb!bBPC*qO=*5cUcOdTrjyB2mx1lU1K}5EViT)x5 z?W04fo$1g3)kR3l-|2#yA?lt=*ZFbuP?W}$gb7eU0G)=iK~h1y6wq<|`U*_!=odW-N`y76X^=d0X4`VlN%VyBmAhIds5eHe@R-AhP zPeT3&FchOP9^lwlxFsWFB1ux3{gM2=%i7O>1vmk}!ypEE;@#5Rrfv@P6q4w?>oSIs z-#2%#c^*9nO}L^ow-NzC3he`V^nosn`g3J=uWP77U#YKapslx!9Nn8O(&`0(39PokON- zXs7{&KK0-Xgq=VENi%Jt=_$}G)C6>f`L9vanSEb{E}06WfS~gh0iMfYBonnR4SX`H zGn`Uo4x%*EMy*ytA@VUmw}HX4fauptM?+L4uVi5TAtO03+LI9qKrkzaR8k_-P!f-eevp=~mdW z8Iy|W#xh}`_cQf+w`SVy6n({opM~{CMID4dLH2NJQD~lgKgM4)LSGt<+Md@*P&N}ysi*PXm08&PUyYbfpMz$k3Q2XyxsfuB=);NvY1(1;*@=8=?1A^iJy`l{R>^?-} z30H(}LQg;tI|QRdg3P{yE?7uY*GfZhBbc29(RU*nBg{VPg{hU)zCS@C#_7-eeIlx% z^`fl{eJ3)XP+7h3Q7HdBzGAin+Kft+5SR~sI_MMl%NC3tu?0A&7T`<%g^zT!9~ExM z1%M4RTs>;_Q z5ePOAWfKWVk=WnImR-0}oSP}mU6Vn4CM}8sUpP||IESG8ASeyh}X8${3IEhf;RAAAk69*r`W)mQ^l?1>PRf@Ub6{lFQy2@lN%~Ecu)y1P>w;SCTnM8T{Iw$ON zzmE`s^!o+X!eq9!xCP2R)y8k=>)k6^%I=`yk%~I*ZVYxP2<9Xm6*+`LtHRKP)R&wg zr#l>P#AJ3V)wj+bRjlE|e$3lr2q@q`tRxrgvtkGmH<_vOp|7~OU+Pao0Za^#;2dD( z0b?jdkqqvcR2ywqYqF&^lx(Oq8Ve>H&;q0Oo1DSYf+M3nRKvC$Wz7m0+zK!?v_awP zQ!NvTUcrE&x+H8R%twt4nl^N@(%d)Dj?`J8`CY}++?(>$Gmxgo{qySJ5UR`)8dBoE943*9j={n)$oj5b0YuW5GCSunEoJY zU*{8GLYYyP#uv7^_Dy2Mkm1HmeCtEBiwR&TcNkSs7dX4DClnp(UCK& zv(Uvsoqkd!nfq2$B_Un@g-jHMf4<|yGxA?aWI!~$8?(;b_vCtG#Xtw_IoJAWn1S5~ z-Q-PJV`L%*h@dG2=67Lolc4WHRpkWeyDB}u3%cL#89f$}yE7{h{C0oVpK)XZ`z`)3 z!7R?b0|S`Rh2NHribQO03_;%yBDAY(6TaQ;8ySGl+u1JvVVke-AVRAhsf1BCtC~LHK-YMmZRO+m zzQIu*{6aFPJ7_d3<6SGsBwlnx*6=Yo+C45W@U?wON%efz7B0B%C#ZEu} zuSG)sp&IS~kOmKg;R$`KAGd6mhVYqOH1`8=kp|(JvsQxe@16b~Qv|tp`FEOsc`s!B zoB@d0Uj)GN!PBZvQTMMIuK8F5Z&l_foUilkrK~p0wY0omCAvaqxqnw>^`czA$gWQF zBn>0ihzc!woFBq8mFL_9O!;GB0af{aOoN>trZbPlSACUbzFm~r()_pacnkF>nQmy} z#aAVv|J;k%Fqo~s_$m~`teuuCBL4$g>IR}AJKI6!?-Sc|{gB_3%wlK4@Jq_CV$Grc zlm;+7|AG(me}M}17w7*<+I#jF`0E`2_vZ_4EXO?w)A5=XD)8(4Ue4!>i*G<9B3-qL zco+WLE7s|~coj*5P9-n+qv#Ri?iu2lL8qP6|kYyZs zkU#>M|4=ynS@Uqr@ctn@KxkqBoBt3O=(6)47Uwqwe^j^SfpZN%@WbF46qTvGbiny` zv<9wzxr6vCE_eo?L4(hrjWH8ZFZUq;txHhc#af`%Da|jM?x(f?imAP%pygY7CG(WN`lR-;=+f>B-VID1^Qfv7G7nq>AkHH02yiZ`wJ0@N2XQGq-%r6NK z5VGW)W4`d^-?2|H#5BbX`LkQ&hN4bpboHl5Vw_x-X;B0Welw+I*ffIxx z(r4eopXtAE0jPQGXShcD=Klg!!})JP9m189D_AdJp`}7c^ONX4V#%eM2@RuZx zar3W>N+otE>7;)F@q#O@YP2{C&fhXPe2YmIFc0_5YIs%)@BDlE=dXb3gM*_XU>!le%w zs=KgYiHiD53tc)%W2{ch_@rZcm!SAYaUO%-&x?!iQjEc{B%#o!{zQb_4Pi`O)P+u` z4EvERrwOAhtSHTYr#N?=ZMm@C?*t3`$xI9TOAFE;7urjU?=j`V3YoSIGX26+Ch=23 z|Lc-vmwCW!Lm!^S!>2PV06}u?hul&2MR5RCTG%87Z7D6>?RR8AX2x3#gq7w2Gx6(! zz&V0ilqOm@Bw&x=&){=J5+6gjRP&@v-milT2JZwOs0{w*vCyb|d34{|^cMC+ctWZv_ij^T%$bDMubLi@pxt6d)9#rj>6t! zK}=GVjs~8-mFB;vbu0+DBLVG>t;;|c6Hf4Rh)9=`g#+=*7SJfp+ZW7G?RP>IRfO;} zX+%EYYP#s){YDL4{8{v#)ny50kUxKh?!VzLr%M|0WRe;^O&8CYXwdoxD4GKs4v1&Qm*kXJAXF@t#Nl@)&3Mro4r%qYC@6i4}h4o~qf&^kmyX!y!-SzA+)6@(DbkU3$) zA|PxK(qCT{?M4j^3ty)4$oX;)R~wCu2k)He_F?f9%OjW~b6$$|cPvqg8oGdKV+R9r zVvkyQ17ihY?kaF9T3Yy4i4%`Y#f9(T4=aB;Ec1!liC0PRHV|fpHMTJm%-|a{OA8iGiq+tn0PtpZBt#!W0DDUnxBe^Hg8yX+K1)MDt+Hr%|}v#ia<&BUr70p+HKg zs;z!ej8Ai~V_wT8{Jc(!-&U>r*v`G0%cptS$P2s|y>_@*dhNf# z%Vu7-@UoQ``rWnP#mn8iZ0BVMFFSeJ&C5N!?7=04d1HDDn(LRp`~okAKAzY4nD;Oo z0B66kEj9bwr)MhF^7yvX<>AZIqt%&hC(G00qm|0&uoqboqga^5yFE(AbuNlb6qrjSfFro*A5c zzC7{3@bI4V+jm~LFg&tjWMpLb_Eo9D^vcuEk4^#7=!MbYp(?(v+vY-E5 zcwRxLr=PY#)lGN84C?!b;e8<8iTM6J9d6d(GW#9^pT++eUuJoEo0p&R@&PX&@$z$~ zAK+y_FUNR!ikD}38R2D$7Xq03CNJM+wpaP|MP9zl%WLV*H0}#8G434{`U0m>;@6ey zG>%Zg(^Xy3rljpOUSIMgZeIlPHPrM70e%s%22rg(+%Kg&b1;Z35P^m7AmAE{elKHI z!Tn`&B$@pxfxMvwa^;#~uQTjNB;Q^DB)W5Nt?0Ct0(v{+-aSnI6I>SG&iD(^gz{%7 zd<*`^`NC+-Pqe;pHSygzOS)!eui)j?itN8JL1g8S;I2z5D+tSe=}u|Zr|Fl_r?ukX z(JfE9+~$W$+arXR51AZJau_0c*@w$wR_H7X7KFH)moJeDfu%d+o4Oeo*s7WAlElah zEY%=k8$-Xr%hj&Vz(9-v5QHY1ljZfbdbi^*m*Hx0{eS;%R zYDoBpjQIgCH+&9)DiKsem{X|p!;Ei^GI6j+5!`p#KJTNob}`k5jFlO;v>R(SPo{?n z!{?UycBQM@j+p0Tzi}5|6`~lOhQ_%~Y_eaFBCq-RVQ3-o1w%EjkX;D}8ledrMtA#o*28ZB1jD3Q+$Oy_6k||6%e@i3iQd(Ks#h!vy>(Um!-(ucV zr7dD=5_kX7DZ1RQ5ufrkvP`+Av_>M}im^xI#8F;Ob$t7qTq8B>NO-`{oL? zyu3%p+-G?ilXtpEL;sNL2Xg&Lu0NM$jsdyum+LXPJ|)*@ zm(Gzw<6?W9`w$)h#_bC}A9w+(@PP271)%Gob?DWe=Y@L#;QT=r1(Sh`ImO-52L{jw z@CsNN#`q&h3?%|Qzzh6yy;LVJ8D83X>F9%Ja2woAN?TCzZcj~;1pq-2FfM>0z}c`5 zdg=@)i;XCQE^y{?_Q!cYA8@4;Zuo}$@DY8*Z0xmKIws+M1bgp@Aj2wBpCSyS+< zmc2JXoYI9GWW;4+pdG_QA3ROc@YMk{O8mRie(eblLPlJ?(P!kH&Y8eo%0R&;A!LtW zMh|4ET~1O%A_dMK^w9@1tS`VR+ax9BOgu_rG))-lo{Wyo2fzsZo+;vjmx2Xd<3f8# zSMUPX2~f)h&sa=H`fO-F(NZw)054J3l?^fLbL>31T+!?BeYt&@6sKu4$t_-+y+uiy zFGsI_Ed?4q_ad+v0I+lkq+#DxsD1f?PQdmZuCdCg4TOOkT?j3imVu!U&g^X5OBfbl zRc9ZYl1&u!PYl|4j0{!9gDfuc9z?-`h#|sqSN-=s@Df&4wKDKM@~L`Fy{F-sOxB%U z%K@ z0mx<;aR$VrFArjo(uJHbzC0lrG!{4DZ8mDTBVxp)WKzDu^v$ zlB}~SdEj))AT|3{spppqd1WZz_9_P=A5)2MqvWHj7NrMC^o9-!Z^*zXyPRmFl7a8_ zeh3(Pm7-({77@Vd0;H!9{6}2&WKx*iclkY5+?Dd0qM)hZv1{JCP1ZLH*_Hb2&n?~$ zYJn+VQJ<`NAJ%En^y2UoOa=Wy?67rORD6zTrD3^7A{E$gHi3Hu&{8=Kg0t@k>%4;{ zU*%De9~$*GcpYATq(%qav$-)N&t+sdQE>}{&=3+E8I@EViX^tMYCv|D6?6&<(n3>z zJH1A^&kmjciMZ^FBO1bB?n~*DjFNj*585j)KjC%pZS9d#V{Q2Y$0r$nbVQQjONL9Y zjnVySFmApyij`IxV$~NYZK^x_W4~{XOCjPi#@RJHz)ET-00+M^*p>iR>MFT@qL{s9 z1h|hmpXfr*fn55Ee}_WHU1O)X6RUv5K%e-hgvGD-h28IiTa*G3H(?#loyonRO#x2o zU+?Q%W7zS!J?Y0}zQ;Ha`$6>USooQAm+Mr-`nhc}%RY~g8-mdd^!2tpDxME9`?-38 zNcOqD6(~LM5hX*1FXD2e&p1FK{)*2+cio?d%OQU?XW?8r?x2_|zd$D`iZ_>MF)H z-zAud==8XS$;JI~OBznu0o`P~Ap)sU7LO42N{$m~AC7d&j~pS)jwHC=spwLVR%xv* z7|{dQOmWr$nRKTNQSghnn|g~NK#}J=nBYy7Crl$qJb0OsUVbocvTN=TQu+^bm!+`| z^_lljYn$6Ij+Te|`U>0)#Y{5HACeN_B(qO#e!uyKXP)1x6;i!N#9U zp@^6pDL5hmBH0oSI=Ha#OKMhw>C6|Z$9=-;yyuc!s{*~MTXi|WLtyr!(^GKz{m2wM zC7YsTo`&HKZL&s)1Id^c2`R#rqcLxkA0jX_DuXe+b4#$c2{-uWRIdiH*hre4;QjRK zZ+lf8L**u3p@y(mgPyDtw5yUFZkoQr-4UYwMQYacLz8%6ysz?6JVwnB&ZsbpPU|qy zOXo3Fg`28eyRw*%!gmpmxh(s9Dx23EyFPCH9qFR70PK*4jik3x^&rUC(KT`H)53*y zUKhqKa6Tvb1eH=C$zC&Xq#wT_)u5}W>?VY^EV~b1_myQS$~c96%WArBO1^KA*}cF# zDyhC>rTR9oD9wIfTD3I$hbr=Bzc1;&=WCKT*f8|nl=^h2A16IF13~{TXsnYl@pd#B zZiv+Zj*r)TNbtmCm1Js$TgTlg_@!gMlBKJg;9yC?4(s`C@E!reiUj3ZpR|lsAU0PE z-?vh~uUa(H0G+PjnTohP&b_Nl1%*}4CjflfON@3*&w;t?I={K0{$rT!g)eYn>G3+l zcW|%|882ZrB-5h<_`>;n2=Ivd8{Y77qu~W}PV<)@DoW*)*){wFd*0 z{hos`@Sl_?*$8xf{JuW>yo+jlUsSsHl?Lx~_Akblxev7_ADaAgAIk8rR(fR~eU|(R zY+iSOAJZ4H8o`9G1fRPB1DgK?E50h_qT-5AgziQ8nAM{Tgvjf_sP7AN^BSP^vA z)f9+tEY1dJZBRa}0#8v;z>}1Yw<`47j&=o%XBmX$sqs z9~gwmw1FX5-Uw65s6{Iq@Oe$u7Zs?pKhk!_tPHq)OJ;CI2r)nehy|%&znnXOkS#?{ zjkee^q6v$Dk{jkaSq$tjr-25rwc(zoY1AkP^T(7;WRb;Z6L}U7dF?v$AIS`Hp}k<3 z30rC7*wPwVucj^8?e_7Z-Vxj^3Fd zl%Y>S{FBf;b05N@tA<#ld{;Tj7pXrA1PXFU)9u%$qaKD1B=Zl-23hA3E&feg{>;9q zO#Y_ehBY8B)g@vI4Z@WGtfff@(NY(IhFE9N)kGU&66FpiLlf%DPuelyrf*??!z30< zZ&-pu1L)M3Xn!cw`9NPjFaiNB1yP$4XVZ7Zp{}p!sR!!M)nO5VGO%CgP(y!AGAb&| zeREiLqtXNanEBVz8Xy9BL3;Co=*SDV$aSS$_sR8~To1`r`V`!4cwKV~`}!bAOfONi z3$t=yVhHnYmq^GCMeBIIrA^^m;iuT{HeSip|&=Egq;tN zMH>+JML*U2$L!cBc>bLgfD1Oz>A!~J&+iX`2@xw*B*o&-IB7ufuW`*%=g}g(7uth< zwXoj`H)D>HM|(eK#7MT@>d&tPJr`?R;UMNb`&iD|Q&$dlo7XLXo8o{+@lUKlhUv86GRzolx zJ2rV~JYbOvZ&=;J70X(YM;uf#p76`A(^B3j%Wx2j4*EL<6!lk9)@oL8=IU;A1S;N=_Bf3PZ!JHUh zLw=sSvB}Fz32%@PeUe42dBF1E@q_?U&`CS1PtcFjJZUlI^>ZQz(lKC5cK^>7|vKuQ~1o9z)eJ+e;~NOPpnxY zRY|{YevP0v@+vI>6`4ss7DNJ-PY@A0&;Cg2rnT@@3k1w>lFZV87%%xe7$zB%B%0GR zg>&!@@HiGGz9G5EE|l3WA@KUZYZkb!Ac7%#;d5N3x*1GmCU- z27VbHjOvMZJ3REf!SpAdoF1BbY;xl8OT*>1j#XU}ea^h$Lo-KGUYiL^PhJ>2GY|kfrVX|2v!@@vJTXk(d3bE- zVx>c_#CkB>d8|Bfv3iLWxRCPN4WRZ5)05*j2TEU7Jzjp{^5}GVmbGM~6I0asGVwgX@O5@7pbaO4_P~{P;UWMx9vB}|~vGQqncu!nx z3cmvuoNRUSCLlPiJvuQ`e(A)8n{Vw?7PRiMp-S~=s}P+ABm>OcJgi6qj+bv9l-o%r zrw(ZyuB*;4X}gVZdA_U>LkE-)u*WahU>peDva_>diwu zX+i87o}8L_5*iO=mEHYYkjJBAW9}&445$+ps2rPA`qa(AV?7*I2YSFX^r4kjSo`xB z-%D0N=Zm5#JZ9mM9i12+yF5~^+&sw-ro7KArEmn=orE77eZCwjE%)s5JO}NG@=H}J z!7-qxMVA&3s>3`!G;vXZ?AQ^Zhg9{%gM z^73@$6INgs0gg^!QV|P2U4{}jQn}3v?vd1EW1|&~i()Z2I$rL#!is*_%aaqJK!pa}A z2Hb8`&D5jee!vZS+LIESA0V3s=O_UHAOvg*f}>^u0!iHx3PS#-ARM$Hbg>fJP%Xjm zo3tqyM=TgUf=Af+O#yOLyo$s0O~HwBoarGgQO561ts>HVGe2wr$@{griIz?Pb2E+o zs0F5Eu(`?hj`ksnz@`AKu_Vum>LlAo$DIu|M~m+2IF)3P^tc{_5n(>CthRb6#wm z&TUJWP+FT$5xS!kj7?s2l!B4+`O6m_rDb&D!lV;$WoUZB$y1)5o}6|@d0+xdmy>81 zw!~>C9~Beb zq+73{sj0D5&HYdXu7;i0Lr!y;v<%T0lIxNfxa@F=Y7Wv6{dD~}C5_Nkg!WG_!B z9**@+l4A#^qsGwnrG8YJ|n$;Xq2Onw`(7)TFM; zIvFZf22!(*(Q#N;;#~^B=fMe}AA(cp{{7>mn=@qW-#=Z3$abBh&@{f7Bj_a2m6errHyoLaUs5WvY%U$LDRi7> z*1p?Re%H66>1B5}JEg=;6SK2&`8=dp1n+)e{AH~K*n&KWU36M|^Qbd`=QAZH2SSh)!g zo`f!JuW?JIZeoSoh3KqtW2~C4R=CQ2^DDTHEHA@ezKq~7v{Z-S7I^dE91#W?SZ-mY z>cqf)X>z(1>f3%SZRbZXwgSr;EY6ROPCVZVG}|?!9aFxMWkc-(r{>Gn2`+#oh9}2b zYX+yE5@My9kvajO?VXVstzzUKt}I(?wA!>zYgC|?jI{#I=@A?SpD!<4kHEOPjIgF! zf#pm{V8nH1q414)c+$0pIV(|4;?c?zqvb2kOjC5B9kw=4w-6ec|4a-1d8#%upYxyX;X@GwiLGe!D$T)3;)DDU_0O)W<1W3Fg?_Fl8%CHb%Nu zmfDSxj-pjrqA_Y@sE?G>7@A>kz4Q)gD@!#-tsM1nidLd-W2B=?cj75;59zmAv2@6{ zy_Ow&1Ek3i-M!X1)8=HiKF9Q~4yH916Jw5ici2jX?;}|!cVsEju?{7B_Bks`#yz)Y z3F2RE$F8@vbK4)+P83D*IEC^3s+DX1YI~H!QP0fE~38$FP31 zeqOd!&AcZrEScBY#}wo}T0bM#o1FE5Amg#g$*HDV;wsHa2uRq;I7>DkA7OOB^ajHCP zI3RqOJpZ|8{r#KIT3=(>vF+|4&9+x_z!{`$h_ z9)9+pcF4yu^ydyf^UEFyKSe8@=bb$`Ielns>^RIM-gspglrL`^85=XvzuW*YEBT=i zej4MNAG!@xTkk#VzkT$e-q({s@$p%n|*)J z%pV^(=)LjNSDxJU;z936k6j%9;lDiSJ@A!tA3XKf2lv1F{g?Xx%T-w1i1evuW7_z|2;|K zdH?NydcWL1=pK~KzQCFv6Y*BQ`IGAcVEVB&{6@+CmskGV-z0$l=9~ZMODyDvlmGia z=0`;Sqvu{aJd8p{{)_+W58ltS#rP=}0pZ{Ic2)Eo24fH~n^@FpdGz2q81><~gLh#&H*NH>W${rOHii%9{eDpHLi z{9*#6pP}FsYHfaZdFM$3Z{FLD@PkM*j^8rUS5XR_e8GR)P`ASj5G}YEMi{7|7nB~yD5YZ;CT|M%P4_A_ko8E4um;@ zG9JU7`0(c>o-YH30q-Fxk@dWcSk0S5UQ^#g_^((cg>?EXauELten*jlKX;>thIyaB zKWh`_*$Mo1;C~nX?+)-JOzpzx>&RmQQ)dknW=7Vr{2TPhxt} zy99_jqCF&KobbchnoMnQoM@=59YT|nh$odVBev?$Gl>@S-d(XgQHq50*o-tg@w^A= z_Tv9;q}=Y^i|Yv9cY)`I@H>M0-M9|pz6-It@xRmmy$5-R@Xz1fK3;pJJq`$7Wng@6aWAK2ml(o1XFTnan3`O0RSe-a0 zmGZOQ(_K}bQA)C{8l|L@Qo8GOZS5E$K?+U~U;$uCs#@=F-}{INL<9g5Z-PqtlwBeT z#N*x@H}3oX;eR|W0_T$#Cw>(E@zqzyU%vVu-~XTg#~-HA1pd!~fBxVmiMO~9p2cVS zE_4^(_kUW&@S8vR!x!{XJpP6C{2vzZ3C7o7=dT=m?T@eS{#_1qd>Sp5e&EH&Z~buU z#b;jN&E3>{rM*k?K~9CXVaOz0iyOi8B>rIO&6%I&Kg+3om_$ zrp^TZPMjr73_r!uYW{HSI6p+O4k63>ak;Q82^{fpx1|FCppcOf?Ag>yfI zg*$f-o&$446CV~ab&^T!FH?tqK8CUArFA2v4}Nle|Eo7i#b}@0Uu3EIEy6rr9c-q(CI4!^d8_io=A* z14OKX6jzCG_QN@i!Jx+xa8@N$M?*nYo#t{_@wuir~ZX8GiTC3QnzHF`pO9j>J7S5>CC2 z9AXcEDlhf}f%J^rN3Xm^0uY2{Lekfd>*7> zljG>g@d^oU@_+;LgA!g5$h8x92|TpqgtZ6E zMd+s$caD$xZs7l�(&}8vAXbxQT_*q_b@!|pCtdB2O$pfug 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 Xf(!6wWdq5x10fGEGSkbmFrtLmO(cO;pF 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