From 3a8ae9db61a76d44efa3944d949a2015238f366c Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Tue, 3 Aug 2021 16:43:27 +0300 Subject: [PATCH 01/68] --- BaseMatrix.cs | 233 ++++++++++++++++++++++++++++++++++++++++++ Interfaces/IMatrix.cs | 38 +++++++ MathExtended.csproj | 2 + Matrix.cs | 145 ++------------------------ 4 files changed, 282 insertions(+), 136 deletions(-) create mode 100644 BaseMatrix.cs create mode 100644 Interfaces/IMatrix.cs diff --git a/BaseMatrix.cs b/BaseMatrix.cs new file mode 100644 index 0000000..168565a --- /dev/null +++ b/BaseMatrix.cs @@ -0,0 +1,233 @@ +using MathExtended.Interfaces; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MathExtended +{ + /// + /// Базовый класс матрицы.Реализует интерфейс перечисления + /// и ограничивает принимаемые обобщения до числовых типов( и т.д) + /// + /// Числовой тип + public abstract class BaseMatrix : IEnumerator,IMatrix where T: IComparable, IFormattable, IConvertible, IComparable, IEquatable + { + protected T[,] matrix; + + private int _rowsCount; + + private int _columnsCount; + + protected T[] _mainDiagonal; + + + private int _rowPosition = 0; + + private int _columnPosition = -1; + + private bool disposedValue; + + /// + /// Создает матрицу с указаными размерами + /// + /// Количество строк + /// Количество столбцов + public BaseMatrix(int rows,int columns) + { + + _rowsCount = rows; + + _columnsCount = columns; + } + + /// + /// Число матрицы + /// + /// Строка + /// Столбец + /// + public T this[int row, int column] + { + get + { + return matrix[row, column]; + } + + set + { + matrix[row, column] = value; + } + } + + /// + /// Колличество строк в матрице + /// + public int RowsCount + { + + get => _rowsCount; + } + /// + /// Колличество столбцов в матрице + /// + public int ColumnsCount + { + get => _columnsCount; + } + + public T[] MainDiagonal + { + get + { + return _mainDiagonal; + } + + private set + { + _mainDiagonal = value; + } + } + + public T[] FindDiagonal() + { + List mainDiagonal = new List(); + + Parallel.For(0, _rowsCount, i => + { + + Parallel.For(0, _columnsCount, j => + { + if (i == j) + { + mainDiagonal.Add(this[i, j]); + } + + }); + + }); + + return mainDiagonal.ToArray(); + } + + #region IEnumerable + /// + /// Текуший элемент + /// + public T Current + { + get + { + return matrix[_rowPosition, _columnPosition]; + } + } + + object IEnumerator.Current => Current; + + + + /// + /// Перечислитель + /// + /// Перечислитель матрицы + public IEnumerator GetEnumerator() + { + foreach (var i in matrix) + { + + yield return i; + } + } + + /// + /// Перемещает индексатор на одну позицию вперед + /// + /// true или false в зависимости ли можно переместить индексатор + public bool MoveNext() + { + + if (_rowPosition < this.RowsCount) + { + if (_columnPosition < this.ColumnsCount - 1) + { + _columnPosition++; + } + else + { + if (_rowPosition < this.RowsCount - 1) + { + _rowPosition++; + } + else + { + return false; + } + _columnPosition = 0; + } + return true; + } + else + { + return false; + } + + + + } + + /// + /// Перемещает индексатор в начало матрицы + /// + public void Reset() + { + _rowPosition = 0; + _columnPosition = -1; + } + + + + /// + /// Высвобождает использованные ресурсы + /// + /// + protected virtual void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + + + matrix = null; + + + } + + // TODO: освободить неуправляемые ресурсы (неуправляемые объекты) и переопределить метод завершения + // TODO: установить значение NULL для больших полей + disposedValue = true; + } + } + + // // TODO: переопределить метод завершения, только если "Dispose(bool disposing)" содержит код для освобождения неуправляемых ресурсов + // ~Matrix() + // { + // // Не изменяйте этот код. Разместите код очистки в методе "Dispose(bool disposing)". + // Dispose(disposing: false); + // } + + /// + /// Освобождает использованные ресурсы + /// + public void Dispose() + { + // Не изменяйте этот код. Разместите код очистки в методе "Dispose(bool disposing)". + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + #endregion + } +} diff --git a/Interfaces/IMatrix.cs b/Interfaces/IMatrix.cs new file mode 100644 index 0000000..9ac0497 --- /dev/null +++ b/Interfaces/IMatrix.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MathExtended.Interfaces +{ + /// + /// Определяет основную структуру матрицы + /// + /// + public interface IMatrix where T: IComparable, IFormattable, IConvertible, IComparable, IEquatable + { + /// + /// Главная диагональ + /// + T[] MainDiagonal { get;} + + /// + /// Метод нахождения диагонали + /// + /// Массив состоящий определяющийся главной диагональю матрицы + T[] FindDiagonal(); + + /// + /// Количество строк + /// + int RowsCount { get;} + + /// + /// Количество столбцов + /// + int ColumnsCount { get; } + + + } +} diff --git a/MathExtended.csproj b/MathExtended.csproj index 9be168b..8d5c8b4 100644 --- a/MathExtended.csproj +++ b/MathExtended.csproj @@ -178,8 +178,10 @@ + + diff --git a/Matrix.cs b/Matrix.cs index d44df12..c3a678c 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -16,12 +16,10 @@ namespace MathExtended /// Описывает основную логику матриц /// /// Числовой тип - public class Matrix:IEnumerator where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable + public class Matrix:BaseMatrix where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable { #region Поля матрицы - private T[,] matrix; - private T[] _mainDiagonal; private int rowsCount; @@ -34,12 +32,6 @@ public class Matrix:IEnumerator where T : IComparable, IFormattable, IConv private bool disposedValue; - private int _rowPosition = 0; - - private int _columnPosition = -1; - - - #region Свойства матрицы /// /// Массив из объектов составляющих главную диагональ матрицы @@ -58,22 +50,7 @@ private set } } - /// - /// Колличество строк в матрице - /// - public int RowsCount - { - - get => rowsCount; - } - /// - /// Колличество столбцов в матрице - /// - public int ColumnsCount - { - get => columnsCount; - } - + /// /// Размер матрицы /// @@ -96,89 +73,12 @@ private set } #endregion - #region IEnumerable - /// - /// Текуший элемент - /// - public T Current - { - get - { - return matrix[_rowPosition, _columnPosition]; - } - } - - object IEnumerator.Current => Current; - - - - /// - /// Перечислитель - /// - /// Перечислитель матрицы - public IEnumerator GetEnumerator() - { - foreach (var i in matrix) - { - - yield return i; - } - } - - /// - /// Перемещает индексатор на одну позицию вперед - /// - /// true или false в зависимости ли можно переместить индексатор - public bool MoveNext() - { - - if (_rowPosition < this.RowsCount) - { - if (_columnPosition < this.ColumnsCount - 1) - { - _columnPosition++; - } - else - { - if (_rowPosition < this.RowsCount - 1) - { - _rowPosition++; - } - else - { - return false; - } - _columnPosition = 0; - } - return true; - } - else - { - return false; - } - - - - } - - /// - /// Перемещает индексатор в начало матрицы - /// - public void Reset() - { - _rowPosition = 0; - _columnPosition = -1; - } - - #endregion - - /// /// Создает матрицу с указанными размерами /// /// Колличество строк в матрице /// Колличество столбцов матрице - public Matrix(int rows, int columns) + public Matrix(int rows, int columns):base(rows,columns) { rowsCount = rows; @@ -396,12 +296,12 @@ private void OnDiagonalChanged() Parallel.For(0, matrixA.RowsCount, row => { Parallel.For(0, matrixB.ColumnsCount, column => - { - for (int k = 0; k < matrixB.RowsCount; k++)// A B или C ? { + for (int k = 0; k < matrixB.RowsCount; k++)// A B или C ? + { matrixC[row, column] = Operator.Add(matrixC[row, column], Operator.Multiply(matrixA[row, k], matrixB[k, column])); } - }); + }); }); return matrixC; @@ -572,7 +472,8 @@ public string OutString() { for(int column = 0;column < this.columnsCount; column++) { - outString += $" {this[row, column]} "; + outString += matrix[row, column].ToString().PadLeft(8) + " "; + } outString += "\n"; @@ -597,7 +498,7 @@ public string OutString() /// Высвобождает использованные ресурсы /// /// - protected virtual void Dispose(bool disposing) + protected override void Dispose(bool disposing) { if (!disposedValue) { @@ -615,33 +516,5 @@ protected virtual void Dispose(bool disposing) disposedValue = true; } } - - // // TODO: переопределить метод завершения, только если "Dispose(bool disposing)" содержит код для освобождения неуправляемых ресурсов - // ~Matrix() - // { - // // Не изменяйте этот код. Разместите код очистки в методе "Dispose(bool disposing)". - // Dispose(disposing: false); - // } - - /// - /// Освобождает использованные ресурсы - /// - public void Dispose() - { - // Не изменяйте этот код. Разместите код очистки в методе "Dispose(bool disposing)". - Dispose(disposing: true); - GC.SuppressFinalize(this); - } - - - - } - - - - - - - } From 3474214c3f5ea358f067e8cccbce311775fd2094 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Fri, 6 Aug 2021 17:38:20 +0300 Subject: [PATCH 02/68] --- BaseMatrix.cs | 25 +++++++++++++-- Matrix.cs | 84 +++++++++++++-------------------------------------- 2 files changed, 44 insertions(+), 65 deletions(-) diff --git a/BaseMatrix.cs b/BaseMatrix.cs index 168565a..d937031 100644 --- a/BaseMatrix.cs +++ b/BaseMatrix.cs @@ -15,12 +15,18 @@ namespace MathExtended /// Числовой тип public abstract class BaseMatrix : IEnumerator,IMatrix where T: IComparable, IFormattable, IConvertible, IComparable, IEquatable { + /// + /// Матрица представляющая собой двумерный массив + /// protected T[,] matrix; private int _rowsCount; private int _columnsCount; + /// + /// Главная диагональ + /// protected T[] _mainDiagonal; @@ -41,6 +47,8 @@ public BaseMatrix(int rows,int columns) _rowsCount = rows; _columnsCount = columns; + + } /// @@ -48,7 +56,7 @@ public BaseMatrix(int rows,int columns) /// /// Строка /// Столбец - /// + /// Число по указанному адресу в матрице public T this[int row, int column] { get @@ -78,6 +86,9 @@ public int ColumnsCount get => _columnsCount; } + /// + /// Главная диагональ + /// public T[] MainDiagonal { get @@ -85,12 +96,16 @@ public T[] MainDiagonal return _mainDiagonal; } - private set + protected set { _mainDiagonal = value; } } + /// + /// Находит главную диагональ матрицы + /// + /// Массив состоящий из чисел составляющих главную диагональ public T[] FindDiagonal() { List mainDiagonal = new List(); @@ -112,6 +127,12 @@ public T[] FindDiagonal() return mainDiagonal.ToArray(); } + + private void OnDiagonalChanged() + { + MainDiagonal = FindDiagonal(); + } + #region IEnumerable /// /// Текуший элемент diff --git a/Matrix.cs b/Matrix.cs index c3a678c..3bc8fef 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -20,8 +20,6 @@ public class Matrix:BaseMatrix where T : IComparable, IFormattable, IConve { #region Поля матрицы - private T[] _mainDiagonal; - private int rowsCount; private int columnsCount; @@ -32,25 +30,7 @@ public class Matrix:BaseMatrix where T : IComparable, IFormattable, IConve private bool disposedValue; - #region Свойства матрицы - /// - /// Массив из объектов составляющих главную диагональ матрицы - /// - public T[] MainDiagonal - { - get - { - DiagonalChanged.Invoke(); - return _mainDiagonal; - } - - private set - { - _mainDiagonal = value; - } - } - - + #region Свойства матрицы /// /// Размер матрицы /// @@ -86,35 +66,28 @@ public Matrix(int rows, int columns):base(rows,columns) matrix = new T[rowsCount, columns]; + IsSquareMatrix = RowsCount == ColumnsCount; + DiagonalChanged = OnDiagonalChanged; } /// - /// Находит диагональ матрицы + /// Создает матрицу на основе двумерного массива /// - /// T[] ArrayМассив значений составляющих диагональ - public T[] FindDiagonal() + /// Двумерный массив + public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1,array.GetUpperBound(1) + 1) { - List mainDiagonal = new List(); - - Parallel.For(0, rowsCount, i => - { + + matrix = array; - Parallel.For(0, columnsCount, j => - { - if (i == j) - { - mainDiagonal.Add(this[i, j]); - } + IsSquareMatrix = RowsCount == ColumnsCount; - }); + DiagonalChanged = OnDiagonalChanged; - }); - - return mainDiagonal.ToArray(); } + private event Action DiagonalChanged; private void OnDiagonalChanged() @@ -122,29 +95,7 @@ private void OnDiagonalChanged() MainDiagonal = FindDiagonal(); } - #region Индексатор - /// - /// Число матрицы - /// - /// Строка - /// Столбец - /// - public T this[int index, int index1] - { - get - { - return matrix[index, index1]; - } - - set - { - matrix[index, index1] = value; - } - } - - #endregion - - #region Matrix Sum + #region Операторы /// /// Суммирует две матрицы и возвращает 3-ю @@ -203,8 +154,12 @@ private void OnDiagonalChanged() } } - #endregion - + /// + /// Вычетает два двумерных массива и возвращает 3-й + /// + /// Матрица A + /// Матрица B + /// Разность матриц представленных в виде двумерных массивов public static double[,] SubstractMatrix(ref double[,] matrixA, ref double[,] matrixB) { @@ -315,6 +270,9 @@ private void OnDiagonalChanged() } + #endregion + + /// /// Возводит матрицу в степень /// From cd1da029b621d18d9f68eb1aa2f3a5876201e486 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sat, 7 Aug 2021 18:04:03 +0300 Subject: [PATCH 03/68] --- Exceptions/InvalidOperationForMatrix.cs | 17 ++++++++++++++++ MathExtended.csproj | 1 + Matrix.cs | 27 +++++++++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 Exceptions/InvalidOperationForMatrix.cs diff --git a/Exceptions/InvalidOperationForMatrix.cs b/Exceptions/InvalidOperationForMatrix.cs new file mode 100644 index 0000000..9715a73 --- /dev/null +++ b/Exceptions/InvalidOperationForMatrix.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MathExtended.Exceptions +{ + /// + /// Появляется когда матрица не соответствует + /// + /// + public class InvalidOperationForMatrix : Exception + { + private string message = "This operation is not achievable for the current matrix."; + } +} diff --git a/MathExtended.csproj b/MathExtended.csproj index 8d5c8b4..60d0eda 100644 --- a/MathExtended.csproj +++ b/MathExtended.csproj @@ -179,6 +179,7 @@ + diff --git a/Matrix.cs b/Matrix.cs index 3bc8fef..b70128d 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -316,6 +316,33 @@ public Matrix TransponateMatrix() return transposedMatrix; } + + /// + /// Приводит матрицу к ступенчатому виду + /// + /// .Матрица в ступенчатов виде + public Matrix ConvertToStepped() + { + var steppedMatrix = this; + + if (IsSquareMatrix) + { + for (int i = 0; i < RowsCount; i++) + { + for (int j = i + 1; j < ColumnsCount; j++) + { + dynamic koef = Operator.Divide(steppedMatrix[j, i], steppedMatrix[i, i]); + for (int k = i; k < RowsCount; k++) + steppedMatrix[j, k] -= steppedMatrix[i, k] * koef; + } + } + } + else + { + throw new TheNumberOfRowsAndColumnsIsDifferentException(); + } + return steppedMatrix; + } #region Фичи /// From 06e0790d1e98b2672421599c09c73c70b836940f Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sat, 7 Aug 2021 18:06:38 +0300 Subject: [PATCH 04/68] --- Matrix.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Matrix.cs b/Matrix.cs index b70128d..1bda6b3 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -320,7 +320,7 @@ public Matrix TransponateMatrix() /// /// Приводит матрицу к ступенчатому виду /// - /// .Матрица в ступенчатов виде + /// Матрица в ступенчатов виде public Matrix ConvertToStepped() { var steppedMatrix = this; From 5daba42fd16095a944b1596d7adff5105055b3f0 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sat, 7 Aug 2021 18:55:12 +0300 Subject: [PATCH 05/68] --- Matrix.cs | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/Matrix.cs b/Matrix.cs index 1bda6b3..3e3d018 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -323,26 +323,52 @@ public Matrix TransponateMatrix() /// Матрица в ступенчатов виде public Matrix ConvertToStepped() { - var steppedMatrix = this; + var steppedMatrix = ; + + dynamic primaryElement = null; + + T[] primaryRow = null; if (IsSquareMatrix) { for (int i = 0; i < RowsCount; i++) { - for (int j = i + 1; j < ColumnsCount; j++) + if(i != 0) { - dynamic koef = Operator.Divide(steppedMatrix[j, i], steppedMatrix[i, i]); - for (int k = i; k < RowsCount; k++) - steppedMatrix[j, k] -= steppedMatrix[i, k] * koef; + primaryElement = 0; + primaryRow = GetRow(i); } } + + for (int e = 0; e < ColumnsCount; e++) + { + steppedMatrix[0, e] = steppedMatrix[0, e] / primaryElement; + } + + return steppedMatrix; } + + else { throw new TheNumberOfRowsAndColumnsIsDifferentException(); } - return steppedMatrix; + + + } + + private T[] GetRow(int index) + { + var row = new List(); + + for(int r = 0;r < RowsCount;r++) + { + row.Add(this[r,index]); + } + + return row.ToArray(); } + #region Фичи /// From d9a6c4252840f6562bc8b5e158789a36a8b640bb Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sat, 7 Aug 2021 18:57:24 +0300 Subject: [PATCH 06/68] --- Matrix.cs | 45 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 41 insertions(+), 4 deletions(-) diff --git a/Matrix.cs b/Matrix.cs index 3e3d018..8af2704 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -353,8 +353,45 @@ public Matrix ConvertToStepped() { throw new TheNumberOfRowsAndColumnsIsDifferentException(); } - - + + + } + + / Создает матрицу с вычеркнутыми столбцами на основе текущей + /// + /// Количество вычеркнутых столбцов + /// + private Matrix CreateMatrixWithoutColumn(int column) + { + if (column < 0 || column >= this.ColumnsCount) + { + throw new ArgumentException("invalid column index"); + } + var result = new Matrix(this.RowsCount, this.ColumnsCount - 1); + result.ForEach((i, j) => + result[Operator.Convert(i), Operator.Convert(j)] = + Operator.Convert(j) < column ? this[Operator.Convert(i), + Operator.Convert(j)] : this[Operator.Convert(i), Operator.Convert(j) + 1]); + return result; + } + + /// + /// Создает матрицу с вычеркнутыми строками на основе текущей + /// + /// Количество вычеркнутых строк + /// + private Matrix CreateMatrixWithoutRow(int row) + { + if (row < 0 || row >= this.RowsCount) + { + throw new ArgumentException("invalid row index"); + } + var result = new Matrix(this.RowsCount - 1, this.ColumnsCount); + result.ForEach((i, j) => + result[Operator.Convert(i), Operator.Convert(j)] = + Operator.Convert(i) < row ? + this[Operator.Convert(i), Operator.Convert(j)] : this[Operator.Convert(i) + 1, Operator.Convert(j)]); + return result; } private T[] GetRow(int index) @@ -442,7 +479,7 @@ public Matrix FillMatrixInOrder()//Проблема с заполнение /// Применяет функцию ко всем элементам матрицы /// /// Делегат с одним параметром - public void ForEach(Action action) + public void ForEach(Action action) { if (action != null) @@ -451,7 +488,7 @@ public void ForEach(Action action) { Parallel.For(0, this.ColumnsCount, column => { - action(this[row, column]); + action(row, column); }); }); } From ede6fa90eb65052bd720073e20ca5e46ef1dccdf Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sat, 7 Aug 2021 18:58:51 +0300 Subject: [PATCH 07/68] --- Matrix.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Matrix.cs b/Matrix.cs index 8af2704..14b626e 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -357,7 +357,7 @@ public Matrix ConvertToStepped() } - / Создает матрицу с вычеркнутыми столбцами на основе текущей + // Создает матрицу с вычеркнутыми столбцами на основе текущей /// /// Количество вычеркнутых столбцов /// From 053d96c670f527b551fb36b1f0650d01f62f9fc8 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sat, 7 Aug 2021 19:00:51 +0300 Subject: [PATCH 08/68] --- Matrix.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Matrix.cs b/Matrix.cs index 14b626e..f423d09 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -488,7 +488,7 @@ public void ForEach(Action action) { Parallel.For(0, this.ColumnsCount, column => { - action(row, column); + action(this[row, column]); }); }); } From 46bed3792a3337c5682744ac28609459b014d6db Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sat, 7 Aug 2021 19:01:51 +0300 Subject: [PATCH 09/68] --- Matrix.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Matrix.cs b/Matrix.cs index f423d09..51ea0f2 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -479,17 +479,17 @@ public Matrix FillMatrixInOrder()//Проблема с заполнение /// Применяет функцию ко всем элементам матрицы /// /// Делегат с одним параметром - public void ForEach(Action action) + public void ForEach(Action action) { if (action != null) { Parallel.For(0, this.RowsCount, row => { - Parallel.For(0, this.ColumnsCount, column => - { - action(this[row, column]); - }); + Parallel.For(0, this.ColumnsCount, column => + { + action(this[row, column]); + }); }); } else From 82630c8bad9f31e116f6b6fbacb1bb298d16de87 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sat, 7 Aug 2021 20:50:45 +0300 Subject: [PATCH 10/68] --- Matrix.cs | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/Matrix.cs b/Matrix.cs index 51ea0f2..05d073d 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -323,7 +323,7 @@ public Matrix TransponateMatrix() /// Матрица в ступенчатов виде public Matrix ConvertToStepped() { - var steppedMatrix = ; + var steppedMatrix = this; dynamic primaryElement = null; @@ -357,7 +357,8 @@ public Matrix ConvertToStepped() } - // Создает матрицу с вычеркнутыми столбцами на основе текущей + /// + /// Создает матрицу с вычеркнутыми столбцами на основе текущей /// /// Количество вычеркнутых столбцов /// @@ -479,22 +480,22 @@ public Matrix FillMatrixInOrder()//Проблема с заполнение /// Применяет функцию ко всем элементам матрицы /// /// Делегат с одним параметром - public void ForEach(Action action) + public void ForEach(Action action) { - if (action != null) + if (action == null) { - Parallel.For(0, this.RowsCount, row => - { - Parallel.For(0, this.ColumnsCount, column => - { - action(this[row, column]); - }); - }); + throw new ArgumentNullException(); } else { - throw new ArgumentNullException(); + for (dynamic row = 0; row < this.RowsCount; row++) + { + for (dynamic column = 0; column < this.ColumnsCount; column++) + { + action(row, column); + } + } } } From 0467e9d31f20c4eb88150503668c771d798ab0c3 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Tue, 10 Aug 2021 16:20:26 +0300 Subject: [PATCH 11/68] --- Matrix.cs | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/Matrix.cs b/Matrix.cs index 05d073d..8f4f827 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -329,22 +329,38 @@ public Matrix ConvertToStepped() T[] primaryRow = null; + dynamic zero = 0; + if (IsSquareMatrix) { + + for (int i = 0; i < RowsCount; i++) { - if(i != 0) + if(Operator.NotEqual(steppedMatrix[i,0],zero)) { - primaryElement = 0; - primaryRow = GetRow(i); + primaryElement = steppedMatrix[i,0]; + primaryRow = GetRow(0); + + break; + + + } - } - for (int e = 0; e < ColumnsCount; e++) + } + for (int i = 0; i < RowsCount; i++) { - steppedMatrix[0, e] = steppedMatrix[0, e] / primaryElement; + for (int e = 0; e < ColumnsCount; e++) + { + steppedMatrix[i, e] = primaryRow[e] / primaryElement; + } } + + + + return steppedMatrix; } From c32c45ce67dabfa58a58f2e754b24ad4d9a53c8c Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Tue, 10 Aug 2021 16:47:53 +0300 Subject: [PATCH 12/68] --- Matrix.cs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Matrix.cs b/Matrix.cs index 8f4f827..b9f1c17 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -415,14 +415,26 @@ private T[] GetRow(int index) { var row = new List(); - for(int r = 0;r < RowsCount;r++) + for(int rowMember = 0;rowMember < ColumnsCount;rowMember++) { - row.Add(this[r,index]); + row.Add(this[index,rowMember]); } return row.ToArray(); } + private T[] GetColumn(int index) + { + var fullColumn = new List(); + + for(int column = 0;column < RowsCount;column++) + { + fullColumn.Add(this[column,index]); + } + + return fullColumn.ToArray(); + } + #region Фичи /// From 9a5e6f6c44f042cb040160d4aca3f1447e754350 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Tue, 10 Aug 2021 19:10:11 +0300 Subject: [PATCH 13/68] --- Matrix.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Matrix.cs b/Matrix.cs index b9f1c17..7afcff9 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -413,14 +413,14 @@ private Matrix CreateMatrixWithoutRow(int row) private T[] GetRow(int index) { - var row = new List(); + var fullRow = new List(); - for(int rowMember = 0;rowMember < ColumnsCount;rowMember++) + for(int row = 0;row < ColumnsCount;row++) { - row.Add(this[index,rowMember]); + fullRow.Add(this[index,row]); } - return row.ToArray(); + return fullRow.ToArray(); } private T[] GetColumn(int index) From f5cfbeb5023aea4f3d08d05800ee11c179a7eab1 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Wed, 11 Aug 2021 16:40:18 +0300 Subject: [PATCH 14/68] --- Matrix.cs | 218 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 175 insertions(+), 43 deletions(-) diff --git a/Matrix.cs b/Matrix.cs index 7afcff9..6de5e94 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -16,7 +16,7 @@ namespace MathExtended /// Описывает основную логику матриц /// /// Числовой тип - public class Matrix:BaseMatrix where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable + public class Matrix : BaseMatrix where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable { #region Поля матрицы @@ -29,6 +29,7 @@ public class Matrix:BaseMatrix where T : IComparable, IFormattable, IConve #endregion private bool disposedValue; + private double precalculatedDeterminant = double.NaN; #region Свойства матрицы /// @@ -58,7 +59,7 @@ private set /// /// Колличество строк в матрице /// Колличество столбцов матрице - public Matrix(int rows, int columns):base(rows,columns) + public Matrix(int rows, int columns) : base(rows, columns) { rowsCount = rows; @@ -76,15 +77,17 @@ public Matrix(int rows, int columns):base(rows,columns) /// Создает матрицу на основе двумерного массива /// /// Двумерный массив - public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1,array.GetUpperBound(1) + 1) + public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1, array.GetUpperBound(1) + 1) { - + matrix = array; IsSquareMatrix = RowsCount == ColumnsCount; DiagonalChanged = OnDiagonalChanged; + RowsUpdate = OnRowsUpdate; + } @@ -143,7 +146,7 @@ private void OnDiagonalChanged() { Parallel.For(0, matrixB.ColumnsCount, colunm => { - matrixC[row, colunm] = Operator.Add(matrixA[row, colunm], matrixB[row, colunm]); + matrixC[row, colunm] = Operator.Add(matrixA[row, colunm], matrixB[row, colunm]); }); }); return matrixC; @@ -197,14 +200,14 @@ private void OnDiagonalChanged() Parallel.For(0, matrixA.RowsCount, i => { - + Parallel.For(0, matrixB.ColumnsCount, j => { - matrixC[i, j] = Operator.Subtract(matrixA[i, j], matrixB[i, j]); + matrixC[i, j] = Operator.Subtract(matrixA[i, j], matrixB[i, j]); }); - + }); - + return matrixC; } else @@ -220,20 +223,20 @@ private void OnDiagonalChanged() /// /// /// Умноженная на число матрица - public static Matrix operator *(T multiplier,Matrix matrixA) + public static Matrix operator *(T multiplier, Matrix matrixA) { var matrixB = new Matrix(matrixA.RowsCount, matrixA.ColumnsCount); Parallel.For(0, matrixA.RowsCount, row => { - + Parallel.For(0, matrixA.ColumnsCount, column => { - matrixB[row, column] = Operator.Multiply(matrixA[row, column], multiplier); + matrixB[row, column] = Operator.Multiply(matrixA[row, column], multiplier); }); - + }); - + return matrixB; } /// @@ -242,23 +245,23 @@ private void OnDiagonalChanged() /// /// /// - public static Matrix operator *(Matrix matrixA,Matrix matrixB) + public static Matrix operator *(Matrix matrixA, Matrix matrixB) { - if(matrixA.RowsCount == matrixB.ColumnsCount) + if (matrixA.RowsCount == matrixB.ColumnsCount) { var matrixC = new Matrix(matrixA.RowsCount, matrixB.ColumnsCount); Parallel.For(0, matrixA.RowsCount, row => { - Parallel.For(0, matrixB.ColumnsCount, column => - { - for (int k = 0; k < matrixB.RowsCount; k++)// A B или C ? - { - matrixC[row, column] = Operator.Add(matrixC[row, column], Operator.Multiply(matrixA[row, k], matrixB[k, column])); - } - }); + Parallel.For(0, matrixB.ColumnsCount, column => + { + for (int k = 0; k < matrixB.RowsCount; k++)// A B или C ? + { + matrixC[row, column] = Operator.Add(matrixC[row, column], Operator.Multiply(matrixA[row, k], matrixB[k, column])); + } + }); }); - + return matrixC; } else @@ -266,7 +269,7 @@ private void OnDiagonalChanged() throw new TheNumberOfRowsAndColumnsIsDifferentException(); } - + } @@ -281,12 +284,12 @@ private void OnDiagonalChanged() /// public static Matrix Pow(Matrix matrix, int power) { - + if (matrix != null && matrix.ColumnsCount == matrix.RowsCount) { var matrixC = matrix; - for (int i = 1;i < power; i++) + for (int i = 1; i < power; i++) { matrixC *= matrix; } @@ -304,14 +307,15 @@ public static Matrix Pow(Matrix matrix, int power) /// Транспонированная матрица public Matrix TransponateMatrix() { - var transposedMatrix = new Matrix(this.ColumnsCount,this.RowsCount); + + var transposedMatrix = new Matrix(this.ColumnsCount, this.RowsCount); Parallel.For(0, this.ColumnsCount, row => { - Parallel.For(0, this.RowsCount, column => - { - transposedMatrix[row, column] = this[column, row]; - }); + Parallel.For(0, this.RowsCount, column => + { + transposedMatrix[row, column] = this[column, row]; + }); }); return transposedMatrix; @@ -334,16 +338,16 @@ public Matrix ConvertToStepped() if (IsSquareMatrix) { - + for (int i = 0; i < RowsCount; i++) { - if(Operator.NotEqual(steppedMatrix[i,0],zero)) + if (Operator.NotEqual(steppedMatrix[i, 0], zero)) { - primaryElement = steppedMatrix[i,0]; - primaryRow = GetRow(0); + primaryElement = steppedMatrix[i, 0]; + primaryRow = GetRow(i); break; - + } @@ -351,9 +355,9 @@ public Matrix ConvertToStepped() } for (int i = 0; i < RowsCount; i++) { - for (int e = 0; e < ColumnsCount; e++) + for (int e = 0; e < GetRow(i).Length - 1; e++) { - steppedMatrix[i, e] = primaryRow[e] / primaryElement; + steppedMatrix[i, e] = GetRow(i)[e] / primaryElement; } } @@ -364,7 +368,7 @@ public Matrix ConvertToStepped() return steppedMatrix; } - + else { throw new TheNumberOfRowsAndColumnsIsDifferentException(); @@ -410,6 +414,105 @@ private Matrix CreateMatrixWithoutRow(int row) this[Operator.Convert(i), Operator.Convert(j)] : this[Operator.Convert(i) + 1, Operator.Convert(j)]); return result; } + /// + /// Расчитывает детерминант матрицы + /// + /// Детерминант матрицы + public T CalculateDeterminant() + { + + if (!double.IsNaN(this.precalculatedDeterminant)) + { + return Operator.Convert(this.precalculatedDeterminant); + } + if (!this.IsSquareMatrix) + { + throw new InvalidOperationException("determinant can be calculated only for square matrix"); + } + if (this.RowsCount == 2) + { + return Operator.Subtract(Operator.Multiply(this[0, 0], this[1, 1]), Operator.Multiply(this[0, 1], this[1, 0])); + } + dynamic result = 0; + dynamic one = 1; + for (var j = 0; j < this.RowsCount; j++) + { + result += Operator.Multiply(Operator.Multiply((j % 2 == 1 ? one : -one), this[1, j]), + this.CreateMatrixWithoutColumn(j).CreateMatrixWithoutRow(1).CalculateDeterminant()); + + } + + return result; + } + + private event Action RowsUpdate; + + private void OnRowsUpdate(int index) + { + for(int column = 0;column < this.ColumnsCount;column++) + { + this[index, column] = _rows[index][index]; + } + } + + private T[][] GetRows(Matrix matrix) + { + T[][] rows = new T[RowsCount][]; + + for(int row = 0;row < RowsCount;row++) + { + rows[row] = GetRow(row); + } + + return rows; + } + + + /// + /// Задает строку матрицы по заданному индексу + /// + /// Строка + /// Индекс строки + public void SetRow(T[][] row,int index) + { + if (index >= this.RowsCount) + { + for (int c = 0; c < this.ColumnsCount; c++) + { + this[index, c] = row[index][c]; + } + } + } + + private void SetRows(T[][] rows) + { + + ForEach((column,row) => this[row, column] = rows[row][column]); + + } + + + private T[][] _rows; + + /// + /// Получает/задает все троки матрицы + /// + public T[][] Rows + { + get + { + + _rows = GetRows(this); + + return _rows; + + } + + set + { + SetRows(value); + } + } private T[] GetRow(int index) { @@ -423,18 +526,27 @@ private T[] GetRow(int index) return fullRow.ToArray(); } - private T[] GetColumn(int index) + private T[] GetColumn(Matrix matrix,int columnIndex) { var fullColumn = new List(); - for(int column = 0;column < RowsCount;column++) + for(int row = 0;row < RowsCount;row++) { - fullColumn.Add(this[column,index]); + fullColumn.Add(this[row,columnIndex]); } return fullColumn.ToArray(); } + private T[][] GetColumns(Matrix matrix) + { + T[][] columns = new T[ColumnsCount][]; + + ForEach((column, row) => columns[row][column] = matrix[column,row]); + + return columns; + } + #region Фичи /// @@ -528,6 +640,26 @@ public void ForEach(Action action) } + private void ForEach(Action action) + { + + if (action == null) + { + throw new ArgumentNullException(); + } + else + { + for (dynamic row = 0; row < this.RowsCount; row++) + { + for (dynamic column = 0; column < this.ColumnsCount; column++) + { + action(row, column); + } + } + } + + } + /// /// Преобразует матрицу в двумерный массив /// From 4fe5f5c8a6bbc4ba7d359d42a1f5e26de1550df0 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Fri, 13 Aug 2021 22:17:49 +0300 Subject: [PATCH 15/68] --- BaseMatrix.cs | 116 ++++++++++++++++++++++++++++++++ Matrix.cs | 179 ++++++-------------------------------------------- 2 files changed, 135 insertions(+), 160 deletions(-) diff --git a/BaseMatrix.cs b/BaseMatrix.cs index d937031..eb15ab0 100644 --- a/BaseMatrix.cs +++ b/BaseMatrix.cs @@ -20,6 +20,10 @@ public abstract class BaseMatrix : IEnumerator,IMatrix where T: ICompar /// protected T[,] matrix; + private T[][] _rows; + + private T[][] _columns; + private int _rowsCount; private int _columnsCount; @@ -102,6 +106,118 @@ protected set } } + /// + /// Получает/задает все троки матрицы + /// + public T[][] Rows + { + get + { + + _rows = GetRows(this); + + return _rows; + + } + + set + { + SetRows(value); + } + } + private T[][] GetRows(BaseMatrix matrix) + { + T[][] rows = new T[RowsCount][]; + + for (int row = 0; row < RowsCount; row++) + { + rows[row] = GetRow(row); + } + + return rows; + } + + + /// + /// Задает строку матрицы по заданному индексу + /// + /// Строка + /// Индекс строки + private void SetRow(T[][] row, int index) + { + if (index >= this.RowsCount) + { + for (int c = 0; c < this.ColumnsCount; c++) + { + this[index, c] = row[index][c]; + } + } + } + + private void SetRows(T[][] rows) + { + + ForEach((column, row) => this[row, column] = rows[row][column]); + + } + private T[] GetRow(int index) + { + var fullRow = new List(); + + for (int row = 0; row < ColumnsCount; row++) + { + fullRow.Add(this[index, row]); + } + + return fullRow.ToArray(); + } + + private T[] GetColumn(BaseMatrix matrix, int columnIndex) + { + var fullColumn = new List(); + + for (int row = 0; row < RowsCount; row++) + { + fullColumn.Add(this[row, columnIndex]); + } + + return fullColumn.ToArray(); + } + + private T[][] GetColumns(BaseMatrix matrix) + { + T[][] columns = new T[ColumnsCount][]; + + ForEach((column, row) => columns[row][column] = matrix[column, row]); + + return columns; + } + + /// + /// Применяет функцию ко всем элементам матрицы + /// + /// Делегат с одним параметром + public virtual void ForEach(Action action) + { + + if (action == null) + { + throw new ArgumentNullException(); + } + else + { + for (dynamic row = 0; row < this.RowsCount; row++) + { + for (dynamic column = 0; column < this.ColumnsCount; column++) + { + action(row, column); + } + } + } + + } + + /// /// Находит главную диагональ матрицы /// diff --git a/Matrix.cs b/Matrix.cs index 6de5e94..4d07b87 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -86,7 +86,7 @@ public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1, array.GetUpperBound DiagonalChanged = OnDiagonalChanged; - RowsUpdate = OnRowsUpdate; + } @@ -331,7 +331,7 @@ public Matrix ConvertToStepped() dynamic primaryElement = null; - T[] primaryRow = null; + T[] primaryRow; dynamic zero = 0; @@ -339,12 +339,12 @@ public Matrix ConvertToStepped() { - for (int i = 0; i < RowsCount; i++) + for (int row = 0; row < RowsCount; row++) { - if (Operator.NotEqual(steppedMatrix[i, 0], zero)) + if (Operator.NotEqual(steppedMatrix[row, 0], zero)) { - primaryElement = steppedMatrix[i, 0]; - primaryRow = GetRow(i); + primaryElement = steppedMatrix[row, 0]; + primaryRow = base.Rows[row]; break; @@ -353,22 +353,17 @@ public Matrix ConvertToStepped() } } - for (int i = 0; i < RowsCount; i++) + for (int row = 0; row < RowsCount; row++) { - for (int e = 0; e < GetRow(i).Length - 1; e++) + for (int element = 0; element < Rows[row].Length - 1; element++) { - steppedMatrix[i, e] = GetRow(i)[e] / primaryElement; + steppedMatrix[row, element] = Rows[row][element] / primaryElement; } } - - - - return steppedMatrix; } - else { throw new TheNumberOfRowsAndColumnsIsDifferentException(); @@ -444,108 +439,7 @@ public T CalculateDeterminant() return result; } - - private event Action RowsUpdate; - - private void OnRowsUpdate(int index) - { - for(int column = 0;column < this.ColumnsCount;column++) - { - this[index, column] = _rows[index][index]; - } - } - - private T[][] GetRows(Matrix matrix) - { - T[][] rows = new T[RowsCount][]; - - for(int row = 0;row < RowsCount;row++) - { - rows[row] = GetRow(row); - } - - return rows; - } - - - /// - /// Задает строку матрицы по заданному индексу - /// - /// Строка - /// Индекс строки - public void SetRow(T[][] row,int index) - { - if (index >= this.RowsCount) - { - for (int c = 0; c < this.ColumnsCount; c++) - { - this[index, c] = row[index][c]; - } - } - } - - private void SetRows(T[][] rows) - { - - ForEach((column,row) => this[row, column] = rows[row][column]); - - } - - - private T[][] _rows; - /// - /// Получает/задает все троки матрицы - /// - public T[][] Rows - { - get - { - - _rows = GetRows(this); - - return _rows; - - } - - set - { - SetRows(value); - } - } - - private T[] GetRow(int index) - { - var fullRow = new List(); - - for(int row = 0;row < ColumnsCount;row++) - { - fullRow.Add(this[index,row]); - } - - return fullRow.ToArray(); - } - - private T[] GetColumn(Matrix matrix,int columnIndex) - { - var fullColumn = new List(); - - for(int row = 0;row < RowsCount;row++) - { - fullColumn.Add(this[row,columnIndex]); - } - - return fullColumn.ToArray(); - } - - private T[][] GetColumns(Matrix matrix) - { - T[][] columns = new T[ColumnsCount][]; - - ForEach((column, row) => columns[row][column] = matrix[column,row]); - - return columns; - } #region Фичи @@ -583,13 +477,13 @@ public dynamic FillMatrixRandom(T min,T max) dynamic random = new Random(); - for (int row = 0; row < this.RowsCount; row++) + Parallel.For(0, this.RowsCount, row => { - for (int column = 0; column < this.ColumnsCount; column++) + Parallel.For(0, this.ColumnsCount, column => { - filledMatrix[row, column] = random.Next(min,max); - } - } + filledMatrix[row, column] = random.Next(min, max); + }); + }); return filledMatrix; } @@ -603,17 +497,10 @@ public Matrix FillMatrixInOrder()//Проблема с заполнение var filledMatrix = new Matrix(this.RowsCount, this.ColumnsCount); int counter = 1; -#warning медленное выполениние при больших размерах - for(int row = 0;row < this.RowsCount;row++) - { - for (int column = 0; column < this.ColumnsCount; column++) - { - filledMatrix[row, column] = counter++; - } - } - - - return filledMatrix; + + ForEach((column,row) => filledMatrix[row, column] = counter++); + + return filledMatrix; } /// @@ -622,27 +509,6 @@ public Matrix FillMatrixInOrder()//Проблема с заполнение /// Делегат с одним параметром public void ForEach(Action action) { - - if (action == null) - { - throw new ArgumentNullException(); - } - else - { - for (dynamic row = 0; row < this.RowsCount; row++) - { - for (dynamic column = 0; column < this.ColumnsCount; column++) - { - action(row, column); - } - } - } - - } - - private void ForEach(Action action) - { - if (action == null) { throw new ArgumentNullException(); @@ -693,14 +559,7 @@ public string OutString() } - - - - - - - - + #endregion /// From 9f68e6d89e66aa71e68472e109addff231ce5bd0 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Fri, 13 Aug 2021 22:20:53 +0300 Subject: [PATCH 16/68] --- BaseMatrix.cs | 2 +- Matrix.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BaseMatrix.cs b/BaseMatrix.cs index eb15ab0..ac53555 100644 --- a/BaseMatrix.cs +++ b/BaseMatrix.cs @@ -197,7 +197,7 @@ private T[][] GetColumns(BaseMatrix matrix) /// Применяет функцию ко всем элементам матрицы /// /// Делегат с одним параметром - public virtual void ForEach(Action action) + private void ForEach(Action action) { if (action == null) diff --git a/Matrix.cs b/Matrix.cs index 4d07b87..b2d8ab1 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -498,7 +498,7 @@ public Matrix FillMatrixInOrder()//Проблема с заполнение int counter = 1; - ForEach((column,row) => filledMatrix[row, column] = counter++); + ForEach((column,row) => filledMatrix[(dynamic)row, (dynamic)column] = counter++); return filledMatrix; } From d989375e286cd8ed4634f401ea43e733f113015f Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sat, 14 Aug 2021 15:25:08 +0300 Subject: [PATCH 17/68] --- BaseMatrix.cs | 53 +++++++++++++++++++++---- Exceptions/InvalidOperationForMatrix.cs | 8 ++++ 2 files changed, 53 insertions(+), 8 deletions(-) diff --git a/BaseMatrix.cs b/BaseMatrix.cs index ac53555..87c0646 100644 --- a/BaseMatrix.cs +++ b/BaseMatrix.cs @@ -125,6 +125,24 @@ public T[][] Rows SetRows(value); } } + + /// + /// Столбцы матрицы + /// + public T[][] Columns + { + get + { + _columns = GetColumns(); + return _columns; + } + + set + { + _columns = SetColumns(value); + } + } + private T[][] GetRows(BaseMatrix matrix) { T[][] rows = new T[RowsCount][]; @@ -143,13 +161,13 @@ private T[][] GetRows(BaseMatrix matrix) /// /// Строка /// Индекс строки - private void SetRow(T[][] row, int index) + private void SetRow(T[] row, int index) { - if (index >= this.RowsCount) + if (index <= this.RowsCount) { for (int c = 0; c < this.ColumnsCount; c++) { - this[index, c] = row[index][c]; + this[index, c] = row[c]; } } } @@ -160,19 +178,19 @@ private void SetRows(T[][] rows) ForEach((column, row) => this[row, column] = rows[row][column]); } - private T[] GetRow(int index) + private T[] GetRow(int rowIndex) { var fullRow = new List(); for (int row = 0; row < ColumnsCount; row++) { - fullRow.Add(this[index, row]); + fullRow.Add(this[rowIndex, row]); } return fullRow.ToArray(); } - private T[] GetColumn(BaseMatrix matrix, int columnIndex) + private T[] GetColumn(int columnIndex) { var fullColumn = new List(); @@ -184,15 +202,34 @@ private T[] GetColumn(BaseMatrix matrix, int columnIndex) return fullColumn.ToArray(); } - private T[][] GetColumns(BaseMatrix matrix) + private T[][] GetColumns() { T[][] columns = new T[ColumnsCount][]; - ForEach((column, row) => columns[row][column] = matrix[column, row]); + ForEach((row, column) => columns[row] = GetColumn(column)); return columns; } + private T[] SetColumn(int columnIndex,T[] column) + { + if (columnIndex <= this.RowsCount) + { + for (int row = 0; row < this.ColumnsCount; row++) + { + this[row, columnIndex] = column[row]; + } + } + } + private T[][] SetColumns(T[] columns) + { + T[][] allColumns = new T[this.ColumnsCount][]; + + ForEach((row, column) => columns[row] = SetColumn(0,columns)); + + return allColumns; + } + /// /// Применяет функцию ко всем элементам матрицы /// diff --git a/Exceptions/InvalidOperationForMatrix.cs b/Exceptions/InvalidOperationForMatrix.cs index 9715a73..f8ff855 100644 --- a/Exceptions/InvalidOperationForMatrix.cs +++ b/Exceptions/InvalidOperationForMatrix.cs @@ -13,5 +13,13 @@ namespace MathExtended.Exceptions public class InvalidOperationForMatrix : Exception { private string message = "This operation is not achievable for the current matrix."; + + /// + /// Сообщение о возникшем исключении + /// + public override string Message + { + get => message; + } } } From d452f7f3458be0c697e590affc882a1bd3850100 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sat, 14 Aug 2021 20:56:50 +0300 Subject: [PATCH 18/68] --- BaseMatrix.cs | 112 +++++++++++++++++---------------------- Column.cs | 63 ++++++++++++++++++++++ MathExtended.csproj | 2 + Matrix.cs | 124 ++++++++++++++++++++++---------------------- Row.cs | 64 +++++++++++++++++++++++ 5 files changed, 240 insertions(+), 125 deletions(-) create mode 100644 Column.cs create mode 100644 Row.cs diff --git a/BaseMatrix.cs b/BaseMatrix.cs index 87c0646..357d41e 100644 --- a/BaseMatrix.cs +++ b/BaseMatrix.cs @@ -20,7 +20,7 @@ public abstract class BaseMatrix : IEnumerator,IMatrix where T: ICompar /// protected T[,] matrix; - private T[][] _rows; + private Row[] _rows; private T[][] _columns; @@ -52,7 +52,6 @@ public BaseMatrix(int rows,int columns) _columnsCount = columns; - } /// @@ -97,6 +96,7 @@ public T[] MainDiagonal { get { + _mainDiagonal = FindDiagonal(); return _mainDiagonal; } @@ -109,21 +109,20 @@ protected set /// /// Получает/задает все троки матрицы /// - public T[][] Rows + public Row[] Rows { get { - - _rows = GetRows(this); - + _rows = GetRows(); return _rows; - } set { - SetRows(value); + _rows = value; + SetRows(_rows); } + } /// @@ -139,13 +138,25 @@ public T[][] Columns set { - _columns = SetColumns(value); + _columns = value; + SetColumns(_columns); + } } + private Row GetRow(int rowIndex) + { + var fullRow = new Row(RowsCount); - private T[][] GetRows(BaseMatrix matrix) + for (int row = 0; row < ColumnsCount; row++) + { + fullRow[row] = this[rowIndex, row]; + } + + return fullRow; + } + private Row[] GetRows() { - T[][] rows = new T[RowsCount][]; + Row[] rows = new Row[RowsCount]; for (int row = 0; row < RowsCount; row++) { @@ -155,39 +166,30 @@ private T[][] GetRows(BaseMatrix matrix) return rows; } - /// /// Задает строку матрицы по заданному индексу /// /// Строка /// Индекс строки - private void SetRow(T[] row, int index) + private void SetRow(Row row, int index) { - if (index <= this.RowsCount) - { - for (int c = 0; c < this.ColumnsCount; c++) - { - this[index, c] = row[c]; - } - } + + for (int c = 0; c < this.ColumnsCount; c++) + { + this[index, c] = row[c]; + } + } - private void SetRows(T[][] rows) + public void SetRows(Row[] rows) { - - ForEach((column, row) => this[row, column] = rows[row][column]); - - } - private T[] GetRow(int rowIndex) - { - var fullRow = new List(); - - for (int row = 0; row < ColumnsCount; row++) + ForEach((row, column) => { - fullRow.Add(this[rowIndex, row]); - } - - return fullRow.ToArray(); + if (row <= rows.Length - 1) + { + this[row, column] = rows[row][column]; + } + }); } private T[] GetColumn(int columnIndex) @@ -196,7 +198,7 @@ private T[] GetColumn(int columnIndex) for (int row = 0; row < RowsCount; row++) { - fullColumn.Add(this[row, columnIndex]); + fullColumn.Add(this[row, columnIndex]); } return fullColumn.ToArray(); @@ -211,7 +213,7 @@ private T[][] GetColumns() return columns; } - private T[] SetColumn(int columnIndex,T[] column) + private void SetColumn(int columnIndex,T[] column) { if (columnIndex <= this.RowsCount) { @@ -221,13 +223,9 @@ private T[] SetColumn(int columnIndex,T[] column) } } } - private T[][] SetColumns(T[] columns) + private void SetColumns(T[][] columns) { - T[][] allColumns = new T[this.ColumnsCount][]; - - ForEach((row, column) => columns[row] = SetColumn(0,columns)); - - return allColumns; + ForEach((row, column) => SetColumn(row,columns[row])); } /// @@ -243,13 +241,13 @@ private void ForEach(Action action) } else { - for (dynamic row = 0; row < this.RowsCount; row++) + Parallel.For(0, this.RowsCount, row => { for (dynamic column = 0; column < this.ColumnsCount; column++) { action(row, column); } - } + }); } } @@ -263,29 +261,18 @@ public T[] FindDiagonal() { List mainDiagonal = new List(); - Parallel.For(0, _rowsCount, i => + ForEach((row, column) => { - - Parallel.For(0, _columnsCount, j => + if (row == column) { - if (i == j) - { - mainDiagonal.Add(this[i, j]); - } - - }); + mainDiagonal.Add(this[row, column]); + } }); return mainDiagonal.ToArray(); } - - private void OnDiagonalChanged() - { - MainDiagonal = FindDiagonal(); - } - #region IEnumerable /// /// Текуший элемент @@ -372,11 +359,10 @@ protected virtual void Dispose(bool disposing) { if (disposing) { - - + Rows = null; + Columns = null; matrix = null; - - + MainDiagonal = null; } // TODO: освободить неуправляемые ресурсы (неуправляемые объекты) и переопределить метод завершения diff --git a/Column.cs b/Column.cs new file mode 100644 index 0000000..f6da492 --- /dev/null +++ b/Column.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MathExtended +{ + class Column + { + private T[] _cells; + + private int _height; + + /// + /// Индексатор.По индексу возвращает или задает значение ячейки из столбца + /// + /// Индекс элемента + /// Элемент cell + public T this[int index] + { + get + { + return _cells[index]; + } + + set + { + _cells[index] = value; + } + } + + /// + /// Длина строки + /// + public int Height + { + + get => _cells.Length; + } + + /// + /// Создает строку с указанным размером + /// + /// + public Column(int height) + { + _cells = new T[height]; + } + + public Column(T[] array) + { + _cells = array; + _height = array.Length; + } + + public static implicit operator Column(T[] array) + { + return new Column(array); + } + + } +} diff --git a/MathExtended.csproj b/MathExtended.csproj index 60d0eda..c0883c0 100644 --- a/MathExtended.csproj +++ b/MathExtended.csproj @@ -179,6 +179,7 @@ + @@ -186,6 +187,7 @@ + diff --git a/Matrix.cs b/Matrix.cs index b2d8ab1..7340baf 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -272,7 +272,25 @@ private void OnDiagonalChanged() } + /// + /// Явно приводит двумерный массив к + /// + /// Приводимый массив + public static explicit operator Matrix(T[,] array) + { + return new Matrix(array); + } + /// + /// Явно приводит к двумерному массиву + /// + /// Приводимая матрица + public static explicit operator T[,](Matrix matrix) + { + return matrix.matrix; + } + + #endregion @@ -325,58 +343,59 @@ public Matrix TransponateMatrix() /// Приводит матрицу к ступенчатому виду /// /// Матрица в ступенчатов виде - public Matrix ConvertToStepped() - { - var steppedMatrix = this; + //public Matrix ConvertToStepped() + //{ + // var steppedMatrix = this; - dynamic primaryElement = null; + // dynamic primaryElement = null; - T[] primaryRow; + // T[] primaryRow; - dynamic zero = 0; + // dynamic zero = 0; - if (IsSquareMatrix) - { + // if (IsSquareMatrix) + // { - for (int row = 0; row < RowsCount; row++) - { - if (Operator.NotEqual(steppedMatrix[row, 0], zero)) - { - primaryElement = steppedMatrix[row, 0]; - primaryRow = base.Rows[row]; + // for (int row = 0; row < RowsCount; row++) + // { + // if (Operator.NotEqual(steppedMatrix[row, 0], zero)) + // { + // primaryElement = steppedMatrix[row, 0]; + // primaryRow = base.Rows[row]; - break; + // break; - } + // } - } - for (int row = 0; row < RowsCount; row++) - { - for (int element = 0; element < Rows[row].Length - 1; element++) - { - steppedMatrix[row, element] = Rows[row][element] / primaryElement; - } - } + // } + // for (int row = 0; row < RowsCount; row++) + // { + // for (int element = 0; element < Rows[row].Length - 1; element++) + // { + // steppedMatrix[row, element] = Rows[row][element] / primaryElement; + // } + // } - return steppedMatrix; - } + // return steppedMatrix; + // } - else - { - throw new TheNumberOfRowsAndColumnsIsDifferentException(); - } + // else + // { + // throw new TheNumberOfRowsAndColumnsIsDifferentException(); + // } - } + //} /// /// Создает матрицу с вычеркнутыми столбцами на основе текущей /// /// Количество вычеркнутых столбцов /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] private Matrix CreateMatrixWithoutColumn(int column) { if (column < 0 || column >= this.ColumnsCount) @@ -396,6 +415,7 @@ private Matrix CreateMatrixWithoutColumn(int column) /// /// Количество вычеркнутых строк /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] private Matrix CreateMatrixWithoutRow(int row) { if (row < 0 || row >= this.RowsCount) @@ -413,6 +433,7 @@ private Matrix CreateMatrixWithoutRow(int row) /// Расчитывает детерминант матрицы /// /// Детерминант матрицы + [MethodImpl(MethodImplOptions.AggressiveInlining)] public T CalculateDeterminant() { @@ -454,13 +475,13 @@ public dynamic FillMatrixRandom() Random random = new Random(); - for(int row = 0;row < this.RowsCount;row++) + Parallel.For(0, this.RowsCount, row => { - for(int column = 0;column < this.ColumnsCount;column++) - { - filledMatrix[row, column] = random.Next(); - } - } + Parallel.For(0, this.ColumnsCount, column => + { + filledMatrix[row, column] = random.Next(); + }); + }); return filledMatrix; } @@ -515,11 +536,11 @@ public void ForEach(Action action) } else { - for (dynamic row = 0; row < this.RowsCount; row++) + for(dynamic row = 0;row < this.RowsCount; row++) { for (dynamic column = 0; column < this.ColumnsCount; column++) { - action(row, column); + action((dynamic)row, column); } } } @@ -539,7 +560,7 @@ public void ForEach(Action action) /// Вывод всей матрицы /// /// - public string OutString() + public override string ToString() { string outString = String.Empty; @@ -562,27 +583,6 @@ public string OutString() #endregion - /// - /// Высвобождает использованные ресурсы - /// - /// - protected override void Dispose(bool disposing) - { - if (!disposedValue) - { - if (disposing) - { - - MainDiagonal = null; - matrix = null; - - - } - - // TODO: освободить неуправляемые ресурсы (неуправляемые объекты) и переопределить метод завершения - // TODO: установить значение NULL для больших полей - disposedValue = true; - } - } + } } diff --git a/Row.cs b/Row.cs new file mode 100644 index 0000000..95d2266 --- /dev/null +++ b/Row.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MathExtended +{ + public class Row + { + private T[] _cells; + + private int _length; + + /// + /// Индексатор.По индексу возвращает или задает значение ячейки из строки + /// + /// Индекс элемента + /// Элемент cell + public T this[int index] + { + get + { + return _cells[index]; + } + + set + { + _cells[index] = value; + } + } + + /// + /// Длина строки + /// + public int Length + { + + get => _cells.Length; + } + + /// + /// Создает строку с указанным размером + /// + /// + public Row(int length) + { + _cells = new T[length]; + } + + public Row(T[] array) + { + _cells = array; + _length = array.Length; + } + + public static implicit operator Row(T[] array) + { + return new Row(array); + } + + + } +} From 0402263b8d78d6c8e76a2fe082d18e645295ef69 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sat, 14 Aug 2021 23:57:04 +0300 Subject: [PATCH 19/68] --- BaseMatrix.cs | 2 +- MathExtendent.cs | 37 ++++++++++++++++++++++++++++++++++--- Matrix.cs | 5 ++--- 3 files changed, 37 insertions(+), 7 deletions(-) diff --git a/BaseMatrix.cs b/BaseMatrix.cs index 357d41e..4fbdaa9 100644 --- a/BaseMatrix.cs +++ b/BaseMatrix.cs @@ -181,7 +181,7 @@ private void SetRow(Row row, int index) } - public void SetRows(Row[] rows) + private void SetRows(Row[] rows) { ForEach((row, column) => { diff --git a/MathExtendent.cs b/MathExtendent.cs index 333afde..e6a1948 100644 --- a/MathExtendent.cs +++ b/MathExtendent.cs @@ -62,15 +62,46 @@ public static double Csch(double x) return 1 / Sch(x); } + + /// + /// Вычисляет алгебраическую сумму функции + /// + /// Индекс суммирования + /// Верхняя граница + /// Функция + /// Алгебраическая сумма + public static double AlgebraicSum(double i, double n, Func func) + { + double sum = 0; + for (; i <= n; i++) + { + sum += func(i); + } + return sum; + } + /// + /// Вычисляет алгебраическую сумму функции + /// + /// Индекс суммирования + /// Нижняя граница + /// Верхняя граница + /// Функция + /// Алгебраическая сумма + public static double AlgebraicSum(double i, double min, double max, Func func) + { + double sum = 0; + for (; i <= max && i >= max; i++) + { + sum += func.Invoke(i); + } - + return sum; + } } - - } diff --git a/Matrix.cs b/Matrix.cs index 7340baf..bd5ecea 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -470,7 +470,6 @@ public T CalculateDeterminant() /// Матрмца со случайными значениями public dynamic FillMatrixRandom() { -#warning Небезопасность типов dynamic filledMatrix = new Matrix(this.RowsCount,this.ColumnsCount); Random random = new Random(); @@ -525,9 +524,9 @@ public Matrix FillMatrixInOrder()//Проблема с заполнение } /// - /// Применяет функцию ко всем элементам матрицы + /// Применяет действия ко всем элементам матрицы /// - /// Делегат с одним параметром + /// Действие public void ForEach(Action action) { if (action == null) From 4e9fbd333eb24aa623933adff3e7463d3f4c3488 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Wed, 18 Aug 2021 14:25:54 +0300 Subject: [PATCH 20/68] --- BaseCellsCollection.cs | 76 +++++++++++++++++++ BaseMatrix.cs | 51 ++++++++----- Column.cs | 68 +++++------------ Exceptions/ColumnZeroSizeException.cs | 22 ++++++ Exceptions/InvalidOperationForMatrix.cs | 25 ------ Exceptions/MatrixDifferentSizeException.cs | 4 - Exceptions/MatrixZeroSizeException.cs | 21 +++++ Exceptions/RowZeroSizeException.cs | 21 +++++ ...berOfRowsAndColumnsIsDifferentException.cs | 5 +- MathExtended.csproj | 5 +- Matrix.cs | 29 ++++--- Row.cs | 54 ++++--------- 12 files changed, 223 insertions(+), 158 deletions(-) create mode 100644 BaseCellsCollection.cs create mode 100644 Exceptions/ColumnZeroSizeException.cs delete mode 100644 Exceptions/InvalidOperationForMatrix.cs create mode 100644 Exceptions/MatrixZeroSizeException.cs create mode 100644 Exceptions/RowZeroSizeException.cs diff --git a/BaseCellsCollection.cs b/BaseCellsCollection.cs new file mode 100644 index 0000000..6cd749a --- /dev/null +++ b/BaseCellsCollection.cs @@ -0,0 +1,76 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MathExtended +{ + /// + /// Описывает коллекцию ячеек + /// + /// Тип содержиого + public abstract class BaseCellsCollection where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable + { + private T[] _cells; + + private int _size; + + /// + /// Индексатор.По индексу возвращает или задает значение ячейки + /// + /// Индекс элемента + /// Элемент по индексу + public T this[int index] + { + get + { + return _cells[index]; + } + + set + { + _cells[index] = value; + } + } + + /// + /// Размер коллекции + /// + public int Size + { + get => _cells.Length; + } + + /// + /// Создает коллекцию с указанным размером + /// + /// Размер коллекции + public BaseCellsCollection(int size) + { + _cells = new T[size]; + } + + /// + /// Создает коллекцию ячеек на основе массива + /// + /// Входной массив + public BaseCellsCollection(T[] array) + { + _cells = array; + _size = array.Length; + } + + /// + /// Применяет действие ко всем элементам + /// + /// Действие + public virtual void ForEach(Action action) + { + for(int item = 0;item < Size - 1;item++) + { + action(item); + } + } + } +} diff --git a/BaseMatrix.cs b/BaseMatrix.cs index 4fbdaa9..9b484ea 100644 --- a/BaseMatrix.cs +++ b/BaseMatrix.cs @@ -2,8 +2,6 @@ using System; using System.Collections; using System.Collections.Generic; -using System.Linq; -using System.Text; using System.Threading.Tasks; namespace MathExtended @@ -22,7 +20,7 @@ public abstract class BaseMatrix : IEnumerator,IMatrix where T: ICompar private Row[] _rows; - private T[][] _columns; + private Column[] _columns; private int _rowsCount; @@ -33,7 +31,6 @@ public abstract class BaseMatrix : IEnumerator,IMatrix where T: ICompar /// protected T[] _mainDiagonal; - private int _rowPosition = 0; private int _columnPosition = -1; @@ -47,11 +44,11 @@ public abstract class BaseMatrix : IEnumerator,IMatrix where T: ICompar /// Количество столбцов public BaseMatrix(int rows,int columns) { - _rowsCount = rows; _columnsCount = columns; + matrix = new T[rows,columns]; } /// @@ -78,9 +75,9 @@ public BaseMatrix(int rows,int columns) /// public int RowsCount { - get => _rowsCount; } + /// /// Колличество столбцов в матрице /// @@ -107,20 +104,21 @@ protected set } /// - /// Получает/задает все троки матрицы + /// Получает все cтроки матрицы /// public Row[] Rows { get { _rows = GetRows(); + return _rows; + } - set + private set { _rows = value; - SetRows(_rows); } } @@ -128,7 +126,7 @@ public Row[] Rows /// /// Столбцы матрицы /// - public T[][] Columns + public Column[] Columns { get { @@ -136,13 +134,12 @@ public T[][] Columns return _columns; } - set + private set { _columns = value; - SetColumns(_columns); - } } + private Row GetRow(int rowIndex) { var fullRow = new Row(RowsCount); @@ -154,6 +151,7 @@ private Row GetRow(int rowIndex) return fullRow; } + private Row[] GetRows() { Row[] rows = new Row[RowsCount]; @@ -171,7 +169,7 @@ private Row[] GetRows() /// /// Строка /// Индекс строки - private void SetRow(Row row, int index) + public void SetRow(Row row, int index) { for (int c = 0; c < this.ColumnsCount; c++) @@ -181,7 +179,11 @@ private void SetRow(Row row, int index) } - private void SetRows(Row[] rows) + /// + /// Задает строки матрицы + /// + /// Строки + public void SetRows(Row[] rows) { ForEach((row, column) => { @@ -192,7 +194,7 @@ private void SetRows(Row[] rows) }); } - private T[] GetColumn(int columnIndex) + private Column GetColumn(int columnIndex) { var fullColumn = new List(); @@ -204,16 +206,21 @@ private T[] GetColumn(int columnIndex) return fullColumn.ToArray(); } - private T[][] GetColumns() + private Column[] GetColumns() { - T[][] columns = new T[ColumnsCount][]; + Column[] columns = new Column[ColumnsCount]; ForEach((row, column) => columns[row] = GetColumn(column)); return columns; } - private void SetColumn(int columnIndex,T[] column) + /// + /// Задает столбец матрицы по индексу + /// + /// Индекс столбца + /// Стобец + public void SetColumn(int columnIndex,Column column) { if (columnIndex <= this.RowsCount) { @@ -223,7 +230,11 @@ private void SetColumn(int columnIndex,T[] column) } } } - private void SetColumns(T[][] columns) + /// + /// Задает столбцы матрицы + /// + /// Столбцы + public void SetColumns(Column[] columns) { ForEach((row, column) => SetColumn(row,columns[row])); } diff --git a/Column.cs b/Column.cs index f6da492..bd4be5b 100644 --- a/Column.cs +++ b/Column.cs @@ -6,58 +6,30 @@ namespace MathExtended { - class Column + /// + /// Описывает столбцы матрицы + /// + /// Тип содержимого строки + public class Column : BaseCellsCollection where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable { - private T[] _cells; - - private int _height; - /// - /// Индексатор.По индексу возвращает или задает значение ячейки из столбца - /// - /// Индекс элемента - /// Элемент cell - public T this[int index] - { - get - { - return _cells[index]; - } - - set - { - _cells[index] = value; - } - } - - /// - /// Длина строки - /// - public int Height - { - - get => _cells.Length; - } - - /// - /// Создает строку с указанным размером + /// Создает столбец с указанными размерами /// /// - public Column(int height) - { - _cells = new T[height]; - } - - public Column(T[] array) - { - _cells = array; - _height = array.Length; - } - - public static implicit operator Column(T[] array) - { + public Column(int height) : base(height) { } + /// + /// Создает столбец на основе массива + /// + /// + public Column(T[] array) : base(array) { } + + /// + /// Не явным образом приводит масив к столбцу + /// + /// Приводимый массив + public static implicit operator Column(T[] array) + { return new Column(array); - } - + } } } diff --git a/Exceptions/ColumnZeroSizeException.cs b/Exceptions/ColumnZeroSizeException.cs new file mode 100644 index 0000000..b0dd951 --- /dev/null +++ b/Exceptions/ColumnZeroSizeException.cs @@ -0,0 +1,22 @@ +using System; + + +namespace MathExtended.Exceptions +{ + /// + /// Появляется при попытке создать + /// столбец с нулевыми размерами + /// + public class ColumnZeroSizeException : Exception + { + private string _message = "Columns can not be zero size"; + + /// + /// Сообщение исключения + /// + public override string Message + { + get => _message; + } + } +} diff --git a/Exceptions/InvalidOperationForMatrix.cs b/Exceptions/InvalidOperationForMatrix.cs deleted file mode 100644 index f8ff855..0000000 --- a/Exceptions/InvalidOperationForMatrix.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace MathExtended.Exceptions -{ - /// - /// Появляется когда матрица не соответствует - /// - /// - public class InvalidOperationForMatrix : Exception - { - private string message = "This operation is not achievable for the current matrix."; - - /// - /// Сообщение о возникшем исключении - /// - public override string Message - { - get => message; - } - } -} diff --git a/Exceptions/MatrixDifferentSizeException.cs b/Exceptions/MatrixDifferentSizeException.cs index 9605002..852157a 100644 --- a/Exceptions/MatrixDifferentSizeException.cs +++ b/Exceptions/MatrixDifferentSizeException.cs @@ -1,8 +1,4 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace MathExtended.Exceptions { diff --git a/Exceptions/MatrixZeroSizeException.cs b/Exceptions/MatrixZeroSizeException.cs new file mode 100644 index 0000000..bbbe84d --- /dev/null +++ b/Exceptions/MatrixZeroSizeException.cs @@ -0,0 +1,21 @@ +using System; + +namespace MathExtended.Exceptions +{ + /// + /// Возникает при попытке создать матрицу + /// с нулевыми размерами + /// + public class MatrixZeroSizeException : Exception + { + private string _message = "Matrices can not be zero size."; + + /// + /// Сообщение исключения + /// + public override string Message + { + get => _message; + } + } +} diff --git a/Exceptions/RowZeroSizeException.cs b/Exceptions/RowZeroSizeException.cs new file mode 100644 index 0000000..0bcee8a --- /dev/null +++ b/Exceptions/RowZeroSizeException.cs @@ -0,0 +1,21 @@ +using System; + + +namespace MathExtended.Exceptions +{ + /// + /// Появляется при попытке создать строку с нулевой длиной + /// + public class RowZeroSizeException : Exception + { + private string _message = "Rows can not be zero size."; + + /// + /// Сообщение исключения + /// + public override string Message + { + get => _message; + } + } +} diff --git a/Exceptions/TheNumberOfRowsAndColumnsIsDifferentException.cs b/Exceptions/TheNumberOfRowsAndColumnsIsDifferentException.cs index acb7cf5..82e63a6 100644 --- a/Exceptions/TheNumberOfRowsAndColumnsIsDifferentException.cs +++ b/Exceptions/TheNumberOfRowsAndColumnsIsDifferentException.cs @@ -1,8 +1,5 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; + namespace MathExtended.Exceptions { diff --git a/MathExtended.csproj b/MathExtended.csproj index c0883c0..0d21749 100644 --- a/MathExtended.csproj +++ b/MathExtended.csproj @@ -178,10 +178,13 @@ + - + + + diff --git a/Matrix.cs b/Matrix.cs index bd5ecea..e813a30 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -28,8 +28,7 @@ public class Matrix : BaseMatrix where T : IComparable, IFormattable, ICon #endregion - private bool disposedValue; - private double precalculatedDeterminant = double.NaN; + private readonly double precalculatedDeterminant = double.NaN; #region Свойства матрицы /// @@ -79,18 +78,13 @@ public Matrix(int rows, int columns) : base(rows, columns) /// Двумерный массив public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1, array.GetUpperBound(1) + 1) { - matrix = array; IsSquareMatrix = RowsCount == ColumnsCount; DiagonalChanged = OnDiagonalChanged; - - - } - private event Action DiagonalChanged; private void OnDiagonalChanged() @@ -146,7 +140,7 @@ private void OnDiagonalChanged() { Parallel.For(0, matrixB.ColumnsCount, colunm => { - matrixC[row, colunm] = Operator.Add(matrixA[row, colunm], matrixB[row, colunm]); + matrixC[row, colunm] = (dynamic)matrixA[row, colunm] + (dynamic)matrixB[row, colunm]; }); }); return matrixC; @@ -293,7 +287,6 @@ public static explicit operator Matrix(T[,] array) #endregion - /// /// Возводит матрицу в степень /// @@ -319,13 +312,13 @@ public static Matrix Pow(Matrix matrix, int power) } } + /// /// Транспонирует(меняет строки со столбцами) текущую матрицу и возвращает новую /// /// Транспонированная матрица public Matrix TransponateMatrix() { - var transposedMatrix = new Matrix(this.ColumnsCount, this.RowsCount); Parallel.For(0, this.ColumnsCount, row => @@ -436,24 +429,27 @@ private Matrix CreateMatrixWithoutRow(int row) [MethodImpl(MethodImplOptions.AggressiveInlining)] public T CalculateDeterminant() { + dynamic result = 0; if (!double.IsNaN(this.precalculatedDeterminant)) { return Operator.Convert(this.precalculatedDeterminant); } + if (!this.IsSquareMatrix) { throw new InvalidOperationException("determinant can be calculated only for square matrix"); } + if (this.RowsCount == 2) { return Operator.Subtract(Operator.Multiply(this[0, 0], this[1, 1]), Operator.Multiply(this[0, 1], this[1, 0])); } - dynamic result = 0; - dynamic one = 1; + + for (var j = 0; j < this.RowsCount; j++) { - result += Operator.Multiply(Operator.Multiply((j % 2 == 1 ? one : -one), this[1, j]), + result += Operator.Multiply(Operator.Multiply((j % 2 == 1 ? (dynamic)1 : -(dynamic)1), this[1, j]), this.CreateMatrixWithoutColumn(j).CreateMatrixWithoutRow(1).CalculateDeterminant()); } @@ -491,7 +487,7 @@ public dynamic FillMatrixRandom() /// Минимальное число /// Максимальное число /// - public dynamic FillMatrixRandom(T min,T max) + public dynamic FillMatrixRandom(int min,int max) { dynamic filledMatrix = new Matrix(this.RowsCount, this.ColumnsCount); @@ -512,7 +508,7 @@ public dynamic FillMatrixRandom(T min,T max) /// Заполняет матрицу по порядку:от 1 до размера матрицы /// /// Матрица заполненная по порядку - public Matrix FillMatrixInOrder()//Проблема с заполнением кв кадратных матриц + public Matrix FillMatrixInOrder() { var filledMatrix = new Matrix(this.RowsCount, this.ColumnsCount); @@ -533,13 +529,14 @@ public void ForEach(Action action) { throw new ArgumentNullException(); } + else { for(dynamic row = 0;row < this.RowsCount; row++) { for (dynamic column = 0; column < this.ColumnsCount; column++) { - action((dynamic)row, column); + action(row, column); } } } diff --git a/Row.cs b/Row.cs index 95d2266..ca0a1ec 100644 --- a/Row.cs +++ b/Row.cs @@ -6,59 +6,33 @@ namespace MathExtended { - public class Row + /// + /// Описывает строку + /// + /// Тип содержимого строки + public class Row : BaseCellsCollection where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable { - private T[] _cells; - - private int _length; - /// - /// Индексатор.По индексу возвращает или задает значение ячейки из строки + /// Создает строку с указанным размером /// - /// Индекс элемента - /// Элемент cell - public T this[int index] + /// + public Row(int length) : base(length) { - get - { - return _cells[index]; - } - - set - { - _cells[index] = value; - } + } - /// - /// Длина строки + /// Создает строку на основе массива /// - public int Length - { - - get => _cells.Length; - } + /// + public Row(T[] array) : base(array) { } /// - /// Создает строку с указанным размером + /// Не явным образом приводит массив к строке /// - /// - public Row(int length) - { - _cells = new T[length]; - } - - public Row(T[] array) - { - _cells = array; - _length = array.Length; - } - + /// public static implicit operator Row(T[] array) { return new Row(array); } - - } } From 6c7d2680acbce279d7d0c1381496c301b551e3d4 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Thu, 19 Aug 2021 19:11:31 +0300 Subject: [PATCH 21/68] --- Exceptions/ColumnZeroSizeException.cs | 6 +- Exceptions/MatrixDifferentSizeException.cs | 7 +- Exceptions/MatrixZeroSizeException.cs | 6 +- Exceptions/RowZeroSizeException.cs | 6 +- ExtendentRandom.cs | 36 +++++++ MathExtended.csproj | 1 + Matrix.cs | 115 +++++++++++---------- 7 files changed, 107 insertions(+), 70 deletions(-) create mode 100644 ExtendentRandom.cs diff --git a/Exceptions/ColumnZeroSizeException.cs b/Exceptions/ColumnZeroSizeException.cs index b0dd951..0e7028c 100644 --- a/Exceptions/ColumnZeroSizeException.cs +++ b/Exceptions/ColumnZeroSizeException.cs @@ -14,9 +14,7 @@ public class ColumnZeroSizeException : Exception /// /// Сообщение исключения /// - public override string Message - { - get => _message; - } + public override string Message => _message; + } } diff --git a/Exceptions/MatrixDifferentSizeException.cs b/Exceptions/MatrixDifferentSizeException.cs index 852157a..5235208 100644 --- a/Exceptions/MatrixDifferentSizeException.cs +++ b/Exceptions/MatrixDifferentSizeException.cs @@ -8,12 +8,11 @@ namespace MathExtended.Exceptions public class MatrixDifferentSizeException : Exception { private string message = "Matrices must be the same size"; + /// /// Сообщение исключения /// - public override string Message - { - get => message; - } + public override string Message => message; + } } diff --git a/Exceptions/MatrixZeroSizeException.cs b/Exceptions/MatrixZeroSizeException.cs index bbbe84d..fb0544b 100644 --- a/Exceptions/MatrixZeroSizeException.cs +++ b/Exceptions/MatrixZeroSizeException.cs @@ -13,9 +13,7 @@ public class MatrixZeroSizeException : Exception /// /// Сообщение исключения /// - public override string Message - { - get => _message; - } + public override string Message => _message; + } } diff --git a/Exceptions/RowZeroSizeException.cs b/Exceptions/RowZeroSizeException.cs index 0bcee8a..6211534 100644 --- a/Exceptions/RowZeroSizeException.cs +++ b/Exceptions/RowZeroSizeException.cs @@ -13,9 +13,7 @@ public class RowZeroSizeException : Exception /// /// Сообщение исключения /// - public override string Message - { - get => _message; - } + public override string Message => _message; + } } diff --git a/ExtendentRandom.cs b/ExtendentRandom.cs new file mode 100644 index 0000000..ae6a80f --- /dev/null +++ b/ExtendentRandom.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MathExtended +{ + /// + /// Улучшенная версия Random + /// + public class ExtendentRandom : Random + { + /// + /// Генерирует случайное число типа + /// + /// Числовой тип + /// Нижняя граница + /// Верхняя граница + /// Число + public T Next(T minValue, T maxValue) where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable + { + return (T)(dynamic)(base.Next((int)(dynamic)minValue, (int)(dynamic)maxValue) + base.NextDouble()); + } + + /// + /// Генерирует случайное число типа + /// + /// Числовой тип + /// Число + public T Next() where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable + { + return (T)(dynamic)(base.Next() + base.NextDouble()); + } + } +} diff --git a/MathExtended.csproj b/MathExtended.csproj index 0d21749..1b80efd 100644 --- a/MathExtended.csproj +++ b/MathExtended.csproj @@ -186,6 +186,7 @@ + diff --git a/Matrix.cs b/Matrix.cs index e813a30..d81d164 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -284,7 +284,6 @@ public static explicit operator Matrix(T[,] array) return matrix.matrix; } - #endregion /// @@ -336,52 +335,48 @@ public Matrix TransponateMatrix() /// Приводит матрицу к ступенчатому виду /// /// Матрица в ступенчатов виде - //public Matrix ConvertToStepped() - //{ - // var steppedMatrix = this; - - // dynamic primaryElement = null; - - // T[] primaryRow; - - // dynamic zero = 0; - - // if (IsSquareMatrix) - // { + public Matrix ConvertToStepped() + { + var steppedMatrix = this; + dynamic primaryElement = null; - // for (int row = 0; row < RowsCount; row++) - // { - // if (Operator.NotEqual(steppedMatrix[row, 0], zero)) - // { - // primaryElement = steppedMatrix[row, 0]; - // primaryRow = base.Rows[row]; + Row primaryRow; - // break; + dynamic zero = 0; + if (IsSquareMatrix) + { + for (int row = 0; row < RowsCount; row++) + { + if (Operator.NotEqual(steppedMatrix[row, 0], zero)) + { + primaryElement = steppedMatrix[row, 0]; + primaryRow = Rows[row]; + break; - // } + } - // } - // for (int row = 0; row < RowsCount; row++) - // { - // for (int element = 0; element < Rows[row].Length - 1; element++) - // { - // steppedMatrix[row, element] = Rows[row][element] / primaryElement; - // } - // } + } + for (int row = 0; row < RowsCount; row++) + { + for (int element = 0; element < Rows[row].Size - 1; element++) + { + steppedMatrix[row, element] = Rows[row][element] / primaryElement; + } + } - // return steppedMatrix; - // } + return steppedMatrix; + } - // else - // { - // throw new TheNumberOfRowsAndColumnsIsDifferentException(); - // } + else + { + throw new TheNumberOfRowsAndColumnsIsDifferentException(); + } - //} + } /// /// Создает матрицу с вычеркнутыми столбцами на основе текущей @@ -461,23 +456,23 @@ public T CalculateDeterminant() #region Фичи /// - /// Заполняет матрицу случайными значениями + /// Заполняет матрицу случайными целочисленными значениями /// - /// Матрмца со случайными значениями - public dynamic FillMatrixRandom() + /// Матрица со случайными значениями + public Matrix FillMatrixRandom() { dynamic filledMatrix = new Matrix(this.RowsCount,this.ColumnsCount); - Random random = new Random(); + ExtendentRandom random = new ExtendentRandom(); Parallel.For(0, this.RowsCount, row => { - Parallel.For(0, this.ColumnsCount, column => - { - filledMatrix[row, column] = random.Next(); - }); + Parallel.For(0, this.ColumnsCount, column => + { + filledMatrix[row, column] = random.Next(); + }); }); - + return filledMatrix; } @@ -486,31 +481,35 @@ public dynamic FillMatrixRandom() /// /// Минимальное число /// Максимальное число - /// - public dynamic FillMatrixRandom(int min,int max) + /// Матрица со случайными значениями + public Matrix FillMatrixRandom(T min,T max) { - dynamic filledMatrix = new Matrix(this.RowsCount, this.ColumnsCount); + Matrix filledMatrix = new Matrix(this.RowsCount, this.ColumnsCount); - dynamic random = new Random(); + ExtendentRandom random = new ExtendentRandom(); Parallel.For(0, this.RowsCount, row => { Parallel.For(0, this.ColumnsCount, column => { - filledMatrix[row, column] = random.Next(min, max); + //Позволяет сохранить инвариантность этого метода + filledMatrix[row, column] = random.Next(min, max); + //(T)(dynamic)random.NextDecimal((decimal)(dynamic)min, (decimal)(dynamic)max); }); }); + + return filledMatrix; } /// - /// Заполняет матрицу по порядку:от 1 до размера матрицы + /// Заполняет матрицу по порядку:от 1 до размера последнего элемента матрицы /// /// Матрица заполненная по порядку public Matrix FillMatrixInOrder() { - var filledMatrix = new Matrix(this.RowsCount, this.ColumnsCount); + Matrix filledMatrix = new Matrix(this.RowsCount, this.ColumnsCount); int counter = 1; @@ -543,6 +542,14 @@ public void ForEach(Action action) } + public void ForEach(Action action) + { + foreach(var cell in this) + { + action(cell); + } + } + /// /// Преобразует матрицу в двумерный массив /// @@ -553,9 +560,9 @@ public void ForEach(Action action) } /// - /// Вывод всей матрицы + /// Вывод матрицы в строковом представлении /// - /// + /// Строковое представление матрицы public override string ToString() { string outString = String.Empty; From 9dbb7123166e729b283d9eee806e370530e72635 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Thu, 19 Aug 2021 19:12:38 +0300 Subject: [PATCH 22/68] --- BaseMatrix.cs | 5 +++-- Column.cs | 2 +- Interfaces/IMatrix.cs | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/BaseMatrix.cs b/BaseMatrix.cs index 9b484ea..e4d9c51 100644 --- a/BaseMatrix.cs +++ b/BaseMatrix.cs @@ -8,7 +8,7 @@ namespace MathExtended { /// /// Базовый класс матрицы.Реализует интерфейс перечисления - /// и ограничивает принимаемые обобщения до числовых типов( и т.д) + /// и ограничивает принимаемые обобщения до числовых типов ( и т.д) /// /// Числовой тип public abstract class BaseMatrix : IEnumerator,IMatrix where T: IComparable, IFormattable, IConvertible, IComparable, IEquatable @@ -131,7 +131,8 @@ public Column[] Columns get { _columns = GetColumns(); - return _columns; + return _columns; + } private set diff --git a/Column.cs b/Column.cs index bd4be5b..83aaab1 100644 --- a/Column.cs +++ b/Column.cs @@ -7,7 +7,7 @@ namespace MathExtended { /// - /// Описывает столбцы матрицы + /// Описывает столбец матрицы /// /// Тип содержимого строки public class Column : BaseCellsCollection where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable diff --git a/Interfaces/IMatrix.cs b/Interfaces/IMatrix.cs index 9ac0497..7dcd9b4 100644 --- a/Interfaces/IMatrix.cs +++ b/Interfaces/IMatrix.cs @@ -20,7 +20,7 @@ public interface IMatrix where T: IComparable, IFormattable, IConvertible, IC /// /// Метод нахождения диагонали /// - /// Массив состоящий определяющийся главной диагональю матрицы + /// Массив определяющийся главной диагональю матрицы T[] FindDiagonal(); /// From 01f6611dd08076b615c4507c4c85abee4784ee39 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sun, 22 Aug 2021 14:30:15 +0300 Subject: [PATCH 23/68] --- BaseCellsCollection.cs | 98 +++++++++++++++++++++++++++++++++++++++++- ExtendentRandom.cs | 8 +--- 2 files changed, 99 insertions(+), 7 deletions(-) diff --git a/BaseCellsCollection.cs b/BaseCellsCollection.cs index 6cd749a..d5d7344 100644 --- a/BaseCellsCollection.cs +++ b/BaseCellsCollection.cs @@ -1,4 +1,5 @@ using System; +using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; @@ -10,11 +11,13 @@ namespace MathExtended /// Описывает коллекцию ячеек /// /// Тип содержиого - public abstract class BaseCellsCollection where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable + public abstract class BaseCellsCollection : IEnumerator where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable { private T[] _cells; private int _size; + private bool disposedValue; + private int _position; /// /// Индексатор.По индексу возвращает или задает значение ячейки @@ -72,5 +75,98 @@ public virtual void ForEach(Action action) action(item); } } + + #region IEnumerable + /// + /// Текуший элемент + /// + public T Current + { + get + { + return _cells[_position]; + } + } + + object IEnumerator.Current => Current; + + /// + /// Перечислитель + /// + /// Перечислитель матрицы + public IEnumerator GetEnumerator() + { + foreach (var i in _cells) + { + + yield return i; + } + } + + /// + /// Перемещает индексатор на одну позицию вперед + /// + /// true или false в зависимости ли можно переместить индексатор + public bool MoveNext() + { + + if (_position < this.Size - 1) + { + return true; + } + else + { + return false; + } + + + + } + + /// + /// Перемещает индексатор в начало матрицы + /// + public void Reset() + { + _position = -1; + } + + /// + /// Высвобождает использованные ресурсы + /// + /// + protected virtual void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + _cells = null; + } + + // TODO: освободить неуправляемые ресурсы (неуправляемые объекты) и переопределить метод завершения + // TODO: установить значение NULL для больших полей + disposedValue = true; + } + } + + // // TODO: переопределить метод завершения, только если "Dispose(bool disposing)" содержит код для освобождения неуправляемых ресурсов + // ~Matrix() + // { + // // Не изменяйте этот код. Разместите код очистки в методе "Dispose(bool disposing)". + // Dispose(disposing: false); + // } + + /// + /// Освобождает использованные ресурсы + /// + public void Dispose() + { + // Не изменяйте этот код. Разместите код очистки в методе "Dispose(bool disposing)". + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + #endregion } } diff --git a/ExtendentRandom.cs b/ExtendentRandom.cs index ae6a80f..8fc3c15 100644 --- a/ExtendentRandom.cs +++ b/ExtendentRandom.cs @@ -1,8 +1,4 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace MathExtended { @@ -18,9 +14,9 @@ public class ExtendentRandom : Random /// Нижняя граница /// Верхняя граница /// Число - public T Next(T minValue, T maxValue) where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable + public T Next(in T minValue,in T maxValue) where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable { - return (T)(dynamic)(base.Next((int)(dynamic)minValue, (int)(dynamic)maxValue) + base.NextDouble()); + return (T)(dynamic)(base.Next((int)(dynamic)minValue, (int)(dynamic)maxValue)); } /// From 2a1c5d462226001343a40c0283bf8829678daded Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sun, 22 Aug 2021 14:31:15 +0300 Subject: [PATCH 24/68] --- ExtendentRandom.cs | 6 +++++- Matrix.cs | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ExtendentRandom.cs b/ExtendentRandom.cs index ae6a80f..5515970 100644 --- a/ExtendentRandom.cs +++ b/ExtendentRandom.cs @@ -20,7 +20,11 @@ public class ExtendentRandom : Random /// Число public T Next(T minValue, T maxValue) where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable { - return (T)(dynamic)(base.Next((int)(dynamic)minValue, (int)(dynamic)maxValue) + base.NextDouble()); + //return (T)(dynamic)(base.Next((int)Math.Round((dynamic)minValue), (int)Math.Round((dynamic)maxValue))); + var minValueCasted = (double)(dynamic)minValue; + var maxValueCasted = (double)(dynamic)maxValue; + var random = new Random().NextDouble(); + return (T)(dynamic)((random * minValueCasted) + (1 - random) * maxValueCasted);//System.EngineError (Ненормальное потребление памяти) } /// diff --git a/Matrix.cs b/Matrix.cs index d81d164..5c92e1a 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -542,6 +542,10 @@ public void ForEach(Action action) } + /// + /// Применяет действия ко всем элементам матрицы + /// + /// Действие public void ForEach(Action action) { foreach(var cell in this) From 675ca770b76b35acdb9de1bfbf0eecbae72043be Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sun, 22 Aug 2021 14:33:14 +0300 Subject: [PATCH 25/68] --- ExtendentRandom.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ExtendentRandom.cs b/ExtendentRandom.cs index eda1b83..ef2b6d4 100644 --- a/ExtendentRandom.cs +++ b/ExtendentRandom.cs @@ -16,11 +16,10 @@ public class ExtendentRandom : Random /// Число public T Next(in T minValue,in T maxValue) where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable { - //return (T)(dynamic)(base.Next((int)Math.Round((dynamic)minValue), (int)Math.Round((dynamic)maxValue))); var minValueCasted = (double)(dynamic)minValue; var maxValueCasted = (double)(dynamic)maxValue; var random = new Random().NextDouble(); - return (T)(dynamic)((random * minValueCasted) + (1 - random) * maxValueCasted);//System.EngineError (Ненормальное потребление памяти) + return (T)(dynamic)((random * minValueCasted) + (1 - random) * maxValueCasted); } /// From 563ae480f6994b31a8727b4456894e58cb38808f Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sun, 22 Aug 2021 21:55:21 +0300 Subject: [PATCH 26/68] --- BaseCellsCollection.cs | 20 ++-- Column.cs | 107 +++++++++++++++++- .../ColumnsOfDifferentSizesException.cs | 24 ++++ Exceptions/RowsOfDifferentSizesException.cs | 24 ++++ ExtendentRandom.cs | 2 +- MathExtended.csproj | 2 + Matrix.cs | 17 ++- Row.cs | 93 ++++++++++++++- 8 files changed, 274 insertions(+), 15 deletions(-) create mode 100644 Exceptions/ColumnsOfDifferentSizesException.cs create mode 100644 Exceptions/RowsOfDifferentSizesException.cs diff --git a/BaseCellsCollection.cs b/BaseCellsCollection.cs index d5d7344..7066282 100644 --- a/BaseCellsCollection.cs +++ b/BaseCellsCollection.cs @@ -1,4 +1,5 @@ -using System; +using MiscUtil; +using System; using System.Collections; using System.Collections.Generic; using System.Linq; @@ -13,7 +14,10 @@ namespace MathExtended /// Тип содержиого public abstract class BaseCellsCollection : IEnumerator where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable { - private T[] _cells; + /// + /// Массив ячеек + /// + protected T[] _cells; private int _size; private bool disposedValue; @@ -68,14 +72,14 @@ public BaseCellsCollection(T[] array) /// Применяет действие ко всем элементам /// /// Действие - public virtual void ForEach(Action action) + public virtual void ForEach(Action action) { - for(int item = 0;item < Size - 1;item++) - { - action(item); - } + foreach(T cell in _cells) + { + action(cell); + } } - + #region IEnumerable /// /// Текуший элемент diff --git a/Column.cs b/Column.cs index 83aaab1..6e0bc3d 100644 --- a/Column.cs +++ b/Column.cs @@ -1,4 +1,6 @@ -using System; +using MiscUtil; +using System; +using MathExtended.Exceptions; using System.Collections.Generic; using System.Linq; using System.Text; @@ -31,5 +33,108 @@ public static implicit operator Column(T[] array) { return new Column(array); } + + /// + /// Умножает число на столбец + /// + /// Множитель + /// Столбец + /// Умноженый столбец + public static Column operator *(T multiplier, Column column) + { + Column multipliedColumn = new Column(column.Size); + + column.ForEach((cell) => + { + int i = 0; + + multipliedColumn[i++] = Operator.Multiply(cell, multiplier); + }); + + return multipliedColumn; + } + + /// + /// Умножает число на столбец + /// + /// Множитель + /// Столбец + /// Умноженный столбец + public static Column operator *(Column column, T multiplier) + { + Column multipliedColumn = new Column(column.Size); + + column.ForEach((cell) => + { + int i = 0; + + multipliedColumn[i++] = Operator.Multiply(cell, multiplier); + }); + + return multipliedColumn; + } + + /// + /// Складывает столбцы + /// + /// Первый столбец + /// Второй столбец + /// Сумма двух столбцов + public static Column operator +(Column columnA, Column columnB) + { + if (columnA.Size == columnB.Size) + { + Column summedColumn = new Column(columnA.Size); + + summedColumn.ForEach((cell) => + { + int i = 0; + + summedColumn[i++] = Operator.Add(columnA[i++], columnB[i++]); + }); + + return summedColumn; + } + else + { + throw new ColumnsOfDifferentSizesException(); + } + } + + /// + /// Вычетает столбцы + /// + /// Первый столбец + /// Второй столбец + /// Разность двух столбцов + public static Column operator -(Column columnA, Column columnB) + { + if (columnA.Size == columnB.Size) + { + Column summedColumn = new Column(columnA.Size); + + summedColumn.ForEach((cell) => + { + int i = 0; + + summedColumn[i++] = Operator.Subtract(columnA[i++], columnB[i++]); + }); + + return summedColumn; + } + else + { + throw new ColumnsOfDifferentSizesException(); + } + } + + /// + /// Транспонирует столбец + /// + /// Строка + public Row Transponate() + { + return new Row(_cells); + } } } diff --git a/Exceptions/ColumnsOfDifferentSizesException.cs b/Exceptions/ColumnsOfDifferentSizesException.cs new file mode 100644 index 0000000..5e5ccc1 --- /dev/null +++ b/Exceptions/ColumnsOfDifferentSizesException.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MathExtended.Exceptions +{ + /// + /// Появляется при попытке сложить/вычесть строки разных размеров + /// + public class ColumnsOfDifferentSizesException : Exception + { + private string _message = "Columns must be the same sizes."; + + /// + /// Сообщение исключения + /// + public override string Message + { + get => _message; + } + } +} diff --git a/Exceptions/RowsOfDifferentSizesException.cs b/Exceptions/RowsOfDifferentSizesException.cs new file mode 100644 index 0000000..c6afa44 --- /dev/null +++ b/Exceptions/RowsOfDifferentSizesException.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MathExtended.Exceptions +{ + /// + /// Появляется при попытке сложить/вычесть строки разных размеров + /// + public class RowsOfDifferentSizesException : Exception + { + private string _message = "Rows must be the same sizes."; + + /// + /// Сообщение исключения + /// + public override string Message + { + get => _message; + } + } +} diff --git a/ExtendentRandom.cs b/ExtendentRandom.cs index eda1b83..79a5c8a 100644 --- a/ExtendentRandom.cs +++ b/ExtendentRandom.cs @@ -19,7 +19,7 @@ public T Next(in T minValue,in T maxValue) where T : IComparable, IFormattabl //return (T)(dynamic)(base.Next((int)Math.Round((dynamic)minValue), (int)Math.Round((dynamic)maxValue))); var minValueCasted = (double)(dynamic)minValue; var maxValueCasted = (double)(dynamic)maxValue; - var random = new Random().NextDouble(); + var random = base.NextDouble(); return (T)(dynamic)((random * minValueCasted) + (1 - random) * maxValueCasted);//System.EngineError (Ненормальное потребление памяти) } diff --git a/MathExtended.csproj b/MathExtended.csproj index 1b80efd..29e8f46 100644 --- a/MathExtended.csproj +++ b/MathExtended.csproj @@ -181,9 +181,11 @@ + + diff --git a/Matrix.cs b/Matrix.cs index 5c92e1a..f6158b5 100644 --- a/Matrix.cs +++ b/Matrix.cs @@ -186,7 +186,7 @@ private void OnDiagonalChanged() /// /// /// Разность матриц - public static Matrix operator -(Matrix matrixA, Matrix matrixB) + public static Matrix operator - (Matrix matrixA, Matrix matrixB) { if (matrixA.ColumnsCount == matrixB.ColumnsCount && matrixA.RowsCount == matrixB.RowsCount) { @@ -223,7 +223,6 @@ private void OnDiagonalChanged() Parallel.For(0, matrixA.RowsCount, row => { - Parallel.For(0, matrixA.ColumnsCount, column => { matrixB[row, column] = Operator.Multiply(matrixA[row, column], multiplier); @@ -233,6 +232,18 @@ private void OnDiagonalChanged() return matrixB; } + + /// + /// Умножает матрицу на число + /// + /// + /// + /// Умноженная на число матрица + public static Matrix operator *(Matrix matrixA, T multiplier) + { + return multiplier * matrixA; + } + /// /// Перемножает матрицы /// @@ -512,6 +523,8 @@ public Matrix FillMatrixInOrder() Matrix filledMatrix = new Matrix(this.RowsCount, this.ColumnsCount); int counter = 1; + + ForEach((column,row) => filledMatrix[(dynamic)row, (dynamic)column] = counter++); diff --git a/Row.cs b/Row.cs index ca0a1ec..ee1ed9d 100644 --- a/Row.cs +++ b/Row.cs @@ -1,8 +1,10 @@ -using System; +using MiscUtil; +using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using MathExtended.Exceptions; namespace MathExtended { @@ -18,7 +20,7 @@ public class Row : BaseCellsCollection where T : IComparable, IFormattable /// public Row(int length) : base(length) { - + } /// /// Создает строку на основе массива @@ -30,9 +32,94 @@ public Row(T[] array) : base(array) { } /// Не явным образом приводит массив к строке /// /// - public static implicit operator Row(T[] array) + public static implicit operator Row(T[] array) { return new Row(array); } + + /// + /// Умножает число на строку + /// + /// Множитель + /// Строка + /// Умноженная строка + public static Row operator * (T multiplier, Row row) + { + Row multipliedRow = new Row(row.Size); + + + + row.ForEach((cell) => + { + int i = 0; + + multipliedRow[i++] = Operator.Multiply(cell, multiplier); + }); + + return multipliedRow; + } + + /// + /// Складывает строки + /// + /// Первая строка + /// Вторая строка + /// Сумма двух строк + public static Row operator + (Row rowA, Row rowB) + { + if (rowA.Size == rowB.Size) + { + Row summedRow = new Row(rowA.Size); + + summedRow.ForEach((cell) => + { + int i = 0; + + summedRow[i++] = Operator.Add(rowA[i++], rowB[i++]); + }); + + return summedRow; + } + else + { + throw new RowsOfDifferentSizesException(); + } + } + + /// + /// Вычетает строки + /// + /// Первая строка + /// Вторая строка + /// Разность двух строк + public static Row operator - (Row rowA, Row rowB) + { + if (rowA.Size == rowB.Size) + { + Row summedRow = new Row(rowA.Size); + + summedRow.ForEach((cell) => + { + int i = 0; + + summedRow[i++] = Operator.Subtract(rowA[i++], rowB[i++]); + }); + + return summedRow; + } + else + { + throw new RowsOfDifferentSizesException(); + } + } + + /// + /// Транспонирует строку + /// + /// Столбец + public Column Transponate() + { + return new Column(_cells); + } } } From 1bb5708bc62fdcff3ea74335cb5eba63296f8eed Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Fri, 27 Aug 2021 16:26:00 +0300 Subject: [PATCH 27/68] --- MathExtended.csproj | 29 +- BaseMatrix.cs => Matrices/BaseMatrix.cs | 25 +- Matrix.cs => Matrices/Matrix.cs | 67 +- .../CellsCollections/BaseCellsCollection.cs | 16 +- .../BaseReadOnlyCellsCollection.cs | 41 + .../Structures/Columns/Column.cs | 51 +- Matrices/Structures/Columns/ReadOnlyColumn.cs | 54 + Matrices/Structures/Rows/ReadOnlyRow.cs | 55 + Row.cs => Matrices/Structures/Rows/Row.cs | 46 +- packages.config | 4 + packages/System.Buffers.4.5.1/.signature.p7s | Bin 0 -> 18702 bytes packages/System.Buffers.4.5.1/LICENSE.TXT | 23 + .../System.Buffers.4.5.1.nupkg | Bin 0 -> 93737 bytes .../THIRD-PARTY-NOTICES.TXT | 309 ++ .../lib/net461/System.Buffers.dll | Bin 0 -> 20856 bytes .../lib/net461/System.Buffers.xml | 38 + .../lib/netcoreapp2.0/_._ | 0 .../lib/netstandard1.1/System.Buffers.dll | Bin 0 -> 20864 bytes .../lib/netstandard1.1/System.Buffers.xml | 38 + .../lib/netstandard2.0/System.Buffers.dll | Bin 0 -> 21376 bytes .../lib/netstandard2.0/System.Buffers.xml | 38 + .../lib/uap10.0.16299/_._ | 0 .../ref/net45/System.Buffers.dll | Bin 0 -> 14720 bytes .../ref/net45/System.Buffers.xml | 38 + .../ref/netcoreapp2.0/_._ | 0 .../ref/netstandard1.1/System.Buffers.dll | Bin 0 -> 14712 bytes .../ref/netstandard1.1/System.Buffers.xml | 38 + .../ref/netstandard2.0/System.Buffers.dll | Bin 0 -> 14720 bytes .../ref/netstandard2.0/System.Buffers.xml | 38 + .../ref/uap10.0.16299/_._ | 0 .../useSharedDesignerContext.txt | 0 packages/System.Buffers.4.5.1/version.txt | 1 + packages/System.Memory.4.5.4/.signature.p7s | Bin 0 -> 18702 bytes packages/System.Memory.4.5.4/LICENSE.TXT | 23 + .../System.Memory.4.5.4.nupkg | Bin 0 -> 205467 bytes .../THIRD-PARTY-NOTICES.TXT | 309 ++ .../lib/net461/System.Memory.dll | Bin 0 -> 141184 bytes .../lib/net461/System.Memory.xml | 355 +++ .../System.Memory.4.5.4/lib/netcoreapp2.1/_._ | 0 .../lib/netstandard1.1/System.Memory.dll | Bin 0 -> 137088 bytes .../lib/netstandard1.1/System.Memory.xml | 355 +++ .../lib/netstandard2.0/System.Memory.dll | Bin 0 -> 141688 bytes .../lib/netstandard2.0/System.Memory.xml | 355 +++ .../System.Memory.4.5.4/ref/netcoreapp2.1/_._ | 0 .../useSharedDesignerContext.txt | 0 packages/System.Memory.4.5.4/version.txt | 1 + .../.signature.p7s | Bin 0 -> 22354 bytes .../System.Numerics.Vectors.4.5.0/LICENSE.TXT | 23 + .../System.Numerics.Vectors.4.5.0.nupkg | Bin 0 -> 382792 bytes .../THIRD-PARTY-NOTICES.TXT | 309 ++ .../lib/MonoAndroid10/_._ | 0 .../lib/MonoTouch10/_._ | 0 .../lib/net46/System.Numerics.Vectors.dll | Bin 0 -> 115856 bytes .../lib/net46/System.Numerics.Vectors.xml | 2621 +++++++++++++++++ .../lib/netcoreapp2.0/_._ | 0 .../System.Numerics.Vectors.dll | Bin 0 -> 160912 bytes .../System.Numerics.Vectors.xml | 2621 +++++++++++++++++ .../System.Numerics.Vectors.dll | Bin 0 -> 163464 bytes .../System.Numerics.Vectors.xml | 2621 +++++++++++++++++ .../System.Numerics.Vectors.dll | Bin 0 -> 160912 bytes .../System.Numerics.Vectors.xml | 2621 +++++++++++++++++ .../lib/uap10.0.16299/_._ | 0 .../lib/xamarinios10/_._ | 0 .../lib/xamarinmac20/_._ | 0 .../lib/xamarintvos10/_._ | 0 .../lib/xamarinwatchos10/_._ | 0 .../ref/MonoAndroid10/_._ | 0 .../ref/MonoTouch10/_._ | 0 .../ref/net45/System.Numerics.Vectors.dll | Bin 0 -> 38032 bytes .../ref/net45/System.Numerics.Vectors.xml | 2621 +++++++++++++++++ .../ref/net46/System.Numerics.Vectors.dll | Bin 0 -> 29320 bytes .../ref/net46/System.Numerics.Vectors.xml | 2621 +++++++++++++++++ .../ref/netcoreapp2.0/_._ | 0 .../System.Numerics.Vectors.dll | Bin 0 -> 38272 bytes .../System.Numerics.Vectors.xml | 2621 +++++++++++++++++ .../System.Numerics.Vectors.dll | Bin 0 -> 38272 bytes .../System.Numerics.Vectors.xml | 2621 +++++++++++++++++ .../ref/uap10.0.16299/_._ | 0 .../ref/xamarinios10/_._ | 0 .../ref/xamarinmac20/_._ | 0 .../ref/xamarintvos10/_._ | 0 .../ref/xamarinwatchos10/_._ | 0 .../useSharedDesignerContext.txt | 0 .../System.Numerics.Vectors.4.5.0/version.txt | 1 + .../.signature.p7s | Bin 0 -> 18702 bytes .../LICENSE.TXT | 23 + ...untime.CompilerServices.Unsafe.4.5.3.nupkg | Bin 0 -> 102160 bytes .../THIRD-PARTY-NOTICES.TXT | 309 ++ ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 16768 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 200 ++ ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 16248 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 200 ++ ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 16768 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 200 ++ ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 16768 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 200 ++ ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 16248 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 200 ++ ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 16248 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 200 ++ ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 16976 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 200 ++ .../useSharedDesignerContext.txt | 0 .../version.txt | 1 + 104 files changed, 25274 insertions(+), 107 deletions(-) rename BaseMatrix.cs => Matrices/BaseMatrix.cs (96%) rename Matrix.cs => Matrices/Matrix.cs (90%) rename BaseCellsCollection.cs => Matrices/Structures/CellsCollections/BaseCellsCollection.cs (93%) create mode 100644 Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs rename Column.cs => Matrices/Structures/Columns/Column.cs (76%) create mode 100644 Matrices/Structures/Columns/ReadOnlyColumn.cs create mode 100644 Matrices/Structures/Rows/ReadOnlyRow.cs rename Row.cs => Matrices/Structures/Rows/Row.cs (76%) create mode 100644 packages/System.Buffers.4.5.1/.signature.p7s create mode 100644 packages/System.Buffers.4.5.1/LICENSE.TXT create mode 100644 packages/System.Buffers.4.5.1/System.Buffers.4.5.1.nupkg create mode 100644 packages/System.Buffers.4.5.1/THIRD-PARTY-NOTICES.TXT create mode 100644 packages/System.Buffers.4.5.1/lib/net461/System.Buffers.dll create mode 100644 packages/System.Buffers.4.5.1/lib/net461/System.Buffers.xml create mode 100644 packages/System.Buffers.4.5.1/lib/netcoreapp2.0/_._ create mode 100644 packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.dll create mode 100644 packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.xml create mode 100644 packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.dll create mode 100644 packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.xml create mode 100644 packages/System.Buffers.4.5.1/lib/uap10.0.16299/_._ create mode 100644 packages/System.Buffers.4.5.1/ref/net45/System.Buffers.dll create mode 100644 packages/System.Buffers.4.5.1/ref/net45/System.Buffers.xml create mode 100644 packages/System.Buffers.4.5.1/ref/netcoreapp2.0/_._ create mode 100644 packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.dll create mode 100644 packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.xml create mode 100644 packages/System.Buffers.4.5.1/ref/netstandard2.0/System.Buffers.dll create mode 100644 packages/System.Buffers.4.5.1/ref/netstandard2.0/System.Buffers.xml create mode 100644 packages/System.Buffers.4.5.1/ref/uap10.0.16299/_._ create mode 100644 packages/System.Buffers.4.5.1/useSharedDesignerContext.txt create mode 100644 packages/System.Buffers.4.5.1/version.txt create mode 100644 packages/System.Memory.4.5.4/.signature.p7s create mode 100644 packages/System.Memory.4.5.4/LICENSE.TXT create mode 100644 packages/System.Memory.4.5.4/System.Memory.4.5.4.nupkg create mode 100644 packages/System.Memory.4.5.4/THIRD-PARTY-NOTICES.TXT create mode 100644 packages/System.Memory.4.5.4/lib/net461/System.Memory.dll create mode 100644 packages/System.Memory.4.5.4/lib/net461/System.Memory.xml create mode 100644 packages/System.Memory.4.5.4/lib/netcoreapp2.1/_._ create mode 100644 packages/System.Memory.4.5.4/lib/netstandard1.1/System.Memory.dll create mode 100644 packages/System.Memory.4.5.4/lib/netstandard1.1/System.Memory.xml create mode 100644 packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.dll create mode 100644 packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.xml create mode 100644 packages/System.Memory.4.5.4/ref/netcoreapp2.1/_._ create mode 100644 packages/System.Memory.4.5.4/useSharedDesignerContext.txt create mode 100644 packages/System.Memory.4.5.4/version.txt create mode 100644 packages/System.Numerics.Vectors.4.5.0/.signature.p7s create mode 100644 packages/System.Numerics.Vectors.4.5.0/LICENSE.TXT create mode 100644 packages/System.Numerics.Vectors.4.5.0/System.Numerics.Vectors.4.5.0.nupkg create mode 100644 packages/System.Numerics.Vectors.4.5.0/THIRD-PARTY-NOTICES.TXT create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/MonoAndroid10/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/MonoTouch10/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/net46/System.Numerics.Vectors.dll create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/net46/System.Numerics.Vectors.xml create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/netcoreapp2.0/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.dll create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.xml create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.dll create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.xml create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.dll create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.xml create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/uap10.0.16299/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/xamarinios10/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/xamarinmac20/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/xamarintvos10/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/lib/xamarinwatchos10/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/MonoAndroid10/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/MonoTouch10/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.dll create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.xml create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.dll create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.xml create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/netcoreapp2.0/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/netstandard1.0/System.Numerics.Vectors.dll create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/netstandard1.0/System.Numerics.Vectors.xml create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/netstandard2.0/System.Numerics.Vectors.dll create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/netstandard2.0/System.Numerics.Vectors.xml create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/uap10.0.16299/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/xamarinios10/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/xamarinmac20/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/xamarintvos10/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/ref/xamarinwatchos10/_._ create mode 100644 packages/System.Numerics.Vectors.4.5.0/useSharedDesignerContext.txt create mode 100644 packages/System.Numerics.Vectors.4.5.0/version.txt create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.4.5.3/.signature.p7s create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.4.5.3/LICENSE.TXT create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.4.5.3/System.Runtime.CompilerServices.Unsafe.4.5.3.nupkg create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.4.5.3/THIRD-PARTY-NOTICES.TXT create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.4.5.3/lib/net461/System.Runtime.CompilerServices.Unsafe.dll create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.4.5.3/lib/net461/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.4.5.3/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.dll create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.4.5.3/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.4.5.3/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.4.5.3/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.4.5.3/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.4.5.3/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.4.5.3/ref/net461/System.Runtime.CompilerServices.Unsafe.dll create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.4.5.3/ref/net461/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.4.5.3/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.4.5.3/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.4.5.3/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.4.5.3/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.4.5.3/useSharedDesignerContext.txt create mode 100644 packages/System.Runtime.CompilerServices.Unsafe.4.5.3/version.txt diff --git a/MathExtended.csproj b/MathExtended.csproj index 29e8f46..e7ac2ea 100644 --- a/MathExtended.csproj +++ b/MathExtended.csproj @@ -46,6 +46,9 @@ True True + + packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + packages\System.Console.4.0.0\lib\net46\System.Console.dll @@ -102,6 +105,9 @@ True True + + packages\System.Memory.4.5.4\lib\net461\System.Memory.dll + packages\System.Net.Http.4.1.0\lib\net46\System.Net.Http.dll True @@ -113,6 +119,9 @@ True + + packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + packages\System.Reflection.4.1.0\lib\net462\System.Reflection.dll True @@ -126,6 +135,9 @@ True True + + packages\System.Runtime.CompilerServices.Unsafe.4.5.3\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + packages\System.Runtime.Extensions.4.1.0\lib\net462\System.Runtime.Extensions.dll True @@ -178,9 +190,10 @@ - - - + + + + @@ -190,13 +203,19 @@ - + + - + + + + + + \ No newline at end of file diff --git a/BaseMatrix.cs b/Matrices/BaseMatrix.cs similarity index 96% rename from BaseMatrix.cs rename to Matrices/BaseMatrix.cs index e4d9c51..27ff5fd 100644 --- a/BaseMatrix.cs +++ b/Matrices/BaseMatrix.cs @@ -2,9 +2,12 @@ using System; using System.Collections; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Threading.Tasks; +using MathExtended.Matrices.Structures.Columns; +using MathExtended.Matrices.Structures.Rows; -namespace MathExtended +namespace MathExtended.Matrices { /// /// Базовый класс матрицы.Реализует интерфейс перечисления @@ -106,39 +109,30 @@ protected set /// /// Получает все cтроки матрицы /// - public Row[] Rows + public ReadOnlyCollection> Rows { get { _rows = GetRows(); - return _rows; + return Array.AsReadOnly(_rows); } - private set - { - _rows = value; - } - } /// /// Столбцы матрицы /// - public Column[] Columns + public ReadOnlyCollection> Columns { get { _columns = GetColumns(); - return _columns; + return Array.AsReadOnly(_columns); } - private set - { - _columns = value; - } } private Row GetRow(int rowIndex) @@ -371,8 +365,7 @@ protected virtual void Dispose(bool disposing) { if (disposing) { - Rows = null; - Columns = null; + matrix = null; MainDiagonal = null; } diff --git a/Matrix.cs b/Matrices/Matrix.cs similarity index 90% rename from Matrix.cs rename to Matrices/Matrix.cs index f6158b5..787ad7f 100644 --- a/Matrix.cs +++ b/Matrices/Matrix.cs @@ -10,7 +10,7 @@ using System.Runtime.CompilerServices; using System.Threading; -namespace MathExtended +namespace MathExtended.Matrices { /// /// Описывает основную логику матриц @@ -327,7 +327,7 @@ public static Matrix Pow(Matrix matrix, int power) /// Транспонирует(меняет строки со столбцами) текущую матрицу и возвращает новую /// /// Транспонированная матрица - public Matrix TransponateMatrix() + public Matrix Transponate() { var transposedMatrix = new Matrix(this.ColumnsCount, this.RowsCount); @@ -345,38 +345,27 @@ public Matrix TransponateMatrix() /// /// Приводит матрицу к ступенчатому виду /// - /// Матрица в ступенчатов виде - public Matrix ConvertToStepped() + /// Матрица в ступенчатов виде + public Matrix ToSteppedView() { var steppedMatrix = this; - dynamic primaryElement = null; - - Row primaryRow; - - dynamic zero = 0; - if (IsSquareMatrix) { - for (int row = 0; row < RowsCount; row++) + steppedMatrix.ForEach((row,column) => { - if (Operator.NotEqual(steppedMatrix[row, 0], zero)) - { - primaryElement = steppedMatrix[row, 0]; - primaryRow = Rows[row]; - - break; - } - - } - for (int row = 0; row < RowsCount; row++) - { - for (int element = 0; element < Rows[row].Size - 1; element++) + for (int j = row + 1; j < steppedMatrix.RowsCount; j++) { - steppedMatrix[row, element] = Rows[row][element] / primaryElement; - } - } + dynamic koeficient = Operator.Divide(steppedMatrix[j, row], steppedMatrix[row, row]); + + for (int k = 0; k < steppedMatrix.RowsCount; k++) + { + steppedMatrix[j, k] -= steppedMatrix[row, k] * koeficient; + } + } + }); + return steppedMatrix; } @@ -386,7 +375,6 @@ public Matrix ConvertToStepped() throw new TheNumberOfRowsAndColumnsIsDifferentException(); } - } /// @@ -403,9 +391,8 @@ private Matrix CreateMatrixWithoutColumn(int column) } var result = new Matrix(this.RowsCount, this.ColumnsCount - 1); result.ForEach((i, j) => - result[Operator.Convert(i), Operator.Convert(j)] = - Operator.Convert(j) < column ? this[Operator.Convert(i), - Operator.Convert(j)] : this[Operator.Convert(i), Operator.Convert(j) + 1]); + result[i, j] = + j < column ? this[i,j] : this[i, j + 1]); return result; } @@ -423,9 +410,9 @@ private Matrix CreateMatrixWithoutRow(int row) } var result = new Matrix(this.RowsCount - 1, this.ColumnsCount); result.ForEach((i, j) => - result[Operator.Convert(i), Operator.Convert(j)] = - Operator.Convert(i) < row ? - this[Operator.Convert(i), Operator.Convert(j)] : this[Operator.Convert(i) + 1, Operator.Convert(j)]); + result[i, j] = + i < row ? + this[i, j] : this[i + 1, j]); return result; } /// @@ -470,7 +457,7 @@ public T CalculateDeterminant() /// Заполняет матрицу случайными целочисленными значениями /// /// Матрица со случайными значениями - public Matrix FillMatrixRandom() + public Matrix FillRandom() { dynamic filledMatrix = new Matrix(this.RowsCount,this.ColumnsCount); @@ -493,7 +480,7 @@ public Matrix FillMatrixRandom() /// Минимальное число /// Максимальное число /// Матрица со случайными значениями - public Matrix FillMatrixRandom(T min,T max) + public Matrix FillRandom(T min,T max) { Matrix filledMatrix = new Matrix(this.RowsCount, this.ColumnsCount); @@ -518,14 +505,12 @@ public Matrix FillMatrixRandom(T min,T max) /// Заполняет матрицу по порядку:от 1 до размера последнего элемента матрицы /// /// Матрица заполненная по порядку - public Matrix FillMatrixInOrder() + public Matrix FillInOrder() { Matrix filledMatrix = new Matrix(this.RowsCount, this.ColumnsCount); int counter = 1; - - ForEach((column,row) => filledMatrix[(dynamic)row, (dynamic)column] = counter++); return filledMatrix; @@ -535,7 +520,7 @@ public Matrix FillMatrixInOrder() /// Применяет действия ко всем элементам матрицы /// /// Действие - public void ForEach(Action action) + public void ForEach(Action action) { if (action == null) { @@ -544,9 +529,9 @@ public void ForEach(Action action) else { - for(dynamic row = 0;row < this.RowsCount; row++) + for(int row = 0;row < this.RowsCount; row++) { - for (dynamic column = 0; column < this.ColumnsCount; column++) + for (int column = 0; column < this.ColumnsCount; column++) { action(row, column); } diff --git a/BaseCellsCollection.cs b/Matrices/Structures/CellsCollections/BaseCellsCollection.cs similarity index 93% rename from BaseCellsCollection.cs rename to Matrices/Structures/CellsCollections/BaseCellsCollection.cs index 7066282..a6d853f 100644 --- a/BaseCellsCollection.cs +++ b/Matrices/Structures/CellsCollections/BaseCellsCollection.cs @@ -6,13 +6,13 @@ using System.Text; using System.Threading.Tasks; -namespace MathExtended +namespace MathExtended.Matrices.Structures.CellsCollection { /// /// Описывает коллекцию ячеек /// - /// Тип содержиого - public abstract class BaseCellsCollection : IEnumerator where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable + /// Числовой тип + public class BaseCellsCollection : IEnumerator where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable { /// /// Массив ячеек @@ -28,7 +28,7 @@ public abstract class BaseCellsCollection : IEnumerator where T : ICompara /// /// Индекс элемента /// Элемент по индексу - public T this[int index] + public virtual T this[int index] { get { @@ -74,12 +74,12 @@ public BaseCellsCollection(T[] array) /// Действие public virtual void ForEach(Action action) { - foreach(T cell in _cells) - { + foreach (T cell in _cells) + { action(cell); - } + } } - + #region IEnumerable /// /// Текуший элемент diff --git a/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs b/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs new file mode 100644 index 0000000..1a6ff67 --- /dev/null +++ b/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MathExtended.Matrices.Structures.CellsCollection +{ + /// + /// Описывает коллекцию ячеек только для чтения + /// + /// Числовой тип + public abstract class BaseReadOnlyCellsCollection : BaseCellsCollection where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable + { + /// + /// Индексатор.По индексу возвращает значение ячейки + /// + /// Индекс элемента + /// Элемент по индексу + public override T this[int index] { get => base[index];} + + /// + /// Создает коллекцию ячеек только для чтения с указанным размером + /// + /// Размер коллеции + public BaseReadOnlyCellsCollection(int size) : base(size) + { + + } + + /// + /// Создает коллецию только для чтения на основе массива + /// + /// Массив + public BaseReadOnlyCellsCollection(T[] array) : base(array) + { + + } + + } +} diff --git a/Column.cs b/Matrices/Structures/Columns/Column.cs similarity index 76% rename from Column.cs rename to Matrices/Structures/Columns/Column.cs index 6e0bc3d..515b80f 100644 --- a/Column.cs +++ b/Matrices/Structures/Columns/Column.cs @@ -5,8 +5,10 @@ using System.Linq; using System.Text; using System.Threading.Tasks; +using MathExtended.Matrices.Structures.CellsCollection; +using MathExtended.Matrices.Structures.Rows; -namespace MathExtended +namespace MathExtended.Matrices.Structures.Columns { /// /// Описывает столбец матрицы @@ -44,12 +46,9 @@ public static implicit operator Column(T[] array) { Column multipliedColumn = new Column(column.Size); - column.ForEach((cell) => - { - int i = 0; + int i = 0; - multipliedColumn[i++] = Operator.Multiply(cell, multiplier); - }); + column.ForEach((cell) => multipliedColumn[i++] = Operator.Multiply(cell, multiplier)); return multipliedColumn; } @@ -64,12 +63,9 @@ public static implicit operator Column(T[] array) { Column multipliedColumn = new Column(column.Size); - column.ForEach((cell) => - { - int i = 0; + int i = 0; - multipliedColumn[i++] = Operator.Multiply(cell, multiplier); - }); + column.ForEach((cell) => multipliedColumn[i++] = Operator.Multiply(cell, multiplier)); return multipliedColumn; } @@ -86,12 +82,9 @@ public static implicit operator Column(T[] array) { Column summedColumn = new Column(columnA.Size); - summedColumn.ForEach((cell) => - { - int i = 0; + int i = 0; - summedColumn[i++] = Operator.Add(columnA[i++], columnB[i++]); - }); + summedColumn.ForEach((cell) => summedColumn[i++] = Operator.Add(columnA[i++], columnB[i++])); return summedColumn; } @@ -113,12 +106,9 @@ public static implicit operator Column(T[] array) { Column summedColumn = new Column(columnA.Size); - summedColumn.ForEach((cell) => - { - int i = 0; + int i = 0; - summedColumn[i++] = Operator.Subtract(columnA[i++], columnB[i++]); - }); + summedColumn.ForEach((cell) => summedColumn[i++] = Operator.Subtract(columnA[i++], columnB[i++])); return summedColumn; } @@ -128,6 +118,25 @@ public static implicit operator Column(T[] array) } } + /// + /// Явно приводит к + /// Делая пригодным для записи + /// + /// Привидимый столбец + public static explicit operator Column(ReadOnlyColumn readOnlyColumn) + { + Column column = new Column(readOnlyColumn.Size); + + int i = 0; + + readOnlyColumn.ForEach((cell) => + { + column[i] = cell; + }); + + return column; + } + /// /// Транспонирует столбец /// diff --git a/Matrices/Structures/Columns/ReadOnlyColumn.cs b/Matrices/Structures/Columns/ReadOnlyColumn.cs new file mode 100644 index 0000000..6249e42 --- /dev/null +++ b/Matrices/Structures/Columns/ReadOnlyColumn.cs @@ -0,0 +1,54 @@ +using MathExtended.Matrices.Structures.CellsCollection; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MathExtended.Matrices.Structures.Columns +{ + /// + /// Описывает логику столбца только для чтения + /// + /// + public class ReadOnlyColumn : BaseReadOnlyCellsCollection where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable + { + /// + /// Создает столбец только для чтения укзанного размера + /// + /// Размер столбца + public ReadOnlyColumn(int size) : base(size) + { + + } + + /// + /// Создает столбец только для чтения на основе массива + /// + /// Массив + public ReadOnlyColumn(T[] array) : base(array) + { + + } + + /// + /// Явно приводит к + /// делая только для чтения + /// + /// Приводимый столбец + public static explicit operator ReadOnlyColumn(Column column) + { + ReadOnlyColumn readOnlyColumn = new ReadOnlyColumn(column.Size); + + int i = 0; + + readOnlyColumn.ForEach((cell) => + { + column[i] = cell; + }); + + return readOnlyColumn; + } + + } +} diff --git a/Matrices/Structures/Rows/ReadOnlyRow.cs b/Matrices/Structures/Rows/ReadOnlyRow.cs new file mode 100644 index 0000000..a836a0e --- /dev/null +++ b/Matrices/Structures/Rows/ReadOnlyRow.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using MathExtended.Matrices.Structures.CellsCollection; + +namespace MathExtended.Matrices.Structures.Rows +{ + /// + /// Описывает строку только для чтения + /// + /// Числовой тип + public class ReadOnlyRow : BaseReadOnlyCellsCollection where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable + { + /// + /// Создает строку только для чтения определенного размера + /// + /// Размер + public ReadOnlyRow(int size) : base(size) + { + + } + + /// + /// Создает строку только для чтения на основе массива + /// + /// Массив + public ReadOnlyRow(T[] array) : base(array) + { + + } + + /// + /// Явно приводит к + /// Делая пригодным для записи + /// + /// Привидимая строка + public static explicit operator Row(ReadOnlyRow readOnlyRow) + { + Row column = new Row(readOnlyRow.Size); + + int i = 0; + + readOnlyRow.ForEach((cell) => + { + column[i] = cell; + }); + + return column; + } + + + } +} diff --git a/Row.cs b/Matrices/Structures/Rows/Row.cs similarity index 76% rename from Row.cs rename to Matrices/Structures/Rows/Row.cs index ee1ed9d..e5514cc 100644 --- a/Row.cs +++ b/Matrices/Structures/Rows/Row.cs @@ -5,8 +5,11 @@ using System.Text; using System.Threading.Tasks; using MathExtended.Exceptions; +using MathExtended.Matrices.Structures.CellsCollection; +using MathExtended.Matrices.Structures.Columns; +using MathExtended.Matrices.Structures.Rows; -namespace MathExtended +namespace MathExtended.Matrices.Structures.Rows { /// /// Описывает строку @@ -47,14 +50,9 @@ public static implicit operator Row(T[] array) { Row multipliedRow = new Row(row.Size); - + int i = 0; - row.ForEach((cell) => - { - int i = 0; - - multipliedRow[i++] = Operator.Multiply(cell, multiplier); - }); + row.ForEach((cell) => multipliedRow[i++] = Operator.Multiply(cell, multiplier)); return multipliedRow; } @@ -71,10 +69,10 @@ public static implicit operator Row(T[] array) { Row summedRow = new Row(rowA.Size); + int i = 0; + summedRow.ForEach((cell) => { - int i = 0; - summedRow[i++] = Operator.Add(rowA[i++], rowB[i++]); }); @@ -97,13 +95,10 @@ public static implicit operator Row(T[] array) if (rowA.Size == rowB.Size) { Row summedRow = new Row(rowA.Size); + + int i = 0; - summedRow.ForEach((cell) => - { - int i = 0; - - summedRow[i++] = Operator.Subtract(rowA[i++], rowB[i++]); - }); + summedRow.ForEach((cell) => summedRow[i++] = Operator.Subtract(rowA[i++], rowB[i++])); return summedRow; } @@ -113,6 +108,25 @@ public static implicit operator Row(T[] array) } } + /// + /// Приводит к + /// делая возможной запись + /// + /// Приводимая строка + public static explicit operator Row(ReadOnlyRow readOnlyRow) + { + Row row = new Row(readOnlyRow.Size); + + int i = 0; + + readOnlyRow.ForEach((cell) => + { + row[i] = cell; + }); + + return row; + } + /// /// Транспонирует строку /// diff --git a/packages.config b/packages.config index 0812c65..c964b3a 100644 --- a/packages.config +++ b/packages.config @@ -5,6 +5,7 @@ + @@ -21,9 +22,11 @@ + + @@ -31,6 +34,7 @@ + diff --git a/packages/System.Buffers.4.5.1/.signature.p7s b/packages/System.Buffers.4.5.1/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..1bf2285c394915a0f2b99f2fee704f64f0d62b92 GIT binary patch literal 18702 zcmeHPc|25Y`!{16`z~Z1`_7pe*%Aq52_cabW2{+*G4_fXTS-L`i7cf>O130PvPa35 zrKBtg$(p6Y?~L%Ir}tTY%lrJ^&xe1w&%K=c+~>Z(*Z2Bf*8!09XyG(c5xNnx3=k@4 z8cFvnK+>IsLMV|;00W%HHbNKTKna6FHc z0gyw=ApxWuT24U@yd*nTo6h^HuS0XGb>UAnDeJE$(*_iC8!2mOBWSGee3dj{KfB_i6m&(Tkfh@sb;6{o7n8;-| za(NR#3H}23$QKx4958mBk&K+_bM+*otjVeC*9B9i+-sQt0dlo4j0@lh`E`T!`w)B$ z5Q+@OhdsTc<9&GVK>N6|S-fKhs(+`C-JQsh$+pfn`}0#9p0i67GbGqrv+l9%Z`mHI zr(>D0)rI@U?&1B_0k>E?oQPpP!8B@d@9&GrAWFCAOPrjwSrY0^2oo4`7>j({Q|_df ze`q9+MruTC)c?^j4e6;Ov90blCn5Lr4yHmjUAnbhw7lV7@RJE#MD-VY=Mkc8+{n(N zFVXznb`y{GIu*H$W?Zf7%#Fp%8lD`M%)UMaVGE9NUMniNS>Q9qY^zc=st7g`

E`Bfdk4A^?-)eP{ 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 r-VqGAQ6(U=OYix&dZVtLAy8WloXf~Ki$ literal 0 HcmV?d00001 diff --git a/packages/System.Buffers.4.5.1/LICENSE.TXT b/packages/System.Buffers.4.5.1/LICENSE.TXT new file mode 100644 index 0000000..984713a --- /dev/null +++ b/packages/System.Buffers.4.5.1/LICENSE.TXT @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +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. diff --git a/packages/System.Buffers.4.5.1/System.Buffers.4.5.1.nupkg b/packages/System.Buffers.4.5.1/System.Buffers.4.5.1.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..f7ee6b2d7a8c43944a5a401755506b9a794449d2 GIT binary patch literal 93737 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%0A~OZ-b@7O90DXT0c@hh2k-(gC!6RZNDgte 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 VSA1A~Xq)uh0^wu(F;p2s{|B2kf;9jD literal 0 HcmV?d00001 diff --git a/packages/System.Buffers.4.5.1/lib/net461/System.Buffers.xml b/packages/System.Buffers.4.5.1/lib/net461/System.Buffers.xml new file mode 100644 index 0000000..e243dce --- /dev/null +++ b/packages/System.Buffers.4.5.1/lib/net461/System.Buffers.xml @@ -0,0 +1,38 @@ + + + System.Buffers + + + +

Provides a resource pool that enables reusing instances of type . + The type of the objects that are in the resource pool. + + + Initializes a new instance of the class. + + + Creates a new instance of the class. + A new instance of the class. + + + Creates a new instance of the class using the specifed configuration. + The maximum length of an array instance that may be stored in the pool. + The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access. + A new instance of the class with the specified configuration. + + + Retrieves a buffer that is at least the requested length. + The minimum length of the array. + An array of type that is at least minimumLength in length. + + + Returns an array to the pool that was previously obtained using the method on the same instance. + A buffer to return to the pool that was previously obtained using the method. + Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array&#39;s contents are left unchanged. + + + Gets a shared instance. + A shared instance. + + + \ No newline at end of file diff --git a/packages/System.Buffers.4.5.1/lib/netcoreapp2.0/_._ b/packages/System.Buffers.4.5.1/lib/netcoreapp2.0/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.dll b/packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.dll new file mode 100644 index 0000000000000000000000000000000000000000..14e5c532c72f0d9d82a5dfbe0cd6239d2a3d54f1 GIT binary patch literal 20864 zcmeIa2V7Ih_BcNGrV^xAsR0BdLb#!0r6W>AKtTmDBmp9jU=jp$RY1kIc16SnHe~JH zb*<})eb=`3UQkzEU3>R;<|aX0-F@%-|9{`-z2E!%E}OY?&YU@O=FFKhXHMcK^q+

5mFHX{C*OKP56%`Z|Zb5-I(zC^50C^h_S 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 Wka#V4bE$fwsq#wND*6(E(EkB{hg8A< literal 0 HcmV?d00001 diff --git a/packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.xml b/packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.xml new file mode 100644 index 0000000..e243dce --- /dev/null +++ b/packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.xml @@ -0,0 +1,38 @@ + + + System.Buffers + + + +

Provides a resource pool that enables reusing instances of type . + The type of the objects that are in the resource pool. + + + Initializes a new instance of the class. + + + Creates a new instance of the class. + A new instance of the class. + + + Creates a new instance of the class using the specifed configuration. + The maximum length of an array instance that may be stored in the pool. + The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access. + A new instance of the class with the specified configuration. + + + Retrieves a buffer that is at least the requested length. + The minimum length of the array. + An array of type that is at least minimumLength in length. + + + Returns an array to the pool that was previously obtained using the method on the same instance. + A buffer to return to the pool that was previously obtained using the method. + Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array&#39;s contents are left unchanged. + + + Gets a shared instance. + A shared instance. + + + \ No newline at end of file diff --git a/packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.dll b/packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.dll new file mode 100644 index 0000000000000000000000000000000000000000..c0970c078522845d0ac9420f390fed5c29344d8c GIT binary patch literal 21376 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 + + System.Buffers + + + + Provides a resource pool that enables reusing instances of type . + The type of the objects that are in the resource pool. + + + Initializes a new instance of the class. + + + Creates a new instance of the class. + A new instance of the class. + + + Creates a new instance of the class using the specifed configuration. + The maximum length of an array instance that may be stored in the pool. + The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access. + A new instance of the class with the specified configuration. + + + Retrieves a buffer that is at least the requested length. + The minimum length of the array. + An array of type that is at least minimumLength in length. + + + Returns an array to the pool that was previously obtained using the method on the same instance. + A buffer to return to the pool that was previously obtained using the method. + Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array&#39;s contents are left unchanged. + + + Gets a shared instance. + A shared instance. + + + \ No newline at end of file diff --git a/packages/System.Buffers.4.5.1/lib/uap10.0.16299/_._ b/packages/System.Buffers.4.5.1/lib/uap10.0.16299/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Buffers.4.5.1/ref/net45/System.Buffers.dll b/packages/System.Buffers.4.5.1/ref/net45/System.Buffers.dll new file mode 100644 index 0000000000000000000000000000000000000000..022667e83258c69abfbb2fbe8070ad347a4222d1 GIT binary patch literal 14720 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 + + System.Buffers + + + + Provides a resource pool that enables reusing instances of type . + The type of the objects that are in the resource pool. + + + Initializes a new instance of the class. + + + Creates a new instance of the class. + A new instance of the class. + + + Creates a new instance of the class using the specifed configuration. + The maximum length of an array instance that may be stored in the pool. + The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access. + A new instance of the class with the specified configuration. + + + Retrieves a buffer that is at least the requested length. + The minimum length of the array. + An array of type that is at least minimumLength in length. + + + Returns an array to the pool that was previously obtained using the method on the same instance. + A buffer to return to the pool that was previously obtained using the method. + Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array&#39;s contents are left unchanged. + + + Gets a shared instance. + A shared instance. + + + \ No newline at end of file diff --git a/packages/System.Buffers.4.5.1/ref/netcoreapp2.0/_._ b/packages/System.Buffers.4.5.1/ref/netcoreapp2.0/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.dll b/packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.dll new file mode 100644 index 0000000000000000000000000000000000000000..9daa0566f265380cf3dd4532a442b0da6266688f GIT binary patch literal 14712 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 Ak^lez literal 0 HcmV?d00001 diff --git a/packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.xml b/packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.xml new file mode 100644 index 0000000..e243dce --- /dev/null +++ b/packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.xml @@ -0,0 +1,38 @@ + + + System.Buffers + + + + Provides a resource pool that enables reusing instances of type . + The type of the objects that are in the resource pool. + + + Initializes a new instance of the class. + + + Creates a new instance of the class. + A new instance of the class. + + + Creates a new instance of the class using the specifed configuration. + The maximum length of an array instance that may be stored in the pool. + The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access. + A new instance of the class with the specified configuration. + + + Retrieves a buffer that is at least the requested length. + The minimum length of the array. + An array of type that is at least minimumLength in length. + + + Returns an array to the pool that was previously obtained using the method on the same instance. + A buffer to return to the pool that was previously obtained using the method. + Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array&#39;s contents are left unchanged. + + + Gets a shared instance. + A shared instance. + + + \ No newline at end of file diff --git a/packages/System.Buffers.4.5.1/ref/netstandard2.0/System.Buffers.dll b/packages/System.Buffers.4.5.1/ref/netstandard2.0/System.Buffers.dll new file mode 100644 index 0000000000000000000000000000000000000000..a294e52ddf10eae77e2aeb0d52cfcfdfd917d355 GIT binary patch literal 14720 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 + + System.Buffers + + + + Provides a resource pool that enables reusing instances of type . + The type of the objects that are in the resource pool. + + + Initializes a new instance of the class. + + + Creates a new instance of the class. + A new instance of the class. + + + Creates a new instance of the class using the specifed configuration. + The maximum length of an array instance that may be stored in the pool. + The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access. + A new instance of the class with the specified configuration. + + + Retrieves a buffer that is at least the requested length. + The minimum length of the array. + An array of type that is at least minimumLength in length. + + + Returns an array to the pool that was previously obtained using the method on the same instance. + A buffer to return to the pool that was previously obtained using the method. + Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array&#39;s contents are left unchanged. + + + Gets a shared instance. + A shared instance. + + + \ No newline at end of file diff --git a/packages/System.Buffers.4.5.1/ref/uap10.0.16299/_._ b/packages/System.Buffers.4.5.1/ref/uap10.0.16299/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Buffers.4.5.1/useSharedDesignerContext.txt b/packages/System.Buffers.4.5.1/useSharedDesignerContext.txt new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Buffers.4.5.1/version.txt b/packages/System.Buffers.4.5.1/version.txt new file mode 100644 index 0000000..8d6cdd6 --- /dev/null +++ b/packages/System.Buffers.4.5.1/version.txt @@ -0,0 +1 @@ +7601f4f6225089ffb291dc7d58293c7bbf5c5d4f diff --git a/packages/System.Memory.4.5.4/.signature.p7s b/packages/System.Memory.4.5.4/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..abb2a57d1d7f9c06af9009fcbb1842a5003ca3b6 GIT binary patch literal 18702 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

&d4yb;tnoa`B;T4GT9 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 literal 0 HcmV?d00001 diff --git a/packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.xml b/packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.xml new file mode 100644 index 0000000..4d12fd7 --- /dev/null +++ b/packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.xml @@ -0,0 +1,355 @@ + + + System.Memory + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/System.Memory.4.5.4/ref/netcoreapp2.1/_._ b/packages/System.Memory.4.5.4/ref/netcoreapp2.1/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Memory.4.5.4/useSharedDesignerContext.txt b/packages/System.Memory.4.5.4/useSharedDesignerContext.txt new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Memory.4.5.4/version.txt b/packages/System.Memory.4.5.4/version.txt new file mode 100644 index 0000000..8d6cdd6 --- /dev/null +++ b/packages/System.Memory.4.5.4/version.txt @@ -0,0 +1 @@ +7601f4f6225089ffb291dc7d58293c7bbf5c5d4f diff --git a/packages/System.Numerics.Vectors.4.5.0/.signature.p7s b/packages/System.Numerics.Vectors.4.5.0/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..a945f63eb136537e22e0bdb432db39dc31062e3d GIT binary patch literal 22354 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℞$1*NS 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

A56h=o3u)Ar^3va&BemI`C*}HC8>xqw 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 P)6yq*$X=&d&4~X8FD<25 literal 0 HcmV?d00001 diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/net46/System.Numerics.Vectors.xml b/packages/System.Numerics.Vectors.4.5.0/lib/net46/System.Numerics.Vectors.xml new file mode 100644 index 0000000..da34d39 --- /dev/null +++ b/packages/System.Numerics.Vectors.4.5.0/lib/net46/System.Numerics.Vectors.xml @@ -0,0 +1,2621 @@ + + + System.Numerics.Vectors + + + + Represents a 3x2 matrix. + + + Creates a 3x2 matrix from the specified components. + The value to assign to the first element in the first row. + The value to assign to the second element in the first row. + The value to assign to the first element in the second row. + The value to assign to the second element in the second row. + The value to assign to the first element in the third row. + The value to assign to the second element in the third row. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values of value1 and value2. + + + Creates a rotation matrix using the given rotation in radians. + The amount of rotation, in radians. + The rotation matrix. + + + Creates a rotation matrix using the specified rotation in radians and a center point. + The amount of rotation, in radians. + The center point. + The rotation matrix. + + + Creates a scaling matrix from the specified X and Y components. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The scaling matrix. + + + Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center. + The uniform scale to use. + The center offset. + The scaling matrix. + + + Creates a scaling matrix that is offset by a given center point. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The center point. + The scaling matrix. + + + Creates a scaling matrix that scales uniformly with the given scale. + The uniform scale to use. + The scaling matrix. + + + Creates a scaling matrix from the specified vector scale. + The scale to use. + The scaling matrix. + + + Creates a scaling matrix from the specified vector scale with an offset from the specified center point. + The scale to use. + The center offset. + The scaling matrix. + + + Creates a skew matrix from the specified angles in radians. + The X angle, in radians. + The Y angle, in radians. + The skew matrix. + + + Creates a skew matrix from the specified angles in radians and a center point. + The X angle, in radians. + The Y angle, in radians. + The center point. + The skew matrix. + + + Creates a translation matrix from the specified 2-dimensional vector. + The translation position. + The translation matrix. + + + Creates a translation matrix from the specified X and Y components. + The X position. + The Y position. + The translation matrix. + + + Returns a value that indicates whether this instance and another 3x2 matrix are equal. + The other matrix. + true if the two matrices are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Calculates the determinant for this matrix. + The determinant. + + + Returns the hash code for this instance. + The hash code. + + + Gets the multiplicative identity matrix. + The multiplicative identify matrix. + + + Inverts the specified matrix. The return value indicates whether the operation succeeded. + The matrix to invert. + When this method returns, contains the inverted matrix if the operation succeeded. + true if matrix was converted successfully; otherwise, false. + + + Indicates whether the current matrix is the identity matrix. + true if the current matrix is the identity matrix; otherwise, false. + + + Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. + The first matrix. + The second matrix. + The relative weighting of matrix2. + The interpolated matrix. + + + The first element of the first row. + + + + The second element of the first row. + + + + The first element of the second row. + + + + The second element of the second row. + + + + The first element of the third row. + + + + The second element of the third row. + + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values. + + + Returns a value that indicates whether the specified matrices are equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether the specified matrices are not equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this matrix. + The string representation of this matrix. + + + Gets or sets the translation component of this matrix. + The translation component of the current instance. + + + Represents a 4x4 matrix. + + + Creates a object from a specified object. + A 3x2 matrix. + + + Creates a 4x4 matrix from the specified components. + The value to assign to the first element in the first row. + The value to assign to the second element in the first row. + The value to assign to the third element in the first row. + The value to assign to the fourth element in the first row. + The value to assign to the first element in the second row. + The value to assign to the second element in the second row. + The value to assign to the third element in the second row. + The value to assign to the third element in the second row. + The value to assign to the first element in the third row. + The value to assign to the second element in the third row. + The value to assign to the third element in the third row. + The value to assign to the fourth element in the third row. + The value to assign to the first element in the fourth row. + The value to assign to the second element in the fourth row. + The value to assign to the third element in the fourth row. + The value to assign to the fourth element in the fourth row. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values of value1 and value2. + + + Creates a spherical billboard that rotates around a specified object position. + The position of the object that the billboard will rotate around. + The position of the camera. + The up vector of the camera. + The forward vector of the camera. + The created billboard. + + + Creates a cylindrical billboard that rotates around a specified axis. + The position of the object that the billboard will rotate around. + The position of the camera. + The axis to rotate the billboard around. + The forward vector of the camera. + The forward vector of the object. + The billboard matrix. + + + Creates a matrix that rotates around an arbitrary vector. + The axis to rotate around. + The angle to rotate around axis, in radians. + The rotation matrix. + + + Creates a rotation matrix from the specified Quaternion rotation value. + The source Quaternion. + The rotation matrix. + + + Creates a rotation matrix from the specified yaw, pitch, and roll. + The angle of rotation, in radians, around the Y axis. + The angle of rotation, in radians, around the X axis. + The angle of rotation, in radians, around the Z axis. + The rotation matrix. + + + Creates a view matrix. + The position of the camera. + The target towards which the camera is pointing. + The direction that is &quot;up&quot; from the camera&#39;s point of view. + The view matrix. + + + Creates an orthographic perspective matrix from the given view volume dimensions. + The width of the view volume. + The height of the view volume. + The minimum Z-value of the view volume. + The maximum Z-value of the view volume. + The orthographic projection matrix. + + + Creates a customized orthographic projection matrix. + The minimum X-value of the view volume. + The maximum X-value of the view volume. + The minimum Y-value of the view volume. + The maximum Y-value of the view volume. + The minimum Z-value of the view volume. + The maximum Z-value of the view volume. + The orthographic projection matrix. + + + Creates a perspective projection matrix from the given view volume dimensions. + The width of the view volume at the near view plane. + The height of the view volume at the near view plane. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. + The field of view in the y direction, in radians. + The aspect ratio, defined as view space width divided by height. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + fieldOfView is less than or equal to zero. + -or- + fieldOfView is greater than or equal to . + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a customized perspective projection matrix. + The minimum x-value of the view volume at the near view plane. + The maximum x-value of the view volume at the near view plane. + The minimum y-value of the view volume at the near view plane. + The maximum y-value of the view volume at the near view plane. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a matrix that reflects the coordinate system about a specified plane. + The plane about which to create a reflection. + A new matrix expressing the reflection. + + + Creates a matrix for rotating points around the X axis. + The amount, in radians, by which to rotate around the X axis. + The rotation matrix. + + + Creates a matrix for rotating points around the X axis from a center point. + The amount, in radians, by which to rotate around the X axis. + The center point. + The rotation matrix. + + + The amount, in radians, by which to rotate around the Y axis from a center point. + The amount, in radians, by which to rotate around the Y-axis. + The center point. + The rotation matrix. + + + Creates a matrix for rotating points around the Y axis. + The amount, in radians, by which to rotate around the Y-axis. + The rotation matrix. + + + Creates a matrix for rotating points around the Z axis. + The amount, in radians, by which to rotate around the Z-axis. + The rotation matrix. + + + Creates a matrix for rotating points around the Z axis from a center point. + The amount, in radians, by which to rotate around the Z-axis. + The center point. + The rotation matrix. + + + Creates a scaling matrix from the specified vector scale. + The scale to use. + The scaling matrix. + + + Creates a uniform scaling matrix that scale equally on each axis. + The uniform scaling factor. + The scaling matrix. + + + Creates a scaling matrix with a center point. + The vector that contains the amount to scale on each axis. + The center point. + The scaling matrix. + + + Creates a uniform scaling matrix that scales equally on each axis with a center point. + The uniform scaling factor. + The center point. + The scaling matrix. + + + Creates a scaling matrix from the specified X, Y, and Z components. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The value to scale by on the Z axis. + The scaling matrix. + + + Creates a scaling matrix that is offset by a given center point. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The value to scale by on the Z axis. + The center point. + The scaling matrix. + + + Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. + The direction from which the light that will cast the shadow is coming. + The plane onto which the new matrix should flatten geometry so as to cast a shadow. + A new matrix that can be used to flatten geometry onto the specified plane from the specified direction. + + + Creates a translation matrix from the specified 3-dimensional vector. + The amount to translate in each axis. + The translation matrix. + + + Creates a translation matrix from the specified X, Y, and Z components. + The amount to translate on the X axis. + The amount to translate on the Y axis. + The amount to translate on the Z axis. + The translation matrix. + + + Creates a world matrix with the specified parameters. + The position of the object. + The forward direction of the object. + The upward direction of the object. Its value is usually [0, 1, 0]. + The world matrix. + + + Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded. + The source matrix. + When this method returns, contains the scaling component of the transformation matrix if the operation succeeded. + When this method returns, contains the rotation component of the transformation matrix if the operation succeeded. + When the method returns, contains the translation component of the transformation matrix if the operation succeeded. + true if matrix was decomposed successfully; otherwise, false. + + + Returns a value that indicates whether this instance and another 4x4 matrix are equal. + The other matrix. + true if the two matrices are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Calculates the determinant of the current 4x4 matrix. + The determinant. + + + Returns the hash code for this instance. + The hash code. + + + Gets the multiplicative identity matrix. + Gets the multiplicative identity matrix. + + + Inverts the specified matrix. The return value indicates whether the operation succeeded. + The matrix to invert. + When this method returns, contains the inverted matrix if the operation succeeded. + true if matrix was converted successfully; otherwise, false. + + + Indicates whether the current matrix is the identity matrix. + true if the current matrix is the identity matrix; otherwise, false. + + + Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. + The first matrix. + The second matrix. + The relative weighting of matrix2. + The interpolated matrix. + + + The first element of the first row. + + + + The second element of the first row. + + + + The third element of the first row. + + + + The fourth element of the first row. + + + + The first element of the second row. + + + + The second element of the second row. + + + + The third element of the second row. + + + + The fourth element of the second row. + + + + The first element of the third row. + + + + The second element of the third row. + + + + The third element of the third row. + + + + The fourth element of the third row. + + + + The first element of the fourth row. + + + + The second element of the fourth row. + + + + The third element of the fourth row. + + + + The fourth element of the fourth row. + + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values. + + + Returns a value that indicates whether the specified matrices are equal. + The first matrix to compare. + The second matrix to care + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether the specified matrices are not equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this matrix. + The string representation of this matrix. + + + Transforms the specified matrix by applying the specified Quaternion rotation. + The matrix to transform. + The rotation t apply. + The transformed matrix. + + + Gets or sets the translation component of this matrix. + The translation component of the current instance. + + + Transposes the rows and columns of a matrix. + The matrix to transpose. + The transposed matrix. + + + Represents a three-dimensional plane. + + + Creates a object from a specified four-dimensional vector. + A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin. + + + Creates a object from a specified normal and the distance along the normal from the origin. + The plane&#39;s normal vector. + The plane&#39;s distance from the origin along its normal vector. + + + Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal. + The X component of the normal. + The Y component of the normal. + The Z component of the normal. + The distance of the plane along its normal from the origin. + + + Creates a object that contains three specified points. + The first point defining the plane. + The second point defining the plane. + The third point defining the plane. + The plane containing the three points. + + + The distance of the plane along its normal from the origin. + + + + Calculates the dot product of a plane and a 4-dimensional vector. + The plane. + The four-dimensional vector. + The dot product. + + + Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane. + The plane. + The 3-dimensional vector. + The dot product. + + + Returns the dot product of a specified three-dimensional vector and the vector of this plane. + The plane. + The three-dimensional vector. + The dot product. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns a value that indicates whether this instance and another plane object are equal. + The other plane. + true if the two planes are equal; otherwise, false. + + + Returns the hash code for this instance. + The hash code. + + + The normal vector of the plane. + + + + Creates a new object whose normal vector is the source plane&#39;s normal vector normalized. + The source plane. + The normalized plane. + + + Returns a value that indicates whether two planes are equal. + The first plane to compare. + The second plane to compare. + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether two planes are not equal. + The first plane to compare. + The second plane to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the string representation of this plane object. + A string that represents this object. + + + Transforms a normalized plane by a 4x4 matrix. + The normalized plane to transform. + The transformation matrix to apply to plane. + The transformed plane. + + + Transforms a normalized plane by a Quaternion rotation. + The normalized plane to transform. + The Quaternion rotation to apply to the plane. + A new plane that results from applying the Quaternion rotation. + + + Represents a vector that is used to encode three-dimensional physical rotations. + + + Creates a quaternion from the specified vector and rotation parts. + The vector part of the quaternion. + The rotation part of the quaternion. + + + Constructs a quaternion from the specified components. + The value to assign to the X component of the quaternion. + The value to assign to the Y component of the quaternion. + The value to assign to the Z component of the quaternion. + The value to assign to the W component of the quaternion. + + + Adds each element in one quaternion with its corresponding element in a second quaternion. + The first quaternion. + The second quaternion. + The quaternion that contains the summed values of value1 and value2. + + + Concatenates two quaternions. + The first quaternion rotation in the series. + The second quaternion rotation in the series. + A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation. + + + Returns the conjugate of a specified quaternion. + The quaternion. + A new quaternion that is the conjugate of value. + + + Creates a quaternion from a vector and an angle to rotate about the vector. + The vector to rotate around. + The angle, in radians, to rotate around the vector. + The newly created quaternion. + + + Creates a quaternion from the specified rotation matrix. + The rotation matrix. + The newly created quaternion. + + + Creates a new quaternion from the given yaw, pitch, and roll. + The yaw angle, in radians, around the Y axis. + The pitch angle, in radians, around the X axis. + The roll angle, in radians, around the Z axis. + The resulting quaternion. + + + Divides one quaternion by a second quaternion. + The dividend. + The divisor. + The quaternion that results from dividing value1 by value2. + + + Calculates the dot product of two quaternions. + The first quaternion. + The second quaternion. + The dot product. + + + Returns a value that indicates whether this instance and another quaternion are equal. + The other quaternion. + true if the two quaternions are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Gets a quaternion that represents no rotation. + A quaternion whose values are (0, 0, 0, 1). + + + Returns the inverse of a quaternion. + The quaternion. + The inverted quaternion. + + + Gets a value that indicates whether the current instance is the identity quaternion. + true if the current instance is the identity quaternion; otherwise, false. + + + Calculates the length of the quaternion. + The computed length of the quaternion. + + + Calculates the squared length of the quaternion. + The length squared of the quaternion. + + + Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion. + The first quaternion. + The second quaternion. + The relative weight of quaternion2 in the interpolation. + The interpolated quaternion. + + + Returns the quaternion that results from multiplying two quaternions together. + The first quaternion. + The second quaternion. + The product quaternion. + + + Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. + The source quaternion. + The scalar value. + The scaled quaternion. + + + Reverses the sign of each component of the quaternion. + The quaternion to negate. + The negated quaternion. + + + Divides each component of a specified by its length. + The quaternion to normalize. + The normalized quaternion. + + + Adds each element in one quaternion with its corresponding element in a second quaternion. + The first quaternion. + The second quaternion. + The quaternion that contains the summed values of value1 and value2. + + + Divides one quaternion by a second quaternion. + The dividend. + The divisor. + The quaternion that results from dividing value1 by value2. + + + Returns a value that indicates whether two quaternions are equal. + The first quaternion to compare. + The second quaternion to compare. + true if the two quaternions are equal; otherwise, false. + + + Returns a value that indicates whether two quaternions are not equal. + The first quaternion to compare. + The second quaternion to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. + The source quaternion. + The scalar value. + The scaled quaternion. + + + Returns the quaternion that results from multiplying two quaternions together. + The first quaternion. + The second quaternion. + The product quaternion. + + + Subtracts each element in a second quaternion from its corresponding element in a first quaternion. + The first quaternion. + The second quaternion. + The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Reverses the sign of each component of the quaternion. + The quaternion to negate. + The negated quaternion. + + + Interpolates between two quaternions, using spherical linear interpolation. + The first quaternion. + The second quaternion. + The relative weight of the second quaternion in the interpolation. + The interpolated quaternion. + + + Subtracts each element in a second quaternion from its corresponding element in a first quaternion. + The first quaternion. + The second quaternion. + The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this quaternion. + The string representation of this quaternion. + + + The rotation component of the quaternion. + + + + The X value of the vector component of the quaternion. + + + + The Y value of the vector component of the quaternion. + + + + The Z value of the vector component of the quaternion. + + + + Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms. + The vector type. T can be any primitive numeric type. + + + Creates a vector whose components are of a specified type. + The numeric type that defines the type of the components in the vector. + + + Creates a vector from a specified array. + A numeric array. + values is null. + + + Creates a vector from a specified array starting at a specified index position. + A numeric array. + The starting index position from which to create the vector. + values is null. + index is less than zero. + -or- + The length of values minus index is less than . + + + Copies the vector instance to a specified destination array. + The array to receive a copy of the vector values. + destination is null. + The number of elements in the current vector is greater than the number of elements available in the destination array. + + + Copies the vector instance to a specified destination array starting at a specified index position. + The array to receive a copy of the vector values. + The starting index in destination at which to begin the copy operation. + destination is null. + The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array. + index is less than zero or greater than the last index in destination. + + + Returns the number of elements stored in the vector. + The number of elements stored in the vector. + Access to the property getter via reflection is not supported. + + + Returns a value that indicates whether this instance is equal to a specified vector. + The vector to compare with this instance. + true if the current instance and other are equal; otherwise, false. + + + Returns a value that indicates whether this instance is equal to a specified object. + The object to compare with this instance. + true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance. + + + Returns the hash code for this instance. + The hash code. + + + Gets the element at a specified index. + The index of the element to return. + The element at index index. + index is less than zero. + -or- + index is greater than or equal to . + + + Returns a vector containing all ones. + A vector containing all ones. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Returns a new vector by performing a bitwise And operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise And of left and right. + + + Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise Or of the elements in left and right. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Returns a value that indicates whether each pair of elements in two specified vectors are equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise XOr of the elements in left and right. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Returns a value that indicates whether any single pair of elements in the specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if any element pairs in left and right are equal. false if no element pairs are equal. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar value. + The source vector. + A scalar value. + The scaled vector. + + + Multiplies a vector by the given scalar. + The scalar value. + The source vector. + The scaled vector. + + + Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. + The source vector. + The one&#39;s complement vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates a given vector. + The vector to negate. + The negated vector. + + + Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Returns the string representation of this vector using default formatting. + The string representation of this vector. + + + Returns the string representation of this vector using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns a vector containing all zeroes. + A vector containing all zeroes. + + + Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors. + + + Returns a new vector whose elements are the absolute values of the given vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The absolute value vector. + + + Returns a new vector whose values are the sum of each pair of elements from two given vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The summed vector. + + + Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned bytes. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a double-precision floating-point vector. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of 16-bit integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of long integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of signed bytes. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a single-precision floating-point vector. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned long integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The vector type. T can be any primitive numeric type. + The new vector with elements selected based on the mask. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector whose values are the result of dividing the first vector&#39;s elements by the corresponding elements in the second vector. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The divided vector. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The dot product. + + + Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether each pair of elements in the given vectors is equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left and right are equal; otherwise, false. + + + Returns a value that indicates whether any single pair of elements in the given vectors is equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element pair in left and right is equal; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left are greater than the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is greater than the corresponding element in right; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is greater than or equal to the corresponding element in right; otherwise, false. + + + Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support. + true if vector operations are subject to hardware acceleration; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all of the elements in left are less than the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is less than the corresponding element in right; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is less than or equal to the corresponding element in right; otherwise, false. + + + Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The maximum vector. + + + Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The minimum vector. + + + Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector. + The scalar value. + The vector. + The vector type. T can be any primitive numeric type. + The scaled vector. + + + Returns a new vector whose values are the product of each pair of elements in two specified vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The product vector. + + + Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value. + The vector. + The scalar value. + The vector type. T can be any primitive numeric type. + The scaled vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector whose elements are the negation of the corresponding element in the specified vector. + The source vector. + The vector type. T can be any primitive numeric type. + The negated vector. + + + Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a new vector whose elements are the square roots of a specified vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The square root vector. + + + Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The difference vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Represents a vector with two single-precision floating-point values. + + + Creates a new object whose two elements have the same value. + The value to assign to both elements. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of the vector. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 2 elements are equal to one. + A vector whose two elements are equal to one (that is, it returns the vector (1,1). + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns the reflection of a vector off a surface that has the specified normal. + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a vector by a specified 3x2 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a vector normal by the given 3x2 matrix. + The source vector. + The matrix. + The transformed vector. + + + Transforms a vector normal by the given 4x4 matrix. + The source vector. + The matrix. + The transformed vector. + + + Gets the vector (1,0). + The vector (1,0). + + + Gets the vector (0,1). + The vector (0,1). + + + The X component of the vector. + + + + The Y component of the vector. + + + + Returns a vector whose 2 elements are equal to zero. + A vector whose two elements are equal to zero (that is, it returns the vector (0,0). + + + Represents a vector with three single-precision floating-point values. + + + Creates a new object whose three elements have the same value. + The value to assign to all three elements. + + + Creates a new object from the specified object and the specified value. + The vector with two elements. + The additional value to assign to the field. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the cross product of two vectors. + The first vector. + The second vector. + The cross product. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of this vector object. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 3 elements are equal to one. + A vector whose three elements are equal to one (that is, it returns the vector (1,1,1). + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns the reflection of a vector off a surface that has the specified normal. + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a vector normal by the given 4x4 matrix. + The source vector. + The matrix. + The transformed vector. + + + Gets the vector (1,0,0). + The vector (1,0,0). + + + Gets the vector (0,1,0). + The vector (0,1,0).. + + + Gets the vector (0,0,1). + The vector (0,0,1). + + + The X component of the vector. + + + + The Y component of the vector. + + + + The Z component of the vector. + + + + Gets a vector whose 3 elements are equal to zero. + A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0). + + + Represents a vector with four single-precision floating-point values. + + + Creates a new object whose four elements have the same value. + The value to assign to all four elements. + + + Constructs a new object from the specified object and a W component. + The vector to use for the X, Y, and Z components. + The W component. + + + Creates a new object from the specified object and a Z and a W component. + The vector to use for the X and Y components. + The Z component. + The W component. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of this vector object. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 4 elements are equal to one. + Returns . + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a four-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a four-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a three-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a two-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a two-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a three-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Gets the vector (0,0,0,1). + The vector (0,0,0,1). + + + Gets the vector (1,0,0,0). + The vector (1,0,0,0). + + + Gets the vector (0,1,0,0). + The vector (0,1,0,0).. + + + Gets a vector whose 4 elements are equal to zero. + The vector (0,0,1,0). + + + The W component of the vector. + + + + The X component of the vector. + + + + The Y component of the vector. + + + + The Z component of the vector. + + + + Gets a vector whose 4 elements are equal to zero. + A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0). + + + \ No newline at end of file diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/netcoreapp2.0/_._ b/packages/System.Numerics.Vectors.4.5.0/lib/netcoreapp2.0/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.dll new file mode 100644 index 0000000000000000000000000000000000000000..433aa3619411cc583d0be6e11bab20cccf615fd1 GIT binary patch literal 160912 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 literal 0 HcmV?d00001 diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.xml b/packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.xml new file mode 100644 index 0000000..da34d39 --- /dev/null +++ b/packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.xml @@ -0,0 +1,2621 @@ + + + System.Numerics.Vectors + + + + Represents a 3x2 matrix. + + + Creates a 3x2 matrix from the specified components. + The value to assign to the first element in the first row. + The value to assign to the second element in the first row. + The value to assign to the first element in the second row. + The value to assign to the second element in the second row. + The value to assign to the first element in the third row. + The value to assign to the second element in the third row. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values of value1 and value2. + + + Creates a rotation matrix using the given rotation in radians. + The amount of rotation, in radians. + The rotation matrix. + + + Creates a rotation matrix using the specified rotation in radians and a center point. + The amount of rotation, in radians. + The center point. + The rotation matrix. + + + Creates a scaling matrix from the specified X and Y components. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The scaling matrix. + + + Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center. + The uniform scale to use. + The center offset. + The scaling matrix. + + + Creates a scaling matrix that is offset by a given center point. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The center point. + The scaling matrix. + + + Creates a scaling matrix that scales uniformly with the given scale. + The uniform scale to use. + The scaling matrix. + + + Creates a scaling matrix from the specified vector scale. + The scale to use. + The scaling matrix. + + + Creates a scaling matrix from the specified vector scale with an offset from the specified center point. + The scale to use. + The center offset. + The scaling matrix. + + + Creates a skew matrix from the specified angles in radians. + The X angle, in radians. + The Y angle, in radians. + The skew matrix. + + + Creates a skew matrix from the specified angles in radians and a center point. + The X angle, in radians. + The Y angle, in radians. + The center point. + The skew matrix. + + + Creates a translation matrix from the specified 2-dimensional vector. + The translation position. + The translation matrix. + + + Creates a translation matrix from the specified X and Y components. + The X position. + The Y position. + The translation matrix. + + + Returns a value that indicates whether this instance and another 3x2 matrix are equal. + The other matrix. + true if the two matrices are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Calculates the determinant for this matrix. + The determinant. + + + Returns the hash code for this instance. + The hash code. + + + Gets the multiplicative identity matrix. + The multiplicative identify matrix. + + + Inverts the specified matrix. The return value indicates whether the operation succeeded. + The matrix to invert. + When this method returns, contains the inverted matrix if the operation succeeded. + true if matrix was converted successfully; otherwise, false. + + + Indicates whether the current matrix is the identity matrix. + true if the current matrix is the identity matrix; otherwise, false. + + + Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. + The first matrix. + The second matrix. + The relative weighting of matrix2. + The interpolated matrix. + + + The first element of the first row. + + + + The second element of the first row. + + + + The first element of the second row. + + + + The second element of the second row. + + + + The first element of the third row. + + + + The second element of the third row. + + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values. + + + Returns a value that indicates whether the specified matrices are equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether the specified matrices are not equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this matrix. + The string representation of this matrix. + + + Gets or sets the translation component of this matrix. + The translation component of the current instance. + + + Represents a 4x4 matrix. + + + Creates a object from a specified object. + A 3x2 matrix. + + + Creates a 4x4 matrix from the specified components. + The value to assign to the first element in the first row. + The value to assign to the second element in the first row. + The value to assign to the third element in the first row. + The value to assign to the fourth element in the first row. + The value to assign to the first element in the second row. + The value to assign to the second element in the second row. + The value to assign to the third element in the second row. + The value to assign to the third element in the second row. + The value to assign to the first element in the third row. + The value to assign to the second element in the third row. + The value to assign to the third element in the third row. + The value to assign to the fourth element in the third row. + The value to assign to the first element in the fourth row. + The value to assign to the second element in the fourth row. + The value to assign to the third element in the fourth row. + The value to assign to the fourth element in the fourth row. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values of value1 and value2. + + + Creates a spherical billboard that rotates around a specified object position. + The position of the object that the billboard will rotate around. + The position of the camera. + The up vector of the camera. + The forward vector of the camera. + The created billboard. + + + Creates a cylindrical billboard that rotates around a specified axis. + The position of the object that the billboard will rotate around. + The position of the camera. + The axis to rotate the billboard around. + The forward vector of the camera. + The forward vector of the object. + The billboard matrix. + + + Creates a matrix that rotates around an arbitrary vector. + The axis to rotate around. + The angle to rotate around axis, in radians. + The rotation matrix. + + + Creates a rotation matrix from the specified Quaternion rotation value. + The source Quaternion. + The rotation matrix. + + + Creates a rotation matrix from the specified yaw, pitch, and roll. + The angle of rotation, in radians, around the Y axis. + The angle of rotation, in radians, around the X axis. + The angle of rotation, in radians, around the Z axis. + The rotation matrix. + + + Creates a view matrix. + The position of the camera. + The target towards which the camera is pointing. + The direction that is &quot;up&quot; from the camera&#39;s point of view. + The view matrix. + + + Creates an orthographic perspective matrix from the given view volume dimensions. + The width of the view volume. + The height of the view volume. + The minimum Z-value of the view volume. + The maximum Z-value of the view volume. + The orthographic projection matrix. + + + Creates a customized orthographic projection matrix. + The minimum X-value of the view volume. + The maximum X-value of the view volume. + The minimum Y-value of the view volume. + The maximum Y-value of the view volume. + The minimum Z-value of the view volume. + The maximum Z-value of the view volume. + The orthographic projection matrix. + + + Creates a perspective projection matrix from the given view volume dimensions. + The width of the view volume at the near view plane. + The height of the view volume at the near view plane. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. + The field of view in the y direction, in radians. + The aspect ratio, defined as view space width divided by height. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + fieldOfView is less than or equal to zero. + -or- + fieldOfView is greater than or equal to . + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a customized perspective projection matrix. + The minimum x-value of the view volume at the near view plane. + The maximum x-value of the view volume at the near view plane. + The minimum y-value of the view volume at the near view plane. + The maximum y-value of the view volume at the near view plane. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a matrix that reflects the coordinate system about a specified plane. + The plane about which to create a reflection. + A new matrix expressing the reflection. + + + Creates a matrix for rotating points around the X axis. + The amount, in radians, by which to rotate around the X axis. + The rotation matrix. + + + Creates a matrix for rotating points around the X axis from a center point. + The amount, in radians, by which to rotate around the X axis. + The center point. + The rotation matrix. + + + The amount, in radians, by which to rotate around the Y axis from a center point. + The amount, in radians, by which to rotate around the Y-axis. + The center point. + The rotation matrix. + + + Creates a matrix for rotating points around the Y axis. + The amount, in radians, by which to rotate around the Y-axis. + The rotation matrix. + + + Creates a matrix for rotating points around the Z axis. + The amount, in radians, by which to rotate around the Z-axis. + The rotation matrix. + + + Creates a matrix for rotating points around the Z axis from a center point. + The amount, in radians, by which to rotate around the Z-axis. + The center point. + The rotation matrix. + + + Creates a scaling matrix from the specified vector scale. + The scale to use. + The scaling matrix. + + + Creates a uniform scaling matrix that scale equally on each axis. + The uniform scaling factor. + The scaling matrix. + + + Creates a scaling matrix with a center point. + The vector that contains the amount to scale on each axis. + The center point. + The scaling matrix. + + + Creates a uniform scaling matrix that scales equally on each axis with a center point. + The uniform scaling factor. + The center point. + The scaling matrix. + + + Creates a scaling matrix from the specified X, Y, and Z components. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The value to scale by on the Z axis. + The scaling matrix. + + + Creates a scaling matrix that is offset by a given center point. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The value to scale by on the Z axis. + The center point. + The scaling matrix. + + + Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. + The direction from which the light that will cast the shadow is coming. + The plane onto which the new matrix should flatten geometry so as to cast a shadow. + A new matrix that can be used to flatten geometry onto the specified plane from the specified direction. + + + Creates a translation matrix from the specified 3-dimensional vector. + The amount to translate in each axis. + The translation matrix. + + + Creates a translation matrix from the specified X, Y, and Z components. + The amount to translate on the X axis. + The amount to translate on the Y axis. + The amount to translate on the Z axis. + The translation matrix. + + + Creates a world matrix with the specified parameters. + The position of the object. + The forward direction of the object. + The upward direction of the object. Its value is usually [0, 1, 0]. + The world matrix. + + + Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded. + The source matrix. + When this method returns, contains the scaling component of the transformation matrix if the operation succeeded. + When this method returns, contains the rotation component of the transformation matrix if the operation succeeded. + When the method returns, contains the translation component of the transformation matrix if the operation succeeded. + true if matrix was decomposed successfully; otherwise, false. + + + Returns a value that indicates whether this instance and another 4x4 matrix are equal. + The other matrix. + true if the two matrices are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Calculates the determinant of the current 4x4 matrix. + The determinant. + + + Returns the hash code for this instance. + The hash code. + + + Gets the multiplicative identity matrix. + Gets the multiplicative identity matrix. + + + Inverts the specified matrix. The return value indicates whether the operation succeeded. + The matrix to invert. + When this method returns, contains the inverted matrix if the operation succeeded. + true if matrix was converted successfully; otherwise, false. + + + Indicates whether the current matrix is the identity matrix. + true if the current matrix is the identity matrix; otherwise, false. + + + Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. + The first matrix. + The second matrix. + The relative weighting of matrix2. + The interpolated matrix. + + + The first element of the first row. + + + + The second element of the first row. + + + + The third element of the first row. + + + + The fourth element of the first row. + + + + The first element of the second row. + + + + The second element of the second row. + + + + The third element of the second row. + + + + The fourth element of the second row. + + + + The first element of the third row. + + + + The second element of the third row. + + + + The third element of the third row. + + + + The fourth element of the third row. + + + + The first element of the fourth row. + + + + The second element of the fourth row. + + + + The third element of the fourth row. + + + + The fourth element of the fourth row. + + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values. + + + Returns a value that indicates whether the specified matrices are equal. + The first matrix to compare. + The second matrix to care + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether the specified matrices are not equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this matrix. + The string representation of this matrix. + + + Transforms the specified matrix by applying the specified Quaternion rotation. + The matrix to transform. + The rotation t apply. + The transformed matrix. + + + Gets or sets the translation component of this matrix. + The translation component of the current instance. + + + Transposes the rows and columns of a matrix. + The matrix to transpose. + The transposed matrix. + + + Represents a three-dimensional plane. + + + Creates a object from a specified four-dimensional vector. + A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin. + + + Creates a object from a specified normal and the distance along the normal from the origin. + The plane&#39;s normal vector. + The plane&#39;s distance from the origin along its normal vector. + + + Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal. + The X component of the normal. + The Y component of the normal. + The Z component of the normal. + The distance of the plane along its normal from the origin. + + + Creates a object that contains three specified points. + The first point defining the plane. + The second point defining the plane. + The third point defining the plane. + The plane containing the three points. + + + The distance of the plane along its normal from the origin. + + + + Calculates the dot product of a plane and a 4-dimensional vector. + The plane. + The four-dimensional vector. + The dot product. + + + Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane. + The plane. + The 3-dimensional vector. + The dot product. + + + Returns the dot product of a specified three-dimensional vector and the vector of this plane. + The plane. + The three-dimensional vector. + The dot product. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns a value that indicates whether this instance and another plane object are equal. + The other plane. + true if the two planes are equal; otherwise, false. + + + Returns the hash code for this instance. + The hash code. + + + The normal vector of the plane. + + + + Creates a new object whose normal vector is the source plane&#39;s normal vector normalized. + The source plane. + The normalized plane. + + + Returns a value that indicates whether two planes are equal. + The first plane to compare. + The second plane to compare. + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether two planes are not equal. + The first plane to compare. + The second plane to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the string representation of this plane object. + A string that represents this object. + + + Transforms a normalized plane by a 4x4 matrix. + The normalized plane to transform. + The transformation matrix to apply to plane. + The transformed plane. + + + Transforms a normalized plane by a Quaternion rotation. + The normalized plane to transform. + The Quaternion rotation to apply to the plane. + A new plane that results from applying the Quaternion rotation. + + + Represents a vector that is used to encode three-dimensional physical rotations. + + + Creates a quaternion from the specified vector and rotation parts. + The vector part of the quaternion. + The rotation part of the quaternion. + + + Constructs a quaternion from the specified components. + The value to assign to the X component of the quaternion. + The value to assign to the Y component of the quaternion. + The value to assign to the Z component of the quaternion. + The value to assign to the W component of the quaternion. + + + Adds each element in one quaternion with its corresponding element in a second quaternion. + The first quaternion. + The second quaternion. + The quaternion that contains the summed values of value1 and value2. + + + Concatenates two quaternions. + The first quaternion rotation in the series. + The second quaternion rotation in the series. + A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation. + + + Returns the conjugate of a specified quaternion. + The quaternion. + A new quaternion that is the conjugate of value. + + + Creates a quaternion from a vector and an angle to rotate about the vector. + The vector to rotate around. + The angle, in radians, to rotate around the vector. + The newly created quaternion. + + + Creates a quaternion from the specified rotation matrix. + The rotation matrix. + The newly created quaternion. + + + Creates a new quaternion from the given yaw, pitch, and roll. + The yaw angle, in radians, around the Y axis. + The pitch angle, in radians, around the X axis. + The roll angle, in radians, around the Z axis. + The resulting quaternion. + + + Divides one quaternion by a second quaternion. + The dividend. + The divisor. + The quaternion that results from dividing value1 by value2. + + + Calculates the dot product of two quaternions. + The first quaternion. + The second quaternion. + The dot product. + + + Returns a value that indicates whether this instance and another quaternion are equal. + The other quaternion. + true if the two quaternions are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Gets a quaternion that represents no rotation. + A quaternion whose values are (0, 0, 0, 1). + + + Returns the inverse of a quaternion. + The quaternion. + The inverted quaternion. + + + Gets a value that indicates whether the current instance is the identity quaternion. + true if the current instance is the identity quaternion; otherwise, false. + + + Calculates the length of the quaternion. + The computed length of the quaternion. + + + Calculates the squared length of the quaternion. + The length squared of the quaternion. + + + Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion. + The first quaternion. + The second quaternion. + The relative weight of quaternion2 in the interpolation. + The interpolated quaternion. + + + Returns the quaternion that results from multiplying two quaternions together. + The first quaternion. + The second quaternion. + The product quaternion. + + + Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. + The source quaternion. + The scalar value. + The scaled quaternion. + + + Reverses the sign of each component of the quaternion. + The quaternion to negate. + The negated quaternion. + + + Divides each component of a specified by its length. + The quaternion to normalize. + The normalized quaternion. + + + Adds each element in one quaternion with its corresponding element in a second quaternion. + The first quaternion. + The second quaternion. + The quaternion that contains the summed values of value1 and value2. + + + Divides one quaternion by a second quaternion. + The dividend. + The divisor. + The quaternion that results from dividing value1 by value2. + + + Returns a value that indicates whether two quaternions are equal. + The first quaternion to compare. + The second quaternion to compare. + true if the two quaternions are equal; otherwise, false. + + + Returns a value that indicates whether two quaternions are not equal. + The first quaternion to compare. + The second quaternion to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. + The source quaternion. + The scalar value. + The scaled quaternion. + + + Returns the quaternion that results from multiplying two quaternions together. + The first quaternion. + The second quaternion. + The product quaternion. + + + Subtracts each element in a second quaternion from its corresponding element in a first quaternion. + The first quaternion. + The second quaternion. + The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Reverses the sign of each component of the quaternion. + The quaternion to negate. + The negated quaternion. + + + Interpolates between two quaternions, using spherical linear interpolation. + The first quaternion. + The second quaternion. + The relative weight of the second quaternion in the interpolation. + The interpolated quaternion. + + + Subtracts each element in a second quaternion from its corresponding element in a first quaternion. + The first quaternion. + The second quaternion. + The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this quaternion. + The string representation of this quaternion. + + + The rotation component of the quaternion. + + + + The X value of the vector component of the quaternion. + + + + The Y value of the vector component of the quaternion. + + + + The Z value of the vector component of the quaternion. + + + + Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms. + The vector type. T can be any primitive numeric type. + + + Creates a vector whose components are of a specified type. + The numeric type that defines the type of the components in the vector. + + + Creates a vector from a specified array. + A numeric array. + values is null. + + + Creates a vector from a specified array starting at a specified index position. + A numeric array. + The starting index position from which to create the vector. + values is null. + index is less than zero. + -or- + The length of values minus index is less than . + + + Copies the vector instance to a specified destination array. + The array to receive a copy of the vector values. + destination is null. + The number of elements in the current vector is greater than the number of elements available in the destination array. + + + Copies the vector instance to a specified destination array starting at a specified index position. + The array to receive a copy of the vector values. + The starting index in destination at which to begin the copy operation. + destination is null. + The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array. + index is less than zero or greater than the last index in destination. + + + Returns the number of elements stored in the vector. + The number of elements stored in the vector. + Access to the property getter via reflection is not supported. + + + Returns a value that indicates whether this instance is equal to a specified vector. + The vector to compare with this instance. + true if the current instance and other are equal; otherwise, false. + + + Returns a value that indicates whether this instance is equal to a specified object. + The object to compare with this instance. + true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance. + + + Returns the hash code for this instance. + The hash code. + + + Gets the element at a specified index. + The index of the element to return. + The element at index index. + index is less than zero. + -or- + index is greater than or equal to . + + + Returns a vector containing all ones. + A vector containing all ones. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Returns a new vector by performing a bitwise And operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise And of left and right. + + + Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise Or of the elements in left and right. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Returns a value that indicates whether each pair of elements in two specified vectors are equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise XOr of the elements in left and right. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Returns a value that indicates whether any single pair of elements in the specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if any element pairs in left and right are equal. false if no element pairs are equal. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar value. + The source vector. + A scalar value. + The scaled vector. + + + Multiplies a vector by the given scalar. + The scalar value. + The source vector. + The scaled vector. + + + Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. + The source vector. + The one&#39;s complement vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates a given vector. + The vector to negate. + The negated vector. + + + Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Returns the string representation of this vector using default formatting. + The string representation of this vector. + + + Returns the string representation of this vector using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns a vector containing all zeroes. + A vector containing all zeroes. + + + Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors. + + + Returns a new vector whose elements are the absolute values of the given vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The absolute value vector. + + + Returns a new vector whose values are the sum of each pair of elements from two given vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The summed vector. + + + Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned bytes. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a double-precision floating-point vector. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of 16-bit integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of long integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of signed bytes. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a single-precision floating-point vector. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned long integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The vector type. T can be any primitive numeric type. + The new vector with elements selected based on the mask. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector whose values are the result of dividing the first vector&#39;s elements by the corresponding elements in the second vector. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The divided vector. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The dot product. + + + Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether each pair of elements in the given vectors is equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left and right are equal; otherwise, false. + + + Returns a value that indicates whether any single pair of elements in the given vectors is equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element pair in left and right is equal; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left are greater than the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is greater than the corresponding element in right; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is greater than or equal to the corresponding element in right; otherwise, false. + + + Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support. + true if vector operations are subject to hardware acceleration; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all of the elements in left are less than the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is less than the corresponding element in right; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is less than or equal to the corresponding element in right; otherwise, false. + + + Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The maximum vector. + + + Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The minimum vector. + + + Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector. + The scalar value. + The vector. + The vector type. T can be any primitive numeric type. + The scaled vector. + + + Returns a new vector whose values are the product of each pair of elements in two specified vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The product vector. + + + Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value. + The vector. + The scalar value. + The vector type. T can be any primitive numeric type. + The scaled vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector whose elements are the negation of the corresponding element in the specified vector. + The source vector. + The vector type. T can be any primitive numeric type. + The negated vector. + + + Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a new vector whose elements are the square roots of a specified vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The square root vector. + + + Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The difference vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Represents a vector with two single-precision floating-point values. + + + Creates a new object whose two elements have the same value. + The value to assign to both elements. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of the vector. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 2 elements are equal to one. + A vector whose two elements are equal to one (that is, it returns the vector (1,1). + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns the reflection of a vector off a surface that has the specified normal. + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a vector by a specified 3x2 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a vector normal by the given 3x2 matrix. + The source vector. + The matrix. + The transformed vector. + + + Transforms a vector normal by the given 4x4 matrix. + The source vector. + The matrix. + The transformed vector. + + + Gets the vector (1,0). + The vector (1,0). + + + Gets the vector (0,1). + The vector (0,1). + + + The X component of the vector. + + + + The Y component of the vector. + + + + Returns a vector whose 2 elements are equal to zero. + A vector whose two elements are equal to zero (that is, it returns the vector (0,0). + + + Represents a vector with three single-precision floating-point values. + + + Creates a new object whose three elements have the same value. + The value to assign to all three elements. + + + Creates a new object from the specified object and the specified value. + The vector with two elements. + The additional value to assign to the field. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the cross product of two vectors. + The first vector. + The second vector. + The cross product. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of this vector object. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 3 elements are equal to one. + A vector whose three elements are equal to one (that is, it returns the vector (1,1,1). + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns the reflection of a vector off a surface that has the specified normal. + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a vector normal by the given 4x4 matrix. + The source vector. + The matrix. + The transformed vector. + + + Gets the vector (1,0,0). + The vector (1,0,0). + + + Gets the vector (0,1,0). + The vector (0,1,0).. + + + Gets the vector (0,0,1). + The vector (0,0,1). + + + The X component of the vector. + + + + The Y component of the vector. + + + + The Z component of the vector. + + + + Gets a vector whose 3 elements are equal to zero. + A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0). + + + Represents a vector with four single-precision floating-point values. + + + Creates a new object whose four elements have the same value. + The value to assign to all four elements. + + + Constructs a new object from the specified object and a W component. + The vector to use for the X, Y, and Z components. + The W component. + + + Creates a new object from the specified object and a Z and a W component. + The vector to use for the X and Y components. + The Z component. + The W component. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of this vector object. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 4 elements are equal to one. + Returns . + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a four-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a four-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a three-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a two-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a two-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a three-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Gets the vector (0,0,0,1). + The vector (0,0,0,1). + + + Gets the vector (1,0,0,0). + The vector (1,0,0,0). + + + Gets the vector (0,1,0,0). + The vector (0,1,0,0).. + + + Gets a vector whose 4 elements are equal to zero. + The vector (0,0,1,0). + + + The W component of the vector. + + + + The X component of the vector. + + + + The Y component of the vector. + + + + The Z component of the vector. + + + + Gets a vector whose 4 elements are equal to zero. + A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0). + + + \ No newline at end of file diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.dll new file mode 100644 index 0000000000000000000000000000000000000000..10205772c39d70f6c83a120b012e25c7a206da7b GIT binary patch literal 163464 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 a 3x2 matrix. + + + Creates a 3x2 matrix from the specified components. + The value to assign to the first element in the first row. + The value to assign to the second element in the first row. + The value to assign to the first element in the second row. + The value to assign to the second element in the second row. + The value to assign to the first element in the third row. + The value to assign to the second element in the third row. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values of value1 and value2. + + + Creates a rotation matrix using the given rotation in radians. + The amount of rotation, in radians. + The rotation matrix. + + + Creates a rotation matrix using the specified rotation in radians and a center point. + The amount of rotation, in radians. + The center point. + The rotation matrix. + + + Creates a scaling matrix from the specified X and Y components. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The scaling matrix. + + + Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center. + The uniform scale to use. + The center offset. + The scaling matrix. + + + Creates a scaling matrix that is offset by a given center point. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The center point. + The scaling matrix. + + + Creates a scaling matrix that scales uniformly with the given scale. + The uniform scale to use. + The scaling matrix. + + + Creates a scaling matrix from the specified vector scale. + The scale to use. + The scaling matrix. + + + Creates a scaling matrix from the specified vector scale with an offset from the specified center point. + The scale to use. + The center offset. + The scaling matrix. + + + Creates a skew matrix from the specified angles in radians. + The X angle, in radians. + The Y angle, in radians. + The skew matrix. + + + Creates a skew matrix from the specified angles in radians and a center point. + The X angle, in radians. + The Y angle, in radians. + The center point. + The skew matrix. + + + Creates a translation matrix from the specified 2-dimensional vector. + The translation position. + The translation matrix. + + + Creates a translation matrix from the specified X and Y components. + The X position. + The Y position. + The translation matrix. + + + Returns a value that indicates whether this instance and another 3x2 matrix are equal. + The other matrix. + true if the two matrices are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Calculates the determinant for this matrix. + The determinant. + + + Returns the hash code for this instance. + The hash code. + + + Gets the multiplicative identity matrix. + The multiplicative identify matrix. + + + Inverts the specified matrix. The return value indicates whether the operation succeeded. + The matrix to invert. + When this method returns, contains the inverted matrix if the operation succeeded. + true if matrix was converted successfully; otherwise, false. + + + Indicates whether the current matrix is the identity matrix. + true if the current matrix is the identity matrix; otherwise, false. + + + Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. + The first matrix. + The second matrix. + The relative weighting of matrix2. + The interpolated matrix. + + + The first element of the first row. + + + + The second element of the first row. + + + + The first element of the second row. + + + + The second element of the second row. + + + + The first element of the third row. + + + + The second element of the third row. + + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values. + + + Returns a value that indicates whether the specified matrices are equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether the specified matrices are not equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this matrix. + The string representation of this matrix. + + + Gets or sets the translation component of this matrix. + The translation component of the current instance. + + + Represents a 4x4 matrix. + + + Creates a object from a specified object. + A 3x2 matrix. + + + Creates a 4x4 matrix from the specified components. + The value to assign to the first element in the first row. + The value to assign to the second element in the first row. + The value to assign to the third element in the first row. + The value to assign to the fourth element in the first row. + The value to assign to the first element in the second row. + The value to assign to the second element in the second row. + The value to assign to the third element in the second row. + The value to assign to the third element in the second row. + The value to assign to the first element in the third row. + The value to assign to the second element in the third row. + The value to assign to the third element in the third row. + The value to assign to the fourth element in the third row. + The value to assign to the first element in the fourth row. + The value to assign to the second element in the fourth row. + The value to assign to the third element in the fourth row. + The value to assign to the fourth element in the fourth row. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values of value1 and value2. + + + Creates a spherical billboard that rotates around a specified object position. + The position of the object that the billboard will rotate around. + The position of the camera. + The up vector of the camera. + The forward vector of the camera. + The created billboard. + + + Creates a cylindrical billboard that rotates around a specified axis. + The position of the object that the billboard will rotate around. + The position of the camera. + The axis to rotate the billboard around. + The forward vector of the camera. + The forward vector of the object. + The billboard matrix. + + + Creates a matrix that rotates around an arbitrary vector. + The axis to rotate around. + The angle to rotate around axis, in radians. + The rotation matrix. + + + Creates a rotation matrix from the specified Quaternion rotation value. + The source Quaternion. + The rotation matrix. + + + Creates a rotation matrix from the specified yaw, pitch, and roll. + The angle of rotation, in radians, around the Y axis. + The angle of rotation, in radians, around the X axis. + The angle of rotation, in radians, around the Z axis. + The rotation matrix. + + + Creates a view matrix. + The position of the camera. + The target towards which the camera is pointing. + The direction that is &quot;up&quot; from the camera&#39;s point of view. + The view matrix. + + + Creates an orthographic perspective matrix from the given view volume dimensions. + The width of the view volume. + The height of the view volume. + The minimum Z-value of the view volume. + The maximum Z-value of the view volume. + The orthographic projection matrix. + + + Creates a customized orthographic projection matrix. + The minimum X-value of the view volume. + The maximum X-value of the view volume. + The minimum Y-value of the view volume. + The maximum Y-value of the view volume. + The minimum Z-value of the view volume. + The maximum Z-value of the view volume. + The orthographic projection matrix. + + + Creates a perspective projection matrix from the given view volume dimensions. + The width of the view volume at the near view plane. + The height of the view volume at the near view plane. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. + The field of view in the y direction, in radians. + The aspect ratio, defined as view space width divided by height. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + fieldOfView is less than or equal to zero. + -or- + fieldOfView is greater than or equal to . + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a customized perspective projection matrix. + The minimum x-value of the view volume at the near view plane. + The maximum x-value of the view volume at the near view plane. + The minimum y-value of the view volume at the near view plane. + The maximum y-value of the view volume at the near view plane. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a matrix that reflects the coordinate system about a specified plane. + The plane about which to create a reflection. + A new matrix expressing the reflection. + + + Creates a matrix for rotating points around the X axis. + The amount, in radians, by which to rotate around the X axis. + The rotation matrix. + + + Creates a matrix for rotating points around the X axis from a center point. + The amount, in radians, by which to rotate around the X axis. + The center point. + The rotation matrix. + + + The amount, in radians, by which to rotate around the Y axis from a center point. + The amount, in radians, by which to rotate around the Y-axis. + The center point. + The rotation matrix. + + + Creates a matrix for rotating points around the Y axis. + The amount, in radians, by which to rotate around the Y-axis. + The rotation matrix. + + + Creates a matrix for rotating points around the Z axis. + The amount, in radians, by which to rotate around the Z-axis. + The rotation matrix. + + + Creates a matrix for rotating points around the Z axis from a center point. + The amount, in radians, by which to rotate around the Z-axis. + The center point. + The rotation matrix. + + + Creates a scaling matrix from the specified vector scale. + The scale to use. + The scaling matrix. + + + Creates a uniform scaling matrix that scale equally on each axis. + The uniform scaling factor. + The scaling matrix. + + + Creates a scaling matrix with a center point. + The vector that contains the amount to scale on each axis. + The center point. + The scaling matrix. + + + Creates a uniform scaling matrix that scales equally on each axis with a center point. + The uniform scaling factor. + The center point. + The scaling matrix. + + + Creates a scaling matrix from the specified X, Y, and Z components. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The value to scale by on the Z axis. + The scaling matrix. + + + Creates a scaling matrix that is offset by a given center point. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The value to scale by on the Z axis. + The center point. + The scaling matrix. + + + Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. + The direction from which the light that will cast the shadow is coming. + The plane onto which the new matrix should flatten geometry so as to cast a shadow. + A new matrix that can be used to flatten geometry onto the specified plane from the specified direction. + + + Creates a translation matrix from the specified 3-dimensional vector. + The amount to translate in each axis. + The translation matrix. + + + Creates a translation matrix from the specified X, Y, and Z components. + The amount to translate on the X axis. + The amount to translate on the Y axis. + The amount to translate on the Z axis. + The translation matrix. + + + Creates a world matrix with the specified parameters. + The position of the object. + The forward direction of the object. + The upward direction of the object. Its value is usually [0, 1, 0]. + The world matrix. + + + Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded. + The source matrix. + When this method returns, contains the scaling component of the transformation matrix if the operation succeeded. + When this method returns, contains the rotation component of the transformation matrix if the operation succeeded. + When the method returns, contains the translation component of the transformation matrix if the operation succeeded. + true if matrix was decomposed successfully; otherwise, false. + + + Returns a value that indicates whether this instance and another 4x4 matrix are equal. + The other matrix. + true if the two matrices are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Calculates the determinant of the current 4x4 matrix. + The determinant. + + + Returns the hash code for this instance. + The hash code. + + + Gets the multiplicative identity matrix. + Gets the multiplicative identity matrix. + + + Inverts the specified matrix. The return value indicates whether the operation succeeded. + The matrix to invert. + When this method returns, contains the inverted matrix if the operation succeeded. + true if matrix was converted successfully; otherwise, false. + + + Indicates whether the current matrix is the identity matrix. + true if the current matrix is the identity matrix; otherwise, false. + + + Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. + The first matrix. + The second matrix. + The relative weighting of matrix2. + The interpolated matrix. + + + The first element of the first row. + + + + The second element of the first row. + + + + The third element of the first row. + + + + The fourth element of the first row. + + + + The first element of the second row. + + + + The second element of the second row. + + + + The third element of the second row. + + + + The fourth element of the second row. + + + + The first element of the third row. + + + + The second element of the third row. + + + + The third element of the third row. + + + + The fourth element of the third row. + + + + The first element of the fourth row. + + + + The second element of the fourth row. + + + + The third element of the fourth row. + + + + The fourth element of the fourth row. + + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values. + + + Returns a value that indicates whether the specified matrices are equal. + The first matrix to compare. + The second matrix to care + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether the specified matrices are not equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this matrix. + The string representation of this matrix. + + + Transforms the specified matrix by applying the specified Quaternion rotation. + The matrix to transform. + The rotation t apply. + The transformed matrix. + + + Gets or sets the translation component of this matrix. + The translation component of the current instance. + + + Transposes the rows and columns of a matrix. + The matrix to transpose. + The transposed matrix. + + + Represents a three-dimensional plane. + + + Creates a object from a specified four-dimensional vector. + A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin. + + + Creates a object from a specified normal and the distance along the normal from the origin. + The plane&#39;s normal vector. + The plane&#39;s distance from the origin along its normal vector. + + + Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal. + The X component of the normal. + The Y component of the normal. + The Z component of the normal. + The distance of the plane along its normal from the origin. + + + Creates a object that contains three specified points. + The first point defining the plane. + The second point defining the plane. + The third point defining the plane. + The plane containing the three points. + + + The distance of the plane along its normal from the origin. + + + + Calculates the dot product of a plane and a 4-dimensional vector. + The plane. + The four-dimensional vector. + The dot product. + + + Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane. + The plane. + The 3-dimensional vector. + The dot product. + + + Returns the dot product of a specified three-dimensional vector and the vector of this plane. + The plane. + The three-dimensional vector. + The dot product. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns a value that indicates whether this instance and another plane object are equal. + The other plane. + true if the two planes are equal; otherwise, false. + + + Returns the hash code for this instance. + The hash code. + + + The normal vector of the plane. + + + + Creates a new object whose normal vector is the source plane&#39;s normal vector normalized. + The source plane. + The normalized plane. + + + Returns a value that indicates whether two planes are equal. + The first plane to compare. + The second plane to compare. + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether two planes are not equal. + The first plane to compare. + The second plane to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the string representation of this plane object. + A string that represents this object. + + + Transforms a normalized plane by a 4x4 matrix. + The normalized plane to transform. + The transformation matrix to apply to plane. + The transformed plane. + + + Transforms a normalized plane by a Quaternion rotation. + The normalized plane to transform. + The Quaternion rotation to apply to the plane. + A new plane that results from applying the Quaternion rotation. + + + Represents a vector that is used to encode three-dimensional physical rotations. + + + Creates a quaternion from the specified vector and rotation parts. + The vector part of the quaternion. + The rotation part of the quaternion. + + + Constructs a quaternion from the specified components. + The value to assign to the X component of the quaternion. + The value to assign to the Y component of the quaternion. + The value to assign to the Z component of the quaternion. + The value to assign to the W component of the quaternion. + + + Adds each element in one quaternion with its corresponding element in a second quaternion. + The first quaternion. + The second quaternion. + The quaternion that contains the summed values of value1 and value2. + + + Concatenates two quaternions. + The first quaternion rotation in the series. + The second quaternion rotation in the series. + A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation. + + + Returns the conjugate of a specified quaternion. + The quaternion. + A new quaternion that is the conjugate of value. + + + Creates a quaternion from a vector and an angle to rotate about the vector. + The vector to rotate around. + The angle, in radians, to rotate around the vector. + The newly created quaternion. + + + Creates a quaternion from the specified rotation matrix. + The rotation matrix. + The newly created quaternion. + + + Creates a new quaternion from the given yaw, pitch, and roll. + The yaw angle, in radians, around the Y axis. + The pitch angle, in radians, around the X axis. + The roll angle, in radians, around the Z axis. + The resulting quaternion. + + + Divides one quaternion by a second quaternion. + The dividend. + The divisor. + The quaternion that results from dividing value1 by value2. + + + Calculates the dot product of two quaternions. + The first quaternion. + The second quaternion. + The dot product. + + + Returns a value that indicates whether this instance and another quaternion are equal. + The other quaternion. + true if the two quaternions are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Gets a quaternion that represents no rotation. + A quaternion whose values are (0, 0, 0, 1). + + + Returns the inverse of a quaternion. + The quaternion. + The inverted quaternion. + + + Gets a value that indicates whether the current instance is the identity quaternion. + true if the current instance is the identity quaternion; otherwise, false. + + + Calculates the length of the quaternion. + The computed length of the quaternion. + + + Calculates the squared length of the quaternion. + The length squared of the quaternion. + + + Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion. + The first quaternion. + The second quaternion. + The relative weight of quaternion2 in the interpolation. + The interpolated quaternion. + + + Returns the quaternion that results from multiplying two quaternions together. + The first quaternion. + The second quaternion. + The product quaternion. + + + Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. + The source quaternion. + The scalar value. + The scaled quaternion. + + + Reverses the sign of each component of the quaternion. + The quaternion to negate. + The negated quaternion. + + + Divides each component of a specified by its length. + The quaternion to normalize. + The normalized quaternion. + + + Adds each element in one quaternion with its corresponding element in a second quaternion. + The first quaternion. + The second quaternion. + The quaternion that contains the summed values of value1 and value2. + + + Divides one quaternion by a second quaternion. + The dividend. + The divisor. + The quaternion that results from dividing value1 by value2. + + + Returns a value that indicates whether two quaternions are equal. + The first quaternion to compare. + The second quaternion to compare. + true if the two quaternions are equal; otherwise, false. + + + Returns a value that indicates whether two quaternions are not equal. + The first quaternion to compare. + The second quaternion to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. + The source quaternion. + The scalar value. + The scaled quaternion. + + + Returns the quaternion that results from multiplying two quaternions together. + The first quaternion. + The second quaternion. + The product quaternion. + + + Subtracts each element in a second quaternion from its corresponding element in a first quaternion. + The first quaternion. + The second quaternion. + The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Reverses the sign of each component of the quaternion. + The quaternion to negate. + The negated quaternion. + + + Interpolates between two quaternions, using spherical linear interpolation. + The first quaternion. + The second quaternion. + The relative weight of the second quaternion in the interpolation. + The interpolated quaternion. + + + Subtracts each element in a second quaternion from its corresponding element in a first quaternion. + The first quaternion. + The second quaternion. + The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this quaternion. + The string representation of this quaternion. + + + The rotation component of the quaternion. + + + + The X value of the vector component of the quaternion. + + + + The Y value of the vector component of the quaternion. + + + + The Z value of the vector component of the quaternion. + + + + Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms. + The vector type. T can be any primitive numeric type. + + + Creates a vector whose components are of a specified type. + The numeric type that defines the type of the components in the vector. + + + Creates a vector from a specified array. + A numeric array. + values is null. + + + Creates a vector from a specified array starting at a specified index position. + A numeric array. + The starting index position from which to create the vector. + values is null. + index is less than zero. + -or- + The length of values minus index is less than . + + + Copies the vector instance to a specified destination array. + The array to receive a copy of the vector values. + destination is null. + The number of elements in the current vector is greater than the number of elements available in the destination array. + + + Copies the vector instance to a specified destination array starting at a specified index position. + The array to receive a copy of the vector values. + The starting index in destination at which to begin the copy operation. + destination is null. + The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array. + index is less than zero or greater than the last index in destination. + + + Returns the number of elements stored in the vector. + The number of elements stored in the vector. + Access to the property getter via reflection is not supported. + + + Returns a value that indicates whether this instance is equal to a specified vector. + The vector to compare with this instance. + true if the current instance and other are equal; otherwise, false. + + + Returns a value that indicates whether this instance is equal to a specified object. + The object to compare with this instance. + true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance. + + + Returns the hash code for this instance. + The hash code. + + + Gets the element at a specified index. + The index of the element to return. + The element at index index. + index is less than zero. + -or- + index is greater than or equal to . + + + Returns a vector containing all ones. + A vector containing all ones. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Returns a new vector by performing a bitwise And operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise And of left and right. + + + Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise Or of the elements in left and right. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Returns a value that indicates whether each pair of elements in two specified vectors are equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise XOr of the elements in left and right. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Returns a value that indicates whether any single pair of elements in the specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if any element pairs in left and right are equal. false if no element pairs are equal. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar value. + The source vector. + A scalar value. + The scaled vector. + + + Multiplies a vector by the given scalar. + The scalar value. + The source vector. + The scaled vector. + + + Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. + The source vector. + The one&#39;s complement vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates a given vector. + The vector to negate. + The negated vector. + + + Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Returns the string representation of this vector using default formatting. + The string representation of this vector. + + + Returns the string representation of this vector using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns a vector containing all zeroes. + A vector containing all zeroes. + + + Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors. + + + Returns a new vector whose elements are the absolute values of the given vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The absolute value vector. + + + Returns a new vector whose values are the sum of each pair of elements from two given vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The summed vector. + + + Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned bytes. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a double-precision floating-point vector. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of 16-bit integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of long integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of signed bytes. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a single-precision floating-point vector. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned long integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The vector type. T can be any primitive numeric type. + The new vector with elements selected based on the mask. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector whose values are the result of dividing the first vector&#39;s elements by the corresponding elements in the second vector. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The divided vector. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The dot product. + + + Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether each pair of elements in the given vectors is equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left and right are equal; otherwise, false. + + + Returns a value that indicates whether any single pair of elements in the given vectors is equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element pair in left and right is equal; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left are greater than the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is greater than the corresponding element in right; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is greater than or equal to the corresponding element in right; otherwise, false. + + + Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support. + true if vector operations are subject to hardware acceleration; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all of the elements in left are less than the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is less than the corresponding element in right; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is less than or equal to the corresponding element in right; otherwise, false. + + + Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The maximum vector. + + + Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The minimum vector. + + + Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector. + The scalar value. + The vector. + The vector type. T can be any primitive numeric type. + The scaled vector. + + + Returns a new vector whose values are the product of each pair of elements in two specified vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The product vector. + + + Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value. + The vector. + The scalar value. + The vector type. T can be any primitive numeric type. + The scaled vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector whose elements are the negation of the corresponding element in the specified vector. + The source vector. + The vector type. T can be any primitive numeric type. + The negated vector. + + + Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a new vector whose elements are the square roots of a specified vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The square root vector. + + + Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The difference vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Represents a vector with two single-precision floating-point values. + + + Creates a new object whose two elements have the same value. + The value to assign to both elements. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of the vector. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 2 elements are equal to one. + A vector whose two elements are equal to one (that is, it returns the vector (1,1). + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns the reflection of a vector off a surface that has the specified normal. + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a vector by a specified 3x2 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a vector normal by the given 3x2 matrix. + The source vector. + The matrix. + The transformed vector. + + + Transforms a vector normal by the given 4x4 matrix. + The source vector. + The matrix. + The transformed vector. + + + Gets the vector (1,0). + The vector (1,0). + + + Gets the vector (0,1). + The vector (0,1). + + + The X component of the vector. + + + + The Y component of the vector. + + + + Returns a vector whose 2 elements are equal to zero. + A vector whose two elements are equal to zero (that is, it returns the vector (0,0). + + + Represents a vector with three single-precision floating-point values. + + + Creates a new object whose three elements have the same value. + The value to assign to all three elements. + + + Creates a new object from the specified object and the specified value. + The vector with two elements. + The additional value to assign to the field. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the cross product of two vectors. + The first vector. + The second vector. + The cross product. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of this vector object. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 3 elements are equal to one. + A vector whose three elements are equal to one (that is, it returns the vector (1,1,1). + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns the reflection of a vector off a surface that has the specified normal. + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a vector normal by the given 4x4 matrix. + The source vector. + The matrix. + The transformed vector. + + + Gets the vector (1,0,0). + The vector (1,0,0). + + + Gets the vector (0,1,0). + The vector (0,1,0).. + + + Gets the vector (0,0,1). + The vector (0,0,1). + + + The X component of the vector. + + + + The Y component of the vector. + + + + The Z component of the vector. + + + + Gets a vector whose 3 elements are equal to zero. + A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0). + + + Represents a vector with four single-precision floating-point values. + + + Creates a new object whose four elements have the same value. + The value to assign to all four elements. + + + Constructs a new object from the specified object and a W component. + The vector to use for the X, Y, and Z components. + The W component. + + + Creates a new object from the specified object and a Z and a W component. + The vector to use for the X and Y components. + The Z component. + The W component. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of this vector object. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 4 elements are equal to one. + Returns . + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a four-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a four-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a three-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a two-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a two-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a three-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Gets the vector (0,0,0,1). + The vector (0,0,0,1). + + + Gets the vector (1,0,0,0). + The vector (1,0,0,0). + + + Gets the vector (0,1,0,0). + The vector (0,1,0,0).. + + + Gets a vector whose 4 elements are equal to zero. + The vector (0,0,1,0). + + + The W component of the vector. + + + + The X component of the vector. + + + + The Y component of the vector. + + + + The Z component of the vector. + + + + Gets a vector whose 4 elements are equal to zero. + A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0). + + + \ No newline at end of file diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.dll new file mode 100644 index 0000000000000000000000000000000000000000..433aa3619411cc583d0be6e11bab20cccf615fd1 GIT binary patch literal 160912 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 literal 0 HcmV?d00001 diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.xml b/packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.xml new file mode 100644 index 0000000..da34d39 --- /dev/null +++ b/packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.xml @@ -0,0 +1,2621 @@ + + + System.Numerics.Vectors + + + + Represents a 3x2 matrix. + + + Creates a 3x2 matrix from the specified components. + The value to assign to the first element in the first row. + The value to assign to the second element in the first row. + The value to assign to the first element in the second row. + The value to assign to the second element in the second row. + The value to assign to the first element in the third row. + The value to assign to the second element in the third row. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values of value1 and value2. + + + Creates a rotation matrix using the given rotation in radians. + The amount of rotation, in radians. + The rotation matrix. + + + Creates a rotation matrix using the specified rotation in radians and a center point. + The amount of rotation, in radians. + The center point. + The rotation matrix. + + + Creates a scaling matrix from the specified X and Y components. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The scaling matrix. + + + Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center. + The uniform scale to use. + The center offset. + The scaling matrix. + + + Creates a scaling matrix that is offset by a given center point. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The center point. + The scaling matrix. + + + Creates a scaling matrix that scales uniformly with the given scale. + The uniform scale to use. + The scaling matrix. + + + Creates a scaling matrix from the specified vector scale. + The scale to use. + The scaling matrix. + + + Creates a scaling matrix from the specified vector scale with an offset from the specified center point. + The scale to use. + The center offset. + The scaling matrix. + + + Creates a skew matrix from the specified angles in radians. + The X angle, in radians. + The Y angle, in radians. + The skew matrix. + + + Creates a skew matrix from the specified angles in radians and a center point. + The X angle, in radians. + The Y angle, in radians. + The center point. + The skew matrix. + + + Creates a translation matrix from the specified 2-dimensional vector. + The translation position. + The translation matrix. + + + Creates a translation matrix from the specified X and Y components. + The X position. + The Y position. + The translation matrix. + + + Returns a value that indicates whether this instance and another 3x2 matrix are equal. + The other matrix. + true if the two matrices are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Calculates the determinant for this matrix. + The determinant. + + + Returns the hash code for this instance. + The hash code. + + + Gets the multiplicative identity matrix. + The multiplicative identify matrix. + + + Inverts the specified matrix. The return value indicates whether the operation succeeded. + The matrix to invert. + When this method returns, contains the inverted matrix if the operation succeeded. + true if matrix was converted successfully; otherwise, false. + + + Indicates whether the current matrix is the identity matrix. + true if the current matrix is the identity matrix; otherwise, false. + + + Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. + The first matrix. + The second matrix. + The relative weighting of matrix2. + The interpolated matrix. + + + The first element of the first row. + + + + The second element of the first row. + + + + The first element of the second row. + + + + The second element of the second row. + + + + The first element of the third row. + + + + The second element of the third row. + + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values. + + + Returns a value that indicates whether the specified matrices are equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether the specified matrices are not equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this matrix. + The string representation of this matrix. + + + Gets or sets the translation component of this matrix. + The translation component of the current instance. + + + Represents a 4x4 matrix. + + + Creates a object from a specified object. + A 3x2 matrix. + + + Creates a 4x4 matrix from the specified components. + The value to assign to the first element in the first row. + The value to assign to the second element in the first row. + The value to assign to the third element in the first row. + The value to assign to the fourth element in the first row. + The value to assign to the first element in the second row. + The value to assign to the second element in the second row. + The value to assign to the third element in the second row. + The value to assign to the third element in the second row. + The value to assign to the first element in the third row. + The value to assign to the second element in the third row. + The value to assign to the third element in the third row. + The value to assign to the fourth element in the third row. + The value to assign to the first element in the fourth row. + The value to assign to the second element in the fourth row. + The value to assign to the third element in the fourth row. + The value to assign to the fourth element in the fourth row. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values of value1 and value2. + + + Creates a spherical billboard that rotates around a specified object position. + The position of the object that the billboard will rotate around. + The position of the camera. + The up vector of the camera. + The forward vector of the camera. + The created billboard. + + + Creates a cylindrical billboard that rotates around a specified axis. + The position of the object that the billboard will rotate around. + The position of the camera. + The axis to rotate the billboard around. + The forward vector of the camera. + The forward vector of the object. + The billboard matrix. + + + Creates a matrix that rotates around an arbitrary vector. + The axis to rotate around. + The angle to rotate around axis, in radians. + The rotation matrix. + + + Creates a rotation matrix from the specified Quaternion rotation value. + The source Quaternion. + The rotation matrix. + + + Creates a rotation matrix from the specified yaw, pitch, and roll. + The angle of rotation, in radians, around the Y axis. + The angle of rotation, in radians, around the X axis. + The angle of rotation, in radians, around the Z axis. + The rotation matrix. + + + Creates a view matrix. + The position of the camera. + The target towards which the camera is pointing. + The direction that is &quot;up&quot; from the camera&#39;s point of view. + The view matrix. + + + Creates an orthographic perspective matrix from the given view volume dimensions. + The width of the view volume. + The height of the view volume. + The minimum Z-value of the view volume. + The maximum Z-value of the view volume. + The orthographic projection matrix. + + + Creates a customized orthographic projection matrix. + The minimum X-value of the view volume. + The maximum X-value of the view volume. + The minimum Y-value of the view volume. + The maximum Y-value of the view volume. + The minimum Z-value of the view volume. + The maximum Z-value of the view volume. + The orthographic projection matrix. + + + Creates a perspective projection matrix from the given view volume dimensions. + The width of the view volume at the near view plane. + The height of the view volume at the near view plane. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. + The field of view in the y direction, in radians. + The aspect ratio, defined as view space width divided by height. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + fieldOfView is less than or equal to zero. + -or- + fieldOfView is greater than or equal to . + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a customized perspective projection matrix. + The minimum x-value of the view volume at the near view plane. + The maximum x-value of the view volume at the near view plane. + The minimum y-value of the view volume at the near view plane. + The maximum y-value of the view volume at the near view plane. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a matrix that reflects the coordinate system about a specified plane. + The plane about which to create a reflection. + A new matrix expressing the reflection. + + + Creates a matrix for rotating points around the X axis. + The amount, in radians, by which to rotate around the X axis. + The rotation matrix. + + + Creates a matrix for rotating points around the X axis from a center point. + The amount, in radians, by which to rotate around the X axis. + The center point. + The rotation matrix. + + + The amount, in radians, by which to rotate around the Y axis from a center point. + The amount, in radians, by which to rotate around the Y-axis. + The center point. + The rotation matrix. + + + Creates a matrix for rotating points around the Y axis. + The amount, in radians, by which to rotate around the Y-axis. + The rotation matrix. + + + Creates a matrix for rotating points around the Z axis. + The amount, in radians, by which to rotate around the Z-axis. + The rotation matrix. + + + Creates a matrix for rotating points around the Z axis from a center point. + The amount, in radians, by which to rotate around the Z-axis. + The center point. + The rotation matrix. + + + Creates a scaling matrix from the specified vector scale. + The scale to use. + The scaling matrix. + + + Creates a uniform scaling matrix that scale equally on each axis. + The uniform scaling factor. + The scaling matrix. + + + Creates a scaling matrix with a center point. + The vector that contains the amount to scale on each axis. + The center point. + The scaling matrix. + + + Creates a uniform scaling matrix that scales equally on each axis with a center point. + The uniform scaling factor. + The center point. + The scaling matrix. + + + Creates a scaling matrix from the specified X, Y, and Z components. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The value to scale by on the Z axis. + The scaling matrix. + + + Creates a scaling matrix that is offset by a given center point. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The value to scale by on the Z axis. + The center point. + The scaling matrix. + + + Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. + The direction from which the light that will cast the shadow is coming. + The plane onto which the new matrix should flatten geometry so as to cast a shadow. + A new matrix that can be used to flatten geometry onto the specified plane from the specified direction. + + + Creates a translation matrix from the specified 3-dimensional vector. + The amount to translate in each axis. + The translation matrix. + + + Creates a translation matrix from the specified X, Y, and Z components. + The amount to translate on the X axis. + The amount to translate on the Y axis. + The amount to translate on the Z axis. + The translation matrix. + + + Creates a world matrix with the specified parameters. + The position of the object. + The forward direction of the object. + The upward direction of the object. Its value is usually [0, 1, 0]. + The world matrix. + + + Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded. + The source matrix. + When this method returns, contains the scaling component of the transformation matrix if the operation succeeded. + When this method returns, contains the rotation component of the transformation matrix if the operation succeeded. + When the method returns, contains the translation component of the transformation matrix if the operation succeeded. + true if matrix was decomposed successfully; otherwise, false. + + + Returns a value that indicates whether this instance and another 4x4 matrix are equal. + The other matrix. + true if the two matrices are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Calculates the determinant of the current 4x4 matrix. + The determinant. + + + Returns the hash code for this instance. + The hash code. + + + Gets the multiplicative identity matrix. + Gets the multiplicative identity matrix. + + + Inverts the specified matrix. The return value indicates whether the operation succeeded. + The matrix to invert. + When this method returns, contains the inverted matrix if the operation succeeded. + true if matrix was converted successfully; otherwise, false. + + + Indicates whether the current matrix is the identity matrix. + true if the current matrix is the identity matrix; otherwise, false. + + + Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. + The first matrix. + The second matrix. + The relative weighting of matrix2. + The interpolated matrix. + + + The first element of the first row. + + + + The second element of the first row. + + + + The third element of the first row. + + + + The fourth element of the first row. + + + + The first element of the second row. + + + + The second element of the second row. + + + + The third element of the second row. + + + + The fourth element of the second row. + + + + The first element of the third row. + + + + The second element of the third row. + + + + The third element of the third row. + + + + The fourth element of the third row. + + + + The first element of the fourth row. + + + + The second element of the fourth row. + + + + The third element of the fourth row. + + + + The fourth element of the fourth row. + + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values. + + + Returns a value that indicates whether the specified matrices are equal. + The first matrix to compare. + The second matrix to care + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether the specified matrices are not equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this matrix. + The string representation of this matrix. + + + Transforms the specified matrix by applying the specified Quaternion rotation. + The matrix to transform. + The rotation t apply. + The transformed matrix. + + + Gets or sets the translation component of this matrix. + The translation component of the current instance. + + + Transposes the rows and columns of a matrix. + The matrix to transpose. + The transposed matrix. + + + Represents a three-dimensional plane. + + + Creates a object from a specified four-dimensional vector. + A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin. + + + Creates a object from a specified normal and the distance along the normal from the origin. + The plane&#39;s normal vector. + The plane&#39;s distance from the origin along its normal vector. + + + Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal. + The X component of the normal. + The Y component of the normal. + The Z component of the normal. + The distance of the plane along its normal from the origin. + + + Creates a object that contains three specified points. + The first point defining the plane. + The second point defining the plane. + The third point defining the plane. + The plane containing the three points. + + + The distance of the plane along its normal from the origin. + + + + Calculates the dot product of a plane and a 4-dimensional vector. + The plane. + The four-dimensional vector. + The dot product. + + + Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane. + The plane. + The 3-dimensional vector. + The dot product. + + + Returns the dot product of a specified three-dimensional vector and the vector of this plane. + The plane. + The three-dimensional vector. + The dot product. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns a value that indicates whether this instance and another plane object are equal. + The other plane. + true if the two planes are equal; otherwise, false. + + + Returns the hash code for this instance. + The hash code. + + + The normal vector of the plane. + + + + Creates a new object whose normal vector is the source plane&#39;s normal vector normalized. + The source plane. + The normalized plane. + + + Returns a value that indicates whether two planes are equal. + The first plane to compare. + The second plane to compare. + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether two planes are not equal. + The first plane to compare. + The second plane to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the string representation of this plane object. + A string that represents this object. + + + Transforms a normalized plane by a 4x4 matrix. + The normalized plane to transform. + The transformation matrix to apply to plane. + The transformed plane. + + + Transforms a normalized plane by a Quaternion rotation. + The normalized plane to transform. + The Quaternion rotation to apply to the plane. + A new plane that results from applying the Quaternion rotation. + + + Represents a vector that is used to encode three-dimensional physical rotations. + + + Creates a quaternion from the specified vector and rotation parts. + The vector part of the quaternion. + The rotation part of the quaternion. + + + Constructs a quaternion from the specified components. + The value to assign to the X component of the quaternion. + The value to assign to the Y component of the quaternion. + The value to assign to the Z component of the quaternion. + The value to assign to the W component of the quaternion. + + + Adds each element in one quaternion with its corresponding element in a second quaternion. + The first quaternion. + The second quaternion. + The quaternion that contains the summed values of value1 and value2. + + + Concatenates two quaternions. + The first quaternion rotation in the series. + The second quaternion rotation in the series. + A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation. + + + Returns the conjugate of a specified quaternion. + The quaternion. + A new quaternion that is the conjugate of value. + + + Creates a quaternion from a vector and an angle to rotate about the vector. + The vector to rotate around. + The angle, in radians, to rotate around the vector. + The newly created quaternion. + + + Creates a quaternion from the specified rotation matrix. + The rotation matrix. + The newly created quaternion. + + + Creates a new quaternion from the given yaw, pitch, and roll. + The yaw angle, in radians, around the Y axis. + The pitch angle, in radians, around the X axis. + The roll angle, in radians, around the Z axis. + The resulting quaternion. + + + Divides one quaternion by a second quaternion. + The dividend. + The divisor. + The quaternion that results from dividing value1 by value2. + + + Calculates the dot product of two quaternions. + The first quaternion. + The second quaternion. + The dot product. + + + Returns a value that indicates whether this instance and another quaternion are equal. + The other quaternion. + true if the two quaternions are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Gets a quaternion that represents no rotation. + A quaternion whose values are (0, 0, 0, 1). + + + Returns the inverse of a quaternion. + The quaternion. + The inverted quaternion. + + + Gets a value that indicates whether the current instance is the identity quaternion. + true if the current instance is the identity quaternion; otherwise, false. + + + Calculates the length of the quaternion. + The computed length of the quaternion. + + + Calculates the squared length of the quaternion. + The length squared of the quaternion. + + + Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion. + The first quaternion. + The second quaternion. + The relative weight of quaternion2 in the interpolation. + The interpolated quaternion. + + + Returns the quaternion that results from multiplying two quaternions together. + The first quaternion. + The second quaternion. + The product quaternion. + + + Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. + The source quaternion. + The scalar value. + The scaled quaternion. + + + Reverses the sign of each component of the quaternion. + The quaternion to negate. + The negated quaternion. + + + Divides each component of a specified by its length. + The quaternion to normalize. + The normalized quaternion. + + + Adds each element in one quaternion with its corresponding element in a second quaternion. + The first quaternion. + The second quaternion. + The quaternion that contains the summed values of value1 and value2. + + + Divides one quaternion by a second quaternion. + The dividend. + The divisor. + The quaternion that results from dividing value1 by value2. + + + Returns a value that indicates whether two quaternions are equal. + The first quaternion to compare. + The second quaternion to compare. + true if the two quaternions are equal; otherwise, false. + + + Returns a value that indicates whether two quaternions are not equal. + The first quaternion to compare. + The second quaternion to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. + The source quaternion. + The scalar value. + The scaled quaternion. + + + Returns the quaternion that results from multiplying two quaternions together. + The first quaternion. + The second quaternion. + The product quaternion. + + + Subtracts each element in a second quaternion from its corresponding element in a first quaternion. + The first quaternion. + The second quaternion. + The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Reverses the sign of each component of the quaternion. + The quaternion to negate. + The negated quaternion. + + + Interpolates between two quaternions, using spherical linear interpolation. + The first quaternion. + The second quaternion. + The relative weight of the second quaternion in the interpolation. + The interpolated quaternion. + + + Subtracts each element in a second quaternion from its corresponding element in a first quaternion. + The first quaternion. + The second quaternion. + The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this quaternion. + The string representation of this quaternion. + + + The rotation component of the quaternion. + + + + The X value of the vector component of the quaternion. + + + + The Y value of the vector component of the quaternion. + + + + The Z value of the vector component of the quaternion. + + + + Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms. + The vector type. T can be any primitive numeric type. + + + Creates a vector whose components are of a specified type. + The numeric type that defines the type of the components in the vector. + + + Creates a vector from a specified array. + A numeric array. + values is null. + + + Creates a vector from a specified array starting at a specified index position. + A numeric array. + The starting index position from which to create the vector. + values is null. + index is less than zero. + -or- + The length of values minus index is less than . + + + Copies the vector instance to a specified destination array. + The array to receive a copy of the vector values. + destination is null. + The number of elements in the current vector is greater than the number of elements available in the destination array. + + + Copies the vector instance to a specified destination array starting at a specified index position. + The array to receive a copy of the vector values. + The starting index in destination at which to begin the copy operation. + destination is null. + The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array. + index is less than zero or greater than the last index in destination. + + + Returns the number of elements stored in the vector. + The number of elements stored in the vector. + Access to the property getter via reflection is not supported. + + + Returns a value that indicates whether this instance is equal to a specified vector. + The vector to compare with this instance. + true if the current instance and other are equal; otherwise, false. + + + Returns a value that indicates whether this instance is equal to a specified object. + The object to compare with this instance. + true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance. + + + Returns the hash code for this instance. + The hash code. + + + Gets the element at a specified index. + The index of the element to return. + The element at index index. + index is less than zero. + -or- + index is greater than or equal to . + + + Returns a vector containing all ones. + A vector containing all ones. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Returns a new vector by performing a bitwise And operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise And of left and right. + + + Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise Or of the elements in left and right. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Returns a value that indicates whether each pair of elements in two specified vectors are equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise XOr of the elements in left and right. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Returns a value that indicates whether any single pair of elements in the specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if any element pairs in left and right are equal. false if no element pairs are equal. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar value. + The source vector. + A scalar value. + The scaled vector. + + + Multiplies a vector by the given scalar. + The scalar value. + The source vector. + The scaled vector. + + + Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. + The source vector. + The one&#39;s complement vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates a given vector. + The vector to negate. + The negated vector. + + + Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Returns the string representation of this vector using default formatting. + The string representation of this vector. + + + Returns the string representation of this vector using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns a vector containing all zeroes. + A vector containing all zeroes. + + + Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors. + + + Returns a new vector whose elements are the absolute values of the given vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The absolute value vector. + + + Returns a new vector whose values are the sum of each pair of elements from two given vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The summed vector. + + + Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned bytes. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a double-precision floating-point vector. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of 16-bit integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of long integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of signed bytes. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a single-precision floating-point vector. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned long integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The vector type. T can be any primitive numeric type. + The new vector with elements selected based on the mask. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector whose values are the result of dividing the first vector&#39;s elements by the corresponding elements in the second vector. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The divided vector. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The dot product. + + + Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether each pair of elements in the given vectors is equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left and right are equal; otherwise, false. + + + Returns a value that indicates whether any single pair of elements in the given vectors is equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element pair in left and right is equal; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left are greater than the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is greater than the corresponding element in right; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is greater than or equal to the corresponding element in right; otherwise, false. + + + Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support. + true if vector operations are subject to hardware acceleration; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all of the elements in left are less than the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is less than the corresponding element in right; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is less than or equal to the corresponding element in right; otherwise, false. + + + Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The maximum vector. + + + Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The minimum vector. + + + Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector. + The scalar value. + The vector. + The vector type. T can be any primitive numeric type. + The scaled vector. + + + Returns a new vector whose values are the product of each pair of elements in two specified vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The product vector. + + + Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value. + The vector. + The scalar value. + The vector type. T can be any primitive numeric type. + The scaled vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector whose elements are the negation of the corresponding element in the specified vector. + The source vector. + The vector type. T can be any primitive numeric type. + The negated vector. + + + Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a new vector whose elements are the square roots of a specified vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The square root vector. + + + Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The difference vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Represents a vector with two single-precision floating-point values. + + + Creates a new object whose two elements have the same value. + The value to assign to both elements. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of the vector. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 2 elements are equal to one. + A vector whose two elements are equal to one (that is, it returns the vector (1,1). + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns the reflection of a vector off a surface that has the specified normal. + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a vector by a specified 3x2 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a vector normal by the given 3x2 matrix. + The source vector. + The matrix. + The transformed vector. + + + Transforms a vector normal by the given 4x4 matrix. + The source vector. + The matrix. + The transformed vector. + + + Gets the vector (1,0). + The vector (1,0). + + + Gets the vector (0,1). + The vector (0,1). + + + The X component of the vector. + + + + The Y component of the vector. + + + + Returns a vector whose 2 elements are equal to zero. + A vector whose two elements are equal to zero (that is, it returns the vector (0,0). + + + Represents a vector with three single-precision floating-point values. + + + Creates a new object whose three elements have the same value. + The value to assign to all three elements. + + + Creates a new object from the specified object and the specified value. + The vector with two elements. + The additional value to assign to the field. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the cross product of two vectors. + The first vector. + The second vector. + The cross product. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of this vector object. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 3 elements are equal to one. + A vector whose three elements are equal to one (that is, it returns the vector (1,1,1). + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns the reflection of a vector off a surface that has the specified normal. + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a vector normal by the given 4x4 matrix. + The source vector. + The matrix. + The transformed vector. + + + Gets the vector (1,0,0). + The vector (1,0,0). + + + Gets the vector (0,1,0). + The vector (0,1,0).. + + + Gets the vector (0,0,1). + The vector (0,0,1). + + + The X component of the vector. + + + + The Y component of the vector. + + + + The Z component of the vector. + + + + Gets a vector whose 3 elements are equal to zero. + A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0). + + + Represents a vector with four single-precision floating-point values. + + + Creates a new object whose four elements have the same value. + The value to assign to all four elements. + + + Constructs a new object from the specified object and a W component. + The vector to use for the X, Y, and Z components. + The W component. + + + Creates a new object from the specified object and a Z and a W component. + The vector to use for the X and Y components. + The Z component. + The W component. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of this vector object. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 4 elements are equal to one. + Returns . + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a four-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a four-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a three-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a two-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a two-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a three-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Gets the vector (0,0,0,1). + The vector (0,0,0,1). + + + Gets the vector (1,0,0,0). + The vector (1,0,0,0). + + + Gets the vector (0,1,0,0). + The vector (0,1,0,0).. + + + Gets a vector whose 4 elements are equal to zero. + The vector (0,0,1,0). + + + The W component of the vector. + + + + The X component of the vector. + + + + The Y component of the vector. + + + + The Z component of the vector. + + + + Gets a vector whose 4 elements are equal to zero. + A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0). + + + \ No newline at end of file diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/uap10.0.16299/_._ b/packages/System.Numerics.Vectors.4.5.0/lib/uap10.0.16299/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/xamarinios10/_._ b/packages/System.Numerics.Vectors.4.5.0/lib/xamarinios10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/xamarinmac20/_._ b/packages/System.Numerics.Vectors.4.5.0/lib/xamarinmac20/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/xamarintvos10/_._ b/packages/System.Numerics.Vectors.4.5.0/lib/xamarintvos10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/xamarinwatchos10/_._ b/packages/System.Numerics.Vectors.4.5.0/lib/xamarinwatchos10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/MonoAndroid10/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/MonoAndroid10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/MonoTouch10/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/MonoTouch10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.dll new file mode 100644 index 0000000000000000000000000000000000000000..e237afb2fcbf8ddd2f6c05ecc737b2e40dada5ed GIT binary patch literal 38032 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 ~iyY}WW14r>LCtqTh2aP!Q zp-tk%VT*PNN=NAjf0vD)GIq;@{btKL27Mj6ZL8hPO;JbMzA)}!CmejF*%bb_6~is( z=o+QRS*`g}rsl({r>oQV4D-R4SG_KA^!dE6`AFaW=F=)`7r5xLkj1%xQ`Z_lFXczXhrS%tO}KLW zV&3&dMm!_+<{eYkg}0fP**L!}z;-!1T&EJ9_(L7_I7;Ze%!w48n48jNn4RIg_*(9z zg9Qn3H%$7QZisSNxyHBn;?nq;H?wlhcW65WRJEuJ4>rj!XXVVCJ=U{xTEWmKf%yNF H!k_;SbUCQQ literal 0 HcmV?d00001 diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.xml b/packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.xml new file mode 100644 index 0000000..da34d39 --- /dev/null +++ b/packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.xml @@ -0,0 +1,2621 @@ + + + System.Numerics.Vectors + + + + Represents a 3x2 matrix. + + + Creates a 3x2 matrix from the specified components. + The value to assign to the first element in the first row. + The value to assign to the second element in the first row. + The value to assign to the first element in the second row. + The value to assign to the second element in the second row. + The value to assign to the first element in the third row. + The value to assign to the second element in the third row. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values of value1 and value2. + + + Creates a rotation matrix using the given rotation in radians. + The amount of rotation, in radians. + The rotation matrix. + + + Creates a rotation matrix using the specified rotation in radians and a center point. + The amount of rotation, in radians. + The center point. + The rotation matrix. + + + Creates a scaling matrix from the specified X and Y components. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The scaling matrix. + + + Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center. + The uniform scale to use. + The center offset. + The scaling matrix. + + + Creates a scaling matrix that is offset by a given center point. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The center point. + The scaling matrix. + + + Creates a scaling matrix that scales uniformly with the given scale. + The uniform scale to use. + The scaling matrix. + + + Creates a scaling matrix from the specified vector scale. + The scale to use. + The scaling matrix. + + + Creates a scaling matrix from the specified vector scale with an offset from the specified center point. + The scale to use. + The center offset. + The scaling matrix. + + + Creates a skew matrix from the specified angles in radians. + The X angle, in radians. + The Y angle, in radians. + The skew matrix. + + + Creates a skew matrix from the specified angles in radians and a center point. + The X angle, in radians. + The Y angle, in radians. + The center point. + The skew matrix. + + + Creates a translation matrix from the specified 2-dimensional vector. + The translation position. + The translation matrix. + + + Creates a translation matrix from the specified X and Y components. + The X position. + The Y position. + The translation matrix. + + + Returns a value that indicates whether this instance and another 3x2 matrix are equal. + The other matrix. + true if the two matrices are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Calculates the determinant for this matrix. + The determinant. + + + Returns the hash code for this instance. + The hash code. + + + Gets the multiplicative identity matrix. + The multiplicative identify matrix. + + + Inverts the specified matrix. The return value indicates whether the operation succeeded. + The matrix to invert. + When this method returns, contains the inverted matrix if the operation succeeded. + true if matrix was converted successfully; otherwise, false. + + + Indicates whether the current matrix is the identity matrix. + true if the current matrix is the identity matrix; otherwise, false. + + + Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. + The first matrix. + The second matrix. + The relative weighting of matrix2. + The interpolated matrix. + + + The first element of the first row. + + + + The second element of the first row. + + + + The first element of the second row. + + + + The second element of the second row. + + + + The first element of the third row. + + + + The second element of the third row. + + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values. + + + Returns a value that indicates whether the specified matrices are equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether the specified matrices are not equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this matrix. + The string representation of this matrix. + + + Gets or sets the translation component of this matrix. + The translation component of the current instance. + + + Represents a 4x4 matrix. + + + Creates a object from a specified object. + A 3x2 matrix. + + + Creates a 4x4 matrix from the specified components. + The value to assign to the first element in the first row. + The value to assign to the second element in the first row. + The value to assign to the third element in the first row. + The value to assign to the fourth element in the first row. + The value to assign to the first element in the second row. + The value to assign to the second element in the second row. + The value to assign to the third element in the second row. + The value to assign to the third element in the second row. + The value to assign to the first element in the third row. + The value to assign to the second element in the third row. + The value to assign to the third element in the third row. + The value to assign to the fourth element in the third row. + The value to assign to the first element in the fourth row. + The value to assign to the second element in the fourth row. + The value to assign to the third element in the fourth row. + The value to assign to the fourth element in the fourth row. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values of value1 and value2. + + + Creates a spherical billboard that rotates around a specified object position. + The position of the object that the billboard will rotate around. + The position of the camera. + The up vector of the camera. + The forward vector of the camera. + The created billboard. + + + Creates a cylindrical billboard that rotates around a specified axis. + The position of the object that the billboard will rotate around. + The position of the camera. + The axis to rotate the billboard around. + The forward vector of the camera. + The forward vector of the object. + The billboard matrix. + + + Creates a matrix that rotates around an arbitrary vector. + The axis to rotate around. + The angle to rotate around axis, in radians. + The rotation matrix. + + + Creates a rotation matrix from the specified Quaternion rotation value. + The source Quaternion. + The rotation matrix. + + + Creates a rotation matrix from the specified yaw, pitch, and roll. + The angle of rotation, in radians, around the Y axis. + The angle of rotation, in radians, around the X axis. + The angle of rotation, in radians, around the Z axis. + The rotation matrix. + + + Creates a view matrix. + The position of the camera. + The target towards which the camera is pointing. + The direction that is &quot;up&quot; from the camera&#39;s point of view. + The view matrix. + + + Creates an orthographic perspective matrix from the given view volume dimensions. + The width of the view volume. + The height of the view volume. + The minimum Z-value of the view volume. + The maximum Z-value of the view volume. + The orthographic projection matrix. + + + Creates a customized orthographic projection matrix. + The minimum X-value of the view volume. + The maximum X-value of the view volume. + The minimum Y-value of the view volume. + The maximum Y-value of the view volume. + The minimum Z-value of the view volume. + The maximum Z-value of the view volume. + The orthographic projection matrix. + + + Creates a perspective projection matrix from the given view volume dimensions. + The width of the view volume at the near view plane. + The height of the view volume at the near view plane. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. + The field of view in the y direction, in radians. + The aspect ratio, defined as view space width divided by height. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + fieldOfView is less than or equal to zero. + -or- + fieldOfView is greater than or equal to . + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a customized perspective projection matrix. + The minimum x-value of the view volume at the near view plane. + The maximum x-value of the view volume at the near view plane. + The minimum y-value of the view volume at the near view plane. + The maximum y-value of the view volume at the near view plane. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a matrix that reflects the coordinate system about a specified plane. + The plane about which to create a reflection. + A new matrix expressing the reflection. + + + Creates a matrix for rotating points around the X axis. + The amount, in radians, by which to rotate around the X axis. + The rotation matrix. + + + Creates a matrix for rotating points around the X axis from a center point. + The amount, in radians, by which to rotate around the X axis. + The center point. + The rotation matrix. + + + The amount, in radians, by which to rotate around the Y axis from a center point. + The amount, in radians, by which to rotate around the Y-axis. + The center point. + The rotation matrix. + + + Creates a matrix for rotating points around the Y axis. + The amount, in radians, by which to rotate around the Y-axis. + The rotation matrix. + + + Creates a matrix for rotating points around the Z axis. + The amount, in radians, by which to rotate around the Z-axis. + The rotation matrix. + + + Creates a matrix for rotating points around the Z axis from a center point. + The amount, in radians, by which to rotate around the Z-axis. + The center point. + The rotation matrix. + + + Creates a scaling matrix from the specified vector scale. + The scale to use. + The scaling matrix. + + + Creates a uniform scaling matrix that scale equally on each axis. + The uniform scaling factor. + The scaling matrix. + + + Creates a scaling matrix with a center point. + The vector that contains the amount to scale on each axis. + The center point. + The scaling matrix. + + + Creates a uniform scaling matrix that scales equally on each axis with a center point. + The uniform scaling factor. + The center point. + The scaling matrix. + + + Creates a scaling matrix from the specified X, Y, and Z components. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The value to scale by on the Z axis. + The scaling matrix. + + + Creates a scaling matrix that is offset by a given center point. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The value to scale by on the Z axis. + The center point. + The scaling matrix. + + + Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. + The direction from which the light that will cast the shadow is coming. + The plane onto which the new matrix should flatten geometry so as to cast a shadow. + A new matrix that can be used to flatten geometry onto the specified plane from the specified direction. + + + Creates a translation matrix from the specified 3-dimensional vector. + The amount to translate in each axis. + The translation matrix. + + + Creates a translation matrix from the specified X, Y, and Z components. + The amount to translate on the X axis. + The amount to translate on the Y axis. + The amount to translate on the Z axis. + The translation matrix. + + + Creates a world matrix with the specified parameters. + The position of the object. + The forward direction of the object. + The upward direction of the object. Its value is usually [0, 1, 0]. + The world matrix. + + + Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded. + The source matrix. + When this method returns, contains the scaling component of the transformation matrix if the operation succeeded. + When this method returns, contains the rotation component of the transformation matrix if the operation succeeded. + When the method returns, contains the translation component of the transformation matrix if the operation succeeded. + true if matrix was decomposed successfully; otherwise, false. + + + Returns a value that indicates whether this instance and another 4x4 matrix are equal. + The other matrix. + true if the two matrices are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Calculates the determinant of the current 4x4 matrix. + The determinant. + + + Returns the hash code for this instance. + The hash code. + + + Gets the multiplicative identity matrix. + Gets the multiplicative identity matrix. + + + Inverts the specified matrix. The return value indicates whether the operation succeeded. + The matrix to invert. + When this method returns, contains the inverted matrix if the operation succeeded. + true if matrix was converted successfully; otherwise, false. + + + Indicates whether the current matrix is the identity matrix. + true if the current matrix is the identity matrix; otherwise, false. + + + Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. + The first matrix. + The second matrix. + The relative weighting of matrix2. + The interpolated matrix. + + + The first element of the first row. + + + + The second element of the first row. + + + + The third element of the first row. + + + + The fourth element of the first row. + + + + The first element of the second row. + + + + The second element of the second row. + + + + The third element of the second row. + + + + The fourth element of the second row. + + + + The first element of the third row. + + + + The second element of the third row. + + + + The third element of the third row. + + + + The fourth element of the third row. + + + + The first element of the fourth row. + + + + The second element of the fourth row. + + + + The third element of the fourth row. + + + + The fourth element of the fourth row. + + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values. + + + Returns a value that indicates whether the specified matrices are equal. + The first matrix to compare. + The second matrix to care + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether the specified matrices are not equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this matrix. + The string representation of this matrix. + + + Transforms the specified matrix by applying the specified Quaternion rotation. + The matrix to transform. + The rotation t apply. + The transformed matrix. + + + Gets or sets the translation component of this matrix. + The translation component of the current instance. + + + Transposes the rows and columns of a matrix. + The matrix to transpose. + The transposed matrix. + + + Represents a three-dimensional plane. + + + Creates a object from a specified four-dimensional vector. + A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin. + + + Creates a object from a specified normal and the distance along the normal from the origin. + The plane&#39;s normal vector. + The plane&#39;s distance from the origin along its normal vector. + + + Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal. + The X component of the normal. + The Y component of the normal. + The Z component of the normal. + The distance of the plane along its normal from the origin. + + + Creates a object that contains three specified points. + The first point defining the plane. + The second point defining the plane. + The third point defining the plane. + The plane containing the three points. + + + The distance of the plane along its normal from the origin. + + + + Calculates the dot product of a plane and a 4-dimensional vector. + The plane. + The four-dimensional vector. + The dot product. + + + Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane. + The plane. + The 3-dimensional vector. + The dot product. + + + Returns the dot product of a specified three-dimensional vector and the vector of this plane. + The plane. + The three-dimensional vector. + The dot product. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns a value that indicates whether this instance and another plane object are equal. + The other plane. + true if the two planes are equal; otherwise, false. + + + Returns the hash code for this instance. + The hash code. + + + The normal vector of the plane. + + + + Creates a new object whose normal vector is the source plane&#39;s normal vector normalized. + The source plane. + The normalized plane. + + + Returns a value that indicates whether two planes are equal. + The first plane to compare. + The second plane to compare. + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether two planes are not equal. + The first plane to compare. + The second plane to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the string representation of this plane object. + A string that represents this object. + + + Transforms a normalized plane by a 4x4 matrix. + The normalized plane to transform. + The transformation matrix to apply to plane. + The transformed plane. + + + Transforms a normalized plane by a Quaternion rotation. + The normalized plane to transform. + The Quaternion rotation to apply to the plane. + A new plane that results from applying the Quaternion rotation. + + + Represents a vector that is used to encode three-dimensional physical rotations. + + + Creates a quaternion from the specified vector and rotation parts. + The vector part of the quaternion. + The rotation part of the quaternion. + + + Constructs a quaternion from the specified components. + The value to assign to the X component of the quaternion. + The value to assign to the Y component of the quaternion. + The value to assign to the Z component of the quaternion. + The value to assign to the W component of the quaternion. + + + Adds each element in one quaternion with its corresponding element in a second quaternion. + The first quaternion. + The second quaternion. + The quaternion that contains the summed values of value1 and value2. + + + Concatenates two quaternions. + The first quaternion rotation in the series. + The second quaternion rotation in the series. + A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation. + + + Returns the conjugate of a specified quaternion. + The quaternion. + A new quaternion that is the conjugate of value. + + + Creates a quaternion from a vector and an angle to rotate about the vector. + The vector to rotate around. + The angle, in radians, to rotate around the vector. + The newly created quaternion. + + + Creates a quaternion from the specified rotation matrix. + The rotation matrix. + The newly created quaternion. + + + Creates a new quaternion from the given yaw, pitch, and roll. + The yaw angle, in radians, around the Y axis. + The pitch angle, in radians, around the X axis. + The roll angle, in radians, around the Z axis. + The resulting quaternion. + + + Divides one quaternion by a second quaternion. + The dividend. + The divisor. + The quaternion that results from dividing value1 by value2. + + + Calculates the dot product of two quaternions. + The first quaternion. + The second quaternion. + The dot product. + + + Returns a value that indicates whether this instance and another quaternion are equal. + The other quaternion. + true if the two quaternions are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Gets a quaternion that represents no rotation. + A quaternion whose values are (0, 0, 0, 1). + + + Returns the inverse of a quaternion. + The quaternion. + The inverted quaternion. + + + Gets a value that indicates whether the current instance is the identity quaternion. + true if the current instance is the identity quaternion; otherwise, false. + + + Calculates the length of the quaternion. + The computed length of the quaternion. + + + Calculates the squared length of the quaternion. + The length squared of the quaternion. + + + Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion. + The first quaternion. + The second quaternion. + The relative weight of quaternion2 in the interpolation. + The interpolated quaternion. + + + Returns the quaternion that results from multiplying two quaternions together. + The first quaternion. + The second quaternion. + The product quaternion. + + + Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. + The source quaternion. + The scalar value. + The scaled quaternion. + + + Reverses the sign of each component of the quaternion. + The quaternion to negate. + The negated quaternion. + + + Divides each component of a specified by its length. + The quaternion to normalize. + The normalized quaternion. + + + Adds each element in one quaternion with its corresponding element in a second quaternion. + The first quaternion. + The second quaternion. + The quaternion that contains the summed values of value1 and value2. + + + Divides one quaternion by a second quaternion. + The dividend. + The divisor. + The quaternion that results from dividing value1 by value2. + + + Returns a value that indicates whether two quaternions are equal. + The first quaternion to compare. + The second quaternion to compare. + true if the two quaternions are equal; otherwise, false. + + + Returns a value that indicates whether two quaternions are not equal. + The first quaternion to compare. + The second quaternion to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. + The source quaternion. + The scalar value. + The scaled quaternion. + + + Returns the quaternion that results from multiplying two quaternions together. + The first quaternion. + The second quaternion. + The product quaternion. + + + Subtracts each element in a second quaternion from its corresponding element in a first quaternion. + The first quaternion. + The second quaternion. + The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Reverses the sign of each component of the quaternion. + The quaternion to negate. + The negated quaternion. + + + Interpolates between two quaternions, using spherical linear interpolation. + The first quaternion. + The second quaternion. + The relative weight of the second quaternion in the interpolation. + The interpolated quaternion. + + + Subtracts each element in a second quaternion from its corresponding element in a first quaternion. + The first quaternion. + The second quaternion. + The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this quaternion. + The string representation of this quaternion. + + + The rotation component of the quaternion. + + + + The X value of the vector component of the quaternion. + + + + The Y value of the vector component of the quaternion. + + + + The Z value of the vector component of the quaternion. + + + + Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms. + The vector type. T can be any primitive numeric type. + + + Creates a vector whose components are of a specified type. + The numeric type that defines the type of the components in the vector. + + + Creates a vector from a specified array. + A numeric array. + values is null. + + + Creates a vector from a specified array starting at a specified index position. + A numeric array. + The starting index position from which to create the vector. + values is null. + index is less than zero. + -or- + The length of values minus index is less than . + + + Copies the vector instance to a specified destination array. + The array to receive a copy of the vector values. + destination is null. + The number of elements in the current vector is greater than the number of elements available in the destination array. + + + Copies the vector instance to a specified destination array starting at a specified index position. + The array to receive a copy of the vector values. + The starting index in destination at which to begin the copy operation. + destination is null. + The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array. + index is less than zero or greater than the last index in destination. + + + Returns the number of elements stored in the vector. + The number of elements stored in the vector. + Access to the property getter via reflection is not supported. + + + Returns a value that indicates whether this instance is equal to a specified vector. + The vector to compare with this instance. + true if the current instance and other are equal; otherwise, false. + + + Returns a value that indicates whether this instance is equal to a specified object. + The object to compare with this instance. + true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance. + + + Returns the hash code for this instance. + The hash code. + + + Gets the element at a specified index. + The index of the element to return. + The element at index index. + index is less than zero. + -or- + index is greater than or equal to . + + + Returns a vector containing all ones. + A vector containing all ones. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Returns a new vector by performing a bitwise And operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise And of left and right. + + + Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise Or of the elements in left and right. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Returns a value that indicates whether each pair of elements in two specified vectors are equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise XOr of the elements in left and right. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Returns a value that indicates whether any single pair of elements in the specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if any element pairs in left and right are equal. false if no element pairs are equal. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar value. + The source vector. + A scalar value. + The scaled vector. + + + Multiplies a vector by the given scalar. + The scalar value. + The source vector. + The scaled vector. + + + Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. + The source vector. + The one&#39;s complement vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates a given vector. + The vector to negate. + The negated vector. + + + Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Returns the string representation of this vector using default formatting. + The string representation of this vector. + + + Returns the string representation of this vector using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns a vector containing all zeroes. + A vector containing all zeroes. + + + Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors. + + + Returns a new vector whose elements are the absolute values of the given vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The absolute value vector. + + + Returns a new vector whose values are the sum of each pair of elements from two given vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The summed vector. + + + Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned bytes. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a double-precision floating-point vector. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of 16-bit integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of long integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of signed bytes. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a single-precision floating-point vector. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned long integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The vector type. T can be any primitive numeric type. + The new vector with elements selected based on the mask. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector whose values are the result of dividing the first vector&#39;s elements by the corresponding elements in the second vector. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The divided vector. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The dot product. + + + Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether each pair of elements in the given vectors is equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left and right are equal; otherwise, false. + + + Returns a value that indicates whether any single pair of elements in the given vectors is equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element pair in left and right is equal; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left are greater than the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is greater than the corresponding element in right; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is greater than or equal to the corresponding element in right; otherwise, false. + + + Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support. + true if vector operations are subject to hardware acceleration; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all of the elements in left are less than the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is less than the corresponding element in right; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is less than or equal to the corresponding element in right; otherwise, false. + + + Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The maximum vector. + + + Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The minimum vector. + + + Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector. + The scalar value. + The vector. + The vector type. T can be any primitive numeric type. + The scaled vector. + + + Returns a new vector whose values are the product of each pair of elements in two specified vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The product vector. + + + Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value. + The vector. + The scalar value. + The vector type. T can be any primitive numeric type. + The scaled vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector whose elements are the negation of the corresponding element in the specified vector. + The source vector. + The vector type. T can be any primitive numeric type. + The negated vector. + + + Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a new vector whose elements are the square roots of a specified vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The square root vector. + + + Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The difference vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Represents a vector with two single-precision floating-point values. + + + Creates a new object whose two elements have the same value. + The value to assign to both elements. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of the vector. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 2 elements are equal to one. + A vector whose two elements are equal to one (that is, it returns the vector (1,1). + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns the reflection of a vector off a surface that has the specified normal. + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a vector by a specified 3x2 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a vector normal by the given 3x2 matrix. + The source vector. + The matrix. + The transformed vector. + + + Transforms a vector normal by the given 4x4 matrix. + The source vector. + The matrix. + The transformed vector. + + + Gets the vector (1,0). + The vector (1,0). + + + Gets the vector (0,1). + The vector (0,1). + + + The X component of the vector. + + + + The Y component of the vector. + + + + Returns a vector whose 2 elements are equal to zero. + A vector whose two elements are equal to zero (that is, it returns the vector (0,0). + + + Represents a vector with three single-precision floating-point values. + + + Creates a new object whose three elements have the same value. + The value to assign to all three elements. + + + Creates a new object from the specified object and the specified value. + The vector with two elements. + The additional value to assign to the field. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the cross product of two vectors. + The first vector. + The second vector. + The cross product. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of this vector object. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 3 elements are equal to one. + A vector whose three elements are equal to one (that is, it returns the vector (1,1,1). + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns the reflection of a vector off a surface that has the specified normal. + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a vector normal by the given 4x4 matrix. + The source vector. + The matrix. + The transformed vector. + + + Gets the vector (1,0,0). + The vector (1,0,0). + + + Gets the vector (0,1,0). + The vector (0,1,0).. + + + Gets the vector (0,0,1). + The vector (0,0,1). + + + The X component of the vector. + + + + The Y component of the vector. + + + + The Z component of the vector. + + + + Gets a vector whose 3 elements are equal to zero. + A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0). + + + Represents a vector with four single-precision floating-point values. + + + Creates a new object whose four elements have the same value. + The value to assign to all four elements. + + + Constructs a new object from the specified object and a W component. + The vector to use for the X, Y, and Z components. + The W component. + + + Creates a new object from the specified object and a Z and a W component. + The vector to use for the X and Y components. + The Z component. + The W component. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of this vector object. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 4 elements are equal to one. + Returns . + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a four-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a four-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a three-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a two-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a two-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a three-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Gets the vector (0,0,0,1). + The vector (0,0,0,1). + + + Gets the vector (1,0,0,0). + The vector (1,0,0,0). + + + Gets the vector (0,1,0,0). + The vector (0,1,0,0).. + + + Gets a vector whose 4 elements are equal to zero. + The vector (0,0,1,0). + + + The W component of the vector. + + + + The X component of the vector. + + + + The Y component of the vector. + + + + The Z component of the vector. + + + + Gets a vector whose 4 elements are equal to zero. + A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0). + + + \ No newline at end of file diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.dll new file mode 100644 index 0000000000000000000000000000000000000000..470f2f3914de206e0b2798009d357678ef8722e5 GIT binary patch literal 29320 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 Yr^~6C!y6LLKJL2U9vE%*L7fEt4=_Z06951J literal 0 HcmV?d00001 diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.xml b/packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.xml new file mode 100644 index 0000000..da34d39 --- /dev/null +++ b/packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.xml @@ -0,0 +1,2621 @@ + + + System.Numerics.Vectors + + + +

Represents a 3x2 matrix. + + + Creates a 3x2 matrix from the specified components. + The value to assign to the first element in the first row. + The value to assign to the second element in the first row. + The value to assign to the first element in the second row. + The value to assign to the second element in the second row. + The value to assign to the first element in the third row. + The value to assign to the second element in the third row. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values of value1 and value2. + + + Creates a rotation matrix using the given rotation in radians. + The amount of rotation, in radians. + The rotation matrix. + + + Creates a rotation matrix using the specified rotation in radians and a center point. + The amount of rotation, in radians. + The center point. + The rotation matrix. + + + Creates a scaling matrix from the specified X and Y components. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The scaling matrix. + + + Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center. + The uniform scale to use. + The center offset. + The scaling matrix. + + + Creates a scaling matrix that is offset by a given center point. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The center point. + The scaling matrix. + + + Creates a scaling matrix that scales uniformly with the given scale. + The uniform scale to use. + The scaling matrix. + + + Creates a scaling matrix from the specified vector scale. + The scale to use. + The scaling matrix. + + + Creates a scaling matrix from the specified vector scale with an offset from the specified center point. + The scale to use. + The center offset. + The scaling matrix. + + + Creates a skew matrix from the specified angles in radians. + The X angle, in radians. + The Y angle, in radians. + The skew matrix. + + + Creates a skew matrix from the specified angles in radians and a center point. + The X angle, in radians. + The Y angle, in radians. + The center point. + The skew matrix. + + + Creates a translation matrix from the specified 2-dimensional vector. + The translation position. + The translation matrix. + + + Creates a translation matrix from the specified X and Y components. + The X position. + The Y position. + The translation matrix. + + + Returns a value that indicates whether this instance and another 3x2 matrix are equal. + The other matrix. + true if the two matrices are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Calculates the determinant for this matrix. + The determinant. + + + Returns the hash code for this instance. + The hash code. + + + Gets the multiplicative identity matrix. + The multiplicative identify matrix. + + + Inverts the specified matrix. The return value indicates whether the operation succeeded. + The matrix to invert. + When this method returns, contains the inverted matrix if the operation succeeded. + true if matrix was converted successfully; otherwise, false. + + + Indicates whether the current matrix is the identity matrix. + true if the current matrix is the identity matrix; otherwise, false. + + + Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. + The first matrix. + The second matrix. + The relative weighting of matrix2. + The interpolated matrix. + + + The first element of the first row. + + + + The second element of the first row. + + + + The first element of the second row. + + + + The second element of the second row. + + + + The first element of the third row. + + + + The second element of the third row. + + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values. + + + Returns a value that indicates whether the specified matrices are equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether the specified matrices are not equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this matrix. + The string representation of this matrix. + + + Gets or sets the translation component of this matrix. + The translation component of the current instance. + + + Represents a 4x4 matrix. + + + Creates a object from a specified object. + A 3x2 matrix. + + + Creates a 4x4 matrix from the specified components. + The value to assign to the first element in the first row. + The value to assign to the second element in the first row. + The value to assign to the third element in the first row. + The value to assign to the fourth element in the first row. + The value to assign to the first element in the second row. + The value to assign to the second element in the second row. + The value to assign to the third element in the second row. + The value to assign to the third element in the second row. + The value to assign to the first element in the third row. + The value to assign to the second element in the third row. + The value to assign to the third element in the third row. + The value to assign to the fourth element in the third row. + The value to assign to the first element in the fourth row. + The value to assign to the second element in the fourth row. + The value to assign to the third element in the fourth row. + The value to assign to the fourth element in the fourth row. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values of value1 and value2. + + + Creates a spherical billboard that rotates around a specified object position. + The position of the object that the billboard will rotate around. + The position of the camera. + The up vector of the camera. + The forward vector of the camera. + The created billboard. + + + Creates a cylindrical billboard that rotates around a specified axis. + The position of the object that the billboard will rotate around. + The position of the camera. + The axis to rotate the billboard around. + The forward vector of the camera. + The forward vector of the object. + The billboard matrix. + + + Creates a matrix that rotates around an arbitrary vector. + The axis to rotate around. + The angle to rotate around axis, in radians. + The rotation matrix. + + + Creates a rotation matrix from the specified Quaternion rotation value. + The source Quaternion. + The rotation matrix. + + + Creates a rotation matrix from the specified yaw, pitch, and roll. + The angle of rotation, in radians, around the Y axis. + The angle of rotation, in radians, around the X axis. + The angle of rotation, in radians, around the Z axis. + The rotation matrix. + + + Creates a view matrix. + The position of the camera. + The target towards which the camera is pointing. + The direction that is &quot;up&quot; from the camera&#39;s point of view. + The view matrix. + + + Creates an orthographic perspective matrix from the given view volume dimensions. + The width of the view volume. + The height of the view volume. + The minimum Z-value of the view volume. + The maximum Z-value of the view volume. + The orthographic projection matrix. + + + Creates a customized orthographic projection matrix. + The minimum X-value of the view volume. + The maximum X-value of the view volume. + The minimum Y-value of the view volume. + The maximum Y-value of the view volume. + The minimum Z-value of the view volume. + The maximum Z-value of the view volume. + The orthographic projection matrix. + + + Creates a perspective projection matrix from the given view volume dimensions. + The width of the view volume at the near view plane. + The height of the view volume at the near view plane. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. + The field of view in the y direction, in radians. + The aspect ratio, defined as view space width divided by height. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + fieldOfView is less than or equal to zero. + -or- + fieldOfView is greater than or equal to . + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a customized perspective projection matrix. + The minimum x-value of the view volume at the near view plane. + The maximum x-value of the view volume at the near view plane. + The minimum y-value of the view volume at the near view plane. + The maximum y-value of the view volume at the near view plane. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a matrix that reflects the coordinate system about a specified plane. + The plane about which to create a reflection. + A new matrix expressing the reflection. + + + Creates a matrix for rotating points around the X axis. + The amount, in radians, by which to rotate around the X axis. + The rotation matrix. + + + Creates a matrix for rotating points around the X axis from a center point. + The amount, in radians, by which to rotate around the X axis. + The center point. + The rotation matrix. + + + The amount, in radians, by which to rotate around the Y axis from a center point. + The amount, in radians, by which to rotate around the Y-axis. + The center point. + The rotation matrix. + + + Creates a matrix for rotating points around the Y axis. + The amount, in radians, by which to rotate around the Y-axis. + The rotation matrix. + + + Creates a matrix for rotating points around the Z axis. + The amount, in radians, by which to rotate around the Z-axis. + The rotation matrix. + + + Creates a matrix for rotating points around the Z axis from a center point. + The amount, in radians, by which to rotate around the Z-axis. + The center point. + The rotation matrix. + + + Creates a scaling matrix from the specified vector scale. + The scale to use. + The scaling matrix. + + + Creates a uniform scaling matrix that scale equally on each axis. + The uniform scaling factor. + The scaling matrix. + + + Creates a scaling matrix with a center point. + The vector that contains the amount to scale on each axis. + The center point. + The scaling matrix. + + + Creates a uniform scaling matrix that scales equally on each axis with a center point. + The uniform scaling factor. + The center point. + The scaling matrix. + + + Creates a scaling matrix from the specified X, Y, and Z components. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The value to scale by on the Z axis. + The scaling matrix. + + + Creates a scaling matrix that is offset by a given center point. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The value to scale by on the Z axis. + The center point. + The scaling matrix. + + + Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. + The direction from which the light that will cast the shadow is coming. + The plane onto which the new matrix should flatten geometry so as to cast a shadow. + A new matrix that can be used to flatten geometry onto the specified plane from the specified direction. + + + Creates a translation matrix from the specified 3-dimensional vector. + The amount to translate in each axis. + The translation matrix. + + + Creates a translation matrix from the specified X, Y, and Z components. + The amount to translate on the X axis. + The amount to translate on the Y axis. + The amount to translate on the Z axis. + The translation matrix. + + + Creates a world matrix with the specified parameters. + The position of the object. + The forward direction of the object. + The upward direction of the object. Its value is usually [0, 1, 0]. + The world matrix. + + + Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded. + The source matrix. + When this method returns, contains the scaling component of the transformation matrix if the operation succeeded. + When this method returns, contains the rotation component of the transformation matrix if the operation succeeded. + When the method returns, contains the translation component of the transformation matrix if the operation succeeded. + true if matrix was decomposed successfully; otherwise, false. + + + Returns a value that indicates whether this instance and another 4x4 matrix are equal. + The other matrix. + true if the two matrices are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Calculates the determinant of the current 4x4 matrix. + The determinant. + + + Returns the hash code for this instance. + The hash code. + + + Gets the multiplicative identity matrix. + Gets the multiplicative identity matrix. + + + Inverts the specified matrix. The return value indicates whether the operation succeeded. + The matrix to invert. + When this method returns, contains the inverted matrix if the operation succeeded. + true if matrix was converted successfully; otherwise, false. + + + Indicates whether the current matrix is the identity matrix. + true if the current matrix is the identity matrix; otherwise, false. + + + Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. + The first matrix. + The second matrix. + The relative weighting of matrix2. + The interpolated matrix. + + + The first element of the first row. + + + + The second element of the first row. + + + + The third element of the first row. + + + + The fourth element of the first row. + + + + The first element of the second row. + + + + The second element of the second row. + + + + The third element of the second row. + + + + The fourth element of the second row. + + + + The first element of the third row. + + + + The second element of the third row. + + + + The third element of the third row. + + + + The fourth element of the third row. + + + + The first element of the fourth row. + + + + The second element of the fourth row. + + + + The third element of the fourth row. + + + + The fourth element of the fourth row. + + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values. + + + Returns a value that indicates whether the specified matrices are equal. + The first matrix to compare. + The second matrix to care + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether the specified matrices are not equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this matrix. + The string representation of this matrix. + + + Transforms the specified matrix by applying the specified Quaternion rotation. + The matrix to transform. + The rotation t apply. + The transformed matrix. + + + Gets or sets the translation component of this matrix. + The translation component of the current instance. + + + Transposes the rows and columns of a matrix. + The matrix to transpose. + The transposed matrix. + + + Represents a three-dimensional plane. + + + Creates a object from a specified four-dimensional vector. + A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin. + + + Creates a object from a specified normal and the distance along the normal from the origin. + The plane&#39;s normal vector. + The plane&#39;s distance from the origin along its normal vector. + + + Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal. + The X component of the normal. + The Y component of the normal. + The Z component of the normal. + The distance of the plane along its normal from the origin. + + + Creates a object that contains three specified points. + The first point defining the plane. + The second point defining the plane. + The third point defining the plane. + The plane containing the three points. + + + The distance of the plane along its normal from the origin. + + + + Calculates the dot product of a plane and a 4-dimensional vector. + The plane. + The four-dimensional vector. + The dot product. + + + Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane. + The plane. + The 3-dimensional vector. + The dot product. + + + Returns the dot product of a specified three-dimensional vector and the vector of this plane. + The plane. + The three-dimensional vector. + The dot product. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns a value that indicates whether this instance and another plane object are equal. + The other plane. + true if the two planes are equal; otherwise, false. + + + Returns the hash code for this instance. + The hash code. + + + The normal vector of the plane. + + + + Creates a new object whose normal vector is the source plane&#39;s normal vector normalized. + The source plane. + The normalized plane. + + + Returns a value that indicates whether two planes are equal. + The first plane to compare. + The second plane to compare. + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether two planes are not equal. + The first plane to compare. + The second plane to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the string representation of this plane object. + A string that represents this object. + + + Transforms a normalized plane by a 4x4 matrix. + The normalized plane to transform. + The transformation matrix to apply to plane. + The transformed plane. + + + Transforms a normalized plane by a Quaternion rotation. + The normalized plane to transform. + The Quaternion rotation to apply to the plane. + A new plane that results from applying the Quaternion rotation. + + + Represents a vector that is used to encode three-dimensional physical rotations. + + + Creates a quaternion from the specified vector and rotation parts. + The vector part of the quaternion. + The rotation part of the quaternion. + + + Constructs a quaternion from the specified components. + The value to assign to the X component of the quaternion. + The value to assign to the Y component of the quaternion. + The value to assign to the Z component of the quaternion. + The value to assign to the W component of the quaternion. + + + Adds each element in one quaternion with its corresponding element in a second quaternion. + The first quaternion. + The second quaternion. + The quaternion that contains the summed values of value1 and value2. + + + Concatenates two quaternions. + The first quaternion rotation in the series. + The second quaternion rotation in the series. + A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation. + + + Returns the conjugate of a specified quaternion. + The quaternion. + A new quaternion that is the conjugate of value. + + + Creates a quaternion from a vector and an angle to rotate about the vector. + The vector to rotate around. + The angle, in radians, to rotate around the vector. + The newly created quaternion. + + + Creates a quaternion from the specified rotation matrix. + The rotation matrix. + The newly created quaternion. + + + Creates a new quaternion from the given yaw, pitch, and roll. + The yaw angle, in radians, around the Y axis. + The pitch angle, in radians, around the X axis. + The roll angle, in radians, around the Z axis. + The resulting quaternion. + + + Divides one quaternion by a second quaternion. + The dividend. + The divisor. + The quaternion that results from dividing value1 by value2. + + + Calculates the dot product of two quaternions. + The first quaternion. + The second quaternion. + The dot product. + + + Returns a value that indicates whether this instance and another quaternion are equal. + The other quaternion. + true if the two quaternions are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Gets a quaternion that represents no rotation. + A quaternion whose values are (0, 0, 0, 1). + + + Returns the inverse of a quaternion. + The quaternion. + The inverted quaternion. + + + Gets a value that indicates whether the current instance is the identity quaternion. + true if the current instance is the identity quaternion; otherwise, false. + + + Calculates the length of the quaternion. + The computed length of the quaternion. + + + Calculates the squared length of the quaternion. + The length squared of the quaternion. + + + Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion. + The first quaternion. + The second quaternion. + The relative weight of quaternion2 in the interpolation. + The interpolated quaternion. + + + Returns the quaternion that results from multiplying two quaternions together. + The first quaternion. + The second quaternion. + The product quaternion. + + + Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. + The source quaternion. + The scalar value. + The scaled quaternion. + + + Reverses the sign of each component of the quaternion. + The quaternion to negate. + The negated quaternion. + + + Divides each component of a specified by its length. + The quaternion to normalize. + The normalized quaternion. + + + Adds each element in one quaternion with its corresponding element in a second quaternion. + The first quaternion. + The second quaternion. + The quaternion that contains the summed values of value1 and value2. + + + Divides one quaternion by a second quaternion. + The dividend. + The divisor. + The quaternion that results from dividing value1 by value2. + + + Returns a value that indicates whether two quaternions are equal. + The first quaternion to compare. + The second quaternion to compare. + true if the two quaternions are equal; otherwise, false. + + + Returns a value that indicates whether two quaternions are not equal. + The first quaternion to compare. + The second quaternion to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. + The source quaternion. + The scalar value. + The scaled quaternion. + + + Returns the quaternion that results from multiplying two quaternions together. + The first quaternion. + The second quaternion. + The product quaternion. + + + Subtracts each element in a second quaternion from its corresponding element in a first quaternion. + The first quaternion. + The second quaternion. + The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Reverses the sign of each component of the quaternion. + The quaternion to negate. + The negated quaternion. + + + Interpolates between two quaternions, using spherical linear interpolation. + The first quaternion. + The second quaternion. + The relative weight of the second quaternion in the interpolation. + The interpolated quaternion. + + + Subtracts each element in a second quaternion from its corresponding element in a first quaternion. + The first quaternion. + The second quaternion. + The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this quaternion. + The string representation of this quaternion. + + + The rotation component of the quaternion. + + + + The X value of the vector component of the quaternion. + + + + The Y value of the vector component of the quaternion. + + + + The Z value of the vector component of the quaternion. + + + + Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms. + The vector type. T can be any primitive numeric type. + + + Creates a vector whose components are of a specified type. + The numeric type that defines the type of the components in the vector. + + + Creates a vector from a specified array. + A numeric array. + values is null. + + + Creates a vector from a specified array starting at a specified index position. + A numeric array. + The starting index position from which to create the vector. + values is null. + index is less than zero. + -or- + The length of values minus index is less than . + + + Copies the vector instance to a specified destination array. + The array to receive a copy of the vector values. + destination is null. + The number of elements in the current vector is greater than the number of elements available in the destination array. + + + Copies the vector instance to a specified destination array starting at a specified index position. + The array to receive a copy of the vector values. + The starting index in destination at which to begin the copy operation. + destination is null. + The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array. + index is less than zero or greater than the last index in destination. + + + Returns the number of elements stored in the vector. + The number of elements stored in the vector. + Access to the property getter via reflection is not supported. + + + Returns a value that indicates whether this instance is equal to a specified vector. + The vector to compare with this instance. + true if the current instance and other are equal; otherwise, false. + + + Returns a value that indicates whether this instance is equal to a specified object. + The object to compare with this instance. + true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance. + + + Returns the hash code for this instance. + The hash code. + + + Gets the element at a specified index. + The index of the element to return. + The element at index index. + index is less than zero. + -or- + index is greater than or equal to . + + + Returns a vector containing all ones. + A vector containing all ones. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Returns a new vector by performing a bitwise And operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise And of left and right. + + + Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise Or of the elements in left and right. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Returns a value that indicates whether each pair of elements in two specified vectors are equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise XOr of the elements in left and right. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Returns a value that indicates whether any single pair of elements in the specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if any element pairs in left and right are equal. false if no element pairs are equal. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar value. + The source vector. + A scalar value. + The scaled vector. + + + Multiplies a vector by the given scalar. + The scalar value. + The source vector. + The scaled vector. + + + Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. + The source vector. + The one&#39;s complement vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates a given vector. + The vector to negate. + The negated vector. + + + Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Returns the string representation of this vector using default formatting. + The string representation of this vector. + + + Returns the string representation of this vector using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns a vector containing all zeroes. + A vector containing all zeroes. + + + Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors. + + + Returns a new vector whose elements are the absolute values of the given vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The absolute value vector. + + + Returns a new vector whose values are the sum of each pair of elements from two given vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The summed vector. + + + Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned bytes. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a double-precision floating-point vector. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of 16-bit integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of long integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of signed bytes. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a single-precision floating-point vector. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned long integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The vector type. T can be any primitive numeric type. + The new vector with elements selected based on the mask. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector whose values are the result of dividing the first vector&#39;s elements by the corresponding elements in the second vector. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The divided vector. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The dot product. + + + Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether each pair of elements in the given vectors is equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left and right are equal; otherwise, false. + + + Returns a value that indicates whether any single pair of elements in the given vectors is equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element pair in left and right is equal; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left are greater than the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is greater than the corresponding element in right; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is greater than or equal to the corresponding element in right; otherwise, false. + + + Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support. + true if vector operations are subject to hardware acceleration; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all of the elements in left are less than the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is less than the corresponding element in right; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is less than or equal to the corresponding element in right; otherwise, false. + + + Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The maximum vector. + + + Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The minimum vector. + + + Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector. + The scalar value. + The vector. + The vector type. T can be any primitive numeric type. + The scaled vector. + + + Returns a new vector whose values are the product of each pair of elements in two specified vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The product vector. + + + Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value. + The vector. + The scalar value. + The vector type. T can be any primitive numeric type. + The scaled vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector whose elements are the negation of the corresponding element in the specified vector. + The source vector. + The vector type. T can be any primitive numeric type. + The negated vector. + + + Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a new vector whose elements are the square roots of a specified vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The square root vector. + + + Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The difference vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Represents a vector with two single-precision floating-point values. + + + Creates a new object whose two elements have the same value. + The value to assign to both elements. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of the vector. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 2 elements are equal to one. + A vector whose two elements are equal to one (that is, it returns the vector (1,1). + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns the reflection of a vector off a surface that has the specified normal. + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a vector by a specified 3x2 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a vector normal by the given 3x2 matrix. + The source vector. + The matrix. + The transformed vector. + + + Transforms a vector normal by the given 4x4 matrix. + The source vector. + The matrix. + The transformed vector. + + + Gets the vector (1,0). + The vector (1,0). + + + Gets the vector (0,1). + The vector (0,1). + + + The X component of the vector. + + + + The Y component of the vector. + + + + Returns a vector whose 2 elements are equal to zero. + A vector whose two elements are equal to zero (that is, it returns the vector (0,0). + + + Represents a vector with three single-precision floating-point values. + + + Creates a new object whose three elements have the same value. + The value to assign to all three elements. + + + Creates a new object from the specified object and the specified value. + The vector with two elements. + The additional value to assign to the field. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the cross product of two vectors. + The first vector. + The second vector. + The cross product. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of this vector object. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 3 elements are equal to one. + A vector whose three elements are equal to one (that is, it returns the vector (1,1,1). + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns the reflection of a vector off a surface that has the specified normal. + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a vector normal by the given 4x4 matrix. + The source vector. + The matrix. + The transformed vector. + + + Gets the vector (1,0,0). + The vector (1,0,0). + + + Gets the vector (0,1,0). + The vector (0,1,0).. + + + Gets the vector (0,0,1). + The vector (0,0,1). + + + The X component of the vector. + + + + The Y component of the vector. + + + + The Z component of the vector. + + + + Gets a vector whose 3 elements are equal to zero. + A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0). + + + Represents a vector with four single-precision floating-point values. + + + Creates a new object whose four elements have the same value. + The value to assign to all four elements. + + + Constructs a new object from the specified object and a W component. + The vector to use for the X, Y, and Z components. + The W component. + + + Creates a new object from the specified object and a Z and a W component. + The vector to use for the X and Y components. + The Z component. + The W component. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of this vector object. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 4 elements are equal to one. + Returns . + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a four-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a four-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a three-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a two-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a two-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a three-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Gets the vector (0,0,0,1). + The vector (0,0,0,1). + + + Gets the vector (1,0,0,0). + The vector (1,0,0,0). + + + Gets the vector (0,1,0,0). + The vector (0,1,0,0).. + + + Gets a vector whose 4 elements are equal to zero. + The vector (0,0,1,0). + + + The W component of the vector. + + + + The X component of the vector. + + + + The Y component of the vector. + + + + The Z component of the vector. + + + + Gets a vector whose 4 elements are equal to zero. + A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0). + + + \ No newline at end of file diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/netcoreapp2.0/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/netcoreapp2.0/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/netstandard1.0/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/ref/netstandard1.0/System.Numerics.Vectors.dll new file mode 100644 index 0000000000000000000000000000000000000000..d174da04775207dbbcc5c6959f409cfc37ae7855 GIT binary patch literal 38272 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 Yl1)(0QQ@d8!Ka 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 + + System.Numerics.Vectors + + + + Represents a 3x2 matrix. + + + Creates a 3x2 matrix from the specified components. + The value to assign to the first element in the first row. + The value to assign to the second element in the first row. + The value to assign to the first element in the second row. + The value to assign to the second element in the second row. + The value to assign to the first element in the third row. + The value to assign to the second element in the third row. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values of value1 and value2. + + + Creates a rotation matrix using the given rotation in radians. + The amount of rotation, in radians. + The rotation matrix. + + + Creates a rotation matrix using the specified rotation in radians and a center point. + The amount of rotation, in radians. + The center point. + The rotation matrix. + + + Creates a scaling matrix from the specified X and Y components. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The scaling matrix. + + + Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center. + The uniform scale to use. + The center offset. + The scaling matrix. + + + Creates a scaling matrix that is offset by a given center point. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The center point. + The scaling matrix. + + + Creates a scaling matrix that scales uniformly with the given scale. + The uniform scale to use. + The scaling matrix. + + + Creates a scaling matrix from the specified vector scale. + The scale to use. + The scaling matrix. + + + Creates a scaling matrix from the specified vector scale with an offset from the specified center point. + The scale to use. + The center offset. + The scaling matrix. + + + Creates a skew matrix from the specified angles in radians. + The X angle, in radians. + The Y angle, in radians. + The skew matrix. + + + Creates a skew matrix from the specified angles in radians and a center point. + The X angle, in radians. + The Y angle, in radians. + The center point. + The skew matrix. + + + Creates a translation matrix from the specified 2-dimensional vector. + The translation position. + The translation matrix. + + + Creates a translation matrix from the specified X and Y components. + The X position. + The Y position. + The translation matrix. + + + Returns a value that indicates whether this instance and another 3x2 matrix are equal. + The other matrix. + true if the two matrices are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Calculates the determinant for this matrix. + The determinant. + + + Returns the hash code for this instance. + The hash code. + + + Gets the multiplicative identity matrix. + The multiplicative identify matrix. + + + Inverts the specified matrix. The return value indicates whether the operation succeeded. + The matrix to invert. + When this method returns, contains the inverted matrix if the operation succeeded. + true if matrix was converted successfully; otherwise, false. + + + Indicates whether the current matrix is the identity matrix. + true if the current matrix is the identity matrix; otherwise, false. + + + Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. + The first matrix. + The second matrix. + The relative weighting of matrix2. + The interpolated matrix. + + + The first element of the first row. + + + + The second element of the first row. + + + + The first element of the second row. + + + + The second element of the second row. + + + + The first element of the third row. + + + + The second element of the third row. + + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values. + + + Returns a value that indicates whether the specified matrices are equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether the specified matrices are not equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this matrix. + The string representation of this matrix. + + + Gets or sets the translation component of this matrix. + The translation component of the current instance. + + + Represents a 4x4 matrix. + + + Creates a object from a specified object. + A 3x2 matrix. + + + Creates a 4x4 matrix from the specified components. + The value to assign to the first element in the first row. + The value to assign to the second element in the first row. + The value to assign to the third element in the first row. + The value to assign to the fourth element in the first row. + The value to assign to the first element in the second row. + The value to assign to the second element in the second row. + The value to assign to the third element in the second row. + The value to assign to the third element in the second row. + The value to assign to the first element in the third row. + The value to assign to the second element in the third row. + The value to assign to the third element in the third row. + The value to assign to the fourth element in the third row. + The value to assign to the first element in the fourth row. + The value to assign to the second element in the fourth row. + The value to assign to the third element in the fourth row. + The value to assign to the fourth element in the fourth row. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values of value1 and value2. + + + Creates a spherical billboard that rotates around a specified object position. + The position of the object that the billboard will rotate around. + The position of the camera. + The up vector of the camera. + The forward vector of the camera. + The created billboard. + + + Creates a cylindrical billboard that rotates around a specified axis. + The position of the object that the billboard will rotate around. + The position of the camera. + The axis to rotate the billboard around. + The forward vector of the camera. + The forward vector of the object. + The billboard matrix. + + + Creates a matrix that rotates around an arbitrary vector. + The axis to rotate around. + The angle to rotate around axis, in radians. + The rotation matrix. + + + Creates a rotation matrix from the specified Quaternion rotation value. + The source Quaternion. + The rotation matrix. + + + Creates a rotation matrix from the specified yaw, pitch, and roll. + The angle of rotation, in radians, around the Y axis. + The angle of rotation, in radians, around the X axis. + The angle of rotation, in radians, around the Z axis. + The rotation matrix. + + + Creates a view matrix. + The position of the camera. + The target towards which the camera is pointing. + The direction that is &quot;up&quot; from the camera&#39;s point of view. + The view matrix. + + + Creates an orthographic perspective matrix from the given view volume dimensions. + The width of the view volume. + The height of the view volume. + The minimum Z-value of the view volume. + The maximum Z-value of the view volume. + The orthographic projection matrix. + + + Creates a customized orthographic projection matrix. + The minimum X-value of the view volume. + The maximum X-value of the view volume. + The minimum Y-value of the view volume. + The maximum Y-value of the view volume. + The minimum Z-value of the view volume. + The maximum Z-value of the view volume. + The orthographic projection matrix. + + + Creates a perspective projection matrix from the given view volume dimensions. + The width of the view volume at the near view plane. + The height of the view volume at the near view plane. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. + The field of view in the y direction, in radians. + The aspect ratio, defined as view space width divided by height. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + fieldOfView is less than or equal to zero. + -or- + fieldOfView is greater than or equal to . + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a customized perspective projection matrix. + The minimum x-value of the view volume at the near view plane. + The maximum x-value of the view volume at the near view plane. + The minimum y-value of the view volume at the near view plane. + The maximum y-value of the view volume at the near view plane. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a matrix that reflects the coordinate system about a specified plane. + The plane about which to create a reflection. + A new matrix expressing the reflection. + + + Creates a matrix for rotating points around the X axis. + The amount, in radians, by which to rotate around the X axis. + The rotation matrix. + + + Creates a matrix for rotating points around the X axis from a center point. + The amount, in radians, by which to rotate around the X axis. + The center point. + The rotation matrix. + + + The amount, in radians, by which to rotate around the Y axis from a center point. + The amount, in radians, by which to rotate around the Y-axis. + The center point. + The rotation matrix. + + + Creates a matrix for rotating points around the Y axis. + The amount, in radians, by which to rotate around the Y-axis. + The rotation matrix. + + + Creates a matrix for rotating points around the Z axis. + The amount, in radians, by which to rotate around the Z-axis. + The rotation matrix. + + + Creates a matrix for rotating points around the Z axis from a center point. + The amount, in radians, by which to rotate around the Z-axis. + The center point. + The rotation matrix. + + + Creates a scaling matrix from the specified vector scale. + The scale to use. + The scaling matrix. + + + Creates a uniform scaling matrix that scale equally on each axis. + The uniform scaling factor. + The scaling matrix. + + + Creates a scaling matrix with a center point. + The vector that contains the amount to scale on each axis. + The center point. + The scaling matrix. + + + Creates a uniform scaling matrix that scales equally on each axis with a center point. + The uniform scaling factor. + The center point. + The scaling matrix. + + + Creates a scaling matrix from the specified X, Y, and Z components. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The value to scale by on the Z axis. + The scaling matrix. + + + Creates a scaling matrix that is offset by a given center point. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The value to scale by on the Z axis. + The center point. + The scaling matrix. + + + Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. + The direction from which the light that will cast the shadow is coming. + The plane onto which the new matrix should flatten geometry so as to cast a shadow. + A new matrix that can be used to flatten geometry onto the specified plane from the specified direction. + + + Creates a translation matrix from the specified 3-dimensional vector. + The amount to translate in each axis. + The translation matrix. + + + Creates a translation matrix from the specified X, Y, and Z components. + The amount to translate on the X axis. + The amount to translate on the Y axis. + The amount to translate on the Z axis. + The translation matrix. + + + Creates a world matrix with the specified parameters. + The position of the object. + The forward direction of the object. + The upward direction of the object. Its value is usually [0, 1, 0]. + The world matrix. + + + Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded. + The source matrix. + When this method returns, contains the scaling component of the transformation matrix if the operation succeeded. + When this method returns, contains the rotation component of the transformation matrix if the operation succeeded. + When the method returns, contains the translation component of the transformation matrix if the operation succeeded. + true if matrix was decomposed successfully; otherwise, false. + + + Returns a value that indicates whether this instance and another 4x4 matrix are equal. + The other matrix. + true if the two matrices are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Calculates the determinant of the current 4x4 matrix. + The determinant. + + + Returns the hash code for this instance. + The hash code. + + + Gets the multiplicative identity matrix. + Gets the multiplicative identity matrix. + + + Inverts the specified matrix. The return value indicates whether the operation succeeded. + The matrix to invert. + When this method returns, contains the inverted matrix if the operation succeeded. + true if matrix was converted successfully; otherwise, false. + + + Indicates whether the current matrix is the identity matrix. + true if the current matrix is the identity matrix; otherwise, false. + + + Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. + The first matrix. + The second matrix. + The relative weighting of matrix2. + The interpolated matrix. + + + The first element of the first row. + + + + The second element of the first row. + + + + The third element of the first row. + + + + The fourth element of the first row. + + + + The first element of the second row. + + + + The second element of the second row. + + + + The third element of the second row. + + + + The fourth element of the second row. + + + + The first element of the third row. + + + + The second element of the third row. + + + + The third element of the third row. + + + + The fourth element of the third row. + + + + The first element of the fourth row. + + + + The second element of the fourth row. + + + + The third element of the fourth row. + + + + The fourth element of the fourth row. + + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values. + + + Returns a value that indicates whether the specified matrices are equal. + The first matrix to compare. + The second matrix to care + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether the specified matrices are not equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this matrix. + The string representation of this matrix. + + + Transforms the specified matrix by applying the specified Quaternion rotation. + The matrix to transform. + The rotation t apply. + The transformed matrix. + + + Gets or sets the translation component of this matrix. + The translation component of the current instance. + + + Transposes the rows and columns of a matrix. + The matrix to transpose. + The transposed matrix. + + + Represents a three-dimensional plane. + + + Creates a object from a specified four-dimensional vector. + A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin. + + + Creates a object from a specified normal and the distance along the normal from the origin. + The plane&#39;s normal vector. + The plane&#39;s distance from the origin along its normal vector. + + + Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal. + The X component of the normal. + The Y component of the normal. + The Z component of the normal. + The distance of the plane along its normal from the origin. + + + Creates a object that contains three specified points. + The first point defining the plane. + The second point defining the plane. + The third point defining the plane. + The plane containing the three points. + + + The distance of the plane along its normal from the origin. + + + + Calculates the dot product of a plane and a 4-dimensional vector. + The plane. + The four-dimensional vector. + The dot product. + + + Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane. + The plane. + The 3-dimensional vector. + The dot product. + + + Returns the dot product of a specified three-dimensional vector and the vector of this plane. + The plane. + The three-dimensional vector. + The dot product. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns a value that indicates whether this instance and another plane object are equal. + The other plane. + true if the two planes are equal; otherwise, false. + + + Returns the hash code for this instance. + The hash code. + + + The normal vector of the plane. + + + + Creates a new object whose normal vector is the source plane&#39;s normal vector normalized. + The source plane. + The normalized plane. + + + Returns a value that indicates whether two planes are equal. + The first plane to compare. + The second plane to compare. + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether two planes are not equal. + The first plane to compare. + The second plane to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the string representation of this plane object. + A string that represents this object. + + + Transforms a normalized plane by a 4x4 matrix. + The normalized plane to transform. + The transformation matrix to apply to plane. + The transformed plane. + + + Transforms a normalized plane by a Quaternion rotation. + The normalized plane to transform. + The Quaternion rotation to apply to the plane. + A new plane that results from applying the Quaternion rotation. + + + Represents a vector that is used to encode three-dimensional physical rotations. + + + Creates a quaternion from the specified vector and rotation parts. + The vector part of the quaternion. + The rotation part of the quaternion. + + + Constructs a quaternion from the specified components. + The value to assign to the X component of the quaternion. + The value to assign to the Y component of the quaternion. + The value to assign to the Z component of the quaternion. + The value to assign to the W component of the quaternion. + + + Adds each element in one quaternion with its corresponding element in a second quaternion. + The first quaternion. + The second quaternion. + The quaternion that contains the summed values of value1 and value2. + + + Concatenates two quaternions. + The first quaternion rotation in the series. + The second quaternion rotation in the series. + A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation. + + + Returns the conjugate of a specified quaternion. + The quaternion. + A new quaternion that is the conjugate of value. + + + Creates a quaternion from a vector and an angle to rotate about the vector. + The vector to rotate around. + The angle, in radians, to rotate around the vector. + The newly created quaternion. + + + Creates a quaternion from the specified rotation matrix. + The rotation matrix. + The newly created quaternion. + + + Creates a new quaternion from the given yaw, pitch, and roll. + The yaw angle, in radians, around the Y axis. + The pitch angle, in radians, around the X axis. + The roll angle, in radians, around the Z axis. + The resulting quaternion. + + + Divides one quaternion by a second quaternion. + The dividend. + The divisor. + The quaternion that results from dividing value1 by value2. + + + Calculates the dot product of two quaternions. + The first quaternion. + The second quaternion. + The dot product. + + + Returns a value that indicates whether this instance and another quaternion are equal. + The other quaternion. + true if the two quaternions are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Gets a quaternion that represents no rotation. + A quaternion whose values are (0, 0, 0, 1). + + + Returns the inverse of a quaternion. + The quaternion. + The inverted quaternion. + + + Gets a value that indicates whether the current instance is the identity quaternion. + true if the current instance is the identity quaternion; otherwise, false. + + + Calculates the length of the quaternion. + The computed length of the quaternion. + + + Calculates the squared length of the quaternion. + The length squared of the quaternion. + + + Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion. + The first quaternion. + The second quaternion. + The relative weight of quaternion2 in the interpolation. + The interpolated quaternion. + + + Returns the quaternion that results from multiplying two quaternions together. + The first quaternion. + The second quaternion. + The product quaternion. + + + Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. + The source quaternion. + The scalar value. + The scaled quaternion. + + + Reverses the sign of each component of the quaternion. + The quaternion to negate. + The negated quaternion. + + + Divides each component of a specified by its length. + The quaternion to normalize. + The normalized quaternion. + + + Adds each element in one quaternion with its corresponding element in a second quaternion. + The first quaternion. + The second quaternion. + The quaternion that contains the summed values of value1 and value2. + + + Divides one quaternion by a second quaternion. + The dividend. + The divisor. + The quaternion that results from dividing value1 by value2. + + + Returns a value that indicates whether two quaternions are equal. + The first quaternion to compare. + The second quaternion to compare. + true if the two quaternions are equal; otherwise, false. + + + Returns a value that indicates whether two quaternions are not equal. + The first quaternion to compare. + The second quaternion to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. + The source quaternion. + The scalar value. + The scaled quaternion. + + + Returns the quaternion that results from multiplying two quaternions together. + The first quaternion. + The second quaternion. + The product quaternion. + + + Subtracts each element in a second quaternion from its corresponding element in a first quaternion. + The first quaternion. + The second quaternion. + The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Reverses the sign of each component of the quaternion. + The quaternion to negate. + The negated quaternion. + + + Interpolates between two quaternions, using spherical linear interpolation. + The first quaternion. + The second quaternion. + The relative weight of the second quaternion in the interpolation. + The interpolated quaternion. + + + Subtracts each element in a second quaternion from its corresponding element in a first quaternion. + The first quaternion. + The second quaternion. + The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this quaternion. + The string representation of this quaternion. + + + The rotation component of the quaternion. + + + + The X value of the vector component of the quaternion. + + + + The Y value of the vector component of the quaternion. + + + + The Z value of the vector component of the quaternion. + + + + Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms. + The vector type. T can be any primitive numeric type. + + + Creates a vector whose components are of a specified type. + The numeric type that defines the type of the components in the vector. + + + Creates a vector from a specified array. + A numeric array. + values is null. + + + Creates a vector from a specified array starting at a specified index position. + A numeric array. + The starting index position from which to create the vector. + values is null. + index is less than zero. + -or- + The length of values minus index is less than . + + + Copies the vector instance to a specified destination array. + The array to receive a copy of the vector values. + destination is null. + The number of elements in the current vector is greater than the number of elements available in the destination array. + + + Copies the vector instance to a specified destination array starting at a specified index position. + The array to receive a copy of the vector values. + The starting index in destination at which to begin the copy operation. + destination is null. + The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array. + index is less than zero or greater than the last index in destination. + + + Returns the number of elements stored in the vector. + The number of elements stored in the vector. + Access to the property getter via reflection is not supported. + + + Returns a value that indicates whether this instance is equal to a specified vector. + The vector to compare with this instance. + true if the current instance and other are equal; otherwise, false. + + + Returns a value that indicates whether this instance is equal to a specified object. + The object to compare with this instance. + true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance. + + + Returns the hash code for this instance. + The hash code. + + + Gets the element at a specified index. + The index of the element to return. + The element at index index. + index is less than zero. + -or- + index is greater than or equal to . + + + Returns a vector containing all ones. + A vector containing all ones. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Returns a new vector by performing a bitwise And operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise And of left and right. + + + Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise Or of the elements in left and right. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Returns a value that indicates whether each pair of elements in two specified vectors are equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise XOr of the elements in left and right. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Returns a value that indicates whether any single pair of elements in the specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if any element pairs in left and right are equal. false if no element pairs are equal. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar value. + The source vector. + A scalar value. + The scaled vector. + + + Multiplies a vector by the given scalar. + The scalar value. + The source vector. + The scaled vector. + + + Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. + The source vector. + The one&#39;s complement vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates a given vector. + The vector to negate. + The negated vector. + + + Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Returns the string representation of this vector using default formatting. + The string representation of this vector. + + + Returns the string representation of this vector using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns a vector containing all zeroes. + A vector containing all zeroes. + + + Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors. + + + Returns a new vector whose elements are the absolute values of the given vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The absolute value vector. + + + Returns a new vector whose values are the sum of each pair of elements from two given vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The summed vector. + + + Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned bytes. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a double-precision floating-point vector. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of 16-bit integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of long integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of signed bytes. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a single-precision floating-point vector. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned long integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The vector type. T can be any primitive numeric type. + The new vector with elements selected based on the mask. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector whose values are the result of dividing the first vector&#39;s elements by the corresponding elements in the second vector. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The divided vector. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The dot product. + + + Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether each pair of elements in the given vectors is equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left and right are equal; otherwise, false. + + + Returns a value that indicates whether any single pair of elements in the given vectors is equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element pair in left and right is equal; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left are greater than the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is greater than the corresponding element in right; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is greater than or equal to the corresponding element in right; otherwise, false. + + + Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support. + true if vector operations are subject to hardware acceleration; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all of the elements in left are less than the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is less than the corresponding element in right; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is less than or equal to the corresponding element in right; otherwise, false. + + + Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The maximum vector. + + + Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The minimum vector. + + + Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector. + The scalar value. + The vector. + The vector type. T can be any primitive numeric type. + The scaled vector. + + + Returns a new vector whose values are the product of each pair of elements in two specified vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The product vector. + + + Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value. + The vector. + The scalar value. + The vector type. T can be any primitive numeric type. + The scaled vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector whose elements are the negation of the corresponding element in the specified vector. + The source vector. + The vector type. T can be any primitive numeric type. + The negated vector. + + + Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a new vector whose elements are the square roots of a specified vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The square root vector. + + + Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The difference vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Represents a vector with two single-precision floating-point values. + + + Creates a new object whose two elements have the same value. + The value to assign to both elements. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of the vector. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 2 elements are equal to one. + A vector whose two elements are equal to one (that is, it returns the vector (1,1). + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns the reflection of a vector off a surface that has the specified normal. + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a vector by a specified 3x2 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a vector normal by the given 3x2 matrix. + The source vector. + The matrix. + The transformed vector. + + + Transforms a vector normal by the given 4x4 matrix. + The source vector. + The matrix. + The transformed vector. + + + Gets the vector (1,0). + The vector (1,0). + + + Gets the vector (0,1). + The vector (0,1). + + + The X component of the vector. + + + + The Y component of the vector. + + + + Returns a vector whose 2 elements are equal to zero. + A vector whose two elements are equal to zero (that is, it returns the vector (0,0). + + + Represents a vector with three single-precision floating-point values. + + + Creates a new object whose three elements have the same value. + The value to assign to all three elements. + + + Creates a new object from the specified object and the specified value. + The vector with two elements. + The additional value to assign to the field. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the cross product of two vectors. + The first vector. + The second vector. + The cross product. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of this vector object. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 3 elements are equal to one. + A vector whose three elements are equal to one (that is, it returns the vector (1,1,1). + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns the reflection of a vector off a surface that has the specified normal. + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a vector normal by the given 4x4 matrix. + The source vector. + The matrix. + The transformed vector. + + + Gets the vector (1,0,0). + The vector (1,0,0). + + + Gets the vector (0,1,0). + The vector (0,1,0).. + + + Gets the vector (0,0,1). + The vector (0,0,1). + + + The X component of the vector. + + + + The Y component of the vector. + + + + The Z component of the vector. + + + + Gets a vector whose 3 elements are equal to zero. + A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0). + + + Represents a vector with four single-precision floating-point values. + + + Creates a new object whose four elements have the same value. + The value to assign to all four elements. + + + Constructs a new object from the specified object and a W component. + The vector to use for the X, Y, and Z components. + The W component. + + + Creates a new object from the specified object and a Z and a W component. + The vector to use for the X and Y components. + The Z component. + The W component. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of this vector object. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 4 elements are equal to one. + Returns . + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a four-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a four-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a three-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a two-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a two-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a three-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Gets the vector (0,0,0,1). + The vector (0,0,0,1). + + + Gets the vector (1,0,0,0). + The vector (1,0,0,0). + + + Gets the vector (0,1,0,0). + The vector (0,1,0,0).. + + + Gets a vector whose 4 elements are equal to zero. + The vector (0,0,1,0). + + + The W component of the vector. + + + + The X component of the vector. + + + + The Y component of the vector. + + + + The Z component of the vector. + + + + Gets a vector whose 4 elements are equal to zero. + A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0). + + + \ No newline at end of file diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/netstandard2.0/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/ref/netstandard2.0/System.Numerics.Vectors.dll new file mode 100644 index 0000000000000000000000000000000000000000..ba0aa0cf6c56a5edd990cca24ab6588cb4d49269 GIT binary patch literal 38272 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 nH8*R}rZFpL?989k;?kV + + System.Numerics.Vectors + + + +

Represents a 3x2 matrix. + + + Creates a 3x2 matrix from the specified components. + The value to assign to the first element in the first row. + The value to assign to the second element in the first row. + The value to assign to the first element in the second row. + The value to assign to the second element in the second row. + The value to assign to the first element in the third row. + The value to assign to the second element in the third row. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values of value1 and value2. + + + Creates a rotation matrix using the given rotation in radians. + The amount of rotation, in radians. + The rotation matrix. + + + Creates a rotation matrix using the specified rotation in radians and a center point. + The amount of rotation, in radians. + The center point. + The rotation matrix. + + + Creates a scaling matrix from the specified X and Y components. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The scaling matrix. + + + Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center. + The uniform scale to use. + The center offset. + The scaling matrix. + + + Creates a scaling matrix that is offset by a given center point. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The center point. + The scaling matrix. + + + Creates a scaling matrix that scales uniformly with the given scale. + The uniform scale to use. + The scaling matrix. + + + Creates a scaling matrix from the specified vector scale. + The scale to use. + The scaling matrix. + + + Creates a scaling matrix from the specified vector scale with an offset from the specified center point. + The scale to use. + The center offset. + The scaling matrix. + + + Creates a skew matrix from the specified angles in radians. + The X angle, in radians. + The Y angle, in radians. + The skew matrix. + + + Creates a skew matrix from the specified angles in radians and a center point. + The X angle, in radians. + The Y angle, in radians. + The center point. + The skew matrix. + + + Creates a translation matrix from the specified 2-dimensional vector. + The translation position. + The translation matrix. + + + Creates a translation matrix from the specified X and Y components. + The X position. + The Y position. + The translation matrix. + + + Returns a value that indicates whether this instance and another 3x2 matrix are equal. + The other matrix. + true if the two matrices are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Calculates the determinant for this matrix. + The determinant. + + + Returns the hash code for this instance. + The hash code. + + + Gets the multiplicative identity matrix. + The multiplicative identify matrix. + + + Inverts the specified matrix. The return value indicates whether the operation succeeded. + The matrix to invert. + When this method returns, contains the inverted matrix if the operation succeeded. + true if matrix was converted successfully; otherwise, false. + + + Indicates whether the current matrix is the identity matrix. + true if the current matrix is the identity matrix; otherwise, false. + + + Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. + The first matrix. + The second matrix. + The relative weighting of matrix2. + The interpolated matrix. + + + The first element of the first row. + + + + The second element of the first row. + + + + The first element of the second row. + + + + The second element of the second row. + + + + The first element of the third row. + + + + The second element of the third row. + + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values. + + + Returns a value that indicates whether the specified matrices are equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether the specified matrices are not equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this matrix. + The string representation of this matrix. + + + Gets or sets the translation component of this matrix. + The translation component of the current instance. + + + Represents a 4x4 matrix. + + + Creates a object from a specified object. + A 3x2 matrix. + + + Creates a 4x4 matrix from the specified components. + The value to assign to the first element in the first row. + The value to assign to the second element in the first row. + The value to assign to the third element in the first row. + The value to assign to the fourth element in the first row. + The value to assign to the first element in the second row. + The value to assign to the second element in the second row. + The value to assign to the third element in the second row. + The value to assign to the third element in the second row. + The value to assign to the first element in the third row. + The value to assign to the second element in the third row. + The value to assign to the third element in the third row. + The value to assign to the fourth element in the third row. + The value to assign to the first element in the fourth row. + The value to assign to the second element in the fourth row. + The value to assign to the third element in the fourth row. + The value to assign to the fourth element in the fourth row. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values of value1 and value2. + + + Creates a spherical billboard that rotates around a specified object position. + The position of the object that the billboard will rotate around. + The position of the camera. + The up vector of the camera. + The forward vector of the camera. + The created billboard. + + + Creates a cylindrical billboard that rotates around a specified axis. + The position of the object that the billboard will rotate around. + The position of the camera. + The axis to rotate the billboard around. + The forward vector of the camera. + The forward vector of the object. + The billboard matrix. + + + Creates a matrix that rotates around an arbitrary vector. + The axis to rotate around. + The angle to rotate around axis, in radians. + The rotation matrix. + + + Creates a rotation matrix from the specified Quaternion rotation value. + The source Quaternion. + The rotation matrix. + + + Creates a rotation matrix from the specified yaw, pitch, and roll. + The angle of rotation, in radians, around the Y axis. + The angle of rotation, in radians, around the X axis. + The angle of rotation, in radians, around the Z axis. + The rotation matrix. + + + Creates a view matrix. + The position of the camera. + The target towards which the camera is pointing. + The direction that is &quot;up&quot; from the camera&#39;s point of view. + The view matrix. + + + Creates an orthographic perspective matrix from the given view volume dimensions. + The width of the view volume. + The height of the view volume. + The minimum Z-value of the view volume. + The maximum Z-value of the view volume. + The orthographic projection matrix. + + + Creates a customized orthographic projection matrix. + The minimum X-value of the view volume. + The maximum X-value of the view volume. + The minimum Y-value of the view volume. + The maximum Y-value of the view volume. + The minimum Z-value of the view volume. + The maximum Z-value of the view volume. + The orthographic projection matrix. + + + Creates a perspective projection matrix from the given view volume dimensions. + The width of the view volume at the near view plane. + The height of the view volume at the near view plane. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. + The field of view in the y direction, in radians. + The aspect ratio, defined as view space width divided by height. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + fieldOfView is less than or equal to zero. + -or- + fieldOfView is greater than or equal to . + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a customized perspective projection matrix. + The minimum x-value of the view volume at the near view plane. + The maximum x-value of the view volume at the near view plane. + The minimum y-value of the view volume at the near view plane. + The maximum y-value of the view volume at the near view plane. + The distance to the near view plane. + The distance to the far view plane. + The perspective projection matrix. + nearPlaneDistance is less than or equal to zero. + -or- + farPlaneDistance is less than or equal to zero. + -or- + nearPlaneDistance is greater than or equal to farPlaneDistance. + + + Creates a matrix that reflects the coordinate system about a specified plane. + The plane about which to create a reflection. + A new matrix expressing the reflection. + + + Creates a matrix for rotating points around the X axis. + The amount, in radians, by which to rotate around the X axis. + The rotation matrix. + + + Creates a matrix for rotating points around the X axis from a center point. + The amount, in radians, by which to rotate around the X axis. + The center point. + The rotation matrix. + + + The amount, in radians, by which to rotate around the Y axis from a center point. + The amount, in radians, by which to rotate around the Y-axis. + The center point. + The rotation matrix. + + + Creates a matrix for rotating points around the Y axis. + The amount, in radians, by which to rotate around the Y-axis. + The rotation matrix. + + + Creates a matrix for rotating points around the Z axis. + The amount, in radians, by which to rotate around the Z-axis. + The rotation matrix. + + + Creates a matrix for rotating points around the Z axis from a center point. + The amount, in radians, by which to rotate around the Z-axis. + The center point. + The rotation matrix. + + + Creates a scaling matrix from the specified vector scale. + The scale to use. + The scaling matrix. + + + Creates a uniform scaling matrix that scale equally on each axis. + The uniform scaling factor. + The scaling matrix. + + + Creates a scaling matrix with a center point. + The vector that contains the amount to scale on each axis. + The center point. + The scaling matrix. + + + Creates a uniform scaling matrix that scales equally on each axis with a center point. + The uniform scaling factor. + The center point. + The scaling matrix. + + + Creates a scaling matrix from the specified X, Y, and Z components. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The value to scale by on the Z axis. + The scaling matrix. + + + Creates a scaling matrix that is offset by a given center point. + The value to scale by on the X axis. + The value to scale by on the Y axis. + The value to scale by on the Z axis. + The center point. + The scaling matrix. + + + Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. + The direction from which the light that will cast the shadow is coming. + The plane onto which the new matrix should flatten geometry so as to cast a shadow. + A new matrix that can be used to flatten geometry onto the specified plane from the specified direction. + + + Creates a translation matrix from the specified 3-dimensional vector. + The amount to translate in each axis. + The translation matrix. + + + Creates a translation matrix from the specified X, Y, and Z components. + The amount to translate on the X axis. + The amount to translate on the Y axis. + The amount to translate on the Z axis. + The translation matrix. + + + Creates a world matrix with the specified parameters. + The position of the object. + The forward direction of the object. + The upward direction of the object. Its value is usually [0, 1, 0]. + The world matrix. + + + Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded. + The source matrix. + When this method returns, contains the scaling component of the transformation matrix if the operation succeeded. + When this method returns, contains the rotation component of the transformation matrix if the operation succeeded. + When the method returns, contains the translation component of the transformation matrix if the operation succeeded. + true if matrix was decomposed successfully; otherwise, false. + + + Returns a value that indicates whether this instance and another 4x4 matrix are equal. + The other matrix. + true if the two matrices are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Calculates the determinant of the current 4x4 matrix. + The determinant. + + + Returns the hash code for this instance. + The hash code. + + + Gets the multiplicative identity matrix. + Gets the multiplicative identity matrix. + + + Inverts the specified matrix. The return value indicates whether the operation succeeded. + The matrix to invert. + When this method returns, contains the inverted matrix if the operation succeeded. + true if matrix was converted successfully; otherwise, false. + + + Indicates whether the current matrix is the identity matrix. + true if the current matrix is the identity matrix; otherwise, false. + + + Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. + The first matrix. + The second matrix. + The relative weighting of matrix2. + The interpolated matrix. + + + The first element of the first row. + + + + The second element of the first row. + + + + The third element of the first row. + + + + The fourth element of the first row. + + + + The first element of the second row. + + + + The second element of the second row. + + + + The third element of the second row. + + + + The fourth element of the second row. + + + + The first element of the third row. + + + + The second element of the third row. + + + + The third element of the third row. + + + + The fourth element of the third row. + + + + The first element of the fourth row. + + + + The second element of the fourth row. + + + + The third element of the fourth row. + + + + The fourth element of the fourth row. + + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Adds each element in one matrix with its corresponding element in a second matrix. + The first matrix. + The second matrix. + The matrix that contains the summed values. + + + Returns a value that indicates whether the specified matrices are equal. + The first matrix to compare. + The second matrix to care + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether the specified matrices are not equal. + The first matrix to compare. + The second matrix to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. + The matrix to scale. + The scaling value to use. + The scaled matrix. + + + Returns the matrix that results from multiplying two matrices together. + The first matrix. + The second matrix. + The product matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Negates the specified matrix by multiplying all its values by -1. + The matrix to negate. + The negated matrix. + + + Subtracts each element in a second matrix from its corresponding element in a first matrix. + The first matrix. + The second matrix. + The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this matrix. + The string representation of this matrix. + + + Transforms the specified matrix by applying the specified Quaternion rotation. + The matrix to transform. + The rotation t apply. + The transformed matrix. + + + Gets or sets the translation component of this matrix. + The translation component of the current instance. + + + Transposes the rows and columns of a matrix. + The matrix to transpose. + The transposed matrix. + + + Represents a three-dimensional plane. + + + Creates a object from a specified four-dimensional vector. + A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin. + + + Creates a object from a specified normal and the distance along the normal from the origin. + The plane&#39;s normal vector. + The plane&#39;s distance from the origin along its normal vector. + + + Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal. + The X component of the normal. + The Y component of the normal. + The Z component of the normal. + The distance of the plane along its normal from the origin. + + + Creates a object that contains three specified points. + The first point defining the plane. + The second point defining the plane. + The third point defining the plane. + The plane containing the three points. + + + The distance of the plane along its normal from the origin. + + + + Calculates the dot product of a plane and a 4-dimensional vector. + The plane. + The four-dimensional vector. + The dot product. + + + Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane. + The plane. + The 3-dimensional vector. + The dot product. + + + Returns the dot product of a specified three-dimensional vector and the vector of this plane. + The plane. + The three-dimensional vector. + The dot product. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns a value that indicates whether this instance and another plane object are equal. + The other plane. + true if the two planes are equal; otherwise, false. + + + Returns the hash code for this instance. + The hash code. + + + The normal vector of the plane. + + + + Creates a new object whose normal vector is the source plane&#39;s normal vector normalized. + The source plane. + The normalized plane. + + + Returns a value that indicates whether two planes are equal. + The first plane to compare. + The second plane to compare. + true if value1 and value2 are equal; otherwise, false. + + + Returns a value that indicates whether two planes are not equal. + The first plane to compare. + The second plane to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the string representation of this plane object. + A string that represents this object. + + + Transforms a normalized plane by a 4x4 matrix. + The normalized plane to transform. + The transformation matrix to apply to plane. + The transformed plane. + + + Transforms a normalized plane by a Quaternion rotation. + The normalized plane to transform. + The Quaternion rotation to apply to the plane. + A new plane that results from applying the Quaternion rotation. + + + Represents a vector that is used to encode three-dimensional physical rotations. + + + Creates a quaternion from the specified vector and rotation parts. + The vector part of the quaternion. + The rotation part of the quaternion. + + + Constructs a quaternion from the specified components. + The value to assign to the X component of the quaternion. + The value to assign to the Y component of the quaternion. + The value to assign to the Z component of the quaternion. + The value to assign to the W component of the quaternion. + + + Adds each element in one quaternion with its corresponding element in a second quaternion. + The first quaternion. + The second quaternion. + The quaternion that contains the summed values of value1 and value2. + + + Concatenates two quaternions. + The first quaternion rotation in the series. + The second quaternion rotation in the series. + A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation. + + + Returns the conjugate of a specified quaternion. + The quaternion. + A new quaternion that is the conjugate of value. + + + Creates a quaternion from a vector and an angle to rotate about the vector. + The vector to rotate around. + The angle, in radians, to rotate around the vector. + The newly created quaternion. + + + Creates a quaternion from the specified rotation matrix. + The rotation matrix. + The newly created quaternion. + + + Creates a new quaternion from the given yaw, pitch, and roll. + The yaw angle, in radians, around the Y axis. + The pitch angle, in radians, around the X axis. + The roll angle, in radians, around the Z axis. + The resulting quaternion. + + + Divides one quaternion by a second quaternion. + The dividend. + The divisor. + The quaternion that results from dividing value1 by value2. + + + Calculates the dot product of two quaternions. + The first quaternion. + The second quaternion. + The dot product. + + + Returns a value that indicates whether this instance and another quaternion are equal. + The other quaternion. + true if the two quaternions are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Gets a quaternion that represents no rotation. + A quaternion whose values are (0, 0, 0, 1). + + + Returns the inverse of a quaternion. + The quaternion. + The inverted quaternion. + + + Gets a value that indicates whether the current instance is the identity quaternion. + true if the current instance is the identity quaternion; otherwise, false. + + + Calculates the length of the quaternion. + The computed length of the quaternion. + + + Calculates the squared length of the quaternion. + The length squared of the quaternion. + + + Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion. + The first quaternion. + The second quaternion. + The relative weight of quaternion2 in the interpolation. + The interpolated quaternion. + + + Returns the quaternion that results from multiplying two quaternions together. + The first quaternion. + The second quaternion. + The product quaternion. + + + Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. + The source quaternion. + The scalar value. + The scaled quaternion. + + + Reverses the sign of each component of the quaternion. + The quaternion to negate. + The negated quaternion. + + + Divides each component of a specified by its length. + The quaternion to normalize. + The normalized quaternion. + + + Adds each element in one quaternion with its corresponding element in a second quaternion. + The first quaternion. + The second quaternion. + The quaternion that contains the summed values of value1 and value2. + + + Divides one quaternion by a second quaternion. + The dividend. + The divisor. + The quaternion that results from dividing value1 by value2. + + + Returns a value that indicates whether two quaternions are equal. + The first quaternion to compare. + The second quaternion to compare. + true if the two quaternions are equal; otherwise, false. + + + Returns a value that indicates whether two quaternions are not equal. + The first quaternion to compare. + The second quaternion to compare. + true if value1 and value2 are not equal; otherwise, false. + + + Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. + The source quaternion. + The scalar value. + The scaled quaternion. + + + Returns the quaternion that results from multiplying two quaternions together. + The first quaternion. + The second quaternion. + The product quaternion. + + + Subtracts each element in a second quaternion from its corresponding element in a first quaternion. + The first quaternion. + The second quaternion. + The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Reverses the sign of each component of the quaternion. + The quaternion to negate. + The negated quaternion. + + + Interpolates between two quaternions, using spherical linear interpolation. + The first quaternion. + The second quaternion. + The relative weight of the second quaternion in the interpolation. + The interpolated quaternion. + + + Subtracts each element in a second quaternion from its corresponding element in a first quaternion. + The first quaternion. + The second quaternion. + The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. + + + Returns a string that represents this quaternion. + The string representation of this quaternion. + + + The rotation component of the quaternion. + + + + The X value of the vector component of the quaternion. + + + + The Y value of the vector component of the quaternion. + + + + The Z value of the vector component of the quaternion. + + + + Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms. + The vector type. T can be any primitive numeric type. + + + Creates a vector whose components are of a specified type. + The numeric type that defines the type of the components in the vector. + + + Creates a vector from a specified array. + A numeric array. + values is null. + + + Creates a vector from a specified array starting at a specified index position. + A numeric array. + The starting index position from which to create the vector. + values is null. + index is less than zero. + -or- + The length of values minus index is less than . + + + Copies the vector instance to a specified destination array. + The array to receive a copy of the vector values. + destination is null. + The number of elements in the current vector is greater than the number of elements available in the destination array. + + + Copies the vector instance to a specified destination array starting at a specified index position. + The array to receive a copy of the vector values. + The starting index in destination at which to begin the copy operation. + destination is null. + The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array. + index is less than zero or greater than the last index in destination. + + + Returns the number of elements stored in the vector. + The number of elements stored in the vector. + Access to the property getter via reflection is not supported. + + + Returns a value that indicates whether this instance is equal to a specified vector. + The vector to compare with this instance. + true if the current instance and other are equal; otherwise, false. + + + Returns a value that indicates whether this instance is equal to a specified object. + The object to compare with this instance. + true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance. + + + Returns the hash code for this instance. + The hash code. + + + Gets the element at a specified index. + The index of the element to return. + The element at index index. + index is less than zero. + -or- + index is greater than or equal to . + + + Returns a vector containing all ones. + A vector containing all ones. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Returns a new vector by performing a bitwise And operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise And of left and right. + + + Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise Or of the elements in left and right. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Returns a value that indicates whether each pair of elements in two specified vectors are equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors. + The first vector. + The second vector. + The vector that results from the bitwise XOr of the elements in left and right. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Reinterprets the bits of the specified vector into a vector of type . + The vector to reinterpret. + The reinterpreted vector. + + + Returns a value that indicates whether any single pair of elements in the specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if any element pairs in left and right are equal. false if no element pairs are equal. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar value. + The source vector. + A scalar value. + The scaled vector. + + + Multiplies a vector by the given scalar. + The scalar value. + The source vector. + The scaled vector. + + + Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. + The source vector. + The one&#39;s complement vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates a given vector. + The vector to negate. + The negated vector. + + + Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Returns the string representation of this vector using default formatting. + The string representation of this vector. + + + Returns the string representation of this vector using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns a vector containing all zeroes. + A vector containing all zeroes. + + + Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors. + + + Returns a new vector whose elements are the absolute values of the given vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The absolute value vector. + + + Returns a new vector whose values are the sum of each pair of elements from two given vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The summed vector. + + + Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned bytes. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a double-precision floating-point vector. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of 16-bit integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of long integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of signed bytes. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a single-precision floating-point vector. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Reinterprets the bits of a specified vector into those of a vector of unsigned long integers. + The source vector. + The vector type. T can be any primitive numeric type. + The reinterpreted vector. + + + Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector. + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The vector type. T can be any primitive numeric type. + The new vector with elements selected based on the mask. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector whose values are the result of dividing the first vector&#39;s elements by the corresponding elements in the second vector. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The divided vector. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The dot product. + + + Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether each pair of elements in the given vectors is equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left and right are equal; otherwise, false. + + + Returns a value that indicates whether any single pair of elements in the given vectors is equal. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element pair in left and right is equal; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left are greater than the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is greater than the corresponding element in right; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is greater than or equal to the corresponding element in right; otherwise, false. + + + Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support. + true if vector operations are subject to hardware acceleration; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all of the elements in left are less than the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is less than the corresponding element in right; otherwise, false. + + + Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector. + The first vector to compare. + The second vector to compare. + The resulting long integer vector. + + + Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector. + The first vector to compare. + The second vector to compare. + The resulting integral vector. + + + Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false. + + + Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + true if any element in left is less than or equal to the corresponding element in right; otherwise, false. + + + Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The maximum vector. + + + Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors. + The first vector to compare. + The second vector to compare. + The vector type. T can be any primitive numeric type. + The minimum vector. + + + Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector. + The scalar value. + The vector. + The vector type. T can be any primitive numeric type. + The scaled vector. + + + Returns a new vector whose values are the product of each pair of elements in two specified vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The product vector. + + + Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value. + The vector. + The scalar value. + The vector type. T can be any primitive numeric type. + The scaled vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector whose elements are the negation of the corresponding element in the specified vector. + The source vector. + The vector type. T can be any primitive numeric type. + The negated vector. + + + Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Returns a new vector whose elements are the square roots of a specified vector&#39;s elements. + The source vector. + The vector type. T can be any primitive numeric type. + The square root vector. + + + Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The difference vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors. + The first vector. + The second vector. + The vector type. T can be any primitive numeric type. + The resulting vector. + + + Represents a vector with two single-precision floating-point values. + + + Creates a new object whose two elements have the same value. + The value to assign to both elements. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of the vector. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 2 elements are equal to one. + A vector whose two elements are equal to one (that is, it returns the vector (1,1). + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns the reflection of a vector off a surface that has the specified normal. + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a vector by a specified 3x2 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a vector normal by the given 3x2 matrix. + The source vector. + The matrix. + The transformed vector. + + + Transforms a vector normal by the given 4x4 matrix. + The source vector. + The matrix. + The transformed vector. + + + Gets the vector (1,0). + The vector (1,0). + + + Gets the vector (0,1). + The vector (0,1). + + + The X component of the vector. + + + + The Y component of the vector. + + + + Returns a vector whose 2 elements are equal to zero. + A vector whose two elements are equal to zero (that is, it returns the vector (0,0). + + + Represents a vector with three single-precision floating-point values. + + + Creates a new object whose three elements have the same value. + The value to assign to all three elements. + + + Creates a new object from the specified object and the specified value. + The vector with two elements. + The additional value to assign to the field. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the cross product of two vectors. + The first vector. + The second vector. + The cross product. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of this vector object. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 3 elements are equal to one. + A vector whose three elements are equal to one (that is, it returns the vector (1,1,1). + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns the reflection of a vector off a surface that has the specified normal. + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a vector normal by the given 4x4 matrix. + The source vector. + The matrix. + The transformed vector. + + + Gets the vector (1,0,0). + The vector (1,0,0). + + + Gets the vector (0,1,0). + The vector (0,1,0).. + + + Gets the vector (0,0,1). + The vector (0,0,1). + + + The X component of the vector. + + + + The Y component of the vector. + + + + The Z component of the vector. + + + + Gets a vector whose 3 elements are equal to zero. + A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0). + + + Represents a vector with four single-precision floating-point values. + + + Creates a new object whose four elements have the same value. + The value to assign to all four elements. + + + Constructs a new object from the specified object and a W component. + The vector to use for the X, Y, and Z components. + The W component. + + + Creates a new object from the specified object and a Z and a W component. + The vector to use for the X and Y components. + The Z component. + The W component. + + + Creates a vector whose elements have the specified values. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + The value to assign to the field. + + + Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. + A vector. + The absolute value vector. + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Restricts a vector between a minimum and a maximum value. + The vector to restrict. + The minimum value. + The maximum value. + The restricted vector. + + + Copies the elements of the vector to a specified array. + The destination array. + array is null. + The number of elements in the current instance is greater than in the array. + array is multidimensional. + + + Copies the elements of the vector to a specified array starting at a specified index position. + The destination array. + The index at which to copy the first element of the vector. + array is null. + The number of elements in the current instance is greater than in the array. + index is less than zero. + -or- + index is greater than or equal to the array length. + array is multidimensional. + + + Computes the Euclidean distance between the two given points. + The first point. + The second point. + The distance. + + + Returns the Euclidean distance squared between two specified points. + The first point. + The second point. + The distance squared. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector resulting from the division. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The vector that results from the division. + + + Returns the dot product of two vectors. + The first vector. + The second vector. + The dot product. + + + Returns a value that indicates whether this instance and another vector are equal. + The other vector. + true if the two vectors are equal; otherwise, false. + + + Returns a value that indicates whether this instance and a specified object are equal. + The object to compare with the current instance. + true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. + + + Returns the hash code for this instance. + The hash code. + + + Returns the length of this vector object. + The vector&#39;s length. + + + Returns the length of the vector squared. + The vector&#39;s length squared. + + + Performs a linear interpolation between two vectors based on the given weighting. + The first vector. + The second vector. + A value between 0 and 1 that indicates the weight of value2. + The interpolated vector. + + + Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The maximized vector. + + + Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. + The first vector. + The second vector. + The minimized vector. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiplies a vector by a specified scalar. + The vector to multiply. + The scalar value. + The scaled vector. + + + Multiplies a scalar value by a specified vector. + The scaled value. + The vector. + The scaled vector. + + + Negates a specified vector. + The vector to negate. + The negated vector. + + + Returns a vector with the same direction as the specified vector, but with a length of one. + The vector to normalize. + The normalized vector. + + + Gets a vector whose 4 elements are equal to one. + Returns . + + + Adds two vectors together. + The first vector to add. + The second vector to add. + The summed vector. + + + Divides the first vector by the second. + The first vector. + The second vector. + The vector that results from dividing left by right. + + + Divides the specified vector by a specified scalar value. + The vector. + The scalar value. + The result of the division. + + + Returns a value that indicates whether each pair of elements in two specified vectors is equal. + The first vector to compare. + The second vector to compare. + true if left and right are equal; otherwise, false. + + + Returns a value that indicates whether two specified vectors are not equal. + The first vector to compare. + The second vector to compare. + true if left and right are not equal; otherwise, false. + + + Multiplies two vectors together. + The first vector. + The second vector. + The product vector. + + + Multiples the specified vector by the specified scalar value. + The vector. + The scalar value. + The scaled vector. + + + Multiples the scalar value by the specified vector. + The vector. + The scalar value. + The scaled vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The vector that results from subtracting right from left. + + + Negates the specified vector. + The vector to negate. + The negated vector. + + + Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. + A vector. + The square root vector. + + + Subtracts the second vector from the first. + The first vector. + The second vector. + The difference vector. + + + Returns the string representation of the current instance using default formatting. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements. + A or that defines the format of individual elements. + The string representation of the current instance. + + + Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. + A or that defines the format of individual elements. + A format provider that supplies culture-specific formatting information. + The string representation of the current instance. + + + Transforms a four-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a four-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a three-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a two-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Transforms a two-dimensional vector by the specified Quaternion rotation value. + The vector to rotate. + The rotation to apply. + The transformed vector. + + + Transforms a three-dimensional vector by a specified 4x4 matrix. + The vector to transform. + The transformation matrix. + The transformed vector. + + + Gets the vector (0,0,0,1). + The vector (0,0,0,1). + + + Gets the vector (1,0,0,0). + The vector (1,0,0,0). + + + Gets the vector (0,1,0,0). + The vector (0,1,0,0).. + + + Gets a vector whose 4 elements are equal to zero. + The vector (0,0,1,0). + + + The W component of the vector. + + + + The X component of the vector. + + + + The Y component of the vector. + + + + The Z component of the vector. + + + + Gets a vector whose 4 elements are equal to zero. + A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0). + + + \ No newline at end of file diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/uap10.0.16299/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/uap10.0.16299/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/xamarinios10/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/xamarinios10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/xamarinmac20/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/xamarinmac20/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/xamarintvos10/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/xamarintvos10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/xamarinwatchos10/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/xamarinwatchos10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/useSharedDesignerContext.txt b/packages/System.Numerics.Vectors.4.5.0/useSharedDesignerContext.txt new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Numerics.Vectors.4.5.0/version.txt b/packages/System.Numerics.Vectors.4.5.0/version.txt new file mode 100644 index 0000000..47004a0 --- /dev/null +++ b/packages/System.Numerics.Vectors.4.5.0/version.txt @@ -0,0 +1 @@ +30ab651fcb4354552bd4891619a0bdd81e0ebdbf diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/.signature.p7s b/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..0b25909d7a46ea264fb0c1242553399c29dac112 GIT binary patch literal 18702 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 literal 0 HcmV?d00001 diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/LICENSE.TXT b/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/LICENSE.TXT new file mode 100644 index 0000000..984713a --- /dev/null +++ b/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/LICENSE.TXT @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +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. diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/System.Runtime.CompilerServices.Unsafe.4.5.3.nupkg b/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/System.Runtime.CompilerServices.Unsafe.4.5.3.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..8519daa5a61341bcede3d58bd1df85b117037302 GIT binary patch literal 102160 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 + + System.Runtime.CompilerServices.Unsafe + + + +

Contains generic, low-level functionality for manipulating pointers. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Determines whether the specified references point to the same location. + The first reference to compare. + The second reference to compare. + The type of reference. + true if left and right point to the same location; otherwise, false. + + + Casts the given object to the specified type. + The object to cast. + The type which the object will be cast to. + The original object, casted to the given type. + + + Reinterprets the given reference as a reference to a value of type TTo. + The reference to reinterpret. + The type of reference to reinterpret.. + The desired type of the reference. + A reference to a value of type TTo. + + + Returns a pointer to the given by-ref parameter. + The object whose pointer is obtained. + The type of object. + A pointer to the given value. + + + Reinterprets the given location as a reference to a value of type T. + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type T. + + + Determines the byte offset from origin to target from the given references. + The reference to origin. + The reference to target. + The type of reference. + Byte offset from origin to target i.e. target - origin. + + + Copies a value of type T to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies a value of type T to the given location. + The location to copy to. + A pointer to the value to copy. + The type of value to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address +without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address +without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value +without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value +without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Reads a value of type T from the given location. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Reads a value of type T from the given location +without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Reads a value of type T from the given location +without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Returns the size of an object of the given type parameter. + The type of object whose size is retrieved. + The size of an object of type T. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of offset from pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + + The type of reference. + A new reference that reflects the subraction of byte offset from pointer. + + + Writes a value of type T to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type T to the given location +without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type T to the given location +without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + \ No newline at end of file diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.dll b/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000000000000000000000000000000000000..e71751092a839bb4033e1abef77144e444dbb398 GIT binary patch literal 16248 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 D-T^%u literal 0 HcmV?d00001 diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.xml b/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.xml new file mode 100644 index 0000000..6a7cfcf --- /dev/null +++ b/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,200 @@ + + + System.Runtime.CompilerServices.Unsafe + + + + Contains generic, low-level functionality for manipulating pointers. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Determines whether the specified references point to the same location. + The first reference to compare. + The second reference to compare. + The type of reference. + true if left and right point to the same location; otherwise, false. + + + Casts the given object to the specified type. + The object to cast. + The type which the object will be cast to. + The original object, casted to the given type. + + + Reinterprets the given reference as a reference to a value of type TTo. + The reference to reinterpret. + The type of reference to reinterpret.. + The desired type of the reference. + A reference to a value of type TTo. + + + Returns a pointer to the given by-ref parameter. + The object whose pointer is obtained. + The type of object. + A pointer to the given value. + + + Reinterprets the given location as a reference to a value of type T. + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type T. + + + Determines the byte offset from origin to target from the given references. + The reference to origin. + The reference to target. + The type of reference. + Byte offset from origin to target i.e. target - origin. + + + Copies a value of type T to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies a value of type T to the given location. + The location to copy to. + A pointer to the value to copy. + The type of value to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address +without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address +without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value +without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value +without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Reads a value of type T from the given location. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Reads a value of type T from the given location +without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Reads a value of type T from the given location +without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Returns the size of an object of the given type parameter. + The type of object whose size is retrieved. + The size of an object of type T. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of offset from pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + + The type of reference. + A new reference that reflects the subraction of byte offset from pointer. + + + Writes a value of type T to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type T to the given location +without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type T to the given location +without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + \ No newline at end of file diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll b/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000000000000000000000000000000000000..b50dbc4df47d93c7acccf5442fb5a0e0a41cf9eb GIT binary patch literal 16768 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 literal 0 HcmV?d00001 diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml b/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml new file mode 100644 index 0000000..6a7cfcf --- /dev/null +++ b/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,200 @@ + + + System.Runtime.CompilerServices.Unsafe + + + + Contains generic, low-level functionality for manipulating pointers. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Determines whether the specified references point to the same location. + The first reference to compare. + The second reference to compare. + The type of reference. + true if left and right point to the same location; otherwise, false. + + + Casts the given object to the specified type. + The object to cast. + The type which the object will be cast to. + The original object, casted to the given type. + + + Reinterprets the given reference as a reference to a value of type TTo. + The reference to reinterpret. + The type of reference to reinterpret.. + The desired type of the reference. + A reference to a value of type TTo. + + + Returns a pointer to the given by-ref parameter. + The object whose pointer is obtained. + The type of object. + A pointer to the given value. + + + Reinterprets the given location as a reference to a value of type T. + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type T. + + + Determines the byte offset from origin to target from the given references. + The reference to origin. + The reference to target. + The type of reference. + Byte offset from origin to target i.e. target - origin. + + + Copies a value of type T to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies a value of type T to the given location. + The location to copy to. + A pointer to the value to copy. + The type of value to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address +without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address +without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value +without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value +without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Reads a value of type T from the given location. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Reads a value of type T from the given location +without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Reads a value of type T from the given location +without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Returns the size of an object of the given type parameter. + The type of object whose size is retrieved. + The size of an object of type T. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of offset from pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + + The type of reference. + A new reference that reflects the subraction of byte offset from pointer. + + + Writes a value of type T to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type T to the given location +without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type T to the given location +without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + \ No newline at end of file diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll b/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000000000000000000000000000000000000..b17135bc95170151b88fc4679fe8be3758c3c3b9 GIT binary patch literal 16768 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 + + System.Runtime.CompilerServices.Unsafe + + + + Contains generic, low-level functionality for manipulating pointers. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Determines whether the specified references point to the same location. + The first reference to compare. + The second reference to compare. + The type of reference. + true if left and right point to the same location; otherwise, false. + + + Casts the given object to the specified type. + The object to cast. + The type which the object will be cast to. + The original object, casted to the given type. + + + Reinterprets the given reference as a reference to a value of type TTo. + The reference to reinterpret. + The type of reference to reinterpret.. + The desired type of the reference. + A reference to a value of type TTo. + + + Returns a pointer to the given by-ref parameter. + The object whose pointer is obtained. + The type of object. + A pointer to the given value. + + + Reinterprets the given location as a reference to a value of type T. + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type T. + + + Determines the byte offset from origin to target from the given references. + The reference to origin. + The reference to target. + The type of reference. + Byte offset from origin to target i.e. target - origin. + + + Copies a value of type T to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies a value of type T to the given location. + The location to copy to. + A pointer to the value to copy. + The type of value to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address +without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address +without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value +without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value +without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Reads a value of type T from the given location. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Reads a value of type T from the given location +without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Reads a value of type T from the given location +without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Returns the size of an object of the given type parameter. + The type of object whose size is retrieved. + The size of an object of type T. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of offset from pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + + The type of reference. + A new reference that reflects the subraction of byte offset from pointer. + + + Writes a value of type T to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type T to the given location +without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type T to the given location +without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + \ No newline at end of file diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/ref/net461/System.Runtime.CompilerServices.Unsafe.dll b/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/ref/net461/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000000000000000000000000000000000000..ac64866d65fcd85ce5c296a02f3b944214d14b2e GIT binary patch literal 16248 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 literal 0 HcmV?d00001 diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/ref/net461/System.Runtime.CompilerServices.Unsafe.xml b/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/ref/net461/System.Runtime.CompilerServices.Unsafe.xml new file mode 100644 index 0000000..6a7cfcf --- /dev/null +++ b/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/ref/net461/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,200 @@ + + + System.Runtime.CompilerServices.Unsafe + + + + Contains generic, low-level functionality for manipulating pointers. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Determines whether the specified references point to the same location. + The first reference to compare. + The second reference to compare. + The type of reference. + true if left and right point to the same location; otherwise, false. + + + Casts the given object to the specified type. + The object to cast. + The type which the object will be cast to. + The original object, casted to the given type. + + + Reinterprets the given reference as a reference to a value of type TTo. + The reference to reinterpret. + The type of reference to reinterpret.. + The desired type of the reference. + A reference to a value of type TTo. + + + Returns a pointer to the given by-ref parameter. + The object whose pointer is obtained. + The type of object. + A pointer to the given value. + + + Reinterprets the given location as a reference to a value of type T. + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type T. + + + Determines the byte offset from origin to target from the given references. + The reference to origin. + The reference to target. + The type of reference. + Byte offset from origin to target i.e. target - origin. + + + Copies a value of type T to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies a value of type T to the given location. + The location to copy to. + A pointer to the value to copy. + The type of value to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address +without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address +without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value +without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value +without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Reads a value of type T from the given location. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Reads a value of type T from the given location +without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Reads a value of type T from the given location +without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Returns the size of an object of the given type parameter. + The type of object whose size is retrieved. + The size of an object of type T. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of offset from pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + + The type of reference. + A new reference that reflects the subraction of byte offset from pointer. + + + Writes a value of type T to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type T to the given location +without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type T to the given location +without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + \ No newline at end of file diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll b/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000000000000000000000000000000000000..7f71a4be0b6ddbea77db945baa099e438f2938d0 GIT binary patch literal 16248 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 + + System.Runtime.CompilerServices.Unsafe + + + + Contains generic, low-level functionality for manipulating pointers. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Determines whether the specified references point to the same location. + The first reference to compare. + The second reference to compare. + The type of reference. + true if left and right point to the same location; otherwise, false. + + + Casts the given object to the specified type. + The object to cast. + The type which the object will be cast to. + The original object, casted to the given type. + + + Reinterprets the given reference as a reference to a value of type TTo. + The reference to reinterpret. + The type of reference to reinterpret.. + The desired type of the reference. + A reference to a value of type TTo. + + + Returns a pointer to the given by-ref parameter. + The object whose pointer is obtained. + The type of object. + A pointer to the given value. + + + Reinterprets the given location as a reference to a value of type T. + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type T. + + + Determines the byte offset from origin to target from the given references. + The reference to origin. + The reference to target. + The type of reference. + Byte offset from origin to target i.e. target - origin. + + + Copies a value of type T to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies a value of type T to the given location. + The location to copy to. + A pointer to the value to copy. + The type of value to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address +without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address +without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value +without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value +without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Reads a value of type T from the given location. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Reads a value of type T from the given location +without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Reads a value of type T from the given location +without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Returns the size of an object of the given type parameter. + The type of object whose size is retrieved. + The size of an object of type T. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of offset from pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + + The type of reference. + A new reference that reflects the subraction of byte offset from pointer. + + + Writes a value of type T to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type T to the given location +without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type T to the given location +without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + \ No newline at end of file diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll b/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000000000000000000000000000000000000..50bf25927edb7911dc4c10d0259e690ed734fd02 GIT binary patch literal 16976 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 + + System.Runtime.CompilerServices.Unsafe + + + + Contains generic, low-level functionality for manipulating pointers. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Determines whether the specified references point to the same location. + The first reference to compare. + The second reference to compare. + The type of reference. + true if left and right point to the same location; otherwise, false. + + + Casts the given object to the specified type. + The object to cast. + The type which the object will be cast to. + The original object, casted to the given type. + + + Reinterprets the given reference as a reference to a value of type TTo. + The reference to reinterpret. + The type of reference to reinterpret.. + The desired type of the reference. + A reference to a value of type TTo. + + + Returns a pointer to the given by-ref parameter. + The object whose pointer is obtained. + The type of object. + A pointer to the given value. + + + Reinterprets the given location as a reference to a value of type T. + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type T. + + + Determines the byte offset from origin to target from the given references. + The reference to origin. + The reference to target. + The type of reference. + Byte offset from origin to target i.e. target - origin. + + + Copies a value of type T to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies a value of type T to the given location. + The location to copy to. + A pointer to the value to copy. + The type of value to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address +without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address +without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value +without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value +without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Reads a value of type T from the given location. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Reads a value of type T from the given location +without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Reads a value of type T from the given location +without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Returns the size of an object of the given type parameter. + The type of object whose size is retrieved. + The size of an object of type T. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of offset from pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + + The type of reference. + A new reference that reflects the subraction of byte offset from pointer. + + + Writes a value of type T to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type T to the given location +without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type T to the given location +without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + \ No newline at end of file diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/useSharedDesignerContext.txt b/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/useSharedDesignerContext.txt new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/version.txt b/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/version.txt new file mode 100644 index 0000000..8d6cdd6 --- /dev/null +++ b/packages/System.Runtime.CompilerServices.Unsafe.4.5.3/version.txt @@ -0,0 +1 @@ +7601f4f6225089ffb291dc7d58293c7bbf5c5d4f From 58436b7b3217db2f0fa8baa4404793998202610a Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sat, 28 Aug 2021 15:42:13 +0300 Subject: [PATCH 28/68] --- MathExtended.csproj | 1 + MathExtendent.cs | 50 ++++++++++++++ Matrices/BaseMatrix.cs | 7 +- Matrices/Matrix.cs | 112 ++++++++++---------------------- Matrices/Structures/Rows/Row.cs | 9 +++ TabulateResult.cs | 46 +++++++++++++ 6 files changed, 144 insertions(+), 81 deletions(-) create mode 100644 TabulateResult.cs diff --git a/MathExtended.csproj b/MathExtended.csproj index e7ac2ea..a954286 100644 --- a/MathExtended.csproj +++ b/MathExtended.csproj @@ -209,6 +209,7 @@ + diff --git a/MathExtendent.cs b/MathExtendent.cs index e6a1948..e7e3710 100644 --- a/MathExtendent.cs +++ b/MathExtendent.cs @@ -101,6 +101,56 @@ public static double AlgebraicSum(double i, double min, double max, Func + /// Проводит табулирование функции + ///

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

RF{eI=gCp`63&yO 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 aok~A<-HE?W^)_`9L%-_>s-#m5X#WSf38Nzb literal 0 HcmV?d00001 diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.xml b/packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.xml new file mode 100644 index 0000000..da34d39 --- /dev/null +++ b/packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.xml @@ -0,0 +1,2621 @@ + + + System.Numerics.Vectors + + + +

&F)WSJ3p{tgsTe5>bk__rE6mWbi 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 KJ|ft6T@91LjE&c9cn%`cD`gI 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�cyw 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 literal 0 HcmV?d00001 diff --git a/packages/System.Memory.4.5.4/lib/net461/System.Memory.xml b/packages/System.Memory.4.5.4/lib/net461/System.Memory.xml new file mode 100644 index 0000000..4d12fd7 --- /dev/null +++ b/packages/System.Memory.4.5.4/lib/net461/System.Memory.xml @@ -0,0 +1,355 @@ + + + System.Memory + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/System.Memory.4.5.4/lib/netcoreapp2.1/_._ b/packages/System.Memory.4.5.4/lib/netcoreapp2.1/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Memory.4.5.4/lib/netstandard1.1/System.Memory.dll b/packages/System.Memory.4.5.4/lib/netstandard1.1/System.Memory.dll new file mode 100644 index 0000000000000000000000000000000000000000..98f1c5d1534220aa2ba173d7b629146166ba8c12 GIT binary patch literal 137088 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 z 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 literal 0 HcmV?d00001 diff --git a/packages/System.Memory.4.5.4/lib/netstandard1.1/System.Memory.xml b/packages/System.Memory.4.5.4/lib/netstandard1.1/System.Memory.xml new file mode 100644 index 0000000..4d12fd7 --- /dev/null +++ b/packages/System.Memory.4.5.4/lib/netstandard1.1/System.Memory.xml @@ -0,0 +1,355 @@ + + + System.Memory + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.dll b/packages/System.Memory.4.5.4/lib/netstandard2.0/System.Memory.dll new file mode 100644 index 0000000000000000000000000000000000000000..953a9d2e3926e4b91f396529b4751605a0b6ca4e GIT binary patch literal 141688 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

+ /// Начальное значение + /// Максимальное значение + /// Шаг + /// Табулируемая функции + /// структура со значениями аргумента и функции + public static TabulateResult TabulateFunction(double x0, double xk, double dx, Func func) + { + List xValues = new List(); + + List yValues = new List(); + + for(;x0 < xk;x0 += dx) + { + xValues.Add(x0); + yValues.Add(func(x0)); + } + + return new TabulateResult(xValues.ToArray(), yValues.ToArray()); + } + + /// + /// Проводит табулирование функции + /// + /// Начальное значение + /// Максимальное значение + /// Шаг + /// Табулируемая функции + /// Массив для значений X + /// Массив для значений Y + public static void TabulateFunction(double x0, double xk, double dx, Func func, out double[] xValuesArray, out double[] yValuesArray) + { + List xValues = new List(); + + List yValues = new List(); + + for (; x0 < xk; x0 += dx) + { + xValues.Add(x0); + yValues.Add(func(x0)); + } + + xValuesArray = xValues.ToArray(); + + yValuesArray = yValues.ToArray(); + + } } } diff --git a/Matrices/BaseMatrix.cs b/Matrices/BaseMatrix.cs index 27ff5fd..79865ac 100644 --- a/Matrices/BaseMatrix.cs +++ b/Matrices/BaseMatrix.cs @@ -14,7 +14,7 @@ namespace MathExtended.Matrices /// и ограничивает принимаемые обобщения до числовых типов ( и т.д) ///
/// Числовой тип - public abstract class BaseMatrix : IEnumerator,IMatrix where T: IComparable, IFormattable, IConvertible, IComparable, IEquatable + public abstract class BaseMatrix : IEnumerator, IMatrix where T: IComparable, IFormattable, IConvertible, IComparable, IEquatable { /// /// Матрица представляющая собой двумерный массив @@ -129,6 +129,7 @@ public ReadOnlyCollection> Columns get { _columns = GetColumns(); + return Array.AsReadOnly(_columns); } @@ -167,9 +168,9 @@ private Row[] GetRows() public void SetRow(Row row, int index) { - for (int c = 0; c < this.ColumnsCount; c++) + for (int column = 0; column < this.ColumnsCount; column++) { - this[index, c] = row[c]; + this[index, column] = row[column]; } } diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index 787ad7f..24afcf7 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -51,6 +51,8 @@ private set isSquareMatrix = rowsCount == columnsCount; } } + + #endregion /// @@ -68,7 +70,7 @@ public Matrix(int rows, int columns) : base(rows, columns) IsSquareMatrix = RowsCount == ColumnsCount; - DiagonalChanged = OnDiagonalChanged; + MatrixUpdated = OnDiagonalChanged; } @@ -82,47 +84,34 @@ public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1, array.GetUpperBound IsSquareMatrix = RowsCount == ColumnsCount; - DiagonalChanged = OnDiagonalChanged; - } - - private event Action DiagonalChanged; - - private void OnDiagonalChanged() - { - MainDiagonal = FindDiagonal(); + MatrixUpdated = OnDiagonalChanged; } - #region Операторы + private event Action MatrixUpdated; - /// - /// Суммирует две матрицы и возвращает 3-ю - /// - /// - /// - /// double[,]Сумма A и B - public static double[,] SumMatrix(double[,] matrixA, double[,] matrixB) + + private int FindRank() { + int rank = 0; - if (matrixA.Length == matrixB.Length) + Parallel.ForEach(this.ToSteppedView().Rows, row => { - var matrixC = new double[matrixA.GetLength(0), matrixB.GetLength(0)]; + if (!row.IsZeroRow()) + { + rank++; + } + }); - for (var row = 0; row < matrixA.GetLength(0); row++) - { - for (var column = 0; column < matrixB.GetLength(0); column++) - { - matrixC[row, column] = matrixA[row, column] + matrixB[row, column]; - } - } + return rank; + } - return matrixC; - } - else - { - throw new MatrixDifferentSizeException(); - } + private void OnDiagonalChanged() + { + MainDiagonal = FindDiagonal(); } + #region Операторы + /// /// Суммирует две матрицы /// @@ -151,35 +140,6 @@ private void OnDiagonalChanged() } } - /// - /// Вычетает два двумерных массива и возвращает 3-й - /// - /// Матрица A - /// Матрица B - /// Разность матриц представленных в виде двумерных массивов - public static double[,] SubstractMatrix(ref double[,] matrixA, ref double[,] matrixB) - { - - if (matrixA.Length == matrixB.Length) - { - var matrixC = new double[matrixA.GetLength(0), matrixB.GetLength(0)]; - - for (var i = 0; i < matrixA.GetLength(0); i++) - { - for (var j = 0; j < matrixB.GetLength(0); j++) - { - matrixC[i, j] = matrixA[i, j] - matrixB[i, j]; - } - } - - return matrixC; - } - else - { - throw new MatrixDifferentSizeException(); - } - } - /// /// Разность матриц /// @@ -350,31 +310,25 @@ public Matrix ToSteppedView() { var steppedMatrix = this; - if (IsSquareMatrix) - { - steppedMatrix.ForEach((row,column) => + + + steppedMatrix.ForEach((row, column) => { for (int j = row + 1; j < steppedMatrix.RowsCount; j++) { - dynamic koeficient = Operator.Divide(steppedMatrix[j, row], steppedMatrix[row, row]); + dynamic koeficient = (dynamic)(steppedMatrix[j, row] / (dynamic)steppedMatrix[row, row]); - for (int k = 0; k < steppedMatrix.RowsCount; k++) + for (int k = 0; k < steppedMatrix.ColumnsCount; k++) { steppedMatrix[j, k] -= steppedMatrix[row, k] * koeficient; } - } + } }); - - - return steppedMatrix; - } - else - { - throw new TheNumberOfRowsAndColumnsIsDifferentException(); - } + + return steppedMatrix; } /// @@ -415,6 +369,8 @@ private Matrix CreateMatrixWithoutRow(int row) this[i, j] : this[i + 1, j]); return result; } + +#if DEBUG /// /// Расчитывает детерминант матрицы /// @@ -449,7 +405,7 @@ public T CalculateDeterminant() return result; } - +#endif #region Фичи @@ -511,7 +467,7 @@ public Matrix FillInOrder() int counter = 1; - ForEach((column,row) => filledMatrix[(dynamic)row, (dynamic)column] = counter++); + ForEach((row,column) => filledMatrix[row, column] = counter++); return filledMatrix; } @@ -520,7 +476,7 @@ public Matrix FillInOrder() /// Применяет действия ко всем элементам матрицы /// /// Действие - public void ForEach(Action action) + private void ForEach(Action action) { if (action == null) { diff --git a/Matrices/Structures/Rows/Row.cs b/Matrices/Structures/Rows/Row.cs index e5514cc..31c02fb 100644 --- a/Matrices/Structures/Rows/Row.cs +++ b/Matrices/Structures/Rows/Row.cs @@ -135,5 +135,14 @@ public Column Transponate() { return new Column(_cells); } + + /// + /// Провереяет нулевая ли эта трока + /// + /// - если строка не нулевая, - если строка нулевая + public bool IsZeroRow() + { + return _cells.All((cell) => cell == (dynamic)0); + } } } diff --git a/TabulateResult.cs b/TabulateResult.cs new file mode 100644 index 0000000..fe230c1 --- /dev/null +++ b/TabulateResult.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MathExtended +{ + /// + /// Описывает результат табуляции функции + /// + public struct TabulateResult + { + private double[] _x; + + private double[] _y; + + /// + /// Значения аргумента + /// + public ReadOnlyCollection X + { + get => Array.AsReadOnly(_x); + } + + /// + /// Значения функции + /// + public ReadOnlyCollection Y + { + get => Array.AsReadOnly(_y); + } + + /// + /// Инициализирует результат табуляции + /// + /// Значения аргумента + /// Значения функции + public TabulateResult(double[] x, double[] y) + { + _x = x; + _y = y; + } + } +} From 01740c6f465d5bc1e2a941e018fa283fd34e2b4f Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sat, 28 Aug 2021 15:44:30 +0300 Subject: [PATCH 29/68] --- MathExtendent.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MathExtendent.cs b/MathExtendent.cs index e6a1948..5f32e11 100644 --- a/MathExtendent.cs +++ b/MathExtendent.cs @@ -1,4 +1,4 @@ -using System; + using System; using System.Collections.Generic; using System.Linq; using System.Text; From b084cc113b4f1de2fd0289987733aea4dd4c3d2d Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sat, 28 Aug 2021 16:01:09 +0300 Subject: [PATCH 30/68] --- Matrices/Matrix.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index 24afcf7..df1780e 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -314,16 +314,16 @@ public Matrix ToSteppedView() steppedMatrix.ForEach((row, column) => { - - for (int j = row + 1; j < steppedMatrix.RowsCount; j++) - { - dynamic koeficient = (dynamic)(steppedMatrix[j, row] / (dynamic)steppedMatrix[row, row]); - - for (int k = 0; k < steppedMatrix.ColumnsCount; k++) + + for (int j = row + 1; j < steppedMatrix.RowsCount; j++) { - steppedMatrix[j, k] -= steppedMatrix[row, k] * koeficient; + dynamic koeficient = (dynamic)(steppedMatrix[j, row] / (dynamic)steppedMatrix[row, row]); + + for (int k = 0; k < steppedMatrix.ColumnsCount; k++) + { + steppedMatrix[j, k] -= steppedMatrix[row, k] * koeficient; + } } - } }); From cc7137aef3e3f846e65347804a597219c4939651 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sun, 29 Aug 2021 20:41:01 +0300 Subject: [PATCH 31/68] --- Matrices/BaseMatrix.cs | 43 +++++-- Matrices/Matrix.cs | 106 ++++++++---------- .../CellsCollections/BaseCellsCollection.cs | 14 +++ Matrices/Structures/Columns/Column.cs | 2 + Matrices/Structures/Rows/Row.cs | 5 +- 5 files changed, 97 insertions(+), 73 deletions(-) diff --git a/Matrices/BaseMatrix.cs b/Matrices/BaseMatrix.cs index 79865ac..3d31a87 100644 --- a/Matrices/BaseMatrix.cs +++ b/Matrices/BaseMatrix.cs @@ -11,7 +11,7 @@ namespace MathExtended.Matrices { /// /// Базовый класс матрицы.Реализует интерфейс перечисления - /// и ограничивает принимаемые обобщения до числовых типов ( и т.д) + /// и ограничивает принимаемые обобщения до числовых типов (, , и т.д) /// /// Числовой тип public abstract class BaseMatrix : IEnumerator, IMatrix where T: IComparable, IFormattable, IConvertible, IComparable, IEquatable @@ -41,17 +41,30 @@ public abstract class BaseMatrix : IEnumerator, IMatrix where T: ICompa private bool disposedValue; /// - /// Создает матрицу с указаными размерами + /// Создает матрицу с указанными размерами /// /// Количество строк /// Количество столбцов public BaseMatrix(int rows,int columns) { _rowsCount = rows; - + _columnsCount = columns; matrix = new T[rows,columns]; + + MatrixUpdated += OnMatrix_MatrixUpdated; + } + + protected event Action MatrixUpdated; + + /// + /// Обрабытывает событие обновления матрицы + /// + protected virtual void OnMatrix_MatrixUpdated() + { + _mainDiagonal = FindDiagonal(); + } /// @@ -62,15 +75,13 @@ public BaseMatrix(int rows,int columns) /// Число по указанному адресу в матрице public T this[int row, int column] { - get - { - return matrix[row, column]; - } + get => matrix[row, column]; set { matrix[row, column] = value; } + } /// @@ -109,13 +120,13 @@ protected set /// /// Получает все cтроки матрицы /// - public ReadOnlyCollection> Rows + public Row[] Rows { get { _rows = GetRows(); - return Array.AsReadOnly(_rows); + return _rows; } @@ -124,18 +135,19 @@ public ReadOnlyCollection> Rows /// /// Столбцы матрицы /// - public ReadOnlyCollection> Columns + public Column[] Columns { get { _columns = GetColumns(); - return Array.AsReadOnly(_columns); + return _columns; } } + private Row GetRow(int rowIndex) { var fullRow = new Row(RowsCount); @@ -280,6 +292,15 @@ public T[] FindDiagonal() return mainDiagonal.ToArray(); } + /// + /// Преобразует матрицу в двумерный массив + /// + /// Двумерный массив + public virtual T[,] ToArray() + { + return matrix; + } + #region IEnumerable /// /// Текуший элемент diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index df1780e..1260fa5 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -20,10 +20,6 @@ public class Matrix : BaseMatrix where T : IComparable, IFormattable, ICon { #region Поля матрицы - private int rowsCount; - - private int columnsCount; - private bool isSquareMatrix; #endregion @@ -48,7 +44,7 @@ public bool IsSquareMatrix private set { - isSquareMatrix = rowsCount == columnsCount; + isSquareMatrix = base.RowsCount == base.ColumnsCount; } } @@ -62,16 +58,10 @@ private set /// Колличество столбцов матрице public Matrix(int rows, int columns) : base(rows, columns) { - rowsCount = rows; - - columnsCount = columns; - - matrix = new T[rowsCount, columns]; + matrix = new T[rows, rows]; IsSquareMatrix = RowsCount == ColumnsCount; - MatrixUpdated = OnDiagonalChanged; - } /// @@ -84,30 +74,6 @@ public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1, array.GetUpperBound IsSquareMatrix = RowsCount == ColumnsCount; - MatrixUpdated = OnDiagonalChanged; - } - - private event Action MatrixUpdated; - - - private int FindRank() - { - int rank = 0; - - Parallel.ForEach(this.ToSteppedView().Rows, row => - { - if (!row.IsZeroRow()) - { - rank++; - } - }); - - return rank; - } - - private void OnDiagonalChanged() - { - MainDiagonal = FindDiagonal(); } #region Операторы @@ -256,6 +222,29 @@ public static explicit operator Matrix(T[,] array) } #endregion + private async Task FindRankAsync() + { + return await Task.Run(FindRank); + } + + /// + /// Находит ранго мартицы + /// + /// Ранг матрицы + public int FindRank() + { + int rank = 0; + + Parallel.ForEach(this.ToSteppedView().Rows, row => + { + if (!row.IsZeroRow()) + { + rank++; + } + }); + + return rank; + } /// /// Возводит матрицу в степень @@ -310,21 +299,25 @@ public Matrix ToSteppedView() { var steppedMatrix = this; - - - steppedMatrix.ForEach((row, column) => + steppedMatrix.ForEach((row, column) => + { + + for (int j = row + 1; j < steppedMatrix.RowsCount; j++) { - - for (int j = row + 1; j < steppedMatrix.RowsCount; j++) + + if (this[row, row] != (dynamic)0) + { + dynamic koeficient = steppedMatrix[j, row] / (dynamic)matrix[row, row]; + + for (int k = 0; k < steppedMatrix.ColumnsCount; k++) { - dynamic koeficient = (dynamic)(steppedMatrix[j, row] / (dynamic)steppedMatrix[row, row]); - for (int k = 0; k < steppedMatrix.ColumnsCount; k++) - { - steppedMatrix[j, k] -= steppedMatrix[row, k] * koeficient; - } + steppedMatrix[j, k] -= steppedMatrix[row, k] * koeficient; + } - }); + } + } + }); @@ -461,11 +454,11 @@ public Matrix FillRandom(T min,T max) /// Заполняет матрицу по порядку:от 1 до размера последнего элемента матрицы /// /// Матрица заполненная по порядку - public Matrix FillInOrder() + public Matrix FillInOrder() { - Matrix filledMatrix = new Matrix(this.RowsCount, this.ColumnsCount); + Matrix filledMatrix = new Matrix(this.RowsCount, this.ColumnsCount); - int counter = 1; + dynamic counter = 1; ForEach((row,column) => filledMatrix[row, column] = counter++); @@ -508,15 +501,6 @@ public void ForEach(Action action) } } - /// - /// Преобразует матрицу в двумерный массив - /// - /// Двумерный массив - public T[,] ToArray() - { - return matrix; - } - /// /// Вывод матрицы в строковом представлении /// @@ -525,9 +509,9 @@ public override string ToString() { string outString = String.Empty; - for(int row = 0;row < this.rowsCount; row++) + for(int row = 0;row < this.RowsCount; row++) { - for(int column = 0;column < this.columnsCount; column++) + for(int column = 0;column < this.ColumnsCount; column++) { outString += matrix[row, column].ToString().PadLeft(8) + " "; diff --git a/Matrices/Structures/CellsCollections/BaseCellsCollection.cs b/Matrices/Structures/CellsCollections/BaseCellsCollection.cs index a6d853f..44afff5 100644 --- a/Matrices/Structures/CellsCollections/BaseCellsCollection.cs +++ b/Matrices/Structures/CellsCollections/BaseCellsCollection.cs @@ -80,6 +80,20 @@ public virtual void ForEach(Action action) } } + /// + /// Находит максимальное число среди ячеек + /// + /// Максимальное значение в последовательности ячеек + public T Max() => _cells.Max(); + + + /// + /// Находит минимальное число среди ячеек + /// + /// Минимальное значение в последовательности ячеек + public T Min() => _cells.Min(); + + #region IEnumerable /// /// Текуший элемент diff --git a/Matrices/Structures/Columns/Column.cs b/Matrices/Structures/Columns/Column.cs index 515b80f..05fc694 100644 --- a/Matrices/Structures/Columns/Column.cs +++ b/Matrices/Structures/Columns/Column.cs @@ -145,5 +145,7 @@ public Row Transponate() { return new Row(_cells); } + + } } diff --git a/Matrices/Structures/Rows/Row.cs b/Matrices/Structures/Rows/Row.cs index 31c02fb..5ac1569 100644 --- a/Matrices/Structures/Rows/Row.cs +++ b/Matrices/Structures/Rows/Row.cs @@ -17,6 +17,7 @@ namespace MathExtended.Matrices.Structures.Rows /// Тип содержимого строки public class Row : BaseCellsCollection where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable { + /// /// Создает строку с указанным размером /// @@ -25,6 +26,7 @@ public Row(int length) : base(length) { } + /// /// Создает строку на основе массива /// @@ -141,8 +143,9 @@ public Column Transponate() /// /// - если строка не нулевая, - если строка нулевая public bool IsZeroRow() - { + { return _cells.All((cell) => cell == (dynamic)0); } + } } From 8ed5bb3198caff5ce0c6d9695e5f91f6043e5ff7 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sun, 29 Aug 2021 20:48:03 +0300 Subject: [PATCH 32/68] --- Matrices/Matrix.cs | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index 24afcf7..bd2f687 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -310,23 +310,28 @@ public Matrix ToSteppedView() { var steppedMatrix = this; - - - steppedMatrix.ForEach((row, column) => + steppedMatrix.ForEach((row, column) => + { + + + for (int j = row + 1; j < steppedMatrix.RowsCount; j++) { - for (int j = row + 1; j < steppedMatrix.RowsCount; j++) + if (this[row, row] != (dynamic)0) { - dynamic koeficient = (dynamic)(steppedMatrix[j, row] / (dynamic)steppedMatrix[row, row]); + dynamic koeficient = (dynamic)(steppedMatrix[j, row] / (dynamic)this[row, row]); for (int k = 0; k < steppedMatrix.ColumnsCount; k++) { + steppedMatrix[j, k] -= steppedMatrix[row, k] * koeficient; + + continue; } } - }); + } + }); - return steppedMatrix; } @@ -461,11 +466,11 @@ public Matrix FillRandom(T min,T max) /// Заполняет матрицу по порядку:от 1 до размера последнего элемента матрицы /// /// Матрица заполненная по порядку - public Matrix FillInOrder() + public Matrix FillInOrder() { - Matrix filledMatrix = new Matrix(this.RowsCount, this.ColumnsCount); + Matrix filledMatrix = new Matrix(this.RowsCount, this.ColumnsCount); - int counter = 1; + dynamic counter = 1; ForEach((row,column) => filledMatrix[row, column] = counter++); @@ -525,17 +530,17 @@ public override string ToString() { string outString = String.Empty; - for(int row = 0;row < this.rowsCount; row++) + this.ForEach((row,column) => { - for(int column = 0;column < this.columnsCount; column++) + outString += this[row,column].ToString().PadLeft(this[row,column].ToString().Length + 1) + " "; + + if (column + 1 == ColumnsCount) { - outString += matrix[row, column].ToString().PadLeft(8) + " "; - + outString += "\n"; } + }); - outString += "\n"; - - } + return outString; } From 14967e6d73f13b38c1e9fb4f782a19c7aff16883 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sun, 29 Aug 2021 20:52:02 +0300 Subject: [PATCH 33/68] --- Matrices/Matrix.cs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index de4bc53..7a3b77e 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -307,17 +307,18 @@ public Matrix ToSteppedView() if (this[row, row] != (dynamic)0) { - dynamic koeficient = steppedMatrix[j, row] / (dynamic)matrix[row, row]; - if (this[row, row] != (dynamic)0) - { - dynamic koeficient = (dynamic)(steppedMatrix[j, row] / (dynamic)this[row, row]); - for (int k = 0; k < steppedMatrix.ColumnsCount; k++) + if (this[row, row] != (dynamic)0) { + dynamic koeficient = (dynamic)(steppedMatrix[j, row] / (dynamic)this[row, row]); - steppedMatrix[j, k] -= steppedMatrix[row, k] * koeficient; + for (int k = 0; k < steppedMatrix.ColumnsCount; k++) + { + steppedMatrix[j, k] -= steppedMatrix[row, k] * koeficient; + + } } } } @@ -519,7 +520,7 @@ public override string ToString() outString += matrix[row, column].ToString().PadLeft(8) + " "; } - }); + }; From 9bf9d3b8390e91c070e219f4309d165a7f42faac Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sun, 19 Sep 2021 01:46:07 +0300 Subject: [PATCH 34/68] --- MathExtended.csproj | 2 +- MathExtendent.cs | 1 + Matrices/BaseMatrix.cs | 57 +++++++++++-------- Matrices/Matrix.cs | 20 ++++--- .../CellsCollections/BaseCellsCollection.cs | 10 +++- .../CellsCollections/VectorSelector.cs | 23 ++++++++ Matrices/Structures/Columns/Column.cs | 12 ++++ Matrices/Structures/Columns/ReadOnlyColumn.cs | 20 ------- Matrices/Structures/Rows/Row.cs | 52 ++++++++++++----- 9 files changed, 127 insertions(+), 70 deletions(-) create mode 100644 Matrices/Structures/CellsCollections/VectorSelector.cs diff --git a/MathExtended.csproj b/MathExtended.csproj index a954286..5ac85ec 100644 --- a/MathExtended.csproj +++ b/MathExtended.csproj @@ -193,6 +193,7 @@ + @@ -216,7 +217,6 @@ - \ No newline at end of file diff --git a/MathExtendent.cs b/MathExtendent.cs index 5c37df3..7203075 100644 --- a/MathExtendent.cs +++ b/MathExtendent.cs @@ -151,6 +151,7 @@ public static void TabulateFunction(double x0, double xk, double dx, Func - /// Обрабытывает событие обновления матрицы - /// - protected virtual void OnMatrix_MatrixUpdated() - { - _mainDiagonal = FindDiagonal(); + _columns = GetColumns(); } @@ -118,36 +112,49 @@ protected set } /// - /// Получает все cтроки матрицы + /// Возвращает столбец или строку в + /// зависимости от селектора /// - public Row[] Rows + /// Селектор векторов + /// Индекс вектора + /// Вектор или строка по индексу + public virtual BaseReadOnlyCellsCollection this[VectorSelector selector, int index] { get { - _rows = GetRows(); - - return _rows; - + if(selector == VectorSelector.Rows) + { + return (ReadOnlyRow)_rows[index]; + } + else + { + return (ReadOnlyColumn)_columns[index]; + } } } /// - /// Столбцы матрицы + /// Возвращает стоки или столбцы в зависимости от селектора /// - public Column[] Columns - { + /// Селектор + /// Массив строк или столбцов + public virtual BaseCellsCollection[] this[VectorSelector selector] + { get { - _columns = GetColumns(); - - return _columns; - + if (selector == VectorSelector.Rows) + { + return _rows; + } + else + { + return _columns; + } } - + } - private Row GetRow(int rowIndex) { var fullRow = new Row(RowsCount); diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index 7a3b77e..e363f3e 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -9,6 +9,7 @@ using System.ComponentModel; using System.Runtime.CompilerServices; using System.Threading; +using MathExtended.Matrices.Structures.CellsCollections; namespace MathExtended.Matrices { @@ -224,7 +225,7 @@ public static explicit operator Matrix(T[,] array) #endregion private async Task FindRankAsync() { - return await Task.Run(FindRank); + return await Task.Run(FindRank); } /// @@ -235,9 +236,9 @@ public int FindRank() { int rank = 0; - Parallel.ForEach(this.ToSteppedView().Rows, row => + Parallel.ForEach(this.ToSteppedView()[VectorSelector.Rows], row => { - if (!row.IsZeroRow()) + if (!row.IsZero()) { rank++; } @@ -367,7 +368,6 @@ private Matrix CreateMatrixWithoutRow(int row) return result; } -#if DEBUG /// /// Расчитывает детерминант матрицы /// @@ -381,18 +381,18 @@ public T CalculateDeterminant() { return Operator.Convert(this.precalculatedDeterminant); } - + if (!this.IsSquareMatrix) { throw new InvalidOperationException("determinant can be calculated only for square matrix"); } - + if (this.RowsCount == 2) { return Operator.Subtract(Operator.Multiply(this[0, 0], this[1, 1]), Operator.Multiply(this[0, 1], this[1, 0])); } - - + + for (var j = 0; j < this.RowsCount; j++) { result += Operator.Multiply(Operator.Multiply((j % 2 == 1 ? (dynamic)1 : -(dynamic)1), this[1, j]), @@ -401,8 +401,8 @@ public T CalculateDeterminant() } return result; + } -#endif #region Фичи @@ -520,6 +520,8 @@ public override string ToString() outString += matrix[row, column].ToString().PadLeft(8) + " "; } + + outString += "\n"; }; diff --git a/Matrices/Structures/CellsCollections/BaseCellsCollection.cs b/Matrices/Structures/CellsCollections/BaseCellsCollection.cs index 44afff5..60d7af8 100644 --- a/Matrices/Structures/CellsCollections/BaseCellsCollection.cs +++ b/Matrices/Structures/CellsCollections/BaseCellsCollection.cs @@ -92,7 +92,15 @@ public virtual void ForEach(Action action) /// /// Минимальное значение в последовательности ячеек public T Min() => _cells.Min(); - + + /// + /// Проверяет нулевая ли коллекция + /// + /// - если все ячейки равны нулю, - если хоть одна ячейка не равна нулю + public bool IsZero() + { + return _cells.All((cell) => cell == (dynamic)0); + } #region IEnumerable /// diff --git a/Matrices/Structures/CellsCollections/VectorSelector.cs b/Matrices/Structures/CellsCollections/VectorSelector.cs new file mode 100644 index 0000000..d9f0d44 --- /dev/null +++ b/Matrices/Structures/CellsCollections/VectorSelector.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MathExtended.Matrices.Structures.CellsCollections +{ + /// + /// Селектор выборо векторов матрицы(вектор-строка или вектро-столбец) + /// + public enum VectorSelector + { + /// + /// Строка + /// + Rows = 1, + /// + /// Столбец + /// + Columns = 2 + } +} diff --git a/Matrices/Structures/Columns/Column.cs b/Matrices/Structures/Columns/Column.cs index 05fc694..24f1001 100644 --- a/Matrices/Structures/Columns/Column.cs +++ b/Matrices/Structures/Columns/Column.cs @@ -137,6 +137,18 @@ public static explicit operator Column(ReadOnlyColumn readOnlyColumn) return column; } + /// + /// Явно приводит к + /// Делая пригодным для записи + /// + /// Привидимый столбец + public static explicit operator ReadOnlyColumn(Column column) + { + ReadOnlyColumn readOnlyColumn = new ReadOnlyColumn(column._cells); + + return readOnlyColumn; + } + /// /// Транспонирует столбец /// diff --git a/Matrices/Structures/Columns/ReadOnlyColumn.cs b/Matrices/Structures/Columns/ReadOnlyColumn.cs index 6249e42..2bc0e26 100644 --- a/Matrices/Structures/Columns/ReadOnlyColumn.cs +++ b/Matrices/Structures/Columns/ReadOnlyColumn.cs @@ -30,25 +30,5 @@ public ReadOnlyColumn(T[] array) : base(array) { } - - /// - /// Явно приводит к - /// делая только для чтения - /// - /// Приводимый столбец - public static explicit operator ReadOnlyColumn(Column column) - { - ReadOnlyColumn readOnlyColumn = new ReadOnlyColumn(column.Size); - - int i = 0; - - readOnlyColumn.ForEach((cell) => - { - column[i] = cell; - }); - - return readOnlyColumn; - } - } } diff --git a/Matrices/Structures/Rows/Row.cs b/Matrices/Structures/Rows/Row.cs index 5ac1569..c832615 100644 --- a/Matrices/Structures/Rows/Row.cs +++ b/Matrices/Structures/Rows/Row.cs @@ -54,7 +54,7 @@ public static implicit operator Row(T[] array) int i = 0; - row.ForEach((cell) => multipliedRow[i++] = Operator.Multiply(cell, multiplier)); + row.ForEach((cell) => multipliedRow[i++] = (T)Operator.Multiply(cell, multiplier)); return multipliedRow; } @@ -75,7 +75,7 @@ public static implicit operator Row(T[] array) summedRow.ForEach((cell) => { - summedRow[i++] = Operator.Add(rowA[i++], rowB[i++]); + summedRow[i++] = (T)Operator.Add(rowA[i++], rowB[i++]); }); return summedRow; @@ -100,7 +100,7 @@ public static implicit operator Row(T[] array) int i = 0; - summedRow.ForEach((cell) => summedRow[i++] = Operator.Subtract(rowA[i++], rowB[i++])); + summedRow.ForEach((cell) => summedRow[i++] = (T)Operator.Subtract(rowA[i++], rowB[i++])); return summedRow; } @@ -110,6 +110,27 @@ public static implicit operator Row(T[] array) } } + /// + /// Умножает строку на столбец + /// + /// Строка + /// Столбец + /// результат умножения + public static Matrix operator *(Row row, Column column) + { + Matrix matrix = new Matrix(row.Size,column.Size); + + for(int i = 0;i < row.Size;i++) + { + for(int j = 0;j < column.Size;j++) + { + matrix[i, j] = (T)Operator.Multiply(row[i],column[j]); + } + } + + return matrix; + } + /// /// Приводит к /// делая возможной запись @@ -118,9 +139,9 @@ public static implicit operator Row(T[] array) public static explicit operator Row(ReadOnlyRow readOnlyRow) { Row row = new Row(readOnlyRow.Size); - + int i = 0; - + readOnlyRow.ForEach((cell) => { row[i] = cell; @@ -130,21 +151,24 @@ public static explicit operator Row(ReadOnlyRow readOnlyRow) } /// - /// Транспонирует строку + /// Приводит к + /// делая возможной запись /// - /// Столбец - public Column Transponate() + /// Приводимая строка + public static explicit operator ReadOnlyRow(Row row) { - return new Column(_cells); + ReadOnlyRow readOnlyRow = new ReadOnlyRow(row._cells); + + return readOnlyRow; } /// - /// Провереяет нулевая ли эта трока + /// Транспонирует строку /// - /// - если строка не нулевая, - если строка нулевая - public bool IsZeroRow() - { - return _cells.All((cell) => cell == (dynamic)0); + /// Столбец + public Column Transponate() + { + return new Column(_cells); } } From 75f97be43e1ae7e5dfb39aacf8b0164a2f7c6fd4 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sat, 25 Sep 2021 01:14:56 +0300 Subject: [PATCH 35/68] --- Interfaces/IMatrix.cs | 7 +- MathExtended.csproj | 5 +- Matrices/BaseMatrix.cs | 6 +- Matrices/Matrix.cs | 10 +- .../CellsCollections/BaseCellsCollection.cs | 15 +- .../BaseReadOnlyCellsCollection.cs | 154 +++++++++++++++++- .../CellsCollections/MainDiagonal.cs | 28 ++++ Matrices/Structures/Columns/Column.cs | 4 +- Matrices/Structures/Rows/Row.cs | 4 +- 9 files changed, 203 insertions(+), 30 deletions(-) create mode 100644 Matrices/Structures/CellsCollections/MainDiagonal.cs diff --git a/Interfaces/IMatrix.cs b/Interfaces/IMatrix.cs index 7dcd9b4..6c39aab 100644 --- a/Interfaces/IMatrix.cs +++ b/Interfaces/IMatrix.cs @@ -1,4 +1,5 @@ -using System; +using MathExtended.Matrices.Structures.CellsCollections; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -9,13 +10,13 @@ namespace MathExtended.Interfaces /// /// Определяет основную структуру матрицы /// - /// + /// Числовой тип public interface IMatrix where T: IComparable, IFormattable, IConvertible, IComparable, IEquatable { /// /// Главная диагональ /// - T[] MainDiagonal { get;} + MainDiagonal MainDiagonal { get;} /// /// Метод нахождения диагонали diff --git a/MathExtended.csproj b/MathExtended.csproj index 5ac85ec..3cf8a6c 100644 --- a/MathExtended.csproj +++ b/MathExtended.csproj @@ -193,6 +193,7 @@ + @@ -215,8 +216,6 @@ - - - + \ No newline at end of file diff --git a/Matrices/BaseMatrix.cs b/Matrices/BaseMatrix.cs index 9dd803b..224992e 100644 --- a/Matrices/BaseMatrix.cs +++ b/Matrices/BaseMatrix.cs @@ -34,7 +34,7 @@ public abstract class BaseMatrix : IEnumerator, IMatrix where T: ICompa /// /// Главная диагональ /// - protected T[] _mainDiagonal; + protected MainDiagonal _mainDiagonal; private int _rowPosition = 0; @@ -97,11 +97,11 @@ public int ColumnsCount /// /// Главная диагональ /// - public T[] MainDiagonal + public MainDiagonal MainDiagonal { get { - _mainDiagonal = FindDiagonal(); + _mainDiagonal = new MainDiagonal(FindDiagonal()); return _mainDiagonal; } diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index e363f3e..6b2ee8f 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -96,7 +96,7 @@ public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1, array.GetUpperBound { Parallel.For(0, matrixB.ColumnsCount, colunm => { - matrixC[row, colunm] = (dynamic)matrixA[row, colunm] + (dynamic)matrixB[row, colunm]; + matrixC[row, colunm] = (T)(dynamic)matrixA[row, colunm] + (dynamic)matrixB[row, colunm]; }); }); return matrixC; @@ -124,7 +124,7 @@ public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1, array.GetUpperBound Parallel.For(0, matrixB.ColumnsCount, j => { - matrixC[i, j] = Operator.Subtract(matrixA[i, j], matrixB[i, j]); + matrixC[i, j] = (T)Operator.Subtract(matrixA[i, j], matrixB[i, j]); }); }); @@ -152,7 +152,7 @@ public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1, array.GetUpperBound { Parallel.For(0, matrixA.ColumnsCount, column => { - matrixB[row, column] = Operator.Multiply(matrixA[row, column], multiplier); + matrixB[row, column] = (T)Operator.Multiply(matrixA[row, column], multiplier); }); }); @@ -188,8 +188,8 @@ public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1, array.GetUpperBound Parallel.For(0, matrixB.ColumnsCount, column => { for (int k = 0; k < matrixB.RowsCount; k++)// A B или C ? - { - matrixC[row, column] = Operator.Add(matrixC[row, column], Operator.Multiply(matrixA[row, k], matrixB[k, column])); + { + matrixC[row, column] = (T)Operator.Add(matrixC[row, column], Operator.Multiply(matrixA[row, k], matrixB[k, column])); } }); }); diff --git a/Matrices/Structures/CellsCollections/BaseCellsCollection.cs b/Matrices/Structures/CellsCollections/BaseCellsCollection.cs index 60d7af8..ac82f39 100644 --- a/Matrices/Structures/CellsCollections/BaseCellsCollection.cs +++ b/Matrices/Structures/CellsCollections/BaseCellsCollection.cs @@ -14,11 +14,7 @@ namespace MathExtended.Matrices.Structures.CellsCollection /// Числовой тип public class BaseCellsCollection : IEnumerator where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable { - /// - /// Массив ячеек - /// - protected T[] _cells; - + private T[] _cells; private int _size; private bool disposedValue; private int _position; @@ -41,6 +37,15 @@ public virtual T this[int index] } } + /// + /// Массив ячеек + /// + protected T[] Cells + { + get => _cells; + } + + /// /// Размер коллекции /// diff --git a/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs b/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs index 1a6ff67..abee050 100644 --- a/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs +++ b/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs @@ -1,4 +1,6 @@ -using System; +using MathExtended.Interfaces; +using System; +using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; @@ -10,32 +12,170 @@ namespace MathExtended.Matrices.Structures.CellsCollection /// Описывает коллекцию ячеек только для чтения /// /// Числовой тип - public abstract class BaseReadOnlyCellsCollection : BaseCellsCollection where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable + public abstract class BaseReadOnlyCellsCollection : IEnumerator where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable { + private T[] _cells; + private bool disposedValue; + private int _position; + /// /// Индексатор.По индексу возвращает значение ячейки /// /// Индекс элемента /// Элемент по индексу - public override T this[int index] { get => base[index];} + public T this[int index] { get => _cells[index];} /// /// Создает коллекцию ячеек только для чтения с указанным размером /// /// Размер коллеции - public BaseReadOnlyCellsCollection(int size) : base(size) + public BaseReadOnlyCellsCollection(int size) { - + _cells = new T[size]; } /// /// Создает коллецию только для чтения на основе массива /// /// Массив - public BaseReadOnlyCellsCollection(T[] array) : base(array) + public BaseReadOnlyCellsCollection(T[] array) { + _cells = array; + } + /// + /// Применяет действие ко всем элементам + /// + /// Действие + public virtual void ForEach(Action action) + { + foreach (T cell in _cells) + { + action(cell); + } } - + + /// + /// Находит максимальное число среди ячеек + /// + /// Максимальное значение в последовательности ячеек + public virtual T Max() => _cells.Max(); + + + /// + /// Находит минимальное число среди ячеек + /// + /// Минимальное значение в последовательности ячеек + public virtual T Min() => _cells.Min(); + + /// + /// Проверяет нулевая ли коллекция + /// + /// - если все ячейки равны нулю, - если хоть одна ячейка не равна нулю + public bool IsZero() + { + return _cells.All((cell) => cell == (dynamic)0); + } + + #region IEnumerable + /// + /// Текуший элемент + /// + public T Current + { + get + { + return _cells[_position]; + } + } + + object IEnumerator.Current => Current; + + /// + /// Размер коллекции + /// + public int Size + { + get => _cells.Length; + } + + /// + /// Перечислитель + /// + /// Перечислитель матрицы + public IEnumerator GetEnumerator() + { + foreach (var i in _cells) + { + + yield return i; + } + } + + /// + /// Перемещает индексатор на одну позицию вперед + /// + /// true или false в зависимости ли можно переместить индексатор + public bool MoveNext() + { + + if (_position < this.Size - 1) + { + return true; + } + else + { + return false; + } + + + + } + + /// + /// Перемещает индексатор в начало матрицы + /// + public void Reset() + { + _position = -1; + } + + /// + /// Высвобождает использованные ресурсы + /// + /// + protected virtual void Dispose(bool disposing) + { + if (!disposedValue) + { + if (disposing) + { + _cells = null; + } + + // TODO: освободить неуправляемые ресурсы (неуправляемые объекты) и переопределить метод завершения + // TODO: установить значение NULL для больших полей + disposedValue = true; + } + } + + // // TODO: переопределить метод завершения, только если "Dispose(bool disposing)" содержит код для освобождения неуправляемых ресурсов + // ~Matrix() + // { + // // Не изменяйте этот код. Разместите код очистки в методе "Dispose(bool disposing)". + // Dispose(disposing: false); + // } + + /// + /// Освобождает использованные ресурсы + /// + public void Dispose() + { + // Не изменяйте этот код. Разместите код очистки в методе "Dispose(bool disposing)". + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + #endregion } } diff --git a/Matrices/Structures/CellsCollections/MainDiagonal.cs b/Matrices/Structures/CellsCollections/MainDiagonal.cs new file mode 100644 index 0000000..9e96b82 --- /dev/null +++ b/Matrices/Structures/CellsCollections/MainDiagonal.cs @@ -0,0 +1,28 @@ +using MathExtended.Interfaces; +using MathExtended.Matrices.Structures.CellsCollection; +using MathExtended.Matrices.Structures.Rows; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MathExtended.Matrices.Structures.CellsCollections +{ + /// + /// Описывает главную диагональ матрицы + /// + /// Числовой тип + public class MainDiagonal : BaseReadOnlyCellsCollection where T : IComparable, IFormattable, IConvertible, IComparable, IEquatable + { + /// + /// Создает клавную диагональ на основе массива + /// + /// Массив + public MainDiagonal(T[] array):base(array) + { + + } + + } +} diff --git a/Matrices/Structures/Columns/Column.cs b/Matrices/Structures/Columns/Column.cs index 24f1001..6ef273f 100644 --- a/Matrices/Structures/Columns/Column.cs +++ b/Matrices/Structures/Columns/Column.cs @@ -144,7 +144,7 @@ public static explicit operator Column(ReadOnlyColumn readOnlyColumn) /// Привидимый столбец public static explicit operator ReadOnlyColumn(Column column) { - ReadOnlyColumn readOnlyColumn = new ReadOnlyColumn(column._cells); + ReadOnlyColumn readOnlyColumn = new ReadOnlyColumn(column.Cells); return readOnlyColumn; } @@ -155,7 +155,7 @@ public static explicit operator ReadOnlyColumn(Column column) /// Строка public Row Transponate() { - return new Row(_cells); + return new Row(Cells); } diff --git a/Matrices/Structures/Rows/Row.cs b/Matrices/Structures/Rows/Row.cs index c832615..353db75 100644 --- a/Matrices/Structures/Rows/Row.cs +++ b/Matrices/Structures/Rows/Row.cs @@ -157,7 +157,7 @@ public static explicit operator Row(ReadOnlyRow readOnlyRow) /// Приводимая строка public static explicit operator ReadOnlyRow(Row row) { - ReadOnlyRow readOnlyRow = new ReadOnlyRow(row._cells); + ReadOnlyRow readOnlyRow = new ReadOnlyRow(row.Cells); return readOnlyRow; } @@ -168,7 +168,7 @@ public static explicit operator ReadOnlyRow(Row row) /// Столбец public Column Transponate() { - return new Column(_cells); + return new Column(Cells); } } From 7d6dde10a101991f612d5871af3690d723f109d7 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sat, 16 Oct 2021 17:36:49 +0300 Subject: [PATCH 36/68] --- Matrices/BaseMatrix.cs | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/Matrices/BaseMatrix.cs b/Matrices/BaseMatrix.cs index 224992e..8c64bc8 100644 --- a/Matrices/BaseMatrix.cs +++ b/Matrices/BaseMatrix.cs @@ -118,7 +118,7 @@ protected set /// Селектор векторов /// Индекс вектора /// Вектор или строка по индексу - public virtual BaseReadOnlyCellsCollection this[VectorSelector selector, int index] + protected virtual BaseReadOnlyCellsCollection this[VectorSelector selector, int index] { get { @@ -155,7 +155,12 @@ public virtual BaseCellsCollection[] this[VectorSelector selector] } - private Row GetRow(int rowIndex) + /// + /// Возвращает строку матрицы соответсвующую индексу + /// + /// Индекс строки + /// строка матрицы + public Row GetRow(int rowIndex) { var fullRow = new Row(RowsCount); @@ -167,7 +172,11 @@ private Row GetRow(int rowIndex) return fullRow; } - private Row[] GetRows() + /// + /// Возвращает все строки матрицы + /// + /// Массив из + public Row[] GetRows() { Row[] rows = new Row[RowsCount]; @@ -209,7 +218,12 @@ public void SetRows(Row[] rows) }); } - private Column GetColumn(int columnIndex) + /// + /// Возвращает столбец матрицы по индексу + /// + /// Индекс столбца + /// + public Column GetColumn(int columnIndex) { var fullColumn = new List(); @@ -221,7 +235,11 @@ private Column GetColumn(int columnIndex) return fullColumn.ToArray(); } - private Column[] GetColumns() + /// + /// Возвращает все столбцы матрицы + /// + /// Массив + public Column[] GetColumns() { Column[] columns = new Column[ColumnsCount]; From ed3632302f57c01ca0beba17896bb71b2c58eda9 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sat, 16 Oct 2021 17:42:26 +0300 Subject: [PATCH 37/68] --- Matrices/Matrix.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index 6b2ee8f..3a1868e 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -404,6 +404,15 @@ public T CalculateDeterminant() } + /// + /// Расчитывает детерминант матрицы асинхронно + /// + /// Детерминант матрицы + public async Task CalculateDeterminantAsync() + { + return await Task.Run(CalculateDeterminant); + } + #region Фичи /// From 876667bb09828beb79687bf54b8e13098d900db4 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sat, 16 Oct 2021 17:47:05 +0300 Subject: [PATCH 38/68] --- Matrices/BaseMatrix.cs | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/Matrices/BaseMatrix.cs b/Matrices/BaseMatrix.cs index 8c64bc8..a8a350d 100644 --- a/Matrices/BaseMatrix.cs +++ b/Matrices/BaseMatrix.cs @@ -162,14 +162,23 @@ public virtual BaseCellsCollection[] this[VectorSelector selector] /// строка матрицы public Row GetRow(int rowIndex) { - var fullRow = new Row(RowsCount); + if (rowIndex < RowsCount) + { + var fullRow = new Row(RowsCount); + + for (int row = 0; row < ColumnsCount; row++) + { + fullRow[row] = this[rowIndex, row]; + } - for (int row = 0; row < ColumnsCount; row++) + return fullRow; + } + else { - fullRow[row] = this[rowIndex, row]; + throw new IndexOutOfRangeException($"Index {rowIndex} out of the bounds matrix"); } - return fullRow; + } /// @@ -225,14 +234,22 @@ public void SetRows(Row[] rows) /// public Column GetColumn(int columnIndex) { - var fullColumn = new List(); + if (columnIndex < ColumnsCount) + { + var fullColumn = new List(); - for (int row = 0; row < RowsCount; row++) + for (int row = 0; row < RowsCount; row++) + { + fullColumn.Add(this[row, columnIndex]); + } + + return fullColumn.ToArray(); + } + else { - fullColumn.Add(this[row, columnIndex]); + throw new IndexOutOfRangeException($"Index {columnIndex} out of the bounds matrix"); } - - return fullColumn.ToArray(); + } /// From e2acd34283523cc3ed502654e9bef6f6ea8a5d90 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sat, 16 Oct 2021 20:29:28 +0300 Subject: [PATCH 39/68] --- Exceptions/VectorsDifferentSizeException.cs | 22 +++++++++++++++ MathExtended.csproj | 1 + Matrices/Structures/Columns/Column.cs | 31 ++++++++++++++++++++- Matrices/Structures/Rows/Row.cs | 25 +++++++++++------ 4 files changed, 69 insertions(+), 10 deletions(-) create mode 100644 Exceptions/VectorsDifferentSizeException.cs diff --git a/Exceptions/VectorsDifferentSizeException.cs b/Exceptions/VectorsDifferentSizeException.cs new file mode 100644 index 0000000..780b857 --- /dev/null +++ b/Exceptions/VectorsDifferentSizeException.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MathExtended.Exceptions +{ + /// + /// Возникает при попытке операции + /// над вектор строками/столбцами разных размеров + /// + public class VectorsDifferentSizeException : Exception + { + private string _message = "Vector row/column of different sizes"; + + /// + /// Сообщение исключения + /// + public override string Message => _message; + } +} diff --git a/MathExtended.csproj b/MathExtended.csproj index 3cf8a6c..bfae7d8 100644 --- a/MathExtended.csproj +++ b/MathExtended.csproj @@ -190,6 +190,7 @@ + diff --git a/Matrices/Structures/Columns/Column.cs b/Matrices/Structures/Columns/Column.cs index 6ef273f..3ba74f6 100644 --- a/Matrices/Structures/Columns/Column.cs +++ b/Matrices/Structures/Columns/Column.cs @@ -118,11 +118,40 @@ public static implicit operator Column(T[] array) } } + /// + /// Умножает столбец на строку + /// + /// Столбец + /// Строка + /// результат умножения + public static Matrix operator *(Column column, Row row) + { + if (column.Size != row.Size) + { + throw new VectorsDifferentSizeException(); + } + else + { + Matrix matrix = new Matrix(row.Size, column.Size); + + for (int i = 0; i < row.Size; i++) + { + for (int j = 0; j < column.Size; j++) + { + matrix[i, j] = (T)Operator.Multiply(row[j], column[i]); + } + } + + return matrix; + } + } + + /// /// Явно приводит к /// Делая пригодным для записи /// - /// Привидимый столбец + /// Приводимый столбец public static explicit operator Column(ReadOnlyColumn readOnlyColumn) { Column column = new Column(readOnlyColumn.Size); diff --git a/Matrices/Structures/Rows/Row.cs b/Matrices/Structures/Rows/Row.cs index 353db75..85d4805 100644 --- a/Matrices/Structures/Rows/Row.cs +++ b/Matrices/Structures/Rows/Row.cs @@ -111,26 +111,33 @@ public static implicit operator Row(T[] array) } /// - /// Умножает строку на столбец + /// Умножает строку на стотбец, получая число /// /// Строка /// Столбец - /// результат умножения - public static Matrix operator *(Row row, Column column) + /// число + public static T operator *(Row row, Column column) { - Matrix matrix = new Matrix(row.Size,column.Size); - - for(int i = 0;i < row.Size;i++) + if (row.Size != column.Size) + { + throw new VectorsDifferentSizeException(); + } + else { - for(int j = 0;j < column.Size;j++) + dynamic num = 0; + + for (int i = 0; i < row.Size; i++) { - matrix[i, j] = (T)Operator.Multiply(row[i],column[j]); + num += (T)Operator.Multiply(row[i], column[i]); } + + return num; } - return matrix; + } + /// /// Приводит к /// делая возможной запись From 13d42548a5e33a6186bcd9a871d14b8fc1dc97e3 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" Date: Sat, 6 Nov 2021 17:21:40 +0300 Subject: [PATCH 40/68] --- .../build/DefaultDocumentation.Common.dll | Bin 0 -> 70144 bytes .../build/DefaultDocumentation.dll | Bin 0 -> 10240 bytes .../build/ICSharpCode.Decompiler.dll | Bin 0 -> 1985024 bytes .../DefaultDocumentation.0.7.9/build/NLog.dll | Bin 0 -> 821248 bytes .../build/System.Reflection.Metadata.dll | Bin 0 -> 462720 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 packages/DefaultDocumentation.0.7.9/build/DefaultDocumentation.Common.dll create mode 100644 packages/DefaultDocumentation.0.7.9/build/DefaultDocumentation.dll create mode 100644 packages/DefaultDocumentation.0.7.9/build/ICSharpCode.Decompiler.dll create mode 100644 packages/DefaultDocumentation.0.7.9/build/NLog.dll create mode 100644 packages/DefaultDocumentation.0.7.9/build/System.Reflection.Metadata.dll diff --git a/packages/DefaultDocumentation.0.7.9/build/DefaultDocumentation.Common.dll b/packages/DefaultDocumentation.0.7.9/build/DefaultDocumentation.Common.dll new file mode 100644 index 0000000000000000000000000000000000000000..3a7e90311037e0f9245b866c62544ec3964f219d GIT binary patch literal 70144 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 literal 0 HcmV?d00001 diff --git a/packages/DefaultDocumentation.0.7.9/build/DefaultDocumentation.dll b/packages/DefaultDocumentation.0.7.9/build/DefaultDocumentation.dll new file mode 100644 index 0000000000000000000000000000000000000000..0adfab8b57a34e6098a58b3bc0a688f5a31ddd49 GIT binary patch literal 10240 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 TlW=0f>HG)Q!_T|(DG~TTh%2*s literal 0 HcmV?d00001 diff --git a/packages/DefaultDocumentation.0.7.9/build/ICSharpCode.Decompiler.dll b/packages/DefaultDocumentation.0.7.9/build/ICSharpCode.Decompiler.dll new file mode 100644 index 0000000000000000000000000000000000000000..768cd9ead593f5f37e8c83f0373325c9a05f23b6 GIT binary patch literal 1985024 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⋙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%0AiL$47M8^KBvtti-aWI$-j8luJIC40dO9YZ zcSa@ORwt_V4cb=hv+ke`p}%hDI>u^PDy8*u(yUiV4wpk8L7CP-at)m2bv;~MKp&Rw zea4xXOvSV~yZV`Q*L>!C9)hPDDWRZJk%8-UNc9*4$}y^7h~Iv0h1}#+gmMg-gUhO` z;I*j^?4i1V$M#Tct4ooF#cZo*J`1_9G-}bcXl7eUzt+Q@9zQ_guEB-qba*L1ZK?~! z)Z~i6zKVCj%OM0t%W{Mm+Un+L67+X6=VBHgp7Od9jW%cBsjoq0-+9XHC1@|*BsW;e z@_S;SKRrE}-9hs^?P;m`C& z5Jp>l@X+JDVbGs{xIu_PX@-n+#p7yE_nN;BtHTa{@@WR#UCS|yjIsXTa=ZQCz`8znA>rG{-l-8DyG5ch&8Iy&sC=Zxj%$Mn>wfYhKtnIknjqfOjW)lY<$QCL~V2dim4`XzG5XX8Uxq%@;z| z7|M}i_Qhr|?nQ7kdgt{(Wq4k;{W2su3NJ;S(Dw-KqTOlF&(bo)r=4y!=&v;xz(*)E z5D&KX9KUApbWtZ|yF?7fnjkDO30Uo zq_*Mxs-u^D7Y}LisxXqIu+&d@=SRSg+{?fw5BEHQrl}51;1xVzhi1F7WG z9K2(%(7(_$a<9<&eiK=S6AAW^h*mQjg+v57f6(y=qvI&*cx0}Q$GOtK@$>Q0%0vw& zJ$NxC+U4v0NZHIB4Gxs0W5{@tJF^X5A*=HpcPSl-(U6G>eUpa?=u= zt_LcwX83|EEu`sD213lWsR>N}@wvQ}Zkn=a{TwG|PbrbJs1(De@tdc?<;imDwKu$lb)9w89jaT{K{nr%x$V!9kb{?Yc`CitSR8)7_;|#_B#bfe)s4>VXP+kmz z{fWLoCR*qZ)Ti1YRGdlhV2=cTwXnp$Fs`p@WdbH=1LPdSw$GC&Xb&s zp_ZBPi8+`Rx{RyxF?~l7ep>^=d6$4%R>sP*0hsKd&?HWS_dqhsL5#=A!W2m!@dT!V0vG48v34c*$R!1 zZ>qzkd*^x6`xGmGdo)@bCO@3S7q0qtwd5`ss*``}C&QBCk&x~iu-!ZOdlgxq+yXsNP4P7?%ve^rA;=GboHYIJ9(^bem6|_?N2_?677zIy*|rrphc4!7|!J=YiQfWb%ONMjoV? z2f8@?tvv7xjLrl9B!b;Ch=OefiAORBHgFZ^p!v7EE)~Uf;ZQ|!V*uNRGc&S!RTRsu zeYxc{m}6(151}l=28HaE?Si4iBQ!qa9Im6>JR_;@I8=jCI3q!zEPho=#^ZgCphobjMhQBH3-RtPUY)CjzON#`t|+(^ zJDvj}`E3lus@iM9iUI~rk|6#vD1xN3*XF7VBO0S)!a9lQT8n`f9WXhIpp#lD1%-Cv zyFm!$bN9T-oCRvsRjH+HFmRji9#s<}*=G5zM~<5{l?+vqoelx97; zsE933`Lle}1@@0QwMU)FmI=SO{;%4KFWUWTD)saTKVDN$<&*dS)%^XhT8S^*V>$;Q zTfb|2d@prUtf8g{Nz$;UzAi%ixO|1*Z*vQpZ0Ezr^>8Lam_bclfDt$vs?0gGxtruV zNahj@#o;DV=2EyZ7uD!3&4YjVSKv;l%>CcmP2eDqSY>gk`%YzP>16zxU=vg--w7AE zrywNzAD{4U*5C2M^|p2W88*s>`mT0vFtL`gS_fntPb&F2fiC&^-IONlf#1+yxX}wB z)^_+}fR09)RG>o&#h)WK$T$+~sWfB3TnBmo!tF?0Px~osl=l!u5n{(c#~%?JWE_cS z$PU|%{;Qvp8SrO6V;Jyr@%3WrO`)>NFH5KH2-B+PKQNqYDSEbBqs zlv)wvsMh7tWmjTM8BE~}17UNqv0e^w{8REjh}d&C?X%m=5pAWFdxpK06K2vi-G52* zU+i!aG*Yc+^Z1E_K2qUutSiwz>Gt?_6N9<$+=M;kzwNbmlY^12>K2#`#WT4Wjc^V2 zf_EfKsoAS;xK6@~1_P3k+!YX*Sd%Li&1Po_&jzu-9&GwYlZy!uA=|p}5z18Zfp_d` z@m9w}$uO*m0*RC1GgUeeOS738I60L?w(3ItznuBuEz3x4@a5XSzq2GLSGMO+X3+J z>Xrwvwgp_ZdE2VJvRcn;4p%$1t-?vnLrS))ZOxp-e7bOHo_;j&fxT7xU`&gz?VUk- zdks%HbPhA_j;iZ1#@$REbi8)A=oZD$56d6y>(kT`3p#!A$P4r4A|YCi4(}1%YX)ThODP>tNCmSWdmlL;fBB2=5pSNi0A<_f7I7nVj>U$9grUn`L2|)GtF8JOE zw?xnG3RJdjv3N9kGhm$5NW95*Y+y)YK0XJT-EDW8nWVwBNT6Xz;vmo@8Anlg_TIab zo=MV|5Y(}OA&FzKkd(x!C9#rd&+B0@tnuO85?nohOX5kKOcHBalGn5(ziCN9(-I8XC1s`feyS*zI2JLK7R8I36z3%_h3zzY9MEV{ zycBSLaY5oA2q?;{i4^761d9r)n-;~vn^%-yRFIkmjgv7b1J$_N*t?z|Lgp1kaqqRi zsq9t#%AaZu;oZ%V-r);*~HBT zON%TwB6%c`Q=wDg^GI_w!|>22A8lm@QJ0FHTHk%0S@g>nTqVUt#nMcbloXXm>wOnL4woiDTeq4x-#_(-{dm6S*LddP$v@&3;s0!45qJ#Fc7lJH zKa&4p?Nz6kRzeC%V<{t(QiZRV{X*nxT1riAkZ)qi<;GHG(I0|n(8f~x@fJFPH1pp~ zNf|Ha9vn3Y`owJeruPc6h0g93l(tOv)Mj7?zO}Lm%9{pn`YC4KA#ps=0J1~+jr zOL}@Rf_WJ=I~^P%4xe<{{5I?$cyI%<|81D*u5L552U}X45q$`0o%9f5J_F9zl~2QJ z(T~&7y4H>iEGzmUBliHK(NM@h?`H6!vxj2N5#LrbhUA^>DQi<#A}tMv1F>Z2Cr5B; zoOWviyS>1L662PfuY zjvhW9@>3j%Ud69L!gcuOab!$R2)hFJ3g@V|cb=oYnR<%IQR$L-AkQ2HwDKC@$58ai8F|RK2LmOXybTl| ze(+H_9c{}Aa5xyx{{ZVbp>zSd&dl)))N@>up?5y@#()fc879$cPr$deAgDgZn|Z0$ zZ)iAq9@w$&egPhGD=u1Xd@hXM2iroD3xMK)9*Rw@M$xK?;=3Els46tat4Cxg*Zuiy zG1PY33-P~&{M!BegcHG=Ww^1BR zzlCjx?a3(hcFYQ*2)3vic6om;sSy|-^P6~HT#4@Dzog~$H>|zKp zr->axxS5Fvs$8P^xt$?HL5P+QSMQh$BSTIhikSeCCx^mv;7J?~+hh8O1Dnhw1Rx{% zzkmpyC*Fj}PDcQT&;jfVYKAgCr-N#IKw90NI{XqcPT>P8=UX z;-N!LoEJIi6u@*f5(|PEbTey`S8%ra989)U=91)4xH%+78tg&4RO5-VU6gtR+QTfF zb0HDeTAzalChq8I^d3c6>Ux>i!D6Y*agwhI`5yE6W@)~(@SUak9{+Q`Lh`Nk`DSar zjPRYU`JNzO5&F3V#&X$fw2?Y$mp+p}z7?qFpQH|?R47a8q^a4T83Lr#AxjF|Qky@K z${o;i5R~vxE|}HEm_zmZ2+p52p`3c6M+XSQpF)3R#PmJZG?J%wKz`EkHfv!g7c-*o z(AC|o#+iX~bcAdZ?am!IF|0=YJ+_0$*4s(&i7Gc2s#X?ML@Rr{s6zB5CsTo}cMBsw zz=YzY2KswzTFlT6#Zq+TLB<;@2quRS$-XhogG~R8X#pcc55RusIFzFzwxekh#GLeb zc;Ji*yf)R=$^jL`!|A~&^m#ZLE0P|>x_&-Dd~`LRkFpF&B+WpacJ(?t$}~xG zh6>`9vhS$<@a%_uNIGskR-kU#v4Y5xvBDNzTt&SMb(9AA1E4u+ya2eL#tRv(pGNi- z#gax6AdMH{;is`$(kP7K^Z+L9VgzE3G0u60BeM`cNFfO%g+i&rvgF!dvk?PDGD*70 zn3Hbt=A^s7q?^)ox~XqA-4ctW`y)TyR5`;RN%!Zwr+X1_Ki!wYY0}MgAf0X!Al?7K z!%uf-Nw+YDGnWCEB-4?(1V2bJ!z9Twc)Bf~ zx8T1dU1X%M0!4LKC!Dzg4kVhWBw7bw%V4}~@fl7Y$CnyTk)(QJ@i?=XENT8WO%4R$ z=vtCl0z_~AP17kArn*#9I$22bXh26_zGw8p&YD+Ut97VG??qiSmna0t7fM2j9Jih5 z*ph>&C#7hT-jne*Dp|$k=46$4r9I$UNQu-HT0rL&ZJf<3v5e%^_kLc{%o+ZmSHGHW zS{3f==%%`ohrjHeht~u5^YBJEO&-31_;q_k0_5RMc=%=ZD9JeD;k=%AgV0Ie3{NC^ zC>qhk6l}h!?iooQ#uhbwD*`ms5eL+t11xhpAhcOG@KKhb7|Cfms%i`$1!}&6Tt3|P z7fBv#rKBl~=MnNL(fct@rV=uX#*jQT2z*9*A7u>B*mDdoUe*!Xy{Xup`e?h;E?K)1 z#|I!KrKw%M-D#Q(e~{i==%(^;-$pkLAa)PzyIULiF8U4M?l{9T#`l2Tzab^T9^Vtb z2k1|~Cv?<8@HZ2^$%j{ulTk_V4QT}5kPgP%?rC^0l_+s=6hboZgNiSt#CYQa{YiY} zg2Sq!iF%ASG9QqlObE;eq9Q<(a_WRPK2RlCm+bnT`a`(zPHnyqoij(zx$&E~EIYq> zlNil6Z;Z@j2gbJa>Lqp4Zk5`!={%v$vUwtsB~L~paU9h$`5FF*?LVS;^z#3J*68Iw zrdOX|JqLCx6WIh&&c}ntFXtnqoD)ZrG75NdSx1y#oF^L#r|aowNzAM2i!ymM%OuW` zjYX2f;l$^aaM!hTBC<~-gF|I$Ov;kNE<$CFz^=*vl(_U0z-|C|_Tbv(ao zgI0V(tNVA;ioP7J#GBQM-mF&i>GgR1! zlfI`6b)sDA#J?cAT#n;i3D-WZHw5o!e>2DS!)aSINKfo+he1|BP_`h_mtzp|W(`7b z)*$rd7({#jU=Z%Ye+ZO#E2&MLh&H$3VfbtUyW>Rz3h7f-{$@(fLGAxrsn6EN2mdZB zGK7bl(QtgiaBG+h`)Wd8j^V_cH5|QJ!_k*xIPJBD`X1CCfJs;Ffm$VIBEn2+5j+zMRO#n~j{_Y~=LiM6SIy z^1o@4?Y>F)gh?LXO)L6xv=VPtD|)k9(U+r@_FAp1N!;Y6@>$DTkn2U#?Ca$d!2Dsw zQ*d%PC*uknovNBkohAkPxpjE>{oG{f=Y&&_sGp&bG=IY~I_~)_S_F(`iRiKH2BF~Z z%;%9Y+=(xqr{Jk>3sU-KcrNA}pCl>ne!xSzK8Z)dlOxenB+o-LmREIHB)I^N{OC+( zbj<$5F;sj8e4Ll8OT`A}{Tmkl~>I7VBD7|E+9$Rd`#b(xx*uUTGUSufCVHqaKUU z(Alwwq))~oH=*_6ScIm|@CWXv>88fg=H9_Ep~=^=ZgLKWtvJI1!8qXpzsdXAm)541 zu^oFJfF;H}eiqW>Q}R}0VIZucJ`n@QUNZt?>p1s5zJ5ontC^rM+OgJs&y zyvS7AW{$p`+9TdA($wrTT<}N*s>X1WTrvf5us18{kZYIkSZA75vI+`i33; zmJ3dcjR_${wq8isi+>VkVmsGKzd;of_N+O4BKjtfWLJGUfF5T|casSSHCykU^jjb? zJ2Y1Kfp#ruGx`5ZwQd^*wLV4tGqfh&c~1ImP~k8Z{Nkb}tiZ(ZxB>Mt@ga?G2v5=p zbY^V$?)$HvA^|Xl=)xeP-+`yeM^)3!UTzvu~3c+e42*6#I5*(CDJst zlDqtFg1Zx5Yrs@dpwIqv!j)Qzw#63}=C())&aW(Qmrg17Fh7O% zyCu_+_#EoQ@R4oV-sXed$5Pw9rJTd|Ef^CElq~>=MtDZWmIs=@w`OBXXOUlIvB*0b0Mf`9lnyt zYN=CE(Il)B!eeH#fjS8l1%6;|&>nn#0tfv;!#_=6iRVrYPA&3A9j{N>{X2<_xKn~t ziXvc*78(1PL^kCo7m5FJ7^C~;u_&Ldn6I(YI4;?t4KOWm7k*P;BBQx@ScNz8I|0yo zGaXo~BorwMVar3Xidz=uqcSA#M!2jhYToWIMoK*SL0u+Rsu1V4gstoAn=rr5EFkvL=k6ix}i&!Q>7!1eq^E!&wY+RP}de(VzGcA$d3e z`zJhcdJQ2q7`Pe;;8#d&=2Nnj2^Xd|x*G{T|Igs7S?MI00u41bJIwAG*v@oi=Qmca z)bkr$_t$z;hsIJe$hZUTRGRVSj3&g3^l)y2=1lqUZ$J4LUan#ty28_7dT(0NFE zXY)`bOCJ6RoO$>Yo*7yN?w{#qdL<8WlL{7?Fy`2ST*VH6AMwBtFoZqj4L{LsI!0XB zRKRy@90$X&UAbY?T|JI2c4sc;I2s>8UZsc3m1X=m@ebdEGl&|h{53pRjue5o0*d=R zR~$Ib^*L%&MGS6+z3Ntz9;tjN($P)EsgKbQBa4pQ5uffPzn$ebf!{=7HOPjVUg zc7wVQYWhd08KJ+HTgu?t)LvAu5+bZBI8e0?`;n)=+|iu!YLKu0fE?FpPn!RQ95wsA zJPbaPE#r8VS&uVeWI0s(p-OwIf}0Ans^C(}>35C8pa_Q?#W+wy+pD$Xb06-S#@PNK zKINPLN=oRND`B2H{qsp`S_?TCpr+8B{!vZ9_vx*jI5{9ofMxg`0<2jFR1wO5Tb9>Z z{UCSNKkyR|zpqQ5Oe$gZ{SbiIlY?IzK}EBIhwT;K)>Jzw>q8~%P>k2m%F=_AgmH4T zzR@6YD0rqndz$}A9!6F^1r7z$6nPPSDk^&ZNa8S1;}w#Trmu%RqjDfkHD2xrCF&52 zJ4j)x#IZ0;r)XF_)QRVl;4Bl>UUah5xHJN%r3h8(1n@ycouXlsHvsZ@#m}MeB!}WW zi?Ev*g*or!6u9#usFEV68e~a)-s7d7t%PeDUSPHzH?tOv2R}S4t!ja{Rh;V!zDs6Ndi#loZO+OmnC2Do159x(`{|tRmG<6ToUpbe{yZ*~*`Y`CyvBu%o z--pAgIZ{Vb1zfQtZ8y&{38!?1;>1*80RM)}U z-2&s@-dHs3AbHF9QI1C9k+V;C6UN1(u`lmq{6|le4|4QGk`yP6%P@mU3?aPP!{L(s zu{02FCxRZST`+6M28JY#XXc-TjLFo)%btl6dh&7zCrv1MA_DWH$pava>yL6z@n1R$iVF1kM(rX}wTcRK-71MlwL)mNUKPb=;LNN*Nt2=`egccI^ESUITGS+Y zAWPy=sC`hGi$A>w=pD7V$rOmpu$19SIk&VVv@Nd_e?9rdmgeeHaF}rNHy9-|3aWBH zDb0(4?JW8ejWkywcFtywVQ`s*Vm~YQV;W+g^mmYQ*@-1fLygUF#8-=+U(%Q+TOvAN z5(hzNY?O@@Vb3o!3R}%28H~M-oQmnFC zkLJD}+q#*u=@(1MiF)1&A$1FSu(axxxL#0920H_0L3tzqA2h2C_9-c;y*$=xnDj@%dDFA<5_tQqBVqEu=>csM* zcf?Adl!L}n=A<4pPtT^4h9#fmkMLnc&4Q9MBBOT^E+)y|+0@at8G1a%7A-p-lSpNb zt|yGdF&LYb41eGrK{wkD8Osa+MNTVu0&u^TJPA%tuyX&{P}r!G#7P2lH)HU?o(I~6 zHk*q7Yw^Do=w!N8lg*-V__Vg+$5ytrTkzxs4Nx)O(=7-PbrPgrW~^!fbI zos~9{P{kPK%BV(AU1Cn83~b!QLnd4$CXtyK0!jJN>Os-OP`GN0#4C-&s4tPDqUl6) zB$n?fQB=Q#?ccrR|CCh+O=IFqs8-z%n_acKj~n4-iK9{0o$0Rw09ku9YB}PY?=D`J zM46JDT&7p&a(3L^+1gy^GxH>y&ysY>=RtlxGg~tJK|Y^MH&Y?`JcRk2Jxg;OaE!jk z<59U2cdp=>7=rr2iDvPj2gVniI$&sSz$p?SM2iZL``E0hsRl8?jE*tS^9?4*u)UL# zWk#zuH5@uLoWdv#8ODO=az~@}`|Exzb3IX>5|aMOU`d~fAGtwFP9wJv4miQo8gHk1 z98c`>WPH3=DyL9S0p=I#)8NFwihB_TLcZ?%8IHdH*ZKolujBa71_ELBKmEij)i%sg z)gv9~_;G;wD7qkzV;2Xv);irxKi^Y1y-h!lZ=fNdi=>5dp}L=r2l{z5B|?#|W5pp}mBlVLlwX8CJSqpN zM$%#M*LJ`sAJLRc0aGcUO!(0SJ%lKYIA0jXxv`o%bs9C)*z6rNT-cIFS?PCiY;*#b zomC}U;2`PDG*ReRtR7wtJ^t6_@pOCmvUd1Z8%F^ zi}8g>2ZUE$nivf~1?z@?1Z|FXX#i|)+GT8vQv7e)WzJWK1;s**rA&ctdf8%2h^Wez zS5!7FFYS|4C+S_Z1i^NBs5!T_xVoxY%8C)LQ8O2BIAeio;_trXKyDKzHuSCh$I^D|khuYLxRC->n(g*nwjIZ}sD{OL*!z@22X8J6I zH1FVbm!QGo1-#V-Ua}BEtG(H$;ri3cpuR1%HZ_Y;@D5!o2-)c0ZX)Aei}%3(cwV)V zmFq!qA`4Jihd>K;WB~L~BTpf33 zdl2rQG+dinK)o)?)vHIU6@+4vqy=U7NX4+c0$(I|m1V4>4+L=bI18Xs4Lo`%sxK-q z{y643bD!F7wRPR<_U0kCDkS5J)vaTy{cOB1Rm9Y$i(J+I=o!-|oj#FGr}}wWzEU#- zs{OG?tDjppQH8+TAAIbP!FWb0ny7DUa2MsksmZY<#-F1?ff4UL)Gyi^o}Ga@9#+WM zx8Vn$AgO<#@y9U-YSF%Mqmf3ds3roBK``m4BkTq_`u}V=zD5TTZ=%$-peGHQ4G9OC z_~BK!;6^=#aJ1A4Z$|jryw0TCQ(G?xsGS$1qN)8aG_K{CTi4hQ+su zyH$IEJ>JRNT$GPX2&huaFPZ*E7Ca&2Nm8wQR z=c&-%j`zO}oxT{_5Oc0y}GLByv!@_D868mD!Z9 zeLbLtT}vtbeT&xxTHz*aUB>f}a-D;nkTbMev07d3s3thL*HbNV3Lf<yemg?_uoytHzR+wyeE<8+O^cWc39UkTn?*4S6N-^#<_xd z>fsTl=2e1&<>eKXElqc#oas7PgBDKL!R@vcnB|u+PaSUCrefO`KWpp$Rkn=pLYt$d z>~EzU;=8`diMOY%GgZh1-7<`N$JFEpq4TDvSp)jjn|kztt=)G4n>UB;Mh~k&3)?#O zK%Lnzl%YqVRo1#pv~_D9Y@ln;5UXFE#oFQ%M$K`ZZ!1qtvvJ(f#-#05i)}&5HOJMk zRkR0Nl?#1WADgS5y8K9^%Vl?)IM$;T&@IEito<&7o!M^{tI2*HELI0&B&zfGK))Up zs}9z+z`Dj;*H>r(G)F62POr9g^%U#6+SZwV*0s3Yl&1Y`IbC9F&m>FN%C-lG**JR7 zGQ5ZRCA-2kWvy6U-%^KeakAK(u(Q^5vM=*cZ3@ZHKhFF(0XePh{4w&4xnHc>+PYfnw{V`C4~|V}y^GZsIQn19I}v@E&X0?H zT~ax^WNgY`Lffv>aa+{zezQiGjbinJwRm+)Q!fX%GOf=FKi{s+k-W-s%stNJ<>AL` z-eOh#pl+3MlsQ@zJ2o79_iHax52&l3BS#~KxVrw{J4C6zXS>M# z`)$9~!S29pTBN+ z$80jzXyRLZV$jqNPn~94y(Ds4x08h!m*_D_RkgwHMZ2!GUkaBFtqYlyFU2TJ+n^I( zezmJfJ7cv8Xs>krxba>yGU|m9lx~3=$6=H!ZE)%9IF2kJ3gv6`~gr0tf7 zsR37@9?`nR>PcHux}jCpBa|7|8r^Mwc_65D&w1f$W1;IXPSjTW)z1Z#dz?g~CC^0Y zyQuY^`Ven59Iq9tu+6Qn{G5U9k#a5hJfEXjy=}|d)0X2ITZ%7$?N9rJz0fC!jn?&4 zrC-8|)mdvy%hi6Bb|I(N=-#SW-Dz91-_W+}QRM9@S8)_R$o2~b%0-*Q@oCqP$@4ye z6+C(ZfBWTNu8;Mzn5VA4+0=k<=9yBwu9oklh2Q5Ds7AOLuct0U zxzcp)ZJ+%0LNh8IjGWfv)2S$H-DT8#BHmpz)&ptNu5q@XZkUVvb3j+D(kGa_+&NF@ zrKdI_ULD&@wys8QGnyWcoYA2t*f*evt?_UBr3pRzbw-zmdKr!%+L}@GOM`Tq7*ms< z)uE-TYe&=9Hcc80(teF9P$x}y#Tvz`@@Z3=Zn1PHqAk%{{fIVOx3+hqZP%_r_Ko28 zD$^=w{%J-sKiizyj&}n+s{a^cB%L3L_D1_(Y%Y}f{eq`%yxZ7ixSwyH`Wa+)a* zryt2%!XegH=lit+qZaG>42%4lW0Q3)!x&v-J6<-f+17O$`c>W1)WN3O_2KQN71+;? z&En{fw3KeB-P-l>95Y@^-)-U@fF4I{+7`82(_OIDkv6AT&EMaYjjxbzIus`-i>p8l zM-I|f#p(t--k4=;ZEx#(YlF$R?Wm`^{p&Z(v~XR9Iex46>jI4xtJ~1N=yqsuU!%d8 zZ%li771|A*@@txz`ujTC7mZzjenGolZqS;(75d75zbsZyLl-@IxEgJ{eusS){gZa3 zP?NQ*AKohIDpoBp&86G0Vzfir2K`qD{PD}T2bmUKU2EE*uaK9zMe2h~O|&aD+LVYM zxU@)HeDOIZ2OCD&*4wu2$Dw5FQoMH;lfOS87j!GXtw>|VYR5AsMN3f6wSM!EHoA&c zbKmyGYLXov^n-p*!|66`lC6Uu;jK&ScMdS!4t2KqyYFF+|8CF`HA=rFyp5h%j}xQNO1oO% zIwkF@_34V$!)WE%e|TyvbYbontBJ5KG5&?`k_Ucd1`Aux7B^_5-Xg0l;&N^tG#^+b zq%da(_RO^o->f@a(W zdQN8&)^0G-2joGEV6 z8d(L6(QJa|4&>{27qeo}Pa_>r>WI{1AIn)H=eiaeSqA+U3Rer{kEW>r(g4ZFUhb$u z^qKXlt-4Yv%w$f&o1aG7scY0+#C0)Rv!R%8saGA<%}}RMJ%B!g$QmF^1-TAAv!+SN zN_U~cU0FUdUnK+NIu|V)XT<-<~kn@^PQxBT=k*Y%VHhO1GbFKPbV!z#wy{)rYxeg#zgcfQ6I9I79IE{*N ztt|}*qSXCBsPp#r0ks`vqaH|s(7cY`o`_PbRk<@4H0w}?iQM3=R_Nk^Nc+G@E8?no9MY8s#*A=5owt{(w4CuU=IXh3j{`cWLA`+-*&LR?o#P z#X|F%nkiiK!iH;;I>%x8c^~?aW|?|JrG-nO$I)DGsRlvDVC<@q57lKlrFak0$S3M5 zvCmMaOV~Oid^nM!23+!?NZ41>|XpaoiC^T1DBtKB%MiKkC63w+t6$F~PwCY0_ zn7D|LrU37tltY?QL1Gpu477EbUq|?I>Q!-|R%qTuyQsN}1KnKaMTdDtpJst!!u9Km zCZ(l;dY9JlEKO-(lpy=!?OUg!d0@04-yLBzY!w(Ua%vwla#{yYmALw%)M>8PfvH0C z`6Y&{B5;Pt3CuGVs|d^#q#wrQnkx}lAV}N8jpW+E#V$+BxO+6sGSxM(Sdcp{vagRk zg|UWC`+h#M$kOxzLTgl|0_y2!QLWs*K-flY$T)&5bOs0R5F7TI;0m%#4G;Va`Y1IQ zBVlr_Qbz~YNPazncUvO$Y5@>R?s}l6saNL*9v8{)TggiTJ4DV;=V{5Sa7X&@lF|+n zj6Qc0ft>p0M$U>rhahvg8_J=M>w!RJkUD>dR@5L>L25V?wNh)iGB7~6(rAA)&7(k= z%gxbG5jnBHL^-=4djPt)i~x} zwB!$bq+jnWQYth@0@lLiM~Y&j&fT2r}LxL!708O!Ql%W87iRGLiGTl{3tFKw>}G=JKJ=!=XT% zLUjQ~R2|-S5IMr*DCOR~fcm15H0L`F z9{Y<|@g7EGnYz?jDabSZ4RX2jw8vJIt2~ycLiC5`lXQ% z9Bf&DoT;c^M1FOCat;#YS}VEHsgE!f-;6O_0e5nw0bG6N8+}6VV$}UYb^Xa2ImV5+ zOCl`uFIpt#J|Hyxd>h{3#N3C4W{DsBmrmS$BEr(r!dgDheJwJ#O`$pr?W)!}&wVSx zl5nPPdAyalTZE?fOhePm#ff~7b4^<7+&$3D-8&j+Td1yTX=uuD!Xb5j_CkX+cY8&t z^CXNabzH670fKC=HZ&dGqc!5kuG}u}D3QD$dQZ(&>&}eQJ|k@^_IBrpK2LWxG~L}R zMb0BOPxo=J5o9gaEVP_n?oyHbBib>I^mQNBI-~#6$N={VK`!+3y}x^i`;s6x`X#Er zd#L+HloqS8CG#+Mt02etNPl;@+bCR{{8BgAJ<1KjU8tI39|_|c?2d3-#c0FN(SPaK zN4Xtilziw}8d2^^ZdEMM25sgvgN%0f5jm$}Zgd`AHR{z^cW{ik+;cwG>;#$M9ulMF z=b>g3Il-Om4iTDP#u}Qb?x8WMO=YgS2Xlu{x~I9viR300Io%y8G$e?mfb3c$Vf_&p6PXZYy$jeqv%AFv{NQ=yLCkis&#(tJNP3&{X zCjrs9UY+gE5SoSH1eD`;s8LEZ05m8-l!R zx$bq}5#)J`tZ=sq@|oqj-+fn*$1L)I`<@^P%k_Z!fgo*tn$7Nm?q`CWY-v`xp9}Ia zW?L&!f9lo4?$=VHZp2$Zku_?y`$LSq%=M!*qSRyVPT?v&*l<1OHVVyDv=ZbZO#p3m zp<0PLs3kwAQ)mD&V^b#Pv5qt9m206E7;S_U_} z{o`y8_qND8?jS+l-k`ZYP+Q&Mkc^p=fkvNq-J?Vf-+;7++uR9)47W5N;*&q7;#>6i zn&!XmoH*<0#(fO(rF)*}JP~6gt@GFJLU5tS$IOZ5Qo)5HxpF^~3O9I(NZx{0RMSL* zw~3tB{QO#_qQQS66-s?N(nu}<0zkdx=km91F%f9E%;sR5;7cN>U)XT93%(|C{mbgp z2?%X?2S(kESl6sqor9lC4#v>VYouH7r?_f^kptR8jdTz05;>hQ=GVx+!QTa$gm*N9 zMDuQihNt^9O7#jB=CQP_v0S}^MHs^rsz<@qX9(NOzQKw-+Ih-wgY*v$$m2*jhEhkG zWvYMhkUW-_gQvKHtWtx5M+(<^lrb&m5Fn&E;*@|-GbA`x;+mY%NWD73N6v&)%{4MO z8C->Gv_&Qa8$|LDwBes|#ZjFdd`$G|fSFn%%hbZ)DM zN$@F&{gWeIpXRFIJ0j<+nt(6o`rsF0u^q4vgcr^saGq52j{czo{#cOIYfr#GcQUv zVg=Jj4u>42x??Vm$SU<<@MJ-zSmZGv%$-(UHO(^hERea7b9-DP%e@zZ6GfkRu|~cO zz8IV?$R$k-@=EX`K_0Nkrr^zj{A7{M!3PByX63vWd{K}o7Wpvvo*)YgjpR>)+XWeG zkYtT5?0EP3Q+fuH^0s#J(WZF7%sd*u$2D4k4UI0-dMl zAbCw_pJ%ZWpe1(*H4)@6TcSFLIy7O4y5`y)2rn|L*X zYzvx{HuDAu;@+v{sBm-dI6?l4)>!9h3vYrTU!J4&QQ>yp0zqDBYLE`z)q)Ja*J#+u zyHgP5TYh1vlea>Uhu3MEMWIUXaY4%cnnGl~Aa^a$Gz)+{D@bUPu}`J|jY<3d-oApw*Bhj-x4$5HT}mp^3D)s%gaX2AnzPOy4&(R*jpgTP>USu z-6Y5xew*14I>uWq$dg}dofm|T^_~=D8Llm&lT)Z@3_XFp8r-%e|y`svw`tHgQe&(t->; z$5=JxEfD0ue`Jx11X-Feb!UcmbqQO)$1)nJS7&;63Uc-&9XpX|Q_{RKH;YVdIv3Vx zf_Zi7Lz-8F=5oKasaI!tTbi;B-;8+=(yUUmy|bHfbg>oVOwDy35YoJ1+xhdnS%Q4) zx7e%Hg+8*=(p>E$zgo$+0J#MtqhtKGMX9@dnxkwxf0vgL$qVqNul4z-k6<3gM^^aA z28%obgk$UuSP|1)PXM_Uab1JiKO#!4_mMt1$ZVk*nS;y`26@F> z-i$r1&X;y@!P>Vn>79z27AEVKy(ed%;rX=`%J@1K}W6P7BqI zmD)a7>koUSwAh)}8inD#1=(S(Q5fF0^cK)~Immv3yx@<%pl!I9NG=<0G%O7FDP{R- zYe$|%;eLYjJ=Nq_3m-{OHApoOT5Klz?oMwws7*bDrcf1k!1p0Q28Vlu4=Uvd_9OH= zM3$-j!iP)jldx}vNWJP49w9W`&8TVmgh!Urs;|C?*;e!icykGl5w7Sk$ncRyT60bFk+-oMgUA|n zc6g(3wV7zR&JMp+%F*eM7i(mhnhk_Hzd6zM<;)GgCb1uk5r~$&ApE8vTelm1E(m`k zNL%E)rdb%?DMdOTs8C=kjnX925epTAi;6cNd!dEX_^f!9sH_?6Y(o z?R-c0XrY;jR$U{@!lQ-eRE#qXGDc`t>~JiS5}I$3E#d z9?l3dA9-Prd4gQlQPbSu-4|Xe$l*5jmEjizS(=0VTaW|SYdJS~4}~`i@|unP;qd!{ z++$;39o}BX+!^E3EK{q)KMBoYmS#;jT+URSw!hJEO*ksZeOB_Ca6Wp9LN&|kvnE_9 z$eTGxGeO?D)W~@xytg1sg=eB?#t5iI)1sljv<51tV&dq%!jnxy4bc}FIS)rOX zKqFs96On?wD0#m&I$g_Db)4_OO?ANmT)I|>3i?f$;KlTHhevw6j9PT4WIYT48S_Il+#Sm@9_0I;>*2syG zsVz9VSc#QTBK7K|NJ?lPwKU@*b1-*@Z}v~pT=i;V=(oA6*Cv>OIlB{Z|n*T|RA zvm>honQZ0EimVf^cYicAnaIn6-1d_}=0-jcuFV$)e97}7pS75axE4%Of{b2r?ACo=(NWNTEhv%pxT% zY564DDAJtbEQ~Z0nj29zG}kSW0fHQ6t#N1MAVDUe#%T@jjtpzbeBabTBMbBHi5w%y z?HvtrZ)AiZEiJMlGO8t8(RF_8O5GPZQ6%?1NOMhg?u(ox$dvz>xbBNg6XaaqKA885 z%n@XN)Z9Zbo4ndx8JQ=@4L-8TeK2yKAj7dTLYgPtRgr}_bD>aO?IYK@k3=pOYwY`+ zBQ*8uk;o;&wGOp_Tz9*VN1l^ZobX>mvo7+Yq@wstjo_@E$hX3^2pr_92eKWKG4?w> zAjm59pUCJ|%&*&h$xpgp`ba+3O0^&{{D)*PjIjtH%6U0o8j(uk&BXQk{c10t*BJ%{PnyhKgbs8gA3i7_y=l94pt*G-I zZH>;M=xsu?uENNP69LVYpK4?k&MkjMkSWg@uFisBryO{7>{Udd^SxgM)O&c_>>t}V z`i&q*e3?al7Nj8L2+ga}{h~pviJ*3WZD@K$3k4Z=wnjEb`$Ss^(#s+TL=&xP!`FY- zG_OVvh;nTOE8srzbhKY|A3=`ELHY{UrR_D>33>gZ2MWyqya7??dNnk9mC%gx<9aoE zX!IVT*@=~O(rk_%7JXEZ6$hGB936c_koIqAn*T(Pj(#A>N9~M;$40*t$*0cIT=i;1 z^d~{?K`WtS9}%5Z!E}8yH;V+?FkK#62GYD59T7cWkl#MjNdMRg(dz}-|Gx$~IeM=k z_giF4bd4Z$zA-f8qZ>5xtwAP4HwkjwcLq5n`hFXhgkxrCWR;o`{a$FM{KwGD^^rU) zXI}JI;kw##Eso})ycMbst>pWBWFh(;rmKJKzG%77oM}tT{m~AB?6Rp?6|HMaeRg8M zKDkz@hob$2W~VK6kNU_vHlgsf@Qm;qb3(YudpDjKz+_!W8*!$7$?P&Ri zxmwPv(GR1&glk@dMy`r|80{lSjYU3=9xO<$&vjMo)97)6yns0nTJ@^fXVGzjoM^fJ z6P+r^Hj8{8JztQGH=5XYL@$+8MDeaiIjhvq(IrBIZBxGFUw!0ZE9bZ9?LzagO=%!@ zpCI+t@=okgL55h11!FI0$<`X7*z1D4XK6e+OQ}#@W+i(uwitz~ht0uo>>EM8vE?}& z`$l*qu_B=s|5-*(U97jz+}_#Lf?hr{9&3nN&H=GQh31HznyWnTfY@<@Jol@K>wwreL3aI; zMW#tyFHbaa^^ct=Gau!9Y_T9k z<2B7Hbpa8`;an4GHb<`jG8f3FgEdl*y0T1YR$w>I$x1{OUYRUC#No=Li zeC|u$9DP3apdh0==sdkY{zB{-LAJLy$cwSp1=&?$ke6ax1ZmRFATP&05u{sNgS-;^ zN|2yme(sOI7W++*l{T(_$GlEV*D}1_Q0M#O|Bf{g#orE$hDT{ zlh|dQm>1=?rhFQ^UTAKysrW2*s~}u&VoG0)ejd9|kTW0GIrwVyzp*ufd|-9{GWN6} zXIVL4#a2*fiJv9NG|aAO$%XMbf)tO{a?10H z;)?_s@7M0~yyEz^kgU`L*zrp)d?yvZQ)s?F(d0#$kJMSN7V(vxnWx)+GpT49e?qvr z_$^6!UPb)hf*kDAl;^dHZxy7eMcT$c7vyBW^()Wo6#rR}t~rRCU|w`T!RV8S=LxdK z#+8V-5ac1tRUO|a!E{}3Tfge~V9;P@+os}RB7mmijZCL~Z2Sa~bGdB~PxX=ZjXI^} zdDG%&3e8-r&zbRy1i1$D0F;9@m-v#zt%$3ASIvdDh<9K8@x zYH_?%7nZ~8HyEzP@#-#|C*hnqX_kSePUP(6b1lqU65n5tQ!R2synh$w`+*4~=f?Pf zLX&n~KlYpAM|9y^+vDgRGWb8)xivmQXr9BoG?9AjJ{jGGmhU@MBlz|teug0L+-{J2 zeB`zp4YK0@W9?1AZLYfb@paDS2zS2c-l)WJxl)F%;e_OsQZnV1uC5_Nkw%oca7;xh z8jvVMlN%+<6q!n;LIXughLqlvglPVK)>_}Szvmv_em(#H?|2^1=YIA)t-bcz`@6Tt z462kQ@hqh!9`lrAmU+zac@}CVGsw?)*z`2@H$0};%OUJ7$?u%c_4D~?jk$>WC6Bp) zOVJe8Cl0kOxnJ_c3pk!tBb7N+_O9ed#81fixjXqKVX8T1VDj<{xW-1}(=|hoOwi};@OdW zk1!wLL^}WQO-=F$Vd~)2jWWBEM+s9Mb{J*8NFFWB*oZM-C65(mA73_zUlHv|9xqHM z^de;rB;PO0trr?|FnOYs^x|<^_G0=z`N4!dA4;B<;OEEW83}$4CqE}K!wBJ}btHLy zf}h`$UlBjMo-{vyB)=-mmCZERcSI>G!4M6pY;8d)tHsZxnHDMs47X0xMV9BYQZ`6h zi(=;IoRqgE)E38_o3crmPx_djnkkz2uL&6k0 zrfte`VR|{HDCKWqAfn_~L|sw>wM+J&o+)K(bN|V8er`@l7iQBq3pFsMf-nmpwfI*= z_ohS=;u)DzUHr_MXQ5&#=Lz%cv&M`|sVmH)=Z%?=(omQcF3*!vE*565W2UBDUYo~Y zL(D1sE25`T+STTopMIIP7e;PM`-J?=J%xEO<@y9a3sbsCS|?pe7o~I;W*yE_YFe+Q z^cALAZDW?E+$KyZoQLOMF)dHILzu}|DN{r%JjNeQ>r)1cpTV&9^RI|Dqzo12zH5xx zm@+&ehnrGH)Gi-Mr(PYj>^Qfa5|dDWd42VRz~+?E!mP%5Oa2wn=9K${Y2xbe!<31_ zPb?O0nedsAGOeSs;F@yHJNyUKVCR zEsN)9%Cg!)wAa?RtObvytPtjmW#;Et%1U7##R)+E716Pj*M*rL$E*@&|M|Y3)sj{{ zC+m)-yivPk4?mHzPW&8p)boUC+`#;FORXmimR9mB!fDqA!uU1c zGc_uV-#Ry@HWJ34n|h}<5yqdJZcc3~j6XNslG;ode{Q-hwYe~Uo8FPyLYM~|T7LSa zUM|dGtuXY}0jXCc)Y!<>YsAkju2#pUUN6jxnO4u^QacOtOpeO2BAS?bb3#0mQfG^w z)z_+@KY|aZ&P(v~Na{-o%=FaPB-B}ZG_A*zo=jaK%v1Y(W|c6xj(IBeEnyzVEkyi# zJZX07Heoh6=DE~8!aVDk;?(aFQeTjIq)vJCx-QV?`BzLYr5>xpGCbR3ifA!2@UzkN z-esxB6XIE$`j_~zwkW1IQ-QZEpu`*X(poZ3Jbud^VYUsIb3)8EZIlyM z+&<9ashW19FuqKvmeyOCt{u%!^|U_1RFah}*H4YKzIA!l`^@RRHPdbrKl5;kfPY1F zLE0S&G3TfC6ULV|4blb(^G8ifE1GtxyZ($M|h}4>Kjk*NC)r3Cx(Zw-cE0Y40U46VkRMFb}4EoWMMs_Gtq1 zNZRKK%;Rah6PW2~`=k^pI4Q)xVw#!uZGxX!%%C=^gv`&=Y5z^|GxrqcnY14g{5+TT zQv&ls+R+5&#k3RB?me*krulg(?RR1J-DJ$mX+d0c0-KeSNQ=|X5axzfnnQdWn3i!N z_aD1mub5V+RlKldTdYZ|ETQ~Sxjrp7!Ow=Y>KC#MAL{9K`vM!&Y9{!3C#|-`Gnj8t z#}6mL((;9gdAfQrec&-?R5m|b!0-%Gp}>0hhn}C?ba-K0e3DiV@etkHOR1%_EA8Th z)b}!jc(S4za}j-?c7?<|9$#tkub2*{wMq!}bJ|rB%F13$$J5#+_&LE0VxEzqF&EQc zY1auevZ^vg6iipf*LFhbMeu_gCo(M0XQX$LP`)Hd@tBG|ES}W#ZV9QUrFTzYGShEN zU@D~FDlwa+Ev88NKw+$0MU?9?zFf^qA6z0o#Z)7Gs4%`Wg+k$7F=X3vj5=iZk7Qi7j5(ichD^Ih5dr7scY9&f%Vrn|xL z82oduuRG%kI& z`0;g;`5{W}Ter}bF+e-rZjI5QYurXv;66X}PA@%6eH z=|`kChB^)Q>Gb39L-c6K+F}7SC2D@T_`%H#&W5%!{iMX~YXz&)e@h7UM*1HTbE&Ep z^V;;kC6x8>VtR|25^25T`SEAQP3gh>l72p51|{_+z_#@A!uS$kdwQxc{%Y&f^mJi- zt^2d|Oku26i)fd}_~qJ@9u_~~- zPBiAn^eV#my82J)RTD~jEWMievHk-InNeRDv(gk%Qbt2z{B|#w(O8(`c9vFh#>K+; zJs~xtnJ^n&xw0~v3*%c4axz*7)7sPdi>PA8<-&a8){K=ht`O$d8!WAA8Lfpeji`w7 zGTI9Bn`c=nqM8})g|WGyi0WiqBTRLiHs@avU6|2Pm<>2rrcC{eLSg**BARi%Fx{^+ zKTR?^3$t~QF&Afa73TN^W142%Ak5D-jJYJEhcLcv=hBRugjw6!{ItyIBaE$pis*`r zzQXu(Wvh%^g&9`fLbc1dLzr4^jp>jvK$x+3{e*u-RFHAEFn7ALUzaghm@7OTpoltW z3>D^;surqi#&BWApJ&Vs8TSffQnZMAXN(fYMpF^>$rzK+$8OFTFMe!P;+36@$-8_(S%TUWlR-6DNbt|kug`8H{DuqY{rYi*!U`@i5ag7V`H$09`G2mz!cM@jHUUk z$$Ym`C-;nWB zKF>Qx=jtr;EWHhewG`hXy(#0kgj(s%o>!ILlJS?s?AOMYj9@*kpIfe$LLjZJ8A-x? zewQ&HWt6U0vRt2Jlo3CE>wKM2Q5av>`X=LSVXSqE=(~(c!uT`M_ZgKF;yIjARTz`} z#dIX2nlL{(d%{sL+{d!lY1yH#X5u_lYtFiyE zpAxCJ$hOq;~ zg|S(M`wt0T6hhwjn znG!u}SLP;(`3q-t+?}~u7{7H6W_~J6N2ingl(|co2fQ&@L`O2e6vpQ6V){ArD`DPr zp^kctSt_u1let&?*!*5hzhr(bj6Vzi>M;|%RxYC7GQSZ&)o|)V>-o>j?}ahxSB!`3 zP732ok|btIl)ZG;Z_-!WdXoQ!VA-s{Wei^HR{iC(0`*I-CQ`DJ>X(csJF856?wS6) zTrn$In2SA)v6#;G7+=dh$76ggw^CM$gz~lA%2{a%X;sO}5I=VYR7xBwTQw^z%v7%w zhssvZs*n(>W>#(jQ#etb>l>a0!)emZ0oNuDQrQmdG*&FUs; zb@f)hMRZ+OPl?CZ7>lxcCB)Mu>n8Ez_uf8P{e{`*_7MAK-CdvcjoVVJ_uig0OqeuP{BTXi0I$c=%Rf zo;cr_yzuS9yc#y9M)*!)9&KoS^}KNZgw*SV?-D;(YvVwMHwups#zuD$T^^n&jA<7| zbY=KKVf@k5I{dIO{;bzFJS8Em_Tfjx&(EVZu_Edao~og$Xb$@ayM$*5-4LcybSQtO`yTh*v zlOI{c0>59BKIA(+j=)bKQFX0{14*PXx_6W%4v<+O67(!^y(b#@ST~qnL%Aj4mcp3!RYXg|ZG>s$t+u9=TN-XBjFsXTm}?V4Eem&USaK{c4|f$m z6>;vJf6dFU40ji1yLWo+CNRB)xf17%`PUcB?ZQ}E%-ki+9M8`y<|Aaejag}=YjAM zVb1qvy(0P{{98j_(dXc#F8{Eu3@1fP_OTP;Qc)g*bv?UQG5s1Yli=s~Q<%TQDF}tv zLe^-^ODT|@o)9XV890yIVSdic&Jw2eAY-ZslTNle#!SRaB!10!es;wKre1c{1g24T zOBh0-Ew8o05d3IeXsjq>wVx~k|S7+B3KTDnTyEeO#FvFdU>Y9BS zuKOWsJ!IOSIbI41}XY%I6$ILd6`EEVPF~_$TtZLcq z6H3u1yMy@g=iI*8*9v1AbrIc?-BFm$D>SVlx-Gj<7_)t0HJaTcA?CZYdx;<4-ZD75 zkH+I9JuJb`ecAVjAK!W~F?&>kp9iwX ziXXoe4`tsU<=xUH?i}Of?1|9`o&6Tx6DotRkEsLD)q)y1u7=}&f7ASxcU)KJ?{<&N zqtVNQwBRD#BSU9Q56~i@2(A8*=x(fVBh+s@z9_(|H9*rg1ZfFe12pIHAguz5%9*{5 z65;{uyKE9v8z=WS3o4u(pbvpUp^fOx9CKlePx-OG!Wh4CrKo#Ty!s>D8S{+e*O`^$ zSGE`hDE1}MCxU8zf}2JK)o2%_FMvXnzbim{1Rd(4C_ufM1!=$dd+zL@gw3a^IPiK9 zT!h|S6Qm=8Mto}M-DyGkUAPT_03|hIf7firOWlG#_yC80fdVvmXV9yc2fj6Q>moy) zHW_*xcY6f1S`qiuycgu1#{y z_0BKNwI60}^*3&|aUZ^5sP_jJ_MQ6;&3ez!%Khf=&2`3oJjqbgWrq5!H}u!nhFUpv z#R21X?l<&J(9pj73}v6N)Q*vH^$_jJpG4K}&h1tJ4#%RsTFmDrg!b`&qARf^Ytm+va+47o3Av?nPL^6|KW}C5n3EHUULPwivn+ zU$iNAX~a<9_sz9IDdX;c#kebGSQ<}#f>+vP3|_GsclHRn^eE9ef|`C~Xy#7bodzyK zAO1{KQ(QOg!Q1x2Z8?s6WCiWLF^T>oXu-;$_=`~acLQ{paDTjndk%o`*3%sUS`2$) zfI4H^*WB;L7ov(j@KA(y<9n5BB*YNBFRLLs0;#`_-7JeL}9E5vG9w#g|Q@9+77I&s8imufhglOlT zT2~?3`YOr%fwzL!X|D@WCT0k&tGo8$yIQHClW5<5KzXzUX()QrLjl@87VjKlZY)Iw z;|z5^7jN=`3((jN8gnV?wlP32LjFalKTgoSCg=d>t*lJu7Qo)NU$_*=*z<+E3$Y9b z!mAC~=h2z?!%qTUU%RI}-VsEuB6L~x0F4xM4|a>j3fj0TNK=3cVrM~mbBPLK>+s$n zqiSTaR3kr@k1(R1l(6q0wK;-@;#;K!g1&_G;WYAT7fQZJxIXw2Yj!s0zI;KDUKCUh z=vAQlw5kJ;_!|*SqJ=r^Zz0-k2~c5d(8XHM1+o3RwRc8j4qYQ53J(~UjhTt_9HD0T z((FxfT?sjjR>L;4Qtk zp+~?qK%cv@#iMMyaI<#U7##DWhKSNly$!wL&{Gaw?@-JketVcTo`TpJUb+Rb#rUp* zxeWSop^nh_F?jF!LHZmyD2y$fkGF~hz35OMX!OdJcWB0o#=YSDm3LgKLmW04t)($5 z;#d@MEQ&Z5&((1p3v(GX;0V6WM6M#x5pl;i5Hz<^cwG~yAht18+p-|G-k~#B1n9Vg zXfZKJCxN1(Ep^74FDkE{axclFHJ!D`=FtzOG#2H!-IP=G+}a@hA+cOG5%2Xj=J-~R zg02P>p_h=Ws@R#2&`3z&ES$lM&?0=ArG1yR&2xlf*Fr%9VL#OI#{Rks$Nq)@X->-{ z<^WZk6`)`hj_;8J_#(9qr`8FQU(v6hW5q2wICGbw_c3cIH{YQ@wqiR${5=S+f}r7u zud1L+H(7j>wi`-s3Pz5x>RDAwu+SJwqGO6FDy-`qZI6 zAHix$xNjZ09 zj@!R2NIk{11?Cx*C0oWPQ6J&@z~5~^0qWq%$pH0qXskp1J(Nd}>TBSpERO^iDP zE4*@db~Tjj(6i0W-z|=N2)D;;i2djrik>~&xb;|#D%Zv3;H>EubN)s{e_Us1=Uo=I z`4;1Dkxt-RPis6vR?iU{^$G63lic5X5U;2R>iI3vR>ysoz`cMG zzE?PtL%uADw;%BM<=QBWb;5X4v;=)f(M*hKMYC2JchtG=S*orPnzYgM7hhf_-Dj;o zWk`U&k-V6{JW7YOWnCbTMik(MC2=)>iSmV|Sz(N2iHBN3W(mjdiz?cSxm(d4Sj8x+ zhBdpQXQ5LoYPj3bLd@sNHT~PrXPXTz#i~+WZ{BI>o_&Uv;A|ATM(9@9GFZw-D2VmU zPlCRi6{O=pQ3|21ei!uHNJV+n8X6-tVb}N2n@R&kXgIXeazKeC4}&X=@#t1`*0g|! zce}#LLwqNQ zay2o!74cgqibfZj>xqtr_+BG*<=Kx>VtLP%-1o&Ssi@IsiXy}oDxNPRH24T+SQl2U zU^O65YfIRChknMmWG*p{dg71mVTz7!2zZDsXv!^XjQ6$0AHP4ZsH;Q#61{T#61}21 zSkWsAJH)TkE61^^Yd0Gj zv)RzeF@_F1bWLR|8^7Bwt`H+~(rNZv0=mThsiViy09bGL~`Oe=7 z=i0<^{QA3w{m{9dY}lvhYcNoEmAptD_zk9Xl{!3xcGKB z)W+qiZgumw+__eAuGHVkc4ZCqcWtccwQg>NE$t%omk4#PqOK9jYOfM5LU($yEL4RzUf5<4B#iu%?5Q;u$AE zot%7O>C;YPHpz+`h`o8npA91P9i)ZYW5+{U+`FIW^DfX7u94LE1-wpz(jeg!t#%ws zW##x=az*?NxuSgRTq)wO$QecG7{0I2^7{31-Hie23fF?zR9N5CQvOf%r;_z1$rVdh zM!sZ?mx+;+DvTX^RM(gBHN@o@Dz#Dk26? z!topco5xDnMkJQ4K(7Nu$d6?lWb7v4YGQrKxkp>W2DL>(?1bj4Bjxu4I%cZLXw=!I zOMBJaV8v-?=(?*76=4QreGThh>$?_mw(rEKOQMRCQPW$(3chv(yI!jzjmZ*wwTvycv z`Fg~ly?C7vTzswF<<(1otcD6=ui*rqhAkO$U5Rfc?1T*jnKbiD39ArvVAh}GOEd_* zv$2Gz&^hRht;!BrEb%>J#<(PECOJK|CgWq~et(6;oa}UJE_oZ_?nfK3w206UtfREo z{THQI)CqfmD*3JdMd%sSIM19Bn(ef&Ghw^Y5TUbL&Uw11I6y-(;>_&pPrNU@gw&EsXIT z!0{EvI>Y9sXda}Brs2msNc(xxad0xB2YTTqngdV?3$3EspkocCKkwjCZ98<8?eG({%hQQj$d5+TeuzBp2{VU%&6Gw51R(qzzc4lTvn`8~;%Usrw&@wn7d`u*P5C@Q)&gkR$~%rX6{`IuAZ znM=diIg-@MVHRSk5+If@+ksU3($s8y4($mmmOT=JEgjzox^b#$ZhpyMxXxPD@)x0s zu(f>!nDirp1j(nK{pjGih%(HV3mQTgmkYJV)0&M|qFw#R0J*-W3(}1Lj6WXJG$GQJI*c2<>w7OywP_tK<`2@1ijB zto@)OP#!%z*K8U0{fYG|xCniG0y|LR%KBd&K^d@V)fZG1`p_kUMjTfZp{I~%9#MJJ z3wj-g@MrNTv6glvxF|J0U})7>hPFF&qeEjI`f0EEyMCXc-g^v6xsLaE*!bHwRV5xUN68OXJDD(lc%2*DB#Cx2k`;CUvG_IR^e9yQ19 zfLzK5u_mKqbv|<1MYz-y)2`QG=Hy&O=&Hfi$9*|Du!oHRmY6-@FF;d|Sq}V~d~uNZ z^Fu6k+$CPFbbZP8rU>!q?knkj)5;{_d)_KFLQ^m>aYVSrx7jINVsIiCe zF4wg-pZmJm9_$c}kv#u*o3-Vdo%qHEvuS`DePp`h7bu5Y5H=L@>6Ii#c5se3jHda+zyOY1q_KE!kU zQiLdsy_SNnBLz)qYv^p8fmiM2(RQ5ju#XzhH}G1TD?21LnhK&L!7# zP?~!#(OU6$@{%CECCIm}`-rt`E#=eb&#bLSiT46GAw)iPdfhDGl~>!&PZG|dY?1id zz*SFTHF2mfc1*ZsBGj?i^n&%A>f`6k+4*;Axz) z*bS~Q#@0qfWw6t#Xx1}^*v6IDb{A8^=~Kb^YlDLvxoKVtbgnvfWY943~qT zi*JELH+lY|lnxz*I^D&#CQU{Vza+8sHQhN*SP6fqoLS z7wFG~+E{{|1~1{-$bqY(Vw7AF&p3?Y>yJZ}aUm34abZxn2=&1XmJHVjHH383dGJ@9 z-pLUzALwjB^RKqH>@+6HTSdPQ?SWe#HY2a~^XcUEnp%VoBVAo>kM&wVLf>Dhd5)0v zk}R6y`is8?8-Nu-6{H(qjvJ7_3&9n}o}YnzQ$c^%Rjxk8Fb3~~q{dqE+$3r!dA<*J z3)Ou4bq-P!Z~?jwHtCjvrmRuBMS!Y${;-CE=Fvu6@7V#(A1I%`Zk^=qc;1HF$y}c6!sf)yN6ZZIe3##CqfXJuEz40-c*!3>BM(BX6=S9;4 zGz1)K0ebtr;>ud7j&6Va+S#K#suKy&c=*dB-gnmd?d7(L;%l;S1Xl3yR~YLD{Ynw< zm?#?Rp?o@6pyyTM!=`plqRA4r4Emp<-lL3b(%QK4upY5%9`U{b=Q)q6*HihDM~!={ ze90poZ=Sz2)noJcjyPGTVE#pXk4r4;oaK*+xUvz9M=CvEX%jtZwED>hA55L3{P`9B{jlIAP}HIY9FbXAa+OU!4%>Y{nc*+;ZmxTVnC)(fhP6}_U|bAt4~aQk4r+%Bl;Mnh@v_myx- zi*as5(B(^m^qrt`uLbF-pbO#ePeIL~4=GxhWat9yS~3@<>)uq|HcD4G)YqYJpETX} z{;7seK454;zM-=n$~o6G-)R{8s`<7)Vd#==7NRCB+v>_Y_=@ISWqH{#Q&ArEacw^8 zDCAW$?n6&O_sIYX(Fj;3a)g_J+1Zo3uv4E6E)aJ*u&{eTLIkLE+}?9 zFO(2Rw?aD<^yqJDfyAjZhwg?(!E5ILHG$@#sI%iLJMLSjzbu9=Ls#22Pv_ID-57O9 zBT6HRlBkQI;ny45>QFV$H4k4qCQ%Q`RlDfD8AZrXtt&>rKyhUa zbeN!mKP@jj$B*96d(r6|w4a9Pr^^jZzTMC}Zz+n>LhROaPGKh~9iXNIdA0Mims6a; zM9&^6u6*)m0#LlP;FG;=){Jyy9!J(Np~?@@{G9*jms zKSE+E3S498x)p{_U`ABeofzGUrsB+mqC+)|`v&?Ia~S(ht15*vshpPp{m0p=nu240 z5vqaq)pf1u)KR+6Yd2`j=%-v)zLplDbtlQQp8p5ZXF6huQUe#FH(a?U<3l_Le{;oO zcju2!ohHU?{vtHyA3{WFjcZG`U281=oR@!g%^zZGgMaq7$;%Zq0Edq3B3ZFS=~h>^ z$?00QDBbP2Fj`P^`u`@DZl}q?5?3$pdwo1Y|6C&LC8uli0G-=dbt#;NY-H$WXw5nY z99pbn3wk$nc|IK-rBmBCL|Y&+IRq>$(0tj#ayoyfYt?uQeH7~%P4{c`Shg(Y(ajiT z8na0Y?C{i7E{XD?{cDI*CCKSgi_#(|x%?3@9U1_)o34(vXWxz$pQig?j3Y(mA+MfC zAIH}rE?pZ@0eW|n<=!}~qM<)8kWt~MX5%eDkGT+YoCa{Za%4Ce_QH22*FJN-?yVu( z>q5An-y~)kPj;TJ4kB^qfsf(5_e#m%c`l9YAO9f@Inl#&MPckLNWwP}wlK!$coZ#z z{>&(k4r8B_QHVYs91tlVrMWK8{d(BwS?##rJT5{e`Ty;BQ@N`)>7SoPOGvK1`PNXa z`azGo1N)8YTBfa`WM}}&ZQ5mMXL)n2xYM`>4*dnaPD4C_(WvMMYSN44IdeT{ilOgQ zEWW=SdOg)Rezix#COvN<{tJyvxkJM&=B;5v-?*^t94bKFYY3S5JhU7$r*aiwjZ&14 zU0+2nj5F8Lw;1=wa(vM$^>=)Mp>`__^?lqzbSq`3SJYA~sAuR*hYrMyJ8O!?GUFLT zr5rcbahq3K%;n!Slw8wd$#dwVG3FZn*wAm=3_alTylabb^;}E0c4+lN%gc6$*8OOy z75B7ynYqwnS?AER1I%@WL*=l-(E7`A?eUbWgW3;UEK6YPQ-AL{)Xvpz>Q?iY{gUPH zvI@q%13R3CeayA$?17f&3h9P=Idq9bk8XbDiK~c_!Jyew1No znCpoLu#>6zYk@VBqL!G&6+H*-P|;+}mx}USETbIacYWCPbo17~l?;QaQRfJDn~~Ezngpr$F;Iw3R`*u3^d~HktmU4bEa(ayH~7x~p7({+86L)y96xe>mm`u-fK%Aw-j* zKdZLMyMkrmiai2v=R1!oz~ah#i#VHegeXm3MBd2pWp{ zSJw-Xjv4~{kJlv0x*|%gy|7Vg>0;qosJi4}^M|lbOC3}}f9BafK%@S!_0j2OU0e5H zHHMW9hd5o!_*VNoI)-_H&ywWPtwXiVp;0)*=Lye8ULq7iiBzLttyD{7I>Wz>FG91t z+Q_3*WA^(vTH4cIBXp|n9U*^};OEL>j?l&wtLLX*4S4l@s%DPYuP~c(zlzcguAeT< z)_R7{<>vUu+`Rvo;~G28VvbT{FBbH~b*5F>Iv|hcZ3$9c=@C|cr)wFUg4tnVYr?J) z!sw3D6RvMm{~}0@5lfVwb$LG1(*#c+->JO>p<%neOkz3eH1iJ2OoRH`aiOKk1>^)+ zD}>0Suds{U4k$!Vx?bYrFw&4gATtcU?X2e9Y?k)YU|kD!8y|EQ zJkNQBF}^=hQJZdtKD)utFI@}`->I`?VeAc@C)5yU!*Zu+0xWlm-tMX>KDFOh24r@I z-3+zC^K@a1cdHaV)5y?thrULx*fqXoQYNVeRTv9m46-g2?^*_9m9?tE*op^|JjAC? zMbnC_@myGhSz;E(c*UovW2qz$eF3dmxpp;FvKGevh7Cozav?+0MjQHJx}iTDI*iYp3BmQJs0*}VMiF`)Ixx$j2)%W?&cE1k z$NI89xcFE&ENhH~u?taN)g4PY$uQfSg>vNd1lvXZ-IhFB=4p6&H1-U$-LNI$Cdt8X zSbg3C6rx6})iprnZb+iR;IKP{nKLHn7q<`56YHJ_h5O#q1@Pq_<~+6jj(s^mQ{WnZ z?%F?3XgfssuEp(t*se!}Oh1j+7k#92;eq1}$bwJ>)33PTq=Zm8p?IrJecsTzV$St$AlbDpAhF6`%yV~e%A4sfnr z9qJHMSJg(?AI^xlTJz_g_ff-YUt_Dip1d%7Vt_KSPpqyt;nXvKr;c-sAL|MOXYIl1 zu0j;L_pe9;U&R9@HD~k+Pzn&_+(Who3uDhqZHIiT%9(JD@9iv4c@8Ly?ZMhWQTiG~ z=ao+KxJ6h`tLxja#3*_kmIOsz&o{(!k~vL7tw)>&Yfy!;C0F5Ozo3Qv3{`@)Lb+M6 zRw%0CxY>?d;leI)VRN0odCni74bWJ+!PcUPt!j$+M1Uebm%%7Lr_Axnp)kg|QpE8o z;{17>bG^@TJ)J*JP5tp{e@2kL4RJOAb)QRXA#)-?Ni@%m^CFC+3%~`aEl@+CeCl-! zr?`ac=aB8O1n2|wD_sxfy7SMIdIjie32{~*JH34qcBR!{_n_L4(JQ?k5ui74Hko@9 zz8K68Qb!5f7O1D7mAHS1dk$iSJ^mJEI18xq2*-~&gJq6m-srE?dqknhj1#w)y9Fm0L?C)J__A(25YAM( zauj`vla#2J2xYX>Ra-9QV19dFLhyI=9|^j*jotI<$EFGM`Qn+aMlI>3S%=z zq0EBPJuXCRyglX!U4eO!T_dh7A<=KfJs86AJuwG?a>;U!TO_=kCb>Mvr_25RxTJRU z>?9BIORmbDvC3TQmsQt1;$1vlyYLP^`^%&E&(IqL;&XKcWH#Hv^J(%MIBNxe7#q;d z{ub1wD(;XF31{2OytIe;d+!!YfL6kv+9S3f z)fopjT|i2em9Tye{)_hDHFki$hJK~-r6PY>lG^NoBrkvSUBBP;naXEfF;{>;d_Ra@ ze7>M5Kn;OllR+=m)LzDlS!e7g4{BJPI7ca)!=Kj11j&J)`^)ilbxU!zycEQml}0N_ zU2*PPOKK;e9bPT|E`p5E`8Rlh?fTZ~jeBs!Ung(;CeZ<`{8>Ins4Uj|-6gEmGgcja zlITuw`BaD*_U;7Nm(j!6H9|ud1!<_DeOrSxzJ$Mm*ux!kg&OD)9J}kJ|~?=&poKO(&(vTYQeQO-SxzM*oo7T_b2)@_q7Pkhn`p( z{_y>Rhwzg73>y`kdoCr;)q8qLgi7s%od$g}LcV6{-{fSsI|XPGzKcnd9E7m@8U~6l z8|w!Zz!k>M!`_afktc&5nx187-Zn)^(sQ&X{hs6Z&W85|sgk6&*PY+k;Emb{<)htd zz!hIp0_BUpr?Io5vyk6LhHzVoXZOh?J|oOhC66X@!=funMu@K(39Bz z;F&XzdN|a{p-~>vHfo6wxX%cyMZO6uLY1H^w-(NNwtwqYeEpTV4R;K}Utw(B7(;~* z8|pXBP~Dk^R?aqb&pbm@x)|y-%+Ti#7^>UA&|GMEn%YNQ75TY>T$`$zM|?RJ4D zg!ropJ_8h?Ju{&xh(A8rHA~QyAL70TK`UPg(h4BRlGb>A9te`UMiRXP6r!(iI*@aK zvqwKe#}Zc`Ev#s#%TMLv>)_Nim|q(K+KRdRBgsLdH-q%4pv^#g1o>m;C+u?T2{pSB zEuWG-shm$Is$ngJ5E01mARQKDH=^Z|jfGsQ=Slutck4?oS#QdvjR<=TVRPxNN&)&+ zkl+9OcDtSDebjRz~cTO50lnCQ)VRYh2G*FL}Eo0h(A& z_Z*;2csm!k-vd(lFT{uM7U8OUEI+QrY2nMH^=n`^L(usSO~?yMyWy0;I-CWAYlLvuM|wGJcxM&YK<3(_4x@i{$R8f=l{m;+?r zU}-EPTrBqsT88+h1Le~gS3`4AL$k$|CET-utVf^~+-&+0W})H)e-J*? z;#&b!5G((AklrW}q7+%3mckp*x<8mtd$D%e0Dt(h9kcU0B|>1veIh{H#I-7P$8Sow z=F<|K8oxHcC8~@PeGk`sng{fgpuuoebQ#8n`nwV6xVXLxS4D>rLUUism7}g3TVoM| z$9_I-#7grw2^+5<0_Z9p1-OW1Ber7q|Ab^w(XvF|XqiNmcV%?s_Plbql3rn zo0>Iu>4?vxLlf=$nTN6C$&x>h>|{-ZO5-GS4aDr*wDKtiEw=%9oN&RjDO8Cv1ETO9iA zzvkN7p~?=u=HmOxL;17?_RbEH?id&IF^AeZ^twZry41ctXsP8mZh_-EIdp+TFS)#o zbtvfaQU?}X{hG+WWz2O_K=oafW_R4GyA=3_?SR#DeY94g)N>_Bi!Op*0_qJEuc6dB zj&&Zm!q^Yb80zD3=n;^t`qfs`JJt1cUsT2WKi%%|{!PYJ`kN$O)xP>6e+982Sfy$RlU(t4Sv=iM_4|l?AFsN~>;UvpDLG4O zy&b{-rfYLMT>(MP-LH}#UubmEbxM2udEdf`OVPn6>Xle*1|~s z)4mWK^rT9kh-<+B{WuzTTq1usi@3nh>%Z%_s;~#H)$#`DPiQwhwqVu4-nOoU$2iOJ z+Fy)o1)X1Adt=?hD83x5%X2J+v1X_ZMMKWlmFLJky-zuH`{y~eogYYm-v z-r@^meXb#1aomXujT^jLV~)=YYrbP8FBjp&ucC9YPG;oGm-xC`1qsZq1+mx~vy4q~ zi0>K?06oK|8fg@0Z@h{|_v4}*(R?MrboQP5nVrvy#L|BA+8rKtXR z-g!Y>Uj$NaG(s!}7oaD<)Ed`Yy;p&&PZ#0;brOQ_5#c#cckC2>gV|KkDu<3G8Q0lE zrDO+??NG&hmRm3O{k3xW^HI>tUsN;#Z5hth3CY2r zODyJlFm|;qpLb|Zb93dJ)HDYz;i~8*#Gq)EOSi6b9qiCthrV*Lyony6VL$Q^P9b3? z{R45vkAP)6ah@HV?v^U*j=eiYLvf-^QJu=>?+B!sa=ag^i1$Mk<&`pjRin5!RAR2> zPzCH(F^3)l38Jlax;+2r%CYy9azv@0tF@>@+^4j>n;jbET-!PH|E8Xwc769l*D|NJ zuhw{=Wyu=nI$*9a#&xBL>q=3+;~F`R>rY*Ihg=cwkSpTdbw%wQ;@x%Scz0b9?}jVl z_Ep5~tBBiI5x1`*ZeK;*zKWW{Vy%d8q+%4Mt6)viy6=M4(mtNyYJ3#xO1bH-EqPZ( zxu92n@qLnKh>+9}-$AE{cT5!V9dwMMw9<{*#;z4MdU6u$D%hadpWoMD=f}5ItQDw4 zVo4gM&&OHrxBBR<0F{?CzPTKCu?p&n)tHv@Mh`(3g?^wK?N87nH0H5x#G5RM63cOx z!0}RLyOUSGEb(Q#U!pb$$LVSf`TJ#OAy?RwgPx=4M~8}<8nIjOslJi%}T36N{QQGEQ%erP6Z<4{g|WUE0g4{*P?TPEIk?oJ|G2Tx*QNUe;@5Kg;L@$;Mvt|=-(#cH z$%WnJLexbpn&(;$UF_xnwp6HVz_}iE9Dfy|t`krPie7Q9RZ)M+Eq1N}FMle{3KHst zr5SVBkHQ|fB0in3=vT-RMc+9zys~lK92)FUkwfdx!F;YY{&E55GOOGi z^jJmHW*GXUl%lBI^u}e2Z`C&six>L>>6~BCLfZjol8_#Hw7mWmU{|6e$;=)kBnnUfNmLRsp&l zwn&ver;gt!ok0Int?wAxoX1wY1mWF+9+HEBUj#gKk3+{FGp-usuKGLQp{ApZ`?ZUq zbDb-Hg{>j@D{Mv8ahhHczv{vWZ?C|5sTOtn?mbHD(d&A{HAP_`_sz&ksynC-yLGr zas<6t(K(gP^>*kH%Ju1G=o0J#DEG=r^LO2Os=*h=E^TZa-+-z9R=AjXwpT7?g&~$S z%*B_Dccq6(3*LAZ_A~{Z|C=GU0Vv1zdqup8R`mR5hGL@)6<}sp*OtgBBYauyX2dM? z4IXcWu>sy{C!dB+$8J6RWl)Pd?93Q{jnAth-)@Gr5bBg~y^j)qAFtzbSF51cBi0T{ zqH%~NDz~{jEQs%L(Ybg-g2wW# zbLI7ia*Z7~8ogM#k6}?##NTUdll%?E9@=g}{rgzG@O`ugh3kbL^0T0wX%_QF)XN{j zedD;E>E`;RL$5j4EXO_LxPy+{-%A+=f9fK&PVI*qpGROAaC_V1Rxvwja_hcCE zh;ll^0VhHH_0a&2i;_Q2w|DXRI?^>R7Sb(sU9Jt@Lrb)IWJ`#i=zo<3`ML7*;%h;(oc>Y@A#}|2 zL=I|7*on^dC^*m6gKdsw816N|PCti$W{zIcLUPI_Z|e~6T&Pu}09?G>Wm((>Tw(0U zNa!Vk_zVyuSh8H-c%($@_kb(zW!Z+Wy2anyuC@Hx)UUM)XhD@>+@DqIWxEhQYU1j2 zhD-Mggy=149CFAXN1r2>e&XuqZ<+JA-l6emQBF6$;ZB$e{9Q4r4Qii?`ScspGn?GKaYl!1t7{{w}<=ASVh^+>S*g~La6;|qsHaf%> z0_FJpy&|?GC}LZIqMoY_vDHAiccE`6`pZL6>gigw5^6%n#~$<*MWPA!X5B%J&^Ax^jz^}C zClR03ogp>3VOfx#0fM|i8ZQawhvmIg-a(DXt}3G_m7b?Mrq2av9#%HGQd;fMC2LH! zpNTzEt&OwsMJd0?7T+h|!o2VX(k+Y~gZ8TEhR%j+*Bsj6!d~vsZ4RB|a(abB%bn|eF6K*Je0Soz1kL>u z4n68ZY;@egT_(+Pe<$e?*r9c3fJ09>^aoDvanHe-)JjPn+Td#F=N~NHn|?G@{I;P3 z4qf0}Uq587=en@Xoxed29diC|b$5l$a%i(dWn75Phb`t$9SXl|+;t8;;atzzZDlKT zC=cb;n(XS(%y*32;m|X#L=|0pRh;V$4()dSp8m;V+4G&D@eZBkTw8x{uEh?Oa<$RZ zp~L?*e|yndn&&IOHuQ%>cRLip&XoF#In>UfdCp(hp}o%aC5Jw6uA5v7mUDSo;!4!g zm1vkN$EOa}bLDu*p>v$;02g+hi}_K9Zggmq^LN~#sjj8pbf}>V@#R6QgSWph^tVIP zuydg`wAG$wcaZ>q9oLttNR(0HS zj!Qxsn%a7d1)kNa$=kBK1Z59Ql2>r65r3)I3UhZU+JYI8<10nqV#a2aPiIfGdqeXb z+VG-k0C+RvVVn(>8d}gji4Frr@NF%={SxkKr>{-ffwPk0I><{6x(0LsZUx+=T^J`H5 zL#eY3?S0zNp}C6ksn0`N@`Bj(EA2#2bJVV`VY@oC6s@J)qn=$Er=vF;7xL-=v3z1_ z-1U*73_5@>U-)Ej2A%W}&ZMG0^BHTj%5I#>yproB2P2PfX2iL0q?;n#Pu>~a2;KUg z-b#qwFr>zL!TUHLXbu8Y1=@(#(A9_~6Jhb?&m(ps`2p1UIp7LnZHm=jLF^KT9(qx^ zJh~FrMvevN`JriX8ubIezJS(4*!qD!v*04A#T`T!2r3JX?+vIQxO@)oF%)hELNpYV z^o)gQGT%a64A&-b#n}yfyZ#?R^+HK>nV@M8;S~|Y7q5}A6_(#|FN}Rr9bd)@x&`@D zG_XKjaic5ugG;&oN@MNJxew7s)Gpgf^_@&b^S#r(A-W&AQh(L(ofnq_w{1OYFT^K1 zZmHw=ZAJbD25;&;8l)?cXU(bZn{rMIz!k=R9*UhLL5pF_P?Vi(u1O9pg4KmxLsSXt zY0W`J?2agEG`_nf?E2bxGe=O1`i8C!8seDQHAHXRWc3_ct5PaN$6nBHRzfrcr+c+_ zeN?-W?g@uzb4712foeqpG+N@bTTes8uYTMooFDegjau^fu=Y)Bd}@BocK5{TTqE=l ztnB>#o0j}Rq?SXOWr(H#CA!WN*N*5@F8~GT(s3rGR<^e9yv|;!;|MQN!&bFi{H0)* zVpub-tC6S;MrcQbT@BX|we=9b*S*)qZ_P=HG*|0SliDBWa#&8|WDZM#ukZ2Fjr$gv zEp2ZjEM6GIicb;01gD5!f>XrrzbWE3;S}*paEkaPI7R#toFaY+P7%KZr-)yIQ^YU9 zDdLyl6!A-NiuffsMaNxUexG98y?6suU5~zPTny*jm`kkj_oe>04){fAzYcH~0y|0D z;2NRxFcH5Lhl%hJ2QpL@DS`Q zsQV@o_Q-?y5=qb{Q*Fks@uZ=W{YBpw_fxBhv9F`CnuicGEIachwP7B@D8czj^>?p_ z{E{b@C^3!G#do@NKl6GMYS8P6i7{V|F%n-_51~J5T~+rGtfR~Ee$-hkUwU{5=ekE& zA747gYOQ3we4Nk<9P=TGg=1#)Z(>O-`TuH5%`>+pBfNltljMI&YH1#VPUzbAceJmz zbO+bIO`bHVmxf+4@fC?XkPTBt9;= zqEkzbTANK??oZA&^iMg^o?QtshlqPNBkawfZ>T27eWQkOH=~|8_xQFCvnjVKbWvEm zT2`?d8hb8}X|9bsff7sp68vd-w~Ol^w-Vh2F3}(NXZ6<*b^X6b)bc^XT}n*9G8bBHD^HwnUD@Ki(Z3CT$; zjyXgR1$FM${+Ewd&>1l*s9hWE<_P+vzoF;G8(KfbP|xXjwL<)rddj#(&<+d1Y0Q1a zm3#IbjvFf6vo(lD2i|PN@G*n_f=tkangwV20mOMWN-SlxmyEh#jOTDyt;Z}e%T$^wMd zv9IHZ(_o}M@fC4x2}!MQfpNcoUAXI^73iyF=ghX3I!m_J|4xnX*W>ekA)4W#06h*J zgx?4X5ck-(kcO6R6HpGFtVOg1D6tox*OYtl<>+BtFB)Q(gm@Bq#2!K21`+)rVITQT zzZ}w7{uXY(lWQe&&tDzI%Z+h&n`9m3p#b^uP4Z&an$(!NCK;VxioS*NYJVPs+GTwg zuhT#m;J4!OD(*DYIQEc2^8PA+?WB3uHnKd2=u%H6{&P!18|h=YALgOcx49p)FYoOQ z+7O-pyVf79F85ka>mm0l9l390NuIgKCg${XTtl4V;_`-^RMApal34t_{4akxTm9et z)%ch3@%#~Tb6#SdCe9@Pt4=i*Zhf7P{QUWK%Hx;oN_)GGGOjXC5K9h~h18oW@%?fkzVpI~5qyzSB}j9?VeNvy_-#)O@tlN6s)qYe1T`zf z`&)w8{-Rv83s%;`We+3z1W3c~7LLR27sO$I1d7nxI7h)VHniq-s#D{eslRkSig#tp z30tlFyBy;~^cn=~R#SF;$ss@Hq&F>QmRBsza0@^K)f8~A3p7j3f$wkQZx$l^7_<>r zj?!(o*0{XofI{*bkLsfQ-kqXnQRA~)vMw;*L-D%LU%S;Rq%Zlfy(y1IylC8Pe3{5! z&nNcSvyoc747=xQvn>tw5Z*h6uB`T}|9S|r7^7P)l`M;^AQo+px>Als=Myy$G`ooC zNQX6=m+$=gTncC>S5kVoe*(|AK)4xenaqQAoP;$I=XXdUlolxmsTSm zT$2&%wjAe%B}DKte1X@NL)7Z5u2>7gMw^_?{@8w?Z!7Y9V~ZrG{CaE%A$0WcTVNr2 ztsA~26Yg}bJZjY+uY|M3U#%Xe#=_r_S4)W5ULM2B0edXk5B&H}=Q`iT{L31Z{P8*E zFKspVr_1TTq0@iM(inQ%QILl3VQf1ybvYm%=?Mv2s-%)(K11w!xE!m*=q2CaEA+sJ_8DoFW1Je zB-$q&&kLOU5Z!_~>RaKsuKobhTm{;3ZLp>l0t(UEsn`)~X0BP{dR0B53W7Q$6IB;~ zY!R6Ne`*bAC|u@pSlWe)X6oIzA-Zp&jltV;aTkN+(6DtH#)lp7 zk6{NVxbiCh9&nng$HbL)-85$2d-8Mjgt)Th^C>}RoCl3jP))4(mIC39-^oE*2c+@6 zC$22@wuQrFimRM!X{?P0|_T}ythl!M1st{@&;Jjz0Jc@32+>hD5vZB`Te;)1qa zuP8zhl#Op0&ZSAy;>S^Q@z)i0>z0DHUyJ?>6rwj*=-q)KI^xL1KBQ6Kl#L)f~ zoyz4>%>tDANCz3=tk)M*#V0q+|yf;Fij&J{H0Tn+Y+YDPWSU)*ja-$Kjx z!WPDwuh1J}3u7O?XxxUIaEGM0epN?Zwbt%JEIBk6y<~_W)+fgZVtrB(>yr-&w;|tl zzGF9FwJ6-`T83u8-lY5D&z?y%8?L^dlSgwP|5)_XwVc9rAW zRWxWYtb^iu(__Z5omE{!=vN$8Yon#0WUOoZ$t=Y6r`()+cnMQDwz6~B5UqMHK&>SN z-@429S%&Br^egrE5k_7jviKkcFy~#3uv#0PfpW-dD2K`*jqbuN=#G0_1#uk=SAX|m zWg}=L`i3Hwth2#|=%q4AR4nKydWr7)&BJ*vzeLN#^#bg_X^8%dZBBl6s9DC!;S|Fv z@yB^yr}24`I$kGSauL2?keP(F;f><2(pbH#I7E-!9JCS#9hpt0A;s?U&rIa{hcR z$mX{Yz2&VOuz%!YVGWA!91YRZ*L7@#Xj`V0{2dQzA3BIMbcOqaAU?;#w!<9aaims6 zZp)LBm-?s|u0IX?r-a~>FhN)ZLbMAvR_d6xm#IQD6T1q0t7wR7!@`mRfB5zbXFquD zoJW7*)J7$68ea_{%}Xso+@Bi@;*&&e1kJn#nyMfkgKWLbp;XLyeT8GKT5JqxkKzX-GC ze3kt8(rmk~Yy#BYLlHXo3&}m7@prcJ*)6tb=h0H2xst1cSgWag9)g?LwC~zkA+5ES z;V*}HB)=+%rIgkN+ctUMG$gldz9I2(DK`kZ3|4I2IZHbnB+fnd*|D$7yPF~6ajv%E zVV-p`M8CQ|v>50e3DNsClLGecm%e27fw=N1IDUf`FC6`a@AD+)+tE9DXCOpV2btUm zVJ*2*xF6Aal#HTWrcS2wT7_4`HhKS|8woI_LwzRHTSi9D+Ur1OUA3V0= zrNyWl1GHCiT6wae7UvjR-a}DHZck@_A*b&`GI;Vp)A&ZxX#AjR^;l&s)w7&vLF7tT zseBgVd-&53ze@<#KnbT{bLbL`=dd8Q5-Z16V&zy0R2Ns)?^~j5IdmB7s0QGmSt2#Q z$wOCTdKPiZ8~9t=l3h975Owci(q~BNAYCqDKmQP`UJ1*6@+#r%jy%MNbzXbn?3Q|* zm;t8}-S=m&sj9@(SjM2oYFL)?*GnwCN>J_~T3`Dg$EPF8&p`#O15{p>!8)LuguMZ~ z3cUo`$iq3oX+$>*H{A8-i)La6K{&o^ZGa#@X11f>BOJfQ#Cg&7hymqLUFf3Y1-r$rE*Gy5)!3sQOPNaQdHKiCCA0umdH8BgvdE6 zHiwc*B~eHlrGryP@q1l!U31@WKA-RZ@%#OMkKaBXJxtH{HP_5Nhihi8nYr($ZD=5B zmG*#A)wVo4D}8ISWm{geY-4L1qZ=$CYe|35hJ0;fl*PEu`mV-#3zn;cc0eJmqEbsn z%ck!O@p^$vjn)es+7$NMZDDBXdfZYoJ8WbfX_tpji*Sr+cYQHdN;I0XkL(qb?sb2` z`j}8;Sx0uVwI7w=$}qL5vj3(PS!zy=YI>g063Go8Vzp5I_;dn&laRklOW&g7{Lz>C)nOzuhUZ4;tgF^fW37^8S@_EliLzyGcLqSF1}O)b(Ko#b6UDtz9s#G?|5 zG*=0GUi6evxkRll`Zap;lRa%+lBMD2ts0Jq(Q`!lM*e@c-6)NyzeP{<-&oWeqZ~y2 z?Ew6{+}5IXe3a)Xe}6pZsm-R|Y>2JTHZY!Z(M%y#(W;0;mkhAhg2n~58#FHP>bT`I zcAiMHG>$>54&Jl2X~5r}kFgQ+KTd6@NsZQOJlotd(s~~7NTZ-HEe%5!PkAio8tlx*fK*w{Rm(VsS#Qq36kM#dH zE}u1sMhN>2Mjn}xkw2{(i`M|>0K_j4@5fvpjz{$EN46>>Lyyf#32{lLndhYvqWWNV znPGHRsIm!>ANXdIF1-<)`=t$Wj7~<5>h~cNqFUg(Ed9JveGQ|z1voUA&MjDnA+y5J774}6RZPTQj*+_r zV-$zTyTBp(<`styB=fJl*Gnv2{e@HBG}@=DjH@|RPmz`d__dxQEgYiT5=+2R6_rag zn|sSJI<2%CA)GLk8iX$rr5mk^wi~&ZF#fV1oywHfE*G||k0BTBQN=$c-45A}Upow` zkOg~hLYKe8tdb&6;8$Rk)L`rxd}l)K;S>DLgtqOsJDEceqFiC@IAHe?t4IiMn*R#- zxf)Zw(Jl&GkUE3xJeEeQf1yvSh|#VVF|JFu9hDHZwPGej`wJYRQsWSLCQ6xKsg=+g zF;$Uw`ZB}TSG01pV!6UFTGMf;I{bAUYCg<{y5-uCkNpb%b>37P8aBg*XwQMt`0vj~ z<3f%9@z>sA8IZ@OmXUj85zfh(HEc_)?Ku?5(MpNs`o3#N=SRcPzgOEbEpdsRZFYgT zf@hYS5F%fnR;iWvTbDRnd(e)YIhaK@Fgf^UKfecDtCCaroPt)5hoN#<#qdo3t)BOc-N7O+U$C5^Z~NbgH)jMVrh2#4t1PaN9daVWl>(t9TE zFfl47dJ<~#56*)aHt1dK<(p7F_)93H)obX3txPB-^yhrv2yY2DEstuyTGWz2Bu>T}+?<@qj;Gw1IcY(Ichd$&HD|bnbsi_va=R0p&!6_ zTB@kZRr!s~Rn**#*qZ?Jl>OclKSzLFay}1|XhNMTD^7q-bO z@N0)5)ap1?0q?P)P~^$y(W-`Fc1M;q*D{(9!S`R!gl1uV)Wn2J!Iri$p|7xm`k)D2 z4!hRFgodZtk#isN%;mfhdFI{MAF%5-0CE?O0YeOn<|Wr)?MzIo>Jo~+aLFeb zGt9)b-$l`C6Y7n=km9Is2V>U_D{DR(H`3@^HNsP#u?(kP!x?o`=Ph5bwUvCmtMZH- zSu;L+xf1JNK8N?>Bl3Z!?of>)< zHNH&W!P=`n9c^E*?U{WjG@H}v7Ws+|w;{F>+g$6RqEVOn0@vFDq|5U^?yIxHzCQr9 zz_Zsp)Qt3x8_<7Ej2z5aIn)WgY>i=Qc;1gp$i)-!uXkQ*YxN_v2(Hy)m;~gB z43F*AaP(=G`y6v%X4z=PY~eZ}&)&UMrcXbOvmYizZHUYCQLJX!szh^vzbDwcrI8%@ zP*N_4OP~WXL`fe^u>}X<=0kA%7-h^MZG( zp^aZ_v_!Yh==A5UCNE1**_LhRW?J3R!_IT87PK%(vn{?2;}Oq-?5`K*ndeebo@w>j z+@$t~gdFt(=3#9O8z>=OS9CGVYS!jk-IUseX;3Z1j}_!c;xuw4|rWKrg6~M zVaVf{@o;GEH8ykw_Fb6K%$!1z$B_GP9$2cPaeA@|J&1leAE66N=qm-AlChuBm3xrDf^Rzn}#7y2@lR?%AgGmL7R%&+!T3EQSEhFzb58#g9I zcJh!3k^SS)O=z9G$JYkGa_ILP?ReP;<6v#mo(t=^<~wX!k-ndemj6}@Yf!p8hg*a> zKea@yrna>HXIgLZERt%Azp&M)G=H-xdiSTJ9{iry1{eq5#K>+^dp6TE@6Xn1CTjJZ zVWh?HK&4@=GS^W87|$|zWk|Cx4h`(bb1wLmTzoAEa!&XKD^IO`hdt4-`Z%dWZwyRV z(`0u9BZOz?r-?XK!t>a6*ab~CIoRPu`+(;UC=8` zi2M=k7oZ*98%RZjbB;r86!t$X9k%NosQv|$Kx1DI7G8op6@<`F@QqYZAQQ386J)HIf$!On{XtK zM%Xd1?c>d_udiqSDc=2=?WlaPbhU1SJ&`X|ff&IlpWr`5ucjSShMmiVGO`Vp7L49M|L&0G_rvojo` zQx+ULFp=kByqaJ}{woUMO!>%oeM^lNIFSbxHe`1^)76-+ zmMt7$L*+JE|Fc(t8Ft(gc*Nn{Z#QYsT;*dE`W`a{4jsQwslA3Bec6Vl&9tGMIW|;3 z&xUGEwxN4N-+vKS*6f?RLvoKdQ%LSHHinG)$E-$F8YjZpmz9gYL{r6l^Yj&zJx;%W zri_iPWbShR3F{9lkmRTzkmpLO{VL4c;VG%4+J+(e^%#D|sZ6vw>c8x#IS!VtIt;b_ zgXDfUTIiN|duYKL;u-8sVDFeq?H~M_s@7x0r|zQ=-B?O6A-b_t%7o^PP^z2>{WL+T zswR|$+1E8DR2I7^^-PFXhOC9WjU1P}jU0o#jT~bV%9&%(={Am$j~>b~G%O*<_z->z zj&UT{#-Mds6O$VGEIBUuEIH3KXJsvqBQ?%5`J32ZLbu~M^xf0A4QRA1#7cxirSNPW z3_JCT4b7aUREA;aX4ue?*;ug{_VHXB!qidqH*9)y8`{wu7TvHvvuud&+;R@K-e*IX zJ!^BY39Xa!G77zn^Rf@+%%P?zXULfhrMq`huKC<4jLPhnol^szZ;nr%Zz zueUj%Q(T;@8PD4sOdDlGzo51_2Yb*fIP_zfmz`l=R)u-#9p>eeFfUD8*j)7u^D-^W z3*AxV9MBy_4wZyIj7wv3jtzZ0-sWIgSVsfHI{G54qq$)ny&l$)6XvCVSS~ZdI{GNA zBRb#7IUu{ip=MznkpzOWc-w^P zqrYu3p|j|3+fC?Jl=E&A8i8{D#)R%hIUg~hJr%5$U)xzN2m4zsbw^k&6DC+K?a+!@ z%a5U!_E`CIUJ_v~I4?)hcsVbV(SJEFPoVvAULHX?vzEyyXU@yZ+G;5a3&L7vV2o!i zPlZo378ZoHTpK>oCsVDKU(&FaG|!fNr7g(?9c@i7MeTPmzcxUwxaTdt!Nzzz*~a(; zWzTJ+8_J$z{EV{a7!#^kxnD3wu^g>`S*{-170ca-c13wfSF6+bW^uY&dlan~mOfpz z#G0K$cU5OrMdb(lO}#2=6y_WBJwCSWNr-`y+GrakO{fxbz^iRqi*u-7d)P_yYhBp; zYfR`x)L>H+dJi?&!G!u<1^Z$`13RJZn$UHqtsE1&1a&mcgvOP&a=Y)ga?e(@?08-4 zNmz=<;L)@ZMj&26(#T2Q^v3?j_12q0KIA3P9M8VM%xIHgHk7U=glp6NQ`tL{u09&! zsx3yY^v8C-n^fHHci%0H%j#p3d-99&E%B}Bm;81Fh1Rs&{7SR+Z%rt(KYM3*b079boih4prS5m4Uz<(A zdv;8SZet~z&=Po=E<;GG?f=D7WHn>w8@i&hXa80CU+rolic7U{h0*tN3CGMHcqLa0 zjLYw4gm`7s5F!3HIn6TCLr;0SS~SC+Q6k?u?*e>S#9#lzNu4mK83%0+K7EyA;JeM@ z!AMto4&Y?Sjr42-w!&9{)S|EYX_fT8ohP2jgeO1j3mr}V$m`6WEV?(ro}IfNv>~## z51QP!8^+(2PFFWb2&a`2?Y#3jFrIV$(VlOf;uPUk_IuWiu_H!b4#bQMUmJN4Ipq@S zZ*oBEsOLGCUQAsQfrDrT5@IJo=zk7fT2}k3qQkT%Vq;$LRml=h%i*tn`+D zv=<5CU4__awC&wo<`m+AASob9_9F02K<*Go^ta^4HLL4h+mj+!C4 zk81G0g|wQGfIA3g)%yvo@)XlvmSVlnA+ijwfkkn(8Z?=`72NLWjnk=$X8McHlZ%f* zX}tYE{%Wn%h0k`r@1IM9zqZ~7mWFyL?p8?%>!q;XlI6*@vS0GnDg|%Z48oQ0`zFt{ z{@scY&i#LcH)$K+gKh0m?)fP{Gci=mj;l20@d!))>^TwQLW# zZw$XNke_I83e_8(_Wu;23(KC~aeiU%9*|18r(HJ+p%tU&@N;}DA@&&Nnf7;n-~Vqd z`~O5=x=OwsJ}6^%H@D^85q^%~etHh_GI1;Z2{MUb++Hq5h~-KfIr0Fp&uA{j3J%e@ zaA_!4)yR=A!&rtm4{pON;R(dA9fn-77Vp(DA^OT9hv+Mi9HK8na)`eBz#;nX1Bd9V z5FDbfJ#c8*EX%gz3=6Y^xt84$hJKr88GX}{1!N^i4Qs^qn{keFkgBp}DJUh`xeBEPlUnd5Wj% zm|RVL&y~o-!U>Lb`^GNBV_&lG|`dV;Iw zLkmuRFSIvu|3Zs+^9Eu!VFtya*3iPCw{gaSwG6$IAJ+sk-Xg&Rf3DJ6*O5;LX zauB~pwgfgJtlvMvkj)=kkRMHqm6)rXG9j7`yAS-|YVMCwx1`ZRZ^0wWh4zjU2Ieif z;ar*9RSM+zhDTY1;`hai&@0&Lk>9)8f63KVhS?n$wnH}$dTur zcUsqDynGf6J0|DJy=3IbhfEd;C+F|6cHDjwJ^sBt^j1A;_idmJv+G!cmGB85gf}1y zdAtxUD2+%4leA8QTvgN5^*}=k)hjq#@z=H3?^Rob?5v18Bp5+_ykSP+uTUMCfn72~ zdQ>8k6Fcz)zMh3ppq>)a6e|WwD^Slf3DXKxt|3uc#ngTwHm#T{U70jTX~on~Ly#8Q z38j^wMhaPk_CjeTs0mEMv=Y>OL!z{j)M+6$t>UUimGjdouBI506T1~}4yUwAs98dW z!OK8tl~4|%U4kx2`QfxmnzSyCBbcnIQmO)z*ka6x7JwwH^f(#H zVX|rvN4`TVO;(u_YcK3IwU*LqtdOoB;M*3EDXmrr=>_r|NQ!!&iK4GM{{d1)eJbQ6 z)(B@o($pa#rE#V}cgB~1)o~$k6Z%zYuz^Yd|WfEGFi; z>Vi~M44y(xsAt1)D%s!c+=cElMtL;ezS39K~5N>|0M;3u`u zeuXM)2tVmvh*e!(VaP#ecprZD>gq-z_SvheMy$s?`$Hzy^Kqm*$dzhw9HI7emD(Fe zo`THPipD(K#s-4aQ1uMSG@4%oxkj~Snb?nA@cwO(n(AI5gD}&fR##JH2pPE3l3qf7 zYl?HXMkZItbqy?eRmgKQZLHUYRKk3TV=WWX9Ond?tQYbn%9+U?Aw9y>TU}|MD|QH} zQwy)DMhK~l)N|m+sHx5fDT&m{Le^B>Fux)TSrVyJoz_%?gw#js)Ou^GJRw_=`Y1zo z3AqKa&@~{Vv1%ecw$;^CHH6q!S4*{vlc640M?DuOLp`ppnqf$OY!Ytdb53x2lXdav0<`H7bt$3er%`k0Yl+8mZlJL_LTv0jkq+M1wR@sqnhn)JuRgRrTXY zX^`7hw>VNBq?yVS(uh_hAa|$_g!C8ELVd#d-3`)CeQRYv?lt6yA>-9AI3>~qKsnV#Dfdw_IM&Ep6? z`+X{xW2pc(ih4muRUl*p#+0WJtD|a$wI(#HQtw-mA*3~W9Lua0GU24Fo;9&f3CX)|02zom*SBKGD7CAqwlNY9jB^6U6#2Sy9d-OJE>N2_ zN!@on%iQu5_tX1Tw>UBkGWV-W^;m}Lo$~yEs%r?>AeGnystJ>@b~>w;OjH`yhLoSq zs$(1(jaZ%42qEcfu}=e;2h}klt&K;5NJZ?!&=~hO#>x*$66qL60MtV&+mK8(0bib_ zvAc`fBcw)1O4lbnnW{xddKwb7%q}Y1ko?%5(m2(D9ClH;ETayGWZSKzCo3F1yQou! zUImsH!Mr-9&uL5_%q2 z1wyuf%m#Tvm2O0_GSy_Pffs`GQay!yj8rNJk#|9!QuP~? zp7ClnX3N__2B-`}^3?-4@BA6aGipv8*$*;M?Q6oZ=HuNRMIg_qI!%e>#OmM2Epw1+ zC?voNg!;uG)mliM5ooK3HAvknr0VTByWk|M(^aQL;SW>C49PU4GV}~nd(axGeCV#~ zl^{8)dNU?tp@+zDMZ3&+_OK<4P*d-W2%TXXffGiCsO!JM7zpyR%D#)q$^96GKt`%- z+ZYmS^A(TpBUL>iT|sERI#RV0Quhaz8KoW&(hP)TMyY{9O5@}jjqjt?5FzOxBr{q~ z6LQ@)mKmew3TXmDGGlP}9si(C+xO&|!&tRlNPiHL8LNH}@(6ZqD6MhoS0T@Wkjyw$ z94k4}a~!)kB$JE#(oBj;TDhv0kh8;CX1uylNb(5QGhWfjT+*`*o?g;3K|Lg79|)y2 z0k?)(=3>e7M3p6^isX5snjvI4-q}HV^3;4Gg&?FSPi+y>xjM^CQgoJ?Qtt&qGLzJg zLVj4OjGlblwqu!-AS9EoE^f=@7R&)CtyfeTA+112<`q>}$Q8JENHPVgfsorkNTxt_ z64DRv^&y$b>R}{Yc@$losK zXR6vIBndZLD6OgLXCe9doYpjTTF875l9`74O!x;SHu5yjGhb6>g}eqrGOwu{gsg$T zi=Jz`x=qL@AS5$gbr#}HWSJR??rxLjY9J&tLuCrN_bkiIgtviZo&X`4nd)^Rk5=aA znuSx~EHe;Q5nUK}cqfN@ZFjiIV`hC{UhXY5RzG> z((c7Sc=m=k>qyVFSXC5qF9^vj#%XevdGb5X&l~D?A$cGq^M-mvNXt#EXNl?|WH<=P zEK$RSj2+D~Z{ox>YhDUMGHr{6ke@i=Dulfo}{g7qWt1&`a=dzv+YLbx0K}gRAwOq(Ku^aEGwLAzLBxJP#qHTmyF$o>YR|46{M3>Y4b75e5|e$ z(iMbcK31)S^h;)$U8=p1Y!H&!rTPhZM)Z85o)a=o^n9Z7h4dfCdOlUJ33&;G^n9w; z3Asz^;xqNWkSC-rK2ryT)VYTB>{dsF+zvu|cB|k4{DWt&|0K_CK364#JODy6pR22c zoWhp@sm*_(Y6~fIIk$~3)ZIb~WS;q@x=+a4GWYvZ^%rveN_D-idfIr>L(#hK}hCn73++D@a&6r zvdlhJQpipalGz8(C(9(Kb6We=^+KwGkj#G7R)|xHWxi4O3rPhbnQzpyLduJ+`&PXq zq%jD|e5IoI=$}(T1 zxoRh5PN?qPm|R!ZHF{2})rJ(R-!I1AJ7i9((vOl%p&IZhlhbPEV@&)~wEv1d47F4U zebt@G1|hvdvRw#$Kb~dI2x$Nh%zmWx2VTs5FfEf?VxfZ^%SNWE;q}PKL-(tS>-nIWywOA&@%G)TdYv$@~Ixy|XEf{0(x0)9~p? zMrU9zz}YP%HUJ)C$lUDI=+810TB9BybBmK9SAw5l;)o~;p zv2J(v3Te7g89jG6$Ao0!#3^ZR;nWzwsS_d1EuANXP^_AeY3)20M@aMC&WJd26UaSI zK^!4H?VNdWgmQSVvs%c3$Ivnn>prLXGo1R1Bd`|_(#ctD$VAl}Xj;sOc=~R85HB+4u>E&b#NfXlBnQzEMv{6@)kFgIK zGyD~nC^LgSicf~54G7t&kObC3qJf&f!oXU{h-}JsjA#3NLVEgzvDS8CEBaJOmcq_& zLY~hjTS5AtC-XVTbLWw7Kn90oBlP?L@={2ihNt}(5Euf<^Aw*`&vrhQ@}WGRf=sq^ zPzdGlUy$L>Z*hcVUUtqIQj}mzY_wBs5UDOouq8IyDQO6ggT>O|hjg075z5L~=P4$! zsweS=gNN~@ROb~#q7xKjojHaSIkx1-IxB?Ok{|1AHY8Ium(gmhlQP)k$FX%W*0~{$ zP+g339ui{fBG(xq#MVWwLtm`Ib2&t)E+#m1($^BIi&vceafIq(ic=)S*2OgES3?du zZKN({ILC!ND|Io;IcW%&SRzVemQ&&dO6y?4sp;G@XFFwuTr-1P=4_|BAvx+U>>N?4 z&T)nq5|!8-XR#1l?{l0zLTuZZ46v( zK{kYB$yiuEw0Rgo)*R$uj zCe{}{A@hMVg-N&%vNe2)XYtS|Y84S$1-uQ7+d`QUi|~az{9i=!glrFGvf&RWnH`pt z*aLA|6Mbk&PzXZ*^P#gk6aT1eHDMxa{?Ms4l*!lkcdfE;yB z8JR8WFKFHf%|AK`qey0pN-l}-oP+%2R1h+yzpFk1Ip)+gBvW1NxvCfR{Ot4>nNqd! z_BhD==Ij*G3gl~$NS!uyr1sivSbQbGQ9 z&I(C@43U4F+G9C~%~#{h7swf>l_8szEyI7E`-RwgKkGaxu{M7V8--ZsoJm6dSf$j} zAj+LByhnX^n>#h}&jCW8s1o7PWg}9VFTPa1zUWbB&|k z0!ejq^ND1tg;^N!K`wQF6GFAK(~x1Wkjxfk>!O@H!;q*h%DZn0v2}5oyG3Hzx~SkD zGbBg-3j0GX;d1xl0@9qV&cPeD2c)8VjgbCm2}eOHyG;$rS2+tXGf%?Zd-wDdiZx!% znvYW|Al2NOuM){ujqb*HfpI6@Z7SrBp*VpLQr(?n$awV(N|p3n<^Ch&3^boaT35Rj zr?Q@BK$avZRm1Hzjmch+KOu9iJM=Xo(YcG7?sP-)l^%-Q1CXidE{h|jyJ8*Zu8Sk} zLF&5O;z&D?dhVA(%HuRkACUU)5kt5JGg5Fa+P!HyrC#KGj!E%OkXzg?Lg++mUz`xQ z&CM1k!TSK+8iqtCHt%rjax62#PDAQVr>RwaLhwF(gYpkNj*gB=-%YId*j$p7*wM z3k=~?Iy)fK&RxkeYH=aXrJ|fWxI2Z+#s1*HG$IF?m~y@y^TQ5q>Jp>b5L%Vo=hlfM zG(YUEtdIGIt!lp$*LsxJ{R` z%yY=kZshqP_x@!OIRMhl?J4Bv*Z3S!clVh%@*`w=xFh1oagg3_^W~%`M>Vd1(F3HP zJ2Q@8(XF0#ml~33WavES0JmU86pKzM4Rq%l!ZMWB^X?guxex!6%nNS8N{&T@(t62l z^L9iitxWgS8YUUidb8XbYl#$w?K#W6*^nGnJBv#-%k6E*W+Q{{rLx?CEEBs3wuR32 zWV=IzlmnsK$#zE@67|zzu5pjT)-}L9QzJja+}7(Tbtad940lHep%JeP$jfen^(;fA zI>;FJh>$O^1g{G+-tD%5Wr#Eandt5j@-4ieCDBtRxv_UxX8ufgaUhfL76_@((N%3g zUU82YlA|`_-}^uc++ZWc%2AU*I)hAhOUIG!Ag{VrglvOMACPHoZ6@K&e7bvQ9O)04 z>27yJB1<_Q@H z5_=S5vwK7cosGW?!7O8HihweBe)9WjF33$osAk8zY@ z{Ro-9An&-Vg;1>FAe-EZ@3Rb%*FfHLy9>F#3ueL~o88SqzV3}LYk(BGUkf=1as*_n z`;(A&u7DkZuWg%~u$eV$p6;2Z3ps& zn=fP-N^D|re8H(X-P~ z_KO?)fJ!4r(R1DTGm%^&PhsY;6qtQ0J=J5mVUzaW`^ z+{JN(WX`w^wsWkqcv7@Pb=G}M2(8vB^|NlaA(7|poU3gyfIoO3H0GG48P zrThTI^;UmDGUL_fLVU0JAtGE~l$Q3|7*do#w*bx*Bhpz2)y_x=74y0au{Tx{yq<;} zOz1P1>np+Q!^GK%Qq4xJ1h1cvkKt7#J&E2xAq!kCvEtrKLiS?ZAfH1CFGolwN(?|< zWn<&KIPbuXUFiH6E zHolWp%3CUA?45i|qLjBoV)c>Hvy}IdkRx6B*-Lr5gxpnvy?mv-PYsF2!BXBg|3Qu! zlCPfj;r~E=mGbI;hm4|5Ghq3TfRy&S7{Wb{T1%?;GLzUFh(&is(!7a6O1;eaN%Lki zQFMQYdR&^fUdXK&Wllo#rC#hXr4_ZPvR+3a_O4l3udg9R4v{m6RnE&58GHMzyf@#F z{21M3@E*rbjJI3}-DMzB!F$ILeu@$x6}_V@qw2r|lMGVXJI6BSxrQWS-Q*>HPdUtq z+2^Y2m1Sa{s~log_38?t=c))&&3jRZxv>qB?&TR0J!!g^Uc}FCpETXO)ewHt+K6?9 zmmxCtNvnIK4B;oe5i-@iNkZsJiCpE)WTGmdJufYf6`8kK$OEtm-(co>jrX}B+y|Q= zR!#34L%4iKVqRCvI}u0jhD>cQ?FUmDW_Hm5q>eX)NmxF0y{Sy_zBf<(nt*R2d8ZA@ zRHtD{9zm?S-X%wj9=N!${sOt)yIcrawr4@=d9@80uVPc-Lj$?NYbr8i4@suJH&sX$ zRyPwtZuABoWzE52mbu9rA;f`=ngW@dz4|}03|VYS{bui8A!Mmd`=S*c)zGW?lSwPK0yF$8A=Aiv*pR3tH1Y-tu`QvI zmn+29dt>hvL%3~F>W#e_hU6$3iHJ1uE;>eOMg6_0*U%8IQ?g@Cy>@ZrBeaC3UUw$u zP9NQwz1^E3gl_P)IED48_l=N}7#+y6weXG!p)rLt-|3xUVn*1F6^K;Ch>5jcg0ys|PeTqSH2#3RT=+_a*Pn^=huGd$-cUn$6?p(@wf4q~ zjJ2z+y{U%e$4a-sUjOAJv(*qTjTK0%wU_n_=a9yoLe$sY-V;J>p4)g&Gcoro8$wST zZ>S;BinWb5+7Q-UvnI(L7CoeSA2he~ZvOTB(rEA9&ctY556$hp_J%~7+k2fwhT6tf z&pZB66`Rb}BuKEnI?(_2E$S)wByhTDRJUiAS>b~j#v9PdeR(~t}zR~U8xMOnIV~YQwnSpWFGc< zi44tq6EORF#M@^`zWRO)-j&-OD_^hfanh4-^ppX4)XR$_RX`s1N}h;hYJ>FfW*d?d z`+X?R_9S9m=?`t7LA#}GA_$gIUvt?$AuI@X0#y}oi=)6?|{&=KjWnexe>jaNd+PGs#%gQ zq~W_Z*0nb5{r6yLsMoe&_sjg+E{cg3o)G2qDe1 zqJQ42Amp#rc&{Z&{(0|eCT83zX=1gABLT=DuU#DJ2(QOr?{PyoKNCVy|K(cArK6khc^)@P7e=j9o~IShIb zIeamvP9CbI7hzZ0J7Gvptk`b65e70Fy}u19N=Uka@9S;!+>)&M_y#%3-ET2DuI7U9Ws8BIC`wt!YQ&U9Y(zMG5^x^Lt)*Lvl?2YKmCz zd57ajYmoQ7jAYWoG95rRd;8)@7mzJpN95khbO$N)b{mqZQm=qV7UTo(fXLj6G8_o9 z)$0b|8Rat!O_ywQf_D3Zwp+3uCcz87h31u_z3hxe+GPTk>y1o_Zg8b=m_?D9sG zVa=)dzs>mXb8nxJ?Km+`z2Hl)WEyLpl7twL+2ai{BvXBr;;MZhd%dkf2A_aM0@>%a zzmzq1guas?-+G735gD(JLUXJqc7eT;<(VYRLW=_V-peo~Qx!v6=^#INd6#kO-EeQT zKFE*Wd{}ZSjgrvZ6y%sU`f`>j9E2SPkYBuGLb71Bx`F)WHK<53Mb68jMupu#mZ5sGhOus$iLn|Lkg9(Z0EcqLaaSheus35 zRj4k16z`ftEXVIJLFf)hZ zhIBS$y!sxRtAZr@yM&zUhBYNf3BUN26f0l#tcA0gASM09LjFdqyFg0$zX`bk`MDpY zv|sfqQ-(1+Qm6RUh1k(N#lK!i^1Ynr6u-WZ7T>z6JM^UZw+X5DH{LpBNHZaeU&CC~ zkaj|jwPh=s;%5l4bBPqcw~*8AtjzO5M#7%aTr0&N!Nj~DiDm^U{sAF&R*>q~yxKgM zva_93f4dMn-$?a$3$gQ!GX4WKIMx+Exawu(InD1Oq%}@#5-IEV6JlpF<^30hlso6D z>5wV!j}g))+f^$;D)@_pJdAr%q^F|4HjeB7sqAkTvSTVvYk*YqzltO0K(6qQ3OO_p zZ;$B>&x!x1Arn<&%#`bZ)bMv-Lr;+tqgF>>IJm~&C&ad~Yy87Prr^C0EsV@DCZ^Th zZOA`yP5iz>u0V@>7qOc9SwgDe z|F+}5+x-bbejLcLZujRHlBsUTQ|y9FGyj0d{Dyhm0gx7cRoGlA)njF`TME+3&lZy1 z8a5T=ZvT{!_c4AseK3mnrP0qRRvY|&2}patk&rYH>KFI=Ee*+6bi%DHWIFg6Ldfq| z6{Ms8ypUo0U|T@$_w$7On&YXOAf5dW4dFVy5#&L?L2XLCFti&F`wb0=?BT%TlcWvMq+i9`SZhmM<(i3kUOCHVgCh@soRg=Sn`NJO^CHfkN9&XmhJD4_?v`~ z&w-x(5kFSP2(h-Mw}0FaF2go>(mwum*Hh|vJKVFV2avx04MJ>*_4RKvB*X8ZKVb;_ z^!g*#Gk%`P*t&Su-)#u5SO-DoS^pa$v|=Ulod1&{oS$JJgZxvhCu~uJ{Xd1+mN3}I zl?T)6Y)csIrwTbzo#*p|{Y#mI?|B>S*AQac#$dmL5L;g__!&ZMeZA<9GK6zD8aaH) zpU)($uOa?YL!#Ol;=eC??6{NZ?=>W+b#a;w5%x@J(R)P%od&QA=K}PyDZ=qO430-c7FAijk zU*8a39q%@zxgq@Q--3+uJH`?6X5{)mF^O$ygBdks#``CQyuOM3B;)Q8QbOy{A@$G z%_l;pz#l7w+B}gd{;P&?sg?$r>Mu5gHJ1aK=J#r3YR4hX)j+2EhYgA5&og{H0{#jE z8ii{>CL|^7I(L?pDPh;S5wYvsh}d;*NCLYCiHKc;M8vLGLsG)7d}rI#1G~-*NeR0a zo?~T7*fnfK7Cgq|X+#zDdhEPdOaFt|XAffq)!;kr7auDiAILzEd12}v{QQ|9^FtED z;k)7I5$gkqWUknSxduEQ5wY{xiJr|Im_5|_i+1d%JR&~`xQyP9_wn#*#f-F2whVDcx4#|u$*t@_w zZAnNjdkEh*N35lORih_5S-sq^VMx^9m)lq+Uc8j&2_Z2S;BDv$Nr~aOCAtx0MHuTf z{2$eOM7Dj2+qmb+>^aBJ9?ATS86%ZXL{cxmko+n270I*^Phd!b7barf8=qD{cJ(We zl{SaLS@CbIvZTb^=efQj;^Uqs@Q zF8dGC^0^CTPU5!d`LXgIzEEb(U0gd+T0IlsXF_Sjk!@K0#1m77N8?EeyMkUFmY8kx z5wYWGMC=MWA}2Ckv!;&7|BmKsO0$PEij_AKK78abB5%CPKF^5MEpXMp@iIZ#WXw#@ zBQ##b`obsd*EhW&U(LA*cb7mm_|1gG;Iq0E7}=c=4qr zC6bEa)F)&ja%K|uxQLXM^FI+O`shNLXWrw!6Uh{;y-?=r7cL~p=wH*%OTEp0SIs?- zoWRPL`e~&3R-7<7pRDS{<4z>w-hUx!^T35Uv{oyO6?`|D=e-fBIfYkbAt}*2#ybdm z!ZNfiDk9c97ZKZ{B4SrS5wWZ6kOX#>9TDrr`YKG_&J!YH=iw2tmNp{R(uO3kYpaOZ zwbkA*ExQu`+LB^$RN<0Y<-cq!>;~_bPQ$y>{BO9}D|LZ)GhId|lavoVY0s9x{kvs9e zxF60V^|4YoaURKrrfQF`<@YLb20b9h~zxQ z?KvXUE9s4z5qSY8W62{F5!>cN655uKl(;Sxdk*J4X>F{I&wtXvIJ15BJegW|bMKDy zjA?x#X?WL#(J7-$P>a9FdNXaQTEJm^Ri?4WZ|EzsNjAK0eUwsoO#R@PA_xYc<1FcY*xr$6C;6 z#UpGdL+&*MZ*Y>A5NG|dhD1J@v;Is& zqBZ_Gf2$$+Y7$a^0{J=TkG_*~7|ps>P#hY`C)4X%e(Qn?+6d|VI1?urA><%>9C^Rp zV7CyuBi0w1y`b_vtcS>8kRWJoi1@xhbdcVbWO#Qw4eKg&{ey#0+jx ziNQT0W55fwxj$MCD?LK3Q7yH^TVW| zk`P-vNx`*3Yz-y_4TRVkQBttlkf<(_g1YTFEjxlBmLWOnkE?Kg9;J~KG!q#+?i3H& zF>&npRXoTLVn>kTK_AgW9!F@Dxi~m2#Evqhg5-Nm zo*g^Nln!de5gKJugL{P7QRdR%Ng;NWDHn_pVn>c@Y5{!%n|2WFxSSsJy^jdD%oQlHD}tYxm{vzV z>MMhjLa4sphs>418AGBTcV*D6Bd2b?pjQP442is;R|Qo&kqpiaVva;U>Z^ibhUBY{ zKEs=!p!w<`&k**HeGXD1XnsHEnfzl%L9PwxYe6>86uK^0ZAjFYuM6lqJywQ1Z`TDe z+;pO6rxH62JvDI9b>B0U#*t`k%?Bw82L4bp{JuXWv^rV!gt z>jur3gsXtML1!Vh2I~enLTr6qALI(L^;IueX9(wqeAG7tdzgei>iWR}L!#QLADk3D zwsvj|5-~bcUDzFj8-t2MZ0+0_++he#-9G}0^%TA`5YT(+$wIz=DR!Vh8U&p&+7T&_ z9z!QpZV86OkxL5f?KgBRmSACL~g zI76cMes>BM8d9kC;6x(53H*UzOI$44EqyRJ6i1$go`-_sk5LY}-s!wnm*8&RN zgxC?SXVA@%sORU5{Ha4vT>kITJ+&O&Ylp|>ja3G#&00-1`ZcrqxCvZYv)VbSM- z^b7h5St8`=V7CxE;tvSwVh6(3&T_g!kv*p!CoPD z6dn{D7GlTKK|w3bJjl-5zC0*sFN7=!eLZSW(900Eb!(8H!NDAnv1Rx|u-6dYzt{ws z7lOk=X#ax9OTlqNxYdyr%?$7=Dx}Vuw?k%V&`t2t*5uO>;FofS|Hyh#E!98&@Zy-E3cp{FhLU>*<*bt8OF2W0fyg0H0;YGoG zL-JKx63+S|{6=s_$nw2-CkAS2Nl>9b=jXd-uKEVQz8N$WQW}1n??ILZ-GrRLvmXOl z7UT-~QpoaPy%5?*`x`QE1;q!jW*VDH;@6cywh;16mIqlCoHAs*+J#-k>L6=^j?Zwc z;APARK-LG{h2(KL+_Qm?Px%YtfTHJ_@=IWSKhf?oI~zB$yy%+i%hYqN6I0QjUfAi z+Cu(CD=q}tA2b)T4}@&*w?TIyG@~SPAXqA7w2*_rE+I6RCz(S*nZcaauOOd7^LIgI zA=jdoh#U@T3OW8OpX&TR=qBV7AwL8qUtm20VPn2RtfN8W7n!Vt&7<=9F`#$5&~xqI zgOnljQ&1h2h{!(}ZGHkd78JyhQy@PFY6#2RSrMliL4FAe;)q5re+|wEAw8u)j?;t! ze}yIN9{tJSp-j@lHj_dpgU8|sjVULCC*#Olm`j`ro--txZ~Pu)8B*xjQEwsa;^=Kg#@l8^5 z8dJ|O1aJHkzp>Wy4T(k&tv?lFN04Ir0LL<`3EJB#ri*7$TG6jCOMp z^lU>8I`7G@YocB%WcM=OhfUNQm?R969kE2cT}Uyxy_~3z z3$d&0M159>-Azu^NyAJI6DAdBpI)L)Gvr{xRM{g-)YU}B?vW+x+CuCeS)#s8h}|Pg z)UAZrJ+egINr>GeOVp1Ev3q2R`e`9{k1SCSu>_+Y)nK9?W5_|L9ZHq<854EB$k?6G zBt2V*-3d+7ONH2-&?LP2Ny0#FzYoDZV6JmGdlXNQ~c1J!*cM@WES4ie4?m?o+4ebwX?(Own6~*glw|KNn*AV2VB@#P-1y{i_h$2UGMJ zA+`^u=mgAQV6_r#A577ymPj8=(G`SPYm=hy7GkYUiXI}w+SL@jOo+8VDf%5Dwx^`% z9YSosNYQ(Q*nW|szZYWrMT$OQNMu)2^f@8cuBPbXBk8#ghITbYUn<1f)fAmB#M;#q zUB{531l!|MbUh)q$ED~dLTryq(QSm-9+#pY6k>Z^ihfjxwFxP@w;?&PimfmgMP5_% zGa_SqWvb2+VtZw(&J|*NWvZUWdW@%n&SR(QWpSiF`e_+m$i&>IZU}Oz-W^Bo04b}F z#F4u|%IOlLs0?#VtWF>m^bK*O8%QPH(U2^Bxe;%#0;!^N4arn1Kwbi=s&|cv^o#(h zru&a2lBssUeoO$lLYE&;1aG~ojJuc?|H|r94oF5`dAh+u3ailazBRy0I<@qv@rh2X+ zMG5w#TvPpqA-tzh#mHNqxpQ) z9r}nN6IB5`_BD~#9lCWs$>ggFr(M+uq=oJ*WL7y(H3zv<_Y%?xwcQq^l|F39cy$W> zwKK?FdP@Q6;dvdM6Kq*@V_YW5GT8A0anm zy+gZr_h?}J6^47__vqMUO6y?4o%o&h?Aq!SAwRX}`C(gKSx6;}J9P7ifskyu`O;Rm5VF24-(hL1I|%uqr6pa3Y-wjnUm^FGvczN=dA2^`w&7D)zi~VL z0>^UB;fo=3)174jEOi_s~;j(Wb3lh|LTJ1iabDk0V74$J+zP{>?4 zE7DniF62hJ)$))&97kv$BtxGPG8=p1bgQMS_NJI}c8Jgp%cDA3$l8f~tEIcHEM$e8 z2j~$#sr7#M&~%ob9V0s5dJh2}&M-Kra+k1~nbJ>MbvxDdN9JVgH` z#O@u#XZb3nRT#7T!b7w##O@0Z(Zz+>ec>Uxv>}=5g>$Z2f&2{7^9|wlOy1p0y~mJ) z2@j$!=;Yo|{k0)Q33iq;RDWj(&Me_~>IFmfF^Og8Em``c5Ib+l(!UFNe?9ktEd7^| zV-+kpBV^~5mYfrExs-gCrni|;zxelKK6jd>D;R<|rMKdinWfVWiAJj|eVxQ=4&Mc} zv25K~V%f1fTi+?M{2u&V*}9#?s@#mvrVi8nn1rjOVS1qGvE%75Jw)`ph104Zpqz*4 zmqo^o)H!;*$o!2{OexfE^b|u5CVVRASBL9qLK@2X)#0|)g{O3e>lq?55b48L6v@9#7VKqjYs4 zf7a(39Hp-oQbTs_N9k*sIQ?L0Y1e*~t|c<>bYWXJTHk0$VR(jNv~Ive*)yD@_3egm zes-dq$LO9H#2TlcHsqjV=UU_R^Gw3I);Rrw5Iffzr-ul!bFFbY%aCXdJ5G->Bq!Dx zwwLa(js3_U7uTLV6bG(#X}*h1fN0uAU`iiJa=p)k}n&9K>sfT)kFErROZ! zB4nGK^UT#-h4gsX%Ipv_4&GGi%ei`|kVXl7&NEkkV#zjM!{+MUhD1JxT)oeboLCpE zclMy1bM^Oz6oz#%UjM>+oC=shkUwF9{=<-o>R&w9VZ@rKtG`CAj^_X;LGtyph7={( zS$BcXHYD;?6zEMNV|#ajE;*g_6eZXmSD^0}Vow$o=m&+^9#^1y8gekf-jOfReS}zB zSD^a|vDT(Q4-{f8TY-K_h_!45dZ-X<*$VV9A=a`L=n+D!Wh>C5gxLOGpvMZa{k=fv z8B&yBR~!YpNQkvs1^O2ucEwSke-~nB-38j8VM@%gC+Z9I8%z@HoWDSSBE-(;3-oCr zc0OOAOU>kxx98Oh^tFZ@Oz4j~r&&sYt}in7+)jb+Y)GcsoNr}1&SE|GBu{}JY)EG8 zHO$9oj#Qv`v5aHS_7vznvnf`zTA!>dU{*@RuGXjM=7t;$?bsB3k0I>oBA?7ueLs_M z6*)~mBE+t9r|BN7C-gN<(|rx$*84A7?=+qIIzNSNz0-9SL!#C@U3V54+j^(#MMCWQ zbh>`a5LkY(8`JeVk+Eyf>H2*kc9lI{e=NkVvZw2>h1ga0bX_FGuBoT%6GH5|d%7+; zkDtP>vZw38LhR~zx}Gn@&H<+D-9qe1`04tLAz3kdDsQ@OKc6&bDt9o?%%|%a3y4fK zq!@Mzrt4#iICbmkny0HSW@5cz^K=VCqB+St-AYI!v0C%=-9l{7ou@mB9@}^3>4idU z-2h1fOz0{wsxyT)Ijd)rv+ zdE8l`hYGPiq6Ioni1iUI(94Bbo3KECA;j8*1^RCx)+Q{_X>U;uqh7f{KP1HV%7uD_ zAyKbfsK*-;`JWf-DI(KuBKuC?(6d=4!JhD6q8ACVIb5RO5@P$;61~n4o)t7h87|Q$ z4LO*w1v^l5XMedqBeCpFf#o`H1wF;Vgdwl;O@ZZlnUG=yd{bb#eou%UL6+-68|!zT zeJ$6!nK(a};@bqvbuU!(g8vFF~`=)pqlx%V}CiV%D5eT|+g#GZ0rqgNOL zKS?n@QNKo4T*YbGv+-+mcOkYe*63A+989otzcqS2%Y;^ajV@TtdhGf6wYvBkBGFi| zRzGA&GMLAzWhJp2e*Vz3&2<^*UuOr)A48)XwqCy~#NHZPuip}4Z;h?jJA~L-8Ct zv9@=;p0bXg!rILB`VAr0X0F%k4VkE7m<{$pX{^^3VGC&1WbNSwT}OzuhZ}S=Ln2GN zLAMZM?dk^IhGT`TZi9YX^jJH#L2nact=0y;Pl&Zz8}zS2tkv3}-3^>W>)GC*Q-oNn zwLw=GVy)H&eX|g2!#C(ALaYr(o`qPuu|fA2VlCSST_D6-whelHFJ%s#o*O^UQnZnP;AP z=6OD{We$hB_%3R15?iIQ7u!de0pC0OK3W?^x9800KomVT&Ww&GQEfFdI*CNRMUokv zL89Iw$&Ah;QE!oCMwgJNw@5OhD^YZ-%ZzTJH0r&Q%;*m!YD|(D%~5IS>11X!X|t?B z)mAg3l}XffFf-Z@MUM(HqiwgytyFu?jP@o`?Kv|#1Vy*!%;*tHquTS<=p_=>p0`FL z-(&3rvl&~Xc}P@y-WqjK;CmPJ+;eMmxs>4kVr%pSN*eo_-ap+M9iAzVS+(%3(RWEy z3*Q=@Poi4**65dND`@*-l)E*$okX?pt3_}1v(B&vmPjV5lD$D>;K z*62eds)cWjK24%p_||Ao6y3tNMn5A_Ej%llgQ8n_R`jII2cH~?5%u=yc`3pA@Ey^= zNYvWz9nqU4>K<)JG?FEcS=Hc#-VoUl zEk~lpqC28hQRF!ohjVa8w9j_2cYVg~iq1sIHP!nvyP`EtdOK!UG-sC-^>)mz=!tA8>YbWh(b#S&s;%yd7A8^a4|hfDlc*JUyQ0lePMT_V zcUQD6iJD2?6>TrK3RcwbiuR#=)H?I*=$aqp-qm$5JNg}odJ`u*x`RaZHrdgGB&r=| zM^8uz&YkS&{=Fh+_~o_MaxN}An!Qi%OI;nZqlJEwqRyS{Xay2=?qo;nkf?JfJKBsy z^*`Cs=Sb99kR9zzqRxWs=r<(lEXa;-CsAiXcJv&|$pkh3oE`n0M9ueRNB@#r1?$zb zqyJKx8aeRB6U-?75M}#Cx%AnzJKBImolQSR`=Ojn$lfTw4D(}jC`xXETJygr`hG~n zjP$hfkeF*a5_4kM7b#tj{|UwgKe#sB=i{eGKaavJ>P&bRG)KKKZhT{3Du)lEyj)vJxULuAT?lGqxAD z`Xjm>MZO{XGswkg=ffh6ls`cJisppmHpsPT-k&iae6r>afnRxvHbO~fjSIr>M1kCm zzKkMA-6@YlmPS7mJ%`VX@1<}xKhKQ4Bx(+y8OKP}JU=sjCsA|w%!vIW%k}5eat?$U zFQ8;`HLK5z;gse{djE?VOOA-GvbdV(XGRW68tV=7{Njx;X7oIUX@YqYW=tnhPikN* z61C1D!MKYe@1)8=G!l$r$3;FT6B^OAGRY__#XJ_3_XSDDV9%jVihED#`csRTFLuBT=)& z+?YV3W{J5mgG9AVZpIcx^;C!(n@H4CA#P-&=qnmGik$jyPhuKX zQS|uGG~OanD+z65GKqQ$V;eI`)bj${SVz)wnw~gz&-}L~ zlsBrQ$l4Llh07atWg4y`U%_Zdq9R|xXhotTU%}`?0?)Z|O+^Kxn-r#wu!8X}iX6{3 zhn7&$n2Q3xfJ194DjADW;=D&hwv9^0=ai2sS0!UTi7HoR<1&eQf9Day$(1EldwYQ}YvQ*iwf@1$2VlFo{K zoiv-$JL%Poyd*2=idN0IpF~~Jsu|@;?i7&kq*pU)kR)7`Wv^zWk~~fCq*pUqkid^N z;N567qZ3I7dMCY_(TBvRchajFLrGTBJL%PoILTGWN33S4W=td5O(T$M#yk?$M^!Tx zN=X<)V~J|U7bx&%M-Kc70Y)r`q$RA|c^%|2qw+ZspA1&2VjWtgxn4Mo*M9)|lExiqYYBnMQrDAjQ~@k_KO= zlV30h_U@`tt`;@Q)uKkZTGS|4iyG6W7>zE-y{q#*#b`>RdWjU{ILb*=t)WUWPLZfP z-xTAF+$y;9O);)e8nuQh)%cr4t)WUa{vlCos8S91fn$i6zRONE43u0`-9bYd{L6CH zs5{lDLTS|fa;i~_@=@2*RHGh=x(cTnO=&B2f0}BYlNgQQ#uhMR3p9+<1gUT`yW1O-a<%ssLGDLlSjmY;UYbIhmmDvO5}^QS`TcIvU<3Jf2{M_KQX_6#dM%lTk_v zuImGnG-}SFi!nbWqP4tad`hC)#>>Xakcjz&p2j*7)uMVE8%b1a>1%8yQLW`Q zBb!9Eme-B_B&xOaH}YK;^`4cWTFXGA2uf~(`l7;MBN-(QzYZk7s4&=gNTvx|%MhcQ z%qO_>9ct8(610|~Mtw@7TFaZp)09Sy6W%mhk*G6nnDIP{z7`BOI-|r{Em&zO#y`W2 zVt(xCyXU1>FjMtBji_u-<4^^HMcoPuF)AKomGRq3;E61Olibb zxEII;qacf5#D0W)gj_PJqR6%()&T!yG?#*3P!Zn~zG6&4Nn;j_5rkYdDkO+}mSmqWT}s8yaFOc|1SE@tC}8NX~%Rd<2RfF}i%J6xQ;dL?+U>d?pw9 z$nW8c?|%DyHHrG}x6gNzsPBIJ`~t~wsxO~chWAbx%S`w)koQn>P4!K0pU+0gN>JYh z_xW;}CP930LY%oV{xxl-z73w2XUeUD{y8s?!TZ?iS=&`8MPA+$MMi@SgWtX5BT;fq zwT7wypF*P6P!-^_NYomt0{jyawT7wy-$bI;P!-@gBx(&+0e%%_8WZ2Zv0(27cvD-~ zPC<}D{3R6V6X?x_BD^1oTH9QNk3czTs^>&S_&7?VMomTdds2c?QxQH7Mb>gM?5imM zMGAW%Il>+SxtCu?8N5gD+EgMBwrkl?te=0i707oDSSnv7POX9{CyPJ#!^5^^LZ%xt&Ioy zFEUN=*2aVUv=sLD3Ha&@Z1oUt9{caU%JAZOg`~0OMPa2uFZiYmuZ$wkrjD>xS-u=a zp547b%JXyiWDM23L`8l_O0XijBDe36Y1B%vio7t&NmD)dtjJ4~sOO#)c~#m<&4E

96psC0+Nz{t^irmRB%07ngY8GLlPk^$c$R}%}Z9L37ghYHPt1|z9M751a z_+}FI4%8$3Fv`i`y_-k*RZ62~Gpg|B1;yTF4fcnX=6Urjl5z7Nkj1^GJ1g zU6}?;D(%d?{+_W>o#1!Uc|Ve2feayeq@^4iH{qjDblYgcb7UHf z{4&V73BOKT^=>1#YR2!9e6>UgFD8yKgNa{KS_fM-O|Onkd{1l zpV%s$jrudfM4DFoD#<6=5%vqn^E_5urr82=38Wq8C8Rv}c7!Djhqusq)d#f1Ksxfy zC8Z4d6y9|(;kUy14k^J`-MaFhQDh9oePCC9_Wz~15=v77a_-8lQX=OpcJ)exRRrnI z^P%W`y7S^vcmsGsR|C^L6iQPcrSAXa(~CDpNoV=GC$RRArWfB3+De?Kefd_o6@Rv~ ze4p`EzCDy?AZ+z2|LK3y^y3FZX+}bte%vhm-%|AFrBP%l(jiTM-sFGM4B~xc8m?v( z2k`+UYW{E#A4#I-7zgo5Bx*)+5T79h+t?D=*C4(OMLsEB1u}$hrmboZma9kJNQ%OW40$|7Nm@c(NV$(BwW>UKCi7&Hv*lG(OOlB7GIFa2 zNm491l9|lQl8CibGED`NLc#G=CTX}GzFmyvYJid(jB+RQRx(ZS6lMzVAO)Youn`Gt z3h#=d?~dQ*eNc3d{WgEIjBfJ=Z1px@5t95MQ~73;tf1eR&i6(#HJ1A*?E( zgq&yb2T^pnX7d_yE9@nzLYmopbx6b!e#|$7PhkBj-=C|L;~eg`Wk zAkAWaM@mrk#k^QK9m9c`rYcH0tJ*rkhJ!5OBV`)Cq#S&`0OV6Xo}_6T*`hw>@1yA6 z=2O0qMD;eG@(ogg-sV%jU*>})os2oRDzA@cCdhKW1|^;4?*YGi2C|YH6?B@|cPFaUmO`7OB8@B$=XjE!Jx*~#xCxeWJK z;)`}Wd1;cWgJiw$T`00Hib6?u@yk+pm(KDEyPMyTTLst3 z-8@ev5uYrsj%PQ|Poj=zH%~#4IhTW+ck@I_JZ@q?91ehxyZTE3DIYu&=|sC*>pF3V$8sDDM|a^AP-c`cXca(ll!*-?Tl> zr;)6oZ(1JbAE4;HALk!Q3HE-RZO{cRIzBT<}!w7`M)IJ!x&q< zL41}cR+0PqED%Qu<~$ek=@ycuAm`N`BK}g|8jy>DJdp~&Dh6^nko0woZ3DRy$SWWR zK(6ttm~&P_5BR<8(;zqaU6O$yzk~e4^T4%VjSodh|5f?8>JCwhy3f_J?I^5KEEC?! zf?P$}b(%_tVDt+0uElC6&jKwkRZ`;O@#v@0|MCJTX~8$;{^iM(Mjg*Bo?1kSyY!-uGR zs1$ekC`wZtM0};^E}uwgRJoX$PH6@~NktlF&OymwpN)j)KX3#IW@2?w3O!R1F>Mst zlZe`hnDUYn9E62R3qjM z5*5{mnWu(~vx;HFybtB1dF!C8<%n4ZCC>U%y+_O`Qn1Z)Jmw=I$p?~TK34O;WsjOq zpy=^W)NFzh$7jd4pdXK#El7sK4AVK6fxI9E_f-sXhL3JaVeJwU*@Gb5Tu<_>2j9R0 zG0hy3HnS7hxfdC;%=F`@Pd>Bv|KyY39D1d?Y4JUcD{Yi>)L2~Ucg_2|8%X`<-$8zs%W zD6-A}1N$p!rph!-hA=3mcp|tq|i8u>RmxQ@)vm42;5Fc?@Qra9T1>456P>Ry# zLX4b6uMZeup#$&Y!hXUW zN^*XP-0BH)ILYP05w;JudeR(6a-k?(|3T`R?~sgzk?;kORC6ZD_ptix3P=NUJ4tic zSK=s`(=&f0DJ%rWv`?FdQRK6AappEPPov1lJFrz#vs8Uu7X?9@nJLs%$jMc=?D*&i+YU0!+=G(FD&Nc4VUXeGEtCw_ zs4I*FK}MQYTgl_u-UeDP$SAWn$xWCw%5DLDw>ca|w}jE=@}77+?C%bV>?UkA+WZYA z&htDAXA_Lj#+ZMSY=QabJZZ3o)BJ}-jV{KR3BB-`u|?UKrbtK%g2c@VAt?ni$($^O z?}ZqOzV~f&CW#tvylu`SQR9ub%?(mmRTxKAf_&aKOT8lYp2psSvWsJW+w6rB=R@Cy zFP~tVbdnn&bwS=SKccN3cn6+fg1l>fhLW4G0M34KF28GTkXteFD-~@pO?GcADeD5~ zVkeNP=BPeG#_(-0-s}mIZmva%E=0j)H z>Fha@#b#v^@%jq2BQ_~dlKdxzBC(2!M5=|s89x;PWfOc#`wx5t6PD=ccgL1+(8Mx%YaI zrZvbVb2v&GD*&U;&L~M~B2ApD^ZkO9q3_2G{ilK_`QrPW-F3kpOyrHQG5mr($SreaNWKNRV-^`Fw>q>Jp5lSrH7k(J{s>wV2(v20 zWg78Y-#>#ytSl+~D2%LgL6WQ=NM?iliL#%znpqrjMVUEX=F=n@?rg@udQj`x2~rwP ziLksNQL7WlA3GzgIEZ1rMsfh8A_%uel4L_vYJr&6yCnPJzUg@o+nPsG3VsW_JBVXF zHBszKUw3?~1IjdZ5-Mvjr17n5G7YY?nhKKFN}43Ll2^vrAop06Lb3v+pw(Ime`5ly z!Gn9f!d7PzH;_Ff>Y7s6x-5l>-!KxRl)_g2$+#~*zofhiC}Jg(q{8utkozopQ|9HtUV~uvwZ?9LqQ(0 zT22>R<(g_`V;QT16kH3j7OqWYtQ?dKmICeY-WTB>#5$KDwt`=beGXdOSh$<83coKT zoxKk8S~f^|Yr{+_Wluy{L6C>7y0hd~B_N*%KpwSjkc@(@#BUu|u~MK%6Zx!qPX5+m zRckqkNK+QJs%F)mBh!fAF?e&tnR7d+IziGO?i9o`@p_gs57Pu!#uVr!#a~vQ z2NNQ!JLHpM^~5x?E<}%%YVH46<~-I;#C#f9mFG)o*bVj$`)XwML&;!j?~Sb^lt%5n ziNzO)talyuf24}2>aM=#ocp{7s>oeBYx(7v; zeKMqJXSG6+cbd~d+FKJy#GU3+kdD@R5^<*~ejDgT>l}%=(>wsu$tt!)>?=1x+-Y6| z>0&h}5qFwGUb4obz}&xQ@NG6_w+$}T8&7=y{FiFZ)*sNxc3y&$67)n z?mf%HR(-8f%Va*{PE(|L)oMi|?lfycn%AreB;rot~cSwg|@a zZ-5N7E+~Oln0Iu zWQxT<6I*4lPpw4u4#+!J8ItCI!5Vvzsa8*tKj*^(MI7yzqa;s_9wU{yxZvqm3Utx43n zrjM*qC~^MwI(c{Vku{U#qozu(u9PJ`1*OP>oIkRnUuf9{GS@0hQn46}UP0zrjYyi6 zkFX;k^R4Eq#8&BSJM`GUgM4BQCHaB+=f&1cl5q_qtS$6fORNH`<-X=apCS6OPc89H z9}#&5`??JIEVTx$k@8m|DW6$0Nmk{7YZIhdW!3porV)}9hk0tNc}T=>ORcqTgd`ux zdTZHQz13|vpTD-UNj`;Ah~wE{m0B;;%!Mn6kZ-MHFy0Mcmp58BP-LAJft)v5W4{$? zq?85OV&#P736LFDg^eOj8XGhMet83AkJWFJlvD3Qd_eYEuWZJBu@@G>uNuM`{*$#3 zC5^qBBkwf#Tgl(yzS!$s6WOb<)qZP=6g~@b7I()7tm!0cKnkFINV12?JLrSfB9gNp zBF#bTGm;zM%jZ^ythFS5W(3n5vNn+nfPyb6JhH?PFuIOOGzD=$ToqTu?p{$Qm&m$bIzKBl9^E7jj%nC z<~Qr=9+}1}0s8^@!;hwKOD`KrUN9pu~f^xMKZGqUz#`b&f>U#Z~JX ziK>gMR^mRfuQ*qAam|X6sJggj-A|(G;%}=wiK>ggt(qjNF0NY*NK{>1w_1@DhJT7W zyGzyF^zJZZDY?WwtJ1VxC#zf>xf<$fSn5>Je&t)3VUUFQ@;B2_U zLYlnxGec* z0OS#SCQ6)@nUu(mf>g1q-jw+ah4Vs4HM;{!8XE)ooCT?F-}+bPv&Dk?1gT{=za_Vt z4R<$56JWG#C*79P4Du0D*RG6`#=1d19!Nd=^c|UIZa0XZm?5{VDX&i9J1!NCWR%oq+dKK$_WCqf#D+7}f!4VXuUh;v$XnB}`+3w6e29B5J3N zJp{fUBGTNyO7?!w+uKPdt&~q@+uF&dOtW-dggpoOw6k+aTK)k2Ge~=T0*nSkUDUn@ zMwB2O?HVv57t$Td{u)SUd%Gj$)3+l`JS*v9ulJ;6K}iQeny&Wpd{TBnoWxe$YzN-F z5=Yp*Bx7%Zbhn42=sVw+?VTwSw_P{1)ozr9Qds#9B24^_ULU(yL6LJh8x8mG z$3b4Tr=w)CpZ|d|07yUkCz7={;T=to*X;`=UqG6FK;E#gku2x}Z3OPC``dR&I^BY~ z1dsu?QAq47i#-hDfef@`Bncn|KnB@GNUolNHU=`-et_i0S?DD|hS=pv%8Y_LQIMf_ zQ<7C6kAS>sPbFy!QUhd|{S!%9n5%mdWVn5VB#o7w@hF=Y7Uh!C9@3=QOGr`&z#It37<)hwjB{|$IL@Ap5{Ea0MU zasou8nP49y83Xg`BASxLE>SX&Nl9nLi?s&3Y8D$LX2V03YKgE7drol5sO1qHsgxP~Bb}!0Dz3cIg{W^)7 z?Rf`Ad*Uz4eYv16kfhmgq?zX z7T8xws)Mw=N90rBL9zEZp9W*DbC71CeILmJkc%jFNuGzRmPoV6ZbZ@pM5I|{_eMF* zinWw2{1baP$>WJ|?m(JP>}-}^u;D-g|4_JpK0$d~rv zkaPuEYoA8h%Ibas{UykH`xc76UVLpguPBdj7@UA_L7K1aY!v-|(>L~h6n#A3*hgd< zd6j{!zOiq}G(p)n+N~ZIIm0y<_AXk&W_t?B_^S~-2RGX*P#|I>VO9lN(z>1 zI_ztkor#jc+CV8j0@-0#tt|3MXNkq&o(N=@JppA5y8%P$xv#@Lm>qjWmR*(f2YU|6 zG`16F%Z|Yu&<}QvM@1UlT6WuWs^Agg-d94-d+Z}9xu#g#{2j=C`!vayAO*V$DNt2x z1>a|bugr;l^?-dJ$tNJ9Up-(yh;q^_{(}kcgIf%-$6e(K3(QIVieip0xWvCibpd=CAfJ6nze!w&$VbCe$kzVaFh!({^Tc zu~j--3H`nJ_1IiHrG}IS!{E6V$XRv@u`&=z4gO5a5C6H@&huTus zz-Xr?$aT9$9Vze5hw%@{O?$u-Qa%J}33A)!^`unEpU66cFo)Nd(xx1Y7C{o7x+IGr z%@B}0&H$2L(4UP4F`P9dkHP)ZWDxEgA*lzF0b)Cs8_1j|!rm8v#GFzMrMw6u{PoaQ z?{Q|5{5&*~Er&Guo%1L<&IO&nP^PgWFu%GM(iC(mHWK;7gOyhWooXcNH;4;5Pmpwm zYf2_;Rmf>T@(RdKlxInfcb99V3p>w~TmcbltqVJyrQiy#y|7ggr!S>x0@tP-kfP2& z61zttuC*@ej6jiV-i~3K=~CDWu$8!4-RCSsnTGN^q$%z|q2Mno&$S5DC&&X%)5fBt z(^!j6@U2CVl1|%@+ynQ+4?2aLh%|Cv6+p^5B~bJkSI#MeqOYgroXS#yD@ZwK5{is` z709Q8vj|0=U-dyMJD*cN>RS1zvq5gfr*DvRO^-S|NYr~#91XP;@_5&3TAK^<&kX8YHS8d(3G< zqWZBKP6rg-kJWU>qv#mcbQYrM7}j*YloIq>HJyzi5xv&q&bE+(rHk*SHr@rlaWVU;{^d zNh&=4Y2ex&RP;x7f(A| zNmN}t<7A`gx@hKs zlSDZ<&2#^4^RGMYqy%mLb!Rw=u8TLEu_UT4 z-f%u3IR$;Q=%e~O3rH@2i2Ca9e2t>(Yk>1DiK?#w&MzdYz6Lt~lBoI`>=bSxj#<~& z5T_N2J}-tiBT#gG4RPL)64cia=lzg~`WouY3yG+&H=X4uy1s@xzoY2-ddv9(Mc3Cz zCvQt}gmJF=pOH=xDOeYCp)N)`jZk!5jB(~j3C@dg&Rj~P&Wmx*PMJ^8|HPerD7ycN zJHMdlIFEPEk*GM2cm5_(ah~AhX(f(X-=9u$926br$xcrc9p}l;A`~6x$hbW~?K=SWmkXE}e9sHo0%^0fJHROdJjijL}sPEQma z)eoITC_1ViI%}l_QT@=_6cQ2DkDTox5mBA%>_^d2{n)vSqNBRN$p`Zh;kLTKDJlh{ z`USMr1x|Am9n~eyS}8$PmpVHrjf(10=c>#ni0U%u7K)DQGAB=486P#5vfRl>qN2Lo zNhVQIUEx$BQGLSaP7M?t)s@b46dl!-&R!H9)s@aEDM3_MI=_cRMD+{jYDh#>S2?Vm zIA$HyHBNaH9o4nY6DV>1DqR`ZIt@ss2hxnB-5vS1=~}0a6pVZpM1HL^1w}{xTPObu zV()rZWRp`!O3-6(avn#C^H*Z>>bcpeN75fe^v0W=b|iZ!&38^0lAkHfcg_$L-R8GA z!$?%^Y;k6hsM`77`HDo<&Q>P}Mb}Q2lOMiZ5Wd1@IdxEU?PNL4qy)8-w+=yrI(`GL}?yZ!^te#%FkI|rQWD7pp@I(JD_4IXp~!aR#Ob5#u82;|GCs8rH z;PfR?F}&!ELeVk2RWhGo9>8w~Le@s`t3BghWI&zuP|~BB}-4Q7Ag9h1_K*dW>DfU4f!|iK6ai z6nIz2fFpeyW}n=Z-Ni9yuzb_uIV{NiZs(VUOk>B(!Sfc_S8;bSN}QjoA!p;0-Oou9 zYs%Fl$!<2uT1r#G-A}R|M656=;r>aI`mW690rwx0HXtI+18zZ>1;dfm7xIZ=N%ww| zeIO!DNw*eCWQFpgWVKAjw1S4=8%Ju#B67 zqGMRbHGAUmU^^@UIhS=yND1z;%e!Ss)SX>zza~+2 z@ud4RiK>gI+#4vmF6y~ed&{<}<{|63wMo=GWIgw3lw4DN{k6W^lB9A?*`DjW9Z353 zgJ;LEemuqPMlv2`_zOb%qUc&qb;qLUT26I8p){(NQ{9y)umXpka;CcN`uw++8@gRX zB5Jvj+dCwpmK(c6P;@On?Vdx?XUa3~WwjOUtC_o?uh^Gv3C-PYC~>|H`XR9nt+~5T z3Z7r7Q18v%ODH<$mhKG{-Sf9{o4$&r2zvfDZYvZWjW%vqN~5CD#_cC1=xN)yLqj6U z{=7RnB%@T?MQ1lUYaKDmU1y7tix|>n-@pN<#QyMk<-O;^3`Pg|9S#v0R zN7sB!l3Aqsa3@jI6r2l~MG0+SRQY5>bkm+X~L= z_X>)BrunLCKU@9IeH=xf@2|OaNYwfMn%j&-o$vkJ z&Lrx5f5YvEqR;pK?guFP9PIBdLD99`-(62>RIBUnZjci6wEbQ0b!@#sI~?d13W=z} zL2hzLL=6shE1>8a9O`yQ(dXANcL++Hk1Z&#p2OTxB)@$vuernA2_)BH)l6q-W5e93 zB(JrN;5_6ocP7ag5Yg&}xhtjMdHOPJHQc?0k`=7PNORl2@!zvD&Fzb#+gO_0Po@c? zG1{HeU)Hjk%^2%0BT@A=*4;{?>T8^Pl0?%~;J4vD&6Om&;0=r)$_wv!S>EZrTWgzh4zxl=+Sj(NH}BP8OOXSnlF^fABh?nH?P zPv2&_`$*=)7)gw^X1Tve!Fo@Fh|PAdqUhfEL$}=^QTBLHuDNa(5>>9bZa)-Vu6gbV z6n*Z@b0SoOCOnco%G8o5XQXRBrIX(^mN5@AyyKFiz-p)?V16% z@|l|-C7m4|naI|GtaKZp=%}u8%e*P0s-9r3aVwLkJC`+XLloWDed#tKQRmK=ZhI1S z?yPnDlBjcMy*mm;_jO;n%TRQEedT_JqU-A`_Zv#1>gy|aqm-b&zH+yPMAX;U?w*i{ z`ufH_f}-o|Th|yS%C7s3O|FTe&#%pHF_bv}2;O}YV~NdfDUziiqV;ZeE0TO;$nnN^ zZZ(o!AR^6oZe0`|`7Q2wnFia&cBq|9H#S@xkG>9Wa|@HG>)9TKJI#>WK>n0Pq@h>>O4K=Rz}fr{?%=dqT~Fl+aE>8`B!%grBQMI z)g3P-xTgH-eyxPADQDd8Ln0!d>t=^UMEN}=QYyIT-NewX+TMC^CB zG79{n?lxGR1aZFL)1i9!glv^b%gZTu}V_$NUMvHyr zCKTQp!L2U2`APD>2P>vvtIKXxlr;8pM6R#<(_M%XXA9tqE+U`5++XEZ=Fjjgu z`$rgj)&SB}K$*r)iFeI0%>)$P|6Fs=qsUe#R#jbhBk-1>xWeAKAkX)IT#Lm2L!R&d zxFtx``F_(aOQO#An{Hhc-46eC>yxN<_^;cAM76_PZW@Vdhj-k0D7qcqb&sIvc6ir4 zj-uP)T{mHzD21N;y6bW&!TEmI%^MQY>X=tFB%;+Nc%@Kut4s96FJgwz_dH&A6x|M^ z-b54`)#4EOsQ3B*Y-M_1py*Oq-bNC2?pWSd6kRUMyCBm9XOrbMip%<{-&yv(j@O*z zIS|orI9?Bu97^MQuaW#lX0-lsX2#=-Z8mV@RYNnmrJ6akyZ3= zlc;B84|{ng%J!_Dkv;4cL(wg>l2@EWwaiLh9TL?tD|;PDRLgwS8;+t|W)*KeitZ1q zc;zPjx2;z5s)R&D^)at@NJLbtdyPB5+fa15YI{3LRJm$< zdr4He>UcRMs$5TcCs1^`>UuX(be-1qZlmb_u&&1@Q%PwKt*%!PMIK>IsO5UzgD84s zV~Y1MiMlUH@lsKADN?;gB&rmtUON(1iUwY95><*u-f$FMipJhz6kUqO-dYr0ipJho zQiA@lv3CJQNB(K=E{ZHyeJIz{Uco7{jj8AF&Aj_bRLgAURU=U?^I5MBiE5e8daY1& z*_(UMlc=&c_Xd)vvOnj|AW>y+>8(N0WpCwOM$u(&<=JmzeFbM_D=#J`D0?gKWfWcZ zHr^x@S@z~o_BP&f6um;St+xh6Kl^LzeT$;Y)y~^VqRQ3I%OO$adciwOqRQ35yNsgC z)zNGEjwppLS4VF&imua+-b57n+dA#xm^*skpvY460O{oApv3v@O>*|Bi+4i`>(B<) z*Fl;t-sA7eh^Zc_tJf1{8aoJcO^4wd;$6LkD7x=`$!j_lw+f=#&Ex4p&IIqvyzC7` z(Q)qSO+e9W@OpYvNz@aBp59^-HKW+e`X2m=~Kaj!^DhJl7lH6-Uum*tfhgQi5o_F>QQo^MAG+Te<;@I9CI3f2_yr>L(%8OH19qVbzV&K zs*|YmV!GFsMD<7+UQZN#UcB%9f}*4GzIRbd5RLb}>md=*nCY?i#Sy~D0qRslW0vQj z=xBW4J&h9Q`{9}Jd?>|-UQ3iQ{5O!Ha9(`qb)Ym~O^>i8kme(=8_C-B5w;qo4~d$6 z`p6qX`HXSpUF1jJbxJcT3g0!vt?p8qi6C20O3lQUz%P6rVLL$PdKE}Ge8*)UN)0JE z3vmQwp0@`@-c$bpvdHT;OXQ<_fTi9-lr$EB_gF<6Tjs4q(Icy6UgtSjr|i*p;R^;m z64(lFIf_1aR(PvX^!dKR`x-?*rCQ;BHroC@>WustIxrEWbh8=Hg7#j8c%GIh;Pwu z^9s(xsA5a#0Xc8?YNKQYPhoa?O+OZC^t-M*y`Ctc8AWd+5MxJf}&gI9&ZSxQBP|2dY4gj8{6w$r>)eJ(7m3s zP#n+q5%sk6C$AI=dr*&~T}W{-I%Ln7MYaqoOcL_0j;T}9FD@Raw|VzI9{f3~G;Kc~IMC}Vhc5Yc{4 zdo3u<-<~|eGu{g%wlAOJo$-dD=(dsTEtYApMJtFc5zUcL2v*6X)a zh(6=ac_UEbywSJvjreok6qzQtQlInAEfZVm7IogcPNG`Wd9UblnMSp!-@PYEREzq< z>p-H~&qXg2MYo@e-gcBY6ElIL_q*s_B@unpXHe3MUegs~Um2`aSC~J9dA7^m1d?`- zO8L{ph90pECUGH6&3_8UFQ#kf^5&x4cm#>M6r5Zz76*%5d9DCs9usZhNy) zbf0j?`;0{O33t3LC~@98pPa?I7=PmbmM&m7?r=oWT4< z5>@ZaFF~T}J;8s9MAdtu-x)=Z6O#NnDEexZ`Wz??} z5^+`#J+rgKZ@R0 zUjLa@;+WxAPBzO~wR`-wD01X^3R>Mg{-}^#0V(VsMVZDPg_$>dY6464lUB=ocGFy3 zN#BtYj8{wg_oL`?mGsM?=s1`1JE7<}m-45gOkDR`7p9$u(8kANGGC zQBi%^KaC=zS^`S(u-|R1IG$;&LLZn_0;%eETPH+Eqq@HmMMtB$e_Be=>Zq!D6pQETFaCEI4Riw)Q3_$ z>CZvQV2>vz;#Uq*{B0<@M@sdNNC`@j>Ob=}?meiThJJGt9gT*57fPet2OQLaY**pP@CZ0t`((dByD{~aaH)tdHa{3|5toxW%Me@WCkeb4xb--u(5bM?;k zGrl7QqtOPU@r>UYMUQ`4`AHkZR@2xNh~aCHrj6edC7tzvcTWa^Jns)c(LG69e?&+` zx!U>hkce`<;7>)-Fxg@C1^jr{evM9d+*~P4~f`&U;hG%-ur9*JsYtl zV7-e`)9ZezkccnUyx}*O!dJO+tkvJ|L-HbgrBIB_`}+e(UIh_b_4oIow;5S8qxm+4G4e$q(R9`FS&<6P9P^PisAd{da4DeT>=sF$b zuSe0Xcd&nh@=^0zLw&Xx%g)uj)=<9?ioPzt=@%tY*X1|;@+9iIJj|~{qOQv${N^b7 zy8MTA63Y>`ntY|8a@ zOY(e*XKpM#=D4wL-PDWAvk%klgqe;r8*i0CCI`MXJmc9tWw z$^Jo-IEY9y+5dy&K1wsizeZA?(oFH4??oweOL*J&NmNUC+kcWowS;&4H%L@VnCj0% z(Jdj}{{uz$km>&4ArbZdo_{waqTZ+ZPNp~>UGFpePAIb8`@ol}-uK6&WU%|-ouiMS zCCv6SNQyodL7C$(LeY``$X|@2TjpGUABpO1=K6qn^R3vTfL`tyc-*li?Zv;f9HRUqFeZP z{?d?$l5X)=heVY0dw(;EF6mbPE{bm9+x)^mh<)kyv)vy+qQ2O+-M=g)Xi+=;t0=l$ zJN?ePF`wWG-A=y;if-XM{XrzECG7O4lBkxj%m0EzwS*u1?@)9!cKiELWGU7`oOk;- zrSLP)%RYRsANf%nPn=%{5&iRCzX*xCgWl(tAW^M%pI-w-x89%pS|sY2fAZUrsAJym z4<%8@e9)hXqFe7Ff4`LAt7V7$BP43h;gIj{5yz~*T9)G%AW?G;IsW}9dd}gn{~(E) zb2#i*LeW>)pZ)qI>I(a_|2&FrQ9t{gLn2z#FMh9(h!%CkAAq7;)G_~i6y1}Y@VCmX zg4S}<-;SbN%Srz{rBT;{lm1mH!C7$9AGcT5U~BktS0>c*um0O8X}mwkPLvFphNY97 z_LrjQ)^f(*jiO6>#y=DiQPN!hL`XzQ&-xcobV+~n%kRVE!7;5^E%v)#M+(0Ub5>&I z=O2D5i3ejy(dz#2JD}+E>!LrBM4ew3{ja115xeYXq3DQR_Rmln6|u|y1xlmV^I!Ha zk*KzM*>`^u$DA3wqxz>`kwmrCD}G}X9kHu^2NWH#tA6*8h=^VDUk!aobOo5=88--vUKP z?5;nU(x`~t_1~g2Dq?s2G!hlDyZ&4fb#}AZCK45~NbDCB9kImNMHGDnNsQe<(O0X) z*uRvInoUiN-K8|@2oqz82dJcU_m>!RLLwrc6e|!C5&1l^WE35FBUU4nM$Cqpv8O^J z^08t~LL&09W3B!tA2+rMMLw6=3ul}k+eRXu%N#=4BL&ZkV<55Eose7v$sa3w5X%+R zSJ7B?6n&RnG**v9-DMYzrK0G*rD&|V%qM6G_r^LO5;V&y~mi1VUc>@k@ph++9yO%&bc%f}j08r7o8$68AX#z^I3 zFNQ?yy+W)Lf*q^TF{`pbXYSZZu2ik^o|jZKhg zg7%Xd8+$}-rDNDI_9;phTh}v@HGrHO#&)8}BNS_-8^unc=qCt`W9LcK)x2@+-lMXl zjXKKtjV7^@Bt1aHtVoks1r&WXe>zr`L|x6Fj@3cYSM#Q^=SbAmylJdEitcTi#@?Vb zs<&wx8$@YT+h`hlQ%Vqxrm=-esQ+meTM-gb%g@HvhD6kI^Vnt--CA12&Z6l0Y8Cqp zMaQspEaBLH>#I#H2}MV>P0S%tQEd~eLz2}|M)mnvD#gpDwX~ zP-J|bg;v)!miM@bkA4TUTdW9)y7%lBtBj(@tKDN&NYoXrdn|=SUC~~SwINYgw4Sk^ zD0;lwD>e;9x2RsR3>5uLp;zo967@{s|H!%z@G6S#f8dh@FjDXC-Mw{#K|orNP*g-f z5JZ#+ND)vu6$AvNNcn%y%(>a? z@6Yq_ye}Wm%E>@=!-Widw7mq|;ExC#s&}v*<9#r%H;KXP9GaP)QqNUh<|Hx5UNpasla=acCZhe;H%@Cp1(;dA+ zgj)Z^ktD@#J=2jPMfJTWTF-JURi%piKHKqSupaLFY{$W%aO-m%KZgjlKG*R_h*0bE z9M`1StuJu6|FHZ14q9L2s4m6s`(j5eCB=PT?073E-1-v7J0U`?f9^;M5o&#@BUy^w z`ZC87DXQ;umtnahN0ln>`*O$Xka{SaFL&gI2(`7s@neWkTPq!VrPyudIEtjGwrFIv z%5h7I{cQYd#{*SQaqFucqKJ=oUh}IR^@75EU+Z`wL}+=|Ia-DYEzf#KdnxwveB&4` zMJ-Q%tocoj8B*-!`PPxC>M35HZymFx*k`S89ba%v@T~Q%V}p|7?e(pr{8{b=FY|W} zcZkq3Z*fG22rcvXju`U5N~&PtW#3lul=JmB~zD7@wmIv#}xE#VZdSTAovm#Zv6$`OWc@6tz4w<}Y*{Ri%nsKkYan#onf;9p^YExJ^$x zZYn9xr>7kcLWGv*jHA?r|E`}u91bb=@|<>h#68Xn9HCuSg(T(K>gx35m$6%KB9P^JOnWYcM{NwnT<#{~&MDstl z9kW?pf>1rT9jm0+BeXk?wJgCA+8xJfmf#5OuEV%Q%WOZ>{;#8@6nlhr-;u7Q_>DLB z9dlTMZ@jthSi%x~UL;@rP$k4)4o?yyiGMNpC!0WHElmjaGUDdF_z#q)wSQH*xS^p zosnX1Q>W(mOKz{?8GEPZQBu53omzfS_!u;`{UJiz)TJE{5!$A1tw@T!O}$#@tN-1m zeyxiXdz)I?3@K`x25`2qv;|V^UPNh&rJO5%D_4}ZT*VYGbCh-{D7?&1XupIAEpxP1 z6e6_Dm9%S8>}9U3`L5A2+h@P3T8xt7vtKo>0ZZ`gS50dn#a`y>T6-z>ny;?)m zR9#C_QrwH`+7ChDUewffg$VVcmR1lV)QcGHloY!cPiwyG|LsMr7NexN7xlCTEWuvX z(^^Qedr@C&t)zGf>uYm^!b|v!_IZfV5_wiNpqY^uew1dqX{T631*G5Dg^ktKKxHrEoQ*vH^Y+Q(At>)e;L z*(|~J^OCkql`1|?TWG6Tg2!nKZ4*oIIBltIWeFaqEw$ZJ?DhPzc2tVJx4f+V$uYsb zy;+u~JisT6x#w9&*(s>eR}zOI#!V$XrJ z)h0=?kKFcJwiJ5{w%1lFDc;9AXzN&l>#&3NqZGUE9ko0ucHcW{M>!_g_m0{HCB^$; zN3GGV|MtDJ)*?ix?{8{xAwqrcqIH#G_r05zCB^Q=+uCv^#l7gEtzilFqKCFsirtHz z+IA^+FM4VP924wCPpwc%aW8sm_5S&9FXFWqLWFwJTWc92)Qdh^dntA=610z`*uChh zEml(8i$rZXORyJ-+9oM>FZyYDQtV#z(~fdXuowNb3rdQ6(NAl1`@g+-UuzK})Qco7 zE<~so1GKJE>|PAgvZSb9&~@by?K4%XcqBYjTOU#njW>pBTSA1|8m8rk2(>j_J0L~X zJOx>1q;^+H@%l;D!tPKn(jtTFCs}i_jGV5%tT9USNC`wvfY6sUMroC#*k`2C+S4q- zGty|SF-!1_^r6;}t96oMpOMCCYoyp)XPmZPioJElY3Dd5xOK*9*OU}*opIW% zyZ_xfDcYP6p*0rJmV^kcu?bp^6npDT)GkS}&j4xK11V~)(zrKGt8h=YRlL0>Yi=p_ zGEdfOaZGTTCu=V%DZX-9{!oOSBkxdFVSvG zvA4w%t@M4>_u#fzqG?Ksx5X087b4Wt&$Y@SLOoro#Y(Yzx=edpik;(@Ydxf>t&@Rs z!U}DKs;78w`ASPsQoQEB(hf6#M+MPU|7X-a6~GB$nXTS+AwB1h>uxZ3#ul6ENU^uh zCau!L|L%vIv?@~4A_t6BZ|T{j#juQl(DPB7w1!gbZJMjivo?7rXmLtVps|DItDQd0K98rOGP)YHb?T~hoCAiNY(k@7``+iuvtfaUXhqb2R|Lw(5 z?UfLrUL4cfhY0oJxYk{Y-HVgjTq$Y^={)v}_Jt}{d~~1EmWR|sV~JDR+7O|(e$_UI z2(|T_mM6t-t5CZt#a zDk)xLXSHcT;aqTD%Lozb#RYACh)^#sYRjeAz4%i*C&gZ4SG3zoil2l1OMAo;oH_YR zbCsZ;+DFP&&C3!zQm$$>S%OE(HLWpA@JRVvi<4p>DL1qaq}c1{hBjJ?y?$ zer{-)N{ZLd4Q*FYc>Ubc3POa|&p+D95TW&RTPu=cub;bGg_6`$`zZKV!$0vSujD#Y z<;s7xCuK~2*p;PWVm|h|`&uoQ)A*+LS2$80Xbo7Z)ejfzAP==BEQxr^o!;U0NNdG% ztc`kpUg+&uM&XGm`b|Wb-jyZq7yKFwqvdeDH_MSS;o@7=9HIATF;3#l2PvTsW2pn# z1u3bIVYzz(&s0K6>62J8xC&UM^gIQ?iV{j^!?7D`Lv(-?7ZY?`qFL%ISG5CrgBjKhRcreILt1wDmb+D(J^p z&c2F~xsLbL>%X)7G%7-@M2x0i2#OIQ)TL@Cksuj zq4#C!il_JKH@eaKAeJ6@dfyMJq$jh)pHy!Sd*1A)bR&(^s*KLrhahb$t`d?r+1y%a9uSHkML5!bBXT zroM;eu^Qo`J9=76Kg3cA(h)H+`Y$YdC*ZeVklK0?ONB$YdWJl$Utzg*1mB>8)Y1Q8 znS^yX2okG5VmY=SSBH?gdgNnjPpG{K->Zkz(>0ctArm3>bsx*79DG?F(m=1wQULh` z@{AtC^4(wIVh-e4{TY^}y(7e8$a8vAmaH6nmmAVhen(Nstjj-39K&hAX&sZKmfM4E2TIefT9AD$1_eF@CkXCv=%SSkx{)N1v?`N4iJY4KU>#g-6FJ$Qf3C{=zol(_JimAu*8l z`V%ZuP^v!U4ZS)`Dq3#@>7dtTS%|kBG>3H58?o%w!bNLHC%pyBaGa6o8}Xg>IF`b3 z5uzPp-qbs@G#Q0|LAvNYS(@Q@$vq%l_4im7R}U8#v3|PggIT6&5h4LGZ|S30DxvlF zA#dvwSVlvJLb~hIrKtB%(KU4soNeik%6dNzCCT7Yl=Z&sCqz$uJ_}{Nt&m>&7c7+Z zjzi-0RV8<6*PjfJwF zHb96Z-N!;%uQFtSUYUimUKIL1P>*4utk)DVgY;)uDC=#64Az^nP}VyL8KS?!LRqi! zKs?u^w`ZZO_Y7p1-YqD|dapx<>wQ=#>yy?n@MJ)4EH-op2U_)!0hg|gmp#Ej8bvQXB$3K^@fXQ8ZD zZjcb;^erru^{PU~>-j8{^}q^nY0>>vcxWX?ls$YP(a`8vvQCmt&!!Id(`j0G>^;#ol zzWx&nWxaUF0{t)xWxZs`Lj4pAWxZLDMfzD5%6gk1i}k-)DC=#+9`%`in}xF89>grs zMH#i-DeIkve6ByvLRs%FWT~#RP}XzfeE5a#XQ8ZD2eM4B!a`Z^708!*Z5GOU^Kc9< z*PmsfthXP_vqFE7g|gne*n3y%tyw7R{q!#0I;FqCLRoJeBu9UXg|glm$k+NiER^*M z6NFf$C$Ui0Yk-*5`Un=vdU237`ZyNKdI^xV`eYW$dSf8#^jR#F^(@GGeGUs{y-dgk zeF+O?y?c;v^siVb>*?6a8}$t=l=YtPgLx$Vdlt%i-LS@T^_?t~^@c#c)eo>x)|(31 zte;?^toJ44JN+~ZWxb!Vp10_iSSagN?2X^_={Hy?>m@;c(C)nPt(p$1n)-!SD4|BFtOvu~62#45{GEWTC9r12t>Tg)EfyMnIg- zEi9DvzK3|7J6R~}9fkOv1uT^HZbPD+KeJHQtAKp*gtLf+ zvR*YvCFfr(l=WVORCeBBp{&;hQq>t=UTs0jdV?UrIB#aJpD1>n(!Raz?XI z*83h(+gX!^vffch9cKd;%6i#YV|ATPSt#qBM@)TZYZl6Sk08%DJFrmJb0c3o=j_fx zS??Lh^Ul7(Qjm?P`32`-7Rq|<5!1vunuW4nBIHHqL>9_=DUjyQk60+{WkXsxvsozX zZH2t-T*5+G?+5HruQ+p9DC-?W%&X3gER^*wLfSaDu~60v!`bh3C*EL(Q(}G?WxXdL z?VLwgDC<23dBgb|3uV1_kdDp^ER^*=$1&L1`8Nw?y<=FOF3$Tbl=TK+@9pL+RYA2y zS?>@s$lFc_3uV2{kRDDS3uV1akY3IzER^*wB;fkO`7{eF0ctg|c21$otNC7Rq|_Ap@NKSt#p;W19|g4rigP=YtG!j$@&$ z*Bn`Im~#pXWxd{5V)gyj zSuYkjZoD&(g|gmoNWi&Yiklq>PAfGyivt&SihGaW0OUaOJ zU4hJXCiqmT9x*u6LgqW~C@KD)?-J*jiWHM3enReEf&aI}nH?15ZY3L7N+WkGDPT!N z7A}h;VTrTs6RMuykt-?Y3ukqf?~tu5#C+jQVA+eU90OVI%w(wtp?X$23s@TC$fbI| zc3x)5#F}r2n6I5iG`EF((G0T6*_dS?@&(CiX97z_oa-%9SdQXM5|5Z~ox@p5&k|yLU5vh*^I4|i%-!wW0{KVkO|rD6qQxY4-ev=FeKkuo#o6Cd^rlT)7hTo1FSJx&%2z-EP2Qd zw8nNjm$N*HTtIIi{K;9w(vW4JGrEdu>nr4f4JcLMY|pX-vJG;`naq-d>_9aib}na0 zMRp)L>O8?R9l3zyxHGbI;AOt%%x0;LvmY(b-_C6;b+8?% zUpJiBSU$$SK{2l)vt014 z><^uP%a{ytek5k>QO`r?BPkOEeGegw!i}(+vgXM6P2obrJt<*SR3dI?VbqOM!l=da zh$YNuC}pCUi&9iixIvZCd|mK2p+VVME_l~0+<1rU(fExD;YPBQOi>#WjkY3;@LH;; z6hn7ZOBxQARV<~9iXlSpYIw}3rX=#8a_X0xkwycSVa3v%rQ%ezk3|}7S*m`FGZI>l zG~Q7n8lx>Y)QrqP{cc(J5PnG`vWzZ7E{v!vvOO@ydY7g&P7 zel?9|wN+aku!qyH8%(1$%d#Z31x=&9l+?&?ASGq%-8g1{9n52630y|9lu4p5#y@SP z_@1VkCyAB#<`nHeUZWn1??)v*qlJ|Guta1%T0(#E)|uZ!{o2BB#L1Y6;?rUoBPC5- zUxs;Zv=uCsU$Plw726r;Noccb2QnSj{kE<$4w*{`YW4 z%xJ*!JMueyU8{!Cm4)&l<5*Wi@6GDCfRlq_AWgN}3wEAu%*=X>QzM@$lHD zh0(Bqs@deR&C5nIOA=;0C_B7jY+<1>8?B$#MiEP&t!hN{s?quxRnPo9m5JII6Is@< z#2MRI#&D_EjVjNoQag93Q9(OnImo_BmDRSHx_BbTqoNT!id^ zbT)EXHe&wgFr=$-Dnx#UbTd2+RXr4Q5z^i0C}n3@@GS?uj5noZi3t-U#9hS18@*ZH zoPZ+`d8N0J$uf30?(;+X7(cQ6aTNE}A@2l_({jN#G$s^F@O!MbByvQDfc$@CSF^DZ`(*PPRZ8QlPVqKaSzBS^E~zRT=6&N`WhY<`U>8CWZ}L>b(SOu z4tMdM@q?5!`Hi^^IIV%z%>iEN>Ub%wp+SECnp} zA++7c74K2OUu29gmf$ZkYzclxKBYJ&_{)wIqvT7pglY^)---$trj)eE9vf9|N;RTb z`a>wkr5X*S*iQ{jG+t3L^8El_96J+@1S$5oWwMdKi*HcJ2e>O_41bMc0>U{9_X|*JwoxTcNp|T7 zF%UAx*d`?{vgwcNntHCWo23JUo*M^1DCG=G@QWeyjY}-S zFMZ56{+1Gm41VcjzHwj0$TdG<0G@3&I=!xzu%k0VjKC5uG#0m2@_YfFO(>7MLPh~g zQ!lRkQ0g;7v{NxJxYb$fGow1oO&4-9t`t5q5?B`C`ydlg^Jhj}dsV7{zZmkFk@SX= z(KWI4WK5L~wq!s)H*#2>sDdXJuzr>q1uQYxItvl=rIFN$N~MdFxAEK;WQCD0B_LMf zSl$Qu%DBU_phAQ=4*A+>*;%#aC_0Ae&8_Raoj00D!HQK*L zF=-+e7lUU}&srn0yOJ6Zx-!{l6!joU7c-V)l!7;aeP@*IscP17s-aQk7ULSr42%zz zv>mEqIwc_k%b39|pP(MP+S+0iuy{79dcHTR4^yRLF-t@Bd~Zw%k+Nv-dt-x?4Dk!j zBqrnsW6TIu>U(?@i%M-b?z3pvSF0mtyU}T+iV0`gVH{++g%J^z$}_|VD&_{Rsg-zG zVwd7d6wm498F4H{miMQ&FeaX*IiSXIi4J0lcxz_`y+0{e42#2hg8q^Ou*u{LN# zeb6Xk8HaIZH^dw=x(8HDbx2>xQ6qVRl4dN&ja@8Tu)QenoHUA9-u+T7^UubbR8^`X z63SrI^RtmWQOO$I2caeW)vzWhnTj*OSj7Bld@3bFY%Qd?-+MjD&b698m-?k#7woue(V^G@v*#x z7*obP$&&D9Fs2SmHe#Y>%yUvwg&Sv4dS3L75y$cvuA6Eh=C0A3Z$ zTIk@cm=9beo5fFh-RX zietWo&~~>a`0W@+aZK<%uC@f<4yP5z1m6y4OYmK1dT~tfU1z#!d_w&?7d9JLnnSTR zoaQ!`{n24!48$}eGUT?9>yUD{%Pb?s9*eq6w-oy~BQCRIh|p}9+pHQQG-Kv9W2D&6 z;rq<`DyI0Y0zR{m6nnDTJCauE^aTepF zC6H=nJ1GIVRyRUwngf)G8|@>+c1SIAmXuT}dmu694i-0N7-;`_+C0TlE=*lXJ#9vR zs`gdw4RwZ$HM_G2$RX4dYaWxL));Nmy5?_6B0bmC(Nx#Gs7ggvfzYl~*L*ySYR-zB zfO(XkQBOTnXK6lONqw`TlvMeR_|u4KV7|;!1Fh3CKWlbpc@jeV{IlkGDQQAPMuN#_s6nh_QXfBtMC0?qDue~Ftp*eT~El;}0!1Egsb1*J3_bw!{`_;reA|*o{Maxl$ zX=3(TL@^m6r48<@LtZk6vsCPkXCZpw>0&c!v5L7=22Therj@x{%DFIV{Wt8rt<7dj zC?+7@N{EnW{?|-vsghDpg^O2Fs*QPJIZ3+s5+j-RkT^4Lg%X;9=?!UTPLvW5PjIP@ z=C!X>%zliuh9RbtIWdPMOUy~Yv#D6Zu4c;DDyCl_JXeXBx6Fc7BmvQTuDbr}Wj0u? zZRK9(>9tZKx1b(6L-sQ7C=s((Bir!_@|)w;8`)$@6*P;%i8P z8TpM8-!tK22c*B*on;5Efc8R?%=nEe=FS?mJcG;)xk~zDZBVH}rubIL3XCr3N@0lk z4$E|wp=Jt8X7vbh0;PtTds)U}hLid=!rZ-C)$=lMixFn-79|x~Mw)xSSJD()nKJbU zX7wMHRR3CiKQ7t4z;X&>ztd=IlzCyhifLR)#f&z)?@+RGJ;pYO`OuuTlO$anM7F2v zloa!Xlz%`X$aJ^Zrk&o}t*ssGc;l`u|kS7PM6w z+jX*;$8r(d%L|!iHr}sdUR;GU1mt7Wb3n=LS*op1%#S@f> z$uYa0Ql<94iTlQob>_RjDtW#pp6rXqJN(T|mZsfsO@Nqh&B4D>jD0L`HZPwh!7KzH zgIi2Tk*eoctY`Y7-1p|IQUZdGN?IE~m`NN%atbwXH3y$n^<3tdJhS^bk}PqHkKBB- z*?ASy14l0Hy}QiV3#zRNxURg8dUlyrE~=Pm)6|i>$LxAZN$}|2V=kAHA&>V5D7D92 z{HKa(T|*sld(A3WxE{>*(8zPIxtoQ~2|C6c`^*#9Rm@MRDrUdg?1qw2AK)e?Vh)%M z{vpW_Nmua<73829cSpsH!8aVK7e~z!ca>y7==eHn#{aA2iHSJxqSP@n`o5Aayk{Oa zqaTpiTls_;CnX>%KPkjdAK*73<_4CE)s&nxt%s_fA7YjKY<6N9(p||f<_wldq!_B_ zl$pn}TEo*xSe{?aY?*%oBCM?tT_J_$9hSfGyiy|Mj2RzBIVvCqBRvg+{9zsmCrOKJ z&_;blsK`8}L}v4Gh$%AHM5t0;ta+LhIcJ_Kq2z6pTG`xZf*D{*K`D}pW~LI^Rys;uGA}8KeEAq=av)dCJ5o|b*Y9wimolc5YHK-` zXSI~>rPcBre+n}zkgMi=DQV&w{*{lv*UjBZipPF`n*||4*G+$$Cqv{gO5HFohR83F zTc#+ZT93}h^(*AI*-(l->b`BhrD9}T^aiKf=5Q`mr55f4(p8B$OG#vX%zaT$@0!^h zQ}TOUtxEa29JOVS9PXK0q^RTlCSvZHMtRludAQ&|SC)`zCQ!$_4z;n5%r-W+;%ME14Cn1lygw8RLRyfa> zcC}-phXoPx9*L*1f(Fyw)wdHmdvYeV6AzC2D>oQ!bt&^y^EyQvqOGy_KP--E@KNVfu zSSCRzTSdDru+*UY?}(}7s_v$G(#1NQ)w`jdCtXQWGQ=CmXzxI(xVA{K&j8h2c^p#` zI~dhd%_TfkkA23j?wTS6%To|82BMytuCiX$)_0#_z86x{I<( zjgbtE;_A3^Ef$=$Nb0&$qLgeysi`Pc-(^%(HGhpc>RFHmt`biuIXD`#zmVr#`BLm& zG;|e6$q>_hsuvAiH>KFUc-~b|NwxJCTBq~#3$C(Nl;odOa|MlEg;kYYtBU7s&{h-I znrce&kgc{tTDUG(SJGxJX1O4*xMFH5IkOQ*93;*aSxd=s$Sp{F*I<^lzou0kmRu>djjd*Lpw?0Tx^8G3}2uC62Xm4rPPF3O{x zZmzgzl+-_i-;F}LyAoM?T6r8HEfx*-e4BBr;i!ShO9!>l76 zg9)xgmeIUC@46muL^1ZZ=5^1rC+3I0}kxa)Z-_StWQ zD^ZGl_8Z|k(Tqw3#OoN3wLm=|xMG?sX@`Eb!4f9BI=w`aDu&=1ttaF|SCy73W;|pN zWUMQmC77+oyJoT6J&wH>F)6OyEa@mU4Kl%%@-o$vF1~`yhD>smZKY~njb|8^LZ-Nu zzM^8LVtLj;rn&N3tC*%3^M41K;fi}rNj~bK%=ocu1IyniwGT0~T)W$-n78A?#VN=q zuJ&BAY^J&z$3G&N1)eY(w8M zoa=g(V}?QKN@1?61IIL2qORlSx!z)F3!!@Exe}C!<2d(H{+jRFrs|PW2Ftv_7282A z^8~c+f-H6=byV_YiEt4OS>g(GQZfg}GVO;;T}wlxCStyD-DlZ{XDaGLzI5eurcxPV z8d`1&S>cL#lO$b)KOQ04KyqB!EEdZuS9lkSvA4w&=7y^{KGI2jb*;?Dq^Yj6`p)R%p=#?kt(K4L;Pk967DuWP_h>H zPfIRFmUZ7`IlK}hFG!?2C7ELEzL$4TkrEIM@jO92#FTd@eMm6@F|M5ujid}8r{pT0 z+;0J?;BGx$N!`h+l;NHdAhFl8;U1GpVz=dTPn4o&Ch0oPq7N)k}20;HMyW)?}hnEP+I@Iqd4H_TR&;|LekAuZj*rDOX6RFDg#W7BGe@-*hx=AdQR+4K8Y$_bfgdFxaqjkWRZRX(Jc9;l z>z*-B$-|x)_d(jbjrq3pg>-ONU!dd()I0>z*_|vUL%fNaKZJB~7fQ(zUzNqE0n*KF zEu>OPK8C#Qp29K^$1=^__H@TCQZa>iT7Eua;@!q#k_^$g6VCIHcijD?*!xCb_Yf)e z7@)6vqLhG$tb<>yqEugZ{AX&J7gWG+Jt2wi*dc3I0qzYf8?bNCF*v~8=?hh}ANl=P)HBe1jin1l7v~{^-O0;T%zgBf zWQhCJmrDLXuDk{r>P}p)q!UJ-41|1JYq(>3t6_;#CvNXAG*8dsF)Wf;2I7x&b{|*CBN-ebFeAyuB%8g z#2lPO>mw%McC02z$FKJz#LJLL?l>s{ajFNdo*`4*%UL>f$5V}vsqUp~RXu5_rx#?p z`$CBHgUobSS!c%#gM94Hl#(xkZ%q2ceME{qp3iVcuBTG@BKV%1O!u`7O1{G^AH7rM zQ}@tslmy?qlI5NvB_O74#t?9KV0a} zlM)bTp2jZ#dgI9=cl0KT35eBitEZh8xszFXk5aPOy_}_O1N_n*ZGGm>&ZSa#b_M(D zGRWs{@vV{%URSczJy?o8y7r=#>c3)-@DD?^C5BHc;D&{McS_(PmKE=`z zvm&b?7ulPx zT0>pu-gbAFk|o}I0#9^c)O5$4BPCsosHA3=?zzuNvA5vA?rTyq#5$gD`PUtDMlDYd zWZ@fV>%P0$A4)7pNvt*DX&j z=_z|rN&TP0#Jdo;r~GA-bn$aHjFvH`^?NKS0nr#wAB{we~+|}(>f%E#{4ZjIZ^_0ja5KBFMCGaqQL2q+%|9e|skWY6DR!y0p5!|e6A({6jb8wu zRC~|jyQ-d!xI*jz>FBv81>qAv@70mMWMm=wPmOfI_ z@t<%p6Vk(TIii$o{TXEQd5~V7i6xXg%`v?_jUQ7o5BmnqO26Y-&e9y$_}@U@^|X#u zG1Kv+9M#<4bGfXNE4Vwk2a@E8EwAJruJKPp26~JNN}3>B-G>bEB(nH1PB8Es!wAo1 zhl+Uzt=ETq=((>cxr$$o|C@-}9#0ot$<#XdO&cWONnu$8X^B!3JR3|EvlnOVVUS6l zYc3^p-A&6p-80dzqzJ9gM$Al)VJZ0)&-N^X%<^1j`4+MTlI4l6$TcJH?1#+tER~WW z)oo#`y=b$P*VLHzA*URz*{cy|;Yn$(52J&fwe9JRWJ7N98ZJFs`X*GI`*N|*PaGdNbDnJttY9fidlww zY9VHWC-x~NGcZng2C~u9sk)M)iMYoK+2pBFL&++%+y;{C>CTe+E8ac?+3cBLQ^n}` z1^OV!51z8MlzfV|XnSq*v}Q?x%<6}EE6*&JlY{VXD3sdn862ZZwZnBT$qvs=mW#vj zD_TgNr(qoxW0u0&g6#5S#wr=RU6tDHIZ;nZ=`y%VLd+gd`}!P%C->+{-MyaqESv6! zivx(+=efhO6L(9`K@NEKHc+K9E2^3gdagaAWU_3p1+;gO{im`Bym10hM@|q~A#if4s9C=YmF4hJu z;V+)N=1R_EOiQJH^;B=6Bx{mdp5Ht%EtR~$_5AKhdRa+B%s$mY>xG_Xt(3f0O4W15 zliXU#=c80Te|QGJs$}gn6;tF{{F)MfK*gN(G;X7$Da$!e5z9W_g6BOsudA3soHrVw z^-G>LZIul1VRoSp<~TfeSdMqV6AO?l9!EPB^E$S2E0p@nGeb&-2ycLl2D$DjRI&m! zZ$^yiUCc60Q@<>8d-qGR`{nT-py>dwWX> zh#KFjeWQ|hhLm)%@O4%5litfx(nR(fm~D;3dsn=9{Z!u<;I7aS)KkSfroWQ-m@sh$ zQq|jRfLg-l74Yjb$Wz|=1C@MT3s00ms(DWhQnGrr8WGj-#tc?+3RkNoaF(p;%^9L( zJzBqmQnkF-Skm6a%-c}hAM~~#s$vS-A}3>Q)bW-WMv@^O4o5vJa2LwkP)fR3njJ2j zkow-D;VNbWN>zb8>vfD&vItTS(#UIkplYtT1tT5Ei{4gJ>}}fI+g`;Kzh9!cw`($$ z3WzswjrJN!HTQ0jVsGW<-l9>e<_cJ29T3yP>-bQWdJj+gbcej`%^ag-5cbRwkT%{D zW0lNBhMf#)=Y3U*y*wSfoup)lgXQr4HpF!BUY24XI~~1=<5WH8a65yJl+NBMPWhHb5oQ&HA_i1@3w%FiFne9V&3-NpP+=6XA#=!;XRaUOAaL7>zJrSN53ehk2fJi zHbUO@E@k-=89xt_=xsbnl_EI|N%9_(V)t~A_qPzKx)k>Vyw{Y-vFPt8HP~Avjp|90 zat<=Y+m(ez@6?N-Ue9FJ7TpJ-dnLoYGgz`55#kC;jqq-nreZ$A74##>C~xd^C4F!| zw*qE?$9nUmq>CaPO%)+2UTda`If#r_12Vxo<0B<)Aq^puypE5R`~_(Vnd~i?rQ|m1 zp>y~&@BIuVnOL5Vh?(I{%vQ1oqqqdfOmEpaO6ER|Qh1_1-8)}OhWHfgaN#sOKjt;& zQj8M1M*Gy;Fhpp^b+)%F%NUd*nd41nY11cM1klzz?;VyfT!T=}3%yD6RLvw*^J4F; z5TSaOc-Kft7qxe&oU+tg7$UP!^D?iPPxaU%tL5H`Qta*imG`Ot6Z4g~nUsK-zevq* ztnyx7pw>numbKmiN+dvrP5$9IioV{Jh<}hGj)}yiF7_dES^6DrN`9 zZ2KU4yctsLwegd8UWlAT%un8RQtYRF_IdY8$r7>n@8|J%pEu!asu}kOahIwRMwW-Y z*(_UQaZZIC_a0&CUjy^pkdxlUt5m73$PQf~zj-UKCfO*g^i4o#G$Z79tmf>8dwo9hC~m=N#stp6lK`DfZg9;VqJ4@4Yv?Q`W0ePlw|d zQ8+{1@-E(>c+VRr#qPy@Z_Ia83VSAIx>h6Rq4y@sQOxB02nq8o-=bpbpq|5!628ZO_-|W} z_e5oUUY2vauz#VRGQLVI!QZi#@zr3N{%yE;1NT(Q`0BDO zJ&ZRMOL?AUGlZT$EaQ8LWkwAsm0OY!qjx1%K!)zI5+spahm696i#u@1j zV#@gjuvCXUkTR0x7D_~5PQ1J?Q`IB)sK=$;2@wxO_a$tl^^+>*H^DpMA%-u5We#Ss zs!LhIvJlUilem0qS=vJAIR}q#n-qI{d418_sAhYQ^7~>#gwD@VzLrulMEUg?)1l^Q zUyhV4@g?TInm{W1JU>!B8R9U`NUuSj@(pJxhdqIw|Eca|eqrGqUv7bt;9K+)d=(EWq4yTjJL=!{HDd|BA-}J$tCWD4GaXNTU_HO*D`FXq zw}@!yd!o-ctm+AV6{5edCQI{}7pX4ihgi7J5Je+_0sAquh2ulX;O*{n| z7a%K#G0$cDgU-9F@wz`!~bISd^OSyCWrC%qfSl zGvpIr>+=+oE<7XDk(=q;z(V)v=ON}(U(N;9dPmf=0+Qt`@uw=)sI;0toa_5U3YHmJ z_&dbR^UafDFX24j8Y%YqaGo#kidw?oa3s+$rxy5{{Y7GzTI6dj#V)nTcSK6MaA5t= zFMmJtb-JpSXVW-5d4$%N_>!+FiNOf}5M-$@=em+t5OW&xrLW}Q|7~lzuiXD9rj)G6 zN40T{(gx=#pGU<+K8|PFFQK00zG#+um_wsc+;U%amSzwdEid=gWoe923_V}B!uLE& zYY63w6~3306hG6x()Yd+5zIR)eaTV+;@oD8KG1rOFY1Qug;>IwXqB%4O9#$GYkc#i z*rV>XzUZ4&N{zZ7p`H!C=-VV2;&=ppTe=F@1-`vf(&bl2Jdn-4#do;WZp==h)K*{n zdrJPq(?@irx!sq2U&%3y%wte0&zJd7$#TRrgZ$*XBe0s#dNte=?*=*OOAb@A3GW$5 zgdFkZO34t7dxeW+$O+&45)_jz0?2yvAcejHDR}Y$G0P!mec2^dJzY@qcE}Z9>r$%J z6)ev&$PJ(Im=bzV;04HS-xw(Y@%eWA1{!kDmlUb$NgIkSh;i)$-%Xa45b9|Of5GFb zo~mfwLQE-tb{Sh@A*KDb$||Av6}$qe;7^c}A%4QSQQA6HJrw93St6NuseLW+G9 znEo|V>@8^ejq+3~AZj6>((-uxC3IEKAv|N&ANBbB^;zD*S?dFci8oos(O|ohL-SIf0bw@@tDgcY3LvHq$)ML5uRQ{sYd=;QtZAr_Ge4U5E_0t^%r6q z`@2`BQW>I21b&YWY2uHpLSmPC(eIFwA(C;XEs5Es7yZ#8qCuMb2eV8=%#)B7{^XFD zT9B6hDIxM4q?P|fNU7G4*8akfm^UD=`bAZ>gw%QuNE?5Ahzx|h?jOWLt&fJZ^G{%z zfm1{(q`m)>5cwF=!Ji`~OWeuBSr*dCU->C&D+{xY5n?H%v%dk$+?u$P19{WmHAFT- zy7c;2)zWZ2_S?0g*9Z&Qv8r1{yX)Q-1-aq zGGwIRXrSbqtJt29(SFY}BpJCn$GSQ#Q z(hPSH7D6WZ+cr`$_3=Ew7RYq}7?y3AZQcX<$iLwQ6=OjDf_&m73j3ixDLf&ZsS?XUS1y4ud-k&uU z*QoyJ=BiX_$ZLpM=Ferxs*D+F$a4S7FR7RjkWP@5{xK|n7GY!x$?>;up<*6lnTJ4D z`J-DYS$#EJq(e6O6JJrX7BM-H@BN9dDX}pBlMmVMx7sMVfS5y&e1A@yk_e1sXq)cw z=e(|@BBTg0Klxj>B}tWA`8s5ue+RU9$^v#GlYX z$sm-f1v%*-(~%@yyp6m}&xrr#-y$Vde2?qp_K-qPZ#-AsbNhb^m=SX`&bEA^F?ixTjhk145;4_=m?UNh}c|V{ZC8^;UA? zgo?T4pYpDfb0zW2JL>tzU!|{-zL=4vdhYrY5|zA&nKzPq{uxOm>Ear)-X4_t*S~>f zBHE()-uwQt15`{5Mg=r;`_R8vNR;m zxQgkCeS_L6XU!g=q{riU;stjs%3I4>GN%er7E-~gIFe#A#OyA3UNk;TIIK=m0^*mE z_`U&RG%J^5;_KqO1Q6Yd{Xmua4!>i48e&+TSm=?^Mi7@ZMM^-Nz%!*UL)?~?td?g| zM8jb>#@>$nd{>Nfj)@UlFVtOE^qSaUmM#6|00I6hk z8mHQ7_Yv|bq>5F@a>0u;=s?VqSV<{%JyQ`=&6*)4AV#jm*XtlPt?mI;Px1`xDabvw ztZgibh2i20#MHLpCa9Rc!}0A!$kWz^iAu8lVImr%&sZyO5{aE<>RLOc1jPUFCXHL@ zdtK|glsplC0^@l|J*z|-mD(xZs)A>qP;-4Nd9spc@U-)GNCV57qGVoWocSToSo2xv zJ0k^n6*6ETIe1+A5q$r2?Xmx7Vwd_((}QBnmOFStUMJ;=!{J)gW_(J6l0HR->|%yQX(H5 zQ13~8!>T1kz3uQ-S*n4QtVn!SU9^XEup0lLQXQ?fA*H$@rlZv*q*Oellhun$1>cL+ z*-H99r8-;FLZlx`y=l!2sfT_Q*40|V^#qr>o3()@SaUb)$B=qxdAeD@hX~dDmUUH% z>em=Zck6bDOoH^VN`Ff0N5y;u>1lbSq=||V82dnaSvf3AYK4o%ka$acPNf3kcZ_@K z+C0H($nqK1;VQ%=Sh*}d+$sJM($6ZAk|s)>!L!7W_pLEY<<=41_T!y1kR)s5GLj5o z?7-*(GSFHsB}w=Ul(fa_-SdcN+!Bw<`>EdcNoO|Li zTDC5;JPO0nkC=efV6}?*DGzxEF%zvZEYI}C)lVg!NU=vLh1PB<0rA7L_;wRw3N7oDYU?)Mn%oL< z+VcOZYHt1szIue#&sbHYsBF~{F@IPkep783$+%L7T(qKDR(*su54mKW2$2sVmo4je zRjNA1*J+TeR(FV8`FLcD^f2q1T?Z7lR$YzIb&M z^1zx{L@^nn*J-R9$Rq2Nlzc(=K`uc=RKi(`$rto(uYVxnQ8QTRE=)M)+Db&FoKrFM zC9m?3Qc)XN=u2KcNMzInDFLwx@)V?WRQvO43ExGjXCdXHT3%4~(09#RK^##>STa8s zq60*aO1P*>-FhFtqlXw#yQSm{`qCM_L(?5q_L8b+97>IVc%$00(3j2v`0J1QgoVDU zHWLyRwVj2&eKrU3MAT6h`X<*GkV;XPrKE~emoR?_sT|eyPt_KEfon6QO4L#o`u5pQ z$Wu|(FRK{(mfs;r^{BE}NK(ak$ZwFEQNyL=3;OEZc}T6OJQn)u+zm+WsK~!mJ#<&- z5u{Gkn5#LHCKnjc^l^-S0OFqtFo(7MNm)DI%Hq*SS}^K zF@^;ouf(5Vc?L&vl6LU{ESJ%XIHZ02q1;poZ{r@s+Jkh8r?J$+XjFuBi8q&$Zmi6Y zJBE<1@o{;m)K-JO4*49Udwg|1lF3HNI>=QaJ>!k@D`^0E1=1_NK+0BwzB1Vz(kEW0 z0L5TSNXcppg7k|YETrUpEQ@47d~snCTpvSw-hvE_ua>eEs}ElohYX5OD56TO#5-#< zAaBHr6eZbe&>htUkfHI0EObY86(l`AUP`(#YAW6;gN%r8kTSv;j%zLS*5RA+^DOi6 zR^~RuWW)!@Rn7GN;9kh6_!KGWMx`FuqeI5T53_9OqMoQ98-LtXEqw7Po@hnPxOj6Z z>aO%%$lLMM1jURn>gU3Y$9QIRLcF}AN)3MydkDys_+lyQT{9mtExy=QG4#B^!;tCm zB0h&9 z(n{!lcR$Dn@y2CHaJLI@3JiyQ7$3|+?+%QGER2^gOEGvJ8+-NXkR|a^QnniO{lWQ= zkKz*^R5jB#3Rggu$Fn`8gzmO~30WCm#zJ36%!GU#KgdE~0NexlG#*P;rRWQ!MyOrr0E*thIsNLDyC=)b=7fW{Cs&O#V+C~gL*c_n^#iu_ShstK(@sDuz2`Yra>~} zX_Zw>lUAyp?eQs9mF&QszV?XO5zq6KlCN<0jh4PMzJ+BownN&Ue~cT|Rm=@YFO=FH zFY`3XR)fB*It21le07=XsuP7#cjr=D*;RPl1&BT0=KjIDRk)#_Na^k%k$c6YNmgE~4dC0|h z{`xBBAV!{IF2`3%nQXMcIqXxAEAiwPRn7FIL0!nTc%BAI==p>ukn8cmEc8vuS0Vqz z>%635=)03WAvfbYSm-O0Z$NIxvo%pM^hMp#kh}3yEc7MQsgNvYon|VAzGONNlGR+# zLSKws4#{pdZ^1E`#pnyjJ?4OxO6dE-TOm2ky)5*7;oXqjW@;;nQP0U7f#fwCO2IpZ z*jCR%?ls3rNjHk+GK@=*{AT6WR4Uy#fa~G(doN%<%~G!--XlXyL9>UH$wt;zYCguo z=3Lo+&suq^d)@BQ%YJpRr9mO z@$D3dX}-wP4cCN8EVB*Ed$#I(!tBhldz6Z?&4DcUO~yA*P|7jKu@uD&gu@`NxrL=W z&H~0mJag2mYUz3N7{*+PFunFlJ}H5>upuSP{2i3M*4QvMKuVhHS$g$1j9rk@W}c1| zqs|n5fs`>@EcCV0agb-s0aDV9Q>dAqbgyCV;28Rf^lZqpW@=wm4}CM5-YBSPw$p-nx>iAI znfqDjo6%oDo-+&gQ>Eye(VHN(&BFso(v5}qRc?pWF$WAG!MFTwU@r@K-drtZqVZd6 zoRM_KeQI-ylyqYYa)9HAdC^P^RrS<<7-w~mhURLP9oMn%fxKiENmnt$u&nzx;tHPG zXSkB_A7dMYv^Fb^P_hX3^->{i&5kVf@c$~~pI6N@EGL_&w;MW`-bgC7)u8W*ry-`J zIXHs^_hBnyZZX`&d(B+Wa`0&-oy;3j)a++EW|lxmMrKFMeW z>1wtc$5IE^h#=j}DJ)<8h}p{_JRB0-jmU+!we3^J=sR!NXu?`XTV_ZJPD6kUvO>beY2_(IjV0VW~SMTOX+QOjyaG;kKr71IEx;`Ip!E8atz-^ zJ#)-uQo=EuYaV0KV>r(gv#5pP7|u7_NeRbrzPXG=kKuge3-l*5yZ-Hb5QwgMfq7My z$}ol%!d@Ni`Or+BP0Ko-B@Ms09(V?3q1i!7_zmktW)CS_i~~65#+4>xk@=kzwZ4=b zj>sa^yvQs%M~ySB9a@7+Oq=CaU3HasiCL26U?BBaXbrAJJxk2aEVKr{l#;=s*WeO! zfs$YiE-@2x<d;2=sVYE%!2Evg_(xF-+k6BAqCeZwqr{{ zo6ni6Sx!&JIXC3Ixl77KV*>6C?u7hlCf2K-erw^IiI9utAt}eR9LD(<{dO*!=cHsB zNq4Yj5Oc-M^Oaiqx|_HU0J&C`})^BEG6v4O|$T( z|1SNunJgvTGH;tV{wL6uaBaKNI!#94%6<*U~nFXOefMKOdQNORZPm&B^`53>! z*^n&O29{R0u-}CwS+OltbEfeiWCbLvRgWbLU_Uj(2xRh|@b6T#HaO87Z<^QKtPHVL)WgJCM=~tQC+Qsr@eLNk3 zW#zGA-^x)nURsYCLSDf+wN;L#?p5_{SU#(olyq!Om{%6{PIqf(ep4{Mp$;JsFz z??}=OGYgLITX5cOo%)_+vhg=YgTBC3(7GW7@7duflN&LGta{s3spebNvhK4g{h(yb zb}fk?m8`?o@&HQRXDw#QgX>5RL*odcv+lNBBq$-?N!qI2epq% zwk}BtM>THc-=|{IkXckjskqfOUv3JC0t(#tIPo^71r!n z<)x$>^>B_~8}&F=V<}-N*IIn&zomR@m6R~Xx7r<6?OFd4&a_ZZinU5gxU7=aS}9?v zl2)~&|E;;SRZ~hBQ`%Z9Ws7|Js2OT5Yn_pjX{_+@&NbvgtH`fZPo_cpx~`CitST(D z7wrd0wOX^#-exG|VQV$Zy|;1g8B)$V%R;}eiI7LE+br~JngJDl&C5z2`dUddYcb2Y?n;_lS6P0*;hsvhu&Vu~O1*Ih z`8=ehHS?;H#e*;d7^IbzdQHhttev5d*46-)&bW3l3ev{f!IB4aOwl&>ik1IwDwS#6 za|zoIV%l00Sm>BL1Jceaab3mG5%vSftJa%R!e2^zYr2$hFWTOEIF^%sxiNh{*xstj zqR$!ITeVsAd1ZU6F-t1$0WHI_+FPBZsAsX(NLef;{Ka*$Zb-p>w2yIoM@$!MRW4e3 zx>30p-dl%swQA;(?FsVLZdN@hVVk>IeWZjnceD0N$u#I_bq}7e>tXr#Qaxb~+0$w* zCEciX67RxbS-q?;3aX{gdnL&@0qJe+V99s`88xJ@b+C|%Db1z&TSxEvZwm)lXQYHJ z9AJHVe;88+?HFL~m69pHK6Vo|zizdAfMUWksXFpi;bmQks}R_6bd z8e;AGpHf4tszp@Iy3|msE{nb{k&f?J(jWEKGi6QbRzn#Rj_L@jrIcw#SszDE96jH( zx=2y`OxpisSl@EZInUxccP6e>SbJDL`2(dOqpTw=*IMHk2pMf%W)Zz{q=JmGuCkoN zm2Dd`)>>Uu^>VL*TdP^@X zVG2o@dCs%ONeTP@fi*=+xP^aUH7-e|CL5n)2Eq)~^MN%YQp>F0BBd6i)N<=qL{>poS}&HN_GHFhXszb(Ut_(a#JGAT$tXJ*M_FsG6xC*W z6K9RJAtHs}KsIds5RuVcafV~vkTOkvO)nG6T4&WOOUp_(a{h)pfspmqfCoc40@+|K zl9C}~{(x+;wnXGQB-64Vl4EFmd3%e?zF|qt-~4&yK03AG3C_>}EM(rIuHvE*)2;PFY>0 zWEgD`L-m}t25`))ko*{pGgjkARjJwq)ZPC-tX(WQaQ~EI&RaDrsF*Tb>Y|muqLOs3 z`7dkAV@kH;OoHD2xN2=+8OZIqW)-VUF&RejhB)q^J=d*NDR@?mWB#$mu{1{Ci(~0G ztqG5-nh%{+y|``dW%(CE>*B8ERZ%hJu$HOjEQu~pD5=AeHL;k5zAsEI%$_(DNLE=Y zN8&ciZd^^JdSZ$4RaHHO+hDFQv?o_$Cd(JNx=E5dk?lzp)AV)BAppsfXk1OnWGwx8 zNWnx}btTEzT1f6o#GfIVX!J)6&1YUDQAG-_#-GLWKZq%ssPe2TRSZ3)Ei<0TR!fyC z)=rhO5)Gx`o(sn$63d>Wm<;0$Y~j67kCQkrC0)v3h?lrjTh)9IM*b~GN@8Z6Q0SLZ zD$%g6s;50#I0aHRvFmw~iH1P_Ol?k0Bwh$(<{{?cL}MxGMtR(+Spg}ZSj%#u3+51l zR7m*sWIe&%ib{zmrKmm0Cd5=q^pg_qf2t?aRg5w4VayPMnCgjfD#n<#5l;hQZ&N){ z?M13teI0=IHq{e7q^P~kRg`)ZAWIofC8@7eJd^0da{0w1Beo59 z-x9-E?m`McY9!W5$%x(mN0Lzt@@yj3NRCFVRVXhhsTRu1N_Jr_t5O|Vt^_gF8mpL@ zVN6pc4FZ|aT*-!Wx}LQym6Q)8)<#K=KvLT(nH4N6)=tT{fgEG$a9-D3=2aDQAdmqp zWdqs5@?IeM+pAKggEqJBz{@(LYhKk+$?ZUlPD;iGQm?a;Cj(i`QYes7T~y4ppr^-J zx&*SJtBN@nN;i^ec)tg8I>|LyraKAVe;mNPCi+MTkNC9`#_ryt_OP~_`$;^8Vcb4d_)!GROkZgFW>O(x^QadqMmQve1ZL75tS0nNW>Zy}x z-Gkbrw&%)_x`}mC!n<9K5}T!D#CG6H^2>;6l-Mric+Pn>)cvnUiG!*h;~_jT-a^LY z>ZwNK#B1t0?MsP*N{l?X2i+bqFC|`(aysWc?6sDl9WN(d=9sS`6!UUoG{@-krpAeB z97FfWx+11=VyTqlS@b=!CW%i~OmG*kX<`GH>W^%?A4)Y%?3Hplr#}B`mN>;Rbcb#z zVwxqY^`c&ccj%fYYDq~qa;!kcjhGgRK~ge|A|K-!G)T+D1eWZdYFW=hUk8{eV~(=) zDyw2zC35zrWu4C1XKIqs4C}R3;!!E-#w0B3LzHTj=pZG-coJVLSOICB7|rrIgqGeW zu~bQH7KBE%O=1np4#-aI$J!)zX~8x~+fSRsF|NnN)zr^rJvRnWd$9B(_>K>xZ6f(~ zC66X!4jf2_#5O4tjr(xb=oF-L!W&328O9^1=MPAigf~K!>fJ#d8M`N%uq;Q-|01SG zVkk=v{8I9Mhx5V2)QBWQ1|&X;NNLER#CeuAIF{0Ey+aa(N2+B#<|Y}H5i>L~ie&(v z7p)5!naK90irIqSU<=5o#4wio9zd&g6$5ynDD0`h6%q?8Qf?h80Wgse$iWhql1$5P1JM3srE z7nNSc{t2=!F-}UlaiKqc>yWP#%_ph$jK^>AHOQvKsmV&(7s68pkjzA%DN6RHs^?C( zC#FluFoxo+WCCJ#BpOatF$Hn2mgI-TFew?v=!^I+6=Y{(!ZZ~#5j8J^>`B~^l3~on zGZo)J_9xQbr5Gh!r3_#hfL{vLd>}EGrRM_F3OShA@Sdvqp#u1O$j^xrGgLjZ-byn5 zgd9y=ipV|N@hohj&rFJ$X55zt`4Qw)Vzm@(8<6slGl^TXRLy^9V8$)TpNTWGl~Bzs zAQux0<|z3Fcd5ETE+@{gw7ZJ!9daen@B@m;Fi75kTu-!?l5YHc3||g~{F~^qfMRf8 zuMy71Ah#0PK2$OmLbJc#PBfR2Zp^pv<^p2wB*sa}FrI3bBx}xMuU@Fy)8RIrY(z{p zyWJwS^j6m}Vvy|isl`eX$oWr0a@iA>C@GSR80?X9+q+ms7SocpRK=_>oMc=?soeHn zmgk0IBp`Y0J|C%=e7K8u1CrM+wVWi~*n!ORo*g*Hu}4y|vihQ50&>3{TN%oukfQczmK&2*J<0Z5mL<5$ zPy;b>yUr>q6&~>uc4H~(NZklA344l^@S2rpFO9@>M~r80{ht_NA7;^K(89hTCA=#n zY%CgoGV^Z3Jkm?>U!hFRtB%5^pFz>W}t>rRp6~8AwX7tl6BU z1d^TZdZeRNAbFGVjx%iurR;zIrx&H{JRj4DsqvYJQl;$CQZi$@7pe9{7Tt?f`#l!j zi&T3ai|$3Ly@ExzIn`dLW4O(!_BIyX!c=>g5<~Yr)jr6g`}MHh{S#_)W~?yIn`p$! z+r3ymFQ7)gyxmud>KENHEN{OdCEPa3+oPpSHok0vy+lol85@y#7>!5m@hn&F!3;%^ ziuOBFrWvndcK1K=oZ@5lM3ydrOko*Q67Q?E#uJJ5?^0BI)}WrscD7ID$Q!S0G~{pR z2|GC=be>z)?!s~od+ZG;^`u>PHI+&?mO?6Z!ZV6?O_nK;ZHTFE&y|v4TseSa93;(N z%kof9>_H*V*lC|pJrj*BjqrtE{CaEI?WANFc^<`_jfi>9F1%K?@aq$pJr75|=k0c1 zsHG2`iTO7mFW3XVRAOLRRUnP*KI@eXJc#c~Lt5B_zb2Vz{EhFm(N(^d_A)8y#&4L3 zw?AT9*{3#8Oh)Xl*HqTj);_O9UPY&O|J&L(BQg=C+Sz$F%2G0BE~LHPSV=4mSL11$ z?_{@T(X-HWvPZEjt*f4s>10n}DT1TJ?jBTXJiJ2Ev6&>?+jO=|NXfvpGrUubn9la9EhpR5Q-UO&ttiW zB`<*twwJJE-Kmx}*#3k?pM$(%f5~zkXC+k68}?=v<3^G^#~)&ES7OXb$Ngv2HN-v` zks^?xcCSq8Dc+nyj0Z`#=dvuAn`D%R47baFD@VhakR_|}2xO#Pa~sJBV_VUz#*>gY z?K)D@jR(-L=OCl(Vc)5m2gI>;Lq^+!w=1cC7xSG$#@LsoOfy`(U)dBg)-JJwVkS%J z0D0T4^aIH>;|=_}`$Hz#X;RXSWh1l7nkUA}l^GtiQl#JM6jL#fwtF!FGEV)l784FQrmR)Ht zmCA@ML(CHV*DSjs%es$rsm?6FA)i$-!&!3TT8fhKEKPWupJlIM>A4N}bLFxwDhaOb z%(8RrlS?=5eyi5|EZbsfHC;6ilt`{)gJwv$RmBW5sSHrRt%_CTH-f^!hN^=~TX0@|B_m@W2N zmKQi?tG(e2#Y{A|;{N+Pi22s8a#oe9$T8dO^M5Gm-Xp6q4Kd%_=g*U57|GqSy+gL! z+b$?6jPIT-hx}mY|C3~*@$qQvpCLcmb)=*lK4Nx5cG=S}%Th6#%i=s_kNqLb706#w zK4rOk9nU>MezG^P+>0mb?@HMzCDV9*C}v&Qh3D(+0};s!*=HY%NHNHM`@EE`@{Ve0 z$U*yozhrxYd&h@tOG#`5uG>6{m_v3MmPrtrZR3z#ndQzNJQ;zQU+iaD^6%Etkmb#t zc;`sQv|&jEG2Ntuz4*oM9}()sVS89as24}N##3SJb+w2%&x*xAU>g*spqV!YAyn#wT|r7_>~dRNheOOs z`!OZK+Bs=gj|lbalwCU_)UV&{#!|w5{cgW2CG6K(dybT_UuW&_R7|kG&f5D~^!hq$ zpJK`Plj_$w`!dTYoc+CsrJu9!uuO+EmXhZxjZe6C{;=$bw#TTL*p}jIA9dND#Bv%!$M?(j`z&Yn;7tlF>o0pT3+4Qsq^x0~ z^A!4h{bg@rSq`D!*I)K7DPg~^*gr>v`gPSl5fSRwHT%4juwU2hC$FjT*<2J?xe)V@ zT|-LP)0_75Qo^3zw0oMRxa;n@VVFuU^tOKr$nTuaLCw2%_^G>6kZBGl7+obC~!p2nQP zQo^3*au!Mn`<2I8p(Hkculg0_an`Y9-Hz*is3(uJjb&31vrkIco;=Rch){d-I=@GR z+LO<@DkW@Be#g2l_cp`dTN zGp8dzLaFS=#G(W+uxmS#arStZ7#x08%5vYv`844uYuqbuYAr!~hkO2gg} zQq=jFWd=s|Uq~@$b3_ar9g8`;S$d=gc2w%OR1glBsorn8LY z(39$E-h`8UlVU~~Iea|ZgBaWCAtl4eI}rCFA+D2rOU2xWn8py{bd!P^ie5^RF(sWT zEQNWiE8`^JR!bj+44s-+u9BH8)Ea!y*(Bw7mX?rpXxW2$Tg|RB zng0s?z8?Bd4E?@Ro$qBmQ;ec>a9sjV7nS3ft=Z`bF3N4nJ9~LquR`caunNu%mO?Q+ zC5RSQa*_>fpvLi>ZLrm4K&m(%%TjD(O3FydFs8Yx7gd~w5ux=}#Tmkq$uUnj3nD@> zPdK|+N@L{d>Dj7|k%g9?VJySaDdtJ149fwQYR*e6<8hWW4lz$T9V0Rml7@{<)k87M zAvK(X5m^JN={%97V&3I?YB}{HLiN;fRz!sAdEVI&5vr%2QzEOX=O$YCHKe}Njb$K? zRNq4yIB!PeXUNOW0x6kU=xMrhkS5M?DW?tnd|gxL9G5DBC%vD$U>HrEeHHob6J=<5wH!w5mt$ zpZ~#rw2f0FJ1y&U&OP0wqd%y~*mxb+Tm>PpFoomz#pgHpqsrYz~tsJ;(#y0c7$ zP)0q>8PBqVW73`ZEWdF~y0d{rXQ#uRA6RsDI^6k%r5x8Y!nwp!o9h|jZS>#BkE=#k|)fP3wUblfJJX(6!^zHcDd8AS zb-v*kz2|?|`Bh3r><+es23TLyo!?n<*T9*$lpCs4Oy{ESIpqqdk=OOS=TwstE^CI< zLCUmP=|f3IYt%E-=_W;;1$34&OvM;A8{w=CGTVt2qMD}}S+Rc}44LC(yHCls@p!Ww zGS_j7kc4Yzp7WHHaP7=<(pYpxJu@u$9F<90-=dg;A zM@HJ}K5+6CRejg{!v)R*5utVQp_7ORt&4?D87blTEOwem345{B=_qAO7CoQvQfH#7 zC(Eaf%IiLICbN9w;kq(fxXhW!G8;2oy$@OLe8`feIG%BUtZ-Ja^qzn-4#-O9a~66( zh0gU>IU87xVp*#Y^Re?COC{_xKZktc>|voN;lGA_>ioiT3VYhEkk!s9mRi`a?trXu zF0fdy;`$lnGv{xX&L-a0fqd@VWuYhPk3-fvF`5zv`}vC9a1S5yg;RiK?Py%fg?#B0 zWBDW-=Iw#3b6l3^{>521WW7^{MZcf>mGdZzen0nXrz%S$ygQlgC%m!iJj>!iazi#a z^;kYb&3}!;8@o;umPvSPqab27Ij^v6h7^Ttb~>}@H#@dCeOUf%kz^zgv(+QkUh>{EPY?Vya$k_J2fS41`a2EaE@kwVa z%OuqEE@DnOQ&{x;;lDYvSoHkir=5i?J-@;}6{UW6RHNu}-=4ncTxabc?6WVz=Op5li5vSxrZ& z3hpWv%B=oHsfz9wERz_bnN=Ie zvu-UG%B<#NSvB1kS@aAKwcKVblv&M2-=A~avFJG;YP(%oD6?varPp!$u~25U9CH!W zb%(N0W;GTu&%2{oD6{$i@`5{&g)*z3u)gZKGgv6I+KZU_?guP-R*DzhWh{Eei3aW( z7RszX#L^qOU$f{rC>punvQTDKIX|BIb$78)W>p08vima&WmXL_K8@WIERbStzqghO~5xuux`I z9@5ISStzsm9lwIsZYdVZtXd$x|ERg)%EE51w^!d$CYvRT1)mH#ZAqR`=qH{6M!b3uRV?vf~<>8)u=+ zYBpj9yMl!>s~wOx+=o~wv)YL^4{I2AFcR34XR^MZ58Rve+LYdV%#Ef^p zVWG_GQH;jh?lu<6tm;DEad)#&X7v+FO>hsfP-fK}?V0GFWTDLJCSoSJ=UFJTYKNG~ z?ll(5tiFIuaqqBDX4Ui_yno@|NWN%B;pf-gS$zP-ZnBGTn7pD6{$! z@}66og)*yjENg~ao`o{2{fK$reS(EDt1>w-vTh9)%B<=_X1Oo0P-fK)GTUv;LYdVt z$Q-u~3uRW*A#>eMER|_g)*zTD7DF*!9tl;QZD4R z?gAFdtj=Y@)fIOI3uRW*5wp!*%R-sex2XAhcM}U`R`(*8*x~MAq0H)4$WC`Z3uRW_ zF+RK8V=Rt1D{YgPiX-@U^^nbk1JK{w{9k*Cb+B;=4=kcBd< zN6^BbX^DLBE zy@{TlaT~KxX0;G<&V7Z2GON!Z=iM$Wlvy>$(*Jb(u~25!3v$UF#zL9ZWXNCc7#7N` zK7w3zr?60FwFUCGJDWvbvx3}k7qd`i^%vw{_Y)S%tYZ0b-tDeuq0Fiju~24J9WhDXAr{K45|C`(DHh7Cnqz!&cz?1`X7xR`pO|-pg)*xexv{74l6f zsw1R`SCfS@s{xQ=-is`hSuKVnd(BxWv)TZ`gwQOMSxtZ>ydEr+S?z*2-ar=0tj<6@ zZzKz4Rw>9*g!eWJWmZo@N_f**D6?t-Ddo*)q0DLsq>Q(Wg)*x-kO#fbSSYjl7stv} zZvzWuRweQKD(8LALYdX)C{^Cu%R-se50DDpQ5MRq&Oj=8XILn+GO$Og?ES?;nN<-; z74H@cWmY91RlOWSty9XZT0p9K`B^Bl%7L1zd&O8Nv+9eOG|yw9%xXNOhW8)~WmX?T zYI>DeD6@J1d;aIV>MWF56~|t^j#r0;GOLA%dER@8g)*zXka}Kg7RsznL0p5#*c-({nbiPDQ*ROrWmaP#&Api{lvyo?wDcCTP-gWV zq_ww-g)*z-kXO7fStzr*3~A?WVWG_G6-aw;Cktg(wbA#E-a!`1tR_P`c_&yXv-$|q z#XHYJnbl!zE#17oStzsGjF=vtk)qZhWmZpMGakE}H4rk~Ysx~I z)g;JBuN@0zR!bonUN;uXtTsVLc>`D|v)Ta};|*t_%<3p)oHvezGOO}v^V{Au7Rsy| zK_+-}StzsW2btt8WueS!6l99GnuRi}xsYkz*DRD-t%XeYwy{uV^)qCKw}*u?tA8Og zy~8Y&SrtSJXM3kvD6=XBnd@C*q0H)SteyGZzbuqlWyQK!;AJbJ)+uFHY1n=idihu= zv$}pUPs4ypAlCS-p%>>%3l4!p!O`Z=jTnSl1Z#=$&xQ z&Ku4$7?KxPy1w!zvN(P4TZVk?y~pwhq?nY&Ec%_kZ@g73NARv9J$vwt_l=bB{^nxJDHi=K@n)}*l<@xPX78Gm@SgZq?@mPWqMl6eo>Fq#kk5Y8 zeb{fk0#d>!QNQzwN(t}7e&;={Vq*Gz#_zn^EKBj8CXLv4UQ-r5s^5D(S@fuW?+s&V zyGPyq-|mfPnZH-d3>Mwf?cO4mO+n0R7JBa8#yZ{ZZDgV6-swBD+r1x^1kW(+@D4^K z1*LX)X{F`5kTDe?JH6+ngk!kNdpROBhP%Di5uq{M<8_e|u8Y0iw^G6}-0z)`k`Wui z&oJ!wF0$yp@Aq!8{BS}&eZAkySw?Lwy6^kF`;`R!+V3SI@)UZp-|G{Rx{w3j8&bl4 z9rQ9HLjC&LdnY2)uS4EUDPg}3d*4b4`*qYiC?)LIQSUbv{T9hl?=Kep7Rgc1D69IV zpELi}%geHWpPc#CE5@SV0{GQSVbN~^{OUa_CG6KRuWCf7U&p;?BSQT;;Wd;J_Un|l zPD=PIIPGng687}8cU{$!vpUXqmSCGd?fv`zN+mrQZc(%@PJ8!9gx1CHUMVFp{Wi)O zuOds0Yihlp@zPilyVdXFj8|Vu*wZs!(}++{&w6bmLOng_^^g+w^t|`JlxfCU%skKt z?fKK2uS9-hx0#fcQo_Dp^wvqq2;Sqk=xt-s?{Qr8_Oq-&9rVQ1CGRAQ-V!c(mss?c zaLK!)B-oxWdpRBo$FLphy6g!lVc)NK4@HFfe$}fK5$gLjFHK6=_v_vWDPh0<@uo-# z*ZV)-%!qWu(*N;3iO2xRP47n~u^M>(@J+}a?*K~!$XF@ISUO>LCVDsLu6Kc@H-z5J zx$E6znTZlKVuqhDRsAk@aVf(u&T@!L8GcDA;b>&>%SD7nBgua}A~YIV{hCt3(a7%4 zl`_q^TOD}~T5yk_`Y?6)ehHVAUXYpVMy6GNPd)(8Pm@r<@FD;=%!(Tyds@J+DJ5LXh5UN|PZ~#LBl=ay@2fE$@|*!J^ml1O8+d zy_O&F=dtLuT*P0^qStZ}eK}{<^}U#XJR;Qh;{JIlVc+9^+M{ZH z(OUimZMOW>3QB05o`NL&^HRb!==gOjsWqsNO^)A`MgNu^zXOZ@EjxZ+7JamG{oyS7 zeLdHIhehu}OvZO(1>E-?FERX%9`u?b& zt+E=8k~ov1ebl3V0hTHdD)p#uvE=3KtAbyKS;SR4qNJ=;wmHm+sq0xBUA0H7KjVk_hDdA{T_0LNQN28jb_PFX-ea^M2`Sn@! zTCV1|WYODmHNP{9-kz)Zue0d2{FI-eB;O4zR&{vT4pe%17ENy&(v#2X^n(YKm@wkoQpe?xLh$ZKh!jN4&-w323Hw#YpB@qFS6zQzM5tfS`^%(+{i^5xCME3Gi+g8u*WLsUn!`mCnB!_)kblk2w%J|7zgZP%%MI z8~V>jgkl={9i@alZRGci2=(+Oe_%wYr!V^>rG!0g;?I<#-U~>^7&h~ls8Ye(i_QII zQZfvBFMxhc&HeQ(^hSn{Qq6s%DveKgF5JS8NeRcWghQ;JwJ!{>v=-y~x&nCl>u)WE;Ofi+(S%jsGT#K4X2wpClz5!&m(GBSK@?)?W}2 z8pC$}DkuulX*Eeun%t zKUGPvCA{WWibz$A&ujk7h}4C2_7_SC`_DNH-BwJs9)XvEmFdM_4Kn=Q*F*t z8&7qj=H7mOB|&?7`$eRL%j)gh5us)E@k>R7metoUFC|=7f4_s2aBF$pe@m4Lw!_!` zF;c>9>~(+A|10&0l#Jla<#qoX7QJtI-QU5Y_bspchgdAku|U7df&K{=eRea@zo;bW z`#}GCMA~9}2KsrQq7e&6W3YdJL})bL@U4i@XbkboNC`({nE$era5RSd{iS5YKEhR5 zYT=ST@#IMQDn5o+O^{>Kra7H0VCrGzaU<)4-k zZu4XOD=d1OALD1KuC^b2L>uepW6|6ESid-nK7Nh$OGpV@IM#nSBGkfhe&vWz3&;Cu zs-B?l@A!2hLcf%E{8bU5U&=&(y_B$Dll_}2COC_n>c^f|z0h0BRR4aKFOefqhBnQ2 zS@e;5nxD#|kJQurs!D$jH@_WeD-dqk-3GyDM&p}xQGkCYPjVwS&I zO1S;Z@%Ku}2(FLK@ei};>tl2LKUnnon(N(4Qx^HlrG$N7 z{wfxoy?^O{#iIAvU;5v(=-=R%{y`~WPuKa!BSJl0 z@1KhZ_4F(Ms+6#&-}vR8mFqMZ=Z${lh)_>A`t_6qJ>BfT!lHY++3(Aud%DFR&Z2v| z#h<|P7U#WN{aGx!r(6A{EV`##{k2lUo@V+RBSJm>*8e^t)YEPLUMXQuzxNB)q@IS^ z=?=e`lo7@fzT&aNFUc`FU;V+aFD2X(e(;+_gszkP;CED|g4tSj`aL5;E&S0R7!hjW zE`Owyu!Vd4nNq^*w0r#}EPB7X*Z+(~?^pNwTUhj7YoEWHMIUAM`A1pwUTdHK2aCRP zyU)MDqOaWU^K;bt@3yhu&mWO@ux;%3`$S|mZ*z@o?JnD4RZ@j2#~V_94Zdn2^)xc?-}8VJ4h zbKI}1B={Aa@Eb*BB}$#}drArWb;=(Y5$e}({)mWBzfSuTq=fxCPvMISw{ z`8!$kap#(Uj71-JuK8D3^l|5J->9QTLmzkk_Vcmmqs(=`xRkK(*L^P{)b|^H*@#fz z|M4qH3HyH2?r+UKi$t9kU5{^b5QA@Cb| zeE_BMh?k^;P+Vf^o?q>M3W?h+`YXVN#Jw-5?NFba7ZMJO zJ~uBc9+DFFy|Abh5$gMW;;D#G-|rW7q=bDhBF0Dw`(8{;k`ng4nD|`9#Ikami-|2P zdY@TL>}JvX%wpnK7TvGn;xdcwS8#0RD=d0jEhl=g zl)w|VbYgq>QV6*%jaCGg1F1F_7Y#87kL_}ZR`gKm8u|$vFN=` zMUletJomJsc#NeD_q3v@!_uF7T1hmK60Xxq;+2TdI(9TDnRO|eZ%*steAmY4oJ&UHjiDPh0rh>|KM zwm-jGdL2=LMel#=h^JX}zv_tkQo{y1<^xF*uwhaeJSC{HxM64 z30v4etX46xq1?g-Vk65$JO@j^uLfc#%UlR;^9{sdmh1&ozZ#0OEIa$FYs(GA-z@tf zRH~uK_A-rF*sn$+Z$zkHFNymjLj8JKB&3A>Y9d-m3H#Mdbd(bItC?7*Vqz=!`KV@M z8;d^wY9{uv=)G1mae_tfwVH`bEINB{E^aFc_L-?{Z-7NZS^i^?`MW2nnD$Yv@``%t$iwO0-gSZnB>U&2K zYx3XyMkmosO1PH0h_+I~(dZ&ZshF6)+to!(V9|HGx`_9rgx3?giUlk>!|y7NC<(3% zbQPx~LT&CQE=Gjf++Ey~60WbFqHxo2OF+hN^cKlVVq;fTlkK6HWEWy=0x#AM2rKt%OGA=BA?R91(__mvd~jH`K9z@(NEw^5u;i3_B=&Q zW6|656tO@`*wd+Ec|@qE)5K>Hp`N}gHb@D3@t(-mf_kc+vw8sSd0(tzp(k(>keQ-< zONt5C#cXj+3a;CrR@!II7D=t-hy_=2W{Z1SbT4L$WES0v*`gGS-p1yLib{fYF-JTZ z5&E6Z5e=k-eV;3uM}+!5PrMot>ic}rLrU291>$`vVZRoNWl}O?i}CzeDfE4zSk3Y+ zBvr}=mNne>MZ$0W-@Y#rG5dV=c!%f&fWD)==m7uQ+zuW7l+-sZpkS|JLu=zgsb7K`rJ z3Q>loUn}(_>IzYwWekL#$6g_xkP`NNrKk}R>ia73LPV(VAB*Nv!oGhh-sc!Sv)LN) ziIi|OJ`-O`QO`M4#2Wlee5*wOx#VwZe z`_#GBT9NY=HDdJq3*F;bD;{8>*#)a%>0bzsMdtuth=-+wqw$5P91$9gFU8Xlq0v|; z>PZPl<16vDl(6sLh-nd_Ik>(NOI1BV-#3WmDke6wKi=O#3pa>0EXyGErEFoznMKWr zxKSKp$=Xz%!)_EOSPDXDEpHT;S?DPOIzQbc{$a@rp)uSfVr^-}!dzmr$j_p4iOr&j zl<;oFW|6|u8rS0JPQ(^bL5k{oW3+jzs1uRakZ;9nQo?cmUi69xjq`RfC?Yh@JH#j{ z;W+OU8&pg%hP%XODH*{vhh1V9OHF)tyDOHyOB`Wo3Zc2zc8Nb&{+^}Yq}VNPNC{iG zTV!b`$4BN-)WSU?S460VKZ(Lp!WQlm4Wxuy!U54tl?vK?K(u7hZ>$^;ZB(h4egoow z=*Cj(SA0nay*MBSvCQZDl?TKq7JaAqfSAgn_X!8Ye3ml!ddm=5&q^s_PY;N-5uu(Q z6dNN#J^fkikP`Ov7g6t3`HKsV7e_>6DdCy#5z$P=#2Rp$kBE*enfT?>@#~1_%cAdT z9uaS`=sSH!#0(aFr|+m(#G>!?9TjU>XwE09`B$+?O4!q1#rB9$PmhVc5uu(Q7ssT8 zJv}LMwf}EVe-j0zggyOD+^1qIMXNT&WQyo#wb`hNj_S+c*N z#^!Jgfy7-{l)7}vMS=M0f(OSMCMzYW>k4h%8 zw87nWC9_#71Ti16e1+@i9j zh=|Y@l|AL5h|m_5Bc+OzaEpqi^ieUv-Z)oEe-^zr&XqD)N=9t!y=o2SO1Z%DLmwQe z(863P*I0gm?3R+Pv--v9XHIgb6kyT&@Z2dTi+<)LcS>m%{Uk>2lu9i6*pxfv8J3;L z)fYo@r@Y9b_v*P*TCwQ2hjOQMVWHpqL9{S;%Ihrp_ntc?LrOTRxl`VW2#sogBP)>7SW39n6-a5OVuIP83#4>pdFX!p0(xL3x|AL)RUjwP z<^n0hSW@}dR4`>7i{57zO!wDiw@RO3GC!;rOJaWa+MYp?jK=l8;6AG$kdOWlTYJEGUsuM#^MkRUsUO(Tfr( z8#zXgM#+?&N`lcSnX*43H1Z`=E=Gh#wNy&h9@L(2G)kxBi3p8GnUwn?LZeYOB_Smo zjfYZdO9@Bg;S^L$HD}jzb%vs6l`I#;=vgHn354F}rWpv!hjIx|W+6{{G!U9C;Uu1^ zs1S&r;j>~OG+P4A@L4I4BPcaA6L)h0(KCEj4n)uJ`FJ3Dw#+Jl=y?>M2t?1!Sv3$n zFX)qj&>RaiFKD$u^t_-?1)}HttRBcX^nzw_d^!-CJ0f{B-nIxt&jR{PAbN(z8iCN; z?leQ=vw_g83p7(`%|P@_p|t|h^MXDX2+f~BbAHwiM9=wIClEd7XWc;boS)AJqUZd4 zArL+1XT3o5oS*dr(Q|&j7>J(pvq2zw&d-K{=s7tc85Up{Ma1>(Q|0O7KolPyHg-~M(ECg==qdTbziuJUn#=vmpv2cl)I8EBiZv=sDph1fu6@pBRXq zr+rc&dY<;lf#^Bdrv#$sV4oU@o`Zc_AbK|ScLUM0vQH00&%yp)AbL*t8G-0I;olEL ze^X#)AbM8+S%K(T{bvWFXZ4>Gh@RDdZXh&6+HvH6^8%q6(r8xy`GL^i2hc> zvOx6g+{*)@nT{ymS`mnz-*{ypdVb?of#~l$d>n|L@%WQK^o+-!2BPQTToZ_%G4iuO z^o)_82SQmB%`Uh$6l4xGZ{Zh#P}W4VcYYa&p1pHjAe1%H?49cap{$8!@BAtdJ$vWZ zf#}&gzX?Rogt;LQJxAikK=iDen*z~uer^tgvZmpf|7S}edd|GXtTliDqd0 zHW1313SqXNZGq?+KEDe@&%XG5Ae1%rMyc(AP}VdSvLg^Z3+NAl=s7=k20~fWPbl?c zAbLK}U4iKNJa-48=kweXh@Q{$r$GLXtox3yn)(6&p1v|(*_*OtkKEkkGG&NtWXN8E z0s@x3rR-T+%7&IDTb76nMK(X#qk;?pQMOXR%HC7f@7#OONkZ*E;`eiMb64_`m%MW+ zpXX^;D4*x=u24SDKU|@Fo@ZR4e4b}rp?sd_T%mlP=Ut&Jmls^2tdbX9p`4$WT%nww zf4V|BKmT%ta(-TRg>rr-x2=vOT|cg|a=rafPxyzjcMOJsTzHZj`b;hqyx7o&&B>w&ze+DBE)i zS18+aN>?b`b1GLT+jDAHDBE+;70UJ;<_cwdPU8w?drs>LWqVHN3T1mv?~1%?lG&a! zxI)>UGrB@~$TPV@8P_wrLK)YyxI!7%v${h0-m|$vIoPwiLOIxTxI#JDbGkzL)x%w( z{OY+}q5SH(U7<|rd0e54>v>(F{Ob8!p?vS}xkCBg^SeUp1r%_FGWHjAg);URa)mPX z7j}g*_7`!5GWHjBMP4<@jQz!2kylM}y@2Ab$g3uqE4YL!w90_#3ax0sT#;8za{U6! z6*$iLYV`rdIDDtGAChmSL9Wb%*o4Z2!JX^XVubN~& z&re*Te4cGwpg?|dKy6{Wp%Qa&<<#LK!T_xk4Eu$GbxLJSVzB`8+4PLis$WxuQU%5j0JmNP&VwZU7>8)OI@LC*vnm^ zY}ntpLV2yfb%k}8mniYxxT|jdfLmQTq~EfrVeUbB03zSAsA1m6 za_F6knr5~B@>yh*`vkM5*<6YK{i)3IRMQ-+M6cTX0-l7{He-BZoP}Q)ndg0y2BfYT z`sKS%IX^bj`9wbDY+z>hiG0f0&@7N&~Lz7nH5p!H{hR`AED51z&|ltpwMr?TbmuVxMR`U?Cul!OaIp9 z7@uT^e*VSs`iS$NC_IxKZof5C-Bg|eHLn}LXF&hk& zTX|#A&FrKkHaIe)9*b^f50r@@axA);V^Jy;fG6qwATO3VU5ne&?&dO|$gR4YJA5MN zVGr|?67LlY&8)+8|HyVtN^KY;&AdvyeT_7&k*XDLokyBwd?Lqdq*=o!^3Cc|W>cTY5gcvy z@<~-_SCo0kCk;TN%~M+3oO0vLYbf-q=W*sU6#9L4teIkz?q|v=7i(rgq2p`3nO})_ zT#PqM_(aZx31%su$eA$FtgOVF36sqc7(?Se)yz9u?%nIL>1GKf`knTc(5~rbIVE29 zvpBN`%0bB6+#X`$%*H76=2e{8R*6^VIJ2`)WS!&9K0c9ko?#AA;?;SUxkgE>(GOBL z)PwgJ=a}1lB7e2 zv)CM{V}kKehTQvNb1VvFfM0A*N1+Vxi_Jw^+?IZAe&Z9FCH`x3yArPzOU!*fk*!#2 z9`T86#WM4(60a32%+RQJ=g&$ro08bz7%7t|h(d24tu!4a-riT5<$WUe{;gTf zCvxwr%mzxly{|SSlz4r(*6gLk>%+C?NF5U#fFropoP-hs>+eLuY*}l5g)$#R&at)T zHz=b|>Q<~XH=xkl>FdnhDD>O^b>>kN`tAQZ^E?W@ul~LH4+{0h_vT|IUT=JFzV?ai zjUUWZV`V?<7}*=^%}h$X-q>I^R^s)>Ci4@Y41<<#GJ7lW`e%zdRmZr$%G_ekMxkG2 zZZQ`t@jkz{nyXOg(`u`ER*UyO-&~+$f=8eXIp+_Wt59gR95gqh(C;D-n)^`bS5XJe6DVtD1&kONuLScF3eBGc z^Ck+--URa*3eDaGGi8i7TjZ6)&t?Xn$hIFcbNWQK{jga?iPx?p=3ph>j5=nHR^rW{ zV`iL=3D$tmN!j*e<{}hYHRG7M0fn*x9y3p%{E26YapYIO_a|g^zRFfo6k`C zfyisx<7UcnYPJOPKZmSBAitVfP|Ab6RZ;*&t_Ck_c*3+%C@aMYvl0qrr8r^MMWLQQ zX|_b6o#SKCh5GQUSrtXDtRX+C&zcQT=&W_tY=c5)t+QrVl$>|;R_Dw}6zYw0 zW)uqb#yN8u3iZZ0bDX@$a4!E}O-bc)fAi z?C_tMZa$G$dY8??T7skTvmnuoL8-e_UqdFEb5NRr$gL91T_|*Jxndqs;YsGc5u##A}hS$xKD0T2ixo&=lvJA7MTsP~ZYypwy zsOx5H6sq$Lv$GPf&Ns|HK9P04X%6;@tn)21Mu}JFJLV5cyqS5=+^WQD#Xa+kj&WOY z&%B00naS^&4^XIv_slm+yc*s!Q%{urqea&6zM07TbMF`Q{-MxX#oJy{*O z!S*2X-YUSdqtNd`LRldtUb{k>pcf1_68n#r4SD&_9*e{labw0;`L!>_DV@? z(85om%q(n*?jM?UnOP1L`fYn=Rv3k@b~3Y4C^YM`uqr5YHqOF6MxnED7S=|I*RHIr zlTT#3vay~%k?qRPhA8pcm6L5%;`MVbwp)qU(p>C>jtPE&XWCrs5(>2|7rTiBspY>GYwW1&! zp+w&cFN670kWEygv)0Swv=Ez%BD2=7QF2j<_sgKd>@Ou=X1v1eA0^(t3bRMLoZuTg zClqGJw0Gx5VU`|+`miv|jY54`n3X`Gxlx3bL&=2qGDTPolyS!c#tx`+5!M)m?%#{B zwo1HSEy6ncMD}V?*2gEZSBtSBO1xez!L};#W(#Axm3VDu>@Ov{pMQq>Fm_vs*M}Cn zr^^Zcx;tQ;fEbItLZNRVEEYCh_Lx^^i)HbNtTShMd?M>?vl2?YIt$iSiC5=RtgjNU z&ZXEGU5@*GcqtaGw{q`OO0hT;8l6&XF$$giO0zXu+!T^ z?JCPo`$V>@9J{Qzv%*SZgEA|F?2Y=YBno}X)Mp=}(A{W#Rv(4#M(eZID7_o$YvYeu50p_L^4j=g zHUnifoLl54egpP3${rB;iQj;&L!mQLL-s$Eq4+u2ko}CZ9zQP{vePJZ_0^CiqR`b> zLv|141a8%cy+Wby#~QJ)nR-m=`>{qWrxI_x8nXgEk>k~bnLd%@)s&T0;*D2x7OTV? zua+!Mi8o#?*&Q9@X0vI@{zai0wq&Viy<5YUEV~x>Xlljs`9#j%R;-i~uN9xLNeSp*pu?D^aLd+p$eby!y0fJAESS z^EpfKiL6ftc0!3)pHA$h60cVySm<{Zlz4sEjUDlc?8ENtv`=Io_F$KlczxK5*>lv4a_3JUR!)i6 zhkaPYe`0$1Ca}PoB(N~WHAbzNxo!jQ0PqZCEJcd-)jwE z2`KalGJu`dVw~Y{*8+PVz*2rCTjBLaB+K9v*&72{PM^r$7{rPw@p@wj>#xLX`!F_A z3EXAl3?IfOq0mei#=b(K^UpB00)@^$!`KEC8s*_^HwumNaCQ`hMtL|puf%KD2zJ#c zvRxzDZJ)??jbhK0cCwSV$cAy-A_qBo$Gn3s$5$!^a z%pkK^_W81<@MM<3dh{T(nS-)_1w3^e0#B(}Wt4Mwbe8yeth*BLs$f3rr6e{;IYZ{N zNEFH$GM`1GPzIF+EDmMRUdXPq58m8kOO-?ir-BrQ`Yd3pF{T>4K`PIO3)u#YX$B(C zhYQ(HI>tRCEn@q%80nV=3>(T>#4alF`gt)+z2Mz5z!H|pCvv=&vRpoqD7132S+%PuRK6RaK+YE*=_uVThRHOj$Al+~;-%IxFt z>vM=%%bKIaqI}PyX{#MNW<8sZ(jH|4Tc9KPQl_VG&4#T(6 z@IKpSb`#}m*hc39f-};^i~?J?sF= z!qvLR_OPSAt>jhZ9(D&~WKPTaQ0KkuUnSm=yO)J7_U4A13Hw+&pU9c8pM|5)^X`Le ziV|;*{miy1@#=h-?N;LT&tdkvj&U>E9cEWh=risxyN^OyJAPq-uVoEmgY-7kFDyF> zW$ie^3ZYQejw7t367R@8%F1YQpR65am3<=HevH-jiER6E)HZ zOHZ+7x*Yee_7wXDg|f$-VykpH>dhJX337^MU!q$|*N3NAAr!hkJjF^X@ka1BR?#Q2 z6{lGZpU77H&KfB3T5*O=RN}Sb9E(@twc;FGq{|6XozJnQdMh`F^|3gs3%$9_Vg zPxEu^5DML`pJTtH$eg+@VP>9VS5Rb5-2!kwbB^6dq24&pUZYTNoM&m5db3wPp}WAc z`9$`{MV8MevNtZV5=y+@_=}BG;`K%%o2ta?jYPIwm*b9UB3r4q3QijUnHiuJiR^on zbs!y;Y(#W3U>2=myiPzHW>?<7;tbx~c*Vzgs3GPg|&Q@UzwcD&CltDRzsGuNG2%W77~Npp@3SEo6L}zD^aXjq z#wke%qchtB_7w`9*&eVTQ0UC|knKRBGuuP<3(DfY`g!gnb_Qh~h&)*H}Qxv+}GOVt+6^)=_^+BN# zG^~LrG=d@42oxH@5Gz`X+tPqF#V4|*q1J4l$d;zCmMHOBn##JN#5P3jGu+5*(h7v=yQT?RYKVZBF_o7RTm}jsg7~1mMG~#WQ=2dfkNj5Vf8}^8KhU%5Y|YP zY#{RULRgcPc%xI&n&lHYI;E^dK9QqS+FGT=8=bONt+nqSU+-HDlz8*`eQTT&?}&Tf znxMCG&!X>Jvr%XS-?x^dP+rIK)_N4WYASE-M4_H9Z~cNo*HPuIGbohBvAlH+g|4j1 zTMtm^%Bs9&tkYvUJDvVLNCm5i60gT9Shi1Ok5#nZ_lfMWN>()`UXN9_9xCz909CA4 zO1vJcVol#5_wMyr6>El)*kGYZIP<~Gt76SZDFc#Q$#*D}X}_wq1*HH!g{f*CMxj2e zYW;yieOT4Hib8!@)w+*DJyz9vjY2(E)k?Qf)_IOm3+l59&Y9J$1}M#H!W}gHaa3b+7!Mzo9i6Wj%=ep1+|r4W${#IoMYtYYs{`kiV3CgF@eaH?}sQ z&^H5(tvx7oK5Sy0LZSX?V*QOm{nONXh(i6-)H1fH-f*u@n_1~mf)Dh%FwLyoDDQ#D zvrRLrgc5H|n_H!PBFD6aRmmrEOj}yDlz3zDiM36MckHyW_V^?TdZUeX$tMp$+FFma z7z^9Ml`=?s%h)Pg;T>`9txih3Bd)#GS&8>4)86_Lh0am!tuZKcR{z|Zib7}g&#n0= zbXNb|T7^Pq^$yl%6gsPSu=bZ`;%c6wM}D)GwcVGZ+%yxQqu#c6Sm_g>aA6q?Vytj#DipL<*TP-s5)woaf> zulBJnp-`{(v2LPJulBK?EAe`)uNCq?*)A=z$NE`md?I_Szm-ji*JA^$W=g#N8EAD- zqT3#XZ-EC|6LzZca?d}5tc81|L>c#I!ngYHuR+#RCGhEROrJ>xS#MBkfXFk+AS?A= zRZj3Lj2UcYMA?clgRO9sPsZzSn}=8hPTF{7=oP$q)Nn9!lFenYACwT_9lE}--PkulNMHI(56 zA+sqw8HurOqf7(I2=gb#dV(@)pzfb>)@zjMAhMisR;qn^ZmfKx_Z4epK=~htjES{! zqMZ6y$Beh~qdWwWG2^WgDBYInmQ(xX0p`_r2@QNBj?W)D-xwCh>V$HjnQIcgQr;C zw!yPDYps$fV_HbS$N_yg%{t(VDF6~@E!nS+L8~!*X9ZiuTRRSUVnWOetJV=MrQ-rd zC6HOxX_P7;4M4uK8XVOzb)gSify}cuD~UC-W`|!=f-JW7V2qSuAWN+E$Msehv%nKh zkmc4}CGkcA{3>BO$TwDjUv*4X07 z&wY~lD6Ds575H73^ZhjV?ise)VBP=2lWQOwtyey|3$ocdbWWE%B~PgF5@eh8*PmK? z9fM58%izr_>o!WnRFDhsRLF`|b#vSB@)#Qej0Q{D^ zCdf(aIm)*aLX8F>r>tzZ^u88^!?*e%zgZ*hY8g5fu311%Tixz!SsQ@QK#)JI$Ol?( z!F85=H|&hH2PL5+tZ4!Z4?z&D^Ex2>}% zD>}hD-4|h_^f!`UV!tmys7-D(_^Qwd@ozat#>@z~m?_8wz&f*5%X z@Wi^TBq4;#d1Cboq?Ppvp>m#Dk9{J`d1{Ral`%;nRKsUh*%Y408a}hGX$hltJ-6zn zlri4B#LulJN@9aCE%YVi>bgZfQGIT8RpMn8cwvo8w$)2(YO<|fS__kH^~&0f zTTupsH`dR|wt8b-OSaWpD{CrQXYZ;qgcsAIe$`tQS{lOZ`lJp>D34I$)j0(}tt2sI zZjXS`2x3z4Boz9cZz}#=m*ZZurIMWue+lUiR)nYMFcUoa8?tT1p7hJYxyfbt0sSq6 zyH(01E8)BfXA@5v!3ws6pqwC2ms+-Tj`09u+CUA{@fs+rKstkD;O$W|!)L*B*eVn6 zf>P!#ysHk^*qM1Bl&wYK3~(0KN#}!5PBewjCMYK>kMYS+knDVhlGtGQef^o6lP^&+ z({Q@O`3GWh^8YD`Hq54>>Wzh*{AZLxAaZ?~ocxL|$1sAS#zfdEoWJqOY>-?$Z%~b? z(KRYyq|RsCDBHn{rY{;e0;l(ap&rLd@sreg>=uq#}8{!BPh#x zkKa+^&4dCxO_Zv-u=ygCNjRfyz67Ns&L5jEM_G+?%%*wh&L5kvR51x5R3E|DE19Ee zxD@JKhVM=zTk0L}<@wJ_ygQfj{5K`B!E!D1n3m@kP-=k4F)h!pp=A0*$5i0AQSyPv zmL+VI}?}3iV+Xeoe_7qr{AW@guaN8t;%!ZZ*dkJ2qf! z1F6neD>-0vfZ6>D-Vv(7*DFadQp4x_ZiuPL>!sKGlG*A+0=!4f8=%N6Y6%cin>R+0 zS>{SW%tySP67OtNhj&(z6qdLZRu$<8Irn&PlqVoLlnl`lBCiwjfz;)jbUB8UW3aD! zyjK=kpLpY5V!${L(tz(#5@n354xfx54S8f%853nRYYv~BN_aLcJwYCWG~wYnw2Xwi zt&mHwMl+8@NdZ>{89-X`Jt)T-!0`vtnqO0*KTivTe8%(Ul;tFa$m{1KQ0KP1o03>{ zMa>|l9bbnr@=7lv+%P)u%_yXa=P&z=QXICD<#gwbQ7U6O-Fa)23wUSOgLgo=i}mTjyQ9p)ef8x1QNF`{_2k1)=HR}1 z@v$iDa9_RnWR#{D)0@vk>5MVG`9hS&JN22r4_|@O0YtW|4_}A!Bi6Yu-;9!gb?(b| zp|r-BemnuCC&u*SzoLBiRPU=lKZCL#MDD9Uzl?Gk-r$mb_$9xNavwy-e90f6^v7}r z@E0gkv77-skW0^vt;^vo0`oAEr$IRd@{y9PC?hduAkTv`A7cjcA}HsU!7&P34dNW- z0Z4Ntu)FT9hhv^}a^&O(;!4QT!j2yST3?ejjBS#*F39QGUXhu{pDmCFqBdtvd+;w3(BY1_86WU zB@){n!waKK!?c>k^}p2BJYc0V;@fBLr~IS|4iazP>NvxOyUz!qTA}T@njy4vIIoV!^wO; z%1(@#!k3|3!k8(14az>O^HjbOag^~|`aVgtA zhc`f}3nJS-hqpv2xmw43#oM8@1(7jd@h&KrF=j6BgOX*9j+x5`qvZWT|Au8AAC2-c zh%9FwpMWw9W9IWXlvNlrpU*>?fcsj&m!fRK`Yhn9QQEH3bzaCfphSVleJ$iaq1?xq zMSMR>p6_(bB7PKQ)c3m1i}`7kl_0X5#rzV=ag6zz|BdnlW4`8hX)D~<68;qB2-ar_ ze~VISo!-|{o;t4{)6YTVzLxS#C@~nbjEAGF!kA^eAj(mUSG6_V+ ze9H%+?82B;d=$z9j9JCUqa!> z2t=0iJ->tU9AkdqPf&_u+kfD1P-?-^B#+beJXJnDH@?KqoB3xb zeL!T}H}eRTx+`?d7Tyb`Gl-1Y!Uv)xEY~qx`AC!`5E-+T$D+)^dAN;FL)nD$a2x*$ zrNK&F&UXGaN*@qe&UU^E3Y zp}fYJ9sB~yFW=~LcJiwzH$h}MJNa#t;wAJv+{GWGR0okUyZCFA67Y*2IX8Cml<(=e zQ3piE?B*Fz)(q1zdw33%BOo$n56_R%1v8*hVB63-jI@lGhQczw_ZJoiXNj9)n_F%pZITN+FE-gU?2pg7rDW7on`d`kdh_QGUUgv;2FMdl++; zZ$&AxL4OvU&Nqzlm}Hp0Ub# zc#%Iuc>p5!b&Be$a4PV*--jn%%40T%DgXh%wN1H z%0UphufMp1@&IEl^Y>BmM(CK!yei6ja8{T5O5}A=>Vn8}5_uDpFEQo{Z;i4LW3KRy zD2E>Ea<203D2X7loU8mxlt_%Z#)qLy#h7b68f6=f#ov4~%4r;nzxgbb`xukN7ow!y zsK+#ke}fVYR~NEf|L}DvUxUc{{KL1P{Dd*r`7V?{Fy=b{8Ra#sCM?Uj!GA@`)>eNO z+~8+X{>66PRpamSA}Fc1>s90LavQ}2k-t^E$IGGA$C!J(3QG6a z`qz2)`9~z@ z&Lch)Wh}-#;$u-tpVcvs`6QH9AaY-i`An3n@I+CT^Mo%zkxvw5%oDx>r8tO;dCJ$K z)Wevkd^5@`c>XNM>lxpPk{e2vWATh9puAiN-$lVy?sI+|C43Qli=*TWN(A1UzuU-3LB<39~iF|T=HlpjH4%xlh31}xJ1dc(`2Ob3zsdc!|N=>pf`a$j$GZIlTh zvYfZP5z4&J^u7$c70M0}8DrR=qqM`ehuB?FVzBKYc0ZK4*sg#*1mzI6D_}>VT)=jP z+7nUI;l4uc87OOTUn%VQD8J#pQrOFBD{NOvdksoOY*$Kq6Uv9!u2l98l%BY+RQ5rX z-j+UZq_&TtOa+niC$;?t%E^}coDj7CM0pJ&V}kZSD8;dyF#8@#eJm%;evUF6%SmG! zh4tK6iRGlR!%!MT>9I&_XGZA-BF7@Fof{<oypkvhY zf@u(w-d^RCxgZ(skRq}^2SUaa*1rMIZ0A8~4o~{zufns~6;KMmIeZyxmDQez!r=~D z#$>m*qx6S!os=B*b(BBhZ2Sj2o5^X{DysLD_osld8p;W``=YFb^Yd1a-1Z8eREM`U z^4iZ)o@RviO&}(pow}GVN6Hb9_v|7ld+We+E7*GhyP8ijK?@7oZBYioo8GdVLUvD| z$Z`tX6HrFIuiqIcYR^U)@5&04f1suEy@I0lYm^l5u92J@MeV%Bbqy0?*2$P+b_FF- z#)o?h<2Tq>F*_1tGQoLFJ`pQ!Uq=}TZ!w*Rm=gBs61tooD9nyDrOYwnGQqnf5X0>l zrek`&3>Y^-9D9wDgb?}M>M4k@Ph(78cvmFwXNXbKE@I(U&|?`uO4)HJ>mj>xZjjRU z8yBo^NKKi#^73>%#2_dvbd__B*Ew@Stp_RBR*=tec zx?L?!!`t3=El0=5b-Uym@s;fZN@9$b?E}V){g7kIzK&A8T|hmHtYTLXx;{gm1dI=$ zK2_~8C9xcMIw@C{uVx=bY5G8~EMMI&T}sE$%JMbr7AW$Wrd(ORrahvxj=2O|$(7}6 z+4oUsW%=56lQKGnR+j(BzKufb$k(wOl+`h`j(lDFFbb_cU(bGy;;zYV*D9yCl223( zXvN2NFBG}{mt1SUfxQZaR+evQmv~=qH3eEBSC(&NN1({nzU0dCjqSYUWlW4w9ge{| z&|^*P4oVV2xtv_k#o_Hz_kp}vD%tgO0x%QRMUP z`LOpd?4u~OLVbi?{zF+#ypayRVQ2(B-`Q@WBq4;>tnXs4N1+w!yV}=LXodQ2_LM5R zKD0u8cl#^~tx(^?u2ogX&adj)c3J(qsUdmK7#qv z*REe($IuG({p=wqa@8=oLVbVxEDEhq|D|2IhTe)+s2^absHufksE@QSqR3UlZcTvq zy6q{obc|dzEH|712H7p@XrUGA2iw1(&WQtRG`vLXqo;$u;Yv>_;ea9Wl9P z{a8D^zAlH>tdF+WqR^W4G4_y;bquXpKh7T5Kntx|A8T(yk?V-bHS5RQmr-cV`U!Tn zhI%Vnvwos|8->=apJcafq+@8!`pNc16k4->id~|yj-fT{r`lzkXrVRhr`ffdYN0jj zr`sz~&UCe3sVtyv#$FGQg=>u1>4QE1KjnfB@CdMjG9ewO{Zg%(<~ezskt zr50MVevaJ$h1RV9%8qQMV`$C#x%NR6TC;wheGP@yte#fvUV{m+ZYlnBxLhIVEvQu=_ zLhIUpXQ$|-h1RuSZCCq33$1Iv#;)913$1Iv)?TY5%IFFAu=4tFo&5@9XchbK?IvCH zRnxr+TJn|ISOa%C~O ziv4E0YD3J^SMyY2|E%cQ^^2IwV}E`mCKN{KncRLe!W$SkveASagqrr zz5hpBWgDeqTCRb$Zq&Yn68#q3VkNDWBp7r@cFI1BLU&}p*{4U#auN)AFY|kQc<WF>m~-|Xl!Q%LdXgPJUe~7;TnWqkZ2#D`l<2n> z?7jVa( zswB!d2iL17pq#t*T8yE4kbCwqjClrMVaZ>B-nZ{!44pF{*qJ8jlIhy-p6}?&UN4v`@}JouAp4aVwfX&+Sr^b$w`# zy|7!L&^&x;*PNnbmK}xCIu3s80P@zJg+g;R z#QAKhE}7aiPiaGh> zWUqQ}Ul*r3r!Vpd=0!*NcEuISXjj}R>f1`rpW;ppCEmHWgwq6t#=>;kqtI9|rxyy1 zh2;!Kp|P-?NhmZH!kLFcV^PZa7KO&5w6ht7#-fa~4~52}jPolBjYS#fA_|Q~8RrHH zjYS#fISP$MIVW|z?8DgL_iyxf@8zA0D7!%9_w(hQa3x7$)T5I1a6lv$vYFR!M?E{Zq|JF-wjW0-z0Rf183IPx@5XWYUn&hSr6ao$*ZPD&Wa^ErV4B&Z$}zC z*OkN@9YMC`hVOrzB}-)tWXr^BfM!nkGA(pQYVH(3p`)M$9Zf0s#K8B#P@k40>DPT4 zFkZ*P?`mAh0`=h#<4Jlr+RC^0OZKcFA7=-}lnWTsK>9f`EA>{XrfK=oF;;0AHAU|$(rNIW zmZD!nhE&*Uh|>$D&Oo@b0vYOLS}kL|PwHV#xDxM5c$l+MiPsy$oE=KM-WcXo{_)*% zMme>7@+0hPl(R#NyE0~!a{%Q*-GCa4DCa23La4LM6dL86MlmYuXMa)7MUMqRb`ZOTS>g}8cKfN3BD(B+HTan@jaBh4eAr^991&MIK35qX#x`KWZNub<`^}a z!@cqt_{PIIgaQYOaR_22IK~!T4*WpNI0G`-xveGq^Wg#G?lyRT)miXA)f>Uda5vf% z=HYZ_g_5K&nwis`(->0_=4we5lkX?FRZ3|0#m1K}u$bIM^1 z&G0zqLlm0faZYU|F~Pbp=jEqxoYM$nXwJtwt(3$DKY(79G4amlC@JArz4B@445uqf z0T6k{p5gREIo2s)+<@Mg=?p=+3i4P=! zajVVFb0zUc)eEq?CTz9UNpV1K6>oHdr&Ln5Ib~56fqVt+niMN+^jp!eOq;bMH>4)L|VHo+8xvVGMll;8a(lkM3??!Yp^% zDw%0?T?OBfz~1*dvwSf_+QOZQvqDR7%D#ZH0b=$$w|y~RLd<^W6~=T3gc{o*=77`h z7rA%6uiZ*UYYE1{uMTU#RtKFWC^JFQDcOr6Gv~xAIe~IzGThlgi3gn`N4%2nK2t zjQPcxhZ1O_V~#jWl<1aD>f=_1@vBn^rSlhB zPB;uD;{dpyhOJIIrBTA4!W}KhDW@FD+GYXc7RYI*0?OFtTK;f8K$+VCeqjwUXPqi2 zhe71tFF4gvn!~=NTyz?s6z>La8NgPToYN@x!{NzeBHU#=&rxo}CwV%ML}$z~-O~LJ z;fX8AHD|Gs1S2iXuek1T=j&`iNe$(U2f5)KSK@uj+;sj>;*Hl$=gNO#ZYqg}d2ASI z;2Qg;^AM$187;S*e^Ii-FVtkrZ6|PC)-c*QolVOfCyf$s?{}Rn7_+37j=Ad;OBQp_ zaWLlb2Ri1SQ#o18eWzBknEOt%WHAq%PcbG(C0)(~Co);gLuUlWgka1=XL7QbN6yS- zF^`<>$zmQmdy~aHb}l4~dE#767W2e;?Te9T^`}nwud)xL)ERqg7r0w@3Mxqo8N37T zkYL=OJ7rO1PA3lX!ubeAu7OorNgI?|DE~UWP-2FLs+gC~Xq1G*`uh2mGet|-SrGXK z&MRl363BP4*HE83ubkB=k+A0Yf`RZofU`}BH>2J-2Xu^Tg**eiagHj1Un0Y&Sw*Pf z8|SnyMz-{=b4iJAX&s0$#C;Um(nD}95h4O7^id#N+6ZDoM0OO}QYisZ0!6k|N~ox) z#cfv#Q6FQd?J2}3N@9cAnQnUu(OHXeVQIjSS?g1XNR-53kar*2o=S{G`Ea=YTuv?G zlz6=n6bp5X+Z#c#LP@moEqt1_gc=6LkG>c=6T-w1C5a(@M(fc@BTk?UfjfFRI%!1g zN!c5TVK?i98fhoN+IeD{mXJp9X1?tCG-5W!OsgNN&gyBz5{xO-KVWo(y{8c`QRr9v zX+-ELS+duPG$NxC?^sSFaw>^7j%GECUaFk@z8Kkxw8By1wIZD;i9)SNCw|cq7Fi|K z7y#v@6Q?kST9Hni!x(BsI+3JA*Jlx&+0%(9T8u@x^)IY5h}S6j;5u^*l$=4N|4p__ zZzXG(N#s@H)iARtfI>CQEY@fVYhE?fm;mKu78@~!YM5F44`Zl?nZ?ga^m{uq)K({y zc=-Xchzm-RLYCtwXA!TJcs-v*q&fZWSY#17lz3y2MZBjZ+K5UIFL>oLj4YzKFGjXB zyQrnaYiSO#5QSQrL)`vd?kma|)YDM&Cx;0Bp(S55Nl_(-x#uxeJRx?p(*5wcjlz5|)Lu|$vItp@%Z75XdoTB_0S;NGzqcA#K z;9ogKRV{9Pa*B^IhU$}3w7{4$-2z56wbc(ORG*w;s}iq1ImJngq56c2(qRDu@;4ni#+165^o;n5ht~{bAf-?~F;+@;}FD0%A@vUvVM@Hwfqm&1_v*_Mc~NNZmWao4 z9@o=nQA^Cj7}}R5mS7C+%M$C9c>A)%4%~`n0vCHwXkT2EyRPdj_jM22#l?qO+;Qik z7RJ!NxM-@x+ZPwTa4XuEEmok=zHG7ShTNCetG2kL#5=Ru;%_bP-feLkV`%TTc!e=^ zX0ye|H}we8tg}UPC0-3}(GO#&hK^W^LN#>6<6H06&=L7=>;9o@07n$n;?~d+9Al`4 zj;M?=R6|EhMxh!yVx|&ZLwW9X!~!MW40pu0|B3lQNwiTG?sp!;csXJZN~@2x2yqmunk~oJk zG|H94HH;Yp_dB_vH!6wZ_tb0&p;4|Rgc7eeDv9z+qK&g1bSo-}`Y5$VYWYC4OSV;I z(HUcYh0o>nv*B%LG1V6%+y0?grNnD{6>%Ab+FnJ>z5j08tB6fX62mIMHJddRvY?9{ zTHLl*5&JQQ+FnH*#hB%A%~llJUPTmt@NV0y2%*GldlgY$Nwm?TvSE}|Th&e$Q&lv? zn8pz>o)A-2e3mSxnux%d&*9#o2EBZ+A8tJ zy|LJYLgU_8EP49wxHlF%Q0O|du{ftBG0cL`g56N(#v)ORI};j<>li~bp|QA+G2Oom z7#*Mw8;h#X-kk}JMI9wx+Z&62@_1pQDWVLQ50T*SD2yX;U#piPzF*;u;FI zw3)d4{N0u|6R%LHrOiaH7pjI~wcvUz-yq1QE(&UKTiQ&Nz!++2Gf@&_iu4H>J)xz| z!~hgJ-kXWxO1#l&Cgx%ceeN_DCs3%)ApgEw=jP(Jl0>(L&BbFaZVj7@ml#7eY%Wr~ z)ICo%Y%c1cPz{@l#!9@gXf8fc5^Z$pps)Fxi%2EjvC~3~Nw!rBF#)&Ql2>olLd^BW z$nk0^HYoANtCiSs*}xd{v$vBM|LPlFcv{>)p@Y5 zPlfSXwlv=8w+o&_LY+So1(kR;Y%5G1<34$8E6V*R=0hdX#tZmGL!~glTcdG(u#;7#h>saJdx(Ncyk6}oil9)h_7uCdxK}AX#m^W+_XR!0 zag3o}?J3S;4E1VHk;i}wC?nCmO6e&IEAfu^oCF-3`Yf6-6O(&Em;eqsT}P>=N!t1yPH-usDXC^QfIiML9;9_uI4 z2ISto9_uHvDuFA#qWT!@C*DJ8Ahh%sWqe!7mVPOkDDhf4KpaA$mJSe2Qoh^L0iqWQ zeZ~zC6O<%|&4%l`a`0(BK*VWr+de>ig)!9j0b&Wp1mL{77mk7f;vNdMeSmnT#GAbX zM7C6VM$uQomd0NHJE4SHnm#NsC*VB#)i6># zQsRwHq^M3FE(rZj>hM9H-8j^GH< zKuKcQ^;)6EFYw%aglM6~9l;UeGmN1T93dhwCZRX1n+)|CA&#KX2#yfHDe=Z)gt(w2 z+DHklc%`;_k}PJVc#SbpaPE~)|3``}>13U~xjIU4C01ypv0TKqs37zZrewT-!O*SK3ZJF7@EDKMa_)5pQ-Jm#m7p#wvQIgl|&oOYwEU- z7G0CYj1he?rVGZ55z)zFqQqp3Ir^btoE!}AP>FAn#f%l}Fs3B*bDFF0>oc)8SxmGz zj4_*_oN$PV7FUzS#E4rMGpRcKmKtJW#M@*s<3#FAvhC5v5-3MN%s5d{iP!d6VPedW z(5?y)6DvMU7BgPd#+V0C&PNb4UVNS`W`gL7F#^hI3^5bLa9@l(3MPuVO1!x-NmR?M zM~CLdBoUGI-MKMIj6tEfF-a^$=>vD8^1Gc$VjIf%IV7i*cz0Wq#6>Oc{Fx-KVhqin zN#Zuf(B0M~Q77BG^JkK1ti(H$OcI|d@p^TV_(BOh*MsZBcF-G>L{F4aaP8Li^Nel_YbKP|Djgq7=I~)A+z6ZQhBG#eY zZl>P}j1!wtXf3Tcu~UgIc|MdJC+;Xo3_BR5-z}Ua9;0-f6fhpbd3Ba}g)(MAz$gOy znk8~)SN#)~dM>Mmdx-UrtqEl|ae$1-!4Mq(91@68e3K`680a85e4_gZ<4HgHbYdAsMD6WB|m}QSF+5 zF}GUir}hiPe3XKJ!TK`2;7tqhBT9yUVOowridI$ zlH7HZ7l;xVQ|O}*<0-sTvOttX85|pGOojQgK$Jn*508@NTNVq%`zWVU=>AzCs-slf zNihvjXs#|0jZtW>E)Z=|cHq&pKuke72yYU~cW$AjD4)W7*0Ntq$Wiz;iu_h~fjErv zHYs3CgtjjfCs6ingm+V64lNdEP>SBsF^k2YD34$sehphK5r3nUfNVdTL6(WzDBnPC zpZ+j2SBOU_6({I&R*HXpas;+oB|^gWnQb{7J2ybqh@em2f~*r6QT{hGVB~`tzFy?e z682t3J%2WcTp05rm!9DpL|&9l1p>wym{A)lfGDFx*ZB?9@PMeNV}ew}1kn_QYM3C}qEv$HAF@6PqASWxc-ExlOO$e0 z=L9hlrQT(VnShcLTbdwdqAYS_7Ng|8Mq7P{GRWQ6CY0r_>_$0-IouM&5fu6Es;=P~ zl#y-?uW51nFhMNOD|<}$PYS3(g1Df>n+Zq7RTS#6qv93{_1IDI6otm?sCa{N2G8L~ zMMyq<#8ny?Fz$_jw~Iv>N~|lHQEH`ur)uzdaa82hV$dib75z|Xl#hwED0D_TCY<-Y zc4dQh9TUx!c{Ta4e-x_oNijl; zTj!HvB?{H~l-P({(cVvqpHQe*Pl*JSI)~u5|IlNn#Br3{IDbxwlS=dmz6UKmCDP^B zM*;QNZ=wPU?ftYEfoM6-vD0{j^xCBpQBcU>FScbz1E3#gqs6T@)?g z^}M{BI47zp@$M$hiy`jIM>I#FyY=hhGbLUh-Vk3X(N8(oz*aZJ;AAm3#b}HP z`M@w_%uTU4Sh1*c_rQ`-x5jx+3GHCRSmjSj`A(> z5@m0FJ<4}PSTWff(Z=xqv-jrlK2_i2|Mq&_%e{tBl1x#E(B1pI&M7Hlh$KVFoG}qX zWS(ExtQPHF#^N@aP?X}ixzwWtiH@$m*zMt>o_q~5O_Vcy& z+H24I?CJEQT>dqquq6~z%!}VLs#xMm_`ZzsOe8P%WmKtzdR$)Y%V@wv-k0}fbhTtx z`T>}$Tm|;*%jiWUQReq$+`%%EJNq(5uuK=2t6T%V_GheQBDwQ>#>Qg@LUR3=6 z_2N)QX(EYu9m*)rG7_&t89vKIV1DdFu;)<5U?vi;Lm8tjad~kl<35&=dT}^o0TaoK z!x<&3kUa^YK=!7^gck<Y=Dyx=I?wtV%|z@u zk}=5=XU~z0M_5MeIhwJUiP&>AquixrPiwH}7-&A4QH4mto}(EtmJxf7X4GbxOTnH$ zt*1~MQItr+ zo|74+SVrtQnNfvhdO&%;9PBxn(U*zXb24MFC1elIn4QcRV@X^c?go22tgjW8xVrpD z#;YM;e`IWAU->RnsuB45Bjclx%&CkovygAIke^u(?o`3uN2f9>co=tQ;h!0oW+9hZ z5?5DsR;n3<{%6LGNix`yC_SEK{>T$mtw1K1-pmBQuZO4MqWYW|hDAI4@q|dKE@uh# zo;QQ9Ji5LmWX~-?()1W2YF`^V5tdg6erB8V>DrdW)fVV??w9~Kh3ct6W|{o@9!uit zW|qmXH-%&h=&dX>nPm#-`!36@=PbS0lDOJXlfpVnSH3*6OhFy9B(B=lCYge|Pe`Va zzLRB!u}mTTY)GcCUd=K-+f!Hv)iQ^5wyteSTwTjDXY0WsnRE0QmU)b2&e5wvGDY-S zmRZ9xMReqf%we6Y^IH;Evujbj&ehL`WQyw5ETiF!80JM$-L86OJ?H7Jmc&(KkSPr< z_IbL0l1!m%VE$cCvc%0xl+aHk$zW|Np`T+tx7C5wR46Sa^jDU++Eh~i81hw8A7ozv z%n}a*UnTXqS2_#F04c3KOZMc#Q-{-ll+{--<-tg=1A4uqWRhSZ~uy znLGe9Sfzkms#9u^%qOdqx)_Mo?Jb$3Mi+#Y2p~pJu4!XxzhwHv4NArIB^S47O9$!v9IYc)~F7#sHST(Nr9aqb%0!{*KAFuwN9zs-^caDF?gh3U+~AdHMvC@+~M9b##H+ zHdPbpQ&$(WB(9#T58rYDJ#}?wCgx%I!U>S8b#Er|M`4ZxNIk9VpdObR4fR!)xYTH< z>sb<4HDN{LGw{_=HxK!0q&tLsHPW}RuNyo#nFsqf8tFbv+Cq@KK+m;$aLCtndNj*y zg!=vq$Xusqhh&=Q`&nkwG+1Hj414+XQ%s({S1B_+m%3iRWQmJcQ@tUir>Wk`zD~i) z^+5=$ss5Qst#)(@vY9@>r1VfC&GiW;^X`LPxZtaWPOF1&znhrJM(s;%^mAw6w$r;wgD zx<^P)8{IFYr>!0q($ii~4C!gFXRxowA#}8-y`IbDPH1J(o(_6pNKZ$-ETpHSUd6s7 zULEyXCK9hsdSggW7yV&KPZ#|~NKY624UD_V#N~TWU7mf-EdgiE7s8$;?K5dpk;>|AdLEM) z>~kmv7WUF>EODB9>y4H;&As*e?CY(vN?icHdh0JkzWV6zL%#ax-`JPrS08;OT)4peRUP~^$yf81HSs|D?+~d>G~mG{d5!d zg(-$9-%qz>QU}%tG3EQ~jv+k*bgz(}0eS%Yss`l{^$gI%ndCF1XP}-y#I~Y$Kua=6 z&#+`q`WG!|wQI0`fJxW4;0^ad-STZrKH;|J+hUnEq6rQ`O4ly03H(0VOmz?1p zraxpNWA$PBYfET!ilGnFCoF+`PT(vso);dj3)RQG*poOdI9y-GL{6j**VQc9m6&fC zu4@xXyiE+(jVz%&#qslS-Hm1BJ!OPmz(n3tM(DK-Fm(4OK0=?e#GPm!p>tn@GP@FC zjnoB*BaFpIpByqxels?8XG9NWs ztA^IXggv8m8j(cqjMj~rh&`kA4VI8SjRq<;TKBNT<;561hltIu7a$eJ=*L+`a%YTQ zYKcpqG5R?o346xqS1ob1X^eiy5?2Su=npM{k?{F&lNOY*G5QN8N1M|)VXWRA@-{LqEcN!W|G#|V(1%G!_{zp5XfZxv?b1-Df%T#oIO+YI!j<@ zHJnAe6MRk4Z!`HCMwIuggLOo`Gszc@5AV_^k_eXh>AF~BDyveWX6R;2q(sfoC9gvn zSLSEv%Petaeul0|BvIyP==v-pZ|k6$Wu(l{&<`__GB!gmvBbrFhF)oji~9`yvL$i# z6trU_Anr5tn@q|=q~btk>itX}g;_@=vvh$b7>l@S53`OqBD!0j&tx;Sez>P=wywhD z$(vzx3clv(3?>_^5V=QtOcp_kqOW^(eJ0Pq8}>}_HCH#W#MwMgw-!CHf9xIDA2m!xT4W=_t59>W4Jqz{kAw3KA zarV_1-oMc1g*tLQrBC@*@C8L6kLbKirf?cQsw)V|3pWpe%pzT#$%l<$^%lrtU609{ zyJ@`onC@wbOO3~Mf0lWxF2&+;J)X&Vy_IUR7~bXd;-+Lzc~Y0L zB(8pi5&j1t^Q5kkMW!Lk6os%b-=EY&Lo!e4u`DwHW`t1YDLvB?mlw5zwiy{RlO-B^P1kuGL>Q02xVT=s)Z|2 zze4D*>ur|Yt=dES;a5Z6(6er^GO8yK^!27*nnZH_04v~nV-iURvQdA=q|h?>Y7LN0 z`k*Co)$R9)jm6u#^Npz4<<2|0k0mbd@8~-%iK`x5qTbPynT)9h_ZfiZclCBAr#iy- zUVv=YCz-T>l28T6d%8?ZDlH8s!rpiw@9TO@CPO_%vPJh~(iYlPjOkY0-x6of2YLj{ zw1d337JPl6cZXy?)caT_cNYr%LtW)23jG-LxoFQvy16Az^ETa{WwwH541JrP!(`Pc zA|LC;OqzD3lJJRsF{I~H{Tj=B19NDo=Tp5UB=ed6lx4PKX_*7JVCfSfna_2!71>;- zJIQ>mD_i1h{zCgK(;8;WnnS$4&|5rmblP&>o%6S(0A+3?5hRra_R`V zvs?F1lEE+T?9sz4q1)K{0Qp{zWP*3E;TYgYJ%$P1y>=(a{G{Vd@b0zIKz`N}nc&@P zQ-S=Vr!c|0*O2_Cr!m31*JcCRuV*sByVo$RgL*a-yn7AFA$>0soCUoPd>z*Fnc$o! z${f)TFu^&`g&=cOKfwg&Jf8w`LN8;2x3RqduZJhO%9=q;ioxjpc96NyjAHT$%x2sPNJO*u-zAW=X;=Z znsQwz<;Or@iFz(Goh)&&xZL!%#Fd20%|P}w5XK33e&=#CA|zAIjAxlTHE4WT&3qD) zxx(yVnZwWv<2dsQv)2+AdUbO&RQq$ba|0gZ_2n{wSKHKs!@ zm$((aR%KdR;(T3WI$WyeXo$QS$s`lnNjzP%#tiJ%UR|Kqz{f9 z8kwF0&_Y)-8<{&TakvzB zVTLj(2jh7R>jpE0N$?=~y3yRtq(*ZhEzNzFxVYbB9$}foTv~22tFp+fWtsEqP^#W! z8sACrI;WeEDNI_!m=;t1Ci9jh$zg3_84qf~*$~s4O!}bA<)@V?YzfS?UqLdh%(YB5 zb|TW+#6!N?m}xBYAk@kdpt+6FgEMPxW2#vaS0kW)p@nVCJy~QHu*@pxJxOLw7MV9# zW(=&Plg!~PGN)K(HoVJ_%vD1u#h!tdmdG$BRpIT1$V-;E6l-JFvrN%PMds|G;dm9d z1oqb@G}p}{b1lmhPQT&;sxV2NsDnuKK9nwBh62jYb? zZB3VuOgnQM%N&6gsVvB}Gebf$?adgL*tP8MiGROl3=w}8p1+!u5(RmX;78dw6oRU-5@S!BAg z%n{D_4rUvZ{haR|%*iaiQpQm%7DBsZ40j1ap5AQgTjJu?(KKP1KjHlX zeRVW9Gr6i0`RZh5SmJuL&gTA*p3de`_SNSC8o_op%a~MzS-unS#?{5Vz@+${)Pr<2 z-!ti2jz~9CEKad#59288Wo|JQnA`~Ses~8(chiJPXRsMH-)dSh`MM+d>R~2W;$qs< zOlO&ioIX9xLrj)(`rKyT5Bch4K4Y2skn%Ws?`8COvhYc0X_53clPq!R)5pxQ#D(6+ zJixwM!2BwXVEdS-nY=%h^xSS%GfDI5Hi^Dw1Cw(K!o_AwVP)2AWzrAEkXJyS_BW{$ z$ev^EV80*8-C+tbnKBgCtw3ggDaGVh2pB*4>1dv$ZF0I(_amPiIMhsHA{GucGc9o?VW^pBNnA~UktgQPQ1d#;q_u|GM4Uq#W{xr$ zl^}Ww^%Db)&m4KqWhB5|c|q?ure3u~mAZb@9-4W$KZ(@3)<%r>noiL3FD7Z{7#=GKs}Ic7k} z*BmpPeJv>prxzjgIVPSY^FFkq_m~Bi&{{U`&6sNrTCzd)NROyfK<1e#(=n#Bx?LH3 z%{MEU%!PH3C9`1$)9kdw#p`~v*Af?t`^`a1;%YLy?_e8#zlqF1&2jYrlqj54d%zU3 zgnVJ^x4>LtiECRPG*y^L+w!34O(eZu1GoVdV)~#N$TG4!;z2Wi_6156G8!Q5G7PBIzi(YKHmo0Pjr z&nzIAVv9`yCbzN7W9D2YgIMM8?Ig{)KFmOE<6 zd*&V{zrGDK+aUA4Sv{9zzBoyzU$>Zyc|;}v!7{(a7$S-E*9IZd?F8Tg;0g znXTq^mRSR_SOPLzP1=0a?8^KHridjjeLgTHErAmm+*5yG$}xE~0`t$H=RKU z`6VD9nNCd3ZUVE`K(?8FOnQ`6>MbB2n;}fb4uSbqAfK2qOcab@KVAbXvt~Av>ov^N zego^UW*w7El$=hHL#(lfl#iUJPB43#wncR>M zzQqPIJIrAwX{AZ#YjesHZo?t%cA8@MVH&zVWtS<*MEaCnX5al*CjIKGqG~5--eryw zNsLZ+nLk-Z`jlNJ{{y7?INbcd*ZOM5MEaCnrmH0`zjm44mc-SCw>w7bV$vkKQa_@z&KAF3idQ__95-0PUDaJC#defWTZ{{eIqBUU$GK9X*RC);YxUlw{z!Iltzo}tK zT4T>>j+%#~C(QCkFz&n3N5i*%nu9$j%xWTudU3+M#xhbbPMA$B^L)REYGr+8JZkkMZk0S? zF1N&`;R#dAlDMj0n__yx+{k28FS_sIq$#u*^}xv&D0O)9?xeYb$>8bqM*oND#pEcw z{o!oJDKnW#w}(mQPxHAYE_C=f70b-KpL{7V|6>%^rH_)YT;51aoUe#Cfn|QHuGCrE zVg22kpCr?ID|`padnSosnNRUnv#;$iTZk*ODc-=xF)XJ!)f-_+T-B~cGO6A@mbh}5 z+glj&mD^j&zS=|kjIC&HZ#k1?+=l1zRx^1B$`7_AY2FV^=0W+vci40ZCedJB0in0PQBg%%d}Ix#7VBU6ai*n zp1KombOU>edh?j9o)5SF0y)oH%w)bHJ;l6bOis3^-s*gB6_XF3Dxp2ay|qkAK;ML< zgtwl_smA21q_>&LFWjS*^0qOlay`kE_O>&bU4`^q;C;trC*&#i!ezX@OlCrBgFS3n z?;w-TkcRg`EH3m;TH;F7MPABM%F_l=QyvAGi#%fq$zYpM&b!VM*Cv$r#xs#Np}g1r zNz~(JpUQhfEZLP_7+Q&ApTqtHZw!${D^cE?#4^%Kl=o(_Onqo2mV-Uzy`Py#?^)hE zV2O)GdGCZJaML5S&se+5duKg`_BfdeUNKAHM#N6A`u`g2j__I}$zV(`_Ig|5Vp`E# z%0yyX(VMj_b4)9G%PeubrYm}@h$LcK(R-O?B&HR;^(-U1rYm~qJdK*&*}#fk2}@jF zRP?H`jO^>K`H$U-i}{}RITK-Cz7zRlGl}G#6r-_GTY(p zc%Ak2E)&U%O5R77xOA@MeQ62Iv%w4uu7Fqa_FCfFs7t(~Azznx>RGfouAXQEcdJ5J zmw0JRZiTkxQy`VSLYBDHsNz+z#N}62uNxCd4Is~DPK~PG7)y4gPk~$OcYx-q-ee+) z)TrvsWEn|~s@{B-dHart`p)_~z(i7`s&~Q?ml{>Q=n9J0PMH1v&HAduWM5}!$ADbw zUBl#?Y0&;G$fYv8R!n+83yDN~w_4&f8?P_Rd<$!=C}X_wAsNq`#xie1+lw-u_ee-4 z<~_kOg<%wj?P|<>F(l)Aud~cs5R2E==Tg3RgvqB6i({9<8C5T`5@YHtyv)mMNnCvk zwGzi#mw6>ZGM9T7u}oPgEggS={Vkr)M0cTekZN9SCIz8?M?F_~&6tdsK{D07m6lNG zDZjuORqt&}_N4#LcR$wfJ|LO2$he68x^WHf3rlvTk81%le0h|r>HW^WWH(ez?>Ng` zokn***7Qy>QAOx>%9>v8RT%eO>2j-NO|JkGxmB{JSA>b&Dp}JjAu@c2WKFLkk;EO6 zHNDDA>w9Y~fp5(>jHsF$V8@HMoqheGBdQ3>G^_!E<`&)xOPtL&c&~ z-RSkOWUOiqMdSNVM)Ah@oszt ziA%%oUMEXjz3A@suq3W94e@=ayEm1|Kp1^tirwnXXL7tBj0RyAuZQ=5B~EisZ;2&N zb5HMC_Vr;2Y7cvQYnYUU@gcr{-R5m!G8@K+NP2m{GPx5*dN?c6+e>>DV-Z(lV1$OG zk9VOZF09+VOIT)Zb$Dmo2q#j#tC$?>M4|WfhA`<2eF4h!^CpM%^!H}5%;9=8M(Xb^ z3d!8zJ;gF(K^4aiLNwuWS;cx~QrVPWV~yv|ujPfOr-cNo26 z37_H(wZz4Asy89zYpOS$eQkr8?F|t6RPP}sMPc-X>~9VS1{p|GZV zUo-g@<`_|ChPRK&1JKeUndzmznK>4-yaJZQ)rZ|k&n&N$CC=u%y-FcpcYB6?{SI%4 z*X)3GH18TFN6RTS8(O5S!?M$w`kH{i#2$PPvfxtWdV()Dx`(SMX$z$Fhmbh3v?xk+Pn8I2Kj5pBc$Gu`q zGGK&;WQkYV66b5F7h{=T>}#plfJyC#$=4I!XeMi5?1y@u^ky@;fi*wnJ;fw1lzEg{ z=B>Ac>M5RTdD`1y$)5CPUq#eoaC`7G-X10o^`-H~Gv2SHC+%q<6X5>mXS^dU^CFMO zp7s8;WMi(mg`#Rdg!QbKvJvCHC;eiW#licmmV3o5*_AH0VK4VeF_D|DmwRQHbb$MW z@jF?|y^EMU{AomOu;daZZ$ex51cb5NtIA|=X(5`)`;~;mn8@gKxpx_nTyg{Ra<2x< z$j#Erz1mFVX6fbL)lB4O>E&JnCUUd%a<37SXa1DXuVZpy1G>d}xz~ot1!d@-@6=N0cNOPtNGd-an@`~9#R-fNabwm>Z2^xh>siCAp(wi2tnC^yP0kN%A4*AeD1wPGKtW?^tQ1t%t4I%m)>`lxOnaG z_A`-q?eNrQ42v{>2I;)RyTg)=3C%mbAw&}K+Uad$BB}bVcQi>)OBf%1=goQ#HM`Jv zdk->^(06;wEO9;BZtoK&(tqvoeze5(M0>nLmXOWZf9>)9uq3X6vT!EiCM4>83_Y$s zhJAx|AT_@CqD;m>-_!ue4_|aVAd=CC$HirI{4Gi!|@^E@bjB^l_+pzjq0f z?Jy^d@%r7%V6qU#{HXbW7ceQ*pEMuzu3+-X1k!xStHI>=S)}=}SD#6GDY`M>h}W3O z*;Od4qh3=c^I%pM)9{#g1Cw6E7d##xCpGs+X!fVGw!OShL$e;8&F*ys~3y_@h zZejAv03e`8#cpG=Y7&u1tS^(2kQY5cCM7nI$*Flna>s@;dFnx!R|lE2*eE9HFqS}) zHx_5|`yx1@1|)xMGLz3ABXU-3I+M$x%nS#aLb2IQo@_|u?ASaepY(yZOOPoNTgW6j zo=DNy6HGq3m||Ki_6(B`Vf=$}FCJUTa;IPP_07cg1JajzFE$7C?ay+N!J zlkFV$hOtYTG;Kurer+tqWH`tDy4Y1rmU7&$kJV?=4c-nhmz%||Wish{A}wM~nH0Z+ zVtQljMkb3U61geXhRNr5Q%qaOZf5c_m-)7_u1v;pnQtHK!DQz`DhW5o`Y?Hx%Y3KU z9ZZ&UneP%C%mi};%Y3)k2qvRB-@C`gGI@&2e2>^vCZ9oZ!CG)zYz~vND^g5*$L2G+ zur-m}V-GTE#$~==>`^Agq20iIzazGU$*WxE2ga5$DaiRgDE1ta!JO|yVlOZm&iOtp z_A--hobMxIuQO@P`93PPfypx*_c5_|n3Uyw9~axgqzUKy_}FJmhH<`6jO}7_*5wq_ z$*~`qd<$iMI>c*gY(JB2Q0C_VnHD?7Ap&Y&l;?*b zX{-~Ip9fOtPsVyOsX3WKUlzNA$%5Gw`ZKZNOgcd8hoLWzjc0O@Lthb_&gAB*6#A;z z9419zPdmo_h1h*e4nY5fabF#Kn8_k2hZy%YvB#JUfc6LDzBcw0lipAcG4xks&xtQ6 zhZy(QV{4eq$xWfZ5qpzKIq0b|^!2gLOrGpVp>K?R%wz=g)EN4v*bXN1p{K^s--&(C zq#CFE=GZsm&SvrflyKDiMeIB#{m&uI+hZk}e2Hxx$n1!fWpX=|Rn)vQR)NV8 zC}XJkn^@9QFJVtIni0^p&XRr&ui}S3|pj7VeGJ zvxLTneQt-*S8QMsc@JcMi%qq}jVkxY<|fJHf_7nl>>*3ysv*?MPr=vz*kUG?!Dd`t z`aQOsN$>NC9Eh!DGU7%UO@pt4vGq)9!N_wjkVCQem`s5(|0j?mu`igs2W7s%Z?L~5 z_KoPdgudQ#EOvlNyp2+&K<0StFq7&~o+|@65li`ya=9dw-kL!Eh!tjXe-YAiDs~~0 zuVEiP>iIKPp2>nTB%}Pxn4I)!<|LQjg2~HKA`$;~OWZg->JMU>$#qF4>dy(ur1%f8 z%=>kex(-55@t+OJr1~$i%+DZ$dtg%i-65IW{x2+Z>2!)|Za?)SjJvZZk6*wNSV@P~ ziW^`iIgei^Nv17?p62%>l2(2Ty;JA+@3+L2jr{)ONxrabL7NNsYnkMQ`hLrJSRwG&Gg%L<@jwW@pud^PV*_aiP9c9AlTu}AX1lQeBa>Hd zBwuIy(QTB=-BXC1HSJa=yM857<)PKs7UFjNbMBE48ZYb)nB$8N_F6ysg8CjJs>aS;+ z2L?pca7dq`{yATuJ#H64QNM&GE|-h?7g-WlgRi8NFY31p$(-kRV43vVBy*lWk;#Cr zl=8*=r$fHZ_n&8(dQhIRzMt=J2+0)p-(#6mAcJMBxWCg9SAI(PdqciT_y^h7$7ex_ zg_xG`Pm)a9&3UODmh>xriE*EpHfR9t<}K+DBw|+#?*U&W{qKpWDxD%~0g%#uf$i3p zm01Mj0>6qS8`Yn%tK^qs z(hI%-_ylOI=;_cgd^x zC3c|AE~Zuei!E_wtg4@3NnCBL0QbRyo~nLrCe4b%y3ZEa`QSHZQvWd=?=M~7sLKZ#}D9z`<7e;_2|`HNU)Z#@dj^EWcl-HF8fA49%;{~*iUUx#FT zzslE?U+uaP3H)wMhC`c)W&SdMfh8_AF83F+%rt0wQRZ_0t&mJLe+$bLm`gI%{NF<| zSNO+SX4(BDbA?|DhptI&cy+(LC2=(r=GC!Xt?pkIlDX2a$ud_zN_wvJn={$9n8;Or zHzxBQCsM;7%;XOU5o1x)pK8g*wBhTi4%YIg6H(WXj;P!)OJ2*Ln?wo#sqH_UM2Z8c z<3C}^2DR{UC~-ip_Fu5XrD1*lRq~a#AMOac4rJ>4>zGLB_5Jlk5~0`k-%BDGdISHH zB!Zz|}l)QW+L{q z^?UEOdJ^`u^#>A3i~-vE!&ye`Y3q+?8L_9W|1}fYnby|--V$d|TR+zxvRUkD=ch0c zd)oQCi6rc4=l{Yol0NPHgDfNVwDV80jM&r8Z}olV^l9gJw8Yud&L6=tVo!U26%(`LEUE2>_A-`e{lh$K?1y&q>8v9P^Ai)CVPIbCh*>mw$TV(tAe zEpZmM_kUs;v9N=`mx)-|!5{o1<)GNp!5>W|VNVBtBFl(99sD_#xK^}-KbJ_NCF$Tl zoJ6oCx!GTuM6f04=&!KEwIrSW*I4Gw^I;?dGF|SwBz(#uTn&$h&s!zuo`L=s_5@k=KW3~Q=?aT39> z?(&T#F0AQ(O-o#A%=8;15sc|fza{BOl)71d8zPC&XZbyn2!?*QKRAhC=(GJvmblRG z@#k9N%Gg|gsU^;y`~BsX#8tr>O0|R0%>DkGmblb-z~4wDVb25pmL!7qEbu=|B52Qp z{x_C5dmi?Gv&4n|h<_vtQF}3W;_BI&@TO2-sYm>aEOGWc;#VM&u;&p!BZ;6rkNVY; z2->sAuWO03=P|#jCC;8Deyb#cxwFLYPI?l#v(&$hNFwy5{?H_Xp+DhIP9hlklm2{5 zT6{dB%Uq5@*i}f1M?9bzdjgeFL*XEBwutxOb41{%0XyEB&49>)Leqavj8C zrT>d1E)7@t`-miBvC2P|L@*Z5`;lL$9mCcSWATEY-x3##)&BXGIGfk_Wyx2fZCT@& zOVWdF%NoCG62Y)u_Ag5!7}i?9wk0mCSN$d|Bkk(z{*9Kn(BJUelT0G?H~fz5OWN=^ z{2oaJLx0onpF}Y9_5N^6T<9D9$(FdVHuZ2bQ?d-}84`;!4XF|9A40i0McEp(H(+&L8=wk_d*i&Cl~|<~;q_FKmem z>r=n9B`&6)`xTN1#`JSPAU%nge&Jt1BoWgu{Dw&cL;uoml|(S6+x=TDaiQ<<2U+4` zy3?O*iL>WBf0iY#)%wm~lq7=|?)Fz$;@(sC_%9GiSh&aEkVMeJ@BM8_1TFl*|IQL; z;ZObnOPqy!{nX!VswVPcpPxn~5!ODxa1z0=_WQ+?2!{2$U(OO2)HG`a7nx3#(vI$PyP;;h>l$uI>~LN-&W*hr&T=B8iw54lYh2 z82Z_PP9hlkIYD(xTdIo0OprVpG$%QNd#khNl?-f7t_i?86t_8Rt_?f z2!>uIsF_4C^s2%2mblO}f)19rn3|xkC9b9f!Ej5Qg+UOvB(CzM(TrIT%w#gI43W!% z`q0Vhg3T-whf#0lZNJi<;{M z_b_SLTdAwTp1MKjBQB=c_SOq}Te2tD0$5#n8A$zLuO%)A>jy`ZeBs-1{XiY1uztFL zPP)|(@>xRZjG7w+6)kb=MArnJm`JOBO;GI^>Tz=y*90vr*_D0~%+5`OS-xw6wnP%` z{53&mmXUV;nxHq!%!e_UuZ0Z>wQ& z)DmZ5!{F=_RwgmK(l97aBw=C0pe)OXg$)DEGBUf;Fc{55ENmD|vV<&b4EfbCm}iO0 zi)({LNivuh*9K2n0=JsLi5@)Zc5SdS(hI};(s)l?u z3j+4_8SKQscr^>I4#_kR8netnShK^_Xdc|gWGvKEA|sis9Vuj%kZD2|F2I7PbyLv#(nV!1uPmSL7xoMwxjFcd$x_(kfuv)wlk}vWJv*YNKbqjs}v~#eW$wgz}z5>wGC0P9@`f@gR4c1%YZ0;Itwj>Ux?v#2E ze02?WF!3uwIRtV`@FSCYFw(=+=pO7((u1wvtwDYTNe(TEv@Jb?X-uT`>k%|dK^fP! z^ay%0kyY{@!6YWKO5P(_Y{{T7_`_nU6$uiRZ^bB5SnYnNS&pPnc zGbor!7E1ebTX3Ewlo}X|+XBNf5{q7e&qQL;E0~(w>PgtsE0|3rVNdViK9&)CdIw8c zM(pVw9AP5%^a=j7gzTx>9!>%V=jOq%CZ^Tt31{}`+Eg5Ui%uWQEzCmY_NtBkp zK~GEKYATH9w?f?e1|uwSC81w1IpnKfFpGWt5P^V3!ui2qen_T&urLc*%D(zS`|~M; z)j!yqB!j7XN063ADKDuyAQ;F*QguM^LpsX1vN0ftal3nR9!(B`}AglpF z1tN)*9}rY!8Amc-Q;_2E=6>;M=Ld~JzK z!-2uiAzuT71MF)Yv^MxrrqWNr|Ch}`gkk691ssrOF{HoEQpj=31 za8QM1MnDUI-^m&rbY=3+bn-PM7|7&nSc67ALxZ`NIGcwBk6PklIxKjSec}C4xEoy*{6Y@1ac!PbNEJ1gwj1S&n@<$nJu_pu{hI~y7zF?W@@cxB&yi5#!U@`~tB7HyH zQySziKsK+RLH+xbpn)aMo~c0#OI-R)4cfA=TZ@ygsX-4WgIf@}D;N~=H7yv$GPl)% zz5w>FObf7|e|I%xhl;2P?_sY3z3fbU${);{--hmpntj&ke?NR1%0|?)HRdtQ{w+v3CdShfzpF`R0$8qi++a@OHJ}8&*^aH5yRaLcM{;!gS!{;*&23s z;Zx)$UrutBZy_$vU#>uZ5q0reIGX~eH`~u6xuS*X8NCLdutNpb;!t1MjdFzwMbtK{ z2lmymI}htqQ^>CC=2JMNH>%F6pE;bxP#@rKSyiVXg|n2?@pCv08G*Z1g`*tWK~E=t z9QMb#_`>PY9ppaQfb4HL8U01oXQkmzlR_zQ(H#9gxf=aWZu%YdylCZN#t!c0!1xd3 zd~AOK#V7o1$l=K|oPYn%P3isr(&7L9bSP8^-n?7?y?8wJ64jTc(6(T`+SL`G5k(xn zX}*c{?15Wx@b^M+GY&rAd=nn<{J9>wBkCM(kHo#~Q<7Udn11iwnDk5g+NcV-vAkjX z)Fg%6(jH5D+PEC)$?o|Ud_xbzuYMQFr54TXe*4_a?m2M(bh3P_ko#ad>5=F7%g9a7 zNTR)#aHah|li#tuJkX2uChJM&Iq9Q#!n&sI_j9S2zQ=gEC$*0ewb-`PFq=M>eh=%- z?2f7x{Z1F(>^R&CV$;W^OW0k)mJ9d0OZXiAvYip>pZs|HKL^e-uCXo`oH6LBDMCNAyP3^8+a#GRx;u68;^wUv%~JDO--=_6P0< z#cnB|(qGE+_A9A8NciEW$Vq>2a0%HX^|MM@s<%!1Q@xdboWhMNl*4}fJZLWp6-rg_ z!Hp4EJ|%tV_h^EXJrVZjIE5Fn<4_#`pdM`BUg?JVVchc?s0F>!Zc#fDRe9G?c*4bQ zafjt3o;zBRzyD3~#rR=-vD`^~59CX3KeMJs*#6U{BkKL1%127~?B746Uy*Y7<_s!t zPhITdiS|l9N&JU@M)k2=3guhaE&aycIO*%m{m?9S`{Rkf!tMi|DZKFW>=#L{a1#nA z^Y0P$&}sc=$KmvTHsNH)j|`>!Ki=YW_F)~szp!4SS$SB_xfk1h8E%8OS zF5A9D6Y`mPE+y`-?!owGm1}u#W=`>O^9wn}PtvKmEvL?3*uA?c#aEsid7fj$I4lFO z_Arjh&)7KS=O{bQgBdP<_Ir}@sgQl0v&Hr&5%u9zvNP;1$M5N7V5I@$B~P56!1q&WA7s7)-#anCU*Pd* z=J^VmmqCBc&!X_;IloV4w{Y=)@?#2rVslD2dQWxp1M-~UR#^t(T{ zBfF%$N_nJbM7=kb%9pss{;+!?_iN90M5`kTe@DATzHcvx9+0AOe8M_O$W8S-Yx&B| zT{|HBl2&A2*!}x66fb$o?{`4`$MIQp?zh*%i668}>=ZZ2!){Ri{gxNW?tj}&^KKC( z`ehz2bNWF4R*uSv$V>Z_*$v}tZl5yqTq?8M$x(afexEj$(v9TdY`AR?;YJ)g4;WDw z@%UQWNpb((-$lRp&+LYsTYV`%&l^wA=?5s@(w>FqZwFcVi29*7$ycdQ^8fTH;e_>O z$A6zs>Gk}b_>6Er6;*w1BYQG)*xQ^*PUhR?>B^zZvrBw4yWu8{(0sh4|IeI$@_Rw9 zXPd@R`3;XF-iF&Z(eA>zDIO(Xp{Jyuvale}K@96*d0P2xH z7%$oP3ussD`U=dOzef2l_4z!Gk8p`c_$l>WcsLz|XZI9&d4|(X{Ly#>_T<_150~Gk zcZ*!sr?h9!re>}mG{5Z1Vfgp##wq7;Ip_*I9B)_pf+fU!L+l6E1JlcpgFY z$$M00ca-~Q*tf}c$@qf$?G&Y7!ZHA>ZM+Utz{*8=+>w&-Ph9#H>6hIzC;t?ln@5!S zMA5sI$Eo3T4ZEd0h(8)f!R``R{m1%8^Ad0u8Lu;3R1)(ws)~Jt&lGi^o$pFj9}mO& znp>?|h&+$_dOYR-b~q`4=^;-kZ{#n+^03}9gu?qA?%YKEt)3_SG|!W&zTJlI+^T1H zeE-O!?iq>CG*y7-+sI!;<(WYKo38|Mu&@0Tbf>Bj)}5R6IQbpdW$@z9j7OlWdCGd3(gnVbcrP9wQ}Ez@p63ZmgfC|~OlPz!;{=5(zlYm_ir=6#5_eCi`jr(v`dMT`1k;N%a86;dcJh zt>4K!qqJAy_y|AKrPLlQlpEzH6UTb_tZ2kRD-55?0_!=MTBfU^wYO zb@)~A2L42^JfAL;IXs&8j_~?KR87i5zn>|WeoFk2eNon%lF%#ZA7Xx6FH#vhVxwwM)AW2jeN8 zpAot6I5zB-{1f@p*>Sq?B|Le`I_A#$RKE7NCA%}bVV;58+b}O>`)9c2%=R}C_2UBa zFa1x08@YVFn)ylPBchhHr2G;2a5~U@Dtt$T=TpP(R?R59(~obk%;TTS2dQ@y9{uY6 zh5g9zZ5WiNdLh3^{$%f_b%N}Fr}sOFRUjgH`<5o8@3BHzIEkM>LKPE>gmes&eAToEra&eLN*`shnkuBg9? zDC)o5_%2xo=@AMJZ= zR86q`ZHj6K^$qPvu7BvJ{VNfEUyrJmT{G7!X&ym# z-IjXmo_(j`@9sTP@;^V951DrnH}%`DTuOPM@h`jwz`OvKlhN?aEKJ9oxX9gg6WJm2 z3Sqa{LFJL=!SH=h!hd=U#q-zOsk~4;;C;Cpmi`pg5-()}dt_Wf>E!0qB;7JU-TafJ zi;R~`6sGc+Ssw1N<#pRf$5D9U-*a*g7(n(P;Qd4Gc^*&P+4&FmvyI_aJdE#z-qhc( z{`~ZAY47L>^^W&Pgxj_3!u_}S*nAZ4XC9_}lzL3h@OTv3*D@q0{$ze6JumVUwFbVp zgY#}{zE0NX^oV}ZBTtzhm+`rjJ6U%L&y!I6p^QN~<9PI!X_U@6@s`KPuD7aYe$u!s z!t?jA{$c0YoLlxa-o2UpmEn1OdB44u+qJM;;vw}b?5<|pS!ws&{JX?M(k1Mc_b1|R zUGq%2*fYbnSMq-D;{WU=)Si%>^sf>1`&>!~@gH`}zEWwgrN5MMj`XAd&ijIUPYLV$ zyYDT3S5E9dcs<6S=3lVg#dODZv1L(wrrL2nj?3F!PxIExn$Wy;%cl5DSCgU47Alli zwP{A_EA8ApcTjo8@ipory{W7>H|x#Adeao?O;@BhFYC>h(2L<R^DzHp{yDe8c??`%D9ZD!RFB*|e2(FByC`E5@I%lMM& zZ)SJ+eJ(paVYz?Xjp2%Yl5X;pb9ItG73@4(R8fAWs3Nw!Wi5}{aeBXY`7e5tHHuE^(`fk+z`17b9OMcSR_2W{HPuVvSeo{G* z`F|NtQ~!f@OZ%GKpUAuswtLu5pVj($M{9Le5WMl-N*C$YIeVi|LpYAcsHxwI=mi3<93-3 z$|{$ge({%GxM7~1yzuisrTEKw!+$&6|F(W=mt}p)J*B|8jm%+;ZM9JGa#T1?Q9hy{yM&0~kC{$;oC1%F3> z_&biLWd94b8?b&{9N%N1Uh(<@UjT#|Voaa7&F`!-L{Qxf};CEX-ma$f=MtIaxJ@yR-hAI&$zdZ?YRP2u&+ zRP~76H6Cgdc)9`6en%K5-fm`>4z{rEeMr|vyS=_l{?R1TtQ zNFU-c`xO5!f26$BXi0i$oZ|MWzt<$0L%w}O_TxEw4EG)04?*)T5nj)OvR;A0{VQ%) zEHvq(`&%MvnQb@RI;8A>DP#A$MEUm=d;bQe2>rngqNOlA`GfEI@%|d}=lEaCi5_~Q zeetI$9@5|Z-6zEx_G9w>BQk#^%9LfPU{$dSMJuW6hC?P zu8sLY=fJUi*RMkPlgr*06H#*B2Hlwd18n(*F*pBC>nXX^FEvPyxMloA_p!Kn8A%7} z2W6a4fagPwvL5mm<@02cuClHlQUAB?TA+rPoOr+rU=^U~HGRr%q46Z-``pMJV$E#4P~=PFU(G1$+K^~%_N z{cztBrvsh;jPma(S$@ZI;`~W^$P;cs<8^F#%KMv)H_snS>5+NA0PNFVf;v*vGW!hQ zJN4iFJ^6fKvR&D6EO(jhP33)qIotgZpVOeHOSh$*{y`^9pQtU*IG(_EAIEQ$U%5Fy zoIfhJ&Q0agxij}aE}w^%!f@nI-Y=ay><{}ZS1+7gIK0!lML(=_hU(E@*ROCm5%uof zRDP)cbb2LS!}>*zctnl<6zhll!8kKyPq<$`y<7U{h$?2!Uq{sgd|#UMx741(cjWn; zgt$-l#B`N;JPOa3u&FPi>VDgl9IrGz{ z(_eEq_jXz4blt}14*T2tC}98CWPb0k=d;8eRekMx37kvjc>_O+XRpA5^xxS#hG z%l;kNmm=+q^gCUap(`MRblM!uyq?>Y5Gc zAHMy_`Al+Ab;!=Ar6hhA{n9Sdy^PXcLO=R3m1~I)xudEzjC*lE4aG0juA^aiqpiJe zACbg&8@D4(+K^pxj$YdLG#`(3qS<{j1k>A7qGnY3wr_>bXqv~Tmr%UGu z;eC<&JqeH85%vBW5Qlik@50}`oa}B;m%^8Es@#Vn@5TStIBPV|htW7Bs+RYna+=+G zmdv}zQ|gbnDP3f}_3xjf$Zp&v_WW;oQhVmwH5qS6JD1t*bBywoc_VS3do7kH8Lvk9d`1e-FS+>!sh4tpn>HOim%NV|I=ZBFPPx*8Au1S7NzWm+ySgQZ-9-7SYk#TV(+xW`8 zZ&H58@H`kjBdYH2)P9Ma{4U{2zS8_J%s+5{FY%H7^@3rPzv8C%*{Bl!cjFtD6FcM{ z9&t}^M0N`gr^{cvB|qJLU?lI#H`$-69=H2Nb8|fMs0!;b+%&byW^;Ds#PMpiP~L?@ z=@(6$HlA#xL;SDfbFSIBr5=kuS|@;W=!G%CT{|Z4gQ7>`@z-uR zZ(SViN=e*hw}TId_HQZZU11L$@hGW zwfDz?e>*RZe((>zFtv&5x0JJ+?7deKPK58bg0c5;k~_lBO~=SB`@@HyBzGfz7UyT) zJ;cxZfu1$S&~p<%`|z{ISmK{Q$nxy|ax}T+-UE8Vy)Jye7(FBE)qyn5k$QHfPwLlP ze=X%O^OM%!@x4XH-E{9$E+zLAmu`&tD(4JS)C(KweK%cGev93b-n$@QP+z_GD4xP+ z+ItwH>J;rx+(9GRbPJWunG?w%XD_e|`gdHZN$oUa6bUQ=SX_w^ptQU-XbsjpT<+_fxPE^%n?ezJkouLd=SyOHaW@C`-qcM1>7;rDz#M8d0Qe}{XHc%F4WyGg$*$2DPn4DD!X z-=iHrd^njyKLEeuJXQA!WS4{!_AmP7env@u$=C2x=HF?Y6;UH?e<1yf8&62Rl>UOs zquW;_8pyApD<} zZ?TWsUAVW)t~aOfdrzubmx1}0JFyNPj-P}t_KN%8vNLR-q+dI0S8C!s#{aZk(hmMT z`*N#%*4{jc_B|(i|6A!9wwuy3%J~fY&|$qB+l!p+`)}p*|2BKV^_J>G>i_X{T6_xI z4QbzC{-5gu-G7i^+Wm%X_uv6 z`=3r9Y1iJe_bN9}M?aj%au)MhcQ#&P{!g@aKgy~BAkZ`=)uPcoU zvy(s5^btMVdeb=fJ-ZGE-*;#C*4H6;$VVx+|5U%c$4GkR^vo$A!s&FTc1iei>^Y8z z`eO}^!)w`n;VEh!oV&vIO!|9Cr*ODA*(v*A&eT4cFA_V$;hw2J(L;J=UmL8`tfl-7 z>lgVm4JZ6Q7v$Hc6R2J4`&(=$!|#qd4|K6a=qk7 zYENa}TjXcjS&`zy7Z+2x1mqvyZ(z9{#f^zDT0X;dAzPuCBI?L5;IGQagt0E%WU6vQiWC z1)1%UdD`&P%`1lIg=K$jIQ%m$SO1otupN?q^2{k6&(v)|+0 zDd#HWUSir$F6*ILC`NjjaWzjN$)qi{be=Ymp|+?$l0 z+z@+@0leSXXKp@El*jtRbI0Xgr+RUE|1N)j9!BH#a5_kOo@u;38BOn@^u8YDc3#%~ zQhC2%Ztf3qDUp|YF6)zFd(PAjY4>vKccj1kPs5XRrujhE&&fPKr6Dl0N=ad`@f_< zh4Vw?bE?m0YS$CjVY}<~G5{@Zq8dx-N!*dAhkDeYl+-(T3Bo!!#@o@x3> z{Nx$Vmz?5F>+`O?5j{Ei`?u{pQ+*G=@Xz{tI-er@@8I5X-VY)1mS;}!7rF5BOyiMV zc@Vu<^7{Rm>ZSCFsAil_qVG)0$3G1>H;;e*r@}o`JH;*;-%@`b-BnnQY0i1p-h&@63JvTmI-6{7)+>yN|+Lg z5+iBFhpf|Niy35)$`)C&XD1>{G&7d$Su!z}@P9sE=RQC8^||$)PoK*7H#7e}J>H#j z&+FWC&pmfLcX{0x-V@5{CI3CAirgRK`)~4tWH-HETQlC`c$5~N&tdwKpy6q=oTr9KRvb^jPPLV9Z2#KQTXMgr{xOE-`^&nf6W812)q82}Q&&AzuT?I#f4jK9T=RKWw)~b> zPw_3UUDQrg|0MUPu1B()(qGZ#ZF1xKsc`vv`cvs6y9)l)_SJe;IjHw#w6199`xoC= zDHnew-PUVY+Tnl04lCQk|3*2kY>#y*$1o0>-IhKapL^7MY+AR``(g^$RsKqTmgCZw z$4YyxwAae|va-FbsQy;-%J{ujo-^aRgP!YqW}4p`UH4<9o)6z&xS#P94)5FQJ9N4a z!s6R~5j=l)tG{PS=~)=}fwZvo57EEC``G+z<4ccBDQP{$7fDc{)62 z#eF88yW)8&p0nclYSOuH&3_iQeQVNr4m;38e4dvt#^<~;$QPerIOoOrA?4AYkf7Z_A|TMxi#ir z<)(UN&+VRrV*EJ0SkGd4=I50B`EDEc!}*bh!`LqLr~R`4i}zMij=cvTpw2rylHdQ9 zI)!zwfuQa+Q2Ww*^>Mhi^|ad7LF(oA0ETtWPWgLFxJMA}g!?0k|6^wT(%(^!m@nOH z60cvz@7ov8nKGWjdM`}(ZqfdHu5u7vQ2WzG$nv#vH^}&^2a*@pC&|}2Fha`VIV`mw z$|;8RJkXbXUX*-GI!C%V9qkqGi}ByuIb1x<^AwDy{Kfs0o(sm$)n3)!wNFzFE5A&q zCV%*zq0VO#@}H#>+TD`qw3E&+)CTWei|q;he*V5-c%R4WT{ssPzt0oD$D{I|beD}= z)BOF1lB4*l&w@4S;Xdmz!>vC4!@tLPxqpAb_*19wlI4W>fLO7juf0oARf7VQl?9=*51N=lQ80{UGrd`FQTpo|pVN z{J3G#j+>S5tDzi){4el)+Iq~sRhK0iJ$wnK*X{@Kz(_GgSI$ac%}RapKc+a2rG z0b8=Xt$h=!9@_J)`nl-INR!VnDT)>*unDRlZ9L?YnXKZmqu;NMWn*IG63|(#Q0* z@?(8de^R8=etQ2z&&?0eJVEtt@qS0?#PIq2J?+%J=u}1))r|5RxJj>6Ub9}P%<`p>~Zm)Br@(V75{bIRhSIk@U`m{Ko+FcRS zGFy$Ze9E3N)V|%4AmcxY`#5R0e%=lTLLTjKz3=ap9^;d<lGkU0Js^?a3Ghc6mT~&X#naf<^yHEK3 z3-z4n>pAbO<-bQCWo^k^N3;{xt1f6Kw9kvVzg^EgjC=S~+*hl1q;xHx*1i~TDDHD* zyq32T)^jiT^VgKm6neC_cK7enVSN+-*!0BL8h`(7tj9L_y^^V$cAxR7d`+*+)kl2# zKR@5jp11V(QmP(Gp8Cn!;1hXy;JYin|5G~@eYGCeuWFo@J-M$ze?tD3p!Co@Q*bYT zkK|_PXEKQ?v#9fk-1O(y{9q#{OF!Q-9NbT66qoT;*-A8GlsMuYv%4%mj77K z4u0NIG1BZ_I?ec)FUGU`aIG8|R(@5^g4)M2`9V+R{{ue{6u;`N^pE4!q^o^sd@CP* z;d<-$YwDx>zNDAx)#CD0p9HBF^PN0Fhbvaz${S`M!RC28!~L6n+!5a! z`8{ah&Fz`Gv%SBebQIsxv*#SQ^jvbpH)o4tdrn-j-myKFs}GW+@_5;|Bjr=i%R%X< z`qVIgKNjmR`F*zdek{T)*IC{_6#dUTn7#_@x%w;fD`9^h&*%zgZk~THQRy3Bpi?eW zo_V&lH-+!>^;hYdzVLtix`om=y3$MXd{E-axqqg5p1SAqen{c4z9+v}{&NgvU+MoB ztiP~dKJN_E*X*4-(pi4CJ`?6g#qwZ2+xhWK>uAs3Y4J24vh~0)@3e4QJr9k;ORg`e z+rj(y(p%;J8tyZro(8S|;QH9$3hJT1#9ey zT=LzV@7t7|zTZ}q!}e_7r7SOp>j0F)du^EBWBK=J!gmGN%}I_~?EpWOc8cNp6(&E9XXR49{+hpmdH%kPkMFH|d;b7P zfB4wEe%Et13}rr7aeoA4`ie(>=Ko~>T?d;lre4nC_2#ALP5*Mx>apEl#r~=)|4v32 z?_Xcl;**d626SFhzVSU>pUxh+|BUvD_Qw2)za~BL&x5>pT~pr^RlU~wm(?59>(ni{ z*zBWn7~|)$!&bF&S6KOs!|$A6<)HUAH_7kM5BJlno=T5+KB9Gs?YE~N9r~#vo#m(S z9y`?J<9aXc+T~!Y*Zn$Mezb1H{W-=rdxr5s`#;LJ^i#bxe+lcBpIP}?IQa1==IaQ- z-yWKO?-$>7_v<(@|IO>09Q7x<&)(vtZj-zpv-K6~%kh!(3atlAFVi#JQ~xWhudp8+ z>A&x!=hogc$LEwMsQgaydKUS~r|{FCn!cYjB}98enB{Y^|L&mlQGF^4{l2m6ZF;3{ zSM)P%hqN#C*Lt?({CS+|t+1f{>~p+-BD!F?e!Z@A`3)>b>ZyGN-uFU#Sovn|o=VeG z{Rrg#?OCG4}7s)^MAwrKc}2x z?Nk2cCbLYR0biJ%6}IQJ0srKG3Wjymqqn#Cl4tg>$;bTHL%vz>cD%{wO;k#z<|B2;TavvRI<-+*%|31j)If)zZ{Ww9%tqHMy ziuEP>X}V9j=JUk+lc;Zbd1iiJJ>=i+>kRvb7C$W`FRebG6Q@%%9P&|fyrqSU+eP(4{j0`hK^v#SImqJtiF(9g-E*LL<-+Q(;^(?2RsFU0 zUsd0vr^0IQaaei@%3pph??Ej;2$yVOw_=RzsI z^=|*}Hf~hp`v{^ZZeGMUrHAp^JT>reR-YJ<2c0r$L^_M zUE`np7n~18d_L!WrtH7ypK#ph>Dz~W_cZl>3;KtAy%^tf_vvihjrB;+!@8r5cbV5u zeosZ7PDmf$6Zh@i&WFYIbMdgojdJJGWM|o3{&fuXJnnA~+l2NE^Q%~%m5b_md8qFa zmP@B7m-cV!?Jd9B^bK@t2dUeBn6+Drk9kjCUn=~%-s0=qalRE+zU}*{nLB!GD}UW< zOTFoz8eig0+1SeYHu&!>KZg07Vcy3)`y6WrlB;|d^T~J$s~*REFeqR!9~V9G>)ngDqquw}*ZdHbPx*EwenH*8W8t*M_(D5~uLx=1H?cm- z=j)^YVfcfY7XH!O?V`a}p0AGpo0mgAjn9-9hsF2rp!_ZEqZjoG@q*o!{5ekAN;X*|;WReGzP zs-4vq)_A{OBdfn$FQ8p&hO_E<_L2TPiuyIdV*kYWOWS{y>z|~zjo0D)sO8hji}qAM z#CoN1gml&?+S%T#si?kBuAJQ1FNpOrJC)q=?P~*?`tJCgUUqw6e>qEA_qW6AE)$?TK!}OGWa8G>xeO^nC>$1Ia zeOK}6)~`-Cjz8mNreAV59K!ysBF`twF}8#9W%)Kf+MzkpWxi~kE~HZ~KKB!87w)q$ zzUGhW-%Wm&>rcJxe2V!|jPbL49SPq%K>nyF*LV1j?;o-Jwf|MKT=D&DJkRIh`TAmo zw@)aS%W^v;{(Ax{PtB)O_nY&rpQ2qUN9X;Go_c+;u9kn#4SrkRuT{A8SJtldew6j2 zi`QaEpC6c>za18ewX=Q75i(nhwjg}u-2tY)&Aho4_kZb4@i4$|5vl)(fK}p z=nvy`)DKyC;eFPxY#zQ3)+?E=`n#>rzfrF7m#V)PZQqf`dn$Q-3H>4Oy=Q%(9=xCT z`>hC9ajX0Fj#v+cwGI*Q*FXG}>9bA#ed*M_+Q96heK4&jDs29K;w&7-Q}Nk;vfkIy zbMfQ6IqDztzhrsw^T2m+vzmG-taD<5XAd*^qy2ov_T#V)l!xW#gncvh>pIsae?Jb3 zPwh_a@D*P_#yvtiV!t+r$T!xhna}gqHN9Kq`x_Yl@^e^;Yo4#e!=HN4^xbfGLd<)f zG&%BjHD0xBNxJ;6%ssov{Nk}~2`k)P{{4@bPval?sZY7*Y-g0CamvP3r03s5BxJj( zELp#C;|!B0{;eJ|{VhFvFP!bZB0r~5k?YHTmikf;`DK=l&W9#Wa(2nfJIJwfB^5qi zJ-6U*l(S0pzLh->ewO4&zU*N6!Mft3%uPM_UVh$0{%-glT+RGre{n-APpwm1`tnDy z-sk;feFw z5AU7i^{nJ9zV;_VyQujb-~Z0nm4kk9{%BYBr}Cebp3YCP|K#~eotLrp6Y8bq7w4IM zJ6Zb`%1hksuQDFa8)LpoyEXrUcE)?@f3kdA`ws818a;I#{rha{Ure9G*?LESF-z8;XIl8ro0#05UjB(b-N#xQ{TL5-_weo(Mz8YxtNV1e zX=U>6{U>4SPRwDL2i|+3>8<>!+yu?9i2Vuq2Qf^Y`~&$ZHDPVfv7h1ByY;;Tj?XN2 zeJ{H7uI0zh4X5sRc{qH3;_N|uUg2)YVdDL|G;fbwm-_Bd%dg2r4aa+nq<=Nt=o(jJ z`0j7be)10#UXZVM+InfRp2u|aFVbrNR_(#+S%`1#RPTT3y>AP%z3aQzF`w$S-J_E@ z=@;v(u;AdIS-v{teoW@3`1R}OeZ4Vy>gkyi{SVjBUf55l5wBGJylehk^(?f1wJYV{ z&Y7b8@^hOdw{JJr;|kX*KQ~>^T`=Ct#nQujbzW}6e4h;dq=%DVG(N%D-xghPYk%*N zwR^l*ih5S;2c@U=C%7jdA3x&!2D+E-U%RM{D1gD!r-UW zw4>;P@UL=xan3Necd5FZ)Nkpz&70xp`TS{pf^@Fu?=;Bz2|cfOEcFch46~l?e4f!Y z54UtfeT?;GedLJ2ddT=TPuIA)xZTdr$CbtDs$UzdW$9m%+dYg=N9J}6{<_uIlG`5n zW4*C@jrTlXviKSoCJ$r&vEt(Uk7AhpOZ~$8W5shA+@E7u_Zw*cMf=2-ZrD$@@(A~A zX?&-BC}$TxUsV5UFwAF*`(JEdnoq}k%NpkS5|)qV?~+rFUM_v>ALXy8{c8MQ@p?-S zm8bL;y|(b#D1X-T+W3~{IqUhveEr1k0b@DoyGZeO&3Nw(pPSxx{|(!reHTdj2-a>l z`@SCbP5t|0wdt$$rC&LI;|t#d7GF$P|7PfGU*9QI zKI5>`RXbO{d*=6F1U)Tdx@{ z#HvT{++^j|FNa!}uBhg#DLoW33;`LXJ!~I{d{!8yIi7qHV!RB*`o7}?sgLuBFc3d0W zwtN{eMb;x?uqqm zUZ?r0=GA;oKZwt%pFOW|k6&(bjh^`Dny&-@`v?GggI~fE$TDR z4X|9ee!jVX-__nDFuqWK!uq`V<>9?38|Sp25!M;(ykF+Jd}rm{GvDu6TyL{axbH#d z_&?0|t+D@h2<@bM6IGA2UYNR154Qa2eSkqetbT^^nP2&><<>p5KC1Ott%GX4RO_hP zAJzWQlEYf(#Cn^zYg}GC{a|{3`kmK53fp*-xOToDvH6qciLzJlgJb!s7pezOeq-sJ zzR2J{9w~{|chxfZj zTl+G4=DyjK(Js8wD&Er{+X}u;k-}}lW*a~)62t#e!cIP9{$VU7bUy0e_;JkJ6HRbKUZ^I68>Di zUbuL>(>N`;217kkds937{54D0_Q`M$z#3K`jE-}!`8b<6@yY*<@41}a+2SoNJ+8l9 z^7p@ko;CHydi00Bo_=g_m7WH7J=x$dKR5W<2L^|JYVZWVZ>4c(-|m)QWgo5H1 z6rYVR!Jn{l!#$U)Gri2cww1MW@z-2uN!)@3rdOPQr7IXeS2;EtZu-mbKX?SgxL?el zXDLUw^^w$l@7Fz^K8bpioXhuzE8Ji5a|`v{y4Y7`J+%38xR1u>hne4(3hR9GKLl-` zEOqM*FnfHMpR+8vY)_NB_wj_~pVy3^xSIU6h0#~MwWM@#KWc6trCXbv+Mla@WBs(Q zVEM0IP8`2(;mmF8&n4a8%kpjGjLr#!=jG^edgbyJ^Tpv6op0$8&)4E`t6Qx-2xc2u z{hI90ldS#;pO@U@Yq4Ec`2DMT)#nqw@b$v-llgj^xN>yqwdCg|H$P8j@%pBCaXr*N zm(CMwoY}H9^O3oY^7fjztMc_R)nA;0_vzFuhd@_4C+GJRW^VnF5QlaxJyaj!=N3+@ z`Qz}x`93!M5S*i+e(Vo9Z<_QTVMVSl&k?r7xgnk-{4MlfbItnsIjuFbEM~8~J`&J-5Ra zv@`B4m_k_JP0nHB`uOu9+Rrfl(C=$rs(DU4@6^5P@{<%E=kJTMb#vT%^aaz^`nA2^ zOS_UzyS91=kMUgmR(_cqyba@(s^e=NUVOG+llk}GLb+=ksD6(3tSN`@$+7&Dp7`F% z@0G{0D|Om^E; z{xavcle|A`{t)v8>$&cENj<;nTjIXn-^$nc?K#)=WQTt*FSL_ldh8FI ze`fs@#}W1i8qZX31?|1%)crP}FJx}>k4&E%{dY1dM_7Lr`_qyqXy*x1x1C?lyZB2> zw;X+74@;+9KdgN3i+WQWKb0Rn*Z6YpUo1U?_|6LUr5Vr8iRm0t>hIOa+}n6Rp7r;O zBh25qIiHu*b0Z(H{MIIKupjq$E}MS3?r$)9>YnxMX3}qTK0i#|hxz&~&aobD`r3JG z%^wn{^NTD$mYdEMSs3?npTqPLr+B(o(&kU0ov2-^e2ib~BC1~{wY~7jc zhwA(DhYhOhQ#m=do?TJRr+H>=Q1!%M>PEm%%*)@O3$^=sagOotM*nkS^+5Ga{oqSW zjE8#U|3AOWuEza`Zky=Gcxo-fZ`|m2ZOniFOsAjSHDyCoARaY8;oyPd>Gud4FVm z)qD~6EJR_QH`ji#eV@p_!^e0E>-=K;zIrS#4j+Cql82lla~STWjOk|{X7wVb?~(hj z7emy)zHdyA>#x4+QWJ*nr^M@9ieHmIaTcyU-hXR+`bDhA>+EXv zX<748PR_E*t7|z_Zc$VJk2^76iEHv&fNU>=$60HC0o4w$7t`;%%-W&uO%#7Q`g>*gU(EO65_gF|Pf(jZEdQ7%`Eft4-*H&^)BElAJ)x4j z&cDAPdkAVBS7E`+k9^x>(+(|WGT`EUNale+gjhF8_Mc;XY(d#xYi zy)D*Tey2~6>DIh=1n=+q{is1tSbi_aVdCPj>J94$<*A()+bikk;C&{hv&+FIPyT%z z{(YtKsa@9wm3~cFzCTrYjCsuLRMeCDiLP{O%B{V>mVCumIBp+SKU4Rwy-bgCP<$$X z$*ZegYF`g;V)oTJ^PByB@*8eo^b0OBsClfuPp9w5X+LFQZ{zEluiqzbo1-l}+}BU- zx7hq8sXkBtq<>H7sC@p8I_RPHnNIfm%DZ~_FaKQdAAa9g`%|kPVfNF0r1mKVwJ*G< z-yhb#j`pv$pQ-(1?F(vO`A^+V{$IU5Cmvw_h0eohUor9fi<`Bu=PmvFOL{+PZEt7o z+r|6#SGTlym-~IvkFlT0`lx-_i@kj9>)+s?$M0VayWh&8$9#jE<>#reFX!cIzgF)@ zwetGT^-%kX-~04-_vz?;t2zGtsxv%&UB8c}_r8wv`&J`8ebdiP5AA2&>G#>jc>T2h zHt|#AYwGD8|7GF&N1GkAzt+g}Y5(qSpUzl6Z-4X?i#Nu@Zl37n)kd-{FEb^N;PXFhz5=iA?>tNp|~e7<^m{`md3UHtq*@3-kaxX*@}K69=zsQ2LX zzTDN`em8sA*r&g(&&L&?S-kuAw0e4#xBpzP&z)b}^FbbV_2d4|dypURReQhY4R6=D zpE%y%x4p8TFgvd7C#*fL>?f=~{QtY32!59N6(MZ>MhIK~5yIwggs}M?A*}U&eV^3) zknr66kq|b&B!taB31Rb7LfHJ35H`Ohgw1~mVe?}`*xnBeVe@N3*!-IiHa{nX&EE-O z^Ls+r{GSju|EGM|{G#yO{G$*yKPiOGUkYLKm&%9Dj|$Jtp9*2~t3ufPs}MFnD}=2d z4Po=ULfHJT5H>$7gv}odVe`vESm%^gf6Pw{&&^*8Ve{KU*!;H;Ha{+e&7TWl^Xo#` z{JRjgb8R7P{$2>1-xtE>|Anymfgx=EU&{$~iA9~#2ukA|@Mr6FwoX$YI28p7tUhOqgq zA#DC@2%8@p!sgG0u=%wiZ2oNso1YuP=I@5E`Mn`*{%;7I9~{Ew4~MY%#UX6|aR{5A z9Kz-=hp_q0A#DD02%8@r!sbthu=&*?Z2ol!o1Y!R=5L3v`Q0IG<7x<-A0EQykB6}N zV6Yhp_qWA#DD82-`gtg>dfAhp_qeA#DDA2%DcD!shRXu=)KVZ2o@; z+dLqIZ9WjfHZKTan;(R*%@ab{<_jTg^M(+%`9lcXJR*c`J`ut;uL$9q^9y``Eq|XT zaW>Bgd|D@2S{SdR)V2;%PA<>Y=ld&f+q}un+3WiRTIY#j&^y-S@OMp)zDre`UUB?b z&$`CH-tRXH)-}H7fw3NTjv>5nTUWX9`_~HFzBl$^{rR*wU4`qKp3c+Mgt*VHugzN; zpJ0CbvdaIz)j#MheFay~*WJRou)5kwa&%5*S>sENV7c=Y%PL>{kINcgdbP;+IhNmE zlGnS3wfDN}rFN!$7p=2uzN38$r6X9^bQDkLM7ZD2^~5+_SGjfNmmaKV>~HnH+_K8i z{?oF?uPt6|pEz7wzrDQurR*hGo4&Q_BRR?k_glD+7S{*chY9q$rfcVKLiG5k-F zE4|d->Z+IG3$mYL{gz#Ij!5AZA)o8DX6M*1QMkN+B0cr~P+j%WIHCBG7sI;BjrUh$ zc{Rg!4=DSw+R~BS#>1`Oi`z+U@nim)deokNZSf`V|CJugo38XP2kR=ouKaPj%Nl=K z<0<`RjlZJ&n&s7FS@licWOuMPIw*XHpmzv=n?TDWI3KmU_e-}hNpJ(O-; zCJ4b3VFHx*YxV%WKZR zm2W{S$HmK!boy74zpQ#MYdq;ED7!ANJiV8D>RM(Og-`eASeI44+JodSt2~|Wh|f{z z+=0#~)b-ql&S~g8gU)r7I}f7sA36u2^Cmh65}$jB&xPnb$WML#L+3Jdo?=Cx2hqKx zwVk7y?9WNX=caUSX=%?Z>3q}w+PNj2?<#kWOy|#Zj%=&%t$pe|S-JCLIwz)cWI8_< zpFh+2ySkpE)A>7{_pyEO#OZvF&hP0wpU%_i+}c0=`9G~Y#pkTz^Flf=Snk}=%KpLX z#nPS+TiHMScbscn*+1C2$%^S8!n#y#`^fP=WxVhCQ}5Hq`{41uYP`>0*M0qX-#*^Q zjn5^-`}no()7G}nAMfk`x9{7>``q#V@_+ii{)#?FW`192Z}GXY_?%dLPHIJ;i;B-( ztvn~i@h_Cmf7&^z_}pDx&k@Gw7UOe;=0}J8$L9*`dTua22N<6tjL!|$c5c!9@}S>O zeU3Cfw;G?zG5}HTiTeLEZP4 z;`i93&)R-n$)M~J-WRW{J+$5%r>AuE{)pY%sCx&)I;6_!;|iMxXdYS<20c|DWv@7_ zd^j$Kzd`cBmHuHWmv*Se-(SAN+`u&(iS&S&1nR*uUmXKCZfuC=wpy5>Xa z*9MnYZe8Qg^zZRWue!!x)_BXBj?xpXs~pv*L-F1u&!>Fn--nbu!Me&-JiX_+tnnph zS>tcw-><7{eDy~d@Fu!u&(kYZ&~|o#b4HR6+eb` zm8X3-j?Zj=I>#K#mA_S2`LUe3##jHK@usfvm4030>7G47jq}=H)BN4+l2z|d$`AT? z=cTw`dct3p?R-*vpG3|38+6|~?vwN9t95R9MTKn~PW<=T@cr(i%ulv^HF3_w(^Sox7z%JWvvIx8*h2z*Jg)u`Cis|*Eh2Al-@B^{Wgg2 z3twpb3%9fL2f9B*@s?GO6%~I)$*F5T>dJ5ZZ(6qhT~YavoN}H@@9t7w#WZ ze=As<{8*p3ebm)2ki6Q`jnj$8Ro(NVa#mRKYlC%7U-?ve<;HcTTUYt|{*2=Pw?WmX zUZ=AE3hz1TySjSbriVS(I)uvA?voAcHu_Gk;_3VC@4v}@QG6wL3hrUzeUcye@2;-B zKkskFI@~bx2Wo~h_gR0NXa5}cOBMOd?+EX8D6DfL`tG;E@V#~Er+ircGpFwc>ABt4 z8}4fr|DzXJe{bJClie~G(|2r6eRVH#+@9^b)Lb7M`JCDJl;=%u&9LN_+^cQvd8~)R zy0`de{Y;+GGk56u443@elu5uD>vXiX?8>VJ1)C3$c4GbzU@a z6VI^cw|F=*mk&Sk7e*JIaFQ(4oCH@|qI4pXA@^>Ea>%wuk-GSClmH#C} zd@rb#<)`LzoNx5!bK?AnZv26-wtU8NlyAL96+f>{o}M?%sDI|R%wehezBttvLFuh{ zsU?IUxgfmS|tzi9Y=dHh`W(8hF? zcTBf_KJYR@z~u9XO7ztOs?g2an|A z0&d9mbkNNdKoe$QzSKY&?_Xnh}?5q1Lmi4`Y_iT|x-j68venGi=EtmJ+N!@dy`zQa?-#gHGGu9i{!t!cF&1bYvp|H-usQ>18%zo3plM?)XjnnG?4B~smO-+B% zHLuZqwd$|bfBo`vWR(_n4on$w?ugUi~*&mqx;XS`{_ES144?)RSdMXFem2P}byFCy3a-63= zk{iQVuF{LsDW|{cU2XYiK3RYM@q_8Jq%ifAJ>Jg0JH5Ex|5y5|UdPbfYzxPo+*5AzayOjNTsrtJ`wLPCd zgZW5Zx%f99XwQug@_jo|Jo`RU=Hr*#A%n~=dfw?lhBLS8lZ1;ukNHiH#3{bzr+m0v z`jV^fH`Qhbvpc@uo_}vKbEAK5`Kb6c?I}9SHGhupFXQ_^Jg2blb~b)0otiLp3%c<+ z*3bR-2kd#Ex478K%j7Qo{K@3vy}Nr%Kc%z%-X^czZiM0aHIE_)J&dp9jIY9puS-*t z(|x4n>xGvr|3y0Eub1}+C8y`gkNW+$^6w%sE&e6W!l~ysD(Q-6a$k24)sH9a3V()1~YId8J>WheP}_?W+`ha10ruTAvC^*F=m z@&3=R^Lyz-{}6|5Ul02^Js3Z8U-|E<#quY&F!{ZHY2`nvz44#D%F@v--OO3Ml2bg@ z2SICp+9z7^@QUAA`JDexv-kXwrhiZ0UtQ$G?M4}Wv*V3l(7xM<@1ied{9E(*sk_$8 zc_D&F`+B;&Pw%Wrmaf9~{lC=Rg?V@09`bp7>W=pFb@6SP&*wuukH0G{zNLlwF0J^b zmtZVE4vSCm1zVj;dt!cmm)T$I5PDu4)VlPtLVf>h1K z-}L!;b5HVRZfo!7-`?NiDXjgW8xFSmq;pW}Uo0HTPj-; zlrObI?IVi5abzzm@5Bk(erEXYn)J|fL46Nib`=y|@szJ}upFQ0g3@1h5Y&2-(v^PV zkK;>^m@a-jU)HeXYQM7_)OYEm|Ht`#wfO#S6RUqV-j%BFQ_;Ak`nP)iok;Be`tnqK z_3znPRzGc@D{<>~vHt#@+16fHblBGOu)mzAleu!~EG=JrE=2kKD)+xqx8eSl59Lq$ z@Tvy~O|W*Wu%PzgVrbuC$9FIv;&+ST=lS`M4EK_Xqm-e^l-o{|V`z&H1C{pW_kFB`cNO2G^XkVd@k<{&cgi z>YeyC-w<6;{h8v&@_uT%>4z-lfASAP{i!W|^*a+bw|qCAW>ER=<^5y9+T_LgmmIzK zXE3x|J+Ilns6Pn#YVOZly?ife;k?q*cUw4yE$h|Hhtd&L`x1QqAl8f2P07#SDSez* z^7T>WFDNwW>YeoY+ayGTT?AE+72nD=bqD%+kKkwd{cnl8euTxBe8r2Q#y309omBTzY7cS$ zC3-oiezCTA%5PKO&)nKhLN9$&R%_mE*Sl z`=~L$^emU(XZ&}H1=SwDeU9ayIMJv1ekz9ceQot~iIe?exK7FJq5e_dn~&Es{;$?C zmUW!cxK?gGBhJ_Vb$;S}mD5xCSlV@*A^v;1s&AU-sGLPtdsJA@1$WH9JDWH?mwzO< zRwe6Q>Uge`{`AZ(t=@dKbrH&s4gIdtm0pt1F#UunGpt?S==&AvqxPnLMs&$jdr-R? z_k`&oy5fs2DE>RWpP=?BxytVy-mj9rg6gl!LGi^yHGn4=|bOWzP5l z-QH6O>s4mA;J?XlkD>Gs-SUTZR6h?8Z07B^tT2`-O{L1*Go5zgoG9uK6+{ z=a&OIFAg~_>wa0)Z>?WxoL5-&PEhn1*7jWdF`w#(^@qX#Qay^H>>)X7mx9}Pze(+3 z*L=Mrae|^BfcJlC2fcrwe8*7l6-@KlGeK&lLrwm!R~OJw;dfi7u#lxS;H% z=ZdHMCNzH31~m>VpX#Rt)$WG(viXe0H(O5)>j!GTT3?9QQ#F1lpE0!eQBr@NF`O@$ z@_^N2^KVl3aK`>IbG`ESGfHlD{yuVrYx*neHh3$j^ss&h{h}Wq#Ha6`>wb#(-bsDeT;Co3{Cmp7{`W&BSLw#>Q(=|Uj@}>o!msNn zzk+?YFnOvE3d`Q=4`iQ5?x)>SH~HzJ{la>L$z5^boBjReJx3r}v{&l~Qg`cg3s2vS z^$hd+9A?#Y=_|iY?@uW#J1H!vcoV!|rv7E`TR(&qXZ^TK-b^P2PUsALZ+lsk8l4^m~4t z+Tx*pPqXrf`6O3-!}Is&g1j~EWqO%gJBQ`vDt_lYoy;8+r5DR7m#*YA^zYw2=IfR8 zUa}m`k206|{p^3wk9kyX&(zhHU-8BETe2RByWO8}Q2kT8{eKNLZq%m7itZm)%454* zasBN|d#<$S%KEgjJ*hum*&qCG_XoPyU|ha0pStt>y0qp&ngdTPJQ@3Wrc_tgZ|4+zTcG1PNGt(V4p<-+kfBMXQ7 ziEW;hR^K;JSN>)F?v>u_D0hE>>Ooy$UG?XEXRIIV>}ut@wE2nS#dfSMe|6QfuKY`z zkDprapGptyTi4Ytb>;u5^w&Dc9Dh!tu6os#Kd!HJjsH{G;Xg$W)u;dUe2(_xkor}P z(}Hy^kDr=f$)%9dahZru^Z@G;Md0OjNdQaHf|66M!Rj@ zZ}20mOxxnu9>1O4AHa1Ae!cJ;jo%UYRpG~HLjgxX!dY%tcdpyrjf13X@%t-&qg^L= zJAQrfBYv0L)7^{T1Ne=`?-93`d)gi1ZcGkwrSuSYchVKVZmvbz9k9FmyX)@W#_v7+ zKEm%)cO>XN@Vtjxl=O68xTAm{1^gH{EIr0eO^$V6x!=2Qkzy(B3*LUNRoV~mM1)Vw z;oPLZn~mRe{7Pwm(E7W%$pFv>fHnZM0iX@YXz;gz8&dBk*0p}(|5qBu)LqQ)3`cUu>1${*RYm|&~_0v(n zM>*ot@hc&GcQP9E(V&k8eKcrQpq&di26?{#&o02T3-IhhgfE0GE^_N97rTv;KO+1` zgvY@K;}GXkgfDlSBv-i2lE1)K*SXj5TZrFm{HEhqO0NUob&xj!&nDp61U#F7XA|&j z0-jC4vm4x`1_z#?jA~R2mkHhzdaA%4LCQs!+nk4Li}dqHyyuHdI#d(foD_Q zn(0*JZ)%P=LU=lUC4}!z?t<*QAp0(ar$L`-kTDH1rh#W#PP-d$ZgLOe-;={e$$h}@ z1AZTDHQhByrz1Qa;pus}ls@2|OdbUNLC_xr{Xx(lgscaV-b0{01lmKOJ>n+dw9 zzQ%81z5T(nKX?wpv)|!&Fv15T+$DKB>5|OEZ?x-@ya@P8(mk19?{NH%fV|_tcO3Zo zA$&Z3{qZ{~d9vQg_??Ppr{dWV(9Xbb7=FW(HmeK=ZA7vieyvtH4>HE!cRqfXK$lCP z%O3&%2sjq{T?+hC;Md~$^yCk)7<;5%_>IPoJ;5QGycM*Oc@PlN{`X2&*1o$!FC-{8|{4>DM@mm1=3&4Nkw-CQC5&jo`UjzRJ zzi;vT4!=d9eGi#G0RIs`m$s>&rfb&E@T&)W6~G4RM(L{QCh6+wZuJ|1wg%wZ`L7M& zn)RFDw+_Nh@mm+a^%33xzwOgS$qs3&bcgirq#f|~`0bRoNIRq*8~g&lj`;0@-!Jjo z6~Eo^+XKH};nxYjJ@MNMzrFGMHGaRrZ(sZl!0$l(4#KZnx-jXM&c<&#exF0_^t0cXPdc0vTamPMN7l{t z0Dq6{5d5m}t4w=ly=^v2@T*LF zXD7Mdp!Lp9z^@9w%JgW&JsPy55%*}&jt1@6>=Jh@Xvbz3;8%rTW!fjZ+VuggPj&@< zRrpn=eL?FBT3^umg4P$b`nYi>0KGdux!nAT2>#wxxgFYhw%;1rs3IRSvUMfyT`Ia0IL8i z(NGeNT;rA_mKP3B?(sch)J^WV1uTgq=X?^@gyUR;W0jmHj(08j2~=LY7YpTfc8OYFZ@Qk4@!Fg zRsmL~^P%f}(B?ze`Jl}Q?bFi!_>Fd-mVN_R1z4GWS?Y%0X!m955Wp(H%Jj$5o5_!* z65!oQi;5G{%_S;CCW^1MoW;zd`s7uGl#pjQE2q+5@7WLY$$X55w=AiUy@~E3Qq?#q)D3 z{t8$HSec%OG|vO=Jfw3TXy<`;RmBwi(05c!1VrBf+SQ<44cgV9T@BjRpiQj!G?@t6 z#EOpqs{kw02AD#3J)LhrIJcI^D*&4n=q)|IDqvfWuL;<}DCPd|Qjob&QH>D;R8hoAHu16=&$3;1oo zZ^!$~jQfpGm-wUt507C=4v#QO&Wr;6*#dobfj+lDpI4yI2Y&n+mY0RVe;Av%QAn8h zKkAY@FI`e3` z^3oN8S$4F4y8=(g0#7I4N8x>+Zvlxbt?s}jb4&rR@-mM`nP2R2Ja*#?JQILR2QC>) z&eQ^ZQGs59Eb%u4F8(G3daDAxO@ZDV_@xh;eL5F-x)*r*73iqe)oD#C(5DvYylz!G zJX@g8F3{%|=<^En`33sI0-amQ%3}%J#**I)D`7pScB|HfS%Rw*#(p_bbpl7wFv!^xg$}zXE+=fj+80A5)-@ zEzrjo=#vWcsRjDH0)2jgzE*wI%fpkruUJ&zDWTpfFU<@1EN_!GsLu;LUVjy|ivrJn zz-5!p1-yHKr#J8oW;nMm;u1dq_-}!;FOtpsf&N;P%pC(dan|Afzy}uS#6>61%of&% zkS?4uKllso#6#THt2wt9D%Zup$AIVOUI*fvdmY9C|L#%KjreMwJ|1{?&riIcr_Ug={}LjydQA(d!(xmB(6S?anHt2JZ7RP7eZ=aXsdv+zaWQQao4y2@kv(sOtL?~1rPbi_E-z_}{WzphAJGmn!W zq+I?KKZ;g&E1-ITb(~bCMxWj;Yl4lki4f50eY%kqB z-shFn_3-%ki59n1&vZTs^oAZE=5g7fiKkP~<^`N-72D<-*Cy^dFaN|Wb2k?7DFuA0 z$C*dAYsysnVp_sm0ayKR16*y5{AxQlL8&d;C+=;?>;ruc#2rK*czho6_?gFhfKL6} zAuesc3hEvIS2%MtgTmoY{Z=#O~(v5iv4G2tfg9NR5%uX_4Do0>k9 z(;x4Yyb1a@u-*KFjD8RJ-$&ecLB9sL+931Ga-R=+0)K${T?;hgL-DR(GvK`9;PcfJ z*8=!jz}YWt2Au6eWkLMPuIS%9o$aMP@Q3mHqEFC=eakMOG2LU=!hMjQXWjiwPs%@H zRqMxyxBnX7!T}HQb>7Ck6~LPTzxpJTNnCL$^Rsg@*9DL|{}ui@%ZvDU+*8SVI}6W< zAMSbX|3#YfP=D&&3v}lFcHCFUxEfRN*v-MS1-LJN5a3(*jom!KdmBb)A5MB(*im(+ z1LXXyb>hZ?&VK0>Kkj$(^_lH=Kabx59^z`hojslDb}!(hv(JAY{Jnu|+-Kg~G|t@D zfc-#MeIt+NF9U&7H_9Z=zKC;~A)ZcsK1BR4@Q(1&4V@bm(fh2Exj%x=xN76%Kk@g8 zn+H1aR)<0d;MAwZ2AEU8hUCBG#v~sXh;O$8?o~v(8Y8IB#jw@9TT{2u>ZqR{Zw34| zk8cV5VUKSIe3r-C1OE{CI}cc$AwCRuzH|ir8{l8Ai#t|;C-5P~!?X?EqtD4$iFtrw-TQKA;Oc{U5ueZY*$KE%YhIh^v6N1^bNynmkPVWl*6xzlX_fVTt>>7N2;enn@xr2h+a+H(PH;u@L$;`tEc zDR~-zPM%Kdr>-&ZS->}cKXn@bf6Mc<^gL&PXG`ELQ}XNpyd~<2>SrIMyTg&_A3*Qv zb=Vj90FQU`xNO37r+k6?%s@X4Jn0a$M<2JyQ@MWPt^u9$*>6k)&bT*TgS)>x|DTYT zX~5MFKjit(ZEXC*5mz#4PvNwuWD*zu#f7wpH~-P{HOJfJQ?J7vJrnmY;N($Uwj++4 ztE^#d>eicaE&({}kJ7rWfRp|w)Uls~hjii8NBHHCzuS;Bx9tMbk>3Nr-wbV&<=7QC zZ8CiW^oL9f{0Cu@$FisbuKw*N;A}gmGA-b2J41ckGtS1mz|&R#neHx_xIYQ{7^Jla z68RALSm3Jj#N{)L2hRSG>nam~Gu?~PSukHu`L;t`Wjzb>Z@I&{t+BW;2e@Ps-xh78 z9q6>fk;j<*HAWxf>3_q-dNA+>;Ag(h0R9bd=4&Kz#N8HUR|PzQFVTLW*<>H^(1w?g z4xHoTmB1%KXZ6FBBRi1Z-unP7U;29wfxnp_JJ=uY4*3s_f=^h$pFn{0doj+EhjG8f z8qTwz6XzI2Uv8?m6?up=FAKpl9k|Ae8NfL<(VnDBH_~Zmjs=V>{h6-X=CcL*Y~YeJ z*W&}%LSGJ?>Fx#{<^xx{j4L?{fscFyegpVBf{*iJjtit8h`e*IO8jNKOG%tOk3VI3 zCw);{_y(S*8+;q#hr{=t2$>vnt9>EZhw0Lulrt9XhHmpsDnpJRC>UGu&sz*Xm&E^*qBdY|N$e|8rHA&rf z!1pV}C9b%{WjFG-!u=uJt!;4^{2_6_1Kt@t%42un$|G^*i*eV$yVCu@-y3x4Ok8>V z#@AJ3E3cEX1It=?!vfx>fYbis=~uu97Vu7xE1o{+)9!c({T67XtL+fK1Z&i^EpfF+ z;??B^T2*^T=oZ?Q^&j9t$#)K-YRWap^;u z(w}tcM)|Tc=}L<@`DuUh$o`ZgyOA#Y6IZ!ZA&%A!h~I!YHC&DAb&QXi7|!*se-`lX zfO8z-8cT+a6V8?TJ>>HF6!D=QQrFPaPxm z9_P9l$1Li`^)AjCry^fmpXmgi=^p1gCzCHln32~V()(zr~?@Qg+o`?BL*0uGM_u#8*edE-} z6W0>-StvX0k+nox8)2=cou_kM>leUDe+XszE8tvv*|}Acue}hbzx`{_H zIn(Bh%*$){U|!(kK5%B{Zty%OVy$%w@VB5dKQxBvIRXLdo#j`#5p^B>l{e5iGZ48-gchqNd;9Mhm)33b{$6-FVolp193$b1g zThla_D(|9S1Nub7W!)psrC5I;Kl8$Mr;8z{ zGwjd);V#fSq7l$0ez73JQfiFsYe1V_1_=$^ug6Ek5 z{z<@P!w-@7Kj1E*S3xI!1N0<5wZKDMYedAgPBk64`r8@6)!#k~T>boP;9BP=u6}+l zaFrc#=`##I&qaFah4IdF}4t$=Gki#C4;h0 z<}wEZXTFH{_Vk}Um{ik=i@q7wxK8x^#Lomy`D!m5_uuH7<>Nm4N$qtK?~Zn*_9Cv(l=?gIW`0e`%JKUctK7w|U<_}c~i!vg+!0smJ4|H0#&zgILjeTX+K z;A1LFZaZy%C9f2zcj$OxCw1CuQzc&$Bo1FMzi}yJ!skZ$et+Sr2t% zvkg&43USG!HJnnRO%bPWa}4;&qq^6-5SKEWL*`@PX$_qI=exkA=MTX9d4A@1An?hn zpx$m2=qkeu!fuD4?YtExdR~sj;ISz648{`+Axb}HR0auxlUgYlqA8$Xe5BGe# z03QRMF{raAc${OwNRNL2`USwpf`@g6Wy*ZfJ`aLU`PxSw?|Ilq5vT9>GI+?({_RcR zH^FZA{0(c8z;8oYfADPLz6X99BBl2xF5B4fuZ9{v0daZn*V>>Hzoo+b^Z7_a`67MX zBdKc+o`s;R>?VP(zL7Zf+0o0%`+VS2L8tsfJkC4wxaLDT(>fCL>A;m1=}c=d=+6RI zTC;((&%Xlnxxke!ai)8Vm(O&k1HZ@D`Nx6JEASKN*vGz?_z~|W?j`WdFYpi-4{`A< z^gOJ4i-0#9kF}!~unBP0x03G@$U~fWura^H&zWXpG4Tmln{DOes!meoQMem@YtV^* z*fnze`A3cmd*pf@b& z)1-hm2d?_xs(`cI(YDhNw+-ldIXd)Xz%_1mEYLd@=#-;!+z+_Qj%kVBxj=sk`X7S! z-m;~&caD8K0`Crh4CmOiOFL#N|s+j&P=>e9eOXv=#gOIl#HE{RZTW0gvo97P#~o4_tFh;+kVl z0IqWp#I>I|2{`4mPoVtv7}Hz+3~i@CpI*RuHlrT)`{)}JmrVAb&uo_DefYEBS6R#k zuDr1C{TluAJjmy{4#^o+;F(*9JFh^W4_tau4#$PVTiM$CES!P43Hopy{#eXOuK@iT z$k#py>7DSM#J_-kQ-Mxgdmr3KkUr%90`20j;O~<-_pfn@o8;3PFbiu4z;8ob<&peb zgRXtUB7G0g?*ack5&xfF#9hOnKOE7Af&LiiPet_8&d0ZEK%Z5hFD%%Edq&!CV&0Xn z=E#@U0TzK@{s8x|_Cx*TS%Q{m%Zf{!e$GLg+TNV#Z&4=bgFycfxah=5KM(W;1v+uk zuK`_Yalh=F0uSwW=6d+10eBMVsq!j8H`VQiz*V;?lRnZH;HMno-vMucxWu>L%zTE! zP(NA6njo&mP^NV$_5piSIO=HOAiBE8e9wg+?#?C?1Dc4vZzxO8h(;AcJL z8HrE8(;asFQ)fFHK>T!%w*impLp$JV3vD5D6nr+;+m2o)s#=b#Kj~DU6BnKO3~7Kh zkj+iE+n^`+H23rTn(J|2o_1i~cS3%rfWIyB$hgxyt~_@3ap|{^XQa1}+V!j8{}6Ke zqJ4cw9DN1L*KJ|)S>GA}XWd&9K1pMbKLI~sJ>XsIqu<2-*G9l8XK%E}ZGbQEa&`bt zJwLe;`!&EjKnK==1A*@joOR$(;1?swlQ7?>-AGq|o7bi0IBx)+eLz=v%|Ka9f*r`u z@;V*mRcej$0WvV_5DWp5f z^Dx~p1$?Z>SvSUeoPI3r)(zhtzF{lup?jN827a2i`5nN?(+l5MyvO6G9FV$4fL9gl zd@*p&sh{-pbEl%Og$|S>8%|g)*m)9g*_pU_sPiRQ-{AN%75EY3a8_e0_;0}PKLj_l zw}JhE@4UW^LCml0FdS*IA6N%Gl%sa{EO6O;b^&L7*y0GRLxO*9fuChfevY}#P!?Rb zzYIL5p>8ve6FtuP&fUN@KO+CUg8ccw)sHO%uKX@4&`XdnI@3D(^vreK+Un})(jqjrPv^KzufEokP<(uG>JTZNJ&Zc={s0 z;vYUZoD(};Z3O&JB46TZj4@jH76%3T-K!kQl70{nN?iO6#sJHPiD&K~fb9_b~V zbKv^wc+}O8j+S`5Z;x-c9r~XFJ@Gi}I@R0r%;<8SD3H}d(vrc{od_h4b`?06b z#hU8&#-l#x8}KwMrLG0&#P?}{xf|*N)1k#0%fo@%p*4^MA3!Ljbvw=?qk8tu(=EtB@ z{xGb?t+@mGPvE4pytLoZ2lN@9&bsle$5~#)rRQwm>Idc)aE?bjqcQ<+!$+=sa4K0Nz$!r!p&4W9X+tNzpH7fv4fgt@;5oM%e! z0{=qrOXo!e`NSok_?{Oy_cHiP&{gHmxROs?bFS9N3+rm*9pP&MXI)(nIP=~eW86l- zcL#mUFZ?+`;PU6muX@XLsoUn@r~U&lw>la4KHzD!XW~xtIL}X>>2di*!(lh}hogO5 z`E1lpb(rJh&|c<4QXiG+KHlcfA#NYgC6jm;%y+&7y&>$NxifK%P0SQ4W16b>2vN6oOGp2Ty+V_SJR2JkLCF^;<6#nkE$(j{=)k6 zI%Gavh)Z1j#8o#q4dhMVTA? zXmire1(}?mQs!SEhwt!E=3jx6M>0v5Owx-od*WVI&WpPjWZvUtz6m*(dzn1HN*>81 zT{1~8%KQrF^fvB*wg4X0VU0($8|l<}Q}Ep6D75hdskZI zIn8CR{x2}L0vBCl2klHcb!Y^hZ-7&WCd85MN&9DRec%o12ip=?J0-vLdP_Nrkw?k6g#~<30WYCHRsY$rfHx`N z%?o&|0^SC=_AH2NO`AAna!%T=z~8ZeGhYp{PxOmjVOP*u$96;B_XEy4b{Fu@z_nLS znJh=HX~ev|Is$Z%_ztxt~UE@AueUUjdj`% zd!S#04o}?+f5GE#Vtutg@YbMj*#!Ftz}G?@8~-KF6ak-IkTVy!Y&8$KY(<$jVDE!@ zpYM67+rk1*1IT2*@j7Jg4*u=nPre1b8R+!KXop4MS3PWr_QU-+=9m1m&q5!U_#%&= zk9i#F)S309;#Zcg?68lIOWlZ{jd!M)7V$xo61Oh+iGPK&H!M@)C-0QlyOzLR{miuh z56{f0jOM`KrdGQHo(zOjv$L%bbu*@3v) zPDjtfcGSt!>BEyQf19}cVa8P(-w(L-C!IKL%k@CkNzSJ_K+j_R{M(aeEAo(^HY5+* z!pWUrE7Zdt_)h!j9@iQp>8oPTk?(F0KYw<3H>Vfok5%CR1~L!hJ4e8K0_WcJWxzWZ zbn9NgNtaDXFXGxWC0(}a9mOruiPLUe4?nDZ;yy;Y{X9SE1A+I%`v~8HPW(8$C-|es zJGDvk^YEPeOxiec?e@gD0$lba|C56gw=?L(@82?W`v4yTT zbm>N1`%q(nPiTR65+P?i@XddZeGuTJ{{j1G+;f}&eADA?9fR~y(1CQ~qkY^-z&|<_ zV<_U1e^e#b{5^gE;?4rjeCgaB@f|zh-A_-~`90Eg-jBH6yCkl6Es5)VAaR`oB(C#; z#H-)y1pdN>SO-Hr90=WZ#GdJVq)S`TK3tcW4qWr=sh-aAngLvPBQCq?+}eP>;47hy z73a1`q%-U4lpPcI4e0bOIhMJ- z!3&u`9BK1Y;`Mt3oO0F#567%s(eJT;BhGgu`R?%l$JP13cUhME|Jk3f`%b6e{;4o^ z$Uug}Q07r<*^p6?E49tSoHb&k=rnD!gEcxJqaP&+Gc63`h7mneSP-5e!gDty5G-d*L~gB{rCC*eAi+9;WI_t$4Te?y$ewn z>D<@oxrjlut=1W`)*0pHyUF4{@I8npjsbNf_v2uEJK`BeUg|tX8gV@4cpR*K%_La+ znkleiV0}M<<160Fpsskx^v`v2DeAKI9?a7fIM+Zu^B1Ms;f^)odFeM`r#M%_o_)Ox z_E%%mXLC!d@8G?@PXxEs%3f!DDOF*bIA??M0S`U&qF zvR?lUeMd6XtIt^bES#1{Z#`(ax&H zIHA3sXU;brF5~;ZY|mF=e>uwHIN|$}w9&Jj)YZ1sweKi$e#o*X%jO)E%j+{2eGtcc z;1A&7cDK#hbE{If<}1|0L;XZ&a6{U*5C@;(J#iu^pr z`!To$y2cN6j@yIKvr)H+%flFMg^k8c8(3qe1FU1X zdIjv|e*`vK2gbl!i^!}y`^>BDUdeW6kpFhQW5W8Vd*0>_``Bmz)*S?9Y>y5N|V-4Q#vp64k zPdNTzJkjjHwAYxSJ)dc3eW#%7dffpC6L_YA@1b07@&5=u$=^i1o;Uxj*Dt~J^P7Rt zwwbt&Ks_E~SkpH&hU2{xasKlKoWovuS(t-+v5&Y0%z2%To&1g9E72yr4#0T%9GCii zHMR@!Y(KAOl5a%2iFq%n19_>p*}WceL1Wklk!!tfd2fc!^E+ODW4T$mcs~Ui`6OfR zuXQaY$JYxsd?t<0dgVL42(0Jp$a-e41gvZCmt$=2|1##tv)o^ zW5_D7<|A42oy;|gW2zdgHHxfbj9M_u;us^#zRuZ`y}kU?Uhe{sHEv`5BVjx+2Kgt; zhVfJ9`p{s^G0D7o9(x_e?U$M}qOy;KwmS0PVO*6$zaPh$9Ak~J*SgL2yr~7pw6HJ5 z*wFb1nQPiD=4Uq6b97VuE}zcPn&F3a=Y5tIu-YmU%za9Ht_@aS&_->-KGO5&Wcg_Y z%MV%hZD6$tS=Wj=2e;!mb`Wt=XIt@Dl&o>y0ajmkg4Gv|Gq5J!8J=e#>mEH$nL^!b zu>XQR%Vk}9-oeUCU3uw8bG*;llfACI)Rp&E^d;MT8_Mmsyc}a>)@wKP0jHCt4?3MJ zec0(_=_5`jOCNJOS^Bus$ONwZ;FkyYO*u+|VBV;}u~INzbJXM<_4HX*A` zXrnc!+u4xipDg>#+|*dg0c$L!;r#Blx5N5LUE_++GiYpZ|HW_koOcD*K-jR~`RoB% z&mI(kHC9W&@?QqlGXP{=3n~X|%^_%; zWcj%e_2OE}^N~4NJ2-#e^U=VpBbK^Y=Xp>i^jh;-3BAtwY(_h4?yz6<9A*P-)OTd{ z3)l0-pTW5Ve3CynkskdFycIFj-Ix(g8Xxl#o<{;VBCq`4g}I>inPX$@tdC*;0^S1q zb>L>$tL`me)t#)mAF^Y!AHp7&!l(1n z0K66ZxFi1=MgIb~S`0Z?VvM^OI>5R=LS~!rT|%BO=$dLN+T_wF@jM6e?uP#Ke*6dX z_~8-oelXt)coo-LdEJcMduG^2kZ0rAL;5*5uNj0r*LnK?IhgC1p8wp9{OoHK6Om`2 zUlJe3II{S;hIhO8Y4bGBe`!x$?b!pSAFfM%j{6k*ygK@hA$2nU~e-qabwt?xN>kro%mMb0vGdAAa8V0Le>a^j0 zfx5~aG5b@l3U!g6G1Iwk9S7^Z_(@~F7e8e-d@ue5v~wGdfmgy$W?qPad07|6!)paO zrnBAh9Tzz+aa`uO+?YNqz--$}_~AWI)$suSw(8emj#oq1*kcUaa9!dnSBH2m#JIZ4 znC*G5@fKX9{3iGf*mKPHforW?KKH`d)IRKYoj27%S3C`1#l!Dw=)9&G%y!^$3+pRC zEvC~y>nlA6th}vYt(j!4rL0%OU(=$(PoV9g(?8pXvFTWdtZ~=@8^y-FnfOlHD&*xD z8#p&D`Xrd+;k5g3E)DKp5HI{hv?Z z+#Goso5p01E0=Ah`1@Q8Y)_R%R$25}cO1Sg0H3s%&wjAlhwUt%17NiY`$9g+@<~?w z^#4V)`Jzvv&7jNwAXxrO!16x~mj7C?{FCLMEdR8ZPtK{=dvPBEWgSAfi!p9Df?ooE zALn4kQFVuv0y2oL! zF;CWg4PHwunFw?F0P_BM5w2Im&m?SEuNq^OOI_uX^^Kh=v*)~^t~pC)A8~$U=BN6I ztoE<9{T;u&v>||d)+%d~d;+(PYQz5qI6YvdKFk>Sx1y?xx zD#z7e#aRnhocXTqWZx$G7BOSfca0dsZd{AwyCHSXe*_|3(h(S({Ey|8$6d5c4G$oR7MYXMu;U?mR{!>-e0kb0yaOdp%ea zEid_Q^Z8T{u05Jge!}$XbJL?i)5*i8=Yq#fCy$%HVh^r`T@zv>9}6C_*f?j$z?y60 zV2#^Ju*M8oV}>!8W#KzK=9By&nEC=d=lq1}Y?*XF)!LtBw|f~l{-dev(> z`6<)Cg5$JbnNI#KxEwweCs}iZthqy0%w)w()_d_}t+8ZXvm)#JT8!-w;z_IvF_Vu6 zQ-Aw-+;1|SJkRu1xF7T`)5+(Xe)YelM;|bqe5vX8Voh6XI{60EU+YebzGXW3JEkA{ z9rpF6lYeabnfT`IFHI-^2HcXBY7?^BimbYm*`D0zR-o==j$7*5AF;mIX5%{Nb)g-| zx!@{i&ua_(2EtX)Y5$8$uqK#2`TJy7R<+AZU1ilmXMb^ht^;d~H8{P|>CDUf6x?@^ znV0+hW@kgzIOKjochw3T}9K$HKymkgm+6#C*N%PyTI+HlkYSA?SpC2!={sa zO>f7!z<$%o|7-gACo`g#O(!2V{TsO6IAJ>Z@1~!$EiF3nh7dpb6fooe5yt;q)5&L< zejnz`MW&PA59YCf#v57Vunldcu}59wfy{RY*uO06rA#~-X^OP8|1hJd+E+tk>%ghw}mI3Dv^wEuYF2Z#3)utD0!?V<;lW#G- zV<)avnNGgb^nd*)u6>(M-evk1Ve`1@wHF>qurp z{;TO(rTFggO`-1O8DQ3Z4)}D_$!D5AhrE$LYkC6D7p*s) zywUU%F#flhPQKgpyD@&gXFBwpKtm_C*$`WOebGz`sf$&Uajfm)uzAqR;<;glW#S>63-ZK zHJyBy>0Jx(-n8lD?|?h8UVRt)wSC}j;~_BbTk+Yg#wI*>1J-xr`!iDOSRYvHSP$|} zVr^g2%xl27wt(a33gZFX=jAt8a+0aMWaTAm4eUc+uFoqiulBRF(YY1Xf^M}c+D zNL}YsWF2>r>2q=>&WYeh`+c(Z-L%p18_QDO0r2!Y6kz$M&41%M{CIAtJ9!762#9V=CsAJ_Tkw^PU6uHPV?^`=iXl zRGd85{_NNBox@v#fAvuh@~Yi(V6S#td2H~1AM6>w-t}Ody7ow2?}pI-5{$Pl*wc^N zoHmN57G?397~B_gzpU#dw9z;8$c*Q8_{n$ikma)o%=TwHmwpWhR%2@k+&AC_NfEwoQ3?I+rl@T8IS71cz$pu-ZA|5 z5GUL4L}T4UX@Cu5V81hF^PuFAX~VUJ{mZefe(Z*>_Uv)o=a}C%ls#E<3Y#6#=Lhh;&igg8Ut(oQdgX0#XuYBRy&h*J)C*zAIn;l4_z^Eol$JmX~THPnmf$PF~;AiDT1ysM%EZ( zS@g*^8jIj#oNC&yl`<2tbBR|8n_kQGm(*>IdUJDV2pv`^H1 zCZ1Dzy#?bIy4HtQXG2}>!1!g;=4`lc;(9)Xvpv(Wk~3b@fG^<0|vR@k3V3WR+FzY^GdZ>MD!h3sqmxMt*3cxk;AJV*|BY zt?9gu&G(Bd&cZS9M{(^7x?*O3Y0Na3&bFcreKIeZZOh~5MzGqJ_G$;R<{E9(w#{Ib zMZOo$D$plc-%uj^@uO=pY=79rlK{Rroj>e%7@4B{L| z_q#it&SL}q7T9mw!hJMducN*Cq8s+|+2gp+F>Tb3)U{sqgY}F7neD?ir;X}MR-4d| z`j@);h2_dW+1seinO963G5x4d2f%7W#-rzLsH-0b!OA;q%)a39%=8>_`j}(3=f7~y z&hrb}t3Ah^&7|Wg$C)^X)EFacjL|2*)x7>caZUl9u`wRnklCL3V6`Fb-@vsp-cMvd z>U+^-&6gtBt53;l+Y<9h|GfXJb3p2PR+IK>|1z`Z+$T%t`k=m}F8|D{wk>yD0oFLL z0;`W`BR^#IW3{s(tM6*TYM(k|#?}Cq|3hjqEmQS*dB|5?M^M`g^y8zP<$BX)xzwy^&c^Lz3* zST!52nf!*8#xq%KMK{K}#_+iFIq7)HaptU4U*v$*7i6_nK3LC=@_h}y)BS<3V?Tm8 z`2O9M;7!MecB?m?ZE_8mZK$zLW;=5}cDzIP{VSUyl&iKa0c$>z)pul#hjOsSLj_pl zp$e>H2D0{*WaX^}D{n1WdFfwysjE%sUt9-f-b&6Ru-dQ@%)0QrgMQQwELYrtv8Oun z`05p0$Kx@1Gi;>OUTx9>*0~s2=UKGTxMjH-1GHgmyiU>zR%~R&UjkP9(_Tzn<+eGU zEWHD)x_5%*pEjyv59&C*uY|63yT|42b9wv0TIb2KC+nP!tY^T;dfsdRta-s>fYHow zj6t1o^0;LXtT@SP2l`>%`5Ytd)edCVm-B8Iton|C@?4(xxy>UXln3CmSo7?1jhHe%}2F+(T+89u4YPnqdym}_L^EjOL(e1$RB zX0mL^YM&}+&vP!e56^3=p{q~Hin-S8xpuK!`B7Pnhpc`ltKaLu@=2CY+GrhX0JFY~ zpX)!@eEtqsqtp4$IropemRnR1?0Kz{?V~m)Ykg~Wd0W65KdoTJ(*{;wlQjldU(d4X zfUZ93G>+GEu=^Fx*&GW{s8`iTBjmooH=)?SvSc*ycYo9S|)t6%!S^51XF zwqo~j?#|?^sc~utg@!hjHJvy`-{f@E}+o1C~?0CeO<6+G4xZ_D@PhCFA zs>_tw@EL5fY{;^qfAuw4HjF{-b|uEr+gIY<1k|0n@{+Z`Aj?lC-%qx2$lneT=Q}QP zO#k;@8vK_)R}9oozbaL(bdGI4%g19g+S5PVimcemz#6ONV2#xZu=<6pF;L}nve&hC z(Vk^-ywQftHM827G1NM)bKKyVy7s?~rgL01J7yjEJ0p3I;kei7t;URj<*L4IVAYGP z_{oZ&thJYMYOIo{$1ruf*2*|_Y(N{96`#L@b>D&YqR!(JvV2y9)nANR@le+|p--Lr zbbvKZ7$=$UN3$LHU9WS#i|gmkrrU83SnFgTSba^_I@xdb?4to=w)r4f<761Dydz+p zQ!@tMOX7IrT)yE-ytj_IOup850DseQJ6Z4DjJdML!RmLi+Lo+iEgqjMFLky9W1ckT znnTvL4zjL+kk$TEX3xBtr>6YejC(X6#r^9)?!kT*y84thijAz;Xd|EbWE&erVD(pt z<1)uwC-v@dxzj5gS2^ysFNL}0lR=rxy zp5vhnto?6?)9FWgr|E24>hjb54%V3Lfv(v4z?!FI%?q;TDg7%>=A9nHV8y_;)!Z3? zuD%#_%y`re!(f$5_T|!s>lp1-ZYjn*-@jY;L#+AchsO#04k7KyW6-s3&_?Y*mLIal zz&KcO%4a;Doj&C_6W3woGY71)^1<>`823TL! zg)vVvVwO$Aj8yzRuu=SE#mx6c`3@$(In#mbY^*QemFsi%WZCzjj$mE+?7m zEt(y_Cz;AS0M>XIba{utY9F%VCu?qwfR%R)th$UlebVVuPR~3&WuF6Y_gB2%P_3Z(xt@^+$i+THv>3_iSpkvzTxPq+X4capv9`8|?|2NXHFT`_<{N6A9 z$Yv9s@8a`~Td;o_Hl1xX0%km1pUFD@83U{R>oCXZhhvz!+F|@1ta&#HU3HuSE4Iwy zl+PUSbX(cH?Uz2rATYGAX+uotep1PR*t~Md7 zPdm(pb>Vs|z0>L4j(Z%_kFG6{)eiiP8@K9&i>*xH2P87(niOMWa;#&<13C;`C%Qkp3p{2 zUFGIre9FE7y84dm(gSu6sL|>4uX^#gLV4M4dPcX|*|Tj`E?MQa7{~iHu#S`4!0ML{ z$DLsHZ#P)|+XL3xPF6g9VEW-Vc>BR>t3j~l!Z4WY2Jgp_bv`}-W?rsEBVZjHjDh86 z+-%Y?ekL7HffZ-w8L2pPz=|^;tU4BfWnbd#sXz8n{QlR!V|+TBa%V$7Iu2<&HMP!A zSDRB;n^ZVI>_@FjRnQd=S#zJPxlh)7r_cR(53BYN_8rg_e=S)3!uVA#$I@Y(*YkPW zI_T5&a`U|bI%D8GY6Qz?GkD9%cn9+^)_L$JPr&n^-~o)cd4I$6pT>{9ofdt=_>)s< z(Syckga6w&4g7@h&eeEd##nW4fq$)6WX-`=u;OV0tBxID#mqYLIS^jM=`@|=ryHzx zAZz@@Y}Yz^%${S3JmVjD#|lh8np0%WBl`L5T>Lg4 zY#Lk)jbOD&GgxiX0#;wNnmuD9YdnxO2HL>NOIBZZfK^`}_v-k8@jS2s&sQG}F>8J3 zboPv2YY6vuTKAYY>vjA-5%Q9|i!-9%8Q*aR-VrmO8drRlfQ+FUZNjnf5qwX6#_z*5 zI{D-|h5D%5#V`#2*+v)^2<88*EdiA+D`<;C==DX%Tbsb~#_*p*5 z@;UGhKlINS2A$4%#Or>C$8jEkzkMFpxB0EAVY7i0v)Yil#{USI-|+w7YvH?0KRpM} zb%4j9YwV4KHGU?+n(t(-15;qe#yOZ-lA3E|jny2mZ1Nq`M(sw{80LEx`mR(at~Kd6 zpDdrW`3Ihv*^O$jF7z{w^|jHht3~FY=dEP_-BZ@$Jz8bz2E5rP9Jpou+vAJKIZgsr%yV4 z%ITT&LSHZ*#a8zQ_D80(o%4;U7dgGe>19qYcY1}>s~lGwAB4|Zr`I{X!Rd`oZ+3c% z(_5Y1=JXDycRIb>={-*Gb9%oq>#jZ`t6#|K3o?HXZhB2XUcJ*a0OqkJ-$Nnm*pkd+ zOTKS12-dtC25at=V4ui2&gUOSplgnkwT~DBPp<>crtbLE94E`?q_dxL_L=ijYdBf! zPurZ7PQC%hS1TtmPGF;Q^TCRZ=Mg%NBI{hE2sYZkmwfY(} zZsRnpjkHm{dcdkXZIqX+e(VGPd0luWle+3loxeTJW9G@slun;&p8>Gifj06#==5P@ z#zvO^k$2eWxnkPL4_R@NRj)Cy>NO5l3=Qe2=aXrpI2oJ#kU1uKABwE;K$ibW=YPui zr;XyIjr?bxnTkO^xev;5dOn!`E71-`V8veoR(;FBinAQ7dR2gxw+gJh)!;v0hwmc7 zC;8#qa1Md~ss$@=oiW?L;T^jAf;NhQtafMwt1PnW%l&T_E-D}U&#*6U&(4TW1UFk= z*0IIq2?DWFSun+DsLZbo=k*yZ2PU;w_!5?)-z@$XcO_E>AZI^Z1!xQ5%47?_^x?WPrxTR_o?*g^YAkcRt%G1#XRNg$+BnL>ii{hL2BHx zO>{26ekA`M{u@w7wdYpUjlY?GTzb$IXAb;moack37lHja*}XhHx)OQmpS&7;7sfW< ztK9%*48J}D-yZ2LiGzb%^)bn;1H z+MoY>d_Tc-@_S8x82lmA$yb2OEPjq*jw`hr{d^whN;jH4`E%yy^Ejvbl63G_O~3pN zTq81_{GjQd#(CDD>EvP4b#BOdk;hDb1$igUo;+pxW}KJh;8|YUlk>rh^JdK764S|L zrvC+XtT3HiW%`>~6FzP_`BSEUaBgUS`X{sfITy4}vMik^(uTa=^0tF-GoR$Im_CW~ z&@R)-4}tsL{4ICwPyeNVO^f!KJ^6t78E?qI_h>@h$%jnW`6=TezhQbC+Vk&bPtL%Y zrvJ$!cqR=@d-81XFqn1Z7^pxz8rxN1jd|wP`7-m8FF{`F8_`EsnNRW>(|?RUYBHVt z1=H_C-aAYux0}8meYDeb^24TIk9s|2I(fh8+cD;cOeeo=x~>B-PVyg2{{-6q?`BWV zI0onWIF`Px*Czk}zOMc=#u9Y;A(w-T&Pc5l)z){~M{L-L`DOOxE9lc~w2xQ- z{YJAPe-0e?`=+$`o7XI>6nwks&)}O;cbh%A%k)*q`>5&UJ>a@`l=Twy7tDtI5^Y@k z4eyBmf9}UV(d@~812eV=@f@2K+JT%4rv6>{Ji~PILg{E*UVC9(cpc{5rt7*2b@B&I zuR@NKL=y%`=*nBWV)^eF&^@u z>GvYGUzk1l*QV$F4(pQX^`zd4{yVCv%ly$q=ledAX>pCan zA$OU+@@Cu%FnjWksbdY-I?22jT#NZ)HsthU@r)_<`=37@-x~o>!sZV+*5dCBl5bpv zwK0k7Sk_itAG(d%Zat3s9QQl>0mp;RX4vT?P9JkT?zkKWTw4DpU0&8}tO4zV_}M1p zyTQ~yj_ck(GM)SrFz>&++mTFa|z`^-yTZ~DP` z8PV-#Pu^zwml0=|>Ewq@{}1HdV>)@S>AGJ)|K#UQ-+=f>&7S9bJQKTRhelY_dr zK4rU=!~S&W^hrJwO#N%HKi_on`%J$N^}WJ$^3`D82Uq)KmWFYndChO)ea`I3Uj$dp zN!jPT!~W){@y#)_CqDpYJR@j_@0d>hp6R*|!uZM0LFfGi#glLTwQrrm{&Cd&kY6=F zIq2)ROeaUjhjM=mo(ZOZ^2w&_-UM~>0_a6n7S}qCnU@myE}7ZCjJCbP{E)9U{Uhkd z8%!tPV)|axWsB+LJ567MzPR6X@-A=*%GEU`w$%?yu>Ud}@=w5gKJBN);kRjC!g<7Z z4`7{!PJZAld{@?N_&a5KFe5<(p2f zGhO!q87KL()Xk^b?JDeZ@36e&cFVgEywh~@!{BPSPwaR{Y`Sm7vd9DG=PATFY<|ci zrt7{W?a6!NIgU)`~@rbi0%YMw+jDr>bBv|ohBhIzA;TwH=*hN48szG4GL)d5!L*e5|ox-UmDltQc5U$pqzl;h_`tuBm#$4DJ#VofW++5-D(tnWWJ{^l;^H~u~Jx6j6Y3^wYc3LLlS zdf?j#c`c5+XhWUx#MkXzJQZNgW!mU|UzPdf7^?>Bn4By>wP4kYEI+hiJj`474p!Z% z>$&;{vqA9@`S_=>?iJ#E3H-C#a7;*hmD>nbxy@kR@1U+2sH;zzSMjr6I-YMa8^%fY zx{i}+uX{#hud6Q1D{cj=-`l{7vjeO?>U1{Uj(ePaANViV;TmEV<|$ZXmDfq+zu(z& z>`5PRI?qj{^E^UvlBM(bL_Fy7P8Fy0VW(%hvPPUf238%%joG%7?_l)>ZPezpVGJCf zQ((0lS$#@-wLe+?!gtoT|1>TB-fTavvFkqIQta!m`FOb3zXQ)sJa~3`bnh(8U)Xa^ z*p9iz_2JPkr+!=Teq*j7)b$&J)XDe25A*VO2Kg@MhD{mKx8Rd}H-1NZkMWx~;vS?i zZT^?#Vt}iC_#0L4{$coSxXiOsdM(=gFV}^BC#&E2d!5@}3BNs^#xBBs-Rad} z#ZU`Y47AUO{Y|j1gRVJC|96#U#A^lHWbS+M`_!=6jdqUe@SKV9U$ExC0Os#YvJLtE zZv*`3nGmx2olG0<rMA1wXp>-UxeM-^XZQ-|rTcB$mJ%%`W9lH(o`@k%hZA&hGE-m7kM*jW~j_qO7io6;F2cWO( z#iB7to9-69xe_~<8Qk1H&y2x7yO9%n=-3TON(_ff9r}iWd079n7=8*-y(l# z2kyVXz7zh{N8MnROIEosjUIXs$Gv#2gnZ43xE_M`zY=Y7;n#4z>loA>?e@dRQBU|} zJ4a83>xWfn|D}k5-?=4^eF4W$;2!vAJ8*wT{YgG&h`cYr|NZ!F0{)I9>n8OLPEOa9#TDgF%jt7h{>#QE;iF(zPB2>Y*_ z{>B~nwyEjw-5y2vof!O_d2fnYmuj=Q@jt?IarDEwa6FK&yFOLciOzrC+Vp4*@(#jA z@skxlxfH+a%DRx%p5!mC!8tYbDU_l6q0|`<_ao#@4~M=WD<1N#mX}=O{I@v!CD(@g zu*0xXY-GhoRt%YFV9gQgzqEcQD}M5vw$LwR#Yt9dWW`2SY-GhV0#-a^#Y6tw^`U>s zc^g7mQl1fB+qj`>&*}K z>)CGbGY(dqWW`BVoMgpGW}N)q30ZMYf>|!-4t2)%bHq@cw z7@&>nLRMYKnmc699hE!7d{Wog$btVE*W=keygN>Q7JW@#n#27Wep8?r`%UO2>%$x& z_dJ2$@PgiwojN9I12YD$8=YXa8(HnsX!b>$g3T26Ib+t(kSTT^b4s?S#_x}fZscYO)*L)lSD=%4j`@qaQg1pq3_r-Fo zv0&vbN1Vz_)|ery9V)CYY%A(Hc&9dF4(=6!xjwMJXrp64vX13w)7%!0f5;jSP1$ZWW`Tb zJY>Z~Ry<_ILsmSsX3zK8JC6&;Bz)eW4@^J&rbHW9?>4rAbu3+nyxPB$HJ0de`ZyE3 z{Hsyi*9~C$WZ#i_{KK*u!6&UskLOOavmtZ;`=>=XmcjaX^9%TWkn?dq1zl}ORvVJl zhGexHne&C~Fj-}h)rMrXAz5umRvVIYEl#r9uoWzyZD7@r%=i~nVE;Hjj4Rf+!)$nM zvlFcAjrX8!FF!9WItKT`yPZuBSo6Bi=|wnZVqfrjT0eC41zCMD0MCr)ydjRV`ef}E!0+>F>jOFtl=ofq)zcB%Q5dL*cJ`7e2JeK2k z>WWL!;@_!!-?{kxV&lup)1r?UpAY_|@m2Un&1bg-t2+OSj;6%D`jrqia*t=kPaYP1mtaIj+&DtZ~?D zJd<_aREl=wv)^aU!~W03#^2%9v(uBNv#)Q)7}jr;PeJdx7uWESx5Jf{iLtKp0wT1lGX16h(~df`MWd6e+J_pb(Bx)`fW9Sw_Nu8_PFX>gmUGR-!0d8 zAZt9(Mq`rS=GD7|W+F{u2S>F-IV~)qcTIVMn^F1AnlPPDPd3LG|a~$V8E^=JrxD3o=7+#~`Jz~9| z$ZyeT+?K8y@}`Xpp$RG@9BKW_|GGFw$1pDX(@eSK7Je5^mVw`DQ@l$*W&2sOLkq3 z{0Y-Dv7c3YHXw%SaRt8Se{f!cIo)SA?B7PS;T&mx2Wwolm>!R3u=aOtV2z~?u;wp) zYL1XKN62~?vJ*@{@pp8=^uyS?!5W9vXQtxsJU+F4@;+DZ8L4OI$a;414D1u1T@>yC zk%z#1wo}JTWF0S&b-YB@F%ntFMPwZpk#)?&=Rf6>oPqP-xo4w&!Ch_m&DXTR^22W~ z>A1RaPKtT$g?)r1>OtMrcVyj5=eVV=you<*2kEGF0ZuEBAjYyMGV|qw$N^gp{o730F>H72yaoUo8Tbyo8|8ktR zrnklE?df;LX=dPTv)$o$23>)2{UI#A$bWUz|Ra{$!l?r2imJ zA5GsMr+w+q#_68)=i;oXW{Zgfxl_Y~5Ivi* z?Htx`*zz6BXui?8WOT>rRK~aBG|K#ToMvV|5~s<`N8>anvo}s>Wz5@$y=oJoUaJzJ{p%7xj{jbt2>sBI7>u{CO)x+DE%8E}-joRa)13H4yuCgV>e-SA z_1TyR^=VCn`re*+Iksy{jK=AwBDC-Gi7>8) z6N}@&A55GVrz44XBRwH{CGiB#9g@*#;(c+xLzZtWQ5D<0nphd9|+kZ<>wspx%ltL z+uvs%^M!bOdAxlBo=|0+cw#-?#;?O#db6b)%XVFSW`%K?pB2XC$ys4s7G;I;SezB&D#;4tXF*ozzp|__&KGBeb)h^f ztP2-pg>|7KE36BZSz%qM$_nekimb3MRA=25m)~sVueb7Bto)5xoEM4c_AItrB5KPD z?X@i{tcM+0VLiM%E7YqqE7Yqii}gxG-C19b(}%LQ#%WL19dY_-)}3+Mm-U}+5m)Y}P$-I+%4IQmiu;??H=qB#t)`ja!_rTbz?|oJle)`mZt>=6zK%%=;C|Fz>6AVcuVs4D-G=8Rq?}WSIAL$uRHh zlVRRBB*VPFHW}u9V=~P9o04JPHzzsolX%KDjF*;VnC}~tVZOH}Ip34f?Mcq_WYm@n z^Ltw|%PvF|CZjz` z&f8?vpS(X#_a?s?rvu4v#p$!jo;V#$J{G6XC!dJZ;p9_sdN8>+PDhf@#OY}ACviHK z{8^m7njA)oH=MFLK2L~l%6pHaod?4#%))27`NToVcb5H9mZ`> zb{MyhW`}XxmmS9Kp6oDg`?JHi-J2c8?Lc-Ix6fvWaXXkD#_jXjVcZU9bKEAPgV`tJ z`V7{E>{)R-nq3s9W7((0>8shraXOxT22zaMY>vZ3lzD8ZNAlP(|8kCHJ#wQ{j^((^ zjn0YF6QasvOOP)YzkV0S}$ zW`=fHJTtUI`OMG`754W^`+HUV_uOc;>1*ROH(F=gH`w2Aw(VQ&@3-3a2HW0b+gmJc zGyP86-e%?9W!oL*ce`!hWA;02dzWqRw(Uo3`)Nz}nLhKxFb?uhwEfkIw!b(r< z+z{Wv+z{VLZisI*HyKUcN+xOe{ z4%^;k+q-T15!-&uwja0cCvE#_+umo}2jVn6dMPi=<2UT@Z|1Sxa-;L|L;M%UX>PRC zwwK%XO56TWeu)2a+rGm7ezk3{w(YgHz0S68uErpKzh95z!Tz9te@{dumM$m=>s(nu*bgi&2>XHZg0LUBpdjoADhk4Wpt2zB z2dWCfeqcpG*bh_}g#Ex}1z|r>TM+gGs|vz?pspb72kHyLexRWs><6wb2>XG?g0LUB zsUYkJnhU~yV0}T@54047{lLZo?gtW4Yr&d0y}e**2QT@!S!)^cfk#D z+F9_KIPEI9IZnF^n&R}Kf?MLWr{Le?^wEM_ zgBMbaCO6aavyZRGeN=_;j3B6#g(yD+~9< zX;tC=I9*ZrOq^C1{y0uAD?AXVwT1s1r>hE|i_^NopT%i?;R|uvP&gE)*A~7Qr;UZb zjMJM6Uy9S_!k6Q8ec>x{+EVzNINexyC{9}o569{4g-7DFt?+kox~=eNoOTrcAx`fu zd@W8p3;z_SU4?JNX?Nj7oIX_eCerli?Ly8ETrD~&%%epoh5p$WZzrMyahe-FeoD}v zJcV|-(bMsEdbBUz##3OH9=K{rzpT zpNh8=(LXGWW`%j2IV;TLKNYc`L{vE|tOr%I!g{b`R#*?JXNC3PvRPq0xFWVoMysscIxDw6E;or^ zRto#aYiEW1N#m?=oO08waK6zzD;%$^pLJUtf6J_J+|p|PZa05z=5L$%>o9+J$NsS2 zjO`Oqm({b|>e*x4kJ@&h)w|#Hy`~SC{;ajfptZ;I)*i#w9tW*GMyx$Xtv$x#_DJF> zmeBsMTilZt_gfZsG&}q~b9U&TWU(^8;Kp0 z2*)EIvhB-?cwCYjU2fa8MdA45ilWfItBS($$(8o^x}tEs;A-2hFXD9r9G}{DL(#Y6 z@wnEuuPx$r1RSs0_6>2Gz!RfkUNskS9_B{3n7+P<^CubIYTGSEoIknI2HW0P#QBqq zHraM-QP`i}Uc~(=j*CohD+=@aPTSsA#QB&T-DTSyMVybxXuECSUBvw}=7Vi_7OlZL zl#K4T?XIG=@p{-@6!y;#6-~w4Jw>bIw9o3Zrzos9{Y7ED*;^FWn}N8ViRjrlt^|I~ zBdin8$8ja1VXNmkr-pHU-l^d@=|bCnZ=B{v%WZq5ZGXtNFSqS0Z2L;vzS_1|+xA-9 zUT51k*!In~y~Vb-+V)+xz1_C&vF-b9dzWqRw(Uo3`>{BFoY$NFxaoUN4fFR&+wQk| zK5g6k%>EhMK49C=+4c*z{i1EZWa*ftubTgHEC2OV!@Qb2mGde$T69{N59h>bGCD6# z)1wPd<9JMu-W#V_M@+xkwpYj7$3<x>0#bIYI>jPdra>?J**FVPv<(28@&?S z;rzZh_*q;W{FE05KNl2-`d1W(e3ivvU8yP#>&lAau&z`WKN!bzS@FYhT3h^Rh_CqZ zIIS!Gew@}9|1eI|=7e@kSbDsr_glInPI0^B46YaW`s^8@eUFb*%)>K6{_U3DW9cK7 zK5gmSaf*JK%ludu=7xH9Tl&!4P~V=ptZ#bss@a`f66}gf!rzNaLVJ{yg!Wia658Y1 z*bdh(N`n7Jv%ksgo6T;03EMk8y4CDjO2Rt2v4rbqGHNXe>*nnx;k>S`BwSzJRub0B zj*@VF_3o0eK6Y7r-B#X1R^FZx_D?px3^#yw&W?)bh5RM+xXxpLG%vK<3vr6;o0cA& z7wS1OFVu5%Ua05Tyim_q=Y@VhIxk!w8J`#W|MhvH|0n0Me#z*qd11dY6_UTb=zZQnFM#M3-K#It^Wh^J+Kh-c&c5J&6$5XbHFLmX}M zLmb=Yhy7cJ#c}uiuz%~EANFru^TTzR?)l+5%tP}-zx2!x*I^!=AFiMF%@5a4_skF1 zPe&}yQHygdjx#qpV*0BV?@`-+Ew;n`zB4&aaKG=&u+FbKGpzG*S(*>EQJ zKZ)qtGsFID?99-9ubvs&Z~V+KUK0!GFNv>bguky^5dL1bAhcWkg3xXa3v9eD2<_Im zAhg>}3qrd!F9_|nenDurmIa~RHZBPL*Sa9I+wBWNyR|I{?Y3<}Xt$09q20PHj&6(N zA&aBO;&{~Jc;4)W&F-MtjhNkNY=`TSrJ=o&rJ=oYN<(|iEDi0IUmDu$&8pG!)^@$-VxaQs|W8jhbAmxlA{@>1^qao?>pwBJpoq5YamL;I~S4ei%b%J$2S z`bxt*eAes-&Hj0_ACB#k(ZSNto+G89T}Dg8JRd6!^ZeD)Fwe(J!#sbzG|baU^Z!<9 znCDZa;XX>VFx*GUTo~@JCKrbLt2qn9{neQZpN+>s{=(27Coen@ud~GqL%m8ChI%bn z80uBFFw|@D!Z0q%7lv_h!NM>uDi(%uQMoYGqiSIo7nj8;u1lU}e#^|SrI(cjz1Fr@ zm4)*9Oy6UAzv+9+LL38SA&zIuLL7r-A&%$ELL9?oA&!G(A&!x#JpUeYMQ4ua<>=c&p5=ua<>*9W4s;I&)E&*U3e1W1UP!Ig7%5k(rCaeUbb{;l9Yp zi;j+oI4O9g9M}?_Lz@*SRRvuk!4lqF-|GRL)SGt~mQ3 zQhfdD?2y0X?BMtAvxA?`vxA?mvxA@RvxA?9&JOMLsM+_KeZOt*we11RKWO^%rVpDw zV*04*uiEywZNDDd*@uo*B&kN(?u6Kv{cg1OL^qi$HS$fp|KIc8O zOGNYD!*wq`y5c>|kNehfnvCv=|DGOgsGy#RKJ;F;TW(Zv5%c9nYvVK--SoatUi14x zd#!(8Xs?#{h4$L`zR+GJmBDU7Ww0x&40ekvX@@7qmxlOjmj=64OM_kA(qLD=H27;+ z8vH$aaj@&VIN0sEIN0@H9PIX99P9=z4*m4(#i5@DFAn|m{KdDS9yqSKIP}xOi$gy} z%Yxs`Wx;Q9S@4^)EcoqufB1X%`@`QKdVl!)qo((nzQ^?b_gg&g5Ao!DAmpFn;g;{UyPF!zIDbHFcaxLS*`G(mQ)rNj7t_}TIQXA^KpqBlJ``u<& zRvY?rac$_&^4c)(E~pLjuA(-~yUN-y@2YCUyjxKl=3RAdSobfh4eNfr`E9T`ueCTE z<2Z3Y#r}R%952=>i*voj*;p$BlJ7@6s6l{z7B;`-_&oaD#1I`nIKa-b5YuYi|zz?~GI2x4k*& zkDLCarHh)lU%-8vreOcLrBB9bZnUo{w|vc z=R;ax=_zrVj4uCt81J{nDdx==Lix+Tz<83;Ya2tkZ)^ZJ~az+(tbaE#DmMZ?$xTrCTiB8mBl;*-U$!rz($dwI9=|pGy};5%mY!$nW0pQ{=_{5V ziPL0sbSu|2JfHBD;OD&dkiND(q>ueqNU#1n(`0nYePR0*OOIN5d}q+_-xbmqExqu; zu$}f$NcZh#it+dD&`zg39P~{+Oq0I88+R?CRZT?%(@!CbyW;_@CurVI-jlObKuvy~xJ>WjG zSq6U2_!97Yr-FSAxY_tB@FwFm;IA5A4}QV83H%4+FM$7IycwMPkF;nh(w+Fvda=y= z@SpXnNBXewYNWDR1D4H3uxvIto6XLq75ppw|NX!C9pse#4zPSOmCwD-W}ma!?`+6F z!GFei$k`lrHe}i0@$%`iGQcW}EE{q!^7I#^N10&7j8{;n>o^yzykzAiGw)&Kt#tOw zz`uvix|8XX{Z6L+v4!bTy|Z5pmj5+oQv#cf&SsOd*$jRPe%=imGTWuf_{~i3qY#cp+GvM>5;N4CqQ-2fs0jHCx&n`-jjyj!8eJS*8 zyqhNfWa{gnmpYwH{eI{xP5&Qb>LcKFrXO=^VCqHSt)^dLO#OQBZl{x}-v|AG)5+AI zgMJvSHaTiGEQ?H=e}XfzQe&9!=CEG>b{gskrcE`t)bvfp)V~g1=JKvIn`fYtY4b98 zo$0JQnR?;rsH5o@8B?zX?}V`115O7gib3Yr* zIxFjqo``u>G_9WAO(HuM_;cO0=%}1e=Y10fo;%ttZ4dW!!rV};^ybq(; zvcYUC&Lc8y24OQ7tUj9O>`Tp_KFPG7aR%BA%(=W2b9uS5U+L`0w6B2u8na&o`?bz~ zowFy?ejV($I-N{?JM`VAvmeRSpMieB>167EfqvBVc>I_?e=h2NY-opiW7=O2E_FJY z`cu%CgVlyBoeh~bZ@^{^_~&R7u61jj{W@n)rhQ2X-U4zqTg@h(J7#k&Y<7axFT0%m zZnKZu!R$L>zaPwgxeo1oz-&04$t?F}*c^2_nR@;_v|G=2~FnFcY$<(vXM9ikM?qup`LEq|hGWAW+cY?LQ+if=Syf&NP z!RCO|$;>-r0p1k^vrV}FJq*@ZI%@XSup!gF0X$*$JQm8v`-!YCZOF7a0GfL9ru`J`4?FuKV8wIP?AfPe+RtBz{U$DiGaj~o z0<3tl!ED=j9}1@ZRj{AuY)Z{09#>|w9X6HV`;eDw!g6Q7(%F;g^BLIJJNq?Y#Y0v+ zYaOoxGq!kN45puP_}K_nxtqai=Ph9Q*$P%(GV`8+@8)!Ym3Jptd3S-;hP%PaOJ?4s z$omXf{tuWn1i^FE5aJDmMaXTKXPpZlE6erH2gUz4>q9&+|+_y&aH z$p9;!1Xy|Jn$9`C%-L*y2g`mlzMG-_&OWgG&&^B4upF%MuoEo%{f;y6-4Dgn1g3w+ z(C&CASoP|4`jF#Muws~SdW3I)NY4Yyf3ee-IK9Sklj9-B6OQxn-4FR(;<(0fljBWb z#nbNe9Zv6c`jF!Z$9X5Yavj$=ZgSl2xYzNJ;|a%kc-MQnUXE)VH#u&1-0OJA@r2_% ze4k|6zvCLmO^(|g_c|VOJmENRmhRjq=EV}nOTqWqnzkG~T`yl`;Z-VE0I-0t)p;4few$9?W@F#95JR(jM6R#^v}KIHVn zVC@&kivOrF>owu*Gv=i1$+FKgW*g3RHe}f>aW*xMn;dTjD;~1)wmX|%$NRzB-wio^ z!g1ai!A~3;SoTYtz6`8#$tsu3^Vw}UpIzzfYaFk0+~m03aj)b3V3kEySwqfd!g1bQ z7e9D9ey7(sZgSl2cqdqSd!0Vy_z+lY-BHuyG2m>{N>Vm?V8+k3o#XT+PG9QuWnjfn z<7`$tn4>42EGiJXmaa`lL$#J{mUdQ{v zYTIW_=lVJ1Y>qg6!s%&e;yXa;QM4x)=eA%S+h>E-wt0@{I-4a3IuMaV~MZ(s7OBCdciLdmRrso^YI3>dJCl$22Jmh%7 zab8)ftWw8I9M?E*a@_8?*YS|!3CDShQe`c1T;sSNtTndD=^LHi?(|;ALykwC{e;tb z16%&H!PD*RxY*e&aeAfGYn)#1^d_fobb7nfyPUq;>AjBkI-4PCwAV^~wXQ zUP~O;IBs&>?zjuA_UU!{kmCu*d5c|Hj%yq@Ic|5{>v$hn3SRz1?xI;~~crj`PlSWjS67R?Ia{U+wfJr*8xwXZ70TY}%bom$T`0`d+6G zIepaW6Hbqoq{_+zYdjP?eTma6onGVgdZ#xzeWTOco!;g2UZ?MM`jFE{oj&38sNBU5 zo{rz?OPpTm^cttvJH5&28=cz%@(dkQ^Ug`82r`J2Z$>|%N-tP1+r|)#!>umNqeaPvfPCx8;!r4R@rs|ae z=K00RC#Oew;ORO#nz&?YI*+|KI=##BUdQ{vIxiRkD~1WjdGAi?o4}e! zOWzZ8j>9gn_B(qWk2;PjQhAFVw}R)UMbT@gq(@_p_g|DccT0O;D(@V}qf1kIba9F^ zz?vh)PM_;^GV9B>s&qEXz-p7Z%Tj*Gvfl|-eWNNoTZH&e#j}6Kj+ZSD{ksVLyWjXC z@ahkQYec8!;eOdADW69iC#qBWJjcr&cY)7BxeHKk#)ncdZ~Sm7w!N1In+>ozbXlr> z(k@T&9LF2M^!YUGcQ`%zNXmXK__t^`-rGIo^j$Tnn4fWc#BriFWitnSAN=s#e4f*n zJ6`Q<);fKY)3-Q%htqdCeV@~xarz;rA94DeD^js7_587vzS{8?FvswHXp?6gkAkPi z$*L3=gW1k$|HPPadZpNu)%{vB63u6Mixe4ow1eU1+~PP;l~Gsp2#$EzK0a=gRwvQMUB+YEkBCVrC=>*2;v zrS#QnQe|y&ydSJ~9&HHy_#L$W=C#4kH{qun{5RAkfot!3!CL=Ejd?9@@25lF*O9mQ zn!t-A+&2fS9rlBNZf$bd=^5AJd1TY)I$q{DT8Di>I(};cJ~P1bxyJEk$2%SGcYN4! z#&sz_a~&^pyvFfn@P5R(0Q=LOPT%kJQ84GieTeh0v&p#LmF0Mu<1R4s9!B1sPCx88 zqtW?sTnT301!-t=r!RB7+VL94n;dU;ywmZ1$A=wf+>nZ=7|a-MKn!!8zSQwD$Mt6a z2<%roeY4}8j`ur0>^SYlR16u8i^0cfTsghc>Gh7+I2-a+7;oH%Zge)AolTeH9gcT8 z-s^b3<59#Wb#Ywmc&_70$IBeoJ6_{>qvOqvyBzOyyx;L*#~C-J=JH(duh7ms z-kS&J{`y()GVt^~b-dQuY;^i&$6bzhI^OGezvE}XDtFZBhaF?_n2smI@&BXlO`xMF z+Wzh8?wQFl?mKQw3@W(cF0OP8q9`f~qPWo^QA9+r4tW`QIeC)2lDwL{hCBri`%I<}P&`fXdWsuKDR04bTNRU+l9!WL zlGl*ek=K)3Ln%LbDS0`0C44K6C7ky{505KcKZLI5jnEe%9zF}Lq4J^Y@~KA8vmtT-4e`9VlK$UQcdRNluHrh`f~CA$Q3u$vyHKa-X~o zuG_7i;?{#wpJH+wuCH;W6fY;QB(Ec{C%1-Ce)3ZCa`H;@8uB{wdh+6jB!4M+Ie8^{ z4S7Ae^|0hg!1b{gQ{1L_Da9R%ms8xOcqPSa$gSbB-(vDo@^bQea%%)_OI}J|PF_h~ zLtYQB!#Fw}_pR0=l#{%Kyp+6*yqr8qUQM1NuOqJ~w;rWBkhg>DYhpRYdr-WR;x*)T zX27N^%drwedVw zQ@n;eMP5gqCa)(q9+&!9# zN?uN00oQ%rh3kD)QW=lpbrfF?*W0EkUQcdKkvd1Tnp?E2I8F@K* z1zc}iN%0!;S}IdV@p|$GDx;>!@fz^lv5*&$7n7Hew}I=rl~cTuybAs)+A3Uw)lj^a z;&l`c;Ng8`68Dv9ir14HPf?x86Yy}`cd%_S#qGxU;TFDoPVqAGa`H;@YVsQL6nP!F z&~+Uu$!o}cxIV^!JWXYc8Iq@jy!2^_4~Ogh)=<2Tyq?^8Mz$>` zFD0)euOY7^uP3*jrJUrYr zK6xE^KweL7Jx4joOUcX0E6F|hR*c86Z~Nr-Y-tCF+=Yj8R}ailHE`WN_2i|`OT3)i zgNOSH=h)I0q)Z)oJ-PLwlqn{!AupaIWlG7*$t%fg$m_`K$&2SwPV#c{8uB{wdUER} z%0pg5UPoR}Zq1Wz%gHOrYsl-!YhKRI+q1*@8J;^ws?$UOVb39=d+luU?Td4!KM2k*5|)os+MMSCgm6?M2zou`ELW zFM;c}O_8VB7fYFinC&^RfX>!At@*i71ClAQg81wJtw@5uc{HC)%zdso~i56FAGC)*ahFW!Q@;e+fN>|#6@^4CeufZYE?;>iu- z)#NGiG`R|-yi1-W_sFZsQ{-uKBP}_L$V&avBoa@HtP?=J-DuqPoDl!;)$QcZE}Y^NnTAJz{7RdjS=i?hvf0e zoBb@$A(OvJnWEpb^_+ovR{tUK6nUE5_*2RhktfNk$y0EB?;N^rhcvnIm&A+6OW=Cj z(Dk;}e~YKceP!gz1mwz)c!Jy}Zv)@Z*k>GyyW}3ZPaedKO#3&W{Y&y>UuEP;a+RMg ze{s}QiAJ9b_u%>%tM-ukr1!z^r@;ArE$mkZNtq;h)ge;8;cz3nQHPBd79k7f$KW7 zIa-b@aje8`@@jH?U^aLE61vWlJWhNSJp6sT8}PffwvZQ`An_LD6(?rT#gGH=JK5lR z+p?1+X9Caq!|}L(4DSx$dcSSp8yfpq_&1NjGWVcNyHg}jEj(=h@O{>Da{JV5`FBv> zI8Ac;_?vn80rV1YB8G!3ZZKH?% zq=DQxTedACuYl`3p_`5Up^DCfa1RHoUvQoaJN+o85G9&Q^sPs+4u z^h{2QFDH+jPvyyL$(NI-FOXyRT8lfjc#^zXNwzPA-+!rU^as(l4HPfCP_`{bd~v`8m`Ah!jZU5o`&l(s!Ym+uHy-chpyu` z#T|;f6z+x9KAttzMdmT&Y#zR+kh$qNx@`7G8#^J@-EPU7R z-I<+lPsqc3+gs{WL|#H(MxG?ECilrx|coD^IikDE_p?Dd^ zljPOpDe{0kO|JS--Qc;pQM`!aHpNRQUPhiI_sFZseex7}K%Rz&=W#vGqkT{IJl>D< zn1<_m8uyAP;9DWP~7d6K-EJVl-+HwMtY$V#=t)t@{;UPNw_mykQ;W#le-lH4P&Cilrx6vYFIrzvg>m--ixmynl{C&{bHQ{-uKV+7?VFCll}x~&3R$dlyN*QUdq^W#T{~&Jn@p0vB`sZ5?3#aSIp10XZSg^TJp#O ziM#MzJ;{CY>V?_zzavko(VOC#e95bgdEhQw=SjiCXTq7^zeJvRP0HBh!6J#fi^Y?0 zoyVhi*%FD{OQn23u9iu>1fI*|OWY?9$lW?AP4 zmNlOJmXvYc5qHT`?@ByPZoDV)-~(~>p?HGaCNEkiWlG5Hk0fra&z|e>T}%;q3Ay@2 z$|uNE@bG;^_{_)nRJ@41guIMANnTB!B2SYW8z?_{33(a3828cPv4pPcmZW&-I$llj z&~@C0>vNi-ctG(q#nnbBUk2BCl5pKWt0|r$H$Ic{MdaQWlG7(orL)HvzV8U&x}I)> zxJT}j2juRTRGz%-+id>u`E7NhPeFU88vS*60N49XQ#`dTyY0rX{eR4QIOnH!W{)v^ zrd{%L*28DZ#xLUbACl8yN4djrPQ%}E=ioC^dcQ7tfOp0^uJ8_6dxG3156BhX1?ut& z&sMbi+DGZ9@TLGJA#@uEG=+sExn zFQq+2o+kHONS=UP;ctxT{0Z`s6D4OEc{O>OJaLlbvB|69x^4~d4UKCRb+VLCke9%9 zdE*rE)T!CF3O^H)CT}=Hau%H}IZNQ-ypb6r6fYxBl2?;E=SUuPo_K=Xxj^DBdC}!k z=MwTV@+5icN-3|dmYfN4o7^F{uaWW&xl8VmC-I@vu)l@t93QUFdqA#klz4)?8m_lZ zk*B*#dB2-@KB;Mv8Gq--OctFl+x>DNBs1i>1yUM6`Q za+lnL>*rcNc|fjwDU%?#$sKZ++#|PBR3CDe+#~nlx^D**SFcN+1i4M_kh|m_xlbOD zt2)Uayp;Uu%5wfLtY{OoH4dci}o`=sKrI@z8bLr?_2YW#*jaXwNoq{jAcV zxJ&LFmpvD2Q9f~k-+s}JpytFwd>*0NnI#=2- zL2i>f7f2bG+#~nN19H_`woQ=R| zxlbODyH{k}xfj|waTVnxcgQQQkvi9sH<0@`WOMq+xf~u|n?~Z?IbE~y_?|d--Ll>h zo~WSxk~`!sxkv7k2juD&$(bOx$sKZ++#~nN19EjMlSeYG1;j;_%R<_P%sB@yxpMl$rz8xMk`gwaJ{$95H!|>pPtiKO; zKFs=&`=H%6%6=QR$T_OYkL0dd&f$^VHPj_{j-)ub-&EoO`SN2VXK<{PQO(7j7UC{> zK(3CHGWN;h&MD$9dDWG&-^A5Y#%Av#afdw7RpK^zq8r7@oeGJ&NKbq_3K6yZ{4v;bla+};C zcga0+pFAK}2U31=o7^FH$vtwPJRnyGQGRlp+#z?#J#wEsAXf)desY`KA$Q3=a-TdP zSBFr3a+};Ccga0+pFAK}O(;LPP3|S6j87hryGKWJecmJY$pdnAjFeB1+vEW}TpKSy z-&V(FJ$$zlw2=C!HhFNolxcu((C;QrkhnTYJV9=gJLE38Pacq~mXwp+CU?kP za*y0656IQYl%L!tcgS7xD!6V3kK#UgK(0=qeUaPb4!KM2k^AHUxjL2dliTDDxl8Vm z`{V(+I*sy^+vE)lo${00*AMfu5Xa);a{_sD(nfLxtT`N>^!kK88@ z$kjQNhukK2$X#-eT%AjK$Zc|m+$HzOee!@@ok#h}ZE}a)CHKgE@_<~OPx;Aha);a{ z_sD(nfLvWb`N?f^hukIi$bIsFT(zeB1yClAQgWt5-XCU?kP za*y0656D$}%1>^SJLE38NA8mcI%wFZj(FYF1bhUlLzGL zO3F`elRM-txkv7k2jr>)m1AXk$qC%H}T zkh|nQc|fkFP)>52+#z?#19CN$@{rr)4!KM2k*jHxhukK2$X#-e+$Xo6lAI2?OYV{T zNks2So3a+lmA z_sIit^|a)%$sKZ++#~nN)iaVOL2i>fp9scPrM*;o7^FH$vtv+j_fxeS92wvfb0F* zp4=n%$pdob)3)R`xkK)g2jnV6dB|;Yr%uYa)_E@cwrHn~Ht zR#16zkK88@$kiLPExG@u!~=3~mBfAWfLyJXG70hqxc(l2{g$jb9r6meF5^%=R_UAX?d<#LKgK9cgaFvZE}a){Yl2A{j*%l+We7i&+z-vRphng%m0*pHIPUCl6bR555EW0hP(nE zp06-}E%|ct$lsKQybXD?f3kVP?>M(1S4J#1))M3{xkv7k2jt46JmfaHOYV{T*| zB&Q9pw6ecL!y$Lc?Uz=M@Ov3mjUIkad3nohJp3$r19{>U+14g^$$j#~X;MCMx||oA z+#~nN19EkSY?~mr$sKZ^JRom?hkYRY%(gm{a+2HRRjsJ}`Ba|VA$Q3=a-TdP_b!n0 z?!)zWJwn%OjDX^y>$qwyo*=i$9dehv*+tpo3O{q(hTMhg@2T0B$niSl9=T5*kgImG zZGzmtT;c(F;tGk|nL++A$YY(_6N6*&mfM9(h3SjgmV1+z zC?~m1?vT6W0lBKCJmfaHL++A$*wPC3aNp3cs<;d`IRGvdu=Wj*|^cN_8w@+$IL z@@CJ`w&WGFv+?k|fcgS6GpFAK} zt0*VAP42IjG6A{smc(6hkK88@$o;qFdG-!j{;k2kO_8HEn$7!4 zv}2x9E~o_y!5Z)dXp*l~XK+2Z6Z8e6z!WeKECp-9$KV?fDNt$;a3Dy4mf!-=23!uV z0k?pWU=c`xPry&$ltPpRSAv;f4cGv7fF5z|6TAoZ#i6wTt-uT54X_5R1BH9yYt`T~ z&d=7pD2kejE?EwaWr@##G z4)_l21g9NP55l(NAPFbzBl z)`RbwDD@{OJ`_I(oxq)7BzPLk1F^$!PQge}17?AKhbuJ+Ob4%m$PuUyI2E)7eZXk& zB$xqy1g9RU)DNJjsZxW%ehH;61vh{}U=COYHi3hS(5B!5&;~38>pIDXYhrmeSfjM9aSOqRU5&aE34(5T^ z!8%}^gf<3yf`dT<90yJZ=YSG$Ip_xN1Oq`5i~;k(aR0&fGwc#RLlY3MDQ3`3Gz-uF3<|x4Q7J{U@=$$-UnZU!%tW01ke@q0R6y& zU=ujy49o|>2BW|;;1!SpE5XO038w0%;6iXMCy1atv+fTJ$KH4d}`eZi-o9{dST zYln6Pmw>)t5O@}B2hA_Vcm|h%-ryln4d#K@z$)-P_!;~K3NJ%0a1n4oFVG)M1~b4b zU6FD?u5k1fPS`F2^_mKZABxD0MZs0rUrtgBmaoEC*Xa{7THr zpeq;%hJxXs8oUe|z)#>e@DGS~z&2oCa2O~8$AS~VY2a*dIk*Zq;65-2B*7zK5_lH; z1B$Q07zZbVIbaRg0@T&W4_bps;8pMe_yT+fc7ll=G4{YtP}vD>3pRmK*PyR;#@q@n z1(jejm<2urdtR&5LEs#4DHsMufwf>O_z5(<4s$>7z(VjY*aW@;CwIYE1)aey;6bn+ zYzE(gcGu(FgNfiN@ElkI-T@UiU@Uh<9{_tfm`}kupgR}}rhr*s0ay>tDMMce<=}oW z0!#-p!6NVp_#Au-F6)N=2Bw1fU=c`zZ$M!==0k7{I0F<`ppS#*;3RN5xEl-s!@-B( zQ*h8N_&I0`ZU%k9Nboe64VHtAUq9pgrgV#)0R-3a|!z2zG*hz`;E*W3_GBfu0e2fPXD!QWtyJ29Vui$PZ~1dIcd!82eP*aD2+ zn9o2{a27ZpbO#TB@!&TiuThIcOfS#ZdOa|59GjQKM7;|7OmA5E+bq397&!pxY44FW?a{A8ZGIg1zs@r5Lma*MlT@6ifk&!S`UF2e76F zW59B-1H@d6X>cm&2dcnJU?tcBegy53IL@IMqo5VI4)g_MfCpxS3oFs~U;r2eYQdY} zQ}8#)t3v++6oK@pMd>_VVwmo2X}x6!2~c5ybIFc=7-Q`;Bhb=JO@4k z--16t-ouzj!71Pz&<1n>W#Be&7kB{t0S*|BehE$m=Ym_oqhK~z4L$=qfiVI(!NcHL z@EQ0SL?6Mq0jGjipbfYjbOpV@I4}cj0Gq(xk7E7+oxt^=Cm0AOf>*%LAo>`_D>xq9 z3i^Xr!294waPUaf8MFms!A7tX3>}3&1U7;{z&@ifHo%GCX3!U`0Uv>1L1YZ(aZn1b z2G4^HU=!F0{s#Mx#k>fP24{kfpeuM3>;Tr|82{iB;DE=#b6^EH@(HvD=nr;)_&D?t za2dE33;}aN-jj%do58K%elQkH0<*!}U;{W{JoXQIgMpwHw4Z?d;4$EVnP4ec34Q>- zfITN-?gJNrYd~*sKX?kv1)qYi!C{lIJ^-yjC(svEf`#F~lQE9KPoTvV^iAM`4}mom z{T38~lfjvw7Z?nN0T0XruYwg|J%~=jTnsvZ+dv;M5LAO%U=DZ}?C})#3s!+2!QmdZ z0Z&%rDb;k;4QvEw)gTVmf@m$S-Jk>L3O0kh8MvPVRbU2q0r=qbr%?~k7F-Rgz&x-C z{0&+>gL4LM0DZs+unPPP_Ieic9cT-Bfk(kOFdNJVAAujh{xi`o;9^h)dIA?r0t>-X zuo7$rJHg+ea2Bo^pe?u+3;@%B^&Ikn!@<$uaWD}S&qhB7SAjWT1^5hX13!WjpU2z? zI)D*iDtH%s0d|1c3z(0=aiBH00$dA5gDK!?@E-UU?EfPAHJA@pf_K43;1|$z4#pHX zWiIvyJTM#V^AhG*&=m9oPlM;dI`BJaHV<_NRp1fuGcaDpcHj(93a$j*Ku^#QB*7!# z2{02Z1S#+l*Z~fikK+NYKnKtT+zy6P@n za4x|upbv1tGO!(}g}Aqi~I`nPu7?=oFfP|`25r~knF{CzdV_hO;2qQpRDdzy z4{+GKSet<>Kqt@*3<60o0*nUFf<+(&(%?JrCy2g>IRzXH+JkFAe{er|2s{R+f#<>N zzjKfpNy?La?J2}Xh^z$?H98$bh?{2}IHupVp! zzk>tU;kTjvu1J{9`U=SD$W`fn=UGNdu1b*Luw%dq$ zf`dSFa0<8tTmh~H13=zqxHf|(-~@0bxCYz~MuPF67R(24f~~;#9DNX+3C;r-f^skz zJOUU>0}(R)V*|2jC0vH7KaZSOF)3QZNiW3ElwP!47bK1NuA|2EGB^zeGE4M&AZEfgxZe zxZ*2}FR%n`0l$GGzQ)`FT7$0O4lopK0talt`~i*!=Yo#lHqZx52D8Ac;3M!0DB6m8 zf==LWFc16z_V@;KBd|exa5cCWi~_Sj3TyzsgUi3gen4OFD3}0V1U*>& zI3860fHwFMeFO{z9?1U*eHc`M(Vzy*21~#Suoip0Hna@ zU^|FK40R+p6I=m0fjhw6;0f>&_yBwZ_QV_Aqrvgu8qfFc?e)^TArM8GH-=1pDoSwgm0L9pE8w%)W-|2Ks;(LE(O=J2(QI0nP- zxEgc;cYy)mVK5TR0P{dS*b4S)f_@Fo1m}TLa1*!}3i@7~BAQfIGoJ;DX`6122H(-~;dp_yTMO5quEz7;qnW985agP)~tp!2<9xNQ0li zo<|t!0MH7QfDYg$@H05>NSs@66X*>Ff(O7b;Dc459()7xo1!0sYr$YJ5=;m4!A1~E z80rvk1ZWOU0%w5EU?Erowt_?v`Z=({rQk|%6SxiB397(!@HY4Wq`_C<53ui17z3aw zXbswe4xj?u4(uCJ_FK{L}56lMh!JA+m*aE%-e}ksS zpnrk3pd9o7y}?{i2UdYJ*am(D>R7ZTXbWxvcY-9C3zmQl;3r@;$2bA!fVQABxEWM{ zJHXxGaqt{?AJl{Iz;8gcK;H!iffnFOa1*!(33PT{;HWeKpm|P zR>vUM395-2rjAe}RZ}%eCDa&Iq{gaZ^*BmBfl}jDOEp2AtR|{cuySaHPo1Bmrl<>4 zwQ8+uREe5_*TB!HQZ-w(QO~Q3)Qjp;HCJ7xUc)D?e07ytt~#rgs*CzSU5^#Ujp|F) zRc%&|+NQdx?^HSdvgxgAhw83&s@v5cs;4rIJFp7rr3#EY)!ukDvJYN)G%@<%^ICUf zWpb}7Htti+jK1mwqn|q0=&xEE165mNuxf7%QJswY)ip*^-Czt=HyKsxR^vf+uQ5y| zjp3>akB1*J9#tcZk!rLtN=-AyD$jUa)fnSct?{IqVT@NZjfrZuF-6TWJoS=Mqvjd4 zYJ>5NikLI;N9<;)gUsi!(wVJJHJ?{!nJ=hI%okO;IY*5!=c>oemsGVmPc1cHRvXRv zSn4fMdDbiH0P9u!693m!iM2>wWG%+ZXQ{f@TBfeEe0+Yb4lAJL>OpIT8e_eo##t-X z)7EPBto4?fYpqd>thd!tYpq&ty`xrJ@2a)dd#b^DUwvtPpmtavs^6`3>JJO+x5&q; zF!G7oGxE9GJMx9vClaWABlT*(NP{{!@}+7L*{sfpe1(a#Fdm5PXFM1=*ccgUVvLC#YCIk}+?W_S(wGz}HYP`!8&e}KjOmdR zjhT^?jOQXPjd_uijroyNjaMS48H*#Q8%rbS7^@=Z8fzlw8Sg~SH`YZiFg8S58$rZ2 zzKWC>-$X7nzKfI^KSkOYzeg@IjA&aU7QNUgjJ7lOie75$7ro3lDB9jQB6_)zh+bhF z6}{4E9_?V96urtgIoioMJ$jANDtfI^61~o76YXML9KFG~EPA7HW%MTF>gdhJHBra7 zK3Znn5bb8%6fHNLXoXP`y~XGrz18Ru?QZmp-e%kp?P2tb-fj$u_B4h@?=Xf(dl`>K z?=;3ndmH1TcNvqTeT-?*yN#!!_ZUw{?=_x}-e}jKQ>^bAY*h@x-*h1r~*sI3XvDb`_u|-Cw*kYq|Y>Ck&w$!*j<{LM} zmK!(5-ZY%pD&y|hYUAG6TgH8{HAdgqdq%(5I%7cWV`E_KQ)5tUqcJ!Z7(-&4jr(I! zb7*W2vnsZy`A}?Mb9k(YIW|^gJ{ddK93MN*oESU7oD@6JoE$sJoDyqkPK%vt*2YdV zXT(l7XT{DiUx=M)z8q_1z7lI^E{SzCQ?X9w>#=Lhy4ZE*@>myhMeKU>^Vkh$5bJ7w z8*|K`VrAyOKc3xle!n}TFXp6*X2E6mgTwTZFx!a zj=Z5}pS()*zPu{4f8H>2aNa}a19`*E%DfTgLwS#wkK{dSj?NotK9M)d9G^GZoSZkt zoRT-zd@Ap8vnKBevo>#>IV0~$b7tOnb5`C2^M$;L=G?qV<|}!V&82x$%-8d#ns4My zGvCa6%3Pc0neXLQn;+)Yn4jd;nxEy(Fh9?G+WaE#8M8j`S#wL?OmlnQEc5%k=ghzJ zW}7Pi1v8TWq8ZDdV;1JmHTTMY$vhx`o_TQo%Vv}O`R1Yd3(O<)Uoo5JziJ+pzsNi$ zf3bOd{u1+){AK1@`M!BUe#*Qs|8?`y{5rEk{tB~8{u|~E`76zC`K!#^@>iRE^WQQD z=dUq`=D%w`l>eUjX#V@=WBKdMvH2gFPv(DYj?e$ZoRI&iIXQoWIW2#q>E(ZBPS5|` ztj+(zd@esQU&v3JbMiNt3-aqtKfl3Tng6A^I)AgdHvcR0z5K7u_4!-O4f$Kmjrrf0 z>HKfahWu^jm-*YxZ}Y!1zsvvL{4xIrb7%gK=I{AGnX!T$W`4m=v#{W2bH9RL%!3Mk zH4iKJ%{;Q;5A&#kKh0wc{x***_{Th%xMVb#XzS)uABY z>R3=yd)}t#JhhSknp)v}y_tvR*4V z*jiL@h_$$&iM6EQP-|(y5!SMTrdC}+!dhNXWW7;vl(n*;*m|qrXlrf33D!FWCtCvw zPqzjZo@os(Y-PEH=UT%G&$k{ew5=x#ORVvQ7g`evJ6Tf-J6lr=ud|*iyxyuVyveF5 zyxE#j=vYq|mRZjhcC%&`mRqw6E36j^Z?WbScDG(C>|woJc)PWru&1@Ku$T2};hol^ z!rs=B!n>?xg?+44VLz*`aFDg4u+myt_@K3_aG3R0;c)Bi!m-vng%hmz3MX416i&6) z6;880E}UU~QuwU3p>Uq{S>Xcfi^5l|uM1zb_KYvK_Kz>I4u~(cn#7k`$HslDWjtk_ z5no}Q9e>k0H~yA&Ui^LQg7}A)9bac%82`v>6aUz18~?<*B>t&&Y5agl`}l#8E8+)5 zI>Zl-Tpd3o(kXsaq;tG&A(Qo3jqTAy5B=tf(>HGl;LG|F1l;{3!F&3-Q;j zvgP*dVKv5rYj9_k`RSa;3{{k|X4hKk=!}h7iFNrdVl6YVfdgum?G)wZLJ z*_iLN^Rx}A);~QuW;On_{XN^x*C z&Da`bxg=vH_-V(Cg~yStvmDVBd>{1M%umDPxG`fAd+9(+b<4!|LB8zXHeRXitcNYt zJ@eD=+u{jS#(K5FeM`p1;ORnki|(K3BOm;gwi{p6cJV50{d?**7_>>p;<=w5{IHG% zp0;CiThx!#u^G*^h3^it=klg~b>`9m+Fq~F<(lo(c4n@o=UKYk>?ie4=kL^K=Bmea ztVPa-;V;Q$_cr<{y=~j+dW+7F=%2PI)<13knf~e7&2;RJr*v%bGuk??(c3O~NZTW; zwN0qkB}25l{J))IdwFkAaM_1c!0+SU%!7XCf%Y`HI#jy2C6 zTPyq(#q3WH&DFW*XdOG}iJaxybbIcse*T00X~n17=I4I;cdkuOYOmYsuUs#=GofQ2 zOx4>SnQNgnD|IZgPTRitdw|)RzKy>an6=0M)VBN`Z2`U~-1yU6Y~Cmx>y_JEyAyS+ zYj54_4r{7w^;)hMx5u-bY`%%rdW(5UUG5V6WyS1I-(RckoMZG)PcG8d_AUL>!y-D? zb&igmHc{{6!4FI|ATt_U;_N?=v42KrTlxW>!)0RAUp3XpjD6ACRF7xu+>NH1n6X7S z%PC6Fi^D9_5+krdpke z{q`}Q&1Y=mD*e-wI_epC$W=Pu^)t1FbJ&K=7NG?hlR5jYLAqVGovi2kbMZIivNPe_ z2%Z9EwrDY2mkVQ?|3^%IIs@ZqYi@5p{g1u%H!bx~CKi?}_%XaP9gbSU z!kQkPF{x=7JN|#fejjS8Q!=qPPt~^Kb6jUKv5#{0*BG-g_EpZV!%Tg4rra{bT4$^) z@?Dy-*XQBgPsW-&jwg;8I|t9jveqS~e=1oDU&h;&Ou4H&>oe2+Ro%zKa@jNOA(pM5 z#4akw6a37!-xc6_TgKl08Bd}z7XQ#xy)$;)S^BE+!9{u>a>dzvt=`9sOSSElkLR~~s!{LRWtOzJFk zkyvttUKRZEprzJlwrJJIYCIoOXQ@?HKfG^e*gBI@BaM$dMlnEXKFBhh^cqu3y?rFx9b{pT0a^o7CV^jO0@@KivZ>vQ`v9JnzoL z>m0+=;Ov=s z)X_)&SnFIBH^Y7QzF*iT&Y8*}6LuX!HsK@Wd!P<&)cI5ya`vrd! zG20pw%5?0VEA(;n#_ZEQQlxC6=_`M}rpkxzL| z$65~2wjHhUL?+82n@lw+V?XEVEEg7N`>~7eP5WN2t@{l+vz$veHv`LY$g#ijik^f?);sWR1~jJ=I@;u{$ohc)JV89VYHQ*F#xd%PF> zDq{;V^JmAPjD>$Nhi%LJRBAOmx6bZztDada_SP*q;%f_IQ8# zQzrA(+s(%PK9z5&-!ic?uGB3)=5lRquF&>nZk1cwLDwMju46|yhe_LqcWv1tYCqpp zduM*SAveGDK19zxm!GT0g49p8y|J6#ZwJp*hi0-!tI5?$ww3c1uFbO706F^!N7w3q z-w$>*%A^J|LglI}JxBUWScB|r7M43Yb3{_VU0vzq`WD{*W><$YxBuHVm3_#OOYL{n zesVi_ceRq=XrterD&8>X%a;xhp zx9NFpPA5GEpZ{Fn2TZ{lGkYJ!y0Ww&I=t=Q=jFi*@WbxmB}_9yzO1b5ADr%&lXk z=bW6o3zQbxRlEF^TPH5Zlf~>h=hrfQwMur?=R-1!?Y{p>Z?DLmx0bner_6+XbF0n8 zgY@YBw!gOVxpn6mxpn8Yxpik@ZrvHrtvh!$qNHa_OUepG+Eng(<($iT``@4QU7e%d zk7=3zc0W(b9Y*Wk`W)?Qy)peTeJ*?F+Dhg+ISVrTNL%gd49eNx{r!U6CCHtF+%L#E zk~<)|cab%r+zZM5k(?Ph=W>qzZR^T9Tke#kZ%B{W)!pLm@5^?7-sFBp%1Mhqn$-6~ za<_B&WPP{u#&~_VBmGpyxtx8u6Ops}Z|`yB&PMKbq<%6p$bFCWFsYU7SGJX({wH_a zdw0|KOwx09)k}8O52WWvfBEm6b9v(MZ^!ShTIk>2ElL~6eWQ%aU5zd2?f-vlD_Qf) zy{^pOa;9azl6xz;Bi+?K=kD)%cXh8TcfxWvD|aGt*CuNfS>4Fplbn6IJC>0my{Sp= zz3IR0r_vApZBLZ@?yy!TXYS-=WhAR5SwZc7wN!((UiN9qlyQ1R@mlWw_o3X=l>Kv0 zQ%=i0O_@JfZ&7l&ewuP`?wPbaotAZp%t$i795-HP+5HOT-rUOa|JxPH#~bzYA(@fn zD*nG;Wyox{tCi(`J@ooO)|j%gY&}drAswB2Lb|I}i?ps>adyA5+}>6{lacYetLFkT zrset7?#oF&*`lYZ_jYL~Q=OUV#fRpeBi)PMlzonL;2rwD;=^6^tL1oakbR=GWSh_?dEzB4 zDRbC=a$hDhoIFdDc}?!dr02+;=C0O5@?1d5NlkavbL5C*E|%+pJe`r*Tk5>4dsw-{ z9g=(NA@{#>24&6lZ&zBfzLGVUw3V#pWQLP9*RIORGe)@vNd07sUA3gNnmlKf(IcZm z#?gO!e1xBH$-a}5E8@R>Ga&B+mKvu}Rf4(dC&i~1C!rr-iad}@RcgO$sK0sFg zQhOP{((7avl~$8kK(4jn6Z-7C4w(;jl|{CdvAX-&R_5%5b@&c<=8E`0&MwM5uj`!~ zgVC9KG)}>%$1col(Gl-lvtw0EW?OkG1-W|4Y{Xz7u;v6 z%QHtlB4-10dwV8lM>gnu*XBN}*6wuOR^J@2Ykx@Yr(^L6&g@&-?{oV-ESK-HH%-;? z|Fy+`JzAd``8-m$bM$L9vYOX^M*_GbDxE|cTZGqtf_`&%B{+Me(jaR@%_+D z>_EI<%|7E^nHw`N2x4r9Qe9!sE@ZD!|7kz94TWb67WO)*w zbefvk?+{!=Yclqq?CrIWbe+T1L-td#3-LyFW+wAGd^YOEjD>G*=VwfgLrk^}Yqcm- z?kjx8CVPIRoMe&A@>$(0FECXqv#lKEI(*LPe`b-h@WNyGWKw2}b4Qx${fxbZQTy5d z;q88)o2U~0|4;tTBx#zYrG?U_G>Of>wke2+6w{^77-D#B372gT5GLX5o@i8 zh=_<45fQK=B3491M8t}Sh!ra$vWOKCD^^5A7Fp!?PO>xi`|#x9@SO9U-+K1t$2)&A znYnZCok=o{B{82k=1#sBxi2=gjaU0EmYyY@ilsZXZwtG$B)0wqpZbo92dm#;x}EQ) z*pEh!xfrYTm-JGXSlKgc)VlHf5H-E2ecRz6zYC1Nx77F5v#fzt#mhz)=%wt~TK@M- zi0`<5!}lZ3iLK=izB3k%rFOn0Iw+RhPW4KzIay7YU#osM>btMhG>7^e|Frovt!x6H zz{Iz7*4F*QB;re3-}R_3QSy(yN& znnhXB1?pb2^Bv9jwp8y>Kj)0LqPND^JVt$Q%}=ZEL$u!AO#I?IHs2VQz4Nr!726`} z!Aor4wAg&so7GmToU-~@nPYQKQlkH5eCYCrJIn%O(XQ}&7yzbd<-~aV|w`=e6DJ?zy zr`o@Xqwp~GK7P!PXi04S*{($_k!XF}w7r&S3!1fBC)RSddqdO+@s1MJ9Jxq6D?ZlF zlxt_HWnVO@=dY*-&3c{m>}j<`Y@e7<9CJ~3#kJ6q+YHi@|8Xtrv~PuptrxE$l9+nt zGg)klSVFAjp>*|KcD$v&^SlavvmM*M`fC{R{Eu5I-kVsnIDZpO6|cL!hhBOmwq|i; z#9G9BudGqqgBI<3ZfAbKPqeG&+lDH&7AIQsnfFWd8{O+;+b6!|y;S=gJGJBNUL(=# zj=w?Ostzr^xFURP|(+0G}nO57z8Wg;bdjYLzA{i2>9H)|>SJEeGSI@?i@d{|wJ z*yI2EwTSH#BR8>!#MCptH_?}gWzY6~h$YVU)y}*vVyal5c#Wm}it~TILK90QT8k(X z>k~`-i(e(jkD!=OOchIr`4Vl5_+&t=MT|kj`b6Co^NH6G^NEybs#sRkA+dy*D$1f) zuJJ2tG1aDB`B!N@j#vA|;Y6+%oUwK-dZ!~ZmZtp1NII5o;}hO^x?daNEzquEw`iXe ze^#iM@?%SgUP!znQFq0D5$&I7^~6Y3{F+kyhEiO0h`L+zhI(F#Ulxn|Dq;jB#z@h2 z{M^`CYb088 zbS?2UOWNlU;uDGJn)Sz`qqOLn?XmQtwr24wA@R#0@qW+aeol65iIV%(`;H=s&jUp2 zdXV2x#+E46(j{8@yj`7oOe=d%D;ue$_kUF9yFg1;EiKZP-KwRDKdDRX)>02GEznY- z_8MD%P?ykYWwW%h0b1&;rKhzmxJ^qxYw7r8_3kB){Q1wX?L-~=lwXxaV*6zbpA5u* zd3xQg>K$wGyHs&JL`@V&M*Na>(e-M3@F^+&xz(rKiHUz&+IGFV<_5cZzLmeDws7JK zSA6a)zPlQ|B8ac=|7I=XGd}T2ruYP3eCj6JgZJnI;`g}4cN_2Lx3uTQ_Mfn7Uv)7G4#t+{F}?R{+OkD2P;$mY2ab+NMO zF@G$UqQ^YGrP2K|KUQ`d_u%7Y;x$C;Gj#{gpN!4-=I82G$y@c(%dxUAwKDOIGO-r% zteltG@A0Qblxiv3hOLRM<@-yxmljKxPBQ%GDFrK^;`z0)vaht%Zcxjv)KWg9s`xRA zj<1?yOGHOi@pSo z5__^lE4xKYN$kmZJ(#>k9c8?>OE2w>t?y|*!TK?l#H)F=dLVwuf1Xwr{chvY*b-u& z7Jj9dPMo$DvG0$)q`t0LLVPDC`Z>1wU(xeJv;tyVqUUeCmWa=jCuy}QdWN1}*F>8m z);HlZbsvb@BxcQ=cRbRiT0W}Lp!uuEcROTTCFg41jSm! zmWq8Z_K?_riT04#FNwB3dS4*^G@(oRrDLzy>o%^`OMOnOLl^RNr%PjH6;AccOH^ZJ zZK`-jiRSZZ^NIKNhgOzoiA2X^mqXnaah^}-`v>vl=~_}PTQyAou^xPeqC(ppIWW^ zN_#aiU#(WQ#H6-s7MHpYa`+}pd`n+T&!aT>jE~5kKg;bCTNUj;#>DoJ=zGMPU(nvina`Q6llX;nY%OaOERpD36|Jb) z7V#R1mUwim+UtsC#XhaJs%@-=Jru8h(J@z9Y^%h67R$a`#q-W%Q|&r+M3#Q7TF0a9 zeY_`0basoih%@Eb)q3gf*!q5aRvpub`NU{xf_99e-|W9HwuE@+iQ4gdB!e^~HlJAE zNUbgYNb4aIwYE9hd}3K0ZFanmk6!u5$7W(#^KkWw>fznov5CE|=;@-*S6LV<6aCu` zz5|&{o#yZQm8i=e;m%IHwOHGtzS?`*J0GuY!G&5`^q$~Lu{Dd)jo9XBEm<9#8ojF< zKQea*)z>)lF%tWJi`K5~y@PMd#nvZ!I&nNiPbYdcaa2F!x-ouLB#z8~-9sBs+e6}g zi0c6HyO{H|y&;am|I@E(*Ke)bz7qFUMC*MA-}8+h%S6XqEGy=V-dl?A$wW(tZ4rC- zC|9oWqbiQklUJ*2Dfg)7QM3;|eatV$7NY00xzuIFZyv>~iPwnU{f$3^?i-$el^UyS ziTX0JW^p|F^X;~ePdgqtT5llUxfuD1YlsK5Juc>}($1*Qc!J~3*qUp#BPh;f(Q|&O zEg{zO@e%d9HqrYPEwEUkB|*z7+Rpo*-+P&-dIrHNCUhK&l zZNI#(?MZQbKiA5{c`n8|qHKhAPKz?piY7Xv#Fo};PvrZotNuTCqr~=!BYg=yZ2V4) zcyHoN7JKq++ZVCsueH`9QClabo^4$dJ-ZkI%-*Pe=J2Y+pn4e$gd* z$JQ*4Orq@**9M8Mx5O5Rtv~Zxc4_^as6*nqLcH_n6B6U^H~NIc)8Ba)o(OdM9v536 zMxdfziB}W#MT|Q|%@M!t6YovjnH5)e=Ok!Z6TOC5bE5qs_PwZ`%bn^u_&Rr(R@tj)rkA-SlqJ2(0r&3+t zJAbNEfB!>GQ~2aI{%S4J?~Sluxk8($E>WpHZGQxPa(wEyytm6@M@ytlSF3HdNMg({ zK7omT#uEP|WaU$85})IU?>LCHME{Chd?$}_&(Twhng8ADSp8QB#VzQPt z|E^B`jXp2_YO}SnFBa>hVX=Mxtd@>G&)@uumHnpGlB-6l+t>P`x|ZJu@i*aO^W_w) z=>x5-SSuTGnL4#WoBEiRe$}RK&{D6<)g|uI*7CBJ!rGSJq$R7iL=SDvL2Z3Yu2YXf zo0h)T*4Kq^@5J}Z7VV5`;V*KO#@?I3t)>gK^bajPqs`Z%l?`FM8(-fIFR3YgxtdB= zs-JSdtfe=#`RZO&=j*miO)tHoE^%B-E!upgE7YkkYw4tx{-!O_@UptT(iLiYv`Jm| zsFqG>^S#5Bb$lOm_Nr-Tl3EW!e0wbZEOFywe*=b-|erc zTUEA1O+PMH)0^5h-~NJH_J@{g8r3qLwqJf;s+J85s#`kvF14(MJCO0Me?%**xl=7u zs?_wJR`zhUTK0oB^%*UdXsJV+uZwn6muT-OPfJI&ceF-(AAPj<@vfFG*4|N}Hs5*L zzIs`Emt|V=YiXr6-w`bpzos6ohqbg%Y?an}yVKP7dxw^`l&WPpH>qiec8s3W(*9r7 zsk628rS@tLp7$T$_lv1l@${9Jx?HCoE&ma9>iOC|o+XU9<4atpEn!=$-U+-yOARO0 zk^V3AVDT}(|5TS4s-|L%{;^`r6Egx&kI<=`gwW)ozWhZM>XXmN=O7}N)UtOV< zy);5CyN&OS#9wUzt<>b$`#8W~7l^+%aaTxOAGLBPA--S4RMCTp`NZ!{(+BCL%GjDO z_?lmx$I@Kwc?Cmi)%&OYE>L@RaWBnLtbUHuv{0RDyhuGVHQExH_o>?~zW*m)Ez!1! z@7JAqTh7_0zTX2k@@vo7)<5>1UV0>!qJK-{@mP9@zt0r^yGHX!@xN;n9b@*2jdR53 zZ{jb8h$Q~T$f^s}Zy$@l|FNjhAT`8ZLzLas-5|YiTA3KrEa#r|tEWv(^p`~vm38Z( z{+%iDYHh6V?Xy_lO>AlWuabym-#_0VZ9Z+;L}k%Wwc>YDb9ryuPFrHxh5vo4qGh{I zn=jEjN>pYmGW_Q+9f&O*#ygMy=24XWz+q~?@pU9(d#BE zOSH`|v3>DpF^FwRRJOgB`n%&Z&zI=Eo$V7f!w;)}Kj3VisCjC>`b_+XzEGcue|4?; zO#GMY)Mw)N;rR^lXX5YWn_cl|;(yRheI~wrqWV2S@w622B(~3PQKyP$AB!ip+3VF- zug5)VYjL*EQvQVROvIl;cDBz_PW1G+|397-w=Y@knZz>&#d8P6vk1@p+`$uPe1?m7 zB8zzDiuj(s_^zb*W&4?*@FJe!BA)9ap5Y>%$dc%JE#i4H;+ZSr$uehtA7Y!&{G1r^ zYlKAWJM(j5#IlL@i+DPWcy`Pr+MFLxYd4~6`6X7?LaXxoX;Y1q{rj}C3|fKsvpYm9 z@JmmFr2iv&-7U)AIL{y{ren-PpH(RBHL z@6{6ZbcxEM%f|Z!@fwNd`{*w9+#kWGM)B_wi=!p3yS?|T=ZE+$Mf7u_!q}ERNZTI2 zBP?DmQQ39l)YrIQOYYtV>B7_Yka*@r^zSspe^>Oxx$5}kZY@Q>^BMoWffzyES74AX zK5czN7#|Edt?XM~_o~y%678X>%y-Rc^Zk`R^!n4v#FOGuuTsZcV*iP!;5DbJ&k#Cu zZy=s=866MBkBnH~V#d_*(Ps3nU;HnApW=z1XMTdbcpqo` z)K2kt5JWpJo)#*e!YJOGct+!c!___c<3El>Ux-Nypu5MVgXqq~soq zmYMj!%s>1=ZOMXm$%e`NTQ8+b4(uekFq{9Pu1aZmj?@`*r3}{SN4?Zt%ETU$o04-; zFAb2o;Uz4=uO=iPUdj^udQS@AWl{)>r98Y`D!{=~Ar4_3Jata$iC0Lyute&OS4u@V zOzMMINqup+)DN$g`tyn-kYAPYn%r$gy>vUT$uqf7FWtdw@)w;@FHPq)c~%^+#@L$I z;ct8J3VNxLb?c=USu4-)VtqV;gf;QWuQZBf-$cE%RvJxy3mJn;W5{o#URp1WCBK7u zX@fM5{4Vl5E~%9K9`gGGX*~IT)JvPB3FHruCvZt+RN zX)^f}2u^67g81Z3)D+HrE2n*sF!w0Q^;STUfM0y zkpGE%>qMGL{u=p3f;5f%4eF&fsh0dL^4u?}j{F_!rTtPp`Fqq$2iT*0PXhH)yEKFR zBkHAt(oFJCsFymVS>&IQr)fyD$-kgpIxNj0|B8C)h%}e{8}fO&G>`l{>ZM~+1NmRb zC)Lt?@*l`A9i#>1f1_SHDJ>-bi9Cx;T11v~i^w|NVzM6fl0mnWY(#3ju90j;YQAn6 zSwa4;r*1jfih9YWTR~1j&IsK~ax(Hcx2}ooM7`wFts&RVEFJNb*dkaJDfO!lH)^655_&q2;R-Da{M z`AwT{3pt2-DWuy<4x?Vm(`_T?qh2b|wU8som`%5x+#NYvb*?I53r{KZk- zPV)K4=d`+AmUz7S_9o7@)byHpgT;y5@`)|N61$pt%2?+ z`D)ZlBXq~ee?z`ItUFG=2KCY?-3juwsFz0TPLi)fzCEiuMZO;O(pVk;lWqY1T8_>@ zz7e?(sWXvpLcKIzCzEeRp6ac$kZ(c0sj9P)Z$M z!>3EdJ9TN4R3U#|L)RIrbs2cKE)!dHZl->UJh4XCjogNM={ubVf7AIWIf{HIN1uy| zK0t{DX~Xp)bm;RaaUwNVUqDVlYMs6i@7MRh$Mik%WqmKEu0Vd1s_#v1N6smI5m_=6 zk#&YXs5kUQyP+Q@8~S5s!vO4J7>GW@AUwxVjOQ5!<0XcnILuIjR~d%kaKmuC+Asn~ z7)IhK!zdhW7>(B%#^4Qxu{h2!4l50%c&A}JRv9MXU4}BOHbnckyA6|YieWO|V<^WO zLj^uysKh!$6+URF#(KjPe8^CP(+yK`hG7~$VyMNLhB|!IP>=Hs)A1R@3|wHCiR%rs z@Lj`f+-R7C?-}M|vtb^-Z)m_xhWYq`VF7M7EW{5Di*TD^F?JZ1;weKTO2%cVGcHHH zaRnNTE759fLYr|FCK*?w-M9vmjcd_iT!&8MdUP2#V2W`grW%{^9OEX;HEu?~aSIk0 zx8kM7Z8*r-f|nV$W3jOn2OD?b5aUj~(zpw+G494u#yvQ}xEF6RwqcoZAKq%*kGB~Q z;1pv!PBk9H`-~kp&3Fj!Hy*}X;}LwocogRvkKvPiX-qH8GoHYwj3@CK<0*XBsMGU} zWTOF}Gn#ObQO4(u7F=w!;S!@Aml_@Tg3*PI##DUKn1;)Yo$)1O2Cgt>;wwfst~7ST zSB)NQGWzf}V=k^T2Jm%b2;VT~;TmHBzG*DPwZtt?4S0@eBL+;(7&L9dkZCi9O$BRs@*w?fJ|6Wl477nJ1OClq!jUE! zuQge4w8@6ond~^$CR-2dM-R9*u#k>OVF|WiLa}(ZcUWHT5 ztFg|!1|Kx9#d`BPe8{{Wr<*t6!{&`R!`zIIm^a}}^JaY1yai{Ox8mdGZ8*o=f=`&Y z<6LtqK55>8^UOQ(Df2FDFz?2v&3kaZc`rU=Zo>uUefX?-KQ1&Mz~{{ExX64EpEq~l zV)G$^HE%8K87!ukK=Ol34Gan5?7c{;VWjHktZc1ZME5eO=c6mW|r|2 zvjsmj+i<(tj-Qzw*lKp+ZgVRB)0~ET%$@OTa|V86&crse8^1Mo!+mBCerNXKeseB< zZw}xAa|nMh=iv!+0sh-uh$qcG@K1A3JZ0{MlH3~&auFKkK5VlI^^#fci?ZAg6}dlJ z+k}(9*gAZc%eK4`^Yo#B6${T>x;Ca@@%|B zo`VDBxp=8O4+qH&c$qvOi{%A)xx5eu%ZqS`ycmbdOYsW15liG{c%{4?hsi7ODtRRi zmz(fvc@>V3SK~-|4PGO!#ZmG)yjEV1qvZ{FoxBmRmz!~{ya~t4oAG9O3r>)?Vwt=R zC(14OcX>Nbl3Vc~@(!FV@5I~WU05#f#@ppRSRwDlJLER3l=tDC@_ww658z#LJ5G@g z;yrQ)*2stOUimOim5<9Wqm`7Rsq5!r+@Wf>op zEjUZI;bXELXUh(JTz26cITah^G<;g_jPvCTTp(xSv$7i(%H8le*@KH@A3iVV;!-() zFUTQ$QO?7c2A_^R9+o8%&VP40uQ%YAXR+z;Q7`{P^k09+>z z#JA-^xLz*CcjUpiK^}_l$|bl_9)|D9!?9T&f$z&Bag#g>KafY`hw>QQB9Fz7F}3fGu(vekxDI?eZl2OrDIbayfo3SKto062FkEaHm|2U&>SP8@UGCJtlvYevc3@{^Cw5VGVTQ6B zyDEDyQ`w7dr46%{eb`Oek2%T#^eFAm)!lvKQ4NyD*9XS_kl zz;Q|@-l({-ROyB{DIOfJ`0!>W7jIDlI8h1V-<3R^q!i#kltP@W^uXJco>;E*!rPVJ zSfLc*9ZDapRQlqbN70IXI9;@!$1oT3!tJ<4FLQHJ8ZN(oL?hT(n6aGa)$ z!26YvSgVY}2b9rRr;Nb|m9bc_jKhbNQk<@g$A^^(I72DJN0f;;Q<;R1DwA=RQjU)) z6*ya|#Q91UKBH9Q0%Zz5tJL5^Why?WOvBfdT3n^n;p<90u2!bwo5~DatIWiAm07q^ znT_u$bFf*Ni|;G*aFf!2A1L#2v$6m`R2JeEWf6X)EXJ+MQv6tH#BItl{6txfEy@bq zsjS33N)vvqtirv@YWzl7gWoD^ai6jdzf;!Z_sRzRLD`7yN;CebY{G-eX8cLnf*s0M z{8`zChm;olMcIzODy?`#*@3?)JMpNp3x8L3<1u9q{!7`5$CWnxL)nKXl>O+i96+a~ z9bJ}#m}2R`RLddkWI2p!mLu5NaumB*j$wx7ICiz1z)Z_YbX!hgkwqud+gc3R*J8rI zSY+&HvETrU4KK0S@luNe2U%QrnI#pAEopeUr85q;WZ)1>CJwc@@d`^fEU|cSgvEz{ zv*hAPO8`e%LO9lvhc{RXaGa$OOD#R{CQDDe+0qMdvGm3=OA+2`>4Ot3eev&>emKd} zAOB$)fRil)@ixmKEVmTn?UuoKmt`ncTT1XL%P?%P49BM}BXGWDBtByqg$pdB@mb3l zTxc1K&soOd3zkxR(J~&FStj61mNHy!nTRi2CgBRpWPHU^jw>w{_^PE6-?UWWT1z#) zWtoD_mKuEDG8H#jrr`&cTKv#bhg&W6*kYNEpIT<%cFRos%rXmGEwk}+%N*QknTuaq z=HV_&1Ab+hk9#c(@EglQnfrT4?X@hzeU`Vus93k5#oB^a>vptRTQSMH1MSwGm~7pJ4(o1oTKAyKx))QdZJ27^hn=kZG0l2_ z^`|3!gtZ-WtOwC!?Le>f5c;f#@f_LsDF6?Jb#evo|ywutm2U#=la%(0Iwz_e&wHw}G z_27+GA5O65;w{zymRUo1t2GZNSqre-T8Ot>dtkM-C*E!Cg;T7(@g8dt)>!-Cz1F@s z)!Gm5v-Zbn)&Y3Gbs*MS2jK(OVyv?c#s{rKvEEvO4_Sxdbn9?@*g67dSV!U`)=@aq zIvO9fj=@>hvG|yE9L~0u;^WrwILA5xpRktUGuDatoOKc|vQAcX((}kQowc021UZka z75Iv^5?5NQ@KtLyHd&|Oo7Ng!Yn_U3S*PJTYc0NQt;1$(J-%<9jvrcQ;1=sl{Kz^B zw_0c8C)PRGVx5bhTIb<*YXg2^osT=M3-C+pLfmCtguAVa@oVc+{Kndd-&&X9KI?M) z&bk8kTUX)_)+YSXx(W|kSL09CHF(&%7Js#_!{4my@u+nJ{%+lf$E?k$vu#4XZ8I8d zThM6RiYD7OG}~HGwrxkn*2=!JAm@l}2ij~qDM>=k5!)_uGIEaCc9WgRIbz#GPC?EQ z+g@@fq!+NYVTNrVcD3!tOxpp>vbCezb`Y~|9oWrw2y<+Q(Qi9~0ozgRV>^Zy*^Xmh z+X=kbb`l5JPT?gsorRijGvHvG35VEZyuxO|nKm0fYO~`kn*-~wwr<#B^WYwv55KnM;!m~!cGyDrvn>yQu@&H9TOs~x>wzb2J<*!f z3$IA(jU`D%cxzH0i%yz|^dm`q$&-+NB&i>HGSZJE^(U7jXJ66)as_f`B@HA`L(Z(E zLF8KG%t|UI*CA(C(qM8ua%LqBB~M4rtfUh14CKs88b+RpjB1jG<9kUX@T;Vel;<2w5m=6oBuKDBQpzk`ec?A!2TdkePMx8rtuD^ov1S||Gs+-u*7-`aQK zclO;(-H#ko`yTw&z88<$+whouA5;H@98LRvG$kKEb8 zFxi0|-{d2hm3$Q4$;U7|`8ax#PoOXPB<3ccVtzl;J|ye-R#FhT!;@^l^O8;2J6Xn} zWD8R-MDBzq+i*~_9WPII;E-e&Q->ngS;?t*ZE_lpN$!kelQWol19Fs;GqF6`P08)Z zHBoXm@*T(#Pxg@SM2>i}k9-$$wkGG2ry)IEasVGn4&lSedH6(f0aNE9cQ2C*$@7qL zU~&)gv&a!o?n!C2LPk)KD7esXVInp}jhB=^DBlKbN8$^G!HTsB&9!EK*<2c6*EOpGpTOG5Qb0X4WJ7$w7A$7np2P++O@m|L~oa$)6 z`yKO{rxt0M9Sg{H$hgI^5NA6U;S-L<*x*=-PdgfMfnymib}YxGjurTVV*#bkCF!?=e6?~c_?y5JCEb7&J&bOM2?{IBzY3jw>nQD&v&yivUM8p0jCM; zoU%?V9pFudIPkUeNOvOfL8ouc4jLV%F z_=+==IaeZMPNy4JJG>S88{EA#XIS1kI&SE^~9E>NNLz((- zWUS~aL5ph`T3y2_w;?UIYXmx6(WkLHU8As*Ycx~SkT%>khTIt$`?Z~Bj15s%eZRsURNF7=c=cC8gj&4)5#Ab zN8B|7XSrtL)2>;R&qqd#uG#pUYYsNL=HfEfJbca7z&xvvaWOAcC9D>hP2hL4dmaEGdg7>S%>t_Db1*)Y@)=1jQLYGV`|D4?3%I_Jt^BT zn9_oUDckY2~a(1Vr;;SiXxHhFTzLk=J8&fiw=RM^5F~yCWQo7;CDIUtVA?J09 z4|k;GQt}0IMyCYGdyqPi5+d(K>Oe{!xeciUDFyglN+JH7(u49tNF7M&iNB`w!s98u zDgOgGyHkqrWJ(`2ruL=WgtY3Z{ZL8mkB-y<*eP`&Q`3+$I&~1aGtxV!7Gt;6!5By# zilNjJEKD7SJyM5b@6-{@e*rQEOC5>*Qb$p8F){{A9gSC{j=`%^$5K8V8H1&cBacAt z*QJ({MUg|9bpj=0k=l}4hGnS}DY+H7VoIHa<*AdgBDEavNv&XN4N^l=E3q!M z3TLENQ~n5YMyF1}S*bPnWa?DP=OKM@>NH%KT8mxN>d>85kKVND7)+aip|qJ8PMd{! zX|wU%v^iLmHWx2Un}>bV8t~$@`Pe^g0qg%Oa;Bs$#Cy^fVNKd%yfgXjHS1b(~;}7^zGy>$T%Ur6}zVIz|8cWn3cW@-RZkAJADrZ()Tid5ZTY^Z5U49 zhdt8wQ+_To+D|_~J`d?Z(%Z@BBXuwRAo&91SfqE5FGTiv`XL;cei*MwKSKE^q_(6V z#dp$=;Ror*u{He!p4<5(_UwF$InP60r88fGl+H(9rL%#20Wt>bV#4>j$oNec3*~Ld zx!J`=-iMr_UF_ujNRQmbfj@L{;fXG(`0p-hc(O}p{Ig32p6Zgx{8C0HS(o7^>yhzu zMmIEOcqlO;$1cN%V>5E`hKvA?%Lp;`Mx-sx$Rpo`Tp?x@;NFZv{3fFZM!NRI9$kCk zd0l(s1zn4P*jM`3N|Xq=Hb1|P{Bi!(FF;iH+QI4g5JK9)HF z=VX@Q6PXinZssIhk~tZdW|rd%nHAWWS&1)ZR^hVDYV4mi1^=2=g9Ear;w4$r@cyh? z-bF3aK4jIAA4GbMta{v%H61_8nt`oZGx77RS-2x>Hhz&c2X|)8#V@nw;jXL({3>fc z?#^0(|IAv5d$Jbc*IA2kZ`M-$CaV$KvX)(ZSCYbEZ_YQpccR^frH)%Zi! z8f?#6i$7+q!(X!2E4Os-MjE+_imiv-h;Qe_u{SYHk|0*hm+j<@izAXEO)o#?e2qE;qJgY+=sBz zeHia_AHiz(QM}uI4ClCy<2?5Xe9Cb8a_j=ecZX^UywcQ<{pFeEAqLRJ48N?d@knB!xQcT{I|OhPr7@cF}o-8n2>Wb zyBEsYy(v+Uv2=D3I9)bO`N8+IDQFwXwXdIk928U#i z#i7~b@QUnGEXf|v8m>gn?(7LTJi839&Yp-PvM1r+vM1xn>~g#&y8=gLSK_tVRX94k z8n4Tqf>qfycvtpRoSQujpUt#Wzsz2MyRsKD&sWG9n!O0yvKLeGEpiTK zFU9Y(8}X;?W!RCu9DmMUfrqkJ;)6L&%wLb(&&gRuo{rqr$yrUFfwW*bYj9@HT1p;8 zTCkjTB-_HfP~T%WTS-^ppCd;_xga`xdz zIs0*I&H?;5ryW1fImkRakQOhe19#>eqU1|tkL4UDe}}YMIY-FfBdu1>QT!q27$xn< zHAv2J@^46cm2(1r&pC;I=A5GZ6w*d{_-TQ}4+0#tR2~BwJSIwv$OyzEqupbnBpGSD zJT`QC?3B2W>rGGe@6l#>T-eo`S}czR-q zrx)c{BIk>zH{ReWqGTL$pV`xgT#DRh_VmRvPd`d-MOt7_fBd^=08a7@#7fT~yvI|F zQ$2(6KF?6*pN8~qo)WC}48s|o;gmmu)H=@y@)O9J=oyJmdPd8NTY7h)teJ%<~#j13i<;Zz1QnrySq*R8X=W zseztK@&@D__f+9VPc^>hnSvjCYM8nWxjyntCAT2=Jv`HJyQh|t&ye%lQ%C*^Ij=qS z8F4 zEWkfK3n@8;)L8E#vJPq6y^GQ6T}p`!sj=QhO!F?IBpn$EdzWJu?+QvXkXq_pNzO!S zskaGz-c@*xcQyLGYnU29+I;U?atIlnde>o*cRlv;ZlL@kq@DL}#J_l(Dd~q?eRwzF zAn#_p%o}~`crnuQd$*DYBQ3vo8xHlh;1%BOl$RiFySEibdUsHA4brxIcjC3)T{zmi zoAT?Bai(_<-sIg&$#|redfRZ4cOU-4yPxvO$jHHafLxA@9K7vV;XR0VcsnSsL`DwY zLs;cKOvzoyD8hRL@Ae+0WC~K}y~nV|dz_Mck^1jFfe(65V!ihiKI+vuX?wi}o(B0C z()M~y@y&>{eq~?3`aGSRP zTfK$&xi|XvDs~{X+S?QNd3)h^-rl(1Tg24wk+#>{2M>AsQt}Hj8ua!f|ACBHy#4Xt z-T{=HMDE7>2BO(F2xVU}1`5;oOeXGe2 zA?>+u4L;&qi!*)e@KN7-oaNhqkNGy@Y+o}z>Dz?!e4APJDP+{`+d_UCsrkOGubTKzU}yeuN518JMcx{PUc*O+yV3L!sWi*__A*guJG-}SA1=_(zg#^_3g(d z-vNBh*N&@v2XU>h1K;u;!gapGtn+PTOyWC&@A!^VvH|H4e8b18Wm z+1t4RT$mfeMY(ynEVlq($t}dUa(gi6I;8c;?MYsb?33JH_(5)O+?-p4ALjPK*4)1M zd2T=4o!cM(nLB``_8@IS?m+xLcMx{u7UR#kgPD2=>FIKZ;^Ev9{55wNngKN`*cF_g>5{UZNZboj@i(_e}%|9GaRAT5S}0(SD3VVZv; z<>^R^;h%)r{>hYdLs|@fIePpR==E1p?nC-Pe-$|w=?(qW81PS_B#4aJ{52T%Po*Re zX*c}Su&2Kk&-2$|FMmB#&qqdX{^@vue+Cx$XHtG4(pLCq;U)grlng{ZY4Xp(A^y2I z)ISfe@Ha5E1Zh3|^Kqnq0bb)@h@e>o*LBiGmd z6?lt(B_(A@ZS*&hZ%6t>|0?nw$QaMR8mIWzP;w7a8~tnX0slIz^RK7;L8N`~Z@`EA z8!4HNv;+QTobBI4$>T_`=iiLa`nTXB|5kk7zYQ1rTbO4Fa_;-L;|u;)Z1nHI7yUc& zRsSw*^6$pi{CjY%e=ok}Z)4eYNWJy%!}tCBag+Z5&hTJpppCs=?dO-gv@_wYY`*kVwfPMr1 z;5T8rUryn-{Kz+^{1*JlZ=<9GsqKC{9`!pY`5hVE`CWL*pGpZgxXE%L4V6G=v;;CJ zw<4d91Trxx;HJcm+))X1BRi0DA>ct*z(+|6a$O(DC1)Y^KM){iBiHqT5atB(Fc2uf zV4x5~fga2gM(!{NdSZT{7bOKqtq%0Y^8-cLJJ1LJ66lNl0{!sfK!4`!kMxFt0eEF# zAPx%*qWmi4T0T&WR|f`DG6Lxh14GFpk(wMR!Eu3Mcw=BV-Vqpqm4T616&Qt61EZP$ zKICp*U<~|oXJ8yY5-7!)f${igU;@qxlrhg^NZ%Bgh))G3VMAatJ{>5> z`GE?2CQ!+o3y^vns3I>!>Sv%D8v|1)c@b$#12y^Nz#M!pFqf&#NKFpR!w&)tlx#*?;J|$H7Nl1SEFf=1 zMs9(H_*q~PwgwjC=Yge6-GQ{vfkxaDScYE*mgC;Q3Z{O8+=~dTB!7$4+dvck7+6Kg zL8RUWR%1tC4JAJ#W4ypx@-IkB9$1I}3arQDferXaU?WpcAmhD2Gx;QPOX#^7c& z1-D>Qa4R~3+nC3R)Z1VSIR$CMgWIuFu$7WDWYibjftkUbm=)Ybxf^NEgS*Mykop|l zL-ru;d2lcKf^B$Ca3AId_oF{}00Y5x<_scrK6sEEM(TX91M`E2C@DbN^Wb6Z6+A-8 z`AE$V9>oiS$FL}P94`!>z&^o~cv0{abM{5fj-W1;`~N`$UK%v<{Hj67HBnH;;-CdD z587~W(2hfb4jdYEG3OP?*%3@7k3`!1U>bQ8GBONy#_NL_I5wDxHw4{G9fzDd!EWSI zq!$Q!$m5Z5W6(#Qfb;^vTyhyQZVU!+VlYI>-;vQsFb}JO1(e){j1q%|cz3V|B~y^A zpOGX5yuxSvV*( z8!rpZ!Q#+dED6oy6|Y2E?@$BzDx~!e&Bw8!1(e)?j2}V^$+siphtMMO9Z3BNEhbkX zquJ0>ay3$aLXG4pNc{;dBiA7HC$yYA6{$a=73671{Ryok*CJz&P!qWh85M_Ck?WDM zM`$&9Ix;E_ts&1q+W*j6@=T=Gh1QX0A+;{Fo;(|=b)gO9ImjK+&_?oHY?4_mB@%Fw1?b;jEF*e$*YjQCe%h=jr294edIOB zcRxb=$!n2OQ|JJB9WrVPwUgH)qy5l9@&=?o3U!b-BK=Y55V;u{Uxf~nHzB=J=m>c; z(kq3IlD8neQs@|YE7B{4j+3_`*Gi!iBkx7VY#}?j4H>hA9OQk-m@VWY??=XLp;Yn# zWXu*yBex@cU#K(rAkz1RGRPgsRZJ+8d|?k0SS(Lq75` zq<;+Ml8+<(V<iz@Hl&9Q7m@AAC^6iJ>_A3|;l5-S@<~v*A2}6iRl@zrX-L}=9zgDl z+&K&nBxfLZ4#R`UnMj)xE+)H?UN}6M+zsi4!$Zj)q!$jCkbOum93Do_MOv!xaB=`? zslp@3A>^tmJd&J;^upm$O$9z*VdTzQ4Zl6xXOb$A@P7cxc-my&xU zJ#~0Ixd`d0!xPATkoGWKM(&IB)ZvNben{IGo<#1CjAO%-$perpwQxCkAkuP%E69V8 zmNQ&QE=GFua20tl(wm2?$wQIrxbPHm2{I}U*N}%H-$e;eB@ahN#o=k>5lFuut|gB| z`u%Vnc@%PwC|pk-joc#&PbZH-Mgrj(5^U0Hu`%B>ktI5-m_CLIaJOgR}!)wVik@i2ljywx#|HJFavyt{cyn#FiY5&6;$#aqRKio{7 zhqV9UP2>io{SR*@&qvz-@D}m{r2P+XB`-wU|L`{QBBcEfw~!Yj?SFVXc`4HVhg->w zNc$h&L0*Qm|KXkF9J^9ri*f`Tb{VL=V{E0~J?3#Q>^1+{p2K^>MB)Z_Sq=~!Mc z11kz<;-dw#@Ueo~IKN;HE-09bOA6-U3k40>R4^Y`6)eE51q*Ro!6N*+U@?AEuoMp! zG~(fcWq7h+Ii4z5f#%3cR3c5-EwTzdk=0lbS%ZaM?8l180lXv9j+K#vcxR*ot0IT+uE=4mjvT?eBS&#c=)+#i{M-$%-@Ju(r0j7-9Vk;(W| zq#Tb&D)2<45)Fk_m{eGe$%RwUS6G9&g;TMxa2oa~ti|4iby!qbkNpa#WBbV3sXh8{M7kSrk(l8{0`kcc!XB1JkPNEMVWpdcV3Riy|bh^UBw zh#)8yEWDp{HhbfPzxV%K*XR4(+~0d<&YU@OW_HcYUPS4WdOL|Pq4Y_;_t2G*d(hR9 z@1yG@KR`D|eu%yuc@W(ec^Lg6@+kUa#lzXy;=V^^r!lNpttJ(iQcaNH~Mq^d+0Cq9p!0reG9ds zY}6U$huTpA=(ABJ&{0uA<@p{P<&29eg%(AHqR&T_M#n~#MPG<2kB*B9N5@A!gieTh z7@ZjP2s$b1QFL+M#bnbwD>pJ&kUS>WprS>Vj^M zdIo(bsvG)VR1b7_R4;T`gFfi^27S?q4U*6~4f>&T8>FDi8>FHu8hFry4bst%8)TrL zG#G-OZZH(R&>$QAy1_8?a)UhdYJ&pwMuS51rv@X@UmJ`?j$f-5$LY-4XpBx-WVUdMNsR^jP!<=$+^f(chvEqW?r6MvaC?(K-!3Mw>M}hPG&U z0&UyyQ?z}<(`cuLXVA_K&!T-Bet{-6{IYyW!_9k`gN)(4dpXD$LHvku(b{G`VqCIz zSe1>d))MrZwbZJ^8v>(wi*tk>&0C!7*hxkc!|57^x?FjvzpDTZbQPi{T_e$8*C;f^ z^&A@JDniS+#-in1>1YL4G#cUZpcP#`&`Pe(Xk}Lyw2G^n(TcZnmH1_zk8XlCD-jzw+Zaqd+sGuI zXKXI9IdHkLvE<-@<;Lcc8_}&LH>2B1ZbNsJ+=}iixf?xI^38x1Mwy_cXt|)*(JDbI z(>`c0+A(M&+9_x=8XvR`?HaT-;0>NLZ58;2u_LGr`fgBLbXQP&bZ<~Rx-Y0Jx<4oZ zJrL9#JrtCP9tk?hvL6MVLO%)m3_Tw7Ir>>p4({hc1JH9pozU|^ndpU}!RXgPS?I-} zH1tx?K=g7@GI}+rKYA@_5PChx9k`BXP8SEP<2lo%XmIfBXh`r1G%R=(S|)f6S}u4k zS|PYUS}8aUtr|QCeIj@;S}!;Utsk6=HVjTi8wa06n*@J`#s+_mHVa-K@TSow_yx3W z@OZR+@V>w|dBSu*+9`N%;9Ew|;Ee%q8NGuyqlv-WPJUavP6v)Ai+s&oyyl>J)Ilcc%mw%{e`0rp}8&w=hn&(W$4#$DF7!T5`< zY~U%*wP>wUs-|A4Hv={rO-h|Zo0YnRwkUNOZB?pS;6|fOsbu1|rLLmwOI-`tWTcha z7r2S1CYuFrHb!WDrPShp&BokPYte12bBl3_%ogJ^nJtEY$ohb-MuU*5UEydCS;lYz>JB+{SZr7113bmC$!XDx_!iTv_Ox9>_tBc*@u1-vL8Jj(kyVh@p;JRfbGV)kZtJskge#2kR9mPA@8CW zLw2E;LUyBI_|jx4Ce9 z@u4%&iJ`O57eik`r-ZgZr-jZ(r-v>?XM`?BXN4|7UkP1`&JBGXogcaaT^PCwT^zaw zT|#?y@qFCez&*yh#Cv$6tu6X>XnXWhXgqp3v@3cwGy%O9+8w=3YxnTX+DY{H&`xCj z2~9?gu>NRRm^*Nvkr~zm%?gVR{D5b{+63(9`LAYy`;En6`vMObyNM6*T-99kc-VCG zWY~Q4RM-skv#^Ee=V6P{b74!+^I=QT3t_LLUx%$gFNUo`FNLiMJjnA?P0+vC)={Ht z=~@9td3LD|+P!o=v}frS{N7$nSYYlOfd2~>%5su4M2BKH145~HOvH!7w=z+%u z)q25kjraw}b>dx);F{^iE=NesXtZ3-BD6xyVa8R*sybsLzjy4e^GoD4$A01;9G8iI za&)ZwOXMxbD|N?2{_QwYZ+E0&J`uS)($Ab8IVQ5KIluldkrC#p`ePy=GF?$)BI}zM z8#W27Z(eE`8yIE&+VEZUZo^%H4a|^6P0+ALv4IWE2E+}`hQy7`W{oxnHZ!+2dbe?N z^9cHk`Ag$>8}~JD#B2@hYyK0n3-xdEZeYH7A=b~4Z(fV-o{(=|kL`)xi0z906dRvV zV76&G%qTG1H;p#VnM=|trdXT%q@!D@9ANFBa)9+Nl>@9@ zR1UCqQ#rueOXUD-AC&{F{Zyt}hp0@oj!>CuebOfbJx*n+b&|?d>r|g1=x0=>S?8!s zv(8hQW_{gfD0-2~H0u(TY1ZXF+2~a&J=S$9J=P5>J=QO5-DCYqrN{c6N{@Ayt$VD$ zs7$w-f}0eXnaLhA^Xh1N%ji_lM~9A%xSa+Gy}%2C$E#8=TvRF1MPQ#s1I zn)n)ejmmLWnZBLTa(%m?75gqjEA{P$R_@yatl#1+jlkEjLL~tD=H^iZK#}RwWo5T)sf1HRwpVaTJcm)w7OC`*-EBzvelo; z$<~0rZ=h*ZPPPV8IoTT2cO5#I%30PdDrZ@*P&vz*+jjvvpUPR*LMmrji~BA@mryz1 z+Ck-f>s>16Tf3;7Z|$aXzO|Ri`PM!v=Ue-!Tx5Mtw z)HfZyOy#TAZ7N^2exdSJ>u%o-=wDR6YW+jytCr#3gqrSXV~OQ*cSil)UC@&54QQ~t z8ye#7fre4J#41DON~H*uVUG8(}ZudoWulo|Z&wUx)?`{^j%{t&tCO+i8iXL%a3)pTQcjpFfw@$kA(Npf> z=x6Q`=;!Wd(R1$6=y~@T^n&|&^rD;l9P5&MBJpK+JbKm5{f~9c{UY&o_Y3F^cPsQK zcN_G!yDj>QyFL1=dkXryyCZtn-4*@Ioq+!1?v5HsiKv;xJ(cB3;y%jqPvSnx3QXcY z$|{+}eUufP#C?<%lEi(K6_&((lvO5)`zWhi68BM7g(U8ytcawyjO|v%q#SB0C2==p zRZbc}TqP+Jt(r6#eIh9ft)7&I)<_zN)=El7>m>C@>m?0B>nBY^8zgl?8z#BY#z{TV zCP}>mKeVnVb>^2CZX|Ue@W_w{+iSS{XOX&^lnnLal{Hvt{!mI3QO*69JR_M zcR?#8??fY#yP*}6d!Ut)-$N@WM;j-tW>lWET2Oh?YMZstxn1Bqw!Rp zvU*c_%1Wg2l$D(P0otF+Q`P_~Pg!ZnAEE=PJZ%l8^0bvnA@3)SdXvg? z*81c#=te5fS(~XmXKhVBi*BRxSF2gSXrqkN=-&%9`$rpPohAGCK!f{tGs-!``gcal z^zVXJ=>H5Fq4O1~Dd()jQstbLS*pCVDwXA(Pf%IjS)I!A&Kgvfch;h^yt59K<(>7Y ztl(@yzJfEBd==+Fma5_$#8Oq9nJiVsnT1=$nWNoYma5{+XQ>6wHmRM_wy9mvj;UAB zPO06{_|zU~*VOOPgw$wbp|dBI3!S~GT~kLU#|4?8EObw*!I>w->6yNOOq>xNEG>w(TlyM@k5 z;}|(FP$9w)n zCsKLC`687!oKrl1qtmFo<6KPT9p@4%?>Jxg+(TDTdB?em$~(?A9*5(Ob1jwkoaa5~ z1MWG$_B0E;=e+3on)s6EB6`_#3BBsMj9&93qt`uG(Hov?0Z-UQdKzk`4@8~mi&0nl zQq(_v1sa&X3N4ww1`SSc7Wjl6l0KL?EIkt~lb(f^OV2?or01d$>93;|(+8oI($}Ju z)89m^q@P5eNdFwIp8gqHD}8-HQ~R$$o%zLxe+G3y{WB~_Q#&xD8*#~u9%yieO(rBG zn%{ERn$a_%r@bSiGr#EYZblb$S4M!Nr@fo{p7vhqd)oUlN|4!4eJ}eEmA&jERQ9qz zqOzC$36;I<<5c#tPg2>-K1F43`*SLL+vlk4ZJ(#Iw|#-i-uBm2_O>rl+1tKEWgq)0 zm3{1MRQ9p2Q`yJ9L1iENCo22cx2f!7|3YP={X3P3_FXCy?Z2o@wEv+p(KZJ6K+VA= z$T$Z_^IH`DgFB;vgS()?gFR@-;BIIbm3{3pgVWJ+RJ!d5D&2NPD&2M^D&2NvD&2M! zDwFLNgL@_num_`Q_INbI-i&73KcU0yz#%;o^6ZLef!z=-w3`j#PRwpGggY_2)sUaj zHbb}*v)c~gPRwpUl8<{;&Gcz4^W^!j@=Vo$eV&`XaXJU`e zEbn;L9+SzPiTym4ui7tUhLagjQYwcZ`-=VvyeC=(+Xv{Csc7)zA05Tv43Sk0Fhk39R z-U2@P^Xqa3zZhrmD{uzC)MoH&YW#c)f2PeJdGc#yhVdjch8EBsx&lAB$uC?PMm~&& zmGBn44ZGnWd;+I|pQtykz)!#niVgnbpYaIPfriiw+Cn_^gk;Es0vH36UbgQf5WY=)h% zA3lc9;48Qax8N>VPJ>@#V&9+=RD*iZ4w4}qa$qD(f%&isw!(Yx5qtsH;5XoB7mWZ2 zgNL9h)P{!89J)dZ41ru23D3hcm;*~-HGBf6;XHf?H{drgT!v8!DnT`<2eA+b@z4wU zLk8r+C>RgZU=A#Xm9QSR!(KQHC*d4if*;{mxCf>D41TYI;||p!8d^azjDSfn9Tvd` z_yEqpRrm!=e}i|@(_Ux~UBCke;ST%_g9BI>%!b8q5RQWpXc%*0SqZ~f3%lV%xCQsX zzocRGfywZ7DaJpzLTEFrgcI-&ln7<)Kq92VC>Rg3VK1DApCK@e{e-8WElh-Uup0tP zvpl52SeOEH;XOD2HOg=fKp~8U4G>$FV*)+l1(*Z7-~fCE7vK+QTaJE#UXTuj@B++% z74Q?(uE5xaH{mAy0giBfYz&&hcvuQsVHX^OUm!4ou?P{+7&<{3OoSzH06u|Ba0enD z;vrs`3JDbrBOAuTEch6jK5Q7fcK{_0S zlkf$!tV+9}8=Qd1#|@qsGk8XfbN&g#D1u8+sv7$TouMa8hxee@lgyj&0i1;wYmlqS zIR_(P9vp|Wa1s81lC>EB5CuITxHjvCN1+Bp!4&ukuE6iGybi}2TGVBX!c7RM$9}=1 zFagR%8b%(x0v+oc#&9Ttxv&<#gmO`aQ5Pn|ELa3>8n92W3qFLiU^HYdff(2V?>91x zBk(DdZEP6Nz&tnu>tpCsI1k@JbQAXfDZ>~97vK-55NjBfp(~7sGEEszkO9l!FkFI? z&6vla3k-%8up2&y^36FuFa(~3$?!HDhlVYfPoX`eLMEJmbI`vf+kwfj3(i9ARvbfE z0;}N=oPcXktu^}&EnpZt3tQo1I0N56vo>Z1t*{G9v}OE2 zn)?5C%x&-`TZmUiVFfgj;l81fAL0OMf}EP>VV0sICH z6KEq$gN^VZ@YR^XMXtM9XH1# ziSr8{gGTT)xM2u95AVT8a2hVaP52W6lbJK2DGY`Quno?@Z3yqjJPD~V9nL~jf6iGL z3bUbH3J;S)dw2$JgWmw=FDQg#@HxDa%C!yNgM)AaF2hau9UN)Qi?AII!EJDQc#Sk9 z4>XJh>4wn{a$qdjgP4z?3A6?`WWbAX9qwe%&cSR097EVw2!|>V3jvw*859gPjPK!{ zT+VH%na^AcFTeuW2WQ}GxCT!a7)E_)37ugU+y!em^9@voNN5Ew!+cl`+u)%>&Of*T z)kbi9Ar&&=IjHn3d8h|5&vePJ2+n8dIo{xxX*wX$QsX>26dAk2#>%j z*bPS@U?S%j?1yhBF(!;V-H`!ZxHYb?T52a zeGbPDmcec~20i9-e-0mjIgfTi3z!7+;ZF#e&v^{hp#ijjfshT(1sqc-fD_Pf5%U8) z3zs2rF=GPO!#+3)yO*$^;CYSt5nh7ruouFYF<(F@$b%lQa~xq7EP_v=_Hyn;AZ!J5 zHuPJ`zC)>1+~>m}cotrV%Bz{5;XU{fs;yuLA&X9m9woPcZ4Y#-+%bcH_Pfno3*d;p)r6CZFr+s`=+ zhd$(9=m7fx=ixh;agezPUWd=&8wfkZd;<01Dd-C6FdANj#)s)E$c4GE8aBe_BWxE= z!PoHcQMM1gVG;Zep&!wgkPRcC_Q&)gZ!Bg-qoP)&U z)SqCkhSrb`e?oeE&<Opfzgu&3{bLQ%^T;E|k z9EXkP*e1;Xg7Y3W!aHybF2U9F%oXs{m#pUkb3Ckvuiz@&g1caS#c_kq&fb+ej35_k|3W=9hZV2|!tOA4!cI60XQ1(~%$+bC zCczi*2ju@o-@$a)4yWNexC8${@b7$A1zC{v2jdU2A?hy26JCQg@CEz;?msyv;0O2x z7XHOK4xhreQ15TIi3a7zi@eD7&wHd<~daa<1iyRz+?_mbNC$j)f!O!62Hy}zvRo>>Veo3Jr zG>7)^3?zd3-GNL{zZftECP6vg=Q<;Q(f?vXA2<9DA z>dkSLp$0_33$POscoWS4@aG*A<)J%YMy`TtJWJUg(jW__!a~>z>Uq#oJbm*#&$mp5 zS#Sit1(UzHj)GX|0m(2F=D-R#3OC?47|35zpNAS1=r?E&>982=aNacmLtrYr0o&m_ zxXzcQ%^#wFAQN7I3vdN~ho%*IQ#Yi-EcgeiKFl+A@EojykD*E>o~MFMa0^O5!ZV0a z4f0_k%!jq`J{*Q$;U5U8%<+eKcmZa@Mfep$A7!6lBrJg2;HbiLmCy*r!!)=Gw;=p6 z#v62jB6tykt8zTxMfd_rJx+hYaF_-Q;A;qeg6G>{F06)u)o44cgtFDuv-9j9ybA}Q z;*&h@2#p~F4!{@i6WBF)9~yXIGW-aCLe-i)3kl7j4@`jRFb|f(8*mVQ0;?9!i9&to z2>oFeMAYWFOsEg7Apufg2s{fpb=WWX1Rk#IFlxalm;r|4w{p|g(uYKUlsiXn&`x(H z#O%x3 zJ9adQxU1FbmG$J+`!Id~a}wz7^Z&}5G1l@~hAk1Z8eZ9Y_m_LnE4B50v0A57x5c~M zSL~PXe=V$%MoTNmXk`WSEqaL2#wu&XS>=qj&<@&L5k?2=A)}*J(RkXb%(v{7jm{7c zU7#yG0}0R#x?9!w7QVXC(|XeA1-+qKblHf@G_K(a&ncUtcxi@2VQ{ z7gLS+Tc}3-l~W^TxJJf6t0~{&H#Y`ZE&1D{mi$#wOa7*)m5~WUAtS&~rm0%QDJ&fU2PySY?r!fLX!n0N%{vxN3G1^Krp0frTW1tA0x6+NV zR-W;KHIl!>8EK4%2`~{RS)`oLIW9pbN2 z4jHRpHLQU*U@feJH{mT<4;x@3Y=X_O1-4p8_}i1C#x~dvJK!Dbr17qGj{o9u!PsSe zXS@fyVGrzu_hFy)hw*{sbnLf+93R2~I0%QVQjWuL#0qopR}+qpta6Tz;S)Fp$KeE= zgio#Vj#E~+<1~B*XW(-<3+LbqE5dOezO){4T!63OYxo8(T9qB&!X^05dem_luE16J z9$ItK!+_9c?{0hIp?^aF6A69M0T`SV@C;VmAcl-_i zSPdNatY|KejT{az!2+kVsl#@*aJZZ;9e&PM4u5A`M}V`7BhZ=ZDB&FBC<#H%3`a1O zat?NcI13!1&O%3+bFrhebD5)zbDg6sl!Nk6!MV#3?%d~yaDL!;2r4@FJ06Bg@Ca0f zN1dNKsyI(O9&?^?RE5Xk3FqgIYET`Xbe?t8fSORtdEQam`HiCv)P;J^i;hU=w~qSG z?;KIk0HUEGG=j#?D~=dw0#89KG=*l)tB&T-0$M^VXbo*34%#}eIod&c=l~s^*Bwtg zZ#X(RZ#p_dJamDs@C+nCH|P#Mpr`XEM=$6NeIOC~g4=o9kp#)m&-sg^KcqPCI0iU> zb)-TXc$|Ma20}Uvf(#f8L!5s(GGQoWK{n*TFvx{G$cF+L4uvoRM#8f&3P!_oFb0a? zc^C^Xz&IEW6JR1tf)`;jOo6E|4PJuj@G{JRnJ^1xJO6gP0&`$4%ya(Zm=6nJAuNK$ z@T&8kV~NvYz6ML3e&#ZG-5FpmhZV5W8Dy?<2Aiv4jkA>bhO@M}7S_R=@RqZTx!zgU z+yEP4le4_J8MZjX&8^M|^KIA$+hGU11Mk94*ah!7A2N5t9@y)A+ z;A{8>F2c8P3BH5Na0RZy_iznE8Xfgkuo00cq_C~3DfgY0%@FqDE2yS*6-VNe>% zKv}z^Sq{oW1qg=-cnB)mPn!=zC3wVs#;k1jG9QI1@EBBu$KeUPk68_>!;?@0YCrhx|r+OL@D_HuKOy~50}-!li>2h1UmX&*O-+Gouy`<$5#IrepP8012p zeZ$PRZ<_@$-2T-pwEr|m*!Rql@T_fEqilyY+ICvc*)D609cC5TWvu66tX2_`FWtd^twPxD&tXVMIjbs zcD@O3!Ft$Ww{>o`mpC`UX8V2T7T5}J+u`;$JJQ~6FVMGzPGfCDQ{VqNjq^n6e=g(0 z;+)HPyEx}>Oe@a$8;go_fyR~MT%hr5ajv5=f3EiqvXk-DcyH93_w!qN8@-Lgh2DEs zx6y5#_dYXUqTv#a*L7;?@x~WZy=!^V=%1?A;xt|~UMEujn_|@Sc-K5dyF4pP&gagM z_4%7S`gzyV)$(mO!5Y0r-B0sh7$rACq8FU+mi2Dq8>g@J-#C4(|5kF}O71(!eJ8mq zlDi_g?G_-zB=MBh}Ko&QfdDe)Els&0~JL^+k5S;+`C9$E^0|#@gG6 z)c?jwZk*&M*uJezl4!C-Qzd#yqL(F_DbZ|+=14S8q6IoqZC+p}6}NAZ^t? z_UKh{UoCcd3rTT~x28$mYf|@`ta+K_mPu~8+k|gRU?pBF*yL@A4x63z%_DXKAOuFjbJ}-pE`{Yi5g1OLZVj15&xCL&pZ26Fs@6kp1*G`F9rCb*%E~Z`i@&yiFyXU z-NAcy_YB;Stwto@i%PD)m+)s zIC2_g!@PABjErz!G^9A<8}$g^S{{$^&9RS5?kS0yirZ9j6C|1>?j*_0lW2iNB_8r^ zE$AWN)`BG0NTL{VV#QjQgRz+W%?TWrO z+mefvC`#NY$@P;cMcfq0O_FG`xRWLKmP8xG-5|M7B|0tcX~{kGu&>PzKkRGs!;*VO zqHf}LliW~=vc=7o+&GCQh&w@YZ%edY-0hP4Mxt-U{Z?{!B>GL<-y~P6l5dYfEBW>) zRC3KFYAJ3@$rVX7R@||Ydqbji;;xh2O^I%adrNZRkN8^k&?CN9JtVo>64e#AuH>3a z)Kc7*lJiKEE^fNy?8?6F`c?LA*H3cc5{VeX!k}L6;ugyV^`Pv*Lx!Mxd6}PVBdP&qr+&+@)CsB&HDUvIaXsozn zB{x-~m&AQZatkC{B<>=~Et6=uxXUGXMxwLgo|W8h68$0WACh~xs;{pesp{*iMrb{kQq5^RXBv&NSSaHWn?q!K) ziaS$s%OzSV?n=q+l;}Ni-;>N2ls^lgYM^5AETHZRR(YZL{@5O5QmKZC!aS}aJ*SF>_QNHLIiS9M= z<-UK)7yY0k^{MTLr+lC7?}_V(RdvdB#QNOwI;TF*go_(4Zf$Yvid$FQIC0yF+fLj* z;`SA{uef>Q7KmFQ?l^HLh&w^t_r?7{qJt70mguNNCnP#8(YF$Prz6!b-^n)YroKM) zlPE}{QWDLRXn~H@S{5|*_3ln_-xK#eaj%H`y|~|tTeqdJ1(7;ZYmRK`TXQ#Ydx+aZ z+#%u)6?dq(hK z`&+7&Z+~lwTU*@P;b8A?o4rKiu;DR>%?6r?#JRD z6Ze?7--&xg+$-YV68C3ue-^h?YhPc5>PYofXlq|zJu2>F;yxyBl(^C2MvL1;+-Jmn zM%)Z>hlo2w+?U0jDeg>h-w=15xa-9IK->?-{ZQP~;+_%rjJQ9Gdq>#HCg zslEzoBYh?AW8yw0Zc}lai`!h>zTzf{n;y0 z>u9TbT=lb~t*@US(m7Jb!{RaPDY)M^r&m+>y0>Z+lkvw+#%u)6?dq(Q^kEr+?T{% zC+=I~z9sHqagU07RNQ+VeQkC;El2QaUz?xQIdueUid$3McH(vrw}ZH2#T_T^IC1BQ zJ5Sts;=U#B25~ot`+>M0iu<9sC&c|!+)u^5Def(CZ;5Mn^7V$Fj?@wK>*VW=vf`E( zx4gKK;zo%ZC2n7Flf+FDcci$Z#2qE>OmSz6J6qh9;;t5VwYb~GeMj7P#62VKS#i&b zdsEz7;@%SXp16+AGIBcm`l`InsgV;dZn(I0#f=m$ZHcaylA#QjR#Z^ZpZ+&kj_Chl+I+VL{3bfm{sysxjG6t||hHN|Zw zZU=EYh}%!x6me6;%@emk+yZeYi#t`^sp7sW?mH6gl)9Z#_p`Wn#JwYKsV=@f57m*{ z^UyB7J%3!>YT{NCx3#!&;>L-aByK-(`-xj1ZlSn^;%*RklenA2JuL1~agU07McnVj z{a)OA;ySv@S<%(Ezom3eofVL5GcdEE^ z#GNPZJaLzcyHebh+Wp?~XdvI0IclSpIRouxPA|dpp$VN!D(!|An$M%7%r$6{c^e(8 zb#JUQNWBSXVldy$Sm#RdWR&$p2+s^!!_Xei6=itV&^fBCQvPV)_`rD>{m^+4b-NCg z=V>pe+HSIr@98+n{=NcFnc4Z_JUeAyLnmvs%&`$X-DRt_ZPa>D=eKD+to389C$yG! z4X(&jYc92hZl=7#1>Dh~3yLmcGy5Bj`aqY9sT{GuP@X+^t**1lRtpw;|7 zL2LV|rDC)mw7;mTwpiW(FJ}gUTmv&zNX`YwmQ};{gh6!ReM(I_Dt6CPF=IdZ(cQyrj8G5J*xNA zt@k=vD}7a+=U`oGf7`hx5hv@+k9todU21

UECS8ssVkgl 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

h+2vPuU;hS|CCb%y~4OSHNg8avno`@lG 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Å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 ZbOy4!%%Qx`n$% zvKmROYDY8p3$5Kb&UpYZUFjl$i`xXm8`eG`!!MTAu`J?wC)6#Sd6CPOxy*^LII~)l>N@Tl;OFD?esf z%ZdNx@**~9g%;7d{Gq67++NV}XD0wVXj`%SiLLJ#J>Xg8D!K3lyvr?U{>0F zJ}AfHRv%M+$h@{(q8Aa!QvuXI9Rtm4*=oz#U3cQPcCkOzaFg^3*88*lGA7T``MRQ! zNXv+GDawKrc{=+rnV%lsT??MJ46Iyz*)AhY#M0O=smN;fc0Fjhi1$YKTo4*|a{7gtX@2ssE#VBgtUc z*1id;Z2l3HI!7uL*lz*p&hRI=rqS8-J>;|zW52gYN%m2J1R{DS^a|YiTMF3%)Uu!2 z*6_1eh^ZAuF*o4ln_`)?FE;%R-FkIEuz*~ z6Ies!jwwy*&4mHCvMLy8t$+sY_5sWk5052(&c%^(7-`kg#@=1DS)&E?6C(t=qB|RR zCt62Nj|9ZR!c+O$Zc9XLq5(-F}*ohF2#Q zHN|8^*f{F+(qL_k4V0C&V|!10xIt)~AQ2Bc%UZ~ii`9{g4}HnDS`j=R(<`943_}ap z2`I~>gn>Q8RiS6Ll$Qn|T4G-|&9KgAf~*1Xws~Tdn!MUmOsBx-6#$`Uz|i0Fl(423 zz6T`71M)2`P3t7M&;CO}6`MLiN5o=!ikzuEu@M6ue>4OdjkupijY z6H}&EyJh$LGq4^VA@`N^og@KOGrdw)I;iWDJP}nF-9RA zG3ZbNqLqr=72~p&h9HbIq3rpu7XB*fHa$sg$ay854e+p0jhy#{#AKPCT+YS?Y7z?8 zx$oNA<(mMa%2uNdPs9xTUJ2Hf>WY6cDZk=X%n25~NQqg_DOicE05ZAKi|I`5GkaD!C`;Cy+D(o6DA(Oy~C%u7jvN{Hi*NK zGJ#0ZI>zRNp>%eyUa%+}>RFB9b^52vvq^n0H9fRXSU>Ua7c2C3 z288}|M(KElChsE=Rr(-leQRyChN*2V-!Z^TPiqnpWJ8N0*27kwdes8VcHBaxY(^BM zTgxSCGz8QjJUw}}uri3++1XS|pc#TNp*F@QTVTU|+VRldj$Mc1W(Siz3TSXKcYAve zkbAGF!KE* z1O@}CtuHpwH>>j22|9hhCRt8PIiyX6hi5Puq}1&@JL*M+jou2}QohKLR^eIeeG2nh zx_XcpP{gV={lP%oEA!CYM#XXM;+8H&Nn2`E&&nt!W-6?V?7uSl5n3yiTD@$6nEyJq z=+5ppReu)hXbr`%de`{xewE*TawTi$RuVXIWKEn<$t`1yJfohFWB&tFFXKxmnp4=j z7rOCX9jBFP9})(wlxM+Q>}2O_IaM)xU;;KRh9VGy;coOYI~0WQ)>t67#{SF2n2}qF z=q}dtenD$(QbRIiX)k{gS>p@S2*#Z>*M^5!nhs(UmNq*g^_$bdyjOg9)CH5yoti~M zfR#dCi0+TH? zFW5aDbp<>o=I)?jhZIsuh&YZi%gdx5wbCdc!*2G4YosCA)uf?2MCI$9H1ed!@b`6?bFO~O(X*j zts|xv516ZiPBA9)u5gLVxr?g!qcDGh#u2JCebAA~vv&HXgfJW>nTU}Z@j3v7`KY#a z^s!kOMi@AVa-a}9%cQu4g9R8z*3ciJsmgD1m5W*j4JstP!Yni+mbY8w5bEeMAdIP^ z(S9XS&7p5>4Ogm;F;%$upGaaU?NxizWKF`qC&AO=T5GhWtH^LtVMXmyhf#r|n(_|^ zJF!&ye)$rbg3`zucS;xVC+cCx5bRapCZ;BzTfptO~B9Cf*l^f-5W>_MWXDrqj z8_%)ER&L_vlfL(IOp%rP%_Rg%GC{?7LjQSO-kKnTfPftpwTc=ET3|}A9rw3@H&LbFMveps) z*tTQ~tTwfUO#83&4%DO*IvM>VQN^19&^oNs#_Fphk}iH$$pAR!x{!S6L`!b-c+s{C z05Np5lg~_R@4=A@H#}vtZ+f3do64TiuPA0Egg&zHjeK$_n^jd6B`T_s^_g3smK{1f z0;Kh^V`|o1G{;Try(3L5J3dB4-jI+EL6;7cF(e}@UJwcM&DDEus2 zM_HZ0LJU~j4~3EgH99rxHc}*wuZF0|saaVh(pl~vHSN{u?P8dK1Ygt#Pl7fNfzSYM z(;LP*dx1-EUhN*9D3YY5W!6|o%?!q~>IqgT%K`+`w77xI6DXZuPpR=&-Q5NGxvet2InGE%={Uo6bHHqWS(@wVTwX2NZ{FD+CtIF%WDb@Wx!ywwAl}S8jnCWH{gp5AmXTJbK;K>wk#AVlFey3NrgkW zxg`Xo*BXxtRZ43g<1%w^LHiDV5t#NJ_IHor>;A&17cGivY&5vT2CX~vifV3Kz_JIm z*uF!vv{3ghDh|cFdVE1B%`NMIN&nAH+KMj9lh0(h?ysG+uPn3|F^X}{l{a zL-$DRvT>nL_cc#j;m#Y@dCgCitH;1=()dLV=ZS$gqD_Ph4Vtmf*^NjsY=cQ_eTX5_ z=HX&eSiW^r%prFcsp7;jrZ*Dpl5j|a>>`(G5CyJ~XTGywbiK_>_eP!++7R%JR8D_u zl?nK&$Ofy7%U9i6=HuDcS4{QyrgQ7e55d$_oo(3=CozsHdL?@LiI}_D`yMP~zzLkM zL%V6E>2OCr28ujAvsbU%(US=&TA7I{wdRq)_>0Q{j0;Ady+p!lu%O16y$aaWiLmj# zPD}E41xqS(8#`-Ztq|I^jSi;qP#AvKhUo>lZCZQLvfKgxY_{`en$7qIG)V2vb++w# z=Q`QzbDKR{c7d?6PmO?;t&YUs^ZVDJ+IkqzjuWq5&c*Dj!Ny>h^GWTi=hZ(DtwGSP z{N&a-jxzG(DnHnn+dx>@=f0p<@{Pdl1KOuxl3L*>v;n`fY!`m=u_~L}y0KiHEZL7?cbcl)kj4t8 z5T&uOZLY8pPh)%-RkRn$cm-bafW|aFDz7VvLD_UVvs*sKvz;ld4cm0MV~vn&5W5Q& zut~Y8f7AjwofO($vV+cI)kJ>7+8vpl1P|BOG})?E6N5p$4{d)>ZL_8*O}?0d6hR=w zfcs&LZK*?sfR$@j%GMC=M0H((E6*uuM;&O1ZJjs9yeE#YhipDEx82xD<*7)KpQlpR zHL}}Qq`i}}JRpIOIQW`Ex~TN5X|tk{-A4O1&cBb9dN$jhO+Rqh3)5Fb>77MxNe*9?qYaAk`qPlI0a7 z%=sZN-3RQ4H)@atI-|qsbZw`gN0ARz_=+txNE1@EG zDIc+zyWe{-POP;SW@C%!YUA)>wOm{1jnq8J!!sm19o9GOH$$j8 zD;lF}DOkgnU;@YGd9+p#W5dx9KP`2GD6}jf20E>2img*=tt6e}yNT9ktu>p<7n?6c zgp?&z5g|e>9m^eP_=E08H895bJsslu=<(C-6oc=eoZ)VeL5g;Ln#`^>Rk& zD_BWpa?apEJ*{$cYJpT+&Eocpsnh(?P@dk<5U{BH@P}!0>zDmkYp;{&Y^;JU8hZ#^ ziogA;(}^npN2xh$-km}9SpG^(sQm;*|67qU4VvJL0{nE77eO8QVJF!ID{NIv9T1Q) zQGfWi<<-ahpAsF6DrC1*<`Hv5LX^g1TlrVfC`JHu8E9I>lzE;lC zIVMg-81rYE9PHvXN}YO`wl=fYYQ;5AXR=Nc4Pmoel#d@{@74K?PndW`_LP<6jUdoE z0zSgf6LhB(Fi0uM%->A;b34`SX*)>aeY?wyLl-8j!~p!=@)8>eH15l$a(fCbz4K-> zA|Qi~!|-HiptA_tj1qIGa!0s7E$o}YtS9y1P%^miw_mBnZ#`+mqTQfa+hHZmE45vdj$CEJm7cdgV%aqkRXFgN%mI8h29*UySb< z;`OS0Mv^m!=&|1$CxZB2>)7?&5*fl48{qgSFw}rbh2ESL;)H|vx@nXQ0vCuVpC)zyljCL zoh;7X*0_MLVJ*6JqZ;cjT4)7G+tV)JcC7ltQl>@bLl$DY?{CYOhdRCHK%F4b6r)&2 z$NH+Hdg~>R)pM7+i|heK2tq}oyUE%<=~w!IUNw@N_B}3F#@y2+jqUJ}NIj+n%Fegx z+e9ccTaKGGtW_Q*(%xh4ATdgF!?R|MCNXiEb-cuVtAUC*ZK9S39oEh5R%RPIoY|&Y zY_fA2_|vJ9_Xn?mLZ@Pp1$jQ3^}8u&+~@-d#$w>0(2MoTq!}-P^p1kaw?7w(?{d%C z9K4Y41+;z&$R0D)1}yzyDL40hi>Sbi>G=(wJw7y?x3qN(NicVEU|ZYt5frSk4K=j( z71-&uvt|(7M|VdT!zr5+GxDCydF<<&_zZ9xp&@fjovZ=D`b_=n;)3O9c2tl#t48zu zncjo~o{^i+D^gBJX&SDT!*KxUF}d( zku8R;E$`2RgCX|;5&qX(Hb=y>Ien6cKP#`NZU}LTQ%6?H>9dw1cAEQ?=r7P^dy

!l;Z#JNG1UqrEJ+ktQ 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%0DCBbr{{t=Fo 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 literal 0 HcmV?d00001 diff --git a/packages/DefaultDocumentation.0.7.9/build/NLog.dll b/packages/DefaultDocumentation.0.7.9/build/NLog.dll new file mode 100644 index 0000000000000000000000000000000000000000..e7d8bf99cbe7366933a85e1fb0dcc8c65f102585 GIT binary patch literal 821248 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

#h#o?C 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%0Dim^Giap??astjqN?kW>;2Blvt}kaB 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�x)?@H~7Zxz0^_^S9e;kyps-T1zO?^%2=COcCG% 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

DW4sd??Lu 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 Date: Sun, 7 Nov 2021 04:34:56 +0300 Subject: [PATCH 41/68] --- MathExtended.1.0.0.nupkg | Bin 0 -> 25862 bytes MathExtended.csproj | 3 + MathExtended.nuspec | 19 + Properties/AssemblyInfo.cs | 10 +- .../JonSkeet.MiscUtil.0.2.0/.signature.p7s | Bin 0 -> 9466 bytes .../JonSkeet.MiscUtil.0.2.0.nupkg | Bin 0 -> 121201 bytes .../lib/net35/MiscUtil.dll | Bin 0 -> 158208 bytes .../lib/net35/MiscUtil.xml | 6512 +++++++++++++++++ 8 files changed, 6540 insertions(+), 4 deletions(-) create mode 100644 MathExtended.1.0.0.nupkg create mode 100644 MathExtended.nuspec create mode 100644 packages/JonSkeet.MiscUtil.0.2.0/.signature.p7s create mode 100644 packages/JonSkeet.MiscUtil.0.2.0/JonSkeet.MiscUtil.0.2.0.nupkg create mode 100644 packages/JonSkeet.MiscUtil.0.2.0/lib/net35/MiscUtil.dll create mode 100644 packages/JonSkeet.MiscUtil.0.2.0/lib/net35/MiscUtil.xml diff --git a/MathExtended.1.0.0.nupkg b/MathExtended.1.0.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..1cb6ee25a596dcd4ef2697a2f024bfda5a996134 GIT binary patch literal 25862 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⋙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 4 + + false + packages\JTForks.MiscUtil.1.285.0\lib\netstandard1.0\JTForks.MiscUtil.dll diff --git a/MathExtended.nuspec b/MathExtended.nuspec new file mode 100644 index 0000000..a451454 --- /dev/null +++ b/MathExtended.nuspec @@ -0,0 +1,19 @@ + + + + $id$ + 1.0.0.0 + MathExtendent + Lamer0 + C# + false + MIT + https://github.com/Lamer0/ExtendentMath + https://avatars.githubusercontent.com/u/49834917?v=4 +

MathExtended + A math library that will include work with matrices, some trigonometric functions of which are not in Math + + https://github.com/Lamer0/ExtendentMath + Pre-release + + \ No newline at end of file diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs index 1a2a2f2..e5bcde4 100644 --- a/Properties/AssemblyInfo.cs +++ b/Properties/AssemblyInfo.cs @@ -1,14 +1,15 @@ -using System.Reflection; +using System.Resources; +using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Общие сведения об этой сборке предоставляются следующим набором // набора атрибутов. Измените значения этих атрибутов для изменения сведений, // связанные со сборкой. -[assembly: AssemblyTitle("MathExtended")] -[assembly: AssemblyDescription("")] +[assembly: AssemblyTitle("MathExtended Lamer0")] +[assembly: AssemblyDescription("Математическая библиотека, которая будет включать в себя работу с матрицами,некоторые тригонометрические функции которых нет в Math https://github.com/Lamer0/ExtendentMath")] [assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] +[assembly: AssemblyCompany("Lamer0")] [assembly: AssemblyProduct("MathExtended")] [assembly: AssemblyCopyright("Copyright © 2021")] [assembly: AssemblyTrademark("")] @@ -34,3 +35,4 @@ // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: NeutralResourcesLanguage("")] diff --git a/packages/JonSkeet.MiscUtil.0.2.0/.signature.p7s b/packages/JonSkeet.MiscUtil.0.2.0/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..4f8843d74258fb17f72c179925b234b22fa7bc17 GIT binary patch literal 9466 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 Vyjj^m^6Ws!3=HLn>%j15004)q1%Utn literal 0 HcmV?d00001 diff --git a/packages/JonSkeet.MiscUtil.0.2.0/lib/net35/MiscUtil.dll b/packages/JonSkeet.MiscUtil.0.2.0/lib/net35/MiscUtil.dll new file mode 100644 index 0000000000000000000000000000000000000000..d53bad41440724dbeec4e44ca1cedf933a112f9b GIT binary patch literal 158208 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 T--w47#2C9M_|O0T?>O*p;Ew0W literal 0 HcmV?d00001 diff --git a/packages/JonSkeet.MiscUtil.0.2.0/lib/net35/MiscUtil.xml b/packages/JonSkeet.MiscUtil.0.2.0/lib/net35/MiscUtil.xml new file mode 100644 index 0000000..c853db9 --- /dev/null +++ b/packages/JonSkeet.MiscUtil.0.2.0/lib/net35/MiscUtil.xml @@ -0,0 +1,6512 @@ +<?xml version="1.0"?> +<doc> + <assembly> + <name>MiscUtil</name> + </assembly> + <members> + <member name="T:MiscUtil.ApplicationChooser"> + <summary> + Class allowing a user to choose a console application to run, after + examining an assembly for all classes containing a static Main method, either + parameterless or with a string array parameter. + The options are presented in a list ordered first by those with a Description + attribute (by that description) and then those without (ordered by name). + </summary> + </member> + <member name="M:MiscUtil.ApplicationChooser.Run(System.Type,System.String[])"> + <summary> + Displays entry points and prompts the user to choose one. + </summary> + <param name="type">Type within the assembly containing the applications. This type is + not included in the list of entry points to run.</param> + <param name="args">Arguments to pass in for methods which have a single string[] parameter.</param> + </member> + <member name="M:MiscUtil.ApplicationChooser.GetEntryPoint(System.Type)"> + <summary> + Returns the entry point for a method, or null if no entry points can be used. + An entry point taking string[] is preferred to one with no parameters. + </summary> + </member> + <member name="T:MiscUtil.BufferAcquisitionException"> + <summary> + Exception thrown to indicate that a buffer of the + desired size cannot be acquired. + </summary> + </member> + <member name="M:MiscUtil.BufferAcquisitionException.#ctor(System.String)"> + <summary> + Creates an instance of this class with the given message. + </summary> + </member> + <member name="T:MiscUtil.CachedBuffer"> + <summary> + Type of buffer returned by CachingBufferManager. + </summary> + </member> + <member name="T:MiscUtil.CachingBufferManager"> + <summary> + An implementation of IBufferManager which keeps a cache of + buffers. The precise behaviour is controlled by the nested Options + class. + + This class is safe to use from multiple threads, but buffers + returned are not inherently thread safe (although they have no + thread affinity). + </summary> + </member> + <member name="F:MiscUtil.CachingBufferManager.options"> + <summary> + Options configurating this manager. + </summary> + </member> + <member name="F:MiscUtil.CachingBufferManager.bufferBands"> + <summary> + List of bands. Each entry is an array + of size MaxBuffersPerSizeBand. Each entry of that array is either + null or a buffer, which may or may not be in use. The first entry + in the list consists of buffers of size MinBufferSize, then + MinBufferSize*ScalingFactor etc. + </summary> + </member> + <member name="F:MiscUtil.CachingBufferManager.padlock"> + <summary> + Lock for member access. 5 seconds should be more than adequate + as a timeout. + </summary> + </member> + <member name="M:MiscUtil.CachingBufferManager.#ctor"> + <summary> + Creates a caching buffer manager configured with the default options + (as per a freshly created instance of Options). + </summary> + </member> + <member name="M:MiscUtil.CachingBufferManager.#ctor(MiscUtil.CachingBufferManager.Options)"> + <summary> + Creates a caching buffer manager configured with the specified + options. Note that the options are cloned - any changes to the + options passed in after construction will have no effect on the + manager. + </summary> + <param name="options">The configuration options for this manager.</param> + <exception cref="T:System.ArgumentException">The configuration is invalid</exception> + </member> + <member name="M:MiscUtil.CachingBufferManager.GetBuffer(System.Int32)"> + <summary> + Returns a buffer of the given size or greater. + </summary> + <exception cref="T:MiscUtil.BufferAcquisitionException">If the buffer could + not be taken from a pool, and the ActionOnBufferUnavailable + is set to ThrowException, or if the specified size is greater + than the maximum buffer size.</exception> + <exception cref="T:System.ArgumentOutOfRangeException">If minimumSize is less than 0.</exception> + </member> + <member name="M:MiscUtil.CachingBufferManager.CalculateNextSizeBand(System.Int32)"> + <summary> + Works out the size of the next band up from the current size. + This is based on the scaling factor in the options, the maximum buffer + size, and the requirement that the returned size should always be + greater than the original one. (This is achieved using Ceiling - + the worst case is when size is 1 and the scaling factor is 1.25, + whereupon Ceiling will return 2.) + </summary> + <param name="size"></param> + </member> + <member name="M:MiscUtil.CachingBufferManager.FindAvailableBuffer(System.Int32,System.Int32)"> + <summary> + Finds an available buffer from the list, creating a new buffer + where appropriate. + </summary> + <param name="listIndex">Index into the list of buffer slots</param> + <param name="size">Size of buffer to create if necessary</param> + <returns>An available buffer, or null if none are available in the given band.</returns> + </member> + <member name="T:MiscUtil.CachingBufferManager.Options"> + <summary> + Provides options for CachingBufferManager. + </summary> + </member> + <member name="P:MiscUtil.CachingBufferManager.Options.MaxBuffersPerSizeBand"> + <summary> + The maximum number of buffers to keep for each + size band. When a buffer is requested from one size band, + if none are available and this many buffers have already + been allocated, a buffer from the next size band is + returned (using the same algorithm). Defaults to 16; + must not be less than 1. + </summary> + </member> + <member name="P:MiscUtil.CachingBufferManager.Options.MinBufferSize"> + <summary> + The minimum buffer size to use, in bytes. If a buffer less than this size is + requested, this is the size that will actually be used. Must be at least 1. + On construction of the CachingBufferManager, this must not be greater than + MaxBufferSize. Defaults to 1024. + </summary> + </member> + <member name="P:MiscUtil.CachingBufferManager.Options.ClearAfterUse"> + <summary> + Whether buffers are cleared (i.e. all bytes set to 0) after they + are disposed. Defaults to true. For situations where buffers do not + contain any sensitive information, and all clients know to only use + data they have specifically put into the buffer (e.g. when copying + streams), this may be set to false for efficiency. + </summary> + </member> + <member name="P:MiscUtil.CachingBufferManager.Options.ScalingFactor"> + <summary> + The scaling factor for sizes of buffers. The smallest buffer is of size + MinBufferSize, then the next smallest is MinBufferSize*ScalingFactor, and + so forth. The default is 2.0, so with the default buffer size of 1K, buffers + will be 1K, 2K, 4K, 8K etc. The value must be greater than or equal to 1.25. + </summary> + </member> + <member name="P:MiscUtil.CachingBufferManager.Options.MaxBufferSize"> + <summary> + The maximum size of buffer to return, or 0 for no maximum. + This is primarily used with an ActionOnBufferUnavailable of UseBigger, + which could potentially create bigger and bigger buffers. If a buffer + of a size greater than this is requested, a BufferAcquisitionException will + be thrown. Defaults to Int32.MaxValue. The value must be greater than 0. + On construction of the CachingBufferManager, this must not be less than + MinBufferSize. + </summary> + </member> + <member name="P:MiscUtil.CachingBufferManager.Options.ActionOnBufferUnavailable"> + <summary> + Determines the action to take when a buffer of the most appropriate size + is unavailable. Defaults to ReturnUncached. + </summary> + </member> + <member name="T:MiscUtil.CachingBufferManager.Options.BufferUnavailableAction"> + <summary> + Enumeration of options available when a buffer of the most appropriate size + is unavailable. + </summary> + </member> + <member name="F:MiscUtil.CachingBufferManager.Options.BufferUnavailableAction.UseBigger"> + <summary> + A buffer of the next size band up is returned, or the size band above that, + etc, until the maximum size is reached, at which point this fails over to + ReturnUncached. + </summary> + </member> + <member name="F:MiscUtil.CachingBufferManager.Options.BufferUnavailableAction.ReturnUncached"> + <summary> + A buffer of exactly the right size is returned, but one which when disposed + does not return the buffer to a cache. + </summary> + </member> + <member name="F:MiscUtil.CachingBufferManager.Options.BufferUnavailableAction.ThrowException"> + <summary> + A BufferAcquisitionException is thrown. + </summary> + </member> + <member name="M:MiscUtil.CachingBufferManager.Options.Clone"> + <summary> + Strongly typed Clone implementation. + </summary> + <returns>A clone of these options</returns> + </member> + <member name="M:MiscUtil.CachingBufferManager.Options.System#ICloneable#Clone"> + <summary> + Weakly typed Clone implementation. + </summary> + </member> + <member name="T:MiscUtil.Checksum.Adler32"> + <summary> + Implementation of the Adler32 checksum routine. + TODO: Derive from HashAlgorithm. + </summary> + </member> + <member name="F:MiscUtil.Checksum.Adler32.Base"> + <summary> + Base for modulo arithmetic + </summary> + </member> + <member name="F:MiscUtil.Checksum.Adler32.NMax"> + <summary> + Number of iterations we can safely do before applying the modulo. + </summary> + </member> + <member name="M:MiscUtil.Checksum.Adler32.ComputeChecksum(System.Int32,System.Byte[],System.Int32,System.Int32)"> + <summary> + Computes the Adler32 checksum for the given data. + </summary> + <param name="initial"> + Initial value or previous result. Use 1 for the + first transformation. + </param> + <param name="data">The data to compute the checksum of</param> + <param name="start">Index of first byte to compute checksum for</param> + <param name="length">Number of bytes to compute checksum for</param> + <returns>The checksum of the given data</returns> + </member> + <member name="M:MiscUtil.Checksum.Adler32.ComputeChecksum(System.Int32,System.Byte[])"> + <summary> + Computes the Adler32 checksum for the given data. + </summary> + <param name="initial"> + Initial value or previous result. Use 1 for the + first transformation. + </param> + <param name="data">The data to compute the checksum of</param> + <returns>The checksum of the given data</returns> + </member> + <member name="M:MiscUtil.Checksum.Adler32.ComputeChecksum(System.IO.Stream)"> + <summary> + Computes the checksum for a stream, starting from the current + position and reading until no more can be read + </summary> + <param name="stream">The stream to compute the checksum for</param> + <returns>The checksum for the stream</returns> + </member> + <member name="M:MiscUtil.Checksum.Adler32.ComputeChecksum(System.String)"> + <summary> + Computes the checksum of a file + </summary> + <param name="path">The file to compute the checksum of</param> + <returns>The checksum for the file</returns> + </member> + <member name="T:MiscUtil.Collections.ComparisonComparer`1"> + <summary> + Utility to build an IComparer implementation from a Comparison delegate, + and a static method to do the reverse. + </summary> + </member> + <member name="M:MiscUtil.Collections.ComparisonComparer`1.#ctor(System.Comparison{`0})"> + <summary> + Creates a new instance which will proxy to the given Comparison + delegate when called. + </summary> + <param name="comparison">Comparison delegate to proxy to. Must not be null.</param> + </member> + <member name="M:MiscUtil.Collections.ComparisonComparer`1.Compare(`0,`0)"> + <summary> + Implementation of IComparer.Compare which simply proxies + to the originally specified Comparison delegate. + </summary> + </member> + <member name="M:MiscUtil.Collections.ComparisonComparer`1.CreateComparison(System.Collections.Generic.IComparer{`0})"> + <summary> + Creates a Comparison delegate from the given Comparer. + </summary> + <param name="comparer">Comparer to use when the returned delegate is called. Must not be null.</param> + <returns>A Comparison delegate which proxies to the given Comparer.</returns> + </member> + <member name="T:MiscUtil.Collections.DictionaryByType"> + <summary> + Map from types to instances of those types, e.g. int to 10 and + string to "hi" within the same dictionary. This cannot be done + without casting (and boxing for value types) as .NET cannot + represent this relationship with generics in their current form. + This class encapsulates the nastiness in a single place. + </summary> + </member> + <member name="M:MiscUtil.Collections.DictionaryByType.Add``1(``0)"> + <summary> + Maps the specified type argument to the given value. If + the type argument already has a value within the dictionary, + ArgumentException is thrown. + </summary> + </member> + <member name="M:MiscUtil.Collections.DictionaryByType.Put``1(``0)"> + <summary> + Maps the specified type argument to the given value. If + the type argument already has a value within the dictionary, it + is overwritten. + </summary> + </member> + <member name="M:MiscUtil.Collections.DictionaryByType.Get``1"> + <summary> + Attempts to fetch a value from the dictionary, throwing a + KeyNotFoundException if the specified type argument has no + entry in the dictionary. + </summary> + </member> + <member name="M:MiscUtil.Collections.DictionaryByType.TryGet``1(``0@)"> + <summary> + Attempts to fetch a value from the dictionary, returning false and + setting the output parameter to the default value for T if it + fails, or returning true and setting the output parameter to the + fetched value if it succeeds. + </summary> + </member> + <member name="T:MiscUtil.Collections.Extensions.ComparerExt"> + <summary> + Extensions to IComparer + </summary> + </member> + <member name="M:MiscUtil.Collections.Extensions.ComparerExt.Reverse``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Reverses the original comparer; if it was already a reverse comparer, + the previous version was reversed (rather than reversing twice). + In other words, for any comparer X, X==X.Reverse().Reverse(). + </summary> + </member> + <member name="M:MiscUtil.Collections.Extensions.ComparerExt.ThenBy``1(System.Collections.Generic.IComparer{``0},System.Collections.Generic.IComparer{``0})"> + <summary> + Combines a comparer with a second comparer to implement composite sort + behaviour. + </summary> + </member> + <member name="M:MiscUtil.Collections.Extensions.ComparerExt.ThenBy``2(System.Collections.Generic.IComparer{``0},System.Func{``0,``1})"> + <summary> + Combines a comparer with a projection to implement composite sort behaviour. + </summary> + </member> + <member name="T:MiscUtil.Collections.Extensions.DictionaryExt"> + <summary> + Extensions to IDictionary + </summary> + </member> + <member name="M:MiscUtil.Collections.Extensions.DictionaryExt.GetOrCreate``2(System.Collections.Generic.IDictionary{``0,``1},``0)"> + <summary> + Returns the value associated with the specified key if there + already is one, or inserts a new value for the specified key and + returns that. + </summary> + <typeparam name="TKey">Type of key</typeparam> + <typeparam name="TValue">Type of value, which must either have + a public parameterless constructor or be a value type</typeparam> + <param name="dictionary">Dictionary to access</param> + <param name="key">Key to lookup</param> + <returns>Existing value in the dictionary, or new one inserted</returns> + </member> + <member name="M:MiscUtil.Collections.Extensions.DictionaryExt.GetOrCreate``2(System.Collections.Generic.IDictionary{``0,``1},``0,System.Func{``1})"> + <summary> + Returns the value associated with the specified key if there already + is one, or calls the specified delegate to create a new value which is + stored and returned. + </summary> + <typeparam name="TKey">Type of key</typeparam> + <typeparam name="TValue">Type of value</typeparam> + <param name="dictionary">Dictionary to access</param> + <param name="key">Key to lookup</param> + <param name="valueProvider">Delegate to provide new value if required</param> + <returns>Existing value in the dictionary, or new one inserted</returns> + </member> + <member name="M:MiscUtil.Collections.Extensions.DictionaryExt.GetOrCreate``2(System.Collections.Generic.IDictionary{``0,``1},``0,``1)"> + <summary> + Returns the value associated with the specified key if there + already is one, or inserts the specified value and returns it. + </summary> + <typeparam name="TKey">Type of key</typeparam> + <typeparam name="TValue">Type of value</typeparam> + <param name="dictionary">Dictionary to access</param> + <param name="key">Key to lookup</param> + <param name="missingValue">Value to use when key is missing</param> + <returns>Existing value in the dictionary, or new one inserted</returns> + </member> + <member name="T:MiscUtil.Collections.Extensions.RangeBasedExt"> + <summary> + Extension methods to do with ranges. + </summary> + </member> + <member name="M:MiscUtil.Collections.Extensions.RangeBasedExt.To``1(``0,``0)"> + <summary> + Creates an inclusive range between two values. The default comparer is used + to compare values. + </summary> + <typeparam name="T">Type of the values</typeparam> + <param name="start">Start of range.</param> + <param name="end">End of range.</param> + <returns>An inclusive range between the start point and the end point.</returns> + </member> + <member name="M:MiscUtil.Collections.Extensions.RangeBasedExt.StepChar(MiscUtil.Collections.Range{System.Char},System.Int32)"> + <summary> + Returns a RangeIterator over the given range, where the stepping function + is to step by the given number of characters. + </summary> + <param name="range">The range to create an iterator for</param> + <param name="step">How many characters to step each time</param> + <returns>A RangeIterator with a suitable stepping function</returns> + </member> + <member name="T:MiscUtil.Collections.Extensions.SmartEnumerableExt"> + <summary> + Wrapper methods for SmartEnumerable[T]. + </summary> + </member> + <member name="M:MiscUtil.Collections.Extensions.SmartEnumerableExt.AsSmartEnumerable``1(System.Collections.Generic.IEnumerable{``0})"> + <summary> + Extension method to make life easier. + </summary> + <typeparam name="T">Type of enumerable</typeparam> + <param name="source">Source enumerable</param> + <returns>A new SmartEnumerable of the appropriate type</returns> + </member> + <member name="T:MiscUtil.Collections.LinkedComparer`1"> + <summary> + Comparer to daisy-chain two existing comparers and + apply in sequence (i.e. sort by x then y) + </summary> + <typeparam name="T"></typeparam> + </member> + <member name="M:MiscUtil.Collections.LinkedComparer`1.#ctor(System.Collections.Generic.IComparer{`0},System.Collections.Generic.IComparer{`0})"> + <summary> + Create a new LinkedComparer + </summary> + <param name="primary">The first comparison to use</param> + <param name="secondary">The next level of comparison if the primary returns 0 (equivalent)</param> + </member> + <member name="T:MiscUtil.Collections.ProjectionComparer"> + <summary> + Non-generic class to produce instances of the generic class, + optionally using type inference. + </summary> + </member> + <member name="M:MiscUtil.Collections.ProjectionComparer.Create``2(System.Func{``0,``1})"> + <summary> + Creates an instance of ProjectionComparer using the specified projection. + </summary> + <typeparam name="TSource">Type parameter for the elements to be compared</typeparam> + <typeparam name="TKey">Type parameter for the keys to be compared, after being projected from the elements</typeparam> + <param name="projection">Projection to use when determining the key of an element</param> + <returns>A comparer which will compare elements by projecting each element to its key, and comparing keys</returns> + </member> + <member name="M:MiscUtil.Collections.ProjectionComparer.Create``2(``0,System.Func{``0,``1})"> + <summary> + Creates an instance of ProjectionComparer using the specified projection. + The ignored parameter is solely present to aid type inference. + </summary> + <typeparam name="TSource">Type parameter for the elements to be compared</typeparam> + <typeparam name="TKey">Type parameter for the keys to be compared, after being projected from the elements</typeparam> + <param name="ignored">Value is ignored - type may be used by type inference</param> + <param name="projection">Projection to use when determining the key of an element</param> + <returns>A comparer which will compare elements by projecting each element to its key, and comparing keys</returns> + </member> + <member name="T:MiscUtil.Collections.ProjectionComparer`1"> + <summary> + Class generic in the source only to produce instances of the + doubly generic class, optionally using type inference. + </summary> + </member> + <member name="M:MiscUtil.Collections.ProjectionComparer`1.Create``1(System.Func{`0,``0})"> + <summary> + Creates an instance of ProjectionComparer using the specified projection. + </summary> + <typeparam name="TKey">Type parameter for the keys to be compared, after being projected from the elements</typeparam> + <param name="projection">Projection to use when determining the key of an element</param> + <returns>A comparer which will compare elements by projecting each element to its key, and comparing keys</returns> + </member> + <member name="T:MiscUtil.Collections.ProjectionComparer`2"> + <summary> + Comparer which projects each element of the comparison to a key, and then compares + those keys using the specified (or default) comparer for the key type. + </summary> + <typeparam name="TSource">Type of elements which this comparer will be asked to compare</typeparam> + <typeparam name="TKey">Type of the key projected from the element</typeparam> + </member> + <member name="M:MiscUtil.Collections.ProjectionComparer`2.#ctor(System.Func{`0,`1})"> + <summary> + Creates a new instance using the specified projection, which must not be null. + The default comparer for the projected type is used. + </summary> + <param name="projection">Projection to use during comparisons</param> + </member> + <member name="M:MiscUtil.Collections.ProjectionComparer`2.#ctor(System.Func{`0,`1},System.Collections.Generic.IComparer{`1})"> + <summary> + Creates a new instance using the specified projection, which must not be null. + </summary> + <param name="projection">Projection to use during comparisons</param> + <param name="comparer">The comparer to use on the keys. May be null, in + which case the default comparer will be used.</param> + </member> + <member name="M:MiscUtil.Collections.ProjectionComparer`2.Compare(`0,`0)"> + <summary> + Compares x and y by projecting them to keys and then comparing the keys. + Null values are not projected; they obey the + standard comparer contract such that two null values are equal; any null value is + less than any non-null value. + </summary> + </member> + <member name="T:MiscUtil.Collections.ProjectionEqualityComparer"> + <summary> + Non-generic class to produce instances of the generic class, + optionally using type inference. + </summary> + </member> + <member name="M:MiscUtil.Collections.ProjectionEqualityComparer.Create``2(System.Func{``0,``1})"> + <summary> + Creates an instance of ProjectionEqualityComparer using the specified projection. + </summary> + <typeparam name="TSource">Type parameter for the elements to be compared</typeparam> + <typeparam name="TKey">Type parameter for the keys to be compared, after being projected from the elements</typeparam> + <param name="projection">Projection to use when determining the key of an element</param> + <returns>A comparer which will compare elements by projecting each element to its key, and comparing keys</returns> + </member> + <member name="M:MiscUtil.Collections.ProjectionEqualityComparer.Create``2(``0,System.Func{``0,``1})"> + <summary> + Creates an instance of ProjectionEqualityComparer using the specified projection. + The ignored parameter is solely present to aid type inference. + </summary> + <typeparam name="TSource">Type parameter for the elements to be compared</typeparam> + <typeparam name="TKey">Type parameter for the keys to be compared, after being projected from the elements</typeparam> + <param name="ignored">Value is ignored - type may be used by type inference</param> + <param name="projection">Projection to use when determining the key of an element</param> + <returns>A comparer which will compare elements by projecting each element to its key, and comparing keys</returns> + </member> + <member name="T:MiscUtil.Collections.ProjectionEqualityComparer`1"> + <summary> + Class generic in the source only to produce instances of the + doubly generic class, optionally using type inference. + </summary> + </member> + <member name="M:MiscUtil.Collections.ProjectionEqualityComparer`1.Create``1(System.Func{`0,``0})"> + <summary> + Creates an instance of ProjectionEqualityComparer using the specified projection. + </summary> + <typeparam name="TKey">Type parameter for the keys to be compared, after being projected from the elements</typeparam> + <param name="projection">Projection to use when determining the key of an element</param> + <returns>A comparer which will compare elements by projecting each element to its key, and comparing keys</returns> + </member> + <member name="T:MiscUtil.Collections.ProjectionEqualityComparer`2"> + <summary> + Comparer which projects each element of the comparison to a key, and then compares + those keys using the specified (or default) comparer for the key type. + </summary> + <typeparam name="TSource">Type of elements which this comparer will be asked to compare</typeparam> + <typeparam name="TKey">Type of the key projected from the element</typeparam> + </member> + <member name="M:MiscUtil.Collections.ProjectionEqualityComparer`2.#ctor(System.Func{`0,`1})"> + <summary> + Creates a new instance using the specified projection, which must not be null. + The default comparer for the projected type is used. + </summary> + <param name="projection">Projection to use during comparisons</param> + </member> + <member name="M:MiscUtil.Collections.ProjectionEqualityComparer`2.#ctor(System.Func{`0,`1},System.Collections.Generic.IEqualityComparer{`1})"> + <summary> + Creates a new instance using the specified projection, which must not be null. + </summary> + <param name="projection">Projection to use during comparisons</param> + <param name="comparer">The comparer to use on the keys. May be null, in + which case the default comparer will be used.</param> + </member> + <member name="M:MiscUtil.Collections.ProjectionEqualityComparer`2.Equals(`0,`0)"> + <summary> + Compares the two specified values for equality by applying the projection + to each value and then using the equality comparer on the resulting keys. Null + references are never passed to the projection. + </summary> + </member> + <member name="M:MiscUtil.Collections.ProjectionEqualityComparer`2.GetHashCode(`0)"> + <summary> + Produces a hash code for the given value by projecting it and + then asking the equality comparer to find the hash code of + the resulting key. + </summary> + </member> + <member name="T:MiscUtil.Collections.RandomAccessQueue`1"> + <summary> + A class with a similar function to System.Collections.Queue, + but allowing random access to the contents of the queue as well + as the usual enqueuing at the end and dequeuing at the start. + This implementation is not synchronized at all - clients should + provide their own synchronization. A SyncRoot is provided for + this purpose, although any other common reference may also be used. + In order to provide an efficient implementation of both random access + and the removal of items from the start of the queue, a circular + buffer is used and resized when necessary. The buffer never shrinks + unless TrimToSize is called. + </summary> + </member> + <member name="F:MiscUtil.Collections.RandomAccessQueue`1.DefaultCapacity"> + <summary> + Default (and minimum) capacity for the buffer containing the elements in the queue. + </summary> + </member> + <member name="F:MiscUtil.Collections.RandomAccessQueue`1.buffer"> + <summary> + The circular buffer containing the items in the queue + </summary> + </member> + <member name="F:MiscUtil.Collections.RandomAccessQueue`1.start"> + <summary> + The "physical" index of item with logical index 0. + </summary> + </member> + <member name="P:MiscUtil.Collections.RandomAccessQueue`1.Count"> + <summary> + The number of items in the queue. + </summary> + </member> + <member name="P:MiscUtil.Collections.RandomAccessQueue`1.Item(System.Int32)"> + <summary> + Indexer for the class, allowing items to be retrieved by + index and replaced. + </summary> + </member> + <member name="P:MiscUtil.Collections.RandomAccessQueue`1.Capacity"> + <summary> + Current capacity of the queue - the size of the buffer. + </summary> + </member> + <member name="F:MiscUtil.Collections.RandomAccessQueue`1.version"> + <summary> + Version information for the queue - this is incremented every time + the contents of the queue is changed, so that enumerators can detect + the change. + </summary> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.#ctor(System.Int32)"> + <summary> + Initializes a new instance of the RandomAccessQueue class which is empty + and has the specified capacity (or the default capacity if that is higher). + </summary> + <param name="capacity">The initial capacity of the queue</param> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.#ctor"> + <summary> + Initializes a new instance of the RandomAccessQueue class which is empty + and has the default capacity. + </summary> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.#ctor(`0[],System.Int32,System.Int32)"> + <summary> + Private constructor used in cloning + </summary> + <param name="buffer">The buffer to clone for use in this queue</param> + <param name="count">The number of "valid" elements in the buffer</param> + <param name="start">The first valid element in the queue</param> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.Clear"> + <summary> + Clears the queue without resizing the buffer + </summary> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.TrimToSize"> + <summary> + Resizes the buffer to just fit the current number of items in the queue. + The buffer size is never set to less than the default capacity, however. + </summary> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.Enqueue(`0)"> + <summary> + Adds an item to the end of the queue. + </summary> + <param name="value">The item to add to the queue. The value can be a null reference.</param> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.Enqueue(`0,System.Int32)"> + <summary> + Adds an object at the specified index. + </summary> + <param name="value">The item to add to the queue. The value can be a null reference.</param> + <param name="index">The index of the newly added item</param> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.Dequeue"> + <summary> + Removes an T from the start of the queue, returning it. + </summary> + <returns>The item at the head of the queue</returns> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.RemoveAt(System.Int32)"> + <summary> + Removes an item at the given index and returns it. + </summary> + <param name="index">The index of the item to remove</param> + <returns>The item which has been removed from the</returns> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.CopyTo(System.Array,System.Int32)"> + <summary> + Copies the elements of the queue to the given array, beginning at + the specified index in the array. + </summary> + <param name="dest">The array to copy the contents of the queue into</param> + <param name="index">The zero-based index in array at which copying begins</param> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.BinarySearch(`0)"> + <summary> + Performs a binary search using IComparable. If the value occurs multiple times, + there is no guarantee as to which index will be returned. If the value does + not occur at all, the bitwise complement of the first index containing a larger + value is returned (or the bitwise complement of the size of the queue if the value + is larger than any value in the queue). This is the location at which the value should + be inserted to preserve sort order. If the list is not sorted according to + the appropriate IComparable implementation before this method is calling, the result + is not guaranteed. The value passed in must implement IComparable, unless it is null. + The IComparable.CompareTo method will be called on the value passed in, with the + values in the queue as parameters, rather than the other way round. No test is made + to make sure that the types of item are the same - it is up to the implementation of + IComparable to throw an exception if incomparable types are presented. + A null reference is treated as being less than any item, (so passing in null will always + return 0 or -1). The implementation of IComparable is never asked to compare to null. + </summary> + <param name="obj">The item to search for</param> + <returns> + A location in the queue containing the item, or the bitwise complement of the + first index containing a larger value. + </returns> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.BinarySearch(`0,System.Collections.Generic.IComparer{`0})"> + <summary> + Performs a binary search using the specified IComparer. If the value occurs multiple times, + there is no guarantee as to which index will be returned. If the value does + not occur at all, the bitwise complement of the first index containing a larger + value is returned (or the bitwise complement of the size of the queue if the value + is larger than any value in the queue). This is the location at which the value should + be inserted to preserve sort order. If the list is not sorted according to + the appropriate IComparer implementation before this method is calling, the result + is not guaranteed. The CompareTo method will be called on the comparer passed in, with the + specified value as the first parameter, and values in the queue as the second parameter, + rather than the other way round. + While a null reference should be treated as being less than any object in most + implementations of IComparer, this is not required by this method. Any null references + (whether in the queue or the specified value itself) are passed directly to the CompareTo + method. This allow for IComparers to reverse the usual order, if required. + </summary> + <param name="obj">The object to search for</param> + <param name="comparer">The comparator to use for searching. Must not be null.</param> + <returns> + A location in the queue containing the object, or the bitwise complement of the + first index containing a larger value. + </returns> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.BinarySearch(`0,System.Comparison{`0})"> + <summary> + Performs a binary search using the specified Comparison. If the value occurs multiple times, + there is no guarantee as to which index will be returned. If the value does + not occur at all, the bitwise complement of the first index containing a larger + value is returned (or the bitwise complement of the size of the queue if the value + is larger than any value in the queue). This is the location at which the value should + be inserted to preserve sort order. If the list is not sorted according to + the appropriate IComparer implementation before this method is calling, the result + is not guaranteed. The CompareTo method will be called on the comparer passed in, with the + specified value as the first parameter, and values in the queue as the second parameter, + rather than the other way round. + While a null reference should be treated as being less than any object in most + implementations of IComparer, this is not required by this method. Any null references + (whether in the queue or the specified value itself) are passed directly to the CompareTo + method. This allow for Comparisons to reverse the usual order, if required. + </summary> + <param name="obj">The object to search for</param> + <param name="comparison">The comparison to use for searching. Must not be null.</param> + <returns> + A location in the queue containing the object, or the bitwise complement of the + first index containing a larger value. + </returns> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.GetEnumerator"> + <summary> + Returns an enumerator that can iterate through the queue. + Note that due to the way C# 2.0 iterators work, we cannot spot changes + to the queue after the enumerator was fetched but before MoveNext() is first + called. + </summary> + <returns>Returns an enumerator for the entire queue.</returns> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.System#Collections#IEnumerable#GetEnumerator"> + <summary> + Returns an enumerator that can iterate through the queue. + </summary> + <returns>Returns an enumerator for the entire queue.</returns> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.System#ICloneable#Clone"> + <summary> + Creates a new queue with the same contents as this queue. + The queues are separate, however - adding an item to the returned + queue doesn't affect the current queue or vice versa. + A new sync root is also supplied. + </summary> + <returns>A clone of the current queue</returns> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.Clone"> + <summary> + Strongly typed version of ICloneable.Clone. Creates a new queue + with the same contents as this queue. + The queues are separate, however - adding an item to the returned + queue doesn't affect the current queue or vice versa. + A new sync root is also supplied. + </summary> + <returns>A clone of the current queue</returns> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.Resize(System.Int32,System.Int32)"> + <summary> + Resizes the queue to a new capacity, optionally leaving a gap at + a specified logical index so that a new item can be slotted in + without further copying + </summary> + <param name="newCapacity">The new capacity</param> + <param name="gapIndex">The logical index at which to insert a gap, + or -1 for no gap</param> + </member> + <member name="P:MiscUtil.Collections.RandomAccessQueue`1.SyncRoot"> + <summary> + An object reference to synchronize on when using the queue + from multiple threads. This reference isn't used anywhere + in the class itself. The same reference will always be returned + for the same queue, and this will never be the same as the reference + returned for a different queue, even a clone. + </summary> + </member> + <member name="P:MiscUtil.Collections.RandomAccessQueue`1.IsSynchronized"> + <summary> + Returns false, to indicate that this queue is not synchronized. + </summary> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.Add(`0)"> + <summary> + Adds an item to the queue + </summary> + <param name="item">The item to add</param> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.Contains(`0)"> + <summary> + Returns whether or not the queue contains the given item, + using the default EqualityComparer if the item to find is + non-null. + </summary> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.CopyTo(`0[],System.Int32)"> + <summary> + Copies the elements of the queue to the given array, beginning at + the specified index in the array. + </summary> + <param name="dest">The array to copy the contents of the queue into</param> + <param name="index">The zero-based index in array at which copying begins</param> + </member> + <member name="P:MiscUtil.Collections.RandomAccessQueue`1.IsReadOnly"> + <summary> + Returns false, to indicate that this queue is not read-only. + </summary> + </member> + <member name="M:MiscUtil.Collections.RandomAccessQueue`1.Remove(`0)"> + <summary> + Removes the given item from the queue, if it is present. The first + equal value is removed. + </summary> + </member> + <member name="T:MiscUtil.Collections.Range`1"> + <summary> + Represents a range of values. An IComparer{T} is used to compare specific + values with a start and end point. A range may be include or exclude each end + individually. + + A range which is half-open but has the same start and end point is deemed to be empty, + e.g. [3,3) doesn't include 3. To create a range with a single value, use an inclusive + range, e.g. [3,3]. + + Ranges are always immutable - calls such as IncludeEnd() and ExcludeEnd() return a new + range without modifying this one. + </summary> + </member> + <member name="P:MiscUtil.Collections.Range`1.Start"> + <summary> + The start of the range. + </summary> + </member> + <member name="P:MiscUtil.Collections.Range`1.End"> + <summary> + The end of the range. + </summary> + </member> + <member name="P:MiscUtil.Collections.Range`1.Comparer"> + <summary> + Comparer to use for comparisons + </summary> + </member> + <member name="P:MiscUtil.Collections.Range`1.IncludesStart"> + <summary> + Whether or not this range includes the start point + </summary> + </member> + <member name="P:MiscUtil.Collections.Range`1.IncludesEnd"> + <summary> + Whether or not this range includes the end point + </summary> + </member> + <member name="M:MiscUtil.Collections.Range`1.#ctor(`0,`0)"> + <summary> + Constructs a new inclusive range using the default comparer + </summary> + </member> + <member name="M:MiscUtil.Collections.Range`1.#ctor(`0,`0,System.Collections.Generic.IComparer{`0})"> + <summary> + Constructs a new range including both ends using the specified comparer + </summary> + </member> + <member name="M:MiscUtil.Collections.Range`1.#ctor(`0,`0,System.Collections.Generic.IComparer{`0},System.Boolean,System.Boolean)"> + <summary> + Constructs a new range, including or excluding each end as specified, + with the given comparer. + </summary> + </member> + <member name="M:MiscUtil.Collections.Range`1.ExcludeEnd"> + <summary> + Returns a range with the same boundaries as this, but excluding the end point. + When called on a range already excluding the end point, the original range is returned. + </summary> + </member> + <member name="M:MiscUtil.Collections.Range`1.ExcludeStart"> + <summary> + Returns a range with the same boundaries as this, but excluding the start point. + When called on a range already excluding the start point, the original range is returned. + </summary> + </member> + <member name="M:MiscUtil.Collections.Range`1.IncludeEnd"> + <summary> + Returns a range with the same boundaries as this, but including the end point. + When called on a range already including the end point, the original range is returned. + </summary> + </member> + <member name="M:MiscUtil.Collections.Range`1.IncludeStart"> + <summary> + Returns a range with the same boundaries as this, but including the start point. + When called on a range already including the start point, the original range is returned. + </summary> + </member> + <member name="M:MiscUtil.Collections.Range`1.Contains(`0)"> + <summary> + Returns whether or not the range contains the given value + </summary> + </member> + <member name="M:MiscUtil.Collections.Range`1.FromStart(System.Func{`0,`0})"> + <summary> + Returns an iterator which begins at the start of this range, + applying the given step delegate on each iteration until the + end is reached or passed. The start and end points are included + or excluded according to this range. + </summary> + <param name="step">Delegate to apply to the "current value" on each iteration</param> + </member> + <member name="M:MiscUtil.Collections.Range`1.FromEnd(System.Func{`0,`0})"> + <summary> + Returns an iterator which begins at the end of this range, + applying the given step delegate on each iteration until the + start is reached or passed. The start and end points are included + or excluded according to this range. + </summary> + <param name="step">Delegate to apply to the "current value" on each iteration</param> + </member> + <member name="M:MiscUtil.Collections.Range`1.UpBy(`0)"> + <summary> + Returns an iterator which begins at the start of this range, + adding the given step amount to the current value each iteration until the + end is reached or passed. The start and end points are included + or excluded according to this range. This method does not check for + the availability of an addition operator at compile-time; if you use it + on a range where there is no such operator, it will fail at execution time. + </summary> + <param name="stepAmount">Amount to add on each iteration</param> + </member> + <member name="M:MiscUtil.Collections.Range`1.DownBy(`0)"> + <summary> + Returns an iterator which begins at the end of this range, + subtracting the given step amount to the current value each iteration until the + start is reached or passed. The start and end points are included + or excluded according to this range. This method does not check for + the availability of a subtraction operator at compile-time; if you use it + on a range where there is no such operator, it will fail at execution time. + </summary> + <param name="stepAmount">Amount to subtract on each iteration. Note that + this is subtracted, so in a range [0,10] you would pass +2 as this parameter + to obtain the sequence (10, 8, 6, 4, 2, 0). + </param> + </member> + <member name="M:MiscUtil.Collections.Range`1.UpBy``1(``0)"> + <summary> + Returns an iterator which begins at the start of this range, + adding the given step amount to the current value each iteration until the + end is reached or passed. The start and end points are included + or excluded according to this range. This method does not check for + the availability of an addition operator at compile-time; if you use it + on a range where there is no such operator, it will fail at execution time. + </summary> + <param name="stepAmount">Amount to add on each iteration</param> + </member> + <member name="M:MiscUtil.Collections.Range`1.DownBy``1(``0)"> + <summary> + Returns an iterator which begins at the end of this range, + subtracting the given step amount to the current value each iteration until the + start is reached or passed. The start and end points are included + or excluded according to this range. This method does not check for + the availability of a subtraction operator at compile-time; if you use it + on a range where there is no such operator, it will fail at execution time. + </summary> + <param name="stepAmount">Amount to subtract on each iteration. Note that + this is subtracted, so in a range [0,10] you would pass +2 as this parameter + to obtain the sequence (10, 8, 6, 4, 2, 0). + </param> + </member> + <member name="M:MiscUtil.Collections.Range`1.Step(System.Func{`0,`0})"> + <summary> + Returns an iterator which steps through the range, applying the specified + step delegate on each iteration. The method determines whether to begin + at the start or end of the range based on whether the step delegate appears to go + "up" or "down". The step delegate is applied to the start point. If the result is + more than the start point, the returned iterator begins at the start point; otherwise + it begins at the end point. + </summary> + <param name="step">Delegate to apply to the "current value" on each iteration</param> + </member> + <member name="M:MiscUtil.Collections.Range`1.Step(`0)"> + <summary> + Returns an iterator which steps through the range, adding the specified amount + on each iteration. If the step amount is logically negative, the returned iterator + begins at the start point; otherwise it begins at the end point. + This method does not check for + the availability of an addition operator at compile-time; if you use it + on a range where there is no such operator, it will fail at execution time. + </summary> + <param name="stepAmount">The amount to add on each iteration</param> + </member> + <member name="M:MiscUtil.Collections.Range`1.Step``1(``0)"> + <summary> + Returns an iterator which steps through the range, adding the specified amount + on each iteration. If the step amount is logically negative, the returned iterator + begins at the end point; otherwise it begins at the start point. This method + is equivalent to Step(T stepAmount), but allows an alternative type to be used. + The most common example of this is likely to be stepping a range of DateTimes + by a TimeSpan. + This method does not check for + the availability of a suitable addition operator at compile-time; if you use it + on a range where there is no such operator, it will fail at execution time. + </summary> + <param name="stepAmount">The amount to add on each iteration</param> + </member> + <member name="T:MiscUtil.Collections.RangeIterator`1"> + <summary> + Iterates over a range. Despite its name, this implements IEnumerable{T} rather than + IEnumerator{T} - it just sounds better, frankly. + </summary> + </member> + <member name="P:MiscUtil.Collections.RangeIterator`1.Range"> + <summary> + Returns the range this object iterates over + </summary> + </member> + <member name="P:MiscUtil.Collections.RangeIterator`1.Step"> + <summary> + Returns the step function used for this range + </summary> + </member> + <member name="P:MiscUtil.Collections.RangeIterator`1.Ascending"> + <summary> + Returns whether or not this iterator works up from the start point (ascending) + or down from the end point (descending) + </summary> + </member> + <member name="M:MiscUtil.Collections.RangeIterator`1.#ctor(MiscUtil.Collections.Range{`0},System.Func{`0,`0})"> + <summary> + Creates an ascending iterator over the given range with the given step function + </summary> + </member> + <member name="M:MiscUtil.Collections.RangeIterator`1.#ctor(MiscUtil.Collections.Range{`0},System.Func{`0,`0},System.Boolean)"> + <summary> + Creates an iterator over the given range with the given step function, + with the specified direction. + </summary> + </member> + <member name="M:MiscUtil.Collections.RangeIterator`1.GetEnumerator"> + <summary> + Returns an IEnumerator{T} running over the range. + </summary> + </member> + <member name="M:MiscUtil.Collections.RangeIterator`1.System#Collections#IEnumerable#GetEnumerator"> + <summary> + Returns an IEnumerator running over the range. + </summary> + </member> + <member name="T:MiscUtil.Collections.ReverseComparer`1"> + <summary> + Implementation of IComparer{T} based on another one; + this simply reverses the original comparison. + </summary> + <typeparam name="T"></typeparam> + </member> + <member name="P:MiscUtil.Collections.ReverseComparer`1.OriginalComparer"> + <summary> + Returns the original comparer; this can be useful to avoid multiple + reversals. + </summary> + </member> + <member name="M:MiscUtil.Collections.ReverseComparer`1.#ctor(System.Collections.Generic.IComparer{`0})"> + <summary> + Creates a new reversing comparer. + </summary> + <param name="original">The original comparer to use for comparisons.</param> + </member> + <member name="M:MiscUtil.Collections.ReverseComparer`1.Compare(`0,`0)"> + <summary> + Returns the result of comparing the specified values using the original + comparer, but reversing the order of comparison. + </summary> + </member> + <member name="T:MiscUtil.Collections.SmartEnumerable"> + <summary> + Static class to make creation easier. If possible though, use the extension + method in SmartEnumerableExt. + </summary> + </member> + <member name="M:MiscUtil.Collections.SmartEnumerable.Create``1(System.Collections.Generic.IEnumerable{``0})"> + <summary> + Extension method to make life easier. + </summary> + <typeparam name="T">Type of enumerable</typeparam> + <param name="source">Source enumerable</param> + <returns>A new SmartEnumerable of the appropriate type</returns> + </member> + <member name="T:MiscUtil.Collections.SmartEnumerable`1"> + <summary> + Type chaining an IEnumerable&lt;T&gt; to allow the iterating code + to detect the first and last entries simply. + </summary> + <typeparam name="T">Type to iterate over</typeparam> + </member> + <member name="F:MiscUtil.Collections.SmartEnumerable`1.enumerable"> + <summary> + Enumerable we proxy to + </summary> + </member> + <member name="M:MiscUtil.Collections.SmartEnumerable`1.#ctor(System.Collections.Generic.IEnumerable{`0})"> + <summary> + Constructor. + </summary> + <param name="enumerable">Collection to enumerate. Must not be null.</param> + </member> + <member name="M:MiscUtil.Collections.SmartEnumerable`1.GetEnumerator"> + <summary> + Returns an enumeration of Entry objects, each of which knows + whether it is the first/last of the enumeration, as well as the + current value. + </summary> + </member> + <member name="M:MiscUtil.Collections.SmartEnumerable`1.System#Collections#IEnumerable#GetEnumerator"> + <summary> + Non-generic form of GetEnumerator. + </summary> + </member> + <member name="T:MiscUtil.Collections.SmartEnumerable`1.Entry"> + <summary> + Represents each entry returned within a collection, + containing the value and whether it is the first and/or + the last entry in the collection's. enumeration + </summary> + </member> + <member name="P:MiscUtil.Collections.SmartEnumerable`1.Entry.Value"> + <summary> + The value of the entry. + </summary> + </member> + <member name="P:MiscUtil.Collections.SmartEnumerable`1.Entry.IsFirst"> + <summary> + Whether or not this entry is first in the collection's enumeration. + </summary> + </member> + <member name="P:MiscUtil.Collections.SmartEnumerable`1.Entry.IsLast"> + <summary> + Whether or not this entry is last in the collection's enumeration. + </summary> + </member> + <member name="P:MiscUtil.Collections.SmartEnumerable`1.Entry.Index"> + <summary> + The 0-based index of this entry (i.e. how many entries have been returned before this one) + </summary> + </member> + <member name="T:MiscUtil.Compression.Vcdiff.AddressCache"> + <summary> + Cache used for encoding/decoding addresses. + </summary> + </member> + <member name="T:MiscUtil.Compression.Vcdiff.CodeTable"> + <summary> + Table used to encode/decode instructions. + </summary> + </member> + <member name="F:MiscUtil.Compression.Vcdiff.CodeTable.Default"> + <summary> + Default code table specified in RFC 3284. + </summary> + </member> + <member name="F:MiscUtil.Compression.Vcdiff.CodeTable.entries"> + <summary> + Array of entries in the code table + </summary> + </member> + <member name="P:MiscUtil.Compression.Vcdiff.CodeTable.Item(System.Int32,System.Int32)"> + <summary> + + </summary> + </member> + <member name="M:MiscUtil.Compression.Vcdiff.CodeTable.BuildDefaultCodeTable"> + <summary> + Builds the default code table specified in RFC 3284 + </summary> + <returns> + The default code table. + </returns> + </member> + <member name="T:MiscUtil.Compression.Vcdiff.Instruction"> + <summary> + Contains the information for a single instruction + </summary> + </member> + <member name="T:MiscUtil.Compression.Vcdiff.InstructionType"> + <summary> + Enumeration of the different instruction types. + </summary> + </member> + <member name="T:MiscUtil.Compression.Vcdiff.IOHelper"> + <summary> + A few IO routines to make life easier. Most are basically available + in EndianBinaryReader, but having them separately here makes VcdiffDecoder + more easily movable to other places - and no endianness issues are involved in + the first place. + </summary> + </member> + <member name="T:MiscUtil.Compression.Vcdiff.VcdiffDecoder"> + <summary> + Decoder for VCDIFF (RFC 3284) streams. + </summary> + </member> + <member name="F:MiscUtil.Compression.Vcdiff.VcdiffDecoder.original"> + <summary> + Reader containing original data, if any. May be null. + If non-null, will be readable and seekable. + </summary> + </member> + <member name="F:MiscUtil.Compression.Vcdiff.VcdiffDecoder.delta"> + <summary> + Stream containing delta data. Will be readable. + </summary> + </member> + <member name="F:MiscUtil.Compression.Vcdiff.VcdiffDecoder.output"> + <summary> + Stream containing target data. Will be readable, + writable and seekable. + </summary> + </member> + <member name="F:MiscUtil.Compression.Vcdiff.VcdiffDecoder.codeTable"> + <summary> + Code table to use for decoding. + </summary> + </member> + <member name="F:MiscUtil.Compression.Vcdiff.VcdiffDecoder.cache"> + <summary> + Address cache to use when decoding; must be reset before decoding each window. + Default to the default size. + </summary> + </member> + <member name="M:MiscUtil.Compression.Vcdiff.VcdiffDecoder.#ctor(System.IO.Stream,System.IO.Stream,System.IO.Stream)"> + <summary> + Sole constructor; private to prevent instantiation from + outside the class. + </summary> + </member> + <member name="M:MiscUtil.Compression.Vcdiff.VcdiffDecoder.Decode(System.IO.Stream,System.IO.Stream,System.IO.Stream)"> + <summary> + Decodes an original stream and a delta stream, writing to a target stream. + The original stream may be null, so long as the delta stream never + refers to it. The original and delta streams must be readable, and the + original stream (if any) and the target stream must be seekable. + The target stream must be writable and readable. The original and target + streams are rewound to their starts before any data is read; the relevant data + must occur at the beginning of the original stream, and any data already present + in the target stream may be overwritten. The delta data must begin + wherever the delta stream is currently positioned. The delta stream must end + after the last window. The streams are not disposed by this method. + </summary> + <param name="original">Stream containing delta. May be null.</param> + <param name="delta">Stream containing delta data.</param> + <param name="output">Stream to write resulting data to.</param> + </member> + <member name="M:MiscUtil.Compression.Vcdiff.VcdiffDecoder.Decode"> + <summary> + Top-level decoding method. When this method exits, all decoding has been performed. + </summary> + </member> + <member name="M:MiscUtil.Compression.Vcdiff.VcdiffDecoder.ReadHeader"> + <summary> + Read the header, including any custom code table. The delta stream is left + positioned at the start of the first window. + </summary> + </member> + <member name="M:MiscUtil.Compression.Vcdiff.VcdiffDecoder.ReadCodeTable"> + <summary> + Reads the custom code table, if there is one + </summary> + </member> + <member name="M:MiscUtil.Compression.Vcdiff.VcdiffDecoder.DecodeWindow"> + <summary> + Reads and decodes a window, returning whether or not there was + any more data to read. + </summary> + <returns> + Whether or not the delta stream had reached the end of its data. + </returns> + </member> + <member name="T:MiscUtil.Compression.Vcdiff.VcdiffFormatException"> + <summary> + Summary description for VcdiffFormatException. + </summary> + </member> + <member name="T:MiscUtil.Conversion.BigEndianBitConverter"> + <summary> + Implementation of EndianBitConverter which converts to/from big-endian + byte arrays. + </summary> + </member> + <member name="M:MiscUtil.Conversion.BigEndianBitConverter.IsLittleEndian"> + <summary> + Indicates the byte order ("endianess") in which data is converted using this class. + </summary> + <remarks> + Different computer architectures store data using different byte orders. "Big-endian" + means the most significant byte is on the left end of a word. "Little-endian" means the + most significant byte is on the right end of a word. + </remarks> + <returns>true if this converter is little-endian, false otherwise.</returns> + </member> + <member name="P:MiscUtil.Conversion.BigEndianBitConverter.Endianness"> + <summary> + Indicates the byte order ("endianess") in which data is converted using this class. + </summary> + </member> + <member name="M:MiscUtil.Conversion.BigEndianBitConverter.CopyBytesImpl(System.Int64,System.Int32,System.Byte[],System.Int32)"> + <summary> + Copies the specified number of bytes from value to buffer, starting at index. + </summary> + <param name="value">The value to copy</param> + <param name="bytes">The number of bytes to copy</param> + <param name="buffer">The buffer to copy the bytes into</param> + <param name="index">The index to start at</param> + </member> + <member name="M:MiscUtil.Conversion.BigEndianBitConverter.FromBytes(System.Byte[],System.Int32,System.Int32)"> + <summary> + Returns a value built from the specified number of bytes from the given buffer, + starting at index. + </summary> + <param name="buffer">The data in byte array format</param> + <param name="startIndex">The first index to use</param> + <param name="bytesToConvert">The number of bytes to use</param> + <returns>The value built from the given bytes</returns> + </member> + <member name="T:MiscUtil.Conversion.DoubleConverter"> + <summary> + A class to allow the conversion of doubles to string representations of + their exact decimal values. The implementation aims for readability over + efficiency. + </summary> + </member> + <member name="M:MiscUtil.Conversion.DoubleConverter.ToExactString(System.Double)"> + <summary> + Converts the given double to a string representation of its + exact decimal value. + </summary> + <param name="d">The double to convert.</param> + <returns>A string representation of the double's exact decimal value.</returns> + </member> + <member name="T:MiscUtil.Conversion.DoubleConverter.ArbitraryDecimal"> + <summary> + Private class used for manipulating sequences of decimal digits. + </summary> + </member> + <member name="F:MiscUtil.Conversion.DoubleConverter.ArbitraryDecimal.digits"> + <summary>Digits in the decimal expansion, one byte per digit</summary> + </member> + <member name="F:MiscUtil.Conversion.DoubleConverter.ArbitraryDecimal.decimalPoint"> + <summary> + How many digits are *after* the decimal point + </summary> + </member> + <member name="M:MiscUtil.Conversion.DoubleConverter.ArbitraryDecimal.#ctor(System.Int64)"> + <summary> + Constructs an arbitrary decimal expansion from the given long. + The long must not be negative. + </summary> + </member> + <member name="M:MiscUtil.Conversion.DoubleConverter.ArbitraryDecimal.MultiplyBy(System.Int32)"> + <summary> + Multiplies the current expansion by the given amount, which should + only be 2 or 5. + </summary> + </member> + <member name="M:MiscUtil.Conversion.DoubleConverter.ArbitraryDecimal.Shift(System.Int32)"> + <summary> + Shifts the decimal point; a negative value makes + the decimal expansion bigger (as fewer digits come after the + decimal place) and a positive value makes the decimal + expansion smaller. + </summary> + </member> + <member name="M:MiscUtil.Conversion.DoubleConverter.ArbitraryDecimal.Normalize"> + <summary> + Removes leading/trailing zeroes from the expansion. + </summary> + </member> + <member name="M:MiscUtil.Conversion.DoubleConverter.ArbitraryDecimal.ToString"> + <summary> + Converts the value to a proper decimal string representation. + </summary> + </member> + <member name="T:MiscUtil.Conversion.EndianBitConverter"> + <summary> + Equivalent of System.BitConverter, but with either endianness. + </summary> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.IsLittleEndian"> + <summary> + Indicates the byte order ("endianess") in which data is converted using this class. + </summary> + <remarks> + Different computer architectures store data using different byte orders. "Big-endian" + means the most significant byte is on the left end of a word. "Little-endian" means the + most significant byte is on the right end of a word. + </remarks> + <returns>true if this converter is little-endian, false otherwise.</returns> + </member> + <member name="P:MiscUtil.Conversion.EndianBitConverter.Endianness"> + <summary> + Indicates the byte order ("endianess") in which data is converted using this class. + </summary> + </member> + <member name="P:MiscUtil.Conversion.EndianBitConverter.Little"> + <summary> + Returns a little-endian bit converter instance. The same instance is + always returned. + </summary> + </member> + <member name="P:MiscUtil.Conversion.EndianBitConverter.Big"> + <summary> + Returns a big-endian bit converter instance. The same instance is + always returned. + </summary> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.DoubleToInt64Bits(System.Double)"> + <summary> + Converts the specified double-precision floating point number to a + 64-bit signed integer. Note: the endianness of this converter does not + affect the returned value. + </summary> + <param name="value">The number to convert. </param> + <returns>A 64-bit signed integer whose value is equivalent to value.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.Int64BitsToDouble(System.Int64)"> + <summary> + Converts the specified 64-bit signed integer to a double-precision + floating point number. Note: the endianness of this converter does not + affect the returned value. + </summary> + <param name="value">The number to convert. </param> + <returns>A double-precision floating point number whose value is equivalent to value.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.SingleToInt32Bits(System.Single)"> + <summary> + Converts the specified single-precision floating point number to a + 32-bit signed integer. Note: the endianness of this converter does not + affect the returned value. + </summary> + <param name="value">The number to convert. </param> + <returns>A 32-bit signed integer whose value is equivalent to value.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.Int32BitsToSingle(System.Int32)"> + <summary> + Converts the specified 32-bit signed integer to a single-precision floating point + number. Note: the endianness of this converter does not + affect the returned value. + </summary> + <param name="value">The number to convert. </param> + <returns>A single-precision floating point number whose value is equivalent to value.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.ToBoolean(System.Byte[],System.Int32)"> + <summary> + Returns a Boolean value converted from one byte at a specified position in a byte array. + </summary> + <param name="value">An array of bytes.</param> + <param name="startIndex">The starting position within value.</param> + <returns>true if the byte at startIndex in value is nonzero; otherwise, false.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.ToChar(System.Byte[],System.Int32)"> + <summary> + Returns a Unicode character converted from two bytes at a specified position in a byte array. + </summary> + <param name="value">An array of bytes.</param> + <param name="startIndex">The starting position within value.</param> + <returns>A character formed by two bytes beginning at startIndex.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.ToDouble(System.Byte[],System.Int32)"> + <summary> + Returns a double-precision floating point number converted from eight bytes + at a specified position in a byte array. + </summary> + <param name="value">An array of bytes.</param> + <param name="startIndex">The starting position within value.</param> + <returns>A double precision floating point number formed by eight bytes beginning at startIndex.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.ToSingle(System.Byte[],System.Int32)"> + <summary> + Returns a single-precision floating point number converted from four bytes + at a specified position in a byte array. + </summary> + <param name="value">An array of bytes.</param> + <param name="startIndex">The starting position within value.</param> + <returns>A single precision floating point number formed by four bytes beginning at startIndex.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.ToInt16(System.Byte[],System.Int32)"> + <summary> + Returns a 16-bit signed integer converted from two bytes at a specified position in a byte array. + </summary> + <param name="value">An array of bytes.</param> + <param name="startIndex">The starting position within value.</param> + <returns>A 16-bit signed integer formed by two bytes beginning at startIndex.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.ToInt32(System.Byte[],System.Int32)"> + <summary> + Returns a 32-bit signed integer converted from four bytes at a specified position in a byte array. + </summary> + <param name="value">An array of bytes.</param> + <param name="startIndex">The starting position within value.</param> + <returns>A 32-bit signed integer formed by four bytes beginning at startIndex.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.ToInt64(System.Byte[],System.Int32)"> + <summary> + Returns a 64-bit signed integer converted from eight bytes at a specified position in a byte array. + </summary> + <param name="value">An array of bytes.</param> + <param name="startIndex">The starting position within value.</param> + <returns>A 64-bit signed integer formed by eight bytes beginning at startIndex.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.ToUInt16(System.Byte[],System.Int32)"> + <summary> + Returns a 16-bit unsigned integer converted from two bytes at a specified position in a byte array. + </summary> + <param name="value">An array of bytes.</param> + <param name="startIndex">The starting position within value.</param> + <returns>A 16-bit unsigned integer formed by two bytes beginning at startIndex.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.ToUInt32(System.Byte[],System.Int32)"> + <summary> + Returns a 32-bit unsigned integer converted from four bytes at a specified position in a byte array. + </summary> + <param name="value">An array of bytes.</param> + <param name="startIndex">The starting position within value.</param> + <returns>A 32-bit unsigned integer formed by four bytes beginning at startIndex.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.ToUInt64(System.Byte[],System.Int32)"> + <summary> + Returns a 64-bit unsigned integer converted from eight bytes at a specified position in a byte array. + </summary> + <param name="value">An array of bytes.</param> + <param name="startIndex">The starting position within value.</param> + <returns>A 64-bit unsigned integer formed by eight bytes beginning at startIndex.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.CheckByteArgument(System.Byte[],System.Int32,System.Int32)"> + <summary> + Checks the given argument for validity. + </summary> + <param name="value">The byte array passed in</param> + <param name="startIndex">The start index passed in</param> + <param name="bytesRequired">The number of bytes required</param> + <exception cref="T:System.ArgumentNullException">value is a null reference</exception> + <exception cref="T:System.ArgumentOutOfRangeException"> + startIndex is less than zero or greater than the length of value minus bytesRequired. + </exception> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.CheckedFromBytes(System.Byte[],System.Int32,System.Int32)"> + <summary> + Checks the arguments for validity before calling FromBytes + (which can therefore assume the arguments are valid). + </summary> + <param name="value">The bytes to convert after checking</param> + <param name="startIndex">The index of the first byte to convert</param> + <param name="bytesToConvert">The number of bytes to convert</param> + <returns></returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.FromBytes(System.Byte[],System.Int32,System.Int32)"> + <summary> + Convert the given number of bytes from the given array, from the given start + position, into a long, using the bytes as the least significant part of the long. + By the time this is called, the arguments have been checked for validity. + </summary> + <param name="value">The bytes to convert</param> + <param name="startIndex">The index of the first byte to convert</param> + <param name="bytesToConvert">The number of bytes to use in the conversion</param> + <returns>The converted number</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.ToString(System.Byte[])"> + <summary> + Returns a String converted from the elements of a byte array. + </summary> + <param name="value">An array of bytes.</param> + <remarks>All the elements of value are converted.</remarks> + <returns> + A String of hexadecimal pairs separated by hyphens, where each pair + represents the corresponding element in value; for example, "7F-2C-4A". + </returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.ToString(System.Byte[],System.Int32)"> + <summary> + Returns a String converted from the elements of a byte array starting at a specified array position. + </summary> + <param name="value">An array of bytes.</param> + <param name="startIndex">The starting position within value.</param> + <remarks>The elements from array position startIndex to the end of the array are converted.</remarks> + <returns> + A String of hexadecimal pairs separated by hyphens, where each pair + represents the corresponding element in value; for example, "7F-2C-4A". + </returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.ToString(System.Byte[],System.Int32,System.Int32)"> + <summary> + Returns a String converted from a specified number of bytes at a specified position in a byte array. + </summary> + <param name="value">An array of bytes.</param> + <param name="startIndex">The starting position within value.</param> + <param name="length">The number of bytes to convert.</param> + <remarks>The length elements from array position startIndex are converted.</remarks> + <returns> + A String of hexadecimal pairs separated by hyphens, where each pair + represents the corresponding element in value; for example, "7F-2C-4A". + </returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.ToDecimal(System.Byte[],System.Int32)"> + <summary> + Returns a decimal value converted from sixteen bytes + at a specified position in a byte array. + </summary> + <param name="value">An array of bytes.</param> + <param name="startIndex">The starting position within value.</param> + <returns>A decimal formed by sixteen bytes beginning at startIndex.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.GetBytes(System.Decimal)"> + <summary> + Returns the specified decimal value as an array of bytes. + </summary> + <param name="value">The number to convert.</param> + <returns>An array of bytes with length 16.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.CopyBytes(System.Decimal,System.Byte[],System.Int32)"> + <summary> + Copies the specified decimal value into the specified byte array, + beginning at the specified index. + </summary> + <param name="value">A character to convert.</param> + <param name="buffer">The byte array to copy the bytes into</param> + <param name="index">The first index into the array to copy the bytes into</param> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.GetBytes(System.Int64,System.Int32)"> + <summary> + Returns an array with the given number of bytes formed + from the least significant bytes of the specified value. + This is used to implement the other GetBytes methods. + </summary> + <param name="value">The value to get bytes for</param> + <param name="bytes">The number of significant bytes to return</param> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.GetBytes(System.Boolean)"> + <summary> + Returns the specified Boolean value as an array of bytes. + </summary> + <param name="value">A Boolean value.</param> + <returns>An array of bytes with length 1.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.GetBytes(System.Char)"> + <summary> + Returns the specified Unicode character value as an array of bytes. + </summary> + <param name="value">A character to convert.</param> + <returns>An array of bytes with length 2.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.GetBytes(System.Double)"> + <summary> + Returns the specified double-precision floating point value as an array of bytes. + </summary> + <param name="value">The number to convert.</param> + <returns>An array of bytes with length 8.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.GetBytes(System.Int16)"> + <summary> + Returns the specified 16-bit signed integer value as an array of bytes. + </summary> + <param name="value">The number to convert.</param> + <returns>An array of bytes with length 2.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.GetBytes(System.Int32)"> + <summary> + Returns the specified 32-bit signed integer value as an array of bytes. + </summary> + <param name="value">The number to convert.</param> + <returns>An array of bytes with length 4.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.GetBytes(System.Int64)"> + <summary> + Returns the specified 64-bit signed integer value as an array of bytes. + </summary> + <param name="value">The number to convert.</param> + <returns>An array of bytes with length 8.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.GetBytes(System.Single)"> + <summary> + Returns the specified single-precision floating point value as an array of bytes. + </summary> + <param name="value">The number to convert.</param> + <returns>An array of bytes with length 4.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.GetBytes(System.UInt16)"> + <summary> + Returns the specified 16-bit unsigned integer value as an array of bytes. + </summary> + <param name="value">The number to convert.</param> + <returns>An array of bytes with length 2.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.GetBytes(System.UInt32)"> + <summary> + Returns the specified 32-bit unsigned integer value as an array of bytes. + </summary> + <param name="value">The number to convert.</param> + <returns>An array of bytes with length 4.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.GetBytes(System.UInt64)"> + <summary> + Returns the specified 64-bit unsigned integer value as an array of bytes. + </summary> + <param name="value">The number to convert.</param> + <returns>An array of bytes with length 8.</returns> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.CopyBytes(System.Int64,System.Int32,System.Byte[],System.Int32)"> + <summary> + Copies the given number of bytes from the least-specific + end of the specified value into the specified byte array, beginning + at the specified index. + This is used to implement the other CopyBytes methods. + </summary> + <param name="value">The value to copy bytes for</param> + <param name="bytes">The number of significant bytes to copy</param> + <param name="buffer">The byte array to copy the bytes into</param> + <param name="index">The first index into the array to copy the bytes into</param> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.CopyBytesImpl(System.Int64,System.Int32,System.Byte[],System.Int32)"> + <summary> + Copies the given number of bytes from the least-specific + end of the specified value into the specified byte array, beginning + at the specified index. + This must be implemented in concrete derived classes, but the implementation + may assume that the value will fit into the buffer. + </summary> + <param name="value">The value to copy bytes for</param> + <param name="bytes">The number of significant bytes to copy</param> + <param name="buffer">The byte array to copy the bytes into</param> + <param name="index">The first index into the array to copy the bytes into</param> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.CopyBytes(System.Boolean,System.Byte[],System.Int32)"> + <summary> + Copies the specified Boolean value into the specified byte array, + beginning at the specified index. + </summary> + <param name="value">A Boolean value.</param> + <param name="buffer">The byte array to copy the bytes into</param> + <param name="index">The first index into the array to copy the bytes into</param> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.CopyBytes(System.Char,System.Byte[],System.Int32)"> + <summary> + Copies the specified Unicode character value into the specified byte array, + beginning at the specified index. + </summary> + <param name="value">A character to convert.</param> + <param name="buffer">The byte array to copy the bytes into</param> + <param name="index">The first index into the array to copy the bytes into</param> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.CopyBytes(System.Double,System.Byte[],System.Int32)"> + <summary> + Copies the specified double-precision floating point value into the specified byte array, + beginning at the specified index. + </summary> + <param name="value">The number to convert.</param> + <param name="buffer">The byte array to copy the bytes into</param> + <param name="index">The first index into the array to copy the bytes into</param> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.CopyBytes(System.Int16,System.Byte[],System.Int32)"> + <summary> + Copies the specified 16-bit signed integer value into the specified byte array, + beginning at the specified index. + </summary> + <param name="value">The number to convert.</param> + <param name="buffer">The byte array to copy the bytes into</param> + <param name="index">The first index into the array to copy the bytes into</param> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.CopyBytes(System.Int32,System.Byte[],System.Int32)"> + <summary> + Copies the specified 32-bit signed integer value into the specified byte array, + beginning at the specified index. + </summary> + <param name="value">The number to convert.</param> + <param name="buffer">The byte array to copy the bytes into</param> + <param name="index">The first index into the array to copy the bytes into</param> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.CopyBytes(System.Int64,System.Byte[],System.Int32)"> + <summary> + Copies the specified 64-bit signed integer value into the specified byte array, + beginning at the specified index. + </summary> + <param name="value">The number to convert.</param> + <param name="buffer">The byte array to copy the bytes into</param> + <param name="index">The first index into the array to copy the bytes into</param> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.CopyBytes(System.Single,System.Byte[],System.Int32)"> + <summary> + Copies the specified single-precision floating point value into the specified byte array, + beginning at the specified index. + </summary> + <param name="value">The number to convert.</param> + <param name="buffer">The byte array to copy the bytes into</param> + <param name="index">The first index into the array to copy the bytes into</param> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.CopyBytes(System.UInt16,System.Byte[],System.Int32)"> + <summary> + Copies the specified 16-bit unsigned integer value into the specified byte array, + beginning at the specified index. + </summary> + <param name="value">The number to convert.</param> + <param name="buffer">The byte array to copy the bytes into</param> + <param name="index">The first index into the array to copy the bytes into</param> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.CopyBytes(System.UInt32,System.Byte[],System.Int32)"> + <summary> + Copies the specified 32-bit unsigned integer value into the specified byte array, + beginning at the specified index. + </summary> + <param name="value">The number to convert.</param> + <param name="buffer">The byte array to copy the bytes into</param> + <param name="index">The first index into the array to copy the bytes into</param> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.CopyBytes(System.UInt64,System.Byte[],System.Int32)"> + <summary> + Copies the specified 64-bit unsigned integer value into the specified byte array, + beginning at the specified index. + </summary> + <param name="value">The number to convert.</param> + <param name="buffer">The byte array to copy the bytes into</param> + <param name="index">The first index into the array to copy the bytes into</param> + </member> + <member name="T:MiscUtil.Conversion.EndianBitConverter.Int32SingleUnion"> + <summary> + Union used solely for the equivalent of DoubleToInt64Bits and vice versa. + </summary> + </member> + <member name="F:MiscUtil.Conversion.EndianBitConverter.Int32SingleUnion.i"> + <summary> + Int32 version of the value. + </summary> + </member> + <member name="F:MiscUtil.Conversion.EndianBitConverter.Int32SingleUnion.f"> + <summary> + Single version of the value. + </summary> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.Int32SingleUnion.#ctor(System.Int32)"> + <summary> + Creates an instance representing the given integer. + </summary> + <param name="i">The integer value of the new instance.</param> + </member> + <member name="M:MiscUtil.Conversion.EndianBitConverter.Int32SingleUnion.#ctor(System.Single)"> + <summary> + Creates an instance representing the given floating point number. + </summary> + <param name="f">The floating point value of the new instance.</param> + </member> + <member name="P:MiscUtil.Conversion.EndianBitConverter.Int32SingleUnion.AsInt32"> + <summary> + Returns the value of the instance as an integer. + </summary> + </member> + <member name="P:MiscUtil.Conversion.EndianBitConverter.Int32SingleUnion.AsSingle"> + <summary> + Returns the value of the instance as a floating point number. + </summary> + </member> + <member name="T:MiscUtil.Conversion.Endianness"> + <summary> + Endianness of a converter + </summary> + </member> + <member name="F:MiscUtil.Conversion.Endianness.LittleEndian"> + <summary> + Little endian - least significant byte first + </summary> + </member> + <member name="F:MiscUtil.Conversion.Endianness.BigEndian"> + <summary> + Big endian - most significant byte first + </summary> + </member> + <member name="T:MiscUtil.Conversion.LittleEndianBitConverter"> + <summary> + Implementation of EndianBitConverter which converts to/from little-endian + byte arrays. + </summary> + </member> + <member name="M:MiscUtil.Conversion.LittleEndianBitConverter.IsLittleEndian"> + <summary> + Indicates the byte order ("endianess") in which data is converted using this class. + </summary> + <remarks> + Different computer architectures store data using different byte orders. "Big-endian" + means the most significant byte is on the left end of a word. "Little-endian" means the + most significant byte is on the right end of a word. + </remarks> + <returns>true if this converter is little-endian, false otherwise.</returns> + </member> + <member name="P:MiscUtil.Conversion.LittleEndianBitConverter.Endianness"> + <summary> + Indicates the byte order ("endianess") in which data is converted using this class. + </summary> + </member> + <member name="M:MiscUtil.Conversion.LittleEndianBitConverter.CopyBytesImpl(System.Int64,System.Int32,System.Byte[],System.Int32)"> + <summary> + Copies the specified number of bytes from value to buffer, starting at index. + </summary> + <param name="value">The value to copy</param> + <param name="bytes">The number of bytes to copy</param> + <param name="buffer">The buffer to copy the bytes into</param> + <param name="index">The index to start at</param> + </member> + <member name="M:MiscUtil.Conversion.LittleEndianBitConverter.FromBytes(System.Byte[],System.Int32,System.Int32)"> + <summary> + Returns a value built from the specified number of bytes from the given buffer, + starting at index. + </summary> + <param name="buffer">The data in byte array format</param> + <param name="startIndex">The first index to use</param> + <param name="bytesToConvert">The number of bytes to use</param> + <returns>The value built from the given bytes</returns> + </member> + <member name="T:MiscUtil.EventArgs`1"> + <summary> + Generic event argument taking a single value + </summary> + </member> + <member name="P:MiscUtil.EventArgs`1.Value"> + <summary> + The typed value of the EventArgs&lt;T&gt; + </summary> + </member> + <member name="M:MiscUtil.EventArgs`1.#ctor(`0)"> + <summary> + Creates a new EventArgs&lt;T&gt; with the specified value. + </summary> + <param name="value">The Value of the EventArgs&lt;T&gt; instance.</param> + </member> + <member name="T:MiscUtil.Extensions.ObjectExt"> + <summary> + Extension methods on all reference types. + </summary> + </member> + <member name="M:MiscUtil.Extensions.ObjectExt.ThrowIfNull``1(``0,System.String)"> + <summary> + Throws an ArgumentNullException if the given data item is null. + </summary> + <param name="data">The item to check for nullity.</param> + <param name="name">The name to use when throwing an exception, if necessary</param> + </member> + <member name="M:MiscUtil.Extensions.ObjectExt.ThrowIfNull``1(``0)"> + <summary> + Throws an ArgumentNullException if the given data item is null. + No parameter name is specified. + </summary> + <param name="data">The item to check for nullity.</param> + </member> + <member name="T:MiscUtil.Extensions.TimeRelated.DateTimeBasedExt"> + <summary> + Extension methods producing DateTime values. These are useful + when writing unit tests with fixed dates which should be easily understandable. + </summary> + </member> + <member name="M:MiscUtil.Extensions.TimeRelated.DateTimeBasedExt.January(System.Int32,System.Int32)"> + <summary> + Returns a DateTime representing the specified day in January + in the specified year. + </summary> + </member> + <member name="M:MiscUtil.Extensions.TimeRelated.DateTimeBasedExt.February(System.Int32,System.Int32)"> + <summary> + Returns a DateTime representing the specified day in February + in the specified year. + </summary> + </member> + <member name="M:MiscUtil.Extensions.TimeRelated.DateTimeBasedExt.March(System.Int32,System.Int32)"> + <summary> + Returns a DateTime representing the specified day in March + in the specified year. + </summary> + </member> + <member name="M:MiscUtil.Extensions.TimeRelated.DateTimeBasedExt.April(System.Int32,System.Int32)"> + <summary> + Returns a DateTime representing the specified day in April + in the specified year. + </summary> + </member> + <member name="M:MiscUtil.Extensions.TimeRelated.DateTimeBasedExt.May(System.Int32,System.Int32)"> + <summary> + Returns a DateTime representing the specified day in May + in the specified year. + </summary> + </member> + <member name="M:MiscUtil.Extensions.TimeRelated.DateTimeBasedExt.June(System.Int32,System.Int32)"> + <summary> + Returns a DateTime representing the specified day in June + in the specified year. + </summary> + </member> + <member name="M:MiscUtil.Extensions.TimeRelated.DateTimeBasedExt.July(System.Int32,System.Int32)"> + <summary> + Returns a DateTime representing the specified day in July + in the specified year. + </summary> + </member> + <member name="M:MiscUtil.Extensions.TimeRelated.DateTimeBasedExt.August(System.Int32,System.Int32)"> + <summary> + Returns a DateTime representing the specified day in August + in the specified year. + </summary> + </member> + <member name="M:MiscUtil.Extensions.TimeRelated.DateTimeBasedExt.September(System.Int32,System.Int32)"> + <summary> + Returns a DateTime representing the specified day in September + in the specified year. + </summary> + </member> + <member name="M:MiscUtil.Extensions.TimeRelated.DateTimeBasedExt.October(System.Int32,System.Int32)"> + <summary> + Returns a DateTime representing the specified day in October + in the specified year. + </summary> + </member> + <member name="M:MiscUtil.Extensions.TimeRelated.DateTimeBasedExt.November(System.Int32,System.Int32)"> + <summary> + Returns a DateTime representing the specified day in November + in the specified year. + </summary> + </member> + <member name="M:MiscUtil.Extensions.TimeRelated.DateTimeBasedExt.December(System.Int32,System.Int32)"> + <summary> + Returns a DateTime representing the specified day in December + in the specified year. + </summary> + </member> + <member name="T:MiscUtil.Extensions.TimeRelated.TimeSpanBasedExt"> + <summary> + Extension methods producing TimeSpan values. Note: Ticks should really + take a long, and the rest should all take doubles. It looks like extension + methods don't quite work properly with implicit numeric conversions :( + </summary> + </member> + <member name="M:MiscUtil.Extensions.TimeRelated.TimeSpanBasedExt.Ticks(System.Int32)"> + <summary> + Returns a TimeSpan representing the specified number of ticks. + </summary> + </member> + <member name="M:MiscUtil.Extensions.TimeRelated.TimeSpanBasedExt.Milliseconds(System.Int32)"> + <summary> + Returns a TimeSpan representing the specified number of milliseconds. + </summary> + </member> + <member name="M:MiscUtil.Extensions.TimeRelated.TimeSpanBasedExt.Seconds(System.Int32)"> + <summary> + Returns a TimeSpan representing the specified number of seconds. + </summary> + </member> + <member name="M:MiscUtil.Extensions.TimeRelated.TimeSpanBasedExt.Minutes(System.Int32)"> + <summary> + Returns a TimeSpan representing the specified number of minutes. + </summary> + </member> + <member name="M:MiscUtil.Extensions.TimeRelated.TimeSpanBasedExt.Hours(System.Int32)"> + <summary> + Returns a TimeSpan representing the specified number of hours. + </summary> + </member> + <member name="M:MiscUtil.Extensions.TimeRelated.TimeSpanBasedExt.Days(System.Int32)"> + <summary> + Returns a TimeSpan representing the specified number of days. + </summary> + </member> + <member name="T:MiscUtil.GenericMath"> + <summary> + Generic math equivalents of System.Math. + (Calling this just Math makes far too much mess.) + </summary> + </member> + <member name="M:MiscUtil.GenericMath.Abs``1(``0)"> + <summary> + Returns the absolute value of a specified number. + </summary> + <typeparam name="T">Type to calculate with</typeparam> + <param name="input">Input to return the absolute value of.</param> + <returns>The input value if it is greater than or equal to the default value of T, + or the negated input value otherwise</returns> + </member> + <member name="M:MiscUtil.GenericMath.WithinDelta``1(``0,``0,``0)"> + <summary> + Returns whether or not two inputs are "close" to each other with respect to a given delta. + </summary> + <remarks> + This implementation currently does no overflow checking - if (input1-input2) overflows, it + could yield the wrong result. + </remarks> + <typeparam name="T">Type to calculate with</typeparam> + <param name="input1">First input value</param> + <param name="input2">Second input value</param> + <param name="delta">Permitted range (exclusive)</param> + <returns>True if Abs(input1-input2) is less than or equal to delta; false otherwise.</returns> + </member> + <member name="T:MiscUtil.IBuffer"> + <summary> + Interface encapsulating a byte array which may be managed + by an IBufferManager implementation. When the buffer is + disposed, some implementations of this interface may + return the buffer to the IBufferManager which created + it. Note that an IBuffer *must* always be disposed after use, + or some implementations may leak memory. The buffer must + not be used after being disposed, likewise the byte array must + not be used after the buffer is disposed. + </summary> + </member> + <member name="P:MiscUtil.IBuffer.Bytes"> + <summary> + Returns the byte array encapsulated by this buffer. + Note that depending on the buffer manager providing + the buffer, the array may or may not be cleared (i.e. + with every byte 0) to start with. + </summary> + </member> + <member name="T:MiscUtil.IBufferManager"> + <summary> + Interface for classes which manage instances of + IBuffer. + </summary> + </member> + <member name="M:MiscUtil.IBufferManager.GetBuffer(System.Int32)"> + <summary> + Returns a buffer of the given size or greater. + </summary> + <param name="minimumSize">The minimum size of buffer to return</param> + <exception cref="T:MiscUtil.BufferAcquisitionException">This manager is unable + to return a buffer of the appropriate size</exception> + <exception cref="T:System.ArgumentOutOfRangeException">minimumSize is less than + or equal to 0</exception> + </member> + <member name="T:MiscUtil.IO.EndianBinaryReader"> + <summary> + Equivalent of System.IO.BinaryReader, but with either endianness, depending on + the EndianBitConverter it is constructed with. No data is buffered in the + reader; the client may seek within the stream at will. + </summary> + </member> + <member name="F:MiscUtil.IO.EndianBinaryReader.disposed"> + <summary> + Whether or not this reader has been disposed yet. + </summary> + </member> + <member name="F:MiscUtil.IO.EndianBinaryReader.decoder"> + <summary> + Decoder to use for string conversions. + </summary> + </member> + <member name="F:MiscUtil.IO.EndianBinaryReader.buffer"> + <summary> + Buffer used for temporary storage before conversion into primitives + </summary> + </member> + <member name="F:MiscUtil.IO.EndianBinaryReader.charBuffer"> + <summary> + Buffer used for temporary storage when reading a single character + </summary> + </member> + <member name="F:MiscUtil.IO.EndianBinaryReader.minBytesPerChar"> + <summary> + Minimum number of bytes used to encode a character + </summary> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.#ctor(MiscUtil.Conversion.EndianBitConverter,System.IO.Stream)"> + <summary> + Equivalent of System.IO.BinaryWriter, but with either endianness, depending on + the EndianBitConverter it is constructed with. + </summary> + <param name="bitConverter">Converter to use when reading data</param> + <param name="stream">Stream to read data from</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.#ctor(MiscUtil.Conversion.EndianBitConverter,System.IO.Stream,System.Text.Encoding)"> + <summary> + Constructs a new binary reader with the given bit converter, reading + to the given stream, using the given encoding. + </summary> + <param name="bitConverter">Converter to use when reading data</param> + <param name="stream">Stream to read data from</param> + <param name="encoding">Encoding to use when reading character data</param> + </member> + <member name="P:MiscUtil.IO.EndianBinaryReader.BitConverter"> + <summary> + The bit converter used to read values from the stream + </summary> + </member> + <member name="P:MiscUtil.IO.EndianBinaryReader.Encoding"> + <summary> + The encoding used to read strings + </summary> + </member> + <member name="P:MiscUtil.IO.EndianBinaryReader.BaseStream"> + <summary> + Gets the underlying stream of the EndianBinaryReader. + </summary> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.Close"> + <summary> + Closes the reader, including the underlying stream.. + </summary> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.Seek(System.Int32,System.IO.SeekOrigin)"> + <summary> + Seeks within the stream. + </summary> + <param name="offset">Offset to seek to.</param> + <param name="origin">Origin of seek operation.</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.ReadByte"> + <summary> + Reads a single byte from the stream. + </summary> + <returns>The byte read</returns> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.ReadSByte"> + <summary> + Reads a single signed byte from the stream. + </summary> + <returns>The byte read</returns> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.ReadBoolean"> + <summary> + Reads a boolean from the stream. 1 byte is read. + </summary> + <returns>The boolean read</returns> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.ReadInt16"> + <summary> + Reads a 16-bit signed integer from the stream, using the bit converter + for this reader. 2 bytes are read. + </summary> + <returns>The 16-bit integer read</returns> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.ReadInt32"> + <summary> + Reads a 32-bit signed integer from the stream, using the bit converter + for this reader. 4 bytes are read. + </summary> + <returns>The 32-bit integer read</returns> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.ReadInt64"> + <summary> + Reads a 64-bit signed integer from the stream, using the bit converter + for this reader. 8 bytes are read. + </summary> + <returns>The 64-bit integer read</returns> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.ReadUInt16"> + <summary> + Reads a 16-bit unsigned integer from the stream, using the bit converter + for this reader. 2 bytes are read. + </summary> + <returns>The 16-bit unsigned integer read</returns> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.ReadUInt32"> + <summary> + Reads a 32-bit unsigned integer from the stream, using the bit converter + for this reader. 4 bytes are read. + </summary> + <returns>The 32-bit unsigned integer read</returns> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.ReadUInt64"> + <summary> + Reads a 64-bit unsigned integer from the stream, using the bit converter + for this reader. 8 bytes are read. + </summary> + <returns>The 64-bit unsigned integer read</returns> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.ReadSingle"> + <summary> + Reads a single-precision floating-point value from the stream, using the bit converter + for this reader. 4 bytes are read. + </summary> + <returns>The floating point value read</returns> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.ReadDouble"> + <summary> + Reads a double-precision floating-point value from the stream, using the bit converter + for this reader. 8 bytes are read. + </summary> + <returns>The floating point value read</returns> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.ReadDecimal"> + <summary> + Reads a decimal value from the stream, using the bit converter + for this reader. 16 bytes are read. + </summary> + <returns>The decimal value read</returns> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.Read"> + <summary> + Reads a single character from the stream, using the character encoding for + this reader. If no characters have been fully read by the time the stream ends, + -1 is returned. + </summary> + <returns>The character read, or -1 for end of stream.</returns> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.Read(System.Char[],System.Int32,System.Int32)"> + <summary> + Reads the specified number of characters into the given buffer, starting at + the given index. + </summary> + <param name="data">The buffer to copy data into</param> + <param name="index">The first index to copy data into</param> + <param name="count">The number of characters to read</param> + <returns>The number of characters actually read. This will only be less than + the requested number of characters if the end of the stream is reached. + </returns> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.Read(System.Byte[],System.Int32,System.Int32)"> + <summary> + Reads the specified number of bytes into the given buffer, starting at + the given index. + </summary> + <param name="buffer">The buffer to copy data into</param> + <param name="index">The first index to copy data into</param> + <param name="count">The number of bytes to read</param> + <returns>The number of bytes actually read. This will only be less than + the requested number of bytes if the end of the stream is reached. + </returns> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.ReadBytes(System.Int32)"> + <summary> + Reads the specified number of bytes, returning them in a new byte array. + If not enough bytes are available before the end of the stream, this + method will return what is available. + </summary> + <param name="count">The number of bytes to read</param> + <returns>The bytes read</returns> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.ReadBytesOrThrow(System.Int32)"> + <summary> + Reads the specified number of bytes, returning them in a new byte array. + If not enough bytes are available before the end of the stream, this + method will throw an IOException. + </summary> + <param name="count">The number of bytes to read</param> + <returns>The bytes read</returns> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.Read7BitEncodedInt"> + <summary> + Reads a 7-bit encoded integer from the stream. This is stored with the least significant + information first, with 7 bits of information per byte of value, and the top + bit as a continuation flag. This method is not affected by the endianness + of the bit converter. + </summary> + <returns>The 7-bit encoded integer read from the stream.</returns> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.ReadBigEndian7BitEncodedInt"> + <summary> + Reads a 7-bit encoded integer from the stream. This is stored with the most significant + information first, with 7 bits of information per byte of value, and the top + bit as a continuation flag. This method is not affected by the endianness + of the bit converter. + </summary> + <returns>The 7-bit encoded integer read from the stream.</returns> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.ReadString"> + <summary> + Reads a length-prefixed string from the stream, using the encoding for this reader. + A 7-bit encoded integer is first read, which specifies the number of bytes + to read from the stream. These bytes are then converted into a string with + the encoding for this reader. + </summary> + <returns>The string read from the stream.</returns> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.CheckDisposed"> + <summary> + Checks whether or not the reader has been disposed, throwing an exception if so. + </summary> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.ReadInternal(System.Byte[],System.Int32)"> + <summary> + Reads the given number of bytes from the stream, throwing an exception + if they can't all be read. + </summary> + <param name="data">Buffer to read into</param> + <param name="size">Number of bytes to read</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.TryReadInternal(System.Byte[],System.Int32)"> + <summary> + Reads the given number of bytes from the stream if possible, returning + the number of bytes actually read, which may be less than requested if + (and only if) the end of the stream is reached. + </summary> + <param name="data">Buffer to read into</param> + <param name="size">Number of bytes to read</param> + <returns>Number of bytes actually read</returns> + </member> + <member name="M:MiscUtil.IO.EndianBinaryReader.Dispose"> + <summary> + Disposes of the underlying stream. + </summary> + </member> + <member name="T:MiscUtil.IO.EndianBinaryWriter"> + <summary> + Equivalent of System.IO.BinaryWriter, but with either endianness, depending on + the EndianBitConverter it is constructed with. + </summary> + </member> + <member name="F:MiscUtil.IO.EndianBinaryWriter.disposed"> + <summary> + Whether or not this writer has been disposed yet. + </summary> + </member> + <member name="F:MiscUtil.IO.EndianBinaryWriter.buffer"> + <summary> + Buffer used for temporary storage during conversion from primitives + </summary> + </member> + <member name="F:MiscUtil.IO.EndianBinaryWriter.charBuffer"> + <summary> + Buffer used for Write(char) + </summary> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.#ctor(MiscUtil.Conversion.EndianBitConverter,System.IO.Stream)"> + <summary> + Constructs a new binary writer with the given bit converter, writing + to the given stream, using UTF-8 encoding. + </summary> + <param name="bitConverter">Converter to use when writing data</param> + <param name="stream">Stream to write data to</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.#ctor(MiscUtil.Conversion.EndianBitConverter,System.IO.Stream,System.Text.Encoding)"> + <summary> + Constructs a new binary writer with the given bit converter, writing + to the given stream, using the given encoding. + </summary> + <param name="bitConverter">Converter to use when writing data</param> + <param name="stream">Stream to write data to</param> + <param name="encoding">Encoding to use when writing character data</param> + </member> + <member name="P:MiscUtil.IO.EndianBinaryWriter.BitConverter"> + <summary> + The bit converter used to write values to the stream + </summary> + </member> + <member name="P:MiscUtil.IO.EndianBinaryWriter.Encoding"> + <summary> + The encoding used to write strings + </summary> + </member> + <member name="P:MiscUtil.IO.EndianBinaryWriter.BaseStream"> + <summary> + Gets the underlying stream of the EndianBinaryWriter. + </summary> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Close"> + <summary> + Closes the writer, including the underlying stream. + </summary> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Flush"> + <summary> + Flushes the underlying stream. + </summary> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Seek(System.Int32,System.IO.SeekOrigin)"> + <summary> + Seeks within the stream. + </summary> + <param name="offset">Offset to seek to.</param> + <param name="origin">Origin of seek operation.</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Write(System.Boolean)"> + <summary> + Writes a boolean value to the stream. 1 byte is written. + </summary> + <param name="value">The value to write</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Write(System.Int16)"> + <summary> + Writes a 16-bit signed integer to the stream, using the bit converter + for this writer. 2 bytes are written. + </summary> + <param name="value">The value to write</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Write(System.Int32)"> + <summary> + Writes a 32-bit signed integer to the stream, using the bit converter + for this writer. 4 bytes are written. + </summary> + <param name="value">The value to write</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Write(System.Int64)"> + <summary> + Writes a 64-bit signed integer to the stream, using the bit converter + for this writer. 8 bytes are written. + </summary> + <param name="value">The value to write</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Write(System.UInt16)"> + <summary> + Writes a 16-bit unsigned integer to the stream, using the bit converter + for this writer. 2 bytes are written. + </summary> + <param name="value">The value to write</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Write(System.UInt32)"> + <summary> + Writes a 32-bit unsigned integer to the stream, using the bit converter + for this writer. 4 bytes are written. + </summary> + <param name="value">The value to write</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Write(System.UInt64)"> + <summary> + Writes a 64-bit unsigned integer to the stream, using the bit converter + for this writer. 8 bytes are written. + </summary> + <param name="value">The value to write</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Write(System.Single)"> + <summary> + Writes a single-precision floating-point value to the stream, using the bit converter + for this writer. 4 bytes are written. + </summary> + <param name="value">The value to write</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Write(System.Double)"> + <summary> + Writes a double-precision floating-point value to the stream, using the bit converter + for this writer. 8 bytes are written. + </summary> + <param name="value">The value to write</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Write(System.Decimal)"> + <summary> + Writes a decimal value to the stream, using the bit converter for this writer. + 16 bytes are written. + </summary> + <param name="value">The value to write</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Write(System.Byte)"> + <summary> + Writes a signed byte to the stream. + </summary> + <param name="value">The value to write</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Write(System.SByte)"> + <summary> + Writes an unsigned byte to the stream. + </summary> + <param name="value">The value to write</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Write(System.Byte[])"> + <summary> + Writes an array of bytes to the stream. + </summary> + <param name="value">The values to write</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Write(System.Byte[],System.Int32,System.Int32)"> + <summary> + Writes a portion of an array of bytes to the stream. + </summary> + <param name="value">An array containing the bytes to write</param> + <param name="offset">The index of the first byte to write within the array</param> + <param name="count">The number of bytes to write</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Write(System.Char)"> + <summary> + Writes a single character to the stream, using the encoding for this writer. + </summary> + <param name="value">The value to write</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Write(System.Char[])"> + <summary> + Writes an array of characters to the stream, using the encoding for this writer. + </summary> + <param name="value">An array containing the characters to write</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Write(System.String)"> + <summary> + Writes a string to the stream, using the encoding for this writer. + </summary> + <param name="value">The value to write. Must not be null.</param> + <exception cref="T:System.ArgumentNullException">value is null</exception> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Write7BitEncodedInt(System.Int32)"> + <summary> + Writes a 7-bit encoded integer from the stream. This is stored with the least significant + information first, with 7 bits of information per byte of value, and the top + bit as a continuation flag. + </summary> + <param name="value">The 7-bit encoded integer to write to the stream</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.CheckDisposed"> + <summary> + Checks whether or not the writer has been disposed, throwing an exception if so. + </summary> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.WriteInternal(System.Byte[],System.Int32)"> + <summary> + Writes the specified number of bytes from the start of the given byte array, + after checking whether or not the writer has been disposed. + </summary> + <param name="bytes">The array of bytes to write from</param> + <param name="length">The number of bytes to write</param> + </member> + <member name="M:MiscUtil.IO.EndianBinaryWriter.Dispose"> + <summary> + Disposes of the underlying stream. + </summary> + </member> + <member name="T:MiscUtil.IO.LineReader"> + <summary> + Reads a data source line by line. The source can be a file, a stream, + or a text reader. In any case, the source is only opened when the + enumerator is fetched, and is closed when the iterator is disposed. + </summary> + </member> + <member name="F:MiscUtil.IO.LineReader.dataSource"> + <summary> + Means of creating a TextReader to read from. + </summary> + </member> + <member name="M:MiscUtil.IO.LineReader.#ctor(System.Func{System.IO.Stream})"> + <summary> + Creates a LineReader from a stream source. The delegate is only + called when the enumerator is fetched. UTF-8 is used to decode + the stream into text. + </summary> + <param name="streamSource">Data source</param> + </member> + <member name="M:MiscUtil.IO.LineReader.#ctor(System.Func{System.IO.Stream},System.Text.Encoding)"> + <summary> + Creates a LineReader from a stream source. The delegate is only + called when the enumerator is fetched. + </summary> + <param name="streamSource">Data source</param> + <param name="encoding">Encoding to use to decode the stream into text</param> + </member> + <member name="M:MiscUtil.IO.LineReader.#ctor(System.String)"> + <summary> + Creates a LineReader from a filename. The file is only opened + (or even checked for existence) when the enumerator is fetched. + UTF8 is used to decode the file into text. + </summary> + <param name="filename">File to read from</param> + </member> + <member name="M:MiscUtil.IO.LineReader.#ctor(System.String,System.Text.Encoding)"> + <summary> + Creates a LineReader from a filename. The file is only opened + (or even checked for existence) when the enumerator is fetched. + </summary> + <param name="filename">File to read from</param> + <param name="encoding">Encoding to use to decode the file into text</param> + </member> + <member name="M:MiscUtil.IO.LineReader.#ctor(System.Func{System.IO.TextReader})"> + <summary> + Creates a LineReader from a TextReader source. The delegate + is only called when the enumerator is fetched + </summary> + <param name="dataSource">Data source</param> + </member> + <member name="M:MiscUtil.IO.LineReader.GetEnumerator"> + <summary> + Enumerates the data source line by line. + </summary> + </member> + <member name="M:MiscUtil.IO.LineReader.System#Collections#IEnumerable#GetEnumerator"> + <summary> + Enumerates the data source line by line. + </summary> + </member> + <member name="T:MiscUtil.IO.NonClosingStreamWrapper"> + <summary> + Wraps a stream for all operations except Close and Dispose, which + merely flush the stream and prevent further operations from being + carried out using this wrapper. + </summary> + </member> + <member name="M:MiscUtil.IO.NonClosingStreamWrapper.#ctor(System.IO.Stream)"> + <summary> + Creates a new instance of the class, wrapping the specified stream. + </summary> + <param name="stream">The stream to wrap. Must not be null.</param> + <exception cref="T:System.ArgumentNullException">stream is null</exception> + </member> + <member name="P:MiscUtil.IO.NonClosingStreamWrapper.BaseStream"> + <summary> + Stream wrapped by this wrapper + </summary> + </member> + <member name="F:MiscUtil.IO.NonClosingStreamWrapper.closed"> + <summary> + Whether this stream has been closed or not + </summary> + </member> + <member name="M:MiscUtil.IO.NonClosingStreamWrapper.CheckClosed"> + <summary> + Throws an InvalidOperationException if the wrapper is closed. + </summary> + </member> + <member name="M:MiscUtil.IO.NonClosingStreamWrapper.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"> + <summary> + Begins an asynchronous read operation. + </summary> + <param name="buffer">The buffer to read the data into. </param> + <param name="offset"> + The byte offset in buffer at which to begin writing data read from the stream. + </param> + <param name="count">The maximum number of bytes to read. </param> + <param name="callback"> + An optional asynchronous callback, to be called when the read is complete. + </param> + <param name="state"> + A user-provided object that distinguishes this particular + asynchronous read request from other requests. + </param> + <returns> + An IAsyncResult that represents the asynchronous read, + which could still be pending. + </returns> + </member> + <member name="M:MiscUtil.IO.NonClosingStreamWrapper.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"> + <summary> + Begins an asynchronous write operation. + </summary> + <param name="buffer">The buffer to write data from.</param> + <param name="offset">The byte offset in buffer from which to begin writing.</param> + <param name="count">The maximum number of bytes to write.</param> + <param name="callback"> + An optional asynchronous callback, to be called when the write is complete. + </param> + <param name="state"> + A user-provided object that distinguishes this particular asynchronous + write request from other requests. + </param> + <returns> + An IAsyncResult that represents the asynchronous write, + which could still be pending. + </returns> + </member> + <member name="P:MiscUtil.IO.NonClosingStreamWrapper.CanRead"> + <summary> + Indicates whether or not the underlying stream can be read from. + </summary> + </member> + <member name="P:MiscUtil.IO.NonClosingStreamWrapper.CanSeek"> + <summary> + Indicates whether or not the underlying stream supports seeking. + </summary> + </member> + <member name="P:MiscUtil.IO.NonClosingStreamWrapper.CanWrite"> + <summary> + Indicates whether or not the underlying stream can be written to. + </summary> + </member> + <member name="M:MiscUtil.IO.NonClosingStreamWrapper.Close"> + <summary> + This method is not proxied to the underlying stream; instead, the wrapper + is marked as unusable for other (non-close/Dispose) operations. The underlying + stream is flushed if the wrapper wasn't closed before this call. + </summary> + </member> + <member name="M:MiscUtil.IO.NonClosingStreamWrapper.CreateObjRef(System.Type)"> + <summary> + Throws a NotSupportedException. + </summary> + <param name="requestedType">The Type of the object that the new ObjRef will reference.</param> + <returns>n/a</returns> + </member> + <member name="M:MiscUtil.IO.NonClosingStreamWrapper.EndRead(System.IAsyncResult)"> + <summary> + Waits for the pending asynchronous read to complete. + </summary> + <param name="asyncResult"> + The reference to the pending asynchronous request to finish. + </param> + <returns> + The number of bytes read from the stream, between zero (0) + and the number of bytes you requested. Streams only return + zero (0) at the end of the stream, otherwise, they should + block until at least one byte is available. + </returns> + </member> + <member name="M:MiscUtil.IO.NonClosingStreamWrapper.EndWrite(System.IAsyncResult)"> + <summary> + Ends an asynchronous write operation. + </summary> + <param name="asyncResult">A reference to the outstanding asynchronous I/O request.</param> + </member> + <member name="M:MiscUtil.IO.NonClosingStreamWrapper.Flush"> + <summary> + Flushes the underlying stream. + </summary> + </member> + <member name="M:MiscUtil.IO.NonClosingStreamWrapper.InitializeLifetimeService"> + <summary> + Throws a NotSupportedException. + </summary> + <returns>n/a</returns> + </member> + <member name="P:MiscUtil.IO.NonClosingStreamWrapper.Length"> + <summary> + Returns the length of the underlying stream. + </summary> + </member> + <member name="P:MiscUtil.IO.NonClosingStreamWrapper.Position"> + <summary> + Gets or sets the current position in the underlying stream. + </summary> + </member> + <member name="M:MiscUtil.IO.NonClosingStreamWrapper.Read(System.Byte[],System.Int32,System.Int32)"> + <summary> + Reads a sequence of bytes from the underlying stream and advances the + position within the stream by the number of bytes read. + </summary> + <param name="buffer"> + An array of bytes. When this method returns, the buffer contains + the specified byte array with the values between offset and + (offset + count- 1) replaced by the bytes read from the underlying source. + </param> + <param name="offset"> + The zero-based byte offset in buffer at which to begin storing the data + read from the underlying stream. + </param> + <param name="count"> + The maximum number of bytes to be read from the + underlying stream. + </param> + <returns>The total number of bytes read into the buffer. + This can be less than the number of bytes requested if that many + bytes are not currently available, or zero (0) if the end of the + stream has been reached. + </returns> + </member> + <member name="M:MiscUtil.IO.NonClosingStreamWrapper.ReadByte"> + <summary> + Reads a byte from the stream and advances the position within the + stream by one byte, or returns -1 if at the end of the stream. + </summary> + <returns>The unsigned byte cast to an Int32, or -1 if at the end of the stream.</returns> + </member> + <member name="M:MiscUtil.IO.NonClosingStreamWrapper.Seek(System.Int64,System.IO.SeekOrigin)"> + <summary> + Sets the position within the current stream. + </summary> + <param name="offset">A byte offset relative to the origin parameter.</param> + <param name="origin"> + A value of type SeekOrigin indicating the reference + point used to obtain the new position. + </param> + <returns>The new position within the underlying stream.</returns> + </member> + <member name="M:MiscUtil.IO.NonClosingStreamWrapper.SetLength(System.Int64)"> + <summary> + Sets the length of the underlying stream. + </summary> + <param name="value">The desired length of the underlying stream in bytes.</param> + </member> + <member name="M:MiscUtil.IO.NonClosingStreamWrapper.Write(System.Byte[],System.Int32,System.Int32)"> + <summary> + Writes a sequence of bytes to the underlying stream and advances + the current position within the stream by the number of bytes written. + </summary> + <param name="buffer"> + An array of bytes. This method copies count bytes + from buffer to the underlying stream. + </param> + <param name="offset"> + The zero-based byte offset in buffer at + which to begin copying bytes to the underlying stream. + </param> + <param name="count">The number of bytes to be written to the underlying stream.</param> + </member> + <member name="M:MiscUtil.IO.NonClosingStreamWrapper.WriteByte(System.Byte)"> + <summary> + Writes a byte to the current position in the stream and + advances the position within the stream by one byte. + </summary> + <param name="value">The byte to write to the stream. </param> + </member> + <member name="T:MiscUtil.IO.ReverseLineReader"> + <summary> + Takes an encoding (defaulting to UTF-8) and a function which produces a seekable stream + (or a filename for convenience) and yields lines from the end of the stream backwards. + Only single byte encodings, and UTF-8 and Unicode, are supported. The stream + returned by the function must be seekable. + </summary> + </member> + <member name="F:MiscUtil.IO.ReverseLineReader.DefaultBufferSize"> + <summary> + Buffer size to use by default. Classes with internal access can specify + a different buffer size - this is useful for testing. + </summary> + </member> + <member name="F:MiscUtil.IO.ReverseLineReader.streamSource"> + <summary> + Means of creating a Stream to read from. + </summary> + </member> + <member name="F:MiscUtil.IO.ReverseLineReader.encoding"> + <summary> + Encoding to use when converting bytes to text + </summary> + </member> + <member name="F:MiscUtil.IO.ReverseLineReader.bufferSize"> + <summary> + Size of buffer (in bytes) to read each time we read from the + stream. This must be at least as big as the maximum number of + bytes for a single character. + </summary> + </member> + <member name="F:MiscUtil.IO.ReverseLineReader.characterStartDetector"> + <summary> + Function which, when given a position within a file and a byte, states whether + or not the byte represents the start of a character. + </summary> + </member> + <member name="M:MiscUtil.IO.ReverseLineReader.#ctor(System.Func{System.IO.Stream})"> + <summary> + Creates a LineReader from a stream source. The delegate is only + called when the enumerator is fetched. UTF-8 is used to decode + the stream into text. + </summary> + <param name="streamSource">Data source</param> + </member> + <member name="M:MiscUtil.IO.ReverseLineReader.#ctor(System.String)"> + <summary> + Creates a LineReader from a filename. The file is only opened + (or even checked for existence) when the enumerator is fetched. + UTF8 is used to decode the file into text. + </summary> + <param name="filename">File to read from</param> + </member> + <member name="M:MiscUtil.IO.ReverseLineReader.#ctor(System.String,System.Text.Encoding)"> + <summary> + Creates a LineReader from a filename. The file is only opened + (or even checked for existence) when the enumerator is fetched. + </summary> + <param name="filename">File to read from</param> + <param name="encoding">Encoding to use to decode the file into text</param> + </member> + <member name="M:MiscUtil.IO.ReverseLineReader.#ctor(System.Func{System.IO.Stream},System.Text.Encoding)"> + <summary> + Creates a LineReader from a stream source. The delegate is only + called when the enumerator is fetched. + </summary> + <param name="streamSource">Data source</param> + <param name="encoding">Encoding to use to decode the stream into text</param> + </member> + <member name="M:MiscUtil.IO.ReverseLineReader.GetEnumerator"> + <summary> + Returns the enumerator reading strings backwards. If this method discovers that + the returned stream is either unreadable or unseekable, a NotSupportedException is thrown. + </summary> + </member> + <member name="T:MiscUtil.IO.StreamUtil"> + <summary> + Collection of utility methods which operate on streams. + (With C# 3.0, these could well become extension methods on Stream.) + </summary> + </member> + <member name="M:MiscUtil.IO.StreamUtil.ReadFully(System.IO.Stream)"> + <summary> + Reads the given stream up to the end, returning the data as a byte + array. + </summary> + <param name="input">The stream to read from</param> + <exception cref="T:System.ArgumentNullException">input is null</exception> + <exception cref="T:System.IO.IOException">An error occurs while reading from the stream</exception> + <returns>The data read from the stream</returns> + </member> + <member name="M:MiscUtil.IO.StreamUtil.ReadFully(System.IO.Stream,System.Int32)"> + <summary> + Reads the given stream up to the end, returning the data as a byte + array, using the given buffer size. + </summary> + <param name="input">The stream to read from</param> + <param name="bufferSize">The size of buffer to use when reading</param> + <exception cref="T:System.ArgumentNullException">input is null</exception> + <exception cref="T:System.ArgumentOutOfRangeException">bufferSize is less than 1</exception> + <exception cref="T:System.IO.IOException">An error occurs while reading from the stream</exception> + <returns>The data read from the stream</returns> + </member> + <member name="M:MiscUtil.IO.StreamUtil.ReadFully(System.IO.Stream,MiscUtil.IBuffer)"> + <summary> + Reads the given stream up to the end, returning the data as a byte + array, using the given buffer for transferring data. Note that the + current contents of the buffer is ignored, so the buffer needn't + be cleared beforehand. + </summary> + <param name="input">The stream to read from</param> + <param name="buffer">The buffer to use to transfer data</param> + <exception cref="T:System.ArgumentNullException">input is null</exception> + <exception cref="T:System.ArgumentNullException">buffer is null</exception> + <exception cref="T:System.IO.IOException">An error occurs while reading from the stream</exception> + <returns>The data read from the stream</returns> + </member> + <member name="M:MiscUtil.IO.StreamUtil.ReadFully(System.IO.Stream,System.Byte[])"> + <summary> + Reads the given stream up to the end, returning the data as a byte + array, using the given buffer for transferring data. Note that the + current contents of the buffer is ignored, so the buffer needn't + be cleared beforehand. + </summary> + <param name="input">The stream to read from</param> + <param name="buffer">The buffer to use to transfer data</param> + <exception cref="T:System.ArgumentNullException">input is null</exception> + <exception cref="T:System.ArgumentNullException">buffer is null</exception> + <exception cref="T:System.ArgumentException">buffer is a zero-length array</exception> + <exception cref="T:System.IO.IOException">An error occurs while reading from the stream</exception> + <returns>The data read from the stream</returns> + </member> + <member name="M:MiscUtil.IO.StreamUtil.Copy(System.IO.Stream,System.IO.Stream)"> + <summary> + Copies all the data from one stream into another. + </summary> + <param name="input">The stream to read from</param> + <param name="output">The stream to write to</param> + <exception cref="T:System.ArgumentNullException">input is null</exception> + <exception cref="T:System.ArgumentNullException">output is null</exception> + <exception cref="T:System.IO.IOException">An error occurs while reading or writing</exception> + </member> + <member name="M:MiscUtil.IO.StreamUtil.Copy(System.IO.Stream,System.IO.Stream,System.Int32)"> + <summary> + Copies all the data from one stream into another, using a buffer + of the given size. + </summary> + <param name="input">The stream to read from</param> + <param name="output">The stream to write to</param> + <param name="bufferSize">The size of buffer to use when reading</param> + <exception cref="T:System.ArgumentNullException">input is null</exception> + <exception cref="T:System.ArgumentNullException">output is null</exception> + <exception cref="T:System.ArgumentOutOfRangeException">bufferSize is less than 1</exception> + <exception cref="T:System.IO.IOException">An error occurs while reading or writing</exception> + </member> + <member name="M:MiscUtil.IO.StreamUtil.Copy(System.IO.Stream,System.IO.Stream,MiscUtil.IBuffer)"> + <summary> + Copies all the data from one stream into another, using the given + buffer for transferring data. Note that the current contents of + the buffer is ignored, so the buffer needn't be cleared beforehand. + </summary> + <param name="input">The stream to read from</param> + <param name="output">The stream to write to</param> + <param name="buffer">The buffer to use to transfer data</param> + <exception cref="T:System.ArgumentNullException">input is null</exception> + <exception cref="T:System.ArgumentNullException">output is null</exception> + <exception cref="T:System.ArgumentNullException">buffer is null</exception> + <exception cref="T:System.IO.IOException">An error occurs while reading or writing</exception> + </member> + <member name="M:MiscUtil.IO.StreamUtil.Copy(System.IO.Stream,System.IO.Stream,System.Byte[])"> + <summary> + Copies all the data from one stream into another, using the given + buffer for transferring data. Note that the current contents of + the buffer is ignored, so the buffer needn't be cleared beforehand. + </summary> + <param name="input">The stream to read from</param> + <param name="output">The stream to write to</param> + <param name="buffer">The buffer to use to transfer data</param> + <exception cref="T:System.ArgumentNullException">input is null</exception> + <exception cref="T:System.ArgumentNullException">output is null</exception> + <exception cref="T:System.ArgumentNullException">buffer is null</exception> + <exception cref="T:System.ArgumentException">buffer is a zero-length array</exception> + <exception cref="T:System.IO.IOException">An error occurs while reading or writing</exception> + </member> + <member name="M:MiscUtil.IO.StreamUtil.ReadExactly(System.IO.Stream,System.Int32)"> + <summary> + Reads exactly the given number of bytes from the specified stream. + If the end of the stream is reached before the specified amount + of data is read, an exception is thrown. + </summary> + <param name="input">The stream to read from</param> + <param name="bytesToRead">The number of bytes to read</param> + <exception cref="T:System.ArgumentNullException">input is null</exception> + <exception cref="T:System.ArgumentOutOfRangeException">bytesToRead is less than 1</exception> + <exception cref="T:System.IO.EndOfStreamException">The end of the stream is reached before + enough data has been read</exception> + <exception cref="T:System.IO.IOException">An error occurs while reading from the stream</exception> + <returns>The data read from the stream</returns> + </member> + <member name="M:MiscUtil.IO.StreamUtil.ReadExactly(System.IO.Stream,MiscUtil.IBuffer)"> + <summary> + Reads into a buffer, filling it completely. + </summary> + <param name="input">The stream to read from</param> + <param name="buffer">The buffer to read into</param> + <exception cref="T:System.ArgumentNullException">input is null</exception> + <exception cref="T:System.ArgumentOutOfRangeException">The buffer is of zero length</exception> + <exception cref="T:System.IO.EndOfStreamException">The end of the stream is reached before + enough data has been read</exception> + <exception cref="T:System.IO.IOException">An error occurs while reading from the stream</exception> + <returns>The data read from the stream</returns> + </member> + <member name="M:MiscUtil.IO.StreamUtil.ReadExactly(System.IO.Stream,System.Byte[])"> + <summary> + Reads into a buffer, filling it completely. + </summary> + <param name="input">The stream to read from</param> + <param name="buffer">The buffer to read into</param> + <exception cref="T:System.ArgumentNullException">input is null</exception> + <exception cref="T:System.ArgumentOutOfRangeException">The buffer is of zero length</exception> + <exception cref="T:System.IO.EndOfStreamException">The end of the stream is reached before + enough data has been read</exception> + <exception cref="T:System.IO.IOException">An error occurs while reading from the stream</exception> + <returns>The data read from the stream</returns> + </member> + <member name="M:MiscUtil.IO.StreamUtil.ReadExactly(System.IO.Stream,MiscUtil.IBuffer,System.Int32)"> + <summary> + Reads into a buffer, for the given number of bytes. + </summary> + <param name="input">The stream to read from</param> + <param name="buffer">The buffer to read into</param> + <param name="bytesToRead">The number of bytes to read</param> + <exception cref="T:System.ArgumentNullException">input is null</exception> + <exception cref="T:System.ArgumentOutOfRangeException">The buffer is of zero length, or bytesToRead + exceeds the buffer length</exception> + <exception cref="T:System.IO.EndOfStreamException">The end of the stream is reached before + enough data has been read</exception> + <exception cref="T:System.IO.IOException">An error occurs while reading from the stream</exception> + <returns>The data read from the stream</returns> + </member> + <member name="M:MiscUtil.IO.StreamUtil.ReadExactly(System.IO.Stream,System.Byte[],System.Int32)"> + <summary> + Reads exactly the given number of bytes from the specified stream, + into the given buffer, starting at position 0 of the array. + </summary> + <param name="input">The stream to read from</param> + <param name="buffer">The byte array to read into</param> + <param name="bytesToRead">The number of bytes to read</param> + <exception cref="T:System.ArgumentNullException">input is null</exception> + <exception cref="T:System.ArgumentOutOfRangeException">bytesToRead is less than 1</exception> + <exception cref="T:System.IO.EndOfStreamException">The end of the stream is reached before + enough data has been read</exception> + <exception cref="T:System.IO.IOException">An error occurs while reading from the stream</exception> + </member> + <member name="M:MiscUtil.IO.StreamUtil.ReadExactly(System.IO.Stream,MiscUtil.IBuffer,System.Int32,System.Int32)"> + <summary> + Reads into a buffer, for the given number of bytes, from the specified location + </summary> + <param name="input">The stream to read from</param> + <param name="buffer">The buffer to read into</param> + <param name="startIndex">The index into the buffer at which to start writing</param> + <param name="bytesToRead">The number of bytes to read</param> + <exception cref="T:System.ArgumentNullException">input is null</exception> + <exception cref="T:System.ArgumentOutOfRangeException">The buffer is of zero length, or startIndex+bytesToRead + exceeds the buffer length</exception> + <exception cref="T:System.IO.EndOfStreamException">The end of the stream is reached before + enough data has been read</exception> + <exception cref="T:System.IO.IOException">An error occurs while reading from the stream</exception> + <returns>The data read from the stream</returns> + </member> + <member name="M:MiscUtil.IO.StreamUtil.ReadExactly(System.IO.Stream,System.Byte[],System.Int32,System.Int32)"> + <summary> + Reads exactly the given number of bytes from the specified stream, + into the given buffer, starting at position 0 of the array. + </summary> + <param name="input">The stream to read from</param> + <param name="buffer">The byte array to read into</param> + <param name="startIndex">The index into the buffer at which to start writing</param> + <param name="bytesToRead">The number of bytes to read</param> + <exception cref="T:System.ArgumentNullException">input is null</exception> + <exception cref="T:System.ArgumentOutOfRangeException">bytesToRead is less than 1, startIndex is less than 0, + or startIndex+bytesToRead is greater than the buffer length</exception> + <exception cref="T:System.IO.EndOfStreamException">The end of the stream is reached before + enough data has been read</exception> + <exception cref="T:System.IO.IOException">An error occurs while reading from the stream</exception> + </member> + <member name="T:MiscUtil.IO.StringWriterWithEncoding"> + <summary> + A simple class derived from StringWriter, but which allows + the user to select which Encoding is used. This is most + likely to be used with XmlTextWriter, which uses the Encoding + property to determine which encoding to specify in the XML. + </summary> + </member> + <member name="F:MiscUtil.IO.StringWriterWithEncoding.encoding"> + <summary> + The encoding to return in the Encoding property. + </summary> + </member> + <member name="M:MiscUtil.IO.StringWriterWithEncoding.#ctor(System.Text.Encoding)"> + <summary> + Initializes a new instance of the StringWriterWithEncoding class + with the specified encoding. + </summary> + <param name="encoding">The encoding to report.</param> + </member> + <member name="M:MiscUtil.IO.StringWriterWithEncoding.#ctor(System.IFormatProvider,System.Text.Encoding)"> + <summary> + Initializes a new instance of the StringWriter class with the + specified format control and encoding. + </summary> + <param name="formatProvider">An IFormatProvider object that controls formatting.</param> + <param name="encoding">The encoding to report.</param> + </member> + <member name="M:MiscUtil.IO.StringWriterWithEncoding.#ctor(System.Text.StringBuilder,System.Text.Encoding)"> + <summary> + Initializes a new instance of the StringWriter class that writes to the + specified StringBuilder, and reports the specified encoding. + </summary> + <param name="sb">The StringBuilder to write to. </param> + <param name="encoding">The encoding to report.</param> + </member> + <member name="M:MiscUtil.IO.StringWriterWithEncoding.#ctor(System.Text.StringBuilder,System.IFormatProvider,System.Text.Encoding)"> + <summary> + Initializes a new instance of the StringWriter class that writes to the specified + StringBuilder, has the specified format provider, and reports the specified encoding. + </summary> + <param name="sb">The StringBuilder to write to. </param> + <param name="formatProvider">An IFormatProvider object that controls formatting.</param> + <param name="encoding">The encoding to report.</param> + </member> + <member name="P:MiscUtil.IO.StringWriterWithEncoding.Encoding"> + <summary> + Gets the Encoding in which the output is written. + </summary> + </member> + <member name="T:MiscUtil.Linq.DataProducer`1"> + <summary> + Very simple implementation of IDataProducer. + </summary> + <typeparam name="T"></typeparam> + </member> + <member name="E:MiscUtil.Linq.DataProducer`1.DataProduced"> + <summary> + Event which is raised when an item of data is produced. + This will not be raised after EndOfData has been raised. + The parameter for the event is the + </summary> + <seealso cref="E:MiscUtil.Linq.IDataProducer`1.DataProduced"/> + </member> + <member name="E:MiscUtil.Linq.DataProducer`1.EndOfData"> + <summary> + Event which is raised when the sequence has finished being + produced. This will be raised exactly once, and after all + DataProduced events (if any) have been raised. + </summary> + <seealso cref="E:MiscUtil.Linq.IDataProducer`1.EndOfData"/> + </member> + <member name="M:MiscUtil.Linq.DataProducer`1.Produce(`0)"> + <summary> + Signals a single item of data. + </summary> + </member> + <member name="M:MiscUtil.Linq.DataProducer`1.ProduceAndEnd(`0[])"> + <summary> + Signals multiple items of data, one at a time, then ends. + Note that this method only exists to support the params modifier. + In every other way it's equivalent to the ProduceAndEnd(IEnumerable{T}). + </summary> + </member> + <member name="M:MiscUtil.Linq.DataProducer`1.ProduceAndEnd(System.Collections.Generic.IEnumerable{`0})"> + <summary> + Signals multiple items of data, one at a time, then ends. + </summary> + </member> + <member name="M:MiscUtil.Linq.DataProducer`1.PumpProduceAndEnd``1(System.Collections.Generic.IEnumerable{`0},MiscUtil.Linq.IDataProducer{``0})"> + <summary> + Pumps the specified items into this data producer, yielding results + as they are received. Before an item is pumped, an internal queue is + created. Pumping an item may yield results at the other end of the pipeline + - any such results are buffered in the queue. When the pumping of a particular + item has finished, all results in the queue are yielded. This means that + naturally streaming operations (projection and filtering) require only a single item + buffer. This producer "ends" when all the items have been produced. If the result + pipeline ends before all items have been pumped, the buffered results are yielded + but no more items are pumped. + </summary> + <typeparam name="TResult">Type of element in the result pipeline</typeparam> + <param name="items">Items to insert into the pipeline</param> + <param name="pipeline">The pipeline to subscribe to for items to yield</param> + <returns>A sequence of yielded items.</returns> + </member> + <member name="M:MiscUtil.Linq.DataProducer`1.End"> + <summary> + Signal the end of data. This can only be called once, and + afterwards the Produce method must not be called. + </summary> + </member> + <member name="T:MiscUtil.Linq.EditableLookup`2"> + <summary> + Simple non-unique map wrapper + </summary> + <remarks> + ApplyResultSelector (from Lookup[TKey, TElement] is not implemented, + since the caller could just as easily (or more-so) use .Select() with + a Func[IGrouping[TKey, TElement], TResult], since + IGrouping[TKey, TElement] already includes both the "TKey Key" + and the IEnumerable[TElement]. + </remarks> + </member> + <member name="M:MiscUtil.Linq.EditableLookup`2.#ctor"> + <summary> + Creates a new EditableLookup using the default key-comparer + </summary> + </member> + <member name="M:MiscUtil.Linq.EditableLookup`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})"> + <summary> + Creates a new EditableLookup using the specified key-comparer + </summary> + <param name="keyComparer"></param> + </member> + <member name="M:MiscUtil.Linq.EditableLookup`2.Contains(`0)"> + <summary> + Does the lookup contain any value(s) for the given key? + </summary> + </member> + <member name="M:MiscUtil.Linq.EditableLookup`2.Contains(`0,`1)"> + <summary> + Does the lookup the specific key/value pair? + </summary> + </member> + <member name="M:MiscUtil.Linq.EditableLookup`2.Add(`0,`1)"> + <summary> + Adds a key/value pair to the lookup + </summary> + <remarks>If the value is already present it will be duplicated</remarks> + </member> + <member name="M:MiscUtil.Linq.EditableLookup`2.AddRange(`0,System.Collections.Generic.IEnumerable{`1})"> + <summary> + Adds a range of values against a single key + </summary> + <remarks>Any values already present will be duplicated</remarks> + </member> + <member name="M:MiscUtil.Linq.EditableLookup`2.AddRange(System.Linq.ILookup{`0,`1})"> + <summary> + Add all key/value pairs from the supplied lookup + to the current lookup + </summary> + <remarks>Any values already present will be duplicated</remarks> + </member> + <member name="M:MiscUtil.Linq.EditableLookup`2.Remove(`0)"> + <summary> + Remove all values from the lookup for the given key + </summary> + <returns>True if any items were removed, else false</returns> + </member> + <member name="M:MiscUtil.Linq.EditableLookup`2.Remove(`0,`1)"> + <summary> + Remove the specific key/value pair from the lookup + </summary> + <returns>True if the item was found, else false</returns> + </member> + <member name="M:MiscUtil.Linq.EditableLookup`2.TrimExcess"> + <summary> + Trims the inner data-structure to remove + any surplus space + </summary> + </member> + <member name="P:MiscUtil.Linq.EditableLookup`2.Count"> + <summary> + Returns the number of dictinct keys in the lookup + </summary> + </member> + <member name="P:MiscUtil.Linq.EditableLookup`2.Item(`0)"> + <summary> + Returns the set of values for the given key + </summary> + </member> + <member name="M:MiscUtil.Linq.EditableLookup`2.GetEnumerator"> + <summary> + Returns the sequence of keys and their contained values + </summary> + </member> + <member name="T:MiscUtil.Linq.ExpressionUtil"> + <summary> + General purpose Expression utilities + </summary> + </member> + <member name="M:MiscUtil.Linq.ExpressionUtil.CreateExpression``2(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.UnaryExpression})"> + <summary> + Create a function delegate representing a unary operation + </summary> + <typeparam name="TArg1">The parameter type</typeparam> + <typeparam name="TResult">The return type</typeparam> + <param name="body">Body factory</param> + <returns>Compiled function delegate</returns> + </member> + <member name="M:MiscUtil.Linq.ExpressionUtil.CreateExpression``3(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.BinaryExpression})"> + <summary> + Create a function delegate representing a binary operation + </summary> + <typeparam name="TArg1">The first parameter type</typeparam> + <typeparam name="TArg2">The second parameter type</typeparam> + <typeparam name="TResult">The return type</typeparam> + <param name="body">Body factory</param> + <returns>Compiled function delegate</returns> + </member> + <member name="M:MiscUtil.Linq.ExpressionUtil.CreateExpression``3(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.BinaryExpression},System.Boolean)"> + <summary> + Create a function delegate representing a binary operation + </summary> + <param name="castArgsToResultOnFailure"> + If no matching operation is possible, attempt to convert + TArg1 and TArg2 to TResult for a match? For example, there is no + "decimal operator /(decimal, int)", but by converting TArg2 (int) to + TResult (decimal) a match is found. + </param> + <typeparam name="TArg1">The first parameter type</typeparam> + <typeparam name="TArg2">The second parameter type</typeparam> + <typeparam name="TResult">The return type</typeparam> + <param name="body">Body factory</param> + <returns>Compiled function delegate</returns> + </member> + <member name="T:MiscUtil.Linq.Extensions.DataProducerExt"> + <summary> + Extensions on IDataProducer + </summary> + <summary> + Extensions on IDataProducer + </summary> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.AsFutureEnumerable``1(MiscUtil.Linq.IDataProducer{``0})"> + <summary> + Converts an IDataProducer into an IFuture[IEnumerable]. The results + are buffered in memory (as a list), so be warned that this loses the "streaming" + nature of most of the IDataProducer extension methods. The "future" nature of + the result ensures that all results are produced before the enumeration can take + place. + </summary> + <remarks>This will force all values to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.AsEnumerable``1(MiscUtil.Linq.IDataProducer{``0})"> + <summary> + Converts an IDataProducer into an IEnumerable. The results + are buffered in memory (as a list), so be warned that this loses the "streaming" + nature of most of the IDataProducer extension methods. The list is returned + immediately, but further data productions add to it. You must therefore be careful + when the list is used - it is a good idea to only use it after all data has been + produced. + </summary> + <remarks>This will force all values to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.ToList``1(MiscUtil.Linq.IDataProducer{``0})"> + <summary> + Converts an IDataProducer into a list. An empty list is returned immediately, + and any results produced are added to it. + </summary> + <remarks>This will force all values to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.ToFutureArray``1(MiscUtil.Linq.IDataProducer{``0})"> + <summary> + Converts an IDataProducer into a future array. + </summary> + <remarks>This will force all values to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.ToLookup``3(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IEqualityComparer{``1})"> + <summary> + Converts an IDataProducer into a lookup. + </summary> + <param name="elementSelector">A transform function to produce a result element value from each element.</param> + <param name="keySelector">A function to extract a key from each element.</param> + <param name="keyComparer">Used to compare keys.</param> + <param name="source">The data source.</param> + <remarks>This will force all values to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.ToLookup``2(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1})"> + <summary> + Converts an IDataProducer into a lookup. + </summary> + <param name="keySelector">A function to extract a key from each element.</param> + <param name="source">The data source.</param> + <remarks>This will force all values to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.ToLookup``2(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})"> + <summary> + Converts an IDataProducer into a lookup. + </summary> + <param name="keySelector">A function to extract a key from each element.</param> + <param name="keyComparer">Used to compare keys.</param> + <param name="source">The data source.</param> + <remarks>This will force all values to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.ToLookup``3(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1},System.Func{``0,``2})"> + <summary> + Converts an IDataProducer into a lookup. + </summary> + <param name="elementSelector">A transform function to produce a result element value from each element.</param> + <param name="keySelector">A function to extract a key from each element.</param> + <param name="source">The data source.</param> + <remarks>This will force all values to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.ToDictionary``3(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IEqualityComparer{``1})"> + <summary> + Converts an IDataProducer into a dictionary. + </summary> + <param name="elementSelector">A transform function to produce a result element value from each element.</param> + <param name="keySelector">A function to extract a key from each element.</param> + <param name="keyComparer">Used to compare keys.</param> + <param name="source">The data source.</param> + <remarks>This will force all values to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.ToDictionary``2(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1})"> + <summary> + Converts an IDataProducer into a dictionary. + </summary> + <param name="keySelector">A function to extract a key from each element.</param> + <param name="source">The data source.</param> + <remarks>This will force all values to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.ToDictionary``2(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})"> + <summary> + Converts an IDataProducer into a dictionary. + </summary> + <param name="keySelector">A function to extract a key from each element.</param> + <param name="keyComparer">Used to compare keys.</param> + <param name="source">The data source.</param> + <remarks>This will force all values to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.ToDictionary``3(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1},System.Func{``0,``2})"> + <summary> + Converts an IDataProducer into a dictionary. + </summary> + <param name="elementSelector">A transform function to produce a result element value from each element.</param> + <param name="keySelector">A function to extract a key from each element.</param> + <param name="source">The data source.</param> + <remarks>This will force all values to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.GroupBy``2(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1})"> + <summary> + Groups the elements of a sequence according to a specified key selector function + and creates a result value from each group and its key. + </summary> + <typeparam name="TKey">The return-type of the transform used to group the sequence</typeparam> + <typeparam name="TSource">The values to be yielded by the original data-source</typeparam> + <param name="keySelector">A function to extract the key for each element in hte original sequence.</param> + <param name="source">The data-source to be grouped</param> + <remarks>This will force each unique grouping key to + be buffered, but not the data itself</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.GroupBy``2(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})"> + <summary> + Groups the elements of a sequence according to a specified key selector function + and creates a result value from each group and its key. + </summary> + <typeparam name="TKey">The return-type of the transform used to group the sequence</typeparam> + <typeparam name="TSource">The values to be yielded by the original data-source</typeparam> + <param name="comparer">Used to compare grouping keys</param> + <param name="keySelector">A function to extract the key for each element in hte original sequence.</param> + <param name="source">The data-source to be grouped</param> + <remarks>This will force each unique grouping key to + be buffered, but not the data itself</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.GroupBy``3(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1},System.Func{``0,``2})"> + <summary> + Groups the elements of a sequence according to a specified key selector function + and creates a result value from each group and its key. The elements of each + group are projected by using a specified function. + </summary> + <typeparam name="TElement">The return-type of the transform used to process the + values within each grouping.</typeparam> + <typeparam name="TKey">The return-type of the transform used to group the sequence</typeparam> + <typeparam name="TSource">The values to be yielded by the original data-source</typeparam> + <param name="elementSelector">A function to map each source element to an element in the appropriate group</param> + <param name="keySelector">A function to extract the key for each element in hte original sequence.</param> + <param name="source">The data-source to be grouped</param> + <remarks>This will force each unique grouping key to + be buffered, but not the data itself</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.GroupBy``3(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1},System.Func{``1,MiscUtil.Linq.IDataProducer{``0},``2})"> + <summary> + Groups the elements of a sequence according to a specified key selector function + and creates a result value from each group and its key. + </summary> + <typeparam name="TKey">The return-type of the transform used to group the sequence</typeparam> + <typeparam name="TResult">The final values to be yielded after processing</typeparam> + <typeparam name="TSource">The values to be yielded by the original data-source</typeparam> + <param name="keySelector">A function to extract the key for each element in hte original sequence.</param> + <param name="resultSelector">A function to create a result value from each group.</param> + <param name="source">The data-source to be grouped</param> + <remarks>This will force each unique grouping key to + be buffered, but not the data itself</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.GroupBy``3(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IEqualityComparer{``1})"> + <summary> + Groups the elements of a sequence according to a specified key selector function + and creates a result value from each group and its key. The elements of each + group are projected by using a specified function. + </summary> + <typeparam name="TElement">The return-type of the transform used to process the + values within each grouping.</typeparam> + <typeparam name="TKey">The return-type of the transform used to group the sequence</typeparam> + <typeparam name="TSource">The values to be yielded by the original data-source</typeparam> + <param name="comparer">Used to compare grouping keys</param> + <param name="elementSelector">A function to map each source element to an element in the appropriate group</param> + <param name="keySelector">A function to extract the key for each element in hte original sequence.</param> + <param name="source">The data-source to be grouped</param> + <remarks>This will force each unique grouping key to + be buffered, but not the data itself</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.GroupBy``4(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1},System.Func{``0,``2},System.Func{``1,MiscUtil.Linq.IDataProducer{``2},``3})"> + <summary> + Groups the elements of a sequence according to a specified key selector function + and creates a result value from each group and its key. The elements of each + group are projected by using a specified function. + </summary> + <typeparam name="TElement">The return-type of the transform used to process the + values within each grouping.</typeparam> + <typeparam name="TKey">The return-type of the transform used to group the sequence</typeparam> + <typeparam name="TResult">The final values to be yielded after processing</typeparam> + <typeparam name="TSource">The values to be yielded by the original data-source</typeparam> + <param name="elementSelector">A function to map each source element to an element in the appropriate group</param> + <param name="keySelector">A function to extract the key for each element in hte original sequence.</param> + <param name="resultSelector">A function to create a result value from each group.</param> + <param name="source">The data-source to be grouped</param> + <remarks>This will force each unique grouping key to + be buffered, but not the data itself</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.GroupBy``3(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1},System.Func{``1,MiscUtil.Linq.IDataProducer{``0},``2},System.Collections.Generic.IEqualityComparer{``1})"> + <summary> + Groups the elements of a sequence according to a specified key selector function + and creates a result value from each group and its key. + </summary> + <typeparam name="TKey">The return-type of the transform used to group the sequence</typeparam> + <typeparam name="TResult">The final values to be yielded after processing</typeparam> + <typeparam name="TSource">The values to be yielded by the original data-source</typeparam> + <param name="comparer">Used to compare grouping keys</param> + <param name="keySelector">A function to extract the key for each element in hte original sequence.</param> + <param name="resultSelector">A function to create a result value from each group.</param> + <param name="source">The data-source to be grouped</param> + <remarks>This will force each unique grouping key to + be buffered, but not the data itself</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.GroupBy``4(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1},System.Func{``0,``2},System.Func{``1,MiscUtil.Linq.IDataProducer{``2},``3},System.Collections.Generic.IEqualityComparer{``1})"> + <summary> + Groups the elements of a sequence according to a specified key selector function + and creates a result value from each group and its key. The elements of each + group are projected by using a specified function. + </summary> + <typeparam name="TElement">The return-type of the transform used to process the + values within each grouping.</typeparam> + <typeparam name="TKey">The return-type of the transform used to group the sequence</typeparam> + <typeparam name="TResult">The final values to be yielded after processing</typeparam> + <typeparam name="TSource">The values to be yielded by the original data-source</typeparam> + <param name="comparer">Used to compare grouping keys</param> + <param name="elementSelector">A function to map each source element to an element in the appropriate group</param> + <param name="keySelector">A function to extract the key for each element in hte original sequence.</param> + <param name="resultSelector">A function to create a result value from each group.</param> + <param name="source">The data-source to be grouped</param> + <remarks>This will force each unique grouping key to + be buffered, but not the data itself</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Sum``2(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1})"> + <summary> + Returns a future to the sum of a sequence of values that are + obtained by taking a transform of the input sequence + </summary> + <remarks>Null values are removed from the sum</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Sum``1(MiscUtil.Linq.IDataProducer{``0})"> + <summary> + Returns a future to the sum of a sequence of values + </summary> + <remarks>Null values are removed from the sum</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Average``2(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1})"> + <summary> + Returns a future to the average of a sequence of values that are + obtained by taking a transform of the input sequence + </summary> + <remarks>Null values are removed from the average</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Average``1(MiscUtil.Linq.IDataProducer{``0})"> + <summary> + Returns a future to the average of a sequence of values + </summary> + <remarks>Null values are removed from the average</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Average(MiscUtil.Linq.IDataProducer{System.Int32})"> + <summary> + Returns a future to the average of a sequence of values + </summary> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Average(MiscUtil.Linq.IDataProducer{System.Nullable{System.Int32}})"> + <summary> + Returns a future to the average of a sequence of values + </summary> + <remarks>Null values are removed from the average</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Average(MiscUtil.Linq.IDataProducer{System.Int64})"> + <summary> + Returns a future to the average of a sequence of values + </summary> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Average(MiscUtil.Linq.IDataProducer{System.Nullable{System.Int64}})"> + <summary> + Returns a future to the average of a sequence of values + </summary> + <remarks>Null values are removed from the average</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Average``1(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,System.Int32})"> + <summary> + Returns a future to the average of a sequence of values that are + obtained by taking a transform of the input sequence + </summary> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Average``1(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,System.Nullable{System.Int32}})"> + <summary> + Returns a future to the average of a sequence of values that are + obtained by taking a transform of the input sequence + </summary> + <remarks>Null values are removed from the average</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Average``1(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,System.Int64})"> + <summary> + Returns a future to the average of a sequence of values that are + obtained by taking a transform of the input sequence + </summary> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Average``1(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,System.Nullable{System.Int64}})"> + <summary> + Returns a future to the average of a sequence of values that are + obtained by taking a transform of the input sequence + </summary> + <remarks>Null values are removed from the average</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Max``2(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1})"> + <summary> + Returns a future to the maximum of a sequence of values that are + obtained by taking a transform of the input sequence, using the default comparer, using the default comparer + </summary> + <remarks>Null values are removed from the maximum</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Max``1(MiscUtil.Linq.IDataProducer{``0})"> + <summary> + Returns a future to the maximum of a sequence of values, using the default comparer + </summary> + <remarks>Null values are removed from the maximum</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Min``2(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1})"> + <summary> + Returns a future to the minumum of a sequence of values that are + obtained by taking a transform of the input sequence, using the default comparer + </summary> + <remarks>Null values are removed from the minimum</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Min``1(MiscUtil.Linq.IDataProducer{``0})"> + <summary> + Returns a future to the minumum of a sequence of values, using the default comparer + </summary> + <remarks>Null values are removed from the minimum</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Where``1(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,System.Boolean})"> + <summary> + Filters a data-producer based on a predicate on each value + </summary> + <param name="source">The data-producer to be filtered</param> + <param name="predicate">The condition to be satisfied</param> + <returns>A filtered data-producer; only matching values will raise the DataProduced event</returns> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Where``1(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,System.Int32,System.Boolean})"> + <summary> + Filters a data-producer based on a predicate on each value; the index + in the sequence is used in the predicate + </summary> + <param name="source">The data-producer to be filtered</param> + <param name="predicate">The condition to be satisfied</param> + <returns>A filtered data-producer; only matching values will raise the DataProduced event</returns> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.DefaultIfEmpty``1(MiscUtil.Linq.IDataProducer{``0},``0)"> + <summary> + Returns a data-producer that yeilds the values from the sequence, or which yields the given + singleton value if no data is produced. + </summary> + <param name="defaultValue">The default value to be yielded if no data is produced.</param> + <param name="source">The source data-producer.</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.DefaultIfEmpty``1(MiscUtil.Linq.IDataProducer{``0})"> + <summary> + Returns a data-producer that yeilds the values from the sequence, or which yields the default + value for the Type if no data is produced. + </summary> + <param name="source">The source data-producer.</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Select``2(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1})"> + <summary> + Returns a projection on the data-producer, using a transformation to + map each element into a new form. + </summary> + <typeparam name="TSource">The source type</typeparam> + <typeparam name="TResult">The projected type</typeparam> + <param name="source">The source data-producer</param> + <param name="projection">The transformation to apply to each element.</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Select``2(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,System.Int32,``1})"> + <summary> + Returns a projection on the data-producer, using a transformation + (involving the elements's index in the sequence) to + map each element into a new form. + </summary> + <typeparam name="TSource">The source type</typeparam> + <typeparam name="TResult">The projected type</typeparam> + <param name="source">The source data-producer</param> + <param name="projection">The transformation to apply to each element.</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Take``1(MiscUtil.Linq.IDataProducer{``0},System.Int32)"> + <summary> + Returns a data-producer that will yield a specified number of + contiguous elements from the start of a sequence - i.e. + "the first &lt;x&gt; elements". + </summary> + <param name="source">The source data-producer</param> + <param name="count">The maximum number of elements to return</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Skip``1(MiscUtil.Linq.IDataProducer{``0},System.Int32)"> + <summary> + Returns a data-producer that will ignore a specified number of + contiguous elements from the start of a sequence, and yield + all elements after this point - i.e. + "elements from index &lt;x&gt; onwards". + </summary> + <param name="source">The source data-producer</param> + <param name="count">The number of elements to ignore</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.TakeWhile``1(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,System.Boolean})"> + <summary> + Returns a data-producer that will yield + elements a sequence as long as a condition + is satsified; when the condition fails for an element, + that element and all subsequent elements are ignored. + </summary> + <param name="source">The source data-producer</param> + <param name="predicate">The condition to yield elements</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.TakeWhile``1(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,System.Int32,System.Boolean})"> + <summary> + Returns a data-producer that will yield + elements a sequence as long as a condition + (involving the element's index in the sequence) + is satsified; when the condition fails for an element, + that element and all subsequent elements are ignored. + </summary> + <param name="source">The source data-producer</param> + <param name="predicate">The condition to yield elements</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.SkipWhile``1(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,System.Boolean})"> + <summary> + Returns a data-producer that will ignore the + elements from the start of a sequence while a condition + is satsified; when the condition fails for an element, + that element and all subsequent elements are yielded. + </summary> + <param name="source">The source data-producer</param> + <param name="predicate">The condition to skip elements</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.SkipWhile``1(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,System.Int32,System.Boolean})"> + <summary> + Returns a data-producer that will ignore the + elements from the start of a sequence while a condition + (involving the elements's index in the sequence) + is satsified; when the condition fails for an element, + that element and all subsequent elements are yielded. + </summary> + <param name="source">The source data-producer</param> + <param name="predicate">The condition to skip elements</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Distinct``1(MiscUtil.Linq.IDataProducer{``0})"> + <summary> + Returns a data-producer that yields the first instance of each unique + value in the sequence; subsequent identical values are ignored. + </summary> + <param name="source">The data-producer</param> + <remarks>This will force the first instance of each unique value to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Distinct``1(MiscUtil.Linq.IDataProducer{``0},System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Returns a data-producer that yields the first instance of each unique + value in the sequence; subsequent identical values are ignored. + </summary> + <param name="source">The data-producer</param> + <param name="comparer">Used to determine equaility between values</param> + <remarks>This will force the first instance of each unique value to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Reverse``1(MiscUtil.Linq.IDataProducer{``0})"> + <summary> + Reverses the order of a sequence + </summary> + <param name="source">The data-producer</param> + <returns>A data-producer that yields the sequence + in the reverse order</returns> + <remarks>This will force all data to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.ThenBy``2(MiscUtil.Linq.IOrderedDataProducer{``0},System.Func{``0,``1})"> + <summary> + Further orders the values from an ordered data-source by a transform on each term, ascending + (the sort operation is only applied once for the combined ordering) + </summary> + <param name="source">The original data-producer and ordering</param> + <param name="selector">Returns the value (for each term) by which to order the sequence</param> + <returns>A data-producer that yeilds the sequence ordered + by the selected value</returns> + <remarks>This will force all data to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.ThenBy``2(MiscUtil.Linq.IOrderedDataProducer{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})"> + <summary> + Further orders the values from an ordered data-source by a transform on each term, ascending + (the sort operation is only applied once for the combined ordering) + </summary> + <param name="source">The original data-producer and ordering</param> + <param name="selector">Returns the value (for each term) by which to order the sequence</param> + <param name="comparer">Comparer to compare the selected values</param> + <returns>A data-producer that yeilds the sequence ordered + by the selected value</returns> + <remarks>This will force all data to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.ThenByDescending``2(MiscUtil.Linq.IOrderedDataProducer{``0},System.Func{``0,``1})"> + <summary> + Further orders the values from an ordered data-source by a transform on each term, descending + (the sort operation is only applied once for the combined ordering) + </summary> + <param name="source">The original data-producer and ordering</param> + <param name="selector">Returns the value (for each term) by which to order the sequence</param> + <returns>A data-producer that yeilds the sequence ordered + by the selected value</returns> + <remarks>This will force all data to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.ThenByDescending``2(MiscUtil.Linq.IOrderedDataProducer{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})"> + <summary> + Further orders the values from an ordered data-source by a transform on each term, descending + (the sort operation is only applied once for the combined ordering) + </summary> + <param name="source">The original data-producer and ordering</param> + <param name="selector">Returns the value (for each term) by which to order the sequence</param> + <param name="comparer">Comparer to compare the selected values</param> + <returns>A data-producer that yeilds the sequence ordered + by the selected value</returns> + <remarks>This will force all data to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.OrderBy``2(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1})"> + <summary> + Orders the values from a data-source by a transform on each term, ascending + </summary> + <param name="source">The original data-producer</param> + <param name="selector">Returns the value (for each term) by which to order the sequence</param> + <returns>A data-producer that yeilds the sequence ordered + by the selected value</returns> + <remarks>This will force all data to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.OrderBy``2(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})"> + <summary> + Orders the values from a data-source by a transform on each term, ascending + </summary> + <param name="source">The original data-producer</param> + <param name="selector">Returns the value (for each term) by which to order the sequence</param> + <param name="comparer">Comparer to compare the selected values</param> + <returns>A data-producer that yeilds the sequence ordered + by the selected value</returns> + <remarks>This will force all data to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.OrderByDescending``2(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1})"> + <summary> + Orders the values from a data-source by a transform on each term, descending + </summary> + <param name="source">The original data-producer</param> + <param name="selector">Returns the value (for each term) by which to order the sequence</param> + <returns>A data-producer that yeilds the sequence ordered + by the selected value</returns> + <remarks>This will force all data to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.OrderByDescending``2(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})"> + <summary> + Orders the values from a data-source by a transform on each term, descending + </summary> + <param name="source">The original data-producer</param> + <param name="selector">Returns the value (for each term) by which to order the sequence</param> + <param name="comparer">Comparer to compare the selected values</param> + <returns>A data-producer that yeilds the sequence ordered + by the selected value</returns> + <remarks>This will force all data to be buffered</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Count``1(MiscUtil.Linq.IDataProducer{``0})"> + <summary> + Returns the number of elements in a sequence, as a future value. + </summary> + <typeparam name="TSource">The type of the elements of source.</typeparam> + <param name="source">A sequence that contains elements to be counted.</param> + <returns>The number of elements in the input sequence, as a future value. + The actual count can only be retrieved after the source has indicated the end + of its data. + </returns> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Count``1(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,System.Boolean})"> + <summary> + Returns the number of elements in the specified sequence satisfy a condition, + as a future value. + </summary> + <typeparam name="TSource">The type of the elements of source.</typeparam> + <param name="source">A sequence that contains elements to be tested and counted.</param> + <param name="predicate">A function to test each element for a condition.</param> + <returns>A number that represents how many elements in the sequence satisfy + the condition in the predicate function, as a future value. + The actual count can only be retrieved after the source has indicated the end + of its data. + </returns> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.LongCount``1(MiscUtil.Linq.IDataProducer{``0})"> + <summary> + Returns the number of elements in a sequence, as a future value. + </summary> + <typeparam name="TSource">The type of the elements of source.</typeparam> + <param name="source">A sequence that contains elements to be counted.</param> + <returns>The number of elements in the input sequence, as a future value. + The actual count can only be retrieved after the source has indicated the end + of its data. + </returns> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.LongCount``1(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,System.Boolean})"> + <summary> + Returns the number of elements in the specified sequence satisfy a condition, + as a future value. + </summary> + <typeparam name="TSource">The type of the elements of source.</typeparam> + <param name="source">A sequence that contains elements to be tested and counted.</param> + <param name="predicate">A function to test each element for a condition.</param> + <returns>A number that represents how many elements in the sequence satisfy + the condition in the predicate function, as a future value. + The actual count can only be retrieved after the source has indicated the end + of its data. + </returns> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.First``1(MiscUtil.Linq.IDataProducer{``0})"> + <summary> + Returns the first element of a sequence, as a future value. + </summary> + <typeparam name="TSource">The type of the elements of source.</typeparam> + <param name="source">The sequence to return the first element of.</param> + <returns>The first element in the specified sequence, as a future value. + The actual value can only be retrieved after the source has indicated the end + of its data. + </returns> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.First``1(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,System.Boolean})"> + <summary> + Returns the first element in a sequence that satisfies a specified condition, as a future value. + </summary> + <typeparam name="TSource">The type of the elements of source.</typeparam> + <param name="source">The sequence to an element from.</param> + <param name="predicate">A function to test each element for a condition.</param> + <returns>The first element in the specified sequence that passes the test in + the specified predicate function, as a future value. + The actual value can only be retrieved after the source has indicated the end + of its data. + </returns> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Last``1(MiscUtil.Linq.IDataProducer{``0})"> + <summary> + Returns the last element of a sequence, as a future value. + </summary> + <typeparam name="TSource">The type of the elements of source.</typeparam> + <param name="source">The sequence to return the last element of.</param> + <returns>The last element in the specified sequence, as a future value. + The actual value can only be retrieved after the source has indicated the end + of its data. + </returns> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Last``1(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,System.Boolean})"> + <summary> + Returns the last element in a sequence that satisfies a specified condition, as a future value. + </summary> + <typeparam name="TSource">The type of the elements of source.</typeparam> + <param name="source">The sequence to an element from.</param> + <param name="predicate">A function to test each element for a condition.</param> + <returns>The last element in the specified sequence that passes the test in + the specified predicate function, as a future value. + The actual value can only be retrieved after the source has indicated the end + of its data. + </returns> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.FirstOrDefault``1(MiscUtil.Linq.IDataProducer{``0})"> + <summary> + Returns a future to the first value from a sequence, or the default for that type + if no value is produced. + </summary> + <param name="source">The source data-producer.</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.FirstOrDefault``1(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,System.Boolean})"> + <summary> + Returns a future to the first value from a sequence that matches the given condition, or the default + for that type if no matching value is produced. + </summary> + <param name="source">The source data-producer.</param> + <param name="predicate">The condition to be satisfied.</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.LastOrDefault``1(MiscUtil.Linq.IDataProducer{``0})"> + <summary> + Returns a future to the last value from a sequence, or the default for that type + if no value is produced. + </summary> + <param name="source">The source data-producer.</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.LastOrDefault``1(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,System.Boolean})"> + <summary> + Returns the last value from a sequence that matches the given condition, or the default + for that type if no matching value is produced. + </summary> + <param name="source">The source data-producer.</param> + <param name="predicate">The condition to be satisfied.</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Single``1(MiscUtil.Linq.IDataProducer{``0})"> + <summary> + Returns a future to a single value from a data-source; an exception + is thrown if no values, or multiple values, are encountered. + </summary> + <param name="source">The source data-producer.</param> + <exception cref="T:System.InvalidOperationException">Zero or multiple terms are encountered.</exception> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Single``1(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,System.Boolean})"> + <summary> + Returns a future to a single value from a data-source that matches the + specified condition; an exception + is thrown if no matching values, or multiple matching values, are encountered. + </summary> + <param name="source">The source data-producer.</param> + <param name="predicate">The condition to be satisfied.</param> + <exception cref="T:System.InvalidOperationException">Zero or multiple matching terms are encountered.</exception> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.SingleOrDefault``1(MiscUtil.Linq.IDataProducer{``0})"> + <summary> + Returns a future to a single value from a data-source or the default value if no values + are encountered. An exception + is thrown if multiple values are encountered. + </summary> + <param name="source">The source data-producer.</param> + <exception cref="T:System.InvalidOperationException">Multiple terms are encountered.</exception> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.SingleOrDefault``1(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,System.Boolean})"> + <summary> + Returns a future to a single value from a data-source that matches the + specified condition, or the default value if no matching values + are encountered. An exception + is thrown if multiple matching values are encountered. + </summary> + <param name="source">The source data-producer.</param> + <param name="predicate">The condition to be satisfied.</param> + <exception cref="T:System.InvalidOperationException">Multiple matching terms are encountered.</exception> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.ElementAt``1(MiscUtil.Linq.IDataProducer{``0},System.Int32)"> + <summary> + Returns a future to the element at the given position in the sequence + </summary> + <param name="source">The data-producer</param> + <param name="index">The index of the desired trem in the sequence</param> + <exception cref="T:System.ArgumentOutOfRangeException">If the specified index is negative + or is never reached</exception> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.ElementAtOrDefault``1(MiscUtil.Linq.IDataProducer{``0},System.Int32)"> + <summary> + Returns a future to the element at the given position in the sequence, + or the default-value if the specified index is never reached + </summary> + <param name="source">The data-producer</param> + <param name="index">The index of the desired trem in the sequence</param> + <exception cref="T:System.ArgumentOutOfRangeException">If the specified index is negative</exception> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.All``1(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,System.Boolean})"> + <summary> + Returns a future that indicates whether all values + yielded by the data-producer satisfy a given condition. + The future will return true for an empty sequence or + where all values satisfy the condition, else false + (if any value value fails to satisfy the condition). + </summary> + <param name="source">The data-producer to be monitored.</param> + <param name="predicate">The condition that must be satisfied by all terms.</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Any``1(MiscUtil.Linq.IDataProducer{``0})"> + <summary> + Returns a future that indicates whether any values are + yielded by the data-producer. The future will return false + for an empty sequence, or true for a sequence with values. + </summary> + <param name="source">The data-producer to be monitored.</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Any``1(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,System.Boolean})"> + <summary> + Returns a future that indicates whether any suitable values are + yielded by the data-producer. The future will return false + for an empty sequence or one with no matching values, or true for a sequence with matching values. + </summary> + <param name="source">The data-producer to be monitored.</param> + <param name="predicate">The condition that must be satisfied.</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Contains``1(MiscUtil.Linq.IDataProducer{``0},``0)"> + <summary> + Returns a future to indicate whether the specified value + is yielded by the data-source. + </summary> + <typeparam name="TSource">The type of data to be yielded</typeparam> + <param name="source">The data-source</param> + <param name="value">The value to detect from the data-source, checked with the default comparer</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Contains``1(MiscUtil.Linq.IDataProducer{``0},``0,System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Returns a future to indicate whether the specified value + is yielded by the data-source. + </summary> + <typeparam name="TSource">The type of data to be yielded</typeparam> + <param name="source">The data-source</param> + <param name="value">The value to detect from the data-source</param> + <param name="comparer">The comparer to use to determine equality</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Aggregate``1(MiscUtil.Linq.IDataProducer{``0},System.Func{``0,``0,``0})"> + <summary> + Applies an accumulator function over the values yielded from + a data-producer. The first value in the seqnence + is used as the initial accumulator value, and the specified function is used + to select the result value. If the sequence is empty then + the default value for TSource is returned. + </summary> + <typeparam name="TSource">The type of data yielded by the data-source</typeparam> + <param name="func">Accumulator function to be applied to each term in the sequence</param> + <param name="source">The data-source for the values</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Aggregate``2(MiscUtil.Linq.IDataProducer{``0},``1,System.Func{``1,``0,``1})"> + <summary> + Applies an accumulator function over the values yielded from + a data-producer. The specified seed value + is used as the initial accumulator value, and the specified function is used + to select the result value + </summary> + <typeparam name="TSource">The type of data yielded by the data-source</typeparam> + <typeparam name="TAccumulate">The type to be used for the accumulator</typeparam> + <param name="func">Accumulator function to be applied to each term in the sequence</param> + <param name="seed">The initial value for the accumulator</param> + <param name="source">The data-source for the values</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.DataProducerExt.Aggregate``3(MiscUtil.Linq.IDataProducer{``0},``1,System.Func{``1,``0,``1},System.Func{``1,``2})"> + <summary> + Applies an accumulator function over the values yielded from + a data-producer, performing a transformation on the final + accululated value. The specified seed value + is used as the initial accumulator value, and the specified function is used + to select the result value + </summary> + <typeparam name="TSource">The type of data yielded by the data-source</typeparam> + <typeparam name="TResult">The final result type (after the accumulator has been transformed)</typeparam> + <typeparam name="TAccumulate">The type to be used for the accumulator</typeparam> + <param name="func">Accumulator function to be applied to each term in the sequence</param> + <param name="resultSelector">Transformation to apply to the final + accumulated value to produce the result</param> + <param name="seed">The initial value for the accumulator</param> + <param name="source">The data-source for the values</param> + </member> + <member name="T:MiscUtil.Linq.Extensions.EnumerableExt"> + <summary> + Further extensions to IEnumerable{T}. + </summary> + </member> + <member name="M:MiscUtil.Linq.Extensions.EnumerableExt.GroupWithPipeline``3(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{MiscUtil.Linq.IDataProducer{``0},MiscUtil.Linq.IFuture{``2}})"> + <summary> + Groups and executes a pipeline for a single result per group + </summary> + </member> + <member name="M:MiscUtil.Linq.Extensions.EnumerableExt.GroupWithPipeline``3(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1},System.Func{MiscUtil.Linq.IDataProducer{``0},MiscUtil.Linq.IFuture{``2}})"> + <summary> + Groups and executes a pipeline for a single result per group + </summary> + </member> + <member name="M:MiscUtil.Linq.Extensions.EnumerableExt.GroupWithPipeline``4(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{MiscUtil.Linq.IDataProducer{``0},MiscUtil.Linq.IFuture{``2}},System.Func{MiscUtil.Linq.IDataProducer{``0},MiscUtil.Linq.IFuture{``3}})"> + <summary> + Groups and executes a pipeline for two results per group + </summary> + </member> + <member name="M:MiscUtil.Linq.Extensions.EnumerableExt.GroupWithPipeline``4(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1},System.Func{MiscUtil.Linq.IDataProducer{``0},MiscUtil.Linq.IFuture{``2}},System.Func{MiscUtil.Linq.IDataProducer{``0},MiscUtil.Linq.IFuture{``3}})"> + <summary> + Groups and executes a pipeline for two results per group + </summary> + </member> + <member name="M:MiscUtil.Linq.Extensions.EnumerableExt.GroupWithPipeline``5(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{MiscUtil.Linq.IDataProducer{``0},MiscUtil.Linq.IFuture{``2}},System.Func{MiscUtil.Linq.IDataProducer{``0},MiscUtil.Linq.IFuture{``3}},System.Func{MiscUtil.Linq.IDataProducer{``0},MiscUtil.Linq.IFuture{``4}})"> + <summary> + Groups and executes a pipeline for three results per group + </summary> + </member> + <member name="M:MiscUtil.Linq.Extensions.EnumerableExt.GroupWithPipeline``5(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1},System.Func{MiscUtil.Linq.IDataProducer{``0},MiscUtil.Linq.IFuture{``2}},System.Func{MiscUtil.Linq.IDataProducer{``0},MiscUtil.Linq.IFuture{``3}},System.Func{MiscUtil.Linq.IDataProducer{``0},MiscUtil.Linq.IFuture{``4}})"> + <summary> + Groups and executes a pipeline for three results per group + </summary> + </member> + <member name="M:MiscUtil.Linq.Extensions.EnumerableExt.GroupWithPipeline``6(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{MiscUtil.Linq.IDataProducer{``0},MiscUtil.Linq.IFuture{``2}},System.Func{MiscUtil.Linq.IDataProducer{``0},MiscUtil.Linq.IFuture{``3}},System.Func{MiscUtil.Linq.IDataProducer{``0},MiscUtil.Linq.IFuture{``4}},System.Func{MiscUtil.Linq.IDataProducer{``0},MiscUtil.Linq.IFuture{``5}})"> + <summary> + Groups and executes a pipeline for four results per group + </summary> + </member> + <member name="M:MiscUtil.Linq.Extensions.EnumerableExt.GroupWithPipeline``6(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1},System.Func{MiscUtil.Linq.IDataProducer{``0},MiscUtil.Linq.IFuture{``2}},System.Func{MiscUtil.Linq.IDataProducer{``0},MiscUtil.Linq.IFuture{``3}},System.Func{MiscUtil.Linq.IDataProducer{``0},MiscUtil.Linq.IFuture{``4}},System.Func{MiscUtil.Linq.IDataProducer{``0},MiscUtil.Linq.IFuture{``5}})"> + <summary> + Groups and executes a pipeline for four results per group + </summary> + </member> + <member name="M:MiscUtil.Linq.Extensions.EnumerableExt.Sum``1(System.Collections.Generic.IEnumerable{``0})"> + <summary> + Computes the sum of a sequence of values + </summary> + <remarks>The values in the sequence must support the Add operator</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.EnumerableExt.Sum``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})"> + <summary> + Computes the sum of the sequence of values that are + obtained by invoking a transform function on each element of the input sequence. + </summary> + <remarks>The values returned by the transform function must support the Add operator</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.EnumerableExt.Average``1(System.Collections.Generic.IEnumerable{``0})"> + <summary> + Computes the mean average of a sequence of values + </summary> + <remarks>The values in the sequence must support the Add and Divide(Int32) operators</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.EnumerableExt.Average``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})"> + <summary> + Computes the mean average of the sequence of values that are + obtained by invoking a transform function on each element of the input sequence. + </summary> + <remarks>The values returned by the transform function must support the Add and Divide(Int32) operators</remarks> + </member> + <member name="M:MiscUtil.Linq.Extensions.EnumerableExt.Max``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IComparer{``0})"> + <summary> + Computes the maximum (using a custom comparer) of a sequence of values. + </summary> + </member> + <member name="M:MiscUtil.Linq.Extensions.EnumerableExt.Max``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})"> + <summary> + Computes the maximum (using a custom comparer) of the sequence of values that are + obtained by invoking a transform function on each element of the input sequence. + </summary> + </member> + <member name="M:MiscUtil.Linq.Extensions.EnumerableExt.Min``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IComparer{``0})"> + <summary> + Computes the minimum (using a custom comparer) of a sequence of values. + </summary> + </member> + <member name="M:MiscUtil.Linq.Extensions.EnumerableExt.Min``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})"> + <summary> + Computes the minimum (using a custom comparer) of the sequence of values that are + obtained by invoking a transform function on each element of the input sequence. + </summary> + </member> + <member name="T:MiscUtil.Linq.Extensions.ListExt"> + <summary> + Provides extension methods to List&lt;T&gt; + </summary> + </member> + <member name="M:MiscUtil.Linq.Extensions.ListExt.Sort``2(System.Collections.Generic.List{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1},System.Boolean)"> + <summary> + Sorts the elements in the entire System.Collections.Generic.List{T} using + a projection. + </summary> + <param name="source">Data source</param> + <param name="selector">The projection to use to obtain values for comparison</param> + <param name="comparer">The comparer to use to compare projected values (on null to use the default comparer)</param> + <param name="descending">Should the list be sorted ascending or descending?</param> + </member> + <member name="M:MiscUtil.Linq.Extensions.ListExt.Sort``2(System.Collections.Generic.List{``0},System.Func{``0,``1})"> + <summary> + Sorts the elements in the entire System.Collections.Generic.List{T} using + a projection. + </summary> + <param name="source">Data source</param> + <param name="selector">The projection to use to obtain values for comparison</param> + </member> + <member name="T:MiscUtil.Linq.Extensions.TypeExt"> + <summary> + Provides extension methods to System.Type to provide simple + and efficient access to delegates representing reflection + operations. + </summary> + </member> + <member name="M:MiscUtil.Linq.Extensions.TypeExt.Ctor``1(System.Type)"> + <summary> + Obtains a delegate to invoke a parameterless constructor + </summary> + <typeparam name="TResult">The base/interface type to yield as the + new value; often object except for factory pattern implementations</typeparam> + <param name="type">The Type to be created</param> + <returns>A delegate to the constructor if found, else null</returns> + </member> + <member name="M:MiscUtil.Linq.Extensions.TypeExt.Ctor``2(System.Type)"> + <summary> + Obtains a delegate to invoke a constructor which takes a parameter + </summary> + <typeparam name="TArg1">The type of the constructor parameter</typeparam> + <typeparam name="TResult">The base/interface type to yield as the + new value; often object except for factory pattern implementations</typeparam> + <param name="type">The Type to be created</param> + <returns>A delegate to the constructor if found, else null</returns> + </member> + <member name="M:MiscUtil.Linq.Extensions.TypeExt.Ctor``3(System.Type)"> + <summary> + Obtains a delegate to invoke a constructor with multiple parameters + </summary> + <typeparam name="TArg1">The type of the first constructor parameter</typeparam> + <typeparam name="TArg2">The type of the second constructor parameter</typeparam> + <typeparam name="TResult">The base/interface type to yield as the + new value; often object except for factory pattern implementations</typeparam> + <param name="type">The Type to be created</param> + <returns>A delegate to the constructor if found, else null</returns> + </member> + <member name="M:MiscUtil.Linq.Extensions.TypeExt.Ctor``4(System.Type)"> + <summary> + Obtains a delegate to invoke a constructor with multiple parameters + </summary> + <typeparam name="TArg1">The type of the first constructor parameter</typeparam> + <typeparam name="TArg2">The type of the second constructor parameter</typeparam> + <typeparam name="TArg3">The type of the third constructor parameter</typeparam> + <typeparam name="TResult">The base/interface type to yield as the + new value; often object except for factory pattern implementations</typeparam> + <param name="type">The Type to be created</param> + <returns>A delegate to the constructor if found, else null</returns> + </member> + <member name="M:MiscUtil.Linq.Extensions.TypeExt.Ctor``5(System.Type)"> + <summary> + Obtains a delegate to invoke a constructor with multiple parameters + </summary> + <typeparam name="TArg1">The type of the first constructor parameter</typeparam> + <typeparam name="TArg2">The type of the second constructor parameter</typeparam> + <typeparam name="TArg3">The type of the third constructor parameter</typeparam> + <typeparam name="TArg4">The type of the fourth constructor parameter</typeparam> + <typeparam name="TResult">The base/interface type to yield as the + new value; often object except for factory pattern implementations</typeparam> + <param name="type">The Type to be created</param> + <returns>A delegate to the constructor if found, else null</returns> + </member> + <member name="T:MiscUtil.Linq.Future`1"> + <summary> + Poor-man's version of a Future. This wraps a result which *will* be + available in the future. It's up to the caller/provider to make sure + that the value has been specified by the time it's requested. + </summary> + </member> + <member name="P:MiscUtil.Linq.Future`1.Value"> + <summary> + Returns the value of the future, once it has been set + </summary> + <exception cref="T:System.InvalidOperationException">If the value is not yet available</exception> + </member> + <member name="M:MiscUtil.Linq.Future`1.ToString"> + <summary> + Returns a string representation of the value if available, null otherwise + </summary> + <returns>A string representation of the value if available, null otherwise</returns> + </member> + <member name="T:MiscUtil.Linq.FutureProxy`1"> + <summary> + Implementation of IFuture which retrieves it value from a delegate. + This is primarily used for FromFuture, which will transform another + Future's value on demand. + </summary> + </member> + <member name="M:MiscUtil.Linq.FutureProxy`1.#ctor(System.Func{`0})"> + <summary> + Creates a new FutureProxy using the given method + to obtain the value when needed + </summary> + </member> + <member name="M:MiscUtil.Linq.FutureProxy`1.FromFuture``1(MiscUtil.Linq.IFuture{``0},System.Func{``0,`0})"> + <summary> + Creates a new FutureProxy from an existing future using + the supplied transformation to obtain the value as needed + </summary> + </member> + <member name="P:MiscUtil.Linq.FutureProxy`1.Value"> + <summary> + Returns the value of the Future + </summary> + </member> + <member name="T:MiscUtil.Linq.IDataProducer`1"> + <summary> + Interface to be implemented by sequences of data which have a "push" + nature rather than "pull" - instead of the IEnumerable model of + the client pulling data from the sequence, here the client registers + an interest in the data being produced, and in the sequence reaching + an end. The data producer than produces data whenever it wishes, and the + clients can react. This allows other actions to occur between items being + pulled, as well as multiple clients for the same sequence of data. + </summary> + </member> + <member name="E:MiscUtil.Linq.IDataProducer`1.DataProduced"> + <summary> + Event which is raised when an item of data is produced. + This will not be raised after EndOfData has been raised. + The parameter for the event is the + </summary> + </member> + <member name="E:MiscUtil.Linq.IDataProducer`1.EndOfData"> + <summary> + Event which is raised when the sequence has finished being + produced. This will be raised exactly once, and after all + DataProduced events (if any) have been raised. + </summary> + </member> + <member name="T:MiscUtil.Linq.IFuture`1"> + <summary> + Class representing a value which will be available some time in the future. + </summary> + </member> + <member name="P:MiscUtil.Linq.IFuture`1.Value"> + <summary> + Retrieves the value, if available, and throws InvalidOperationException + otherwise. + </summary> + </member> + <member name="T:MiscUtil.Linq.IOrderedDataProducer`1"> + <summary> + Ordered variant of IDataProducer; note that generally + this will force data to be buffered until the sequence + is complete. + </summary> + <seealso cref="T:MiscUtil.Linq.IDataProducer`1"/> + </member> + <member name="P:MiscUtil.Linq.IOrderedDataProducer`1.BaseProducer"> + <summary> + The unlerlying producer that can push data + </summary> + </member> + <member name="P:MiscUtil.Linq.IOrderedDataProducer`1.Comparer"> + <summary> + The comparer used to order the sequence (once complete) + </summary> + </member> + <member name="T:MiscUtil.Linq.IProducerGrouping`2"> + <summary> + IProducerGrouping is to IDataProducer as IGrouping is to IEnumerable: + it's basically a data producer with a key. It's used by the GroupBy + operator. + </summary> + </member> + <member name="P:MiscUtil.Linq.IProducerGrouping`2.Key"> + <summary> + The key for this grouping. + </summary> + </member> + <member name="T:MiscUtil.Linq.KeyValueTuple`2"> + <summary> + Generic tuple for a key and a single value + </summary> + <typeparam name="TKey">The Type of the key</typeparam> + <typeparam name="T">The Type of the value</typeparam> + </member> + <member name="P:MiscUtil.Linq.KeyValueTuple`2.Key"> + <summary> + The key for the tuple + </summary> + </member> + <member name="P:MiscUtil.Linq.KeyValueTuple`2.Value"> + <summary> + The value for the tuple + </summary> + </member> + <member name="M:MiscUtil.Linq.KeyValueTuple`2.#ctor(`0,`1)"> + <summary> + Creates a new tuple with the given key and value + </summary> + </member> + <member name="T:MiscUtil.Linq.KeyValueTuple`3"> + <summary> + Generic tuple for a key and a pair of values + </summary> + <typeparam name="TKey">The Type of the key</typeparam> + <typeparam name="T1">The Type of the first value</typeparam> + <typeparam name="T2">The Type of the second value</typeparam> + </member> + <member name="P:MiscUtil.Linq.KeyValueTuple`3.Key"> + <summary> + The key for the tuple + </summary> + </member> + <member name="P:MiscUtil.Linq.KeyValueTuple`3.Value1"> + <summary> + The first value + </summary> + </member> + <member name="P:MiscUtil.Linq.KeyValueTuple`3.Value2"> + <summary> + The second value + </summary> + </member> + <member name="M:MiscUtil.Linq.KeyValueTuple`3.#ctor(`0,`1,`2)"> + <summary> + Creates a new tuple with the given key and values + </summary> + </member> + <member name="T:MiscUtil.Linq.KeyValueTuple`4"> + <summary> + Generic tuple for a key and a trio of values + </summary> + <typeparam name="TKey">The Type of the key</typeparam> + <typeparam name="T1">The Type of the first value</typeparam> + <typeparam name="T2">The Type of the second value</typeparam> + <typeparam name="T3">The Type of the third value</typeparam> + </member> + <member name="P:MiscUtil.Linq.KeyValueTuple`4.Key"> + <summary> + The key for the tuple + </summary> + </member> + <member name="P:MiscUtil.Linq.KeyValueTuple`4.Value1"> + <summary> + The first value + </summary> + </member> + <member name="P:MiscUtil.Linq.KeyValueTuple`4.Value2"> + <summary> + The second value + </summary> + </member> + <member name="P:MiscUtil.Linq.KeyValueTuple`4.Value3"> + <summary> + The third value + </summary> + </member> + <member name="M:MiscUtil.Linq.KeyValueTuple`4.#ctor(`0,`1,`2,`3)"> + <summary> + Creates a new tuple with the given key and values + </summary> + </member> + <member name="T:MiscUtil.Linq.KeyValueTuple`5"> + <summary> + Generic tuple for a key and a quartet of values + </summary> + <typeparam name="TKey">The Type of the key</typeparam> + <typeparam name="T1">The Type of the first value</typeparam> + <typeparam name="T2">The Type of the second value</typeparam> + <typeparam name="T3">The Type of the third value</typeparam> + <typeparam name="T4">The Type of the fourth value</typeparam> + </member> + <member name="P:MiscUtil.Linq.KeyValueTuple`5.Key"> + <summary> + The key for the tuple + </summary> + </member> + <member name="P:MiscUtil.Linq.KeyValueTuple`5.Value1"> + <summary> + The first value + </summary> + </member> + <member name="P:MiscUtil.Linq.KeyValueTuple`5.Value2"> + <summary> + The second value + </summary> + </member> + <member name="P:MiscUtil.Linq.KeyValueTuple`5.Value3"> + <summary> + The third value + </summary> + </member> + <member name="P:MiscUtil.Linq.KeyValueTuple`5.Value4"> + <summary> + The fourth value + </summary> + </member> + <member name="M:MiscUtil.Linq.KeyValueTuple`5.#ctor(`0,`1,`2,`3,`4)"> + <summary> + Creates a new tuple with the given key and values + </summary> + </member> + <member name="T:MiscUtil.Linq.OrderedDataProducer`1"> + <summary> + A DataProducer with ordering capabilities + </summary><remarks>Note that this may cause data to be buffered</remarks> + <typeparam name="T"></typeparam> + </member> + <member name="M:MiscUtil.Linq.OrderedDataProducer`1.#ctor(MiscUtil.Linq.IDataProducer{`0},System.Collections.Generic.IComparer{`0})"> + <summary> + Create a new OrderedDataProducer + </summary> + <param name="baseProducer">The base source which will supply data</param> + <param name="comparer">The comparer to use when sorting the data (once complete)</param> + </member> + <member name="T:MiscUtil.Linq.ProducerGrouping`2"> + <summary> + Simple implementation of IProducerGrouping which proxies to an existing + IDataProducer. + </summary> + </member> + <member name="E:MiscUtil.Linq.ProducerGrouping`2.DataProduced"> + <summary> + Event which is raised when an item of data is produced. + This will not be raised after EndOfData has been raised. + The parameter for the event is the + </summary> + <seealso cref="E:MiscUtil.Linq.IDataProducer`1.DataProduced"/> + </member> + <member name="E:MiscUtil.Linq.ProducerGrouping`2.EndOfData"> + <summary> + Event which is raised when the sequence has finished being + produced. This will be raised exactly once, and after all + DataProduced events (if any) have been raised. + </summary> + <seealso cref="E:MiscUtil.Linq.IDataProducer`1.EndOfData"/> + </member> + <member name="P:MiscUtil.Linq.ProducerGrouping`2.Key"> + <summary> + The key for this grouping. + </summary> + </member> + <member name="M:MiscUtil.Linq.ProducerGrouping`2.#ctor(`0,MiscUtil.Linq.IDataProducer{`1})"> + <summary> + Constructs a new grouping with the given key + </summary> + </member> + <member name="T:MiscUtil.NonNullable`1"> + <summary> + Encapsulates a reference compatible with the type parameter. The reference + is guaranteed to be non-null unless the value has been created with the + parameterless constructor (e.g. as the default value of a field or array). + Implicit conversions are available to and from the type parameter. The + conversion to the non-nullable type will throw ArgumentNullException + when presented with a null reference. The conversion from the non-nullable + type will throw NullReferenceException if it contains a null reference. + This type is a value type (to avoid taking any extra space) and as the CLR + unfortunately has no knowledge of it, it will be boxed as any other value + type. The conversions are also available through the Value property and the + parameterised constructor. + </summary> + <typeparam name="T">Type of non-nullable reference to encapsulate</typeparam> + </member> + <member name="M:MiscUtil.NonNullable`1.#ctor(`0)"> + <summary> + Creates a non-nullable value encapsulating the specified reference. + </summary> + </member> + <member name="P:MiscUtil.NonNullable`1.Value"> + <summary> + Retrieves the encapsulated value, or throws a NullReferenceException if + this instance was created with the parameterless constructor or by default. + </summary> + </member> + <member name="M:MiscUtil.NonNullable`1.op_Implicit(`0)~MiscUtil.NonNullable{`0}"> + <summary> + Implicit conversion from the specified reference. + </summary> + </member> + <member name="M:MiscUtil.NonNullable`1.op_Implicit(MiscUtil.NonNullable{`0})~`0"> + <summary> + Implicit conversion to the type parameter from the encapsulated value. + </summary> + </member> + <member name="M:MiscUtil.NonNullable`1.op_Equality(MiscUtil.NonNullable{`0},MiscUtil.NonNullable{`0})"> + <summary> + Equality operator, which performs an identity comparison on the encapuslated + references. No exception is thrown even if the references are null. + </summary> + </member> + <member name="M:MiscUtil.NonNullable`1.op_Inequality(MiscUtil.NonNullable{`0},MiscUtil.NonNullable{`0})"> + <summary> + Inequality operator, which performs an identity comparison on the encapuslated + references. No exception is thrown even if the references are null. + </summary> + </member> + <member name="M:MiscUtil.NonNullable`1.Equals(System.Object)"> + <summary> + Equality is deferred to encapsulated references, but there is no equality + between a NonNullable[T] and a T. This method never throws an exception, + even if a null reference is encapsulated. + </summary> + </member> + <member name="M:MiscUtil.NonNullable`1.Equals(MiscUtil.NonNullable{`0})"> + <summary> + Type-safe (and non-boxing) equality check. + </summary> + </member> + <member name="M:MiscUtil.NonNullable`1.Equals(MiscUtil.NonNullable{`0},MiscUtil.NonNullable{`0})"> + <summary> + Type-safe (and non-boxing) static equality check. + </summary> + </member> + <member name="M:MiscUtil.NonNullable`1.GetHashCode"> + <summary> + Defers to the GetHashCode implementation of the encapsulated reference, or 0 if + the reference is null. + </summary> + </member> + <member name="M:MiscUtil.NonNullable`1.ToString"> + <summary> + Defers to the ToString implementation of the encapsulated reference, or an + empty string if the reference is null. + </summary> + </member> + <member name="T:MiscUtil.Operator"> + <summary> + The Operator class provides easy access to the standard operators + (addition, etc) for generic types, using type inference to simplify + usage. + </summary> + </member> + <member name="M:MiscUtil.Operator.HasValue``1(``0)"> + <summary> + Indicates if the supplied value is non-null, + for reference-types or Nullable&lt;T&gt; + </summary> + <returns>True for non-null values, else false</returns> + </member> + <member name="M:MiscUtil.Operator.AddIfNotNull``1(``0@,``0)"> + <summary> + Increments the accumulator only + if the value is non-null. If the accumulator + is null, then the accumulator is given the new + value; otherwise the accumulator and value + are added. + </summary> + <param name="accumulator">The current total to be incremented (can be null)</param> + <param name="value">The value to be tested and added to the accumulator</param> + <returns>True if the value is non-null, else false - i.e. + "has the accumulator been updated?"</returns> + </member> + <member name="M:MiscUtil.Operator.Negate``1(``0)"> + <summary> + Evaluates unary negation (-) for the given type; this will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="M:MiscUtil.Operator.Not``1(``0)"> + <summary> + Evaluates bitwise not (~) for the given type; this will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="M:MiscUtil.Operator.Or``1(``0,``0)"> + <summary> + Evaluates bitwise or (|) for the given type; this will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="M:MiscUtil.Operator.And``1(``0,``0)"> + <summary> + Evaluates bitwise and (&amp;) for the given type; this will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="M:MiscUtil.Operator.Xor``1(``0,``0)"> + <summary> + Evaluates bitwise xor (^) for the given type; this will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="M:MiscUtil.Operator.Convert``2(``0)"> + <summary> + Performs a conversion between the given types; this will throw + an InvalidOperationException if the type T does not provide a suitable cast, or for + Nullable&lt;TInner&gt; if TInner does not provide this cast. + </summary> + </member> + <member name="M:MiscUtil.Operator.Add``1(``0,``0)"> + <summary> + Evaluates binary addition (+) for the given type; this will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="M:MiscUtil.Operator.AddAlternative``2(``0,``1)"> + <summary> + Evaluates binary addition (+) for the given type(s); this will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="M:MiscUtil.Operator.Subtract``1(``0,``0)"> + <summary> + Evaluates binary subtraction (-) for the given type; this will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="M:MiscUtil.Operator.SubtractAlternative``2(``0,``1)"> + <summary> + Evaluates binary subtraction(-) for the given type(s); this will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="M:MiscUtil.Operator.Multiply``1(``0,``0)"> + <summary> + Evaluates binary multiplication (*) for the given type; this will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="M:MiscUtil.Operator.MultiplyAlternative``2(``0,``1)"> + <summary> + Evaluates binary multiplication (*) for the given type(s); this will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="M:MiscUtil.Operator.Divide``1(``0,``0)"> + <summary> + Evaluates binary division (/) for the given type; this will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="M:MiscUtil.Operator.DivideAlternative``2(``0,``1)"> + <summary> + Evaluates binary division (/) for the given type(s); this will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="M:MiscUtil.Operator.Equal``1(``0,``0)"> + <summary> + Evaluates binary equality (==) for the given type; this will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="M:MiscUtil.Operator.NotEqual``1(``0,``0)"> + <summary> + Evaluates binary inequality (!=) for the given type; this will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="M:MiscUtil.Operator.GreaterThan``1(``0,``0)"> + <summary> + Evaluates binary greater-than (&gt;) for the given type; this will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="M:MiscUtil.Operator.LessThan``1(``0,``0)"> + <summary> + Evaluates binary less-than (&lt;) for the given type; this will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="M:MiscUtil.Operator.GreaterThanOrEqual``1(``0,``0)"> + <summary> + Evaluates binary greater-than-on-eqauls (&gt;=) for the given type; this will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="M:MiscUtil.Operator.LessThanOrEqual``1(``0,``0)"> + <summary> + Evaluates binary less-than-or-equal (&lt;=) for the given type; this will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="M:MiscUtil.Operator.DivideInt32``1(``0,System.Int32)"> + <summary> + Evaluates integer division (/) for the given type; this will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary><remarks> + This operation is particularly useful for computing averages and + similar aggregates. + </remarks> + </member> + <member name="T:MiscUtil.Operator`2"> + <summary> + Provides standard operators (such as addition) that operate over operands of + different types. For operators, the return type is assumed to match the first + operand. + </summary> + <seealso cref="T:MiscUtil.Operator`1"/> + <seealso cref="T:MiscUtil.Operator"/> + </member> + <member name="P:MiscUtil.Operator`2.Convert"> + <summary> + Returns a delegate to convert a value between two types; this delegate will throw + an InvalidOperationException if the type T does not provide a suitable cast, or for + Nullable&lt;TInner&gt; if TInner does not provide this cast. + </summary> + </member> + <member name="P:MiscUtil.Operator`2.Add"> + <summary> + Returns a delegate to evaluate binary addition (+) for the given types; this delegate will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="P:MiscUtil.Operator`2.Subtract"> + <summary> + Returns a delegate to evaluate binary subtraction (-) for the given types; this delegate will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="P:MiscUtil.Operator`2.Multiply"> + <summary> + Returns a delegate to evaluate binary multiplication (*) for the given types; this delegate will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="P:MiscUtil.Operator`2.Divide"> + <summary> + Returns a delegate to evaluate binary division (/) for the given types; this delegate will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="T:MiscUtil.Operator`1"> + <summary> + Provides standard operators (such as addition) over a single type + </summary> + <seealso cref="T:MiscUtil.Operator"/> + <seealso cref="T:MiscUtil.Operator`2"/> + </member> + <member name="P:MiscUtil.Operator`1.Zero"> + <summary> + Returns the zero value for value-types (even full Nullable&lt;TInner&gt;) - or null for reference types + </summary> + </member> + <member name="P:MiscUtil.Operator`1.Negate"> + <summary> + Returns a delegate to evaluate unary negation (-) for the given type; this delegate will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="P:MiscUtil.Operator`1.Not"> + <summary> + Returns a delegate to evaluate bitwise not (~) for the given type; this delegate will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="P:MiscUtil.Operator`1.Or"> + <summary> + Returns a delegate to evaluate bitwise or (|) for the given type; this delegate will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="P:MiscUtil.Operator`1.And"> + <summary> + Returns a delegate to evaluate bitwise and (&amp;) for the given type; this delegate will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="P:MiscUtil.Operator`1.Xor"> + <summary> + Returns a delegate to evaluate bitwise xor (^) for the given type; this delegate will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="P:MiscUtil.Operator`1.Add"> + <summary> + Returns a delegate to evaluate binary addition (+) for the given type; this delegate will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="P:MiscUtil.Operator`1.Subtract"> + <summary> + Returns a delegate to evaluate binary subtraction (-) for the given type; this delegate will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="P:MiscUtil.Operator`1.Multiply"> + <summary> + Returns a delegate to evaluate binary multiplication (*) for the given type; this delegate will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="P:MiscUtil.Operator`1.Divide"> + <summary> + Returns a delegate to evaluate binary division (/) for the given type; this delegate will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="P:MiscUtil.Operator`1.Equal"> + <summary> + Returns a delegate to evaluate binary equality (==) for the given type; this delegate will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="P:MiscUtil.Operator`1.NotEqual"> + <summary> + Returns a delegate to evaluate binary inequality (!=) for the given type; this delegate will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="P:MiscUtil.Operator`1.GreaterThan"> + <summary> + Returns a delegate to evaluate binary greater-then (&gt;) for the given type; this delegate will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="P:MiscUtil.Operator`1.LessThan"> + <summary> + Returns a delegate to evaluate binary less-than (&lt;) for the given type; this delegate will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="P:MiscUtil.Operator`1.GreaterThanOrEqual"> + <summary> + Returns a delegate to evaluate binary greater-than-or-equal (&gt;=) for the given type; this delegate will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="P:MiscUtil.Operator`1.LessThanOrEqual"> + <summary> + Returns a delegate to evaluate binary less-than-or-equal (&lt;=) for the given type; this delegate will throw + an InvalidOperationException if the type T does not provide this operator, or for + Nullable&lt;TInner&gt; if TInner does not provide this operator. + </summary> + </member> + <member name="T:MiscUtil.PartialComparer"> + <summary> + Class to provide partial comparisons, which can be useful when + implementing full comparisons in other classes. + </summary> + </member> + <member name="M:MiscUtil.PartialComparer.ReferenceCompare``1(``0,``0)"> + <summary> + Provides comparisons for just the references, returning 0 + if the arguments are the same reference, -1 if just the first is null, + and 1 if just the second is null. Otherwise, this method returns null. + It can be used to make life easier for an initial comparison + before comparing individual components of an object. + </summary> + <typeparam name="T">The type of objects to compare</typeparam> + <param name="first">The first object to compare</param> + <param name="second">The second object to compare</param> + </member> + <member name="M:MiscUtil.PartialComparer.Compare``1(``0,``0)"> + <summary> + Compares two instances of T using the default comparer for T, + returning a non-null value in the case of inequality, or null + where the default comparer would return 0. This aids chained + comparisons (where if the first values are equal, you move + on to the next ones) if you use the null coalescing operator. + </summary> + <typeparam name="T">The type of objects to compare</typeparam> + <param name="first">The first object to compare</param> + <param name="second">The second object to compare</param> + </member> + <member name="M:MiscUtil.PartialComparer.Compare``1(System.Collections.Generic.IComparer{``0},``0,``0)"> + <summary> + Compares two instances of T using the specified comparer for T, + returning a non-null value in the case of inequality, or null + where the comparer would return 0. This aids chained + comparisons (where if the first values are equal, you move + on to the next ones) if you use the null coalescing operator. + </summary> + <typeparam name="T">The type of objects to compare</typeparam> + <param name="comparer">The comparer to use</param> + <param name="first">The first object to compare</param> + <param name="second">The second object to compare</param> + </member> + <member name="M:MiscUtil.PartialComparer.Equals``1(``0,``0)"> + <summary> + Compares two instances of T, returning true if they are definitely + the same (i.e. the same references), false if exactly one reference is + null, or null otherwise. This aids implementing equality operations. + </summary> + <typeparam name="T">The type of objects to compare</typeparam> + <param name="first">The first object to compare</param> + <param name="second">The second object to compare</param> + </member> + <member name="T:MiscUtil.Reflection.PropertyCopy"> + <summary> + Non-generic class allowing properties to be copied from one instance + to another existing instance of a potentially different type. + </summary> + </member> + <member name="M:MiscUtil.Reflection.PropertyCopy.Copy``2(``0,``1)"> + <summary> + Copies all public, readable properties from the source object to the + target. The target type does not have to have a parameterless constructor, + as no new instance needs to be created. + </summary> + <remarks>Only the properties of the source and target types themselves + are taken into account, regardless of the actual types of the arguments.</remarks> + <typeparam name="TSource">Type of the source</typeparam> + <typeparam name="TTarget">Type of the target</typeparam> + <param name="source">Source to copy properties from</param> + <param name="target">Target to copy properties to</param> + </member> + <member name="T:MiscUtil.Reflection.PropertyCopy`1"> + <summary> + Generic class which copies to its target type from a source + type specified in the Copy method. The types are specified + separately to take advantage of type inference on generic + method arguments. + </summary> + </member> + <member name="M:MiscUtil.Reflection.PropertyCopy`1.CopyFrom``1(``0)"> + <summary> + Copies all readable properties from the source to a new instance + of TTarget. + </summary> + </member> + <member name="T:MiscUtil.Reflection.PropertyCopier`2"> + <summary> + Static class to efficiently store the compiled delegate which can + do the copying. We need a bit of work to ensure that exceptions are + appropriately propagated, as the exception is generated at type initialization + time, but we wish it to be thrown as an ArgumentException. + Note that this type we do not have a constructor constraint on TTarget, because + we only use the constructor when we use the form which creates a new instance. + </summary> + </member> + <member name="F:MiscUtil.Reflection.PropertyCopier`2.creator"> + <summary> + Delegate to create a new instance of the target type given an instance of the + source type. This is a single delegate from an expression tree. + </summary> + </member> + <member name="F:MiscUtil.Reflection.PropertyCopier`2.sourceProperties"> + <summary> + List of properties to grab values from. The corresponding targetProperties + list contains the same properties in the target type. Unfortunately we can't + use expression trees to do this, because we basically need a sequence of statements. + We could build a DynamicMethod, but that's significantly more work :) Please mail + me if you really need this... + </summary> + </member> + <member name="T:MiscUtil.StaticRandom"> + <summary> + Thread-safe equivalent of System.Random, using just static methods. + If all you want is a source of random numbers, this is an easy class to + use. If you need to specify your own seeds (eg for reproducible sequences + of numbers), use System.Random. + </summary> + </member> + <member name="M:MiscUtil.StaticRandom.Next"> + <summary> + Returns a nonnegative random number. + </summary> + <returns>A 32-bit signed integer greater than or equal to zero and less than Int32.MaxValue.</returns> + </member> + <member name="M:MiscUtil.StaticRandom.Next(System.Int32)"> + <summary> + Returns a nonnegative random number less than the specified maximum. + </summary> + <returns> + A 32-bit signed integer greater than or equal to zero, and less than maxValue; + that is, the range of return values includes zero but not maxValue. + </returns> + <exception cref="T:System.ArgumentOutOfRangeException">maxValue is less than zero.</exception> + </member> + <member name="M:MiscUtil.StaticRandom.Next(System.Int32,System.Int32)"> + <summary> + Returns a random number within a specified range. + </summary> + <param name="min">The inclusive lower bound of the random number returned. </param> + <param name="max"> + The exclusive upper bound of the random number returned. + maxValue must be greater than or equal to minValue. + </param> + <returns> + A 32-bit signed integer greater than or equal to minValue and less than maxValue; + that is, the range of return values includes minValue but not maxValue. + If minValue equals maxValue, minValue is returned. + </returns> + <exception cref="T:System.ArgumentOutOfRangeException">minValue is greater than maxValue.</exception> + </member> + <member name="M:MiscUtil.StaticRandom.NextDouble"> + <summary> + Returns a random number between 0.0 and 1.0. + </summary> + <returns>A double-precision floating point number greater than or equal to 0.0, and less than 1.0.</returns> + </member> + <member name="M:MiscUtil.StaticRandom.NextBytes(System.Byte[])"> + <summary> + Fills the elements of a specified array of bytes with random numbers. + </summary> + <param name="buffer">An array of bytes to contain random numbers.</param> + <exception cref="T:System.ArgumentNullException">buffer is a null reference (Nothing in Visual Basic).</exception> + </member> + <member name="T:MiscUtil.Text.UnicodeRange"> + <summary> + Utility class providing a number of singleton instances of + Range&lt;char&gt; to indicate the various ranges of unicode characters, + as documented at http://msdn.microsoft.com/en-us/library/20bw873z.aspx. + Note that this does not indicate the Unicode category of a character, + merely which range it's in. + TODO: Work out how to include names. Can't derive from Range[char]. + </summary> + </member> + <member name="M:MiscUtil.Text.UnicodeRange.GetRange(System.Char)"> + <summary> + Returns the unicode range containing the specified character. + </summary> + <param name="c">Character to look for</param> + <returns>The unicode range containing the specified character, or null if the character + is not in a unicode range.</returns> + </member> + <member name="T:MiscUtil.Text.Utf32String"> + <summary> + String of UTF-32 characters (ints). This class is immutable, and so is thread-safe + after copying, but copies must be originally made in a thread-safe manner so as + to avoid seeing invalid data. + </summary> + </member> + <member name="F:MiscUtil.Text.Utf32String.HashcodeSampleSize"> + <summary> + Number of samples to take (at most) to form a hash code. + </summary> + </member> + <member name="F:MiscUtil.Text.Utf32String.Empty"> + <summary> + An empty UTF-32 string. + </summary> + </member> + <member name="F:MiscUtil.Text.Utf32String.characters"> + <summary> + UTF-32 characters making up the string. + </summary> + </member> + <member name="M:MiscUtil.Text.Utf32String.IsValidUtf32Char(System.Int32)"> + <summary> + Returns whether or not an integer value is a valid + UTF-32 character, that is, whether it is non-negative + and less than or equal to 0x10ffff. + </summary> + <param name="value">The value to test.</param> + <returns>Whether or not the given value is a valid UTF-32 character.</returns> + </member> + <member name="P:MiscUtil.Text.Utf32String.Length"> + <summary> + The number of UTF-32 characters in this string. + </summary> + </member> + <member name="P:MiscUtil.Text.Utf32String.Item(System.Int32)"> + <summary> + The character at the specified index. + </summary> + </member> + <member name="M:MiscUtil.Text.Utf32String.#ctor(System.Int32[],System.Boolean)"> + <summary> + Used inside this class to construct extra strings quickly, when validation + isn't required and a reference copy is good enough. + </summary> + </member> + <member name="M:MiscUtil.Text.Utf32String.#ctor(System.Int32[])"> + <summary> + Creates a UTF-32 string from an array of integers, all of which must + be less than 0x10ffff and non-negative. A copy of the array is taken so that + further changes to the array afterwards are ignored. + </summary> + <param name="characters">The array of characters to copy. Must not be null.</param> + </member> + <member name="M:MiscUtil.Text.Utf32String.#ctor(System.String)"> + <summary> + Creates a UTF-32 string from a System.String (UTF-16), converting surrogates + where they are present. + </summary> + <param name="utf16">The string in UTF-16 format.</param> + </member> + <member name="M:MiscUtil.Text.Utf32String.Substring(System.Int32)"> + <summary> + Takes a substring of this string, starting at the given index. + </summary> + <param name="start">Starting index of desired substring in this string</param> + <returns>A substring of this string</returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.Substring(System.Int32,System.Int32)"> + <summary> + Takes a substring of this string, starting at the given index + and containing the given number of characters. + </summary> + <param name="start">Starting index of desired substring in this string</param> + <param name="count">The number of characters in the desired substring</param> + <returns>A substring of this string</returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.IndexOf(MiscUtil.Text.Utf32String)"> + <summary> + Finds the index of another Utf32String within this one. + </summary> + <param name="value">Value to find</param> + <returns>The index of value within this string, or -1 if it isn't found</returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.IndexOf(MiscUtil.Text.Utf32String,System.Int32)"> + <summary> + Finds the index of another Utf32String within this one, + starting at the specified position. + </summary> + <param name="value">Value to find</param> + <param name="start">First position to consider when finding value within this Utf32String</param> + <returns>The index of value within this string, or -1 if it isn't found</returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.IndexOf(MiscUtil.Text.Utf32String,System.Int32,System.Int32)"> + <summary> + Finds the index of another Utf32String within this one, + starting at the specified position and considering the + specified number of positions. + </summary> + <param name="value">Value to find</param> + <param name="start">First position to consider when finding value within this Utf32String</param> + <param name="count">Number of positions to consider</param> + <returns>The index of value within this string, or -1 if it isn't found</returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.IndexOf(System.Int32)"> + <summary> + Finds the first index of the specified character within this string. + </summary> + <param name="character">Character to find</param> + <returns>The index of the first occurrence of the specified character, or -1 + if it is not found.</returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.IndexOf(System.Int32,System.Int32)"> + <summary> + Finds the first index of the specified character within this string, starting + at the specified position. + </summary> + <param name="character">Character to find</param> + <param name="start">First position to consider</param> + <returns>The index of the first occurrence of the specified character, or -1 + if it is not found.</returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.IndexOf(System.Int32,System.Int32,System.Int32)"> + <summary> + Finds the first index of the specified character within this string, starting + at the specified position and considering the specified number of positions. + </summary> + <param name="character">Character to find</param> + <param name="start">First position to consider</param> + <param name="count">Number of positions to consider</param> + <returns>The index of the first occurrence of the specified character, or -1 + if it is not found.</returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.Equals(MiscUtil.Text.Utf32String)"> + <summary> + Compares two UTF-32 strings (in a culture-insensitive manner) for equality. + </summary> + <param name="other">The other string to compare this one to.</param> + <returns>Whether or not this string is equal to the other one.</returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.Equals(MiscUtil.Text.Utf32String,MiscUtil.Text.Utf32String)"> + <summary> + Compares one string with another for equality. + </summary> + <param name="strA">The first string to compare</param> + <param name="strB">The second string to compare</param> + <returns>true if the strings are equivalent; false otherwise</returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.Compare(MiscUtil.Text.Utf32String,MiscUtil.Text.Utf32String)"> + <summary> + Compares the two specified strings. + </summary> + <param name="strA">The first string to compare</param> + <param name="strB">The second string to compare</param> + <returns>0 if both strings are null or they are equal; a negative number if strA is null or + is lexicographically before strB; a positive number otherwise</returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.Concat(MiscUtil.Text.Utf32String[])"> + <summary> + Concatenates an array of strings together. + </summary> + <param name="strings">The array of strings to concatenate.</param> + <returns></returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.Concat(MiscUtil.Text.Utf32String,MiscUtil.Text.Utf32String)"> + <summary> + Returns a concatenation of the given strings. + </summary> + <param name="strA">The first string</param> + <param name="strB">The second string</param> + <returns>A string consisting of the first string followed by the second</returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.Concat(MiscUtil.Text.Utf32String,MiscUtil.Text.Utf32String,MiscUtil.Text.Utf32String)"> + <summary> + Returns a concatenation of the given strings. + </summary> + <param name="strA">The first string</param> + <param name="strB">The second string</param> + <param name="strC">The third string</param> + <returns> + A string consisting of the first string + followed by the second, followed by the third + </returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.Concat(MiscUtil.Text.Utf32String,MiscUtil.Text.Utf32String,MiscUtil.Text.Utf32String,MiscUtil.Text.Utf32String)"> + <summary> + Returns a concatenation of the given strings. + </summary> + <param name="strA">The first string</param> + <param name="strB">The second string</param> + <param name="strC">The third string</param> + <param name="strD">The fourth string</param> + <returns> + A string consisting of the first string + followed by the second, followed by the third, + followed by the fourth + </returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.ToInt32Array"> + <summary> + Copies the UTF-32 characters in this string to an int array. + </summary> + <returns>An array of integers representing the characters in this array.</returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.ToString"> + <summary> + Converts the UTF-32 string into a UTF-16 string, + creating surrogates if necessary. + </summary> + <returns> + A UTF-16 string (System.String) representing the same + character data as this UTF-32 string. + </returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.Equals(System.Object)"> + <summary> + Returns whether or not this UTF-32 string is equal to another object. + </summary> + <param name="obj">The object to compare this UTF-32 string to.</param> + <returns>Whether or not this object is equal to the other one.</returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.GetHashCode"> + <summary> + Returns a hashcode formed from sampling some of the characters in this + UTF-32 string. This gives a good balance between performance and hash + collisions. + </summary> + <returns>A hashcode for this UTF-32 string.</returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.op_Addition(MiscUtil.Text.Utf32String,MiscUtil.Text.Utf32String)"> + <summary> + Returns a concatenation of the given strings. + </summary> + <param name="strA">The first string</param> + <param name="strB">The second string</param> + <returns>A string consisting of the first string followed by the second</returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.op_Equality(MiscUtil.Text.Utf32String,MiscUtil.Text.Utf32String)"> + <summary> + Determines whether two specified String objects have the same value. + </summary> + <param name="strA">A string or a null reference</param> + <param name="strB">A string or a null reference</param> + <returns>true if the value of strA is the same as the value of strB; otherwise, false</returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.op_Inequality(MiscUtil.Text.Utf32String,MiscUtil.Text.Utf32String)"> + <summary> + Determines whether two specified String objects have different values. + </summary> + <param name="strA">A string or a null reference</param> + <param name="strB">A string or a null reference</param> + <returns>true if the value of strA is different from the value of strB; otherwise, false</returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.GetEnumerator"> + <summary> + Enumerates the characters in the string. + </summary> + <returns>The enumerator for </returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.CompareTo(System.Object)"> + <summary> + Compares this string to another Utf32String. + </summary> + <param name="obj">The other Utf32String to compare this string to.</param> + <returns> + &lt;0 if this string &lt;> obj; 0 if this==object; &gt;0 if this string &gt; obj, + with the relation defines in a culture-insensitive way in lexicographic order. + </returns> + </member> + <member name="M:MiscUtil.Text.Utf32String.Clone"> + <summary> + Creates a shallow copy of this string. + </summary> + <returns>A shallow copy of this string.</returns> + </member> + <member name="T:MiscUtil.Threading.CustomThreadPool"> + <summary> + A thread pool implementation which allows policy decisions + for the number of threads to run, etc, to be programatically set. + </summary> + <remarks> + Each instance runs with entirely separate threads, so one thread pool + cannot "starve" another one of threads, although having lots of threads + running may mean that some threads are starved of processor time. + If the values for properties such as MinThreads, IdlePeriod etc are changed + after threads have been started, it may take some time before their effects + are noticed. For instance, reducing the idle time from 5 minutes to 1 minute + will not prevent a thread which had only just started to idle from waiting + for 5 minutes before dying. Any exceptions thrown in the work item itself + are handled by the WorkerException event, but all other exceptions are + propagated to the AppDomain's UnhandledException event. This includes + exceptions thrown by the BeforeWorkItem and AfterWorkItem events. + This class is thread-safe - any thread may call any method on any instance of it. + </remarks> + </member> + <member name="F:MiscUtil.Threading.CustomThreadPool.staticLock"> + <summary> + Lock around all static members. + </summary> + </member> + <member name="F:MiscUtil.Threading.CustomThreadPool.instanceCount"> + <summary> + Total number of instances created + </summary> + </member> + <member name="F:MiscUtil.Threading.CustomThreadPool.DefaultIdlePeriod"> + <summary> + Default idle period for new pools + </summary> + </member> + <member name="F:MiscUtil.Threading.CustomThreadPool.DefaultMinThreads"> + <summary> + Default min threads for new pools + </summary> + </member> + <member name="F:MiscUtil.Threading.CustomThreadPool.DefaultMaxThreads"> + <summary> + Default max threads for new pools + </summary> + </member> + <member name="F:MiscUtil.Threading.CustomThreadPool.MinWaitPeriod"> + <summary> + If the idle period is short but we have less than the + minimum number of threads, idle for this long instead, + so as to avoid tight-looping. We don't enforce this + minimum if the thread will die if it idles for its IdlePeriod. + </summary> + </member> + <member name="F:MiscUtil.Threading.CustomThreadPool.MaxWaitPeriod"> + <summary> + If the idle period is long (or infinite) then we shouldn't + actually wait that long, just in case the timeout etc changes. + </summary> + </member> + <member name="M:MiscUtil.Threading.CustomThreadPool.#ctor"> + <summary> + Creates a new thread pool with an autogenerated name. + </summary> + </member> + <member name="M:MiscUtil.Threading.CustomThreadPool.#ctor(System.String)"> + <summary> + Creates a new thread pool with the specified name + </summary> + <param name="name">The name of the new thread pool</param> + </member> + <member name="F:MiscUtil.Threading.CustomThreadPool.stateLock"> + <summary> + Lock around access to all state other than events and the queue. + The queue lock may be acquired within this lock. + </summary> + </member> + <member name="F:MiscUtil.Threading.CustomThreadPool.queueLock"> + <summary> + Lock for the queue itself. The state lock must not be acquired within + this lock unless it is already held by the thread. + </summary> + </member> + <member name="F:MiscUtil.Threading.CustomThreadPool.queue"> + <summary> + The queue itself. + </summary> + </member> + <member name="F:MiscUtil.Threading.CustomThreadPool.threadCounter"> + <summary> + The number of threads started (in total) by this threadpool. + Used for naming threads. + </summary> + </member> + <member name="P:MiscUtil.Threading.CustomThreadPool.IdlePeriod"> + <summary> + How long a thread may be remain idle for before dying, in ms. + Note that a thread will not die if doing so would + reduce the number of threads below MinThreads. A value of 0 here + indicates that threads should not idle at all (except if the number + of threads would otherwise fall below MinThreads). A value of + Timeout.Infinite indicates that a thread will idle until a new work item + is added, however long that is. + </summary> + </member> + <member name="P:MiscUtil.Threading.CustomThreadPool.Name"> + <summary> + Gets the name of the thread pool. + This is used to set the name of any new threads created by the pool. + </summary> + </member> + <member name="P:MiscUtil.Threading.CustomThreadPool.MinThreads"> + <summary> + The minimum number of threads to leave in the pool. Note that + the pool may contain fewer threads than this until work items + have been placed on the queue. A call to StartMinThreads + will make sure that at least MinThreads threads have been started. + This value must be non-negative. Note that a MinThreads value of 0 + introduces a possible (although very unlikely) race condition where + a work item may be added to the queue just as the last thread decides + to exit. In this case, the work item would not be executed until the + next work item was added. + TODO: Try to remove this race condition + </summary> + </member> + <member name="P:MiscUtil.Threading.CustomThreadPool.MaxThreads"> + <summary> + The maximum number of threads to allow to be in the pool at any + one time. This value must be greater than or equal to 1. + </summary> + </member> + <member name="M:MiscUtil.Threading.CustomThreadPool.SetMinMaxThreads(System.Int32,System.Int32)"> + <summary> + Sets both the minimum and maximum number of threads, atomically. This prevents + exceptions which might occur when setting properties individually (e.g. going + from (min=5, max=10) to (min=15, max=20), if the minimum were changed first, + an exception would occur. + </summary> + </member> + <member name="P:MiscUtil.Threading.CustomThreadPool.QueueLength"> + <summary> + The number of work items currently awaiting execution. + This does not include work items currently being executed. + </summary> + </member> + <member name="P:MiscUtil.Threading.CustomThreadPool.WorkingThreads"> + <summary> + The number of threads currently executing work items + or BeforeWorkItem/AfterWorkItem/WorkerException events. + </summary> + </member> + <member name="P:MiscUtil.Threading.CustomThreadPool.TotalThreads"> + <summary> + The total number of threads in the pool at the present time. + </summary> + </member> + <member name="P:MiscUtil.Threading.CustomThreadPool.WorkerThreadPriority"> + <summary> + The priority of worker threads. Each thread's priority is set + before the BeforeWorkItem event and after the AfterWorkItem event. + The priority of an individual thread may be changed in + the BeforeWorkItem event, and that changed priority + will remain active for the duration of the work item itself. + The default is ThreadPriority.Normal. + </summary> + </member> + <member name="P:MiscUtil.Threading.CustomThreadPool.WorkerThreadsAreBackground"> + <summary> + Whether or not worker threads should be created and + set as background threads. This is set for the thread before + the BeforeWorkItem event and after the AfterWorkItem event. + The background status of a thread may be changed in the BeforeWorkItem + event, and that changed status will remain active for the duration + of the work item itself. Default is true. + </summary> + </member> + <member name="F:MiscUtil.Threading.CustomThreadPool.eventLock"> + <summary> + Lock around all access to events. + </summary> + </member> + <member name="E:MiscUtil.Threading.CustomThreadPool.WorkerException"> + <summary> + Event which is fired if a worker thread throws an exception in + its work item. + </summary> + </member> + <member name="M:MiscUtil.Threading.CustomThreadPool.OnException(MiscUtil.Threading.ThreadPoolWorkItem,System.Exception)"> + <summary> + Raises the WorkerException event. + TODO: Write to the event log if no exception handlers are attached? + </summary> + </member> + <member name="F:MiscUtil.Threading.CustomThreadPool.beforeWorkItem"> + <summary> + Delegate for the BeforeWorkItem event. + </summary> + </member> + <member name="E:MiscUtil.Threading.CustomThreadPool.BeforeWorkItem"> + <summary> + Event fired before a worker thread starts a work item. + </summary> + </member> + <member name="M:MiscUtil.Threading.CustomThreadPool.OnBeforeWorkItem(MiscUtil.Threading.ThreadPoolWorkItem,System.Boolean@)"> + <summary> + Raises the BeforeWorkItem event + </summary> + <param name="workItem">The work item which is about to execute</param> + <param name="cancel">Whether or not the work item was cancelled by an event handler</param> + </member> + <member name="F:MiscUtil.Threading.CustomThreadPool.afterWorkItem"> + <summary> + Delegate for the AfterWorkItem event. + </summary> + </member> + <member name="E:MiscUtil.Threading.CustomThreadPool.AfterWorkItem"> + <summary> + Event fired after a worker thread successfully finishes a work item. + This event is not fired if the work item throws an exception. + </summary> + </member> + <member name="M:MiscUtil.Threading.CustomThreadPool.OnAfterWorkItem(MiscUtil.Threading.ThreadPoolWorkItem)"> + <summary> + Raises the AfterWorkItem event + </summary> + </member> + <member name="F:MiscUtil.Threading.CustomThreadPool.workerThreadExit"> + <summary> + Delegate for the ThreadExit event. + </summary> + </member> + <member name="E:MiscUtil.Threading.CustomThreadPool.WorkerThreadExit"> + <summary> + Event called just before a thread dies. + </summary> + </member> + <member name="M:MiscUtil.Threading.CustomThreadPool.OnWorkerThreadExit"> + <summary> + Raises the WorkerThreadExit event and decrements the number of total worker threads + </summary> + </member> + <member name="M:MiscUtil.Threading.CustomThreadPool.StartMinThreads"> + <summary> + Ensures that the pool has at least the minimum number of threads. + </summary> + </member> + <member name="M:MiscUtil.Threading.CustomThreadPool.AddWorkItem(System.Delegate,System.Object[])"> + <summary> + Adds a work item to the queue, starting a new thread if appropriate. + </summary> + <param name="workItemDelegate">The delegate representing the work item</param> + <param name="parameters">The parameters to pass to the delegate</param> + </member> + <member name="M:MiscUtil.Threading.CustomThreadPool.AddWorkItem(System.Delegate)"> + <summary> + Adds a work item to the queue, starting a new thread if appropriate. + </summary> + <param name="workItemDelegate">The delegate representing the work item.</param> + </member> + <member name="M:MiscUtil.Threading.CustomThreadPool.AddWorkItem(MiscUtil.Threading.ThreadPoolWorkItem)"> + <summary> + Adds a work item to the queue and potentially start a new thread. + A thread is started if there are no idle threads or if there is already + something on the queue - but in each case, only if the total number of + threads is less than the maximum. + </summary> + <param name="workItem">The actual work item to add to the queue.</param> + </member> + <member name="M:MiscUtil.Threading.CustomThreadPool.CancelWorkItem(System.Object)"> + <summary> + Cancels the first work item with the specified ID, if there is one. + Note that items which have been taken off the queue and are running + or about to be started cannot be cancelled. + </summary> + <param name="id">The ID of the work item to cancel</param> + </member> + <member name="M:MiscUtil.Threading.CustomThreadPool.CancelAllWorkItems"> + <summary> + Cancels all work items in the queue. + Note that items which have been taken off the queue and are running + or about to be started cannot be cancelled. + </summary> + </member> + <member name="M:MiscUtil.Threading.CustomThreadPool.StartWorkerThread"> + <summary> + Starts a new worker thread. + </summary> + </member> + <member name="M:MiscUtil.Threading.CustomThreadPool.WorkerThreadLoop"> + <summary> + Main worker thread loop. This picks jobs off the queue and executes + them, until it's time to die. + </summary> + </member> + <member name="M:MiscUtil.Threading.CustomThreadPool.CalculateWaitPeriod(System.DateTime)"> + <summary> + Work out how long to wait for in this iteration. If the thread isn't going + to die even if the wait completes, make the idle timeout at least MinWaitPeriod + so we don't end up with lots of threads stealing CPU by checking too often. + </summary> + <param name="lastJob">The time this thread last finished executing a work item.</param> + <returns></returns> + </member> + <member name="M:MiscUtil.Threading.CustomThreadPool.GetNextWorkItem(System.Int32)"> + <summary> + Retrieves the next work item from the queue, pausing for at most + the specified amount of time. + </summary> + <param name="waitPeriod"> + The maximum amount of time to wait for a work item to arrive, in ms. + </param> + <returns> + The next work item, or null if there aren't any after waiting + for the specified period. + </returns> + </member> + <member name="M:MiscUtil.Threading.CustomThreadPool.CheckIfThreadShouldQuit(System.DateTime)"> + <summary> + Checks whether or not this thread should exit, based on the current number + of threads and the time that this thread last finished executing a work item. + </summary> + <param name="lastJob">The time this thread last finished executing a work item.</param> + <returns>Whether or not the thread is "spare" and should thus quit</returns> + </member> + <member name="M:MiscUtil.Threading.CustomThreadPool.ExecuteWorkItem(MiscUtil.Threading.ThreadPoolWorkItem)"> + <summary> + Executes the given work item, firing the BeforeWorkItem and AfterWorkItem events, + and incrementing and decrementing the number of working threads. + </summary> + <param name="job">The work item to execute</param> + </member> + <member name="T:MiscUtil.Threading.CustomThreadPool.PriorityComparer"> + <summary> + Comparer which compares an integer priority with the priority of a work item. + Must only be used in the appropriate order (CompareTo(int, WorkItem)). Also, + 0 is never returned by the method - effectively, the given priority is raised by + 0.5, so that when a binary search is used, the value is never found but the returned + index is always the bitwise complement of the correct insertion point. + </summary> + </member> + <member name="F:MiscUtil.Threading.CustomThreadPool.PriorityComparer.Instance"> + <summary> + Access to single instance of PriorityComparer. + </summary> + </member> + <member name="M:MiscUtil.Threading.CustomThreadPool.PriorityComparer.#ctor"> + <summary> + Private constructor to prevent instantiation + </summary> + </member> + <member name="M:MiscUtil.Threading.CustomThreadPool.PriorityComparer.Compare(MiscUtil.Threading.ThreadPoolWorkItem,MiscUtil.Threading.ThreadPoolWorkItem)"> + <summary> + Implementation of IComparer.Compare - see class remarks for details. + </summary> + </member> + <member name="T:MiscUtil.Threading.ExceptionHandler"> + <summary> + Delegate for handling exceptions. + </summary> + </member> + <member name="T:MiscUtil.Threading.ThreadPoolExceptionHandler"> + <summary> + Delegate for handling exceptions thrown by work items executing + in a custom thread pool. + </summary> + <param name="pool">The pool which created the worker thread</param> + <param name="workItem">The work item which threw the exception</param> + <param name="e">The exception thrown</param> + <param name="handled"> + Whether or not the exception has been handled by this delegate. The value + of this parameter will be false on entry, and changing it to true will + prevent any further delegates in the event from being executed. + </param> + </member> + <member name="T:MiscUtil.Threading.BeforeWorkItemHandler"> + <summary> + Delegate for handling the event that a thread is about to execute + a work item. + </summary> + <param name="pool">The pool which created the worker thread</param> + <param name="workItem">The work item which is about to execute</param> + <param name="cancel"> + Whether or not the work item should be cancelled. The value + of this parameter will be false on entry, and changing it to true will + prevent any further delegates in the event from being executed, and + prevent the work item itself from being executed. + </param> + </member> + <member name="T:MiscUtil.Threading.AfterWorkItemHandler"> + <summary> + Delegate for handling the event that a thread has executed a work item. + </summary> + <param name="pool">The pool which created the worker thread</param> + <param name="workItem">The work item which has executed</param> + </member> + <member name="T:MiscUtil.Threading.ThreadProgress"> + <summary> + Delegate for handling the event that a thread has changed state + (e.g. it's about to execute a work item, it's just executed one, etc). + Also used for requests for a thread to change state (e.g. if a stop + request has been received). + </summary> + </member> + <member name="T:MiscUtil.Threading.ControlledThreadStart"> + <summary> + Represents the method that is executed by a ThreadController. + </summary> + </member> + <member name="T:MiscUtil.Threading.LockOrderException"> + <summary> + Exception thrown when a Lock method on the SyncLock class times out. + </summary> + </member> + <member name="M:MiscUtil.Threading.LockOrderException.#ctor(System.String)"> + <summary> + Constructs an instance with the specified message. + </summary> + <param name="message">The message for the exception</param> + </member> + <member name="M:MiscUtil.Threading.LockOrderException.#ctor(System.String,System.Object[])"> + <summary> + Constructs an instance by formatting the specified message with + the given parameters. + </summary> + <param name="format">The message, which will be formatted with the parameters.</param> + <param name="args">The parameters to use for formatting.</param> + </member> + <member name="T:MiscUtil.Threading.LockTimeoutException"> + <summary> + Exception thrown when a Lock method on the SyncLock class times out. + </summary> + </member> + <member name="M:MiscUtil.Threading.LockTimeoutException.#ctor(System.String)"> + <summary> + Constructs an instance with the specified message. + </summary> + <param name="message">The message for the exception</param> + </member> + <member name="M:MiscUtil.Threading.LockTimeoutException.#ctor(System.String,System.Object[])"> + <summary> + Constructs an instance by formatting the specified message with + the given parameters. + </summary> + <param name="format">The message, which will be formatted with the parameters.</param> + <param name="args">The parameters to use for formatting.</param> + </member> + <member name="T:MiscUtil.Threading.LockToken"> + <summary> + A lock token returned by a Lock method call on a SyncLock. + This effectively holds the lock until it is disposed - a + slight violation of the IDisposable contract, but it makes + for easy use of the SyncLock system. This type itself + is not thread-safe - LockTokens should not be shared between + threads. + </summary> + </member> + <member name="F:MiscUtil.Threading.LockToken.parent"> + <summary> + The lock this token has been created by. + </summary> + </member> + <member name="M:MiscUtil.Threading.LockToken.#ctor(MiscUtil.Threading.SyncLock)"> + <summary> + Constructs a new lock token for the specified lock. + </summary> + <param name="parent">The internal monitor used for locking.</param> + </member> + <member name="M:MiscUtil.Threading.LockToken.Dispose"> + <summary> + Releases the lock. Subsequent calls to this method do nothing. + </summary> + </member> + <member name="T:MiscUtil.Threading.OrderedLock"> + <summary> + Class used for locking, as an alternative to just locking on normal monitors. + Allows for timeouts when locking, and each Lock method returns a token which + must then be disposed of to release the internal monitor (i.e. to unlock). + All properties and methods of this class are thread-safe. + </summary> + </member> + <member name="F:MiscUtil.Threading.OrderedLock.count"> + <summary> + Lock count (incremented with Lock, decremented with Unlock). + </summary> + </member> + <member name="P:MiscUtil.Threading.OrderedLock.Owner"> + <summary> + The current owner of the lock, if any. + </summary> + </member> + <member name="P:MiscUtil.Threading.OrderedLock.InnerLock"> + <summary> + Gets or sets the "inner" lock for this lock. This lock must not be acquired + after the inner one, unless it has already been acquired previously. + Inner locks are transitive - if A has an inner lock B, and B has + an inner lock C, then C is also effectively an inner lock of A. + If this property to null, this lock is considered not to have an inner lock. + </summary> + </member> + <member name="M:MiscUtil.Threading.OrderedLock.#ctor"> + <summary> + Creates a new lock with no name, and the default timeout specified by DefaultDefaultTimeout. + </summary> + </member> + <member name="M:MiscUtil.Threading.OrderedLock.#ctor(System.String)"> + <summary> + Creates a new lock with the specified name, and the default timeout specified by + DefaultDefaultTimeout. + </summary> + <param name="name">The name of the new lock</param> + </member> + <member name="M:MiscUtil.Threading.OrderedLock.#ctor(System.Int32)"> + <summary> + Creates a new lock with no name, and the specified default timeout + </summary> + <param name="defaultTimeout">Default timeout, in milliseconds</param> + </member> + <member name="M:MiscUtil.Threading.OrderedLock.#ctor(System.String,System.Int32)"> + <summary> + Creates a new lock with the specified name, and an + infinite default timeout. + </summary> + <param name="name">The name of the new lock</param> + <param name="defaultTimeout"> + Default timeout, in milliseconds. Use Timeout.Infinite + for an infinite timeout, or a non-negative number otherwise. + </param> + </member> + <member name="M:MiscUtil.Threading.OrderedLock.SetInnerLock(MiscUtil.Threading.OrderedLock)"> + <summary> + Sets the "inner" lock for this lock, returning this lock. This + is a convenience method for setting InnerLock as part of a variable + declaration. + </summary> + <example> + OrderedLock inner = new OrderedLock(); + OrderedLock outer = new OrderedLock().SetInnerLock(inner); + </example> + <param name="inner">The inner </param> + <returns>This lock is returned.</returns> + </member> + <member name="M:MiscUtil.Threading.OrderedLock.Lock(System.Int32)"> + <summary> + Locks the monitor, with the specified timeout. This implementation validates + the ordering of locks, and maintains the current owner. + </summary> + <param name="timeout">The timeout, in milliseconds. Must be Timeout.Infinite, + or non-negative.</param> + <returns>A lock token which should be disposed to release the lock</returns> + <exception cref="T:MiscUtil.Threading.LockTimeoutException">The operation times out.</exception> + <exception cref="T:MiscUtil.Threading.LockOrderException"> + The lock order would be violated if this lock were taken out. (i.e. attempting + to acquire the lock could cause deadlock.) + </exception> + </member> + <member name="M:MiscUtil.Threading.OrderedLock.Unlock"> + <summary> + Unlocks the monitor, decreasing the count and setting the owner to null + if the count becomes 0. + </summary> + </member> + <member name="T:MiscUtil.Threading.SyncLock"> + <summary> + Class used for locking, as an alternative to just locking on normal monitors. + Allows for timeouts when locking, and each Lock method returns a token which + must then be disposed of to release the internal monitor (i.e. to unlock). + All properties and methods of this class are thread-safe. + </summary> + </member> + <member name="F:MiscUtil.Threading.SyncLock.staticLock"> + <summary> + Lock for static mutable properties. + </summary> + </member> + <member name="F:MiscUtil.Threading.SyncLock.defaultDefaultTimeout"> + <summary> + The default timeout for new instances of this class + where the default timeout isn't otherwise specified. + Defaults to Timeout.Infinite. + </summary> + </member> + <member name="P:MiscUtil.Threading.SyncLock.DefaultTimeout"> + <summary> + The default timeout for the + </summary> + </member> + <member name="P:MiscUtil.Threading.SyncLock.Name"> + <summary> + The name of this lock. + </summary> + </member> + <member name="P:MiscUtil.Threading.SyncLock.Monitor"> + <summary> + The internal monitor used for locking. While this + is owned by the thread, it can be used for waiting + and pulsing in the usual way. Note that manually entering/exiting + this monitor could result in the lock malfunctioning. + </summary> + </member> + <member name="M:MiscUtil.Threading.SyncLock.#ctor"> + <summary> + Creates a new lock with no name, and the default timeout specified by DefaultDefaultTimeout. + </summary> + </member> + <member name="M:MiscUtil.Threading.SyncLock.#ctor(System.String)"> + <summary> + Creates a new lock with the specified name, and the default timeout specified by + DefaultDefaultTimeout. + </summary> + <param name="name">The name of the new lock</param> + </member> + <member name="M:MiscUtil.Threading.SyncLock.#ctor(System.Int32)"> + <summary> + Creates a new lock with no name, and the specified default timeout + </summary> + <param name="defaultTimeout">Default timeout, in milliseconds</param> + </member> + <member name="M:MiscUtil.Threading.SyncLock.#ctor(System.String,System.Int32)"> + <summary> + Creates a new lock with the specified name, and an + infinite default timeout. + </summary> + <param name="name">The name of the new lock</param> + <param name="defaultTimeout"> + Default timeout, in milliseconds. Use Timeout.Infinite + for an infinite timeout, or a non-negative number otherwise. + </param> + </member> + <member name="M:MiscUtil.Threading.SyncLock.Lock"> + <summary> + Locks the monitor, with the default timeout. + </summary> + <returns>A lock token which should be disposed to release the lock</returns> + <exception cref="T:MiscUtil.Threading.LockTimeoutException">The operation times out.</exception> + </member> + <member name="M:MiscUtil.Threading.SyncLock.Lock(System.TimeSpan)"> + <summary> + Locks the monitor, with the specified timeout. + </summary> + <param name="timeout">The timeout duration. When converted to milliseconds, + must be Timeout.Infinite, or non-negative.</param> + <returns>A lock token which should be disposed to release the lock</returns> + <exception cref="T:MiscUtil.Threading.LockTimeoutException">The operation times out.</exception> + </member> + <member name="M:MiscUtil.Threading.SyncLock.Lock(System.Int32)"> + <summary> + Locks the monitor, with the specified timeout. Derived classes may override + this method to change the behaviour; the other calls to Lock all result in + a call to this method. This implementation checks the validity of the timeout, + calls Monitor.TryEnter (throwing an exception if appropriate) and returns a + new LockToken. + </summary> + <param name="timeout">The timeout, in milliseconds. Must be Timeout.Infinite, + or non-negative.</param> + <returns>A lock token which should be disposed to release the lock</returns> + <exception cref="T:MiscUtil.Threading.LockTimeoutException">The operation times out.</exception> + </member> + <member name="M:MiscUtil.Threading.SyncLock.Unlock"> + <summary> + Unlocks the monitor. This method may be overridden in derived classes + to change the behaviour. This implementation simply calls Monitor.Exit. + </summary> + </member> + <member name="T:MiscUtil.Threading.ThreadController"> + <summary> + Class designed to control a worker thread (co-operatively). + </summary> + </member> + <member name="F:MiscUtil.Threading.ThreadController.stateLock"> + <summary> + Lock used throughout for all state management. + (This is unrelated to the "state" variable.) + </summary> + </member> + <member name="F:MiscUtil.Threading.ThreadController.starter"> + <summary> + The delegate to be invoked when the thread is started. + </summary> + </member> + <member name="F:MiscUtil.Threading.ThreadController.state"> + <summary> + State to pass to the "starter" delegate when the thread is started. + This reference is discarded when the new thread is started, so + it won't prevent garbage collection. + </summary> + </member> + <member name="P:MiscUtil.Threading.ThreadController.Started"> + <summary> + Whether the thread has been started. A thread can only + be started once. + </summary> + </member> + <member name="P:MiscUtil.Threading.ThreadController.Thread"> + <summary> + Thread being controlled. May be null if it hasn't + been created yet. + </summary> + </member> + <member name="P:MiscUtil.Threading.ThreadController.Stopping"> + <summary> + Whether or not the thread is stopping. This may be used + by the thread itself to test whether or not to stop, as + well as by clients checking status. To see whether the + thread has actually finished or not, use the IsAlive + property of the thread itself. + </summary> + </member> + <member name="E:MiscUtil.Threading.ThreadController.Exception"> + <summary> + Event raised if the controlled thread throws an unhandled exception. + The exception is not propagated beyond the controller by default, however + by adding an ExceptionHandler which simply rethrows the exception, + it will propagate. Note that in this case any further ExceptionHandlers + added after the propagating one will not be executed. This event is + raised in the worker thread. + </summary> + </member> + <member name="E:MiscUtil.Threading.ThreadController.Finished"> + <summary> + Event raised when the thread has finished and all exception handlers + have executed (if an exception was raised). Note that this event is + raised even if one of the exception handlers propagates the exception + up to the top level. This event is raised in the worker thread. + </summary> + </member> + <member name="E:MiscUtil.Threading.ThreadController.StopRequested"> + <summary> + Event raised when a stop is requested. Worker threads + may register for this event to allow them to respond to + stop requests in a timely manner. The event is raised + in the thread which calls the Stop method. + </summary> + </member> + <member name="M:MiscUtil.Threading.ThreadController.#ctor(MiscUtil.Threading.ControlledThreadStart,System.Object)"> + <summary> + Creates a new controller. + </summary> + <param name="starter">The delegate to invoke when the thread is started. + Must not be null.</param> + <param name="state">The state to pass to the delegate. May be null.</param> + </member> + <member name="M:MiscUtil.Threading.ThreadController.#ctor(MiscUtil.Threading.ControlledThreadStart)"> + <summary> + Creates a new controller without specifying a state object to + pass when the delegate is invoked. + </summary> + <param name="starter">The delegate to invoke when the thread is started.</param> + </member> + <member name="M:MiscUtil.Threading.ThreadController.CreateThread"> + <summary> + Creates the thread to later be started. This enables + properties of the thread to be manipulated before the thread + is started. + </summary> + <exception cref="T:System.InvalidOperationException">The thread has already been created.</exception> + </member> + <member name="M:MiscUtil.Threading.ThreadController.Start"> + <summary> + Starts the task in a separate thread, creating it if it hasn't already been + created with the CreateThread method. + </summary> + <exception cref="T:System.InvalidOperationException">The thread has already been started.</exception> + </member> + <member name="M:MiscUtil.Threading.ThreadController.Stop"> + <summary> + Tell the thread being controlled by this controller to stop. + This call does not throw an exception if the thread hasn't been + created, or has already been told to stop - it is therefore safe + to call at any time, regardless of other information about the + state of the controller. Depending on the way in which the controlled + thread is running, it may not take notice of the request to stop + for some time. + </summary> + </member> + <member name="M:MiscUtil.Threading.ThreadController.RunTask"> + <summary> + Runs the task specified by starter, catching exceptions and propagating them + to the Exception event. + </summary> + </member> + <member name="T:MiscUtil.Threading.ThreadPoolWorkItem"> + <summary> + Class encapsulating an item of work to be executed in a CustomThreadPool. + </summary> + </member> + <member name="P:MiscUtil.Threading.ThreadPoolWorkItem.Target"> + <summary> + The target delegate for the work item. This is the delegate + which is run when the work item is executed. + </summary> + </member> + <member name="P:MiscUtil.Threading.ThreadPoolWorkItem.Parameters"> + <summary> + The parameters passed to the delegate. This may be null, + and will definitely be null if PreserveParameters is false + and the work item has started executing. The contents of + the returned array should not be changed. + </summary> + </member> + <member name="P:MiscUtil.Threading.ThreadPoolWorkItem.Priority"> + <summary> + The priority of this work item compared with others. Note + that this is entirely independent of the thread priority - it + serves only to specify the order of execution of a work item. + Items with a higher priority are added ahead of items with a lower + priority in the queue. + </summary> + </member> + <member name="P:MiscUtil.Threading.ThreadPoolWorkItem.PreserveParameters"> + <summary> + Whether or not to preserve parameters during and after + execution. If this is true, the parameters are available in + the AfterWorkItem and WorkerException events of the containing + CustomThreadPool. However, this means that the contents cannot + be garbage collected until after the work item has finished + executing, which may be costly in some situations. + </summary> + </member> + <member name="P:MiscUtil.Threading.ThreadPoolWorkItem.ID"> + <summary> + The ID of the work item, which may be null. This is provided + by the caller when the work item is constructed, and is used + for cancellation purposes. + </summary> + </member> + <member name="M:MiscUtil.Threading.ThreadPoolWorkItem.#ctor(System.Object,System.Boolean,System.Boolean,System.Int32,System.Delegate,System.Object[])"> + <summary> + Creates a new instance of this class. + </summary> + <param name="id">The ID of the work item. May be null.</param> + <param name="preserveParameters"> + Whether or not the parameter array should be preserved during the work item's + execution to allow the information to be retrieved in the WorkerException and + AfterWorkItem events. + </param> + <param name="cloneParameters"> + Whether or not the parameter array provided should be cloned. This should be + true if the contents of the passed array will be changed by the caller afterwards, + but false in the common case of creating the array solely for the purpose of + constructing this work item. Note that the values within the array are not cloned + - just the array itself. + </param> + <param name="priority">The priority of this work item.</param> + <param name="target"> + The delegate to run when the work item is executed. Must not be null. + </param> + <param name="parameters"> + The parameters to pass to the target delegate. May be null if the delegate + takes no parameters. + </param> + </member> + <member name="M:MiscUtil.Threading.ThreadPoolWorkItem.#ctor(System.Delegate,System.Object[])"> + <summary> + Creates a new work item with the given target delegate and parameters. + The parameters (if any) are cloned on construction and preserved during + the work item's execution. The ID of the constructed work item is null, + and the priority is 0. + </summary> + <param name="target"> + The delegate to run when the work item is executed. Must not be null. + </param> + <param name="parameters"> + The parameters to pass to the target delegate. May be null if the delegate + takes no parameters. + </param> + </member> + <member name="M:MiscUtil.Threading.ThreadPoolWorkItem.Invoke"> + <summary> + Invokes the work item. + </summary> + </member> + <member name="T:MiscUtil.Xml.Linq.Extensions.ObjectExt"> + <summary> + Extensions to System.Object for LINQ to XML purposes. + </summary> + </member> + <member name="M:MiscUtil.Xml.Linq.Extensions.ObjectExt.AsXElements(System.Object)"> + <summary> + Returns the properties of the given object as XElements. + Properties with null values are still returned, but as empty + elements. Underscores in property names are replaces with hyphens. + </summary> + </member> + <member name="M:MiscUtil.Xml.Linq.Extensions.ObjectExt.AsXAttributes(System.Object)"> + <summary> + Returns the properties of the given object as XElements. + Properties with null values are returned as empty attributes. + Underscores in property names are replaces with hyphens. + </summary> + </member> + </members> +</doc> From 5f82f4cdae3351b9206948c54c02f87d6b01e315 Mon Sep 17 00:00:00 2001 From: Lamer0 <combinerk@gmail.com> Date: Fri, 19 Nov 2021 23:25:06 +0300 Subject: [PATCH 42/68] Add Extension --- Interfaces/IMatrix.cs | 22 ++++++--- MathExtended.csproj | 1 + Matrices/BaseMatrix.cs | 26 ++--------- Matrices/Extensions/MatrixExtensions.cs | 59 +++++++++++++++++++++++++ Matrices/Matrix.cs | 2 +- 5 files changed, 81 insertions(+), 29 deletions(-) create mode 100644 Matrices/Extensions/MatrixExtensions.cs diff --git a/Interfaces/IMatrix.cs b/Interfaces/IMatrix.cs index 6c39aab..ad00015 100644 --- a/Interfaces/IMatrix.cs +++ b/Interfaces/IMatrix.cs @@ -11,29 +11,41 @@ namespace MathExtended.Interfaces /// Определяет основную структуру матрицы /// </summary> /// <typeparam name="T">Числовой тип</typeparam> - public interface IMatrix<T> where T: IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + public interface IMatrix<T> where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { /// <summary> /// Главная диагональ /// </summary> - MainDiagonal<T> MainDiagonal { get;} + MainDiagonal<T> MainDiagonal { get; } /// <summary> /// Метод нахождения диагонали /// </summary> /// <returns>Массив определяющийся главной диагональю матрицы</returns> - T[] FindDiagonal(); + /// <summary> /// Количество строк /// </summary> - int RowsCount { get;} + int RowsCount { get; } /// <summary> /// Количество столбцов /// </summary> int ColumnsCount { get; } - + /// <summary> + /// Индесатор матрицы, получает ячейку в соответсвии с ее адресом в матрице + /// </summary> + /// <param name="row">Индекс строки</param> + /// <param name="column">Индекс столбца</param> + /// <returns><typeparamref name="T"/> число по индексу</returns> + T this[int row, int column] + { + get; + set; + } + + } } diff --git a/MathExtended.csproj b/MathExtended.csproj index c15c988..0e410e4 100644 --- a/MathExtended.csproj +++ b/MathExtended.csproj @@ -194,6 +194,7 @@ </ItemGroup> <ItemGroup> <Compile Include="Exceptions\VectorsDifferentSizeException.cs" /> + <Compile Include="Matrices\Extensions\MatrixExtensions.cs" /> <Compile Include="Matrices\Structures\CellsCollections\BaseCellsCollection.cs" /> <Compile Include="Matrices\BaseMatrix.cs" /> <Compile Include="Matrices\Structures\CellsCollections\BaseReadOnlyCellsCollection.cs" /> diff --git a/Matrices/BaseMatrix.cs b/Matrices/BaseMatrix.cs index a8a350d..ccd8a56 100644 --- a/Matrices/BaseMatrix.cs +++ b/Matrices/BaseMatrix.cs @@ -8,6 +8,8 @@ using MathExtended.Matrices.Structures.Rows; using MathExtended.Matrices.Structures.CellsCollections; using MathExtended.Matrices.Structures.CellsCollection; +using System.Linq; +using MathExtended.Matrices.Extensions; namespace MathExtended.Matrices { @@ -101,7 +103,7 @@ public MainDiagonal<T> MainDiagonal { get { - _mainDiagonal = new MainDiagonal<T>(FindDiagonal()); + _mainDiagonal = this.FindDiagonal(); return _mainDiagonal; } @@ -204,7 +206,6 @@ public Row<T>[] GetRows() /// <param name="index">Индекс строки</param> public void SetRow(Row<T> row, int index) { - for (int column = 0; column < this.ColumnsCount; column++) { this[index, column] = row[column]; @@ -313,27 +314,6 @@ private void ForEach(Action<int, int> action) } - - /// <summary> - /// Находит главную диагональ матрицы - /// </summary> - /// <returns>Массив состоящий из чисел составляющих главную диагональ</returns> - public T[] FindDiagonal() - { - List<T> mainDiagonal = new List<T>(); - - ForEach((row, column) => - { - if (row == column) - { - mainDiagonal.Add(this[row, column]); - } - - }); - - return mainDiagonal.ToArray(); - } - /// <summary> /// Преобразует матрицу в двумерный массив /// </summary> diff --git a/Matrices/Extensions/MatrixExtensions.cs b/Matrices/Extensions/MatrixExtensions.cs new file mode 100644 index 0000000..8f7d49c --- /dev/null +++ b/Matrices/Extensions/MatrixExtensions.cs @@ -0,0 +1,59 @@ +using MathExtended.Interfaces; +using MathExtended.Matrices.Structures.CellsCollections; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MathExtended.Matrices.Extensions +{ + /// <summary> + /// Класс расширений для объектов <see cref="IMatrix{T}"/> + /// </summary> + public static class MatrixExtensions + { + private static void ForEach<T>(this IMatrix<T> matrix, Action<int, int> action) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + { + if (action == null) + { + throw new ArgumentNullException(); + } + else + { + Parallel.For(0, matrix.RowsCount, row => + { + for (dynamic column = 0; column < matrix.ColumnsCount; column++) + { + action(row, column); + } + }); + } + + } + + /// <summary> + /// Находит главную диагональ матрицы + /// </summary> + /// <typeparam name="T">Тип ячеек матрицы</typeparam> + /// <param name="matrix">Матрица</param> + /// <returns>Главна диагональ</returns> + public static MainDiagonal<T> FindDiagonal<T>(this IMatrix<T> matrix) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + { + List<T> mainDiagonal = new List<T>(); + + ForEach(matrix, (row, column) => + { + if (row == column) + { + mainDiagonal.Add(matrix[row, column]); + } + + }); + + return new MainDiagonal<T>(mainDiagonal.ToArray()); + } + + + } +} diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index 3a1868e..cfa678a 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -253,7 +253,7 @@ public int FindRank() /// <param name="matrix">Матрица</param> /// <param name="power">Степень</param> /// <returns></returns> - public static Matrix<T> Pow(Matrix<T> matrix, int power) + public Matrix<T> Pow(Matrix<T> matrix,int power) { if (matrix != null && matrix.ColumnsCount == matrix.RowsCount) From 09050e97612a1993e7f2949e675d85ce2b43f4e6 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" <combinerk@gmail.com> Date: Sat, 27 Nov 2021 18:49:27 +0300 Subject: [PATCH 43/68] --- Interfaces/IMatrix.cs | 15 +++++++++++++-- Matrices/BaseMatrix.cs | 8 ++++---- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/Interfaces/IMatrix.cs b/Interfaces/IMatrix.cs index 6c39aab..a9c0740 100644 --- a/Interfaces/IMatrix.cs +++ b/Interfaces/IMatrix.cs @@ -22,7 +22,7 @@ public interface IMatrix<T> where T: IComparable, IFormattable, IConvertible, IC /// Метод нахождения диагонали /// </summary> /// <returns>Массив определяющийся главной диагональю матрицы</returns> - T[] FindDiagonal(); + MainDiagonal<T> FindDiagonal(); /// <summary> /// Количество строк @@ -34,6 +34,17 @@ public interface IMatrix<T> where T: IComparable, IFormattable, IConvertible, IC /// </summary> int ColumnsCount { get; } - + /// <summary> + /// Индексатор для доступа к ячейка матрицы + /// </summary> + /// <param name="row">Номер строки</param> + /// <param name="column">Номер столбца</param> + /// <returns>Содержимое ячейки по индексу</returns> + T this[int row, int column] + { + get; + set; + } + } } diff --git a/Matrices/BaseMatrix.cs b/Matrices/BaseMatrix.cs index a8a350d..9058d4f 100644 --- a/Matrices/BaseMatrix.cs +++ b/Matrices/BaseMatrix.cs @@ -101,7 +101,7 @@ public MainDiagonal<T> MainDiagonal { get { - _mainDiagonal = new MainDiagonal<T>(FindDiagonal()); + _mainDiagonal = FindDiagonal(); return _mainDiagonal; } @@ -318,7 +318,7 @@ private void ForEach(Action<int, int> action) /// Находит главную диагональ матрицы /// </summary> /// <returns>Массив состоящий из чисел составляющих главную диагональ</returns> - public T[] FindDiagonal() + public MainDiagonal<T> FindDiagonal(this IMatrix<T> matrix) { List<T> mainDiagonal = new List<T>(); @@ -326,12 +326,12 @@ public T[] FindDiagonal() { if (row == column) { - mainDiagonal.Add(this[row, column]); + mainDiagonal.Add(matrix[row, column]); } }); - return mainDiagonal.ToArray(); + return new MainDiagonal<T>(mainDiagonal.ToArray()); } /// <summary> From 3cf580be7c65757bc83fad97a4316ec37c7b0d26 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" <combinerk@gmail.com> Date: Sat, 27 Nov 2021 19:18:59 +0300 Subject: [PATCH 44/68] --- Matrices/BaseMatrix.cs | 24 +++++++++++++++++------- Matrices/Structures/Rows/ReadOnlyRow.cs | 3 ++- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/Matrices/BaseMatrix.cs b/Matrices/BaseMatrix.cs index ccd8a56..386e5f0 100644 --- a/Matrices/BaseMatrix.cs +++ b/Matrices/BaseMatrix.cs @@ -157,6 +157,7 @@ public virtual BaseCellsCollection<T>[] this[VectorSelector selector] } + /// <summary> /// Возвращает строку матрицы соответсвующую индексу /// </summary> @@ -177,7 +178,7 @@ public Row<T> GetRow(int rowIndex) } else { - throw new IndexOutOfRangeException($"Index {rowIndex} out of the bounds matrix"); + throw new IndexOutOfRangeException(); } @@ -206,10 +207,17 @@ public Row<T>[] GetRows() /// <param name="index">Индекс строки</param> public void SetRow(Row<T> row, int index) { - for (int column = 0; column < this.ColumnsCount; column++) - { - this[index, column] = row[column]; - } + if (index <= row.Size) + { + for (int column = 0; column < this.ColumnsCount; column++) + { + this[index, column] = row[column]; + } + } + else + { + throw new IndexOutOfRangeException(); + } } @@ -281,6 +289,8 @@ public void SetColumn(int columnIndex,Column<T> column) } } } + + /// <summary> /// Задает столбцы матрицы /// </summary> @@ -318,9 +328,9 @@ private void ForEach(Action<int, int> action) /// Преобразует матрицу в двумерный массив /// </summary> /// <returns>Двумерный массив</returns> - public virtual T[,] ToArray() + public static explicit operator T[,](BaseMatrix<T> matrix) { - return matrix; + return matrix.matrix; } #region IEnumerable diff --git a/Matrices/Structures/Rows/ReadOnlyRow.cs b/Matrices/Structures/Rows/ReadOnlyRow.cs index a836a0e..313a443 100644 --- a/Matrices/Structures/Rows/ReadOnlyRow.cs +++ b/Matrices/Structures/Rows/ReadOnlyRow.cs @@ -13,6 +13,7 @@ namespace MathExtended.Matrices.Structures.Rows /// <typeparam name="T">Числовой тип</typeparam> public class ReadOnlyRow<T> : BaseReadOnlyCellsCollection<T> where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { + /// <summary> /// Создает строку только для чтения определенного размера /// </summary> @@ -28,7 +29,7 @@ public ReadOnlyRow(int size) : base(size) /// <param name="array">Массив</param> public ReadOnlyRow(T[] array) : base(array) { - + } /// <summary> From f458de6f59f9aaaf24ddf6e08141a52c12b8d899 Mon Sep 17 00:00:00 2001 From: Lamer0 <combinerk@gmail.com> Date: Sun, 19 Dec 2021 01:19:12 +0300 Subject: [PATCH 45/68] --- Matrices/BaseMatrix.cs | 2 +- Matrices/Matrix.cs | 4 +- .../CellsCollections/BaseCellsCollection.cs | 13 +- .../BaseReadOnlyCellsCollection.cs | 154 +----------------- Matrices/Structures/Columns/Column.cs | 1 + Matrices/Structures/Rows/ReadOnlyRow.cs | 2 + Matrices/Structures/Rows/Row.cs | 3 +- 7 files changed, 21 insertions(+), 158 deletions(-) diff --git a/Matrices/BaseMatrix.cs b/Matrices/BaseMatrix.cs index ccd8a56..98df96a 100644 --- a/Matrices/BaseMatrix.cs +++ b/Matrices/BaseMatrix.cs @@ -60,7 +60,7 @@ public BaseMatrix(int rows,int columns) _rows = GetRows(); _columns = GetColumns(); - + } /// <summary> diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index cfa678a..b6a2c0d 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -458,8 +458,6 @@ public Matrix<T> FillRandom(T min,T max) }); }); - - return filledMatrix; } @@ -474,7 +472,7 @@ public Matrix<T> FillInOrder() dynamic counter = 1; ForEach((row,column) => filledMatrix[row, column] = counter++); - + return filledMatrix; } diff --git a/Matrices/Structures/CellsCollections/BaseCellsCollection.cs b/Matrices/Structures/CellsCollections/BaseCellsCollection.cs index ac82f39..336f8cf 100644 --- a/Matrices/Structures/CellsCollections/BaseCellsCollection.cs +++ b/Matrices/Structures/CellsCollections/BaseCellsCollection.cs @@ -40,9 +40,14 @@ public virtual T this[int index] /// <summary> /// Массив ячеек /// </summary> - protected T[] Cells + protected virtual T[] Cells { get => _cells; + + set + { + _cells = value; + } } @@ -89,20 +94,20 @@ public virtual void ForEach(Action<T> action) /// Находит максимальное число среди ячеек /// </summary> /// <returns>Максимальное значение в последовательности ячеек</returns> - public T Max() => _cells.Max(); + public virtual T Max() => _cells.Max(); /// <summary> /// Находит минимальное число среди ячеек /// </summary> /// <returns> Минимальное значение в последовательности ячеек</returns> - public T Min() => _cells.Min(); + public virtual T Min() => _cells.Min(); /// <summary> /// Проверяет нулевая ли коллекция /// </summary> /// <returns> <see langword="true"/> - если все ячейки равны нулю, <see langword="false"/> - если хоть одна ячейка не равна нулю </returns> - public bool IsZero() + public virtual bool IsZero() { return _cells.All((cell) => cell == (dynamic)0); } diff --git a/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs b/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs index abee050..2e3c6fe 100644 --- a/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs +++ b/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs @@ -12,170 +12,26 @@ namespace MathExtended.Matrices.Structures.CellsCollection /// Описывает коллекцию ячеек только для чтения /// </summary> /// <typeparam name="T">Числовой тип</typeparam> - public abstract class BaseReadOnlyCellsCollection<T> : IEnumerator<T> where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + public abstract class BaseReadOnlyCellsCollection<T> : BaseCellsCollection<T>,IEnumerator<T> where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { - private T[] _cells; - private bool disposedValue; - private int _position; - - /// <summary> - /// Индексатор.По индексу возвращает значение ячейки - /// </summary> - /// <param name="index">Индекс элемента</param> - /// <returns>Элемент по индексу</returns> - public T this[int index] { get => _cells[index];} /// <summary> /// Создает коллекцию ячеек только для чтения с указанным размером /// </summary> /// <param name="size">Размер коллеции</param> - public BaseReadOnlyCellsCollection(int size) + public BaseReadOnlyCellsCollection(int size):base(size) { - _cells = new T[size]; + Cells = new T[size]; } /// <summary> /// Создает коллецию только для чтения на основе массива /// </summary> /// <param name="array">Массив</param> - public BaseReadOnlyCellsCollection(T[] array) - { - _cells = array; - } - - /// <summary> - /// Применяет действие ко всем элементам - /// </summary> - /// <param name="action">Действие</param> - public virtual void ForEach(Action<T> action) - { - foreach (T cell in _cells) - { - action(cell); - } - } - - /// <summary> - /// Находит максимальное число среди ячеек - /// </summary> - /// <returns>Максимальное значение в последовательности ячеек</returns> - public virtual T Max() => _cells.Max(); - - - /// <summary> - /// Находит минимальное число среди ячеек - /// </summary> - /// <returns> Минимальное значение в последовательности ячеек</returns> - public virtual T Min() => _cells.Min(); - - /// <summary> - /// Проверяет нулевая ли коллекция - /// </summary> - /// <returns> <see langword="true"/> - если все ячейки равны нулю, <see langword="false"/> - если хоть одна ячейка не равна нулю </returns> - public bool IsZero() - { - return _cells.All((cell) => cell == (dynamic)0); - } - - #region IEnumerable - /// <summary> - /// Текуший элемент - /// </summary> - public T Current - { - get - { - return _cells[_position]; - } - } - - object IEnumerator.Current => Current; - - /// <summary> - /// Размер коллекции - /// </summary> - public int Size - { - get => _cells.Length; - } - - /// <summary> - /// Перечислитель - /// </summary> - /// <returns>Перечислитель матрицы</returns> - public IEnumerator<T> GetEnumerator() - { - foreach (var i in _cells) - { - - yield return i; - } - } - - /// <summary> - /// Перемещает индексатор на одну позицию вперед - /// </summary> - /// <returns>true или false в зависимости ли можно переместить индексатор</returns> - public bool MoveNext() - { - - if (_position < this.Size - 1) - { - return true; - } - else - { - return false; - } - - - - } - - /// <summary> - /// Перемещает индексатор в начало матрицы - /// </summary> - public void Reset() - { - _position = -1; - } - - /// <summary> - /// Высвобождает использованные ресурсы - /// </summary> - /// <param name="disposing"></param> - protected virtual void Dispose(bool disposing) - { - if (!disposedValue) - { - if (disposing) - { - _cells = null; - } - - // TODO: освободить неуправляемые ресурсы (неуправляемые объекты) и переопределить метод завершения - // TODO: установить значение NULL для больших полей - disposedValue = true; - } - } - - // // TODO: переопределить метод завершения, только если "Dispose(bool disposing)" содержит код для освобождения неуправляемых ресурсов - // ~Matrix() - // { - // // Не изменяйте этот код. Разместите код очистки в методе "Dispose(bool disposing)". - // Dispose(disposing: false); - // } - - /// <summary> - /// Освобождает использованные ресурсы - /// </summary> - public void Dispose() + public BaseReadOnlyCellsCollection(T[] array):base(array) { - // Не изменяйте этот код. Разместите код очистки в методе "Dispose(bool disposing)". - Dispose(disposing: true); - GC.SuppressFinalize(this); + Cells = array; } - #endregion } } diff --git a/Matrices/Structures/Columns/Column.cs b/Matrices/Structures/Columns/Column.cs index 3ba74f6..6353e2b 100644 --- a/Matrices/Structures/Columns/Column.cs +++ b/Matrices/Structures/Columns/Column.cs @@ -16,6 +16,7 @@ namespace MathExtended.Matrices.Structures.Columns /// <typeparam name="T">Тип содержимого строки</typeparam> public class Column<T> : BaseCellsCollection<T> where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { + private BaseCellsCollection<T> ColumnCells; /// <summary> /// Создает столбец с указанными размерами /// </summary> diff --git a/Matrices/Structures/Rows/ReadOnlyRow.cs b/Matrices/Structures/Rows/ReadOnlyRow.cs index a836a0e..35fd20a 100644 --- a/Matrices/Structures/Rows/ReadOnlyRow.cs +++ b/Matrices/Structures/Rows/ReadOnlyRow.cs @@ -13,6 +13,8 @@ namespace MathExtended.Matrices.Structures.Rows /// <typeparam name="T">Числовой тип</typeparam> public class ReadOnlyRow<T> : BaseReadOnlyCellsCollection<T> where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { + private BaseCellsCollection<T> RowCells; + /// <summary> /// Создает строку только для чтения определенного размера /// </summary> diff --git a/Matrices/Structures/Rows/Row.cs b/Matrices/Structures/Rows/Row.cs index 85d4805..69ef70b 100644 --- a/Matrices/Structures/Rows/Row.cs +++ b/Matrices/Structures/Rows/Row.cs @@ -17,7 +17,8 @@ namespace MathExtended.Matrices.Structures.Rows /// <typeparam name="T">Тип содержимого строки</typeparam> public class Row<T> : BaseCellsCollection<T> where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { - + private BaseCellsCollection<T> RowCells; + /// <summary> /// Создает строку с указанным размером /// </summary> From d3fff53b9ff74673b671f822744438bc7e98f334 Mon Sep 17 00:00:00 2001 From: Lamer0 <combinerk@gmail.com> Date: Sun, 19 Dec 2021 01:40:55 +0300 Subject: [PATCH 46/68] --- Matrices/BaseMatrix.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Matrices/BaseMatrix.cs b/Matrices/BaseMatrix.cs index 61fdb76..0f69e1b 100644 --- a/Matrices/BaseMatrix.cs +++ b/Matrices/BaseMatrix.cs @@ -1,5 +1,4 @@ -using MathExtended.Interfaces; -using System; +using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; @@ -10,6 +9,7 @@ using MathExtended.Matrices.Structures.CellsCollection; using System.Linq; using MathExtended.Matrices.Extensions; +using MathExtended.Interfaces; namespace MathExtended.Matrices { From 80b4ed559eac9c27c666160920a93b56b67730f2 Mon Sep 17 00:00:00 2001 From: Lamer0 <combinerk@gmail.com> Date: Sun, 19 Dec 2021 01:43:53 +0300 Subject: [PATCH 47/68] --- Interfaces/IMatrix.cs | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Interfaces/IMatrix.cs b/Interfaces/IMatrix.cs index ad00015..f7ec0a7 100644 --- a/Interfaces/IMatrix.cs +++ b/Interfaces/IMatrix.cs @@ -18,12 +18,6 @@ public interface IMatrix<T> where T : IComparable, IFormattable, IConvertible, I /// </summary> MainDiagonal<T> MainDiagonal { get; } - /// <summary> - /// Метод нахождения диагонали - /// </summary> - /// <returns>Массив определяющийся главной диагональю матрицы</returns> - - /// <summary> /// Количество строк /// </summary> From 97450bd3be26db5d9965aaba7a01505078eb0a20 Mon Sep 17 00:00:00 2001 From: Lamer0 <combinerk@gmail.com> Date: Sun, 2 Jan 2022 22:04:42 +0300 Subject: [PATCH 48/68] --- MathExtended.sln | 6 +++ MathExtendent.cs | 4 +- Matrices/BaseMatrix.cs | 10 ++--- Matrices/Extensions/MatrixExtensions.cs | 19 +++++++++ Matrices/Matrix.cs | 52 +++++++++++++------------ 5 files changed, 57 insertions(+), 34 deletions(-) diff --git a/MathExtended.sln b/MathExtended.sln index 256ae81..8294924 100644 --- a/MathExtended.sln +++ b/MathExtended.sln @@ -5,6 +5,8 @@ VisualStudioVersion = 16.0.30907.101 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MathExtended", "MathExtended.csproj", "{CCDF7FC9-1928-43E4-9DF2-874E5A2538E3}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MathExtendedTests", "..\MathExtendedTests\MathExtendedTests.csproj", "{75D16A9A-3F47-43EC-9B20-C10862EA9E75}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -15,6 +17,10 @@ Global {CCDF7FC9-1928-43E4-9DF2-874E5A2538E3}.Debug|Any CPU.Build.0 = Debug|Any CPU {CCDF7FC9-1928-43E4-9DF2-874E5A2538E3}.Release|Any CPU.ActiveCfg = Release|Any CPU {CCDF7FC9-1928-43E4-9DF2-874E5A2538E3}.Release|Any CPU.Build.0 = Release|Any CPU + {75D16A9A-3F47-43EC-9B20-C10862EA9E75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {75D16A9A-3F47-43EC-9B20-C10862EA9E75}.Debug|Any CPU.Build.0 = Debug|Any CPU + {75D16A9A-3F47-43EC-9B20-C10862EA9E75}.Release|Any CPU.ActiveCfg = Release|Any CPU + {75D16A9A-3F47-43EC-9B20-C10862EA9E75}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/MathExtendent.cs b/MathExtendent.cs index 7203075..dfa9b6a 100644 --- a/MathExtendent.cs +++ b/MathExtendent.cs @@ -116,7 +116,7 @@ public static TabulateResult TabulateFunction(double x0, double xk, double dx, F List<double> yValues = new List<double>(); - for(;x0 < xk;x0 += dx) + for(;x0 <= xk;x0 += dx) { xValues.Add(x0); yValues.Add(func(x0)); @@ -140,7 +140,7 @@ public static void TabulateFunction(double x0, double xk, double dx, Func<double List<double> yValues = new List<double>(); - for (; x0 < xk; x0 += dx) + for (; x0 <= xk; x0 += dx) { xValues.Add(x0); yValues.Add(func(x0)); diff --git a/Matrices/BaseMatrix.cs b/Matrices/BaseMatrix.cs index 0f69e1b..5dbf029 100644 --- a/Matrices/BaseMatrix.cs +++ b/Matrices/BaseMatrix.cs @@ -57,10 +57,6 @@ public BaseMatrix(int rows,int columns) matrix = new T[rows,columns]; - _rows = GetRows(); - - _columns = GetColumns(); - } /// <summary> @@ -247,9 +243,9 @@ public Column<T> GetColumn(int columnIndex) { var fullColumn = new List<T>(); - for (int row = 0; row < RowsCount; row++) + for (int column = 0; column < ColumnsCount; column++) { - fullColumn.Add(this[row, columnIndex]); + fullColumn.Add(this[column, columnIndex]); } return fullColumn.ToArray(); @@ -269,7 +265,7 @@ public Column<T>[] GetColumns() { Column<T>[] columns = new Column<T>[ColumnsCount]; - ForEach((row, column) => columns[row] = GetColumn(column)); + ForEach((row, column) => columns[column] = GetColumn(column)); return columns; } diff --git a/Matrices/Extensions/MatrixExtensions.cs b/Matrices/Extensions/MatrixExtensions.cs index 8f7d49c..aeeec94 100644 --- a/Matrices/Extensions/MatrixExtensions.cs +++ b/Matrices/Extensions/MatrixExtensions.cs @@ -54,6 +54,25 @@ public static MainDiagonal<T> FindDiagonal<T>(this IMatrix<T> matrix) where T : return new MainDiagonal<T>(mainDiagonal.ToArray()); } + public static IMatrix<T> GetSubMatrix<T>(this Matrix<T> matrix,int downRowBound, int downColumnBound, int upperRowBound, int upperColumnBound) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + { + Matrix<T> subMatrix = new Matrix<T> + (upperRowBound+downColumnBound,upperColumnBound+downRowBound); + + for (int row = downRowBound; row < upperRowBound; row++) + { + for (int column = downColumnBound; column < upperColumnBound; column++) + { + subMatrix[row, column] = matrix[row, column]; + } + } + + + + return subMatrix; + + } + } } diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index b6a2c0d..3a428f5 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -92,9 +92,9 @@ public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1, array.GetUpperBound var matrixC = new Matrix<T>(matrixA.RowsCount, matrixB.ColumnsCount); - Parallel.For(0, matrixA.RowsCount, row => + Parallel.For(0, matrixA.RowsCount - 1, row => { - Parallel.For(0, matrixB.ColumnsCount, colunm => + Parallel.For(0, matrixB.ColumnsCount - 1, colunm => { matrixC[row, colunm] = (T)(dynamic)matrixA[row, colunm] + (dynamic)matrixB[row, colunm]; }); @@ -119,10 +119,10 @@ public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1, array.GetUpperBound { var matrixC = new Matrix<T>(matrixA.RowsCount, matrixB.ColumnsCount); - Parallel.For(0, matrixA.RowsCount, i => + Parallel.For(0, matrixA.RowsCount - 1, i => { - Parallel.For(0, matrixB.ColumnsCount, j => + Parallel.For(0, matrixB.ColumnsCount - 1, j => { matrixC[i, j] = (T)Operator.Subtract(matrixA[i, j], matrixB[i, j]); }); @@ -148,9 +148,9 @@ public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1, array.GetUpperBound { var matrixB = new Matrix<T>(matrixA.RowsCount, matrixA.ColumnsCount); - Parallel.For(0, matrixA.RowsCount, row => + Parallel.For(0, matrixA.RowsCount - 1, row => { - Parallel.For(0, matrixA.ColumnsCount, column => + Parallel.For(0, matrixA.ColumnsCount - 1, column => { matrixB[row, column] = (T)Operator.Multiply(matrixA[row, column], multiplier); }); @@ -183,11 +183,11 @@ public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1, array.GetUpperBound { var matrixC = new Matrix<T>(matrixA.RowsCount, matrixB.ColumnsCount); - Parallel.For(0, matrixA.RowsCount, row => + Parallel.For(0, matrixA.RowsCount - 1, row => { - Parallel.For(0, matrixB.ColumnsCount, column => + Parallel.For(0, matrixB.ColumnsCount - 1, column => { - for (int k = 0; k < matrixB.RowsCount; k++)// A B или C ? + for (int k = 0; k < matrixB.RowsCount - 1; k++)// A B или C ? { matrixC[row, column] = (T)Operator.Add(matrixC[row, column], Operator.Multiply(matrixA[row, k], matrixB[k, column])); } @@ -253,7 +253,7 @@ public int FindRank() /// <param name="matrix">Матрица</param> /// <param name="power">Степень</param> /// <returns></returns> - public Matrix<T> Pow(Matrix<T> matrix,int power) + public static Matrix<T> Pow(Matrix<T> matrix,int power) { if (matrix != null && matrix.ColumnsCount == matrix.RowsCount) @@ -281,9 +281,9 @@ public Matrix<T> Transponate() { var transposedMatrix = new Matrix<T>(this.ColumnsCount, this.RowsCount); - Parallel.For(0, this.ColumnsCount, row => + Parallel.For(0, this.ColumnsCount - 1, row => { - Parallel.For(0, this.RowsCount, column => + Parallel.For(0, this.RowsCount - 1, column => { transposedMatrix[row, column] = this[column, row]; }); @@ -335,7 +335,7 @@ public Matrix<T> ToSteppedView() /// <param name="column">Количество вычеркнутых столбцов</param> /// <returns></returns> [MethodImpl(MethodImplOptions.AggressiveInlining)] - private Matrix<T> CreateMatrixWithoutColumn(int column) + public Matrix<T> CreateMatrixWithoutColumn(int column) { if (column < 0 || column >= this.ColumnsCount) { @@ -354,7 +354,7 @@ private Matrix<T> CreateMatrixWithoutColumn(int column) /// <param name="row">Количество вычеркнутых строк</param> /// <returns></returns> [MethodImpl(MethodImplOptions.AggressiveInlining)] - private Matrix<T> CreateMatrixWithoutRow(int row) + public Matrix<T> CreateMatrixWithoutRow(int row) { if (row < 0 || row >= this.RowsCount) { @@ -425,9 +425,9 @@ public Matrix<T> FillRandom() ExtendentRandom random = new ExtendentRandom(); - Parallel.For(0, this.RowsCount, row => + Parallel.For(0, this.RowsCount - 1, row => { - Parallel.For(0, this.ColumnsCount, column => + Parallel.For(0, this.ColumnsCount - 1, column => { filledMatrix[row, column] = random.Next<T>(); }); @@ -448,16 +448,18 @@ public Matrix<T> FillRandom(T min,T max) ExtendentRandom random = new ExtendentRandom(); - Parallel.For(0, this.RowsCount, row => - { - Parallel.For(0, this.ColumnsCount, column => + + Parallel.For(0, this.RowsCount - 1, row => { + Parallel.For(0, this.ColumnsCount - 1, column => + { //Позволяет сохранить инвариантность этого метода filledMatrix[row, column] = random.Next<T>(min, max); //(T)(dynamic)random.NextDecimal((decimal)(dynamic)min, (decimal)(dynamic)max); + }); }); - }); - + + return filledMatrix; } @@ -489,9 +491,9 @@ private void ForEach(Action<int, int> action) else { - for(int row = 0;row < this.RowsCount; row++) + for(int row = 0;row < this.RowsCount - 1; row++) { - for (int column = 0; column < this.ColumnsCount; column++) + for (int column = 0; column < this.ColumnsCount - 1; column++) { action(row, column); } @@ -520,9 +522,9 @@ public override string ToString() { string outString = String.Empty; - for(int row = 0;row < this.RowsCount; row++) + for(int row = 0;row < this.RowsCount - 1; row++) { - for(int column = 0;column < this.ColumnsCount; column++) + for(int column = 0;column < this.ColumnsCount - 1; column++) { outString += matrix[row, column].ToString().PadLeft(8) + " "; From f32675e8cc43c63f4ff6c184fb950f3bf1c210cd Mon Sep 17 00:00:00 2001 From: Lamer0 <combinerk@gmail.com> Date: Sun, 2 Jan 2022 23:30:42 +0300 Subject: [PATCH 49/68] --- ...tion.cs => MatrixInvalidSizesException.cs} | 4 +- MathExtended.csproj | 2 +- Matrices/BaseMatrix.cs | 56 +++++++++++-------- 3 files changed, 36 insertions(+), 26 deletions(-) rename Exceptions/{MatrixZeroSizeException.cs => MatrixInvalidSizesException.cs} (73%) diff --git a/Exceptions/MatrixZeroSizeException.cs b/Exceptions/MatrixInvalidSizesException.cs similarity index 73% rename from Exceptions/MatrixZeroSizeException.cs rename to Exceptions/MatrixInvalidSizesException.cs index fb0544b..28f2b26 100644 --- a/Exceptions/MatrixZeroSizeException.cs +++ b/Exceptions/MatrixInvalidSizesException.cs @@ -6,9 +6,9 @@ namespace MathExtended.Exceptions /// Возникает при попытке создать матрицу /// с нулевыми размерами /// </summary> - public class MatrixZeroSizeException : Exception + public class MatrixInvalidSizesException : Exception { - private string _message = "Matrices can not be zero size."; + private string _message = "Matrices can not be zero or less zero size."; /// <summary> /// Сообщение исключения diff --git a/MathExtended.csproj b/MathExtended.csproj index 0e410e4..1ef3b75 100644 --- a/MathExtended.csproj +++ b/MathExtended.csproj @@ -204,7 +204,7 @@ <Compile Include="Exceptions\ColumnsOfDifferentSizesException.cs" /> <Compile Include="Exceptions\ColumnZeroSizeException.cs" /> <Compile Include="Exceptions\MatrixDifferentSizeException.cs" /> - <Compile Include="Exceptions\MatrixZeroSizeException.cs" /> + <Compile Include="Exceptions\MatrixInvalidSizesException.cs" /> <Compile Include="Exceptions\RowsOfDifferentSizesException.cs" /> <Compile Include="Exceptions\RowZeroSizeException.cs" /> <Compile Include="Exceptions\TheNumberOfRowsAndColumnsIsDifferentException.cs" /> diff --git a/Matrices/BaseMatrix.cs b/Matrices/BaseMatrix.cs index 5dbf029..49c3b76 100644 --- a/Matrices/BaseMatrix.cs +++ b/Matrices/BaseMatrix.cs @@ -10,6 +10,7 @@ using System.Linq; using MathExtended.Matrices.Extensions; using MathExtended.Interfaces; +using MathExtended.Exceptions; namespace MathExtended.Matrices { @@ -51,12 +52,22 @@ public abstract class BaseMatrix<T> : IEnumerator<T>, IMatrix<T> where T: ICompa /// <param name="columns">Количество столбцов</param> public BaseMatrix(int rows,int columns) { - _rowsCount = rows; + if (!(rows <= 0) || !(columns <= 0)) + { + _rowsCount = rows; + + _columnsCount = columns; - _columnsCount = columns; + matrix = new T[rows, columns]; - matrix = new T[rows,columns]; + _rows = GetRows(); + _columns = GetColumns(); + } + else + { + throw new MatrixInvalidSizesException(); + } } /// <summary> @@ -163,12 +174,10 @@ public Row<T> GetRow(int rowIndex) { if (rowIndex < RowsCount) { - var fullRow = new Row<T>(RowsCount); + var fullRow = new Row<T>(RowsCount - 1); - for (int row = 0; row < ColumnsCount; row++) - { - fullRow[row] = this[rowIndex, row]; - } + ForEach((row,column) => fullRow[row] = this[rowIndex, column]); + return fullRow; } @@ -186,9 +195,9 @@ public Row<T> GetRow(int rowIndex) /// <returns>Массив из <see cref="Row{T}"/></returns> public Row<T>[] GetRows() { - Row<T>[] rows = new Row<T>[RowsCount]; + Row<T>[] rows = new Row<T>[RowsCount - 1]; - for (int row = 0; row < RowsCount; row++) + for (int row = 0; row < RowsCount - 1; row++) { rows[row] = GetRow(row); } @@ -205,10 +214,9 @@ public void SetRow(Row<T> row, int index) { if (index <= row.Size) { - for (int column = 0; column < this.ColumnsCount; column++) - { - this[index, column] = row[column]; - } + + ForEach((r,c) => this[index, c] = row[c]); + } else { @@ -243,7 +251,7 @@ public Column<T> GetColumn(int columnIndex) { var fullColumn = new List<T>(); - for (int column = 0; column < ColumnsCount; column++) + for (int column = 0; column < RowsCount - 1; column++) { fullColumn.Add(this[column, columnIndex]); } @@ -263,7 +271,7 @@ public Column<T> GetColumn(int columnIndex) /// <returns>Массив <see cref="Column{T}"/></returns> public Column<T>[] GetColumns() { - Column<T>[] columns = new Column<T>[ColumnsCount]; + Column<T>[] columns = new Column<T>[ColumnsCount - 1]; ForEach((row, column) => columns[column] = GetColumn(column)); @@ -277,12 +285,14 @@ public Column<T>[] GetColumns() /// <param name="column">Стобец</param> public void SetColumn(int columnIndex,Column<T> column) { - if (columnIndex <= this.RowsCount) + if (columnIndex <= this.RowsCount - 1) { - for (int row = 0; row < this.ColumnsCount; row++) - { - this[row, columnIndex] = column[row]; - } + ForEach((r,c) => this[r, columnIndex] = column[r]); + + } + else + { + throw new IndexOutOfRangeException(); } } @@ -309,9 +319,9 @@ private void ForEach(Action<int, int> action) } else { - Parallel.For(0, this.RowsCount, row => + Parallel.For(0, this.RowsCount - 1, row => { - for (dynamic column = 0; column < this.ColumnsCount; column++) + for (dynamic column = 0; column < this.ColumnsCount - 1; column++) { action(row, column); } From 3866a2f21b29a70ddd94751b7b749882b3d1d14b Mon Sep 17 00:00:00 2001 From: Lamer0 <combinerk@gmail.com> Date: Mon, 3 Jan 2022 00:09:45 +0300 Subject: [PATCH 50/68] --- MathExtended.1.0.0.1.nupkg | Bin 0 -> 26182 bytes MathExtended.1.0.0.nupkg | Bin 25862 -> 0 bytes MathExtended.nuspec | 5 ++--- Matrices/Extensions/MatrixExtensions.cs | 11 ++++++++++- Properties/AssemblyInfo.cs | 6 +++--- 5 files changed, 15 insertions(+), 7 deletions(-) create mode 100644 MathExtended.1.0.0.1.nupkg delete mode 100644 MathExtended.1.0.0.nupkg diff --git a/MathExtended.1.0.0.1.nupkg b/MathExtended.1.0.0.1.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..09e5fe3434c72fb2939e78eee4dc4d74c8e24adb GIT binary patch literal 26182 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 D99yyy literal 0 HcmV?d00001 diff --git a/MathExtended.1.0.0.nupkg b/MathExtended.1.0.0.nupkg deleted file mode 100644 index 1cb6ee25a596dcd4ef2697a2f024bfda5a996134..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25862 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 GPyYpCaR<== diff --git a/MathExtended.nuspec b/MathExtended.nuspec index a451454..f5aa513 100644 --- a/MathExtended.nuspec +++ b/MathExtended.nuspec @@ -2,14 +2,13 @@ <package > <metadata> <id>$id$</id> - <version>1.0.0.0</version> + <version>1.0.0.1</version> <title>MathExtendent</title> <authors>Lamer0</authors> - <langluage>C#</langluage> + <language>C#</language> <requireLicenseAcceptance>false</requireLicenseAcceptance> <license type="expression">MIT</license> <projectUrl>https://github.com/Lamer0/ExtendentMath</projectUrl> - <PackageIcon>https://avatars.githubusercontent.com/u/49834917?v=4</PackageIcon> <summary>MathExtended</summary> <description>A math library that will include work with matrices, some trigonometric functions of which are not in Math</description> <releaseNotes></releaseNotes> diff --git a/Matrices/Extensions/MatrixExtensions.cs b/Matrices/Extensions/MatrixExtensions.cs index aeeec94..6fadbbd 100644 --- a/Matrices/Extensions/MatrixExtensions.cs +++ b/Matrices/Extensions/MatrixExtensions.cs @@ -53,7 +53,16 @@ public static MainDiagonal<T> FindDiagonal<T>(this IMatrix<T> matrix) where T : return new MainDiagonal<T>(mainDiagonal.ToArray()); } - + /// <summary> + /// В разработке + /// </summary> + /// <typeparam name="T"></typeparam> + /// <param name="matrix"></param> + /// <param name="downRowBound"></param> + /// <param name="downColumnBound"></param> + /// <param name="upperRowBound"></param> + /// <param name="upperColumnBound"></param> + /// <returns></returns> public static IMatrix<T> GetSubMatrix<T>(this Matrix<T> matrix,int downRowBound, int downColumnBound, int upperRowBound, int upperColumnBound) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { Matrix<T> subMatrix = new Matrix<T> diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs index e5bcde4..9fbd2fb 100644 --- a/Properties/AssemblyInfo.cs +++ b/Properties/AssemblyInfo.cs @@ -11,7 +11,7 @@ [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Lamer0")] [assembly: AssemblyProduct("MathExtended")] -[assembly: AssemblyCopyright("Copyright © 2021")] +[assembly: AssemblyCopyright("Copyright © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -33,6 +33,6 @@ // Можно задать все значения или принять номера сборки и редакции по умолчанию // используя "*", как показано ниже: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("1.0.0.1")] +[assembly: AssemblyFileVersion("1.0.0.1")] [assembly: NeutralResourcesLanguage("")] From 1b1779e1d5687fefef0f411623e66ca112062cf0 Mon Sep 17 00:00:00 2001 From: Lamer0 <combinerk@gmail.com> Date: Thu, 6 Jan 2022 02:24:22 +0300 Subject: [PATCH 51/68] --- Matrices/Extensions/MatrixExtensions.cs | 29 +------------------------ 1 file changed, 1 insertion(+), 28 deletions(-) diff --git a/Matrices/Extensions/MatrixExtensions.cs b/Matrices/Extensions/MatrixExtensions.cs index 6fadbbd..d3c2a1d 100644 --- a/Matrices/Extensions/MatrixExtensions.cs +++ b/Matrices/Extensions/MatrixExtensions.cs @@ -53,34 +53,7 @@ public static MainDiagonal<T> FindDiagonal<T>(this IMatrix<T> matrix) where T : return new MainDiagonal<T>(mainDiagonal.ToArray()); } - /// <summary> - /// В разработке - /// </summary> - /// <typeparam name="T"></typeparam> - /// <param name="matrix"></param> - /// <param name="downRowBound"></param> - /// <param name="downColumnBound"></param> - /// <param name="upperRowBound"></param> - /// <param name="upperColumnBound"></param> - /// <returns></returns> - public static IMatrix<T> GetSubMatrix<T>(this Matrix<T> matrix,int downRowBound, int downColumnBound, int upperRowBound, int upperColumnBound) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> - { - Matrix<T> subMatrix = new Matrix<T> - (upperRowBound+downColumnBound,upperColumnBound+downRowBound); - - for (int row = downRowBound; row < upperRowBound; row++) - { - for (int column = downColumnBound; column < upperColumnBound; column++) - { - subMatrix[row, column] = matrix[row, column]; - } - } - - - - return subMatrix; - - } + } From 3ce2acf660250be8678376b28bcd3b023585172c Mon Sep 17 00:00:00 2001 From: Lamer0 <combinerk@gmail.com> Date: Fri, 7 Jan 2022 01:26:32 +0300 Subject: [PATCH 52/68] --- MathExtended.csproj | 1 + Matrices/BaseMatrix.cs | 24 ++++++++++------- Matrices/Extensions/MatrixExtensions.cs | 2 +- Matrices/Matrix.cs | 7 +++-- Matrices/MatrixType.cs | 27 +++++++++++++++++++ .../CellsCollections/BaseCellsCollection.cs | 2 ++ 6 files changed, 50 insertions(+), 13 deletions(-) create mode 100644 Matrices/MatrixType.cs diff --git a/MathExtended.csproj b/MathExtended.csproj index 1ef3b75..700f49f 100644 --- a/MathExtended.csproj +++ b/MathExtended.csproj @@ -195,6 +195,7 @@ <ItemGroup> <Compile Include="Exceptions\VectorsDifferentSizeException.cs" /> <Compile Include="Matrices\Extensions\MatrixExtensions.cs" /> + <Compile Include="Matrices\MatrixType.cs" /> <Compile Include="Matrices\Structures\CellsCollections\BaseCellsCollection.cs" /> <Compile Include="Matrices\BaseMatrix.cs" /> <Compile Include="Matrices\Structures\CellsCollections\BaseReadOnlyCellsCollection.cs" /> diff --git a/Matrices/BaseMatrix.cs b/Matrices/BaseMatrix.cs index 49c3b76..dba2575 100644 --- a/Matrices/BaseMatrix.cs +++ b/Matrices/BaseMatrix.cs @@ -45,6 +45,7 @@ public abstract class BaseMatrix<T> : IEnumerator<T>, IMatrix<T> where T: ICompa private bool disposedValue; + /// <summary> /// Создает матрицу с указанными размерами /// </summary> @@ -174,12 +175,15 @@ public Row<T> GetRow(int rowIndex) { if (rowIndex < RowsCount) { - var fullRow = new Row<T>(RowsCount - 1); + var fullRow = new List<T>(); - ForEach((row,column) => fullRow[row] = this[rowIndex, column]); + for(int column = 0;column < ColumnsCount;column++) + { + fullRow.Add(this[rowIndex, column]); + } - return fullRow; + return new Row<T>(fullRow.ToArray()); } else { @@ -195,9 +199,9 @@ public Row<T> GetRow(int rowIndex) /// <returns>Массив из <see cref="Row{T}"/></returns> public Row<T>[] GetRows() { - Row<T>[] rows = new Row<T>[RowsCount - 1]; + Row<T>[] rows = new Row<T>[RowsCount]; - for (int row = 0; row < RowsCount - 1; row++) + for (int row = 0; row < RowsCount; row++) { rows[row] = GetRow(row); } @@ -251,12 +255,12 @@ public Column<T> GetColumn(int columnIndex) { var fullColumn = new List<T>(); - for (int column = 0; column < RowsCount - 1; column++) + for (int column = 0; column < RowsCount; column++) { fullColumn.Add(this[column, columnIndex]); } - return fullColumn.ToArray(); + return (Column<T>)fullColumn.ToArray(); } else { @@ -271,7 +275,7 @@ public Column<T> GetColumn(int columnIndex) /// <returns>Массив <see cref="Column{T}"/></returns> public Column<T>[] GetColumns() { - Column<T>[] columns = new Column<T>[ColumnsCount - 1]; + Column<T>[] columns = new Column<T>[ColumnsCount]; ForEach((row, column) => columns[column] = GetColumn(column)); @@ -319,9 +323,9 @@ private void ForEach(Action<int, int> action) } else { - Parallel.For(0, this.RowsCount - 1, row => + Parallel.For(0, this.RowsCount, row => { - for (dynamic column = 0; column < this.ColumnsCount - 1; column++) + for (dynamic column = 0; column < this.ColumnsCount; column++) { action(row, column); } diff --git a/Matrices/Extensions/MatrixExtensions.cs b/Matrices/Extensions/MatrixExtensions.cs index d3c2a1d..cc7c7b6 100644 --- a/Matrices/Extensions/MatrixExtensions.cs +++ b/Matrices/Extensions/MatrixExtensions.cs @@ -54,7 +54,7 @@ public static MainDiagonal<T> FindDiagonal<T>(this IMatrix<T> matrix) where T : return new MainDiagonal<T>(mainDiagonal.ToArray()); } - + } } diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index 3a428f5..6d5d29b 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -59,7 +59,7 @@ private set /// <param name="columns">Колличество столбцов матрице</param> public Matrix(int rows, int columns) : base(rows, columns) { - matrix = new T[rows, rows]; + IsSquareMatrix = RowsCount == ColumnsCount; @@ -491,13 +491,16 @@ private void ForEach(Action<int, int> action) else { - for(int row = 0;row < this.RowsCount - 1; row++) + + for (int row = 0; row < this.RowsCount - 1; row++) { for (int column = 0; column < this.ColumnsCount - 1; column++) { action(row, column); } } + + } } diff --git a/Matrices/MatrixType.cs b/Matrices/MatrixType.cs new file mode 100644 index 0000000..cf1ce08 --- /dev/null +++ b/Matrices/MatrixType.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MathExtended.Matrices +{ + /// <summary> + /// Типо-размерность матрицы + /// </summary> + public enum MatrixDimensionType + { + /// <summary> + /// Колличество строк равно колличеству столбцов + /// </summary> + RowsEqualColumns = 0, + /// <summary> + /// Колличество строк больше столбцов + /// </summary> + RowsMatchColumns = 1, + /// <summary> + /// Колличество столбцов больше чем строк + /// </summary> + ColumnsMatchRows = 2, + } +} diff --git a/Matrices/Structures/CellsCollections/BaseCellsCollection.cs b/Matrices/Structures/CellsCollections/BaseCellsCollection.cs index 336f8cf..494b1a6 100644 --- a/Matrices/Structures/CellsCollections/BaseCellsCollection.cs +++ b/Matrices/Structures/CellsCollections/BaseCellsCollection.cs @@ -78,6 +78,7 @@ public BaseCellsCollection(T[] array) _size = array.Length; } + /// <summary> /// Применяет действие ко всем элементам /// </summary> @@ -112,6 +113,7 @@ public virtual bool IsZero() return _cells.All((cell) => cell == (dynamic)0); } + #region IEnumerable /// <summary> /// Текуший элемент From 3bc101761f22d2adcbbbf2009bec038e435d6c5a Mon Sep 17 00:00:00 2001 From: Lamer0 <combinerk@gmail.com> Date: Fri, 7 Jan 2022 01:34:02 +0300 Subject: [PATCH 53/68] --- MathExtended.1.0.0.1.nupkg | Bin 26182 -> 26150 bytes MathExtended.csproj | 1 - Matrices/MatrixType.cs | 27 --------------------------- 3 files changed, 28 deletions(-) delete mode 100644 Matrices/MatrixType.cs diff --git a/MathExtended.1.0.0.1.nupkg b/MathExtended.1.0.0.1.nupkg index 09e5fe3434c72fb2939e78eee4dc4d74c8e24adb..718ad0498613c72bb6fed6c1188b7cc0dab21360 100644 GIT binary patch delta 24652 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 F{{SYP3OxV- delta 24683 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 BMeqOs diff --git a/MathExtended.csproj b/MathExtended.csproj index 700f49f..1ef3b75 100644 --- a/MathExtended.csproj +++ b/MathExtended.csproj @@ -195,7 +195,6 @@ <ItemGroup> <Compile Include="Exceptions\VectorsDifferentSizeException.cs" /> <Compile Include="Matrices\Extensions\MatrixExtensions.cs" /> - <Compile Include="Matrices\MatrixType.cs" /> <Compile Include="Matrices\Structures\CellsCollections\BaseCellsCollection.cs" /> <Compile Include="Matrices\BaseMatrix.cs" /> <Compile Include="Matrices\Structures\CellsCollections\BaseReadOnlyCellsCollection.cs" /> diff --git a/Matrices/MatrixType.cs b/Matrices/MatrixType.cs deleted file mode 100644 index cf1ce08..0000000 --- a/Matrices/MatrixType.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace MathExtended.Matrices -{ - /// <summary> - /// Типо-размерность матрицы - /// </summary> - public enum MatrixDimensionType - { - /// <summary> - /// Колличество строк равно колличеству столбцов - /// </summary> - RowsEqualColumns = 0, - /// <summary> - /// Колличество строк больше столбцов - /// </summary> - RowsMatchColumns = 1, - /// <summary> - /// Колличество столбцов больше чем строк - /// </summary> - ColumnsMatchRows = 2, - } -} From f46a3ef9c8c0bf8055a6425618e98ad715f07139 Mon Sep 17 00:00:00 2001 From: Lamer0 <combinerk@gmail.com> Date: Fri, 7 Jan 2022 23:48:56 +0300 Subject: [PATCH 54/68] --- Matrices/Extensions/MatrixExtensions.cs | 2 +- Matrices/Matrix.cs | 38 ++++++++++++------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/Matrices/Extensions/MatrixExtensions.cs b/Matrices/Extensions/MatrixExtensions.cs index cc7c7b6..cac2f80 100644 --- a/Matrices/Extensions/MatrixExtensions.cs +++ b/Matrices/Extensions/MatrixExtensions.cs @@ -54,7 +54,7 @@ public static MainDiagonal<T> FindDiagonal<T>(this IMatrix<T> matrix) where T : return new MainDiagonal<T>(mainDiagonal.ToArray()); } - + } } diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index 6d5d29b..dcc781d 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -92,9 +92,9 @@ public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1, array.GetUpperBound var matrixC = new Matrix<T>(matrixA.RowsCount, matrixB.ColumnsCount); - Parallel.For(0, matrixA.RowsCount - 1, row => + Parallel.For(0, matrixA.RowsCount, row => { - Parallel.For(0, matrixB.ColumnsCount - 1, colunm => + Parallel.For(0, matrixB.ColumnsCount, colunm => { matrixC[row, colunm] = (T)(dynamic)matrixA[row, colunm] + (dynamic)matrixB[row, colunm]; }); @@ -119,10 +119,10 @@ public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1, array.GetUpperBound { var matrixC = new Matrix<T>(matrixA.RowsCount, matrixB.ColumnsCount); - Parallel.For(0, matrixA.RowsCount - 1, i => + Parallel.For(0, matrixA.RowsCount, i => { - Parallel.For(0, matrixB.ColumnsCount - 1, j => + Parallel.For(0, matrixB.ColumnsCount, j => { matrixC[i, j] = (T)Operator.Subtract(matrixA[i, j], matrixB[i, j]); }); @@ -148,9 +148,9 @@ public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1, array.GetUpperBound { var matrixB = new Matrix<T>(matrixA.RowsCount, matrixA.ColumnsCount); - Parallel.For(0, matrixA.RowsCount - 1, row => + Parallel.For(0, matrixA.RowsCount, row => { - Parallel.For(0, matrixA.ColumnsCount - 1, column => + Parallel.For(0, matrixA.ColumnsCount, column => { matrixB[row, column] = (T)Operator.Multiply(matrixA[row, column], multiplier); }); @@ -183,11 +183,11 @@ public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1, array.GetUpperBound { var matrixC = new Matrix<T>(matrixA.RowsCount, matrixB.ColumnsCount); - Parallel.For(0, matrixA.RowsCount - 1, row => + Parallel.For(0, matrixA.RowsCount, row => { - Parallel.For(0, matrixB.ColumnsCount - 1, column => + Parallel.For(0, matrixB.ColumnsCount, column => { - for (int k = 0; k < matrixB.RowsCount - 1; k++)// A B или C ? + for (int k = 0; k < matrixB.RowsCount; k++)// A B или C ? { matrixC[row, column] = (T)Operator.Add(matrixC[row, column], Operator.Multiply(matrixA[row, k], matrixB[k, column])); } @@ -281,9 +281,9 @@ public Matrix<T> Transponate() { var transposedMatrix = new Matrix<T>(this.ColumnsCount, this.RowsCount); - Parallel.For(0, this.ColumnsCount - 1, row => + Parallel.For(0, this.ColumnsCount, row => { - Parallel.For(0, this.RowsCount - 1, column => + Parallel.For(0, this.RowsCount, column => { transposedMatrix[row, column] = this[column, row]; }); @@ -425,9 +425,9 @@ public Matrix<T> FillRandom() ExtendentRandom random = new ExtendentRandom(); - Parallel.For(0, this.RowsCount - 1, row => + Parallel.For(0, this.RowsCount, row => { - Parallel.For(0, this.ColumnsCount - 1, column => + Parallel.For(0, this.ColumnsCount, column => { filledMatrix[row, column] = random.Next<T>(); }); @@ -449,9 +449,9 @@ public Matrix<T> FillRandom(T min,T max) ExtendentRandom random = new ExtendentRandom(); - Parallel.For(0, this.RowsCount - 1, row => + Parallel.For(0, this.RowsCount, row => { - Parallel.For(0, this.ColumnsCount - 1, column => + Parallel.For(0, this.ColumnsCount, column => { //Позволяет сохранить инвариантность этого метода filledMatrix[row, column] = random.Next<T>(min, max); @@ -492,9 +492,9 @@ private void ForEach(Action<int, int> action) else { - for (int row = 0; row < this.RowsCount - 1; row++) + for (int row = 0; row < this.RowsCount; row++) { - for (int column = 0; column < this.ColumnsCount - 1; column++) + for (int column = 0; column < this.ColumnsCount; column++) { action(row, column); } @@ -525,9 +525,9 @@ public override string ToString() { string outString = String.Empty; - for(int row = 0;row < this.RowsCount - 1; row++) + for(int row = 0;row < this.RowsCount; row++) { - for(int column = 0;column < this.ColumnsCount - 1; column++) + for(int column = 0;column < this.ColumnsCount; column++) { outString += matrix[row, column].ToString().PadLeft(8) + " "; From 01d422e60448a48b6eca91560ec5b72c3186706d Mon Sep 17 00:00:00 2001 From: Lamer0 <combinerk@gmail.com> Date: Fri, 7 Jan 2022 23:58:04 +0300 Subject: [PATCH 55/68] --- Matrices/Matrix.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index dcc781d..edbe13d 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -260,7 +260,7 @@ public static Matrix<T> Pow(Matrix<T> matrix,int power) { var matrixC = matrix; - for (int i = 1; i < power; i++) + for (int i = 1; i <= power; i++) { matrixC *= matrix; } @@ -309,7 +309,6 @@ public Matrix<T> ToSteppedView() if (this[row, row] != (dynamic)0) { - if (this[row, row] != (dynamic)0) { dynamic koeficient = (dynamic)(steppedMatrix[j, row] / (dynamic)this[row, row]); From ed6c26562abd3dc598d374c8222444819a79c90f Mon Sep 17 00:00:00 2001 From: Lamer0 <combinerk@gmail.com> Date: Sat, 8 Jan 2022 00:49:17 +0300 Subject: [PATCH 56/68] --- MathExtended.1.0.0.1.nupkg | Bin 26150 -> 0 bytes MathExtended.1.0.1.1.nupkg | Bin 0 -> 25968 bytes MathExtended.nuspec | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 MathExtended.1.0.0.1.nupkg create mode 100644 MathExtended.1.0.1.1.nupkg diff --git a/MathExtended.1.0.0.1.nupkg b/MathExtended.1.0.0.1.nupkg deleted file mode 100644 index 718ad0498613c72bb6fed6c1188b7cc0dab21360..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26150 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 LE9fG||7iU`1Zi_B diff --git a/MathExtended.1.0.1.1.nupkg b/MathExtended.1.0.1.1.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..e41f4e3a12e49b7cd42ba8bc232b0d774d8f310f GIT binary patch literal 25968 zcmZ6x18`=+v+%teZft8~dt+^E+Z*eN`NTFhcCxW;+qR7-w)y4%-Ma6+?^{zn{hK~h zJzafzs!q)u1!-^y^l#t3{rKh&Nu>h+!TAgG`?qf|Ujp}K)psxfI5IN)r%#L>v+QF+ z7JUr*2$<$iGUiCq-3{EPm=@(A7WgM+r2WhNCpGc=D{PvO5cRJygG2la6U?$Yu77BO z#hK?!v{Yh$3Y1r)3HS>Q7Pl8}t_^Ae0wkU(<W|KKi1B!M3-+^N!W_Uz4R?5#+i`T5 zNDi1I`{AC6#eR|(u)!=LW>oyxaGUv<>tigNVQD@JR*^7c=*?iD#UW2XBP}QVNfG%# z68V=~W>X}M9R#7~M{~yP{ujHW6!G$<^wR2MmZj4m@_|omzl-a_QXHNvM+8-*^&2Y@ z3qf44TjEVfG_ssl?-sm8%dS6ybsp45f9Xr+!PRYeB6*0|WLd9xUVfL;dL?kKKHYt- zsXYJmux-zOz1{8^QsMtfpKRq@!{t}%I3T`#L;FgftbvocsGF0Cjj@R_gN?JJorzJD za!>Re6LJUXHIiDh{{}<bENqMBcQ6={$8T-x9g}3tcx$m{LTk2r-IUjGGFnA}B>9`X ztd|qK0x>@CPbIdEooHLcIS~e`bO*V}$bfPkbG3or_YtSNg`O`WkAwVaP!N6KmElRn zJ_YEjnC*hcnX)KGva@1Uh#D9F7%<0@E$s_>efcz621>V0h0KwRX@pIQ?9WOatc$&x z$bVp{XxWn_*EYvBj1=ftvXMJv;yW{$LC>E29sj|qfQOcp9T`$TZ5i&^;)n_6|4$dG z46M-$3?CZ(;H589t;N&7Q(l)V&G$@5E(cy1oXp5_K7&h$wMG6KPa`cJPyGC<`tkgq zJV6!nreqlorEAGIYX`n4igwH_#au_Ek^Ibmi+`7!E72I1ZHj*b4BhwPjj&TRQ24R1 z`SdwjD4_VGG!>D0q7fAPwE$XX+6Jhh$YDHT0dddkbdb=Oz>ASR*%f%HX+Oc{C<qP9 zd-W7z_6MHDx!LE=w;UNpBO%tS=p@_hnnz_O>oAMzH_w#uQ)V%7j#n@3(`bjol}x*Z z(kHjaEH9B37xT*z=Yh8=9Uc9sPqFvpcasnZy-u8yG)>lvg7&yE))cEN=5x8wWHV%2 z=*CIS1btx8u0Wkx=@5vIS*UD<W8qm__!;ki>Vvm}QpIqc+m%P+t1ybceZ%`w01HD# z8xyBr94w6gSE(2S0OuV*&xD100q-o6#c`Pj7zy7W-=R^3*nj@kKuh`q7DyI~8T1#P zDb09yT%;Qr-k*n|d4WciMnh4tgjUNgK+C!Yf&Qg|zCr6+S=-u5yUmN=`^sao<uMhM zI<kH9{H|AZNwjsj?Rd#|>3GosvH@*^HdB}Fdg%Xs_l=$cWrO2GT&E)Fe;f}Daohlj zcn{q7&H|*~@ys}?kVN5HNq3xM7bpE27b`36%Kyk#|D2suMLwY^)}2+E#<4+4a_hJd zDlt0d^>r5wNL<={D9w4)#a8`Wm;kmO5vcs9i!V~}J3k|HYLA8LvMiCuI!%!Mi+S}6 z4Qj#XI49vX$aKC9B2aH5DL3vC%#G>g4*B<jx_SIl(N7z0p9~4c`f2i-?Lq88B5&=* zQ@zkNYsH#YGSsMgzj_4g{qPI9g!HJ-L=k_29d-lSmGRb29tj(p+Ej7G2sdK08o?n4 zU#let+K(9il>+u@^vP@(?P{nC!v^#5;mGd*UUED3S#a~z(UNW|STUn%d4IYMZS(wk z=^BPU7X@U(0H+X-vE{1LXb4TM;=F{cat2w1jDQ+5>F#-{^#rY<ST$7R<IQWaQH!oW z^~Fz=br~QY2925kcsMNLF>Q#->t#Z2PhltMM)7NP`tUC&=%UnYOn&2-YTBdrSbkn_ zRBQ_V7TDRkrT#?bXGTE#x%qC9eeVF#k{G421aHXH+Nz(*9~j1VoNKZ;2!-FK4w~Uh zsc>OkbP?1QoHzarvQ`a$Q{}06mZ!CdhM_#qBC(4$BVbiNt<Dq-;U6hDDY7mulDN(* z<tU(8T<|qypT(%iXFp`BFy~xexFWMO51FT-QZdy!u$OaNBg~3y4(K!IUQ~^Q%JD$C z`t^~0@^CEVkvByFYmTp9`LG)}2ab)7k~0|Al2RArR=O!(Y#_`th*&Rp|EM~%J$jx# zY6QT=DtVSZZ~d&-%HMA}A5fMUaxy&iT0pmOcY+%9VhvLOucPAA&Ic*DGf-1I{C46| zySurbo7an*zx$0KW*nDq?WYAMR@^aXB69+SNBaJdo$AXybCKH#%<po|V%{E#lNA|Z z4t50BA*(vbRGT&(UzVmgc7;B4yhUYF{|1NsEyNryF(hIwZi)1^kc(H8Fg0q{FynYS z^2UO$3ToQ6RsJ-k1UJ{24D^V8;4i$8;U_vD1gf<(+k}l#MwqXwUSiuJ5O4Mq8#IKk zb+)9|30O}yJK2*Ih=#t|GiNUAVuscYTFX{T`0f&N@`FzF%-e3iLc$UIV6WOuAD;PS z4Ric*;B7|ClD=)V3Erq}b4et2aY=?^#Uu5EoMc@{N+nBS0QhfJel0oP85GN-)q@e5 zZXQW=r?j2NG6`a-?}U@cTzy19r9_}bV+-}<j%jmRak)1$=P63cJ;$VI(A^fAaRDOt z>}*t=r^wRwimIHHx@lYb?j<a~jvraBU{>gOC_Y8CEZ2HjnH%Q}SchS*c`T7dq9Ih{ z%-GE@FgQbs22^59w8`yjjopThPw)uTC@%R3=HXhWiM|LceGUkHl8dFg<lD>v(Um*p zR<Lw)8GCzw<~l6H(^aL9f_E_?tLjP7kmj?5_h^(T?|6wI#t3GW@q&g2cS1pF&8uUZ zdC3{jQ#P1%>fp^y_LtaU6FlB&0;>W2*bSE~%(^X==}ZrBe5%(_dp*^#f!s5q%fZ}Q zSwY^uGwm2>#s7*~h$+K>8A9b!p{g}02ydGtHx3!JQ?%bQsE&eAb+YeBo5O{&s;$6t zy<L8g3JT*PkD)LyQdTRv9kzEOtfSmA<81bCpf_j4I?V9z=p8S!D|>zi)&*U+W~#kl zd-rH0f7}E0v#+ZB=yQEVuDdaQF1isMj$zm+sQEN!pH>}=1m;Mwt~<j<8RGNBxCc*j zuF?$6BpTvdqwR&}+VOcr(MA~$Xrk(y@2<xi%F-jwqHaHMo_ndsq88O98?r{^@4e)z z8%?_+G`#(snR~E8gD$H}hUoYeRhb_&Xi_qyP&(vXOSlx_zW(#XK0q_(wBo+Gr+nx> z;Iu|~aZgMWDSU!1u9LrpkR!~UEG(;WD?=wHU1<^g9XmtxzFBn9sHk|TLI=s?Qf_WL zGYoP|3{o3XZp~JnZf;YWrMGRSdFUQ2ShCAAggK_brv+)xvvyC;Vu&M%z%}fleeBm> zdN9tJjsJ}8h*+C8JMKVXdwy4{`72-UOq_`PnkzZSDxX-ME+gK=m9`EN+lzJRYX$2w zYvR^%u=2*mK`Z11DVj^fi&seQdgm+ks*DCEgdLGKS!lQ3c1QSfTl7x?q`!#OudkhB z%4dRUK098y??fcGM1`KsqV&BFpEg3TbFWJhja8h&2a5_5-$NP9;fpPRStLXZF@Em} z%H<KbRZPt^ACtrnDC?LGM1EE@9m1w!M36OEyikX$lyAP~H$x>OkdaA*5`@$-!n@oO z)-LSF?^*M&fzxY`WJvy$L1{(58Ps-)1~`GU3c`&!%KnP^dpKN$Ss2#d3d5)ej8m8} zMn&B`_q_NTgrVDnl{_!_y~%48g!Gr5ig}=wI8YGzmV9HN-I!iB07teFKduoUv$6eW zJ`!FdK9pll?W%)CEj<tfXB9}#SWC|ctF0&1cpzFvpK6C>;{s=a{{$2ckfv?9?;h*6 ziq(LD478;b%_^1i_TVL1*27A5gidu#7)M!z=c+J1O?AIE*13LbuT#3c;Y8flmWVx> zivPC-0gkws6}|et(pWll%=u>w$!|-K@>P5imvha{i@<@@RB7<(oy%|OZ@Z67RxE70 z+^Tn=puoZYS%(0-(gXcaU@P!r7-ViAUE)xz!gX^d$UOu<!dl-YxauRcDv4rs`d$)? zt6`pj1i*RvEKB(=oK9u>Gbcr6?JwM|6mAnfRsqJV_+dKv0eOSswpsoiC_iDJOZgIp zG;xTJ$QvzQ)J3oun95#5=^fz?8}>QSd0_4DZLqzgU;8;ye^4>pXtElalV&|tFP{#4 zxt(fylfqU%BErTI@CwDFmLrmjQzRSe?dbZ7^@``(&+=)4`Inh@pCiQ;L)6`4fBQ3i z^_FLL?nGeDmQ(E(8Ohc6>aF?j&@_?c1fRt3!<T_XHREQ?0sLgLicTF5om=2-G%dyN z-%)iIl45o-cwc2O-co2J9O%|x#Ys&r3zT|&z{;xTzHfcs#;?7enjMt)ecbo?zIpq3 z50CjdQU5dt5%GyAIeBku>bD<ZPVhqk__^IFlk<|DF99FX>Eq|-{M@vo3N~BzhPK<O z20ku*iP_u;x^h|cM3A7xg?pM!L`>_$`H+{mFLkH6mW}5f2_))!GT?+7RlIcbCRYOg z6g|W=S?v=pHlD}&h+J6dYfg8Of7;-&(5U1)qr4(BRbn}k8Hel}nk}n0w^~;bM#+wU z=dchy)f#Sf06^;16HLyLf)$Ox3q)-(O`1K1GEr?u8`De^D4<)`?!&eNV)jwhO)j=a z&%ityD}I<wJYAP!PNUbR#kWd?d*?h38=hdLle`4!r{%fizu;qU=U%Fam^Cv+w=(}I zqF%@82TlI0AgudVMc2KYEra};H1G$wRVvyZIC@WQ_*PISH=*PiOhuU9U14yoIWk~I zl~m)qrjR1>Qd`i8A2j4x`IkIgb<M*uij0vbO0kRN!2uY)Jf;X3g;Ngxvwio7P*9v4 zHuq46dXB<*xmFo{xfZBfV7$a+q25_-)m%-xRd3}Mr%RfzOIo0do_^C?31+ag0#Ns> zwo<9pg$y`%0DFO^+VeJWPNQ3~mC2tVqs6k~?mF_P&%<y`9p}1bNlmVn!89!N9vxZn z7{aCwIf0KU$ihHjoZN9tc!E+$832DTrT=bH?K360vn3fF6y#Hs5b(}(K}^i*Ehb^q znek%0zRfJ42j5D<br=y3z2P=+B96hG?F%~-jV93;*tW9#NwY6<v`#yjT|6v#MeZoJ z&pZ&t#Ts_TkZ4pg&TTe2@&;?*U68>VA2(4|J&7~Rk$NYq*8gD#3s-{ar7E<gvVuPs zcdtr5)kB?c+ge|x6?u;%)VPX&${IKLBEz+4Hc}&3L(M3YN<a95Pk354ppl)<yJ&`I z<Rv|eUry3ynXlW>TM6u~)S9aVO1exWyU_o2`A>@5Fk#zHmMepLD@8|K=<xx`1a|zr z^Ng7RU`d%mwB)iw$4;xPu=sMxhr2NOTA-O0-V_}mZ99Vz;dR`V^0R}<pXSuGt4Pwd z==eSxO{79a?FGtlgi4D5Z1{+SKN@ko*tkmLQO8L&UB3p_Q~vA>VTI1asm-ny%%<kr zn=VO!dm{m%)tKgd?>aoyIE4Q0I_c&^I4GOHIqW(7Ua%oE=+U>zg)d%}&FM6edgF~c z(V&0$Q68%1+_lj|;r6W~ZJFY#7SKhl;vFtGDZ#WI=ZYgUZ9zSisRXnoUa+?4`7<8a zUZb64v|InqYnhD^c#lTu>k*Or)aI>c$Wz>b^~aoDtOfTe*pRD1r{t>SAV>#?<`r-Y z`0G&m{ltMA*l%DS(Ef{Cdta~baO}M8_o1>yjMaXd1oI^N?UT%ms9Cr%d?q=nau#`| z5}jEX)`0Fmz{{0ok`DS~NGS#JrufYJEIe*{#jJjXqMQCEMKF=#2&m^l&oFomV>2Hr zQ81)e#fRH5L(+Xo>a#i;Lu_g8ACltYrn6AbKzI$&{dCggru6z1d7uk+0MXDYa_e8M zaxuHE=?(Ef+@pQVpSH#O4JfweB$sp}Yr^eysK7q5%cXw2q~WpTb_1H58#G`aIipnj zPFOoi+#}Vs7}<@O)aGkHp2bd79IMe=q9vnlcd_SQZkgvnE*ztiO)gpJ>#dYgq!s71 zFGY5{WVZn;7&OX8jd|;~g{!uzrW3vT^9R_#(V#Gr6Y=K<MBdQ@nDq8*_@?ujhBA(` z->OH=-}b;UxWM?RNd{+OneQnkTusI9NiO%=tr(lJ<MjU+A>cXV^gC{$&VvWx!@9`y zr3OWqjwtENOF1m_RXP`^&vvkv*0LH4#F;nSDbpdndeS*Y94W33WvQXNoZ6anFx40C zOiJ1RdXY_~x^v)`(5IstVWk+IJk{!MALLud$96O=N$kKO>mFW7%et{n6!7cW7i~mU z-S3%=R{q9n56Xzv%_7<>1M>orDxYukqBSmuDKl4zFgl=fl^(rPd|V$DHU2=#eVDz6 z?=rjB6+|e1P$H{DdwG!+S*N|TZWz^(B>aO1rK<k@6xAQzcIaQRsG;R0J0i^fYi?)R z@?1#=`lGJwI4?UjqfL5is#}rc$ZZLU)h4VO?T?0J0QGAlO#-QHdI4Fj=ixxM&j%N` z7JCu}eIn~e`4Jnot{#KL&cj|Fx4qm+{iiS2{%d7o=OuU0qu5e>kT=^gF1YSCLKy!q z`%br<@hAVNRq3=R3gL5d>(wNJQFWd|VlGU~H8%=dbRgyPdqB+5&7_@(D_T@5UetOA z2VMz%6V-K9nP&}o6ZULxoObg;i{3R4zGe$krlGy|EnJA|$!LNSk41gFIp+vtDuU(R zl+H=Ew#nx@#S6$~MIda6by>jGQ}L5?n>X|k$zm4|w;{RS0yS*wL?Xqy@upIK_d3<m zfj;u}1GiH@w$Vp<**m%3t7zcNHgg5ANjt@SPC@TEmiMqper9T16ebamQz%V7R{0dM z+L8q5&|Y<qsdi4TXS)`IM)-KZYN$g~NVur7->}0Hoi<k*;^48oWH4}IA&D~O^p+%Z zdl2O9EQy<#0<G#fZrM(03r4dkYUs2cSwveH+~E{9^x1t1KZf6~WX~odzbH3I&}#*X z&56!fyn3n3ZR{_5stmvH=hV%Avr$?{GcEgIw&|2q%JlNEaCcL+FUU8w@N-%v>zFHj zKpo1n*&O?*jCj+nj74DcO4ivA;BBIk@c@+rbP0f3SDM;|gv;X29+Vs?t`LMuBI&em z2jb9xHp0nXSC4_L=`O>VHs43Woe&J8Dk)b)Pu+rD{!GTExJ4i4V653@H<9RwcS9Xs znjuJCJ{+@uF_{(;?coOs{GIkn9z+=6zOh67n1Mf^5B}~06TVBc{o`SLA)JDBRfX}Y za30$WZ%ObO0rD~)d~Jz-rOEy80~({^KC(sb-NOtSC*Lo4TIuKd)phz!C7(F8X6Epf zN$&<G=(k?eOyhaYP)%8%`#+b@C?n5$&nP>`0Wppzx1Pdx#_bYQOLTD#4lauO@jCnQ zhi9@>TRJ%HAAk<a$lj0W{5tCgfJb50`Eb3-Dl36@)=McZHcV~3Mo)?-w_bW{m1cTT z)LAZj0xFcfZX++6y657OiVPQ5o5Gt+duqK*rgNJ}6<I~v-x5&8zdQtDy2_(_fLWpA zYV6!ygKZxUzeQ^|K)ujv^--XXyGOs&)4BAxIE2A;YzBkS_@^zTt4!?DHzhfx@lO&* zdkUhY=i@jGP#NLWXK(85+(zeJU&Jy}SN2he&zN`0MPKezT;A|c0Z)aO9gvK`Tjy2Z zl(fKG)=mg3g1}q**Qkyt8rS>D>o^1{mWY2`)@S)7Bz0<a8ma5givgM|gx;H!x5m?) z<4ATV+57QWZ+0iiJGE{i4%UNsr=9$^?`afYPg0)YHhnz+af*A7HVg>EZEF6;b^twJ zSv9LbrdwY97$PQhPEPwwB75#7>Sil;w8)Sl+Hsv0XP%?D<X(DuT3acA>ik|)eoC3t zO86T0J_T_66xMojmpy;4sSb*j$I010>`IYr9fmV2TK=fkBRcDA_8VFk0D9U0g`X|c zo#KoPb~HA(O>;eXnpzJi!=FcAR2d>9vslB_7qhRDLi9ABNv5+L(%bR1dwYUr-xDxD zEN)s$90>+I458p=W#hC(W4c|XTmYP{PN?a9`Dd7Xh#Iu_f5L<{W~Q4-q;fpMwr~)3 z!}>Id|9Xghukm^%!SlavMXye(+tZrFr0A~-fx6Czp<{ZB1T)0SHU?w6ahp_1D2+Yf z$zPeopwq@t*QZ`<Ig>fhNazZ`m5%~t)7;8GOT8O6&Hxr!DJ#vQ&GVibdVgjCNHJ6F z#rzmAC?x6)h|5YM%1Y4K`>T+@+#}F2T}FbLofSb%)-KP=lh1s2Fn99Lm^ZUoHff&R zyMErp{yYw&weP%@i`>`HIO|V&OEoNi)MK4e*ShpEHO4ySE2!V!NWOmqfu!Ev!~^)Q z**{w1>^_7)ldgA=n4h|X<yxLq+Akp*V!AG6Bg2z^h8*jWJQufL(u?9RE37|uq4QT0 zvjOeBPE2<PkN{M)E)(hYd_o}EoSVyHE*<>rk-s!!sqnFqW-R)4lTVF?d}iZJ-io(u zQ#g`vWvHM?+q#M_1=J}VpOO?g9=&NSPU|?3Os|FVD5u$5qT$6&mk34-{g=rQzzkGk zp2FGV?wsY?lO%29G~=Z{+^Dk9=*Y|GHj{ZUGuj2sb9Yf7_O0CG+0?m~Ox#_0NWE#l zC79XF<+g;snc!?}=&5NcX(=gcDT;-_-mS61bEtoh+yuKK9?X7X-awBCY+V$U+&w4% zR(4%s<0Ory!WOo59i=y|B>q?j7n>Dz`gqhru){Wp`E6~xJ@&DvMeOHwwiKk-PKMMF z%y`$%(|7*nCSUOGt+tTIeR=4mh=wfhqVCH+kS~=LYv|iudY@$t^g&zO4|R($_4#o` zqL%F8dSP|kAfLnObG@WggiABjrgg8JDa5&1D*VA6ZT!vtodEpJAr{j0CWB4=Rw~|! z;gHH~gBPG{{1D>Sjm_2S4hm(Ez|NIAzIU;5@fww9khIT?=+0vuhuiU(L4x<7+%Yuv zmO14J(aOhRbsrd3!K<|<cGgf*GpoQ<Z6EPrXYWhZpJ&@@W1giuBe9RcovE5amtvzg zDLK&EU~VvOBV~-VXQXxU*w1}LIWsOQzCJ-UzCjjw`*Z$7)X(4?B=58u#y$jraW|5= zkhOa+9GB&D;tNHApwHtxyI*U_rtKV=y)2B0dKtnyb2_5}PNmZ9Nm-CVsg5Wssd6t< z!teY~RuqY|M=!cbcv;SRVFek66PNa7ojb&QQ#sc2bL!l_;t=m+zS`||8O|A-;pwkd zj;36~DT_Tp^LF`-BnLs4f1<aR{ZsEEn&Fqjr!K9%Qi<~&G{=ZyasBFyNR)@HPwT|} zki>BnyM9~JMUO%i7OrsD4H|k9Dj!Hh^_DaTm&`Pl19Ddddjz@YS!uscRv=T=ZQ)*p z{sy2Yc0!fZFhQ_aFW8#!Wnu_fqDfE6RZVykl;{<D56>$c8PTMd)NR8SG8kH7158d( z3U3VXl!;i_@GA{VLrYNX5R{ErLUCc1df4gSi#Th96uxmV-Los_#m@evQ3<6<n8%RG z1m|G6r%>M8HZ7$1t|(d^UxFZ$*lk_zn37qn)EofxNKvOQVMENN=;P3=O)k;AvOe_c zCm&CoXKF0Ryf7&Za-Iy?kZI8X2{mVzVBji7RFmZn))@2gcF(uawO|t(mqw7|?GP7c z8R?<%_RhN;HgtOzn${%UZZj7K*Jgt9kVt9zUGyO2S?)=c%eE~F0RU%O-m!b-=0JA3 zFgMcFRuQEN8Ry=|)YjM%8_x0Pi{070E0SA8)&>;nU9UkEqW0c)AIDBwGG~sZ9Vt%B z<B9Vt8fAe$o6c9bRwW?Zjc)?AcXv^7FVv^)IMK|`;U$?@Xoa(yH!j$JPQIPCqeZi_ zMFF?`vsv$H4>!Omo7+tpF7@0ZfJk-wHj-he7a>jb<h<Xy>W|i;De1Y1g7sOQp>GL; zwwUf=ZV5wN>5YzIp6HYH#tH<2$Suswx}jzGgwb!#*0Z2@T$5I=!QNtlTLvc>k_5&l zRBt%1Y!jall_E%giu*b~2#&s8Ol(H&e3Vl%xAQ+bz_&5Y3qF2;&DlQv;2O_an#-ZK ztLqZx!DAS1ft|xL#b}PIMiFj%58QJw0e&{sW?wU0Zl&MDCpEC2VkCnh5GwaEYOe83 zzDM`lE&c58f3Mb9i<Z7a%<PRgzXT(`+zn67ZV+tfL;pMoC&2%pW%43g9PTC>aL2Jg zK{Ofhy<}aW5njESmH0HXnHAW&2=RK@u;HP5%*=z4guHNxJ&<;c@%39TRL0Y@q<phS z6xe2(5Htwe3$2g;rJqJYH-t(MlRMeQ$veCw00?2L%?7kBc5>4<jAt`>E|MA}=HuuP zKd-^pN|`@}oDZ2zPZy^byg`pDM4j2m4?1%%94SUwiX?4SO!e#bD>6jb@swW)l%~E^ zT`6=hG}L1kJg!i`BNjPB2gP%}1q<JyTWIvVr#Vo;Kgqm<p}fElzt6+*I4#J%s9waX z1M;)$agw^MIp_tzjGyfrC%!HNH4%kB;k$y5H}u;2$_IQrWEg_{Ut5#4SjKFvr{LNP z`BYl}eyT$q!#|nNhj{~umt-OcTP6gD`4M9@n?I{%oxM>W4Jl)QMT)uDYyPjnk9GM< zP^283KUOAocrY&n0JpmO{TtgXrqINTdRg#z_&yHL24OdTv_OWx(9N<%sSJm`Hf`9? z`oD@U?&XK-C-591?q<POnROA64*6rejqX>V?n~7Jh+r*;17#pxg~4SuV7gr4m47{{ zD7|MH95n?;qRtb=ngv)&o{MA=s7YHwD<Lj3lt6b3wadBD%XOT~24u|mub#hlrz39I zpV)2!+!9O5GOM`GI&-cZCEo)}T*dKR3Q5WNtK5A~M{W@!l+zvSFydR8{9xUYG>aK7 zQA{{JahHG%O5e`kh7>>gMC0;)(oo0I1)j&{qE7k|#I^n{StA#1%m9Z@UA=fqr!3C| z7f<C5=Z5qA{&5VI6g_|X;zmV4`m$58o@j}(PEwLyd#Ms`@LQ>ClKufh_&`H&Bb9GJ z9gHCEWq1vg^@9>YZ&6r^dRo8a=gH-!)p~(lMSf>I+mbpWBXa{rqsN5;?N7>X`pfZg ziz`(j```09>`geX4)ih|Al!H!oD#P0IRn`(bIdS?LP{&~ZRo(yq<P8}Sfwm`9qj{H zbq1x|A(%}JP8Z6)aQj>iTHcjW;~!Eq`}*PSa)piD9IuYCtNfE^iPTpr8LhvwN4u6t z%DO;!rs+`NaaxfoZ0o9I#rn@7N34R3?8OnDbvZxf5b7p^j0VIu`Z~2ZF^XQiZnx_U zXQWmpGdrJ|Jp7AaA7@UUtG)cOE2co3QSD9SmlR9VFG5uGDDxjWxrQRt>V2TivU9lS zvQLrB(T-I;XdW_*35!8KOOuvi*G9*f&L8YjCp4GR5(nzo^L?G7)xt`)Chhr4eQg+~ zwu{251>4q-p4;ZWR;lh7+<a5qm;q*SGyd%BkB0*#Ehnf{8OHPPnp;Xo^%Cs8ViEf+ z%M9e!Tvab=f0oGd_<Rnnf@3IgI&L~`xd7RKyV2K9jK2Z{f8UZX!LXG~lA2Ig_vZBz z;S4+yXR<2qBDQ%{3+b_XK4|8WRPCxqs}C@o+2B=h$c+n{gnCp0a5FcdHk1*@XyyX8 zGfXwqQace{<XOp1XRp1CTMfoUkCT7<WH^)(RC}}<XqvfG;%C`tEy7gEa?qdpXKNQT zwU41sJVIw|*l8*0ZdN}kU8&yc*iQ^=m5TH*mOyGcE>NMXq&t#B?Uha37&5i3(&a#_ zvD}vmy?f)V(@<x3;cRtZ#LtiE<vvKC>_!$ycnv3{T;lzV>Qti#y+UEL2+t=SzC!(A zBLC{mW53oys7|A1-s0%4h!el{B0bAA(CR=zoM5WhgaDU0@1Jqkd^tc)p*CGe&$621 z=sS?<IB8#bF3&@%%&^#3zCr*^LTq-xv{RzGO;KKX$8~$q`aOm~Z0e)AJ!q<B*(N1& z(D-ri`*E=PaR~Ui3W6;R&a)5CR;s=HX$x|NTqglu7OT^$cl!o4VR#b*L;f~ld;oT= z1AHX)&~6%grdKE~X|UO}uQq>gsxmF~wn15vGfFoQJ3B?M_$>9p6mBYWSKC$vG?9xM z?Q%b@=`g#0M1GucKQRhY57kL3RWOS$I{(!(N^&KDm;487C35U)aJ(cq+}lQI7}uoN zM10?&74HhpoBf-h0wZosVGLnA&FseI_ayHML$L`op!&)t(0in85g^fFyt4r@M0V*g z?urJVX?tT6tO%oW?WsIAVOJ953J1utwQPYDV_*XE5Lb7b%jfnJ(Rs+@Txvxnv`#0q zWAMTSC4t?`zN@8J?rcCc#6fF3uKgziJnK}z0*#mRtK1-0=ynQVk-g0N_n>=<%XFq3 zy{px~kFw@XSDlcVaU7^a7fpYvf?SdCi#e>EkaX7mEFKXyclIQ#LpE{zpm&@((Y5RC zePwUAx|%+*?K6px-Rzj|S{`?0Z2t-!dI&T9`67T=T4vLRN{7S^$tcR@cBQeWjc7Bz zJ!V04^!-X6&K9X#DbE&*+T+iSQhXDZDY*h%GA=1FwiYX^>59;o6lT7rV9;DQpZ6Op zuI#3(fp?z8n5#iS(Bsc?+h5i|<co%@haP@7TcUQO9X^OI>3{qdzs@~>XeFn%hwSV^ z&@_(M-x@r1_j*8l)PEt$bb9D2S3b#Y<=y+=8Dpu7kT(iqVCRkek~b$VXk}ZGbB0Xp z$8++~_Bn;o9i8Y&nrY#37cUeCT=@H#kzLV#tPc?W;aB<rAJl8QC~$v@Fktt9;?llY zi@^=e9-VixXsC}DwpigPC;ou%gAq3Se%eb^8Y+|gHG|@&HTf@{z=q0?c2UwdGs50? zeg8TA@4VaU*O`}g?Q|IYyY&Hcckg0WS^+SCbFY;^-n9FJIFj-_eaIg4u2{8y{Yv58 zl0{&`?_%ah=mm73yN>aW@!S>5k(d;Z<Ny?LhnJ=|p8YmDPU0{Yp}vmmzn@7&g%hjP z>xVQ=Ee44{usmcCJ`<&PzQd6S83ar_;w86D#bz`%7EP1x%bOJ~Qjk&qvUCEsT057J zgTu+OE}kl1+7)z>3k$In63`+Stzg6pjBu%YSW>!pFPUVGNn%XOxrJfv7_f@;fy}y1 zX;#(CFVb`%AH#kb;6-&Wx3JpmNvptB^Z4uvcBNdAOgrBm0s^7=Id&Z}pZ-1&p9^yn z%pIr54c$@6#Poi3@`1@Yu-Rh$xF}X4<B<DaEPkGw3Ub*|Ie4Q?<Gv;MlRMSXePW1H zpz6dv<lq)N>LL#N=ES~JPR~^5P6jE(A2_A+xn>yw$K2RMJhwS#su6xJAHqN)pH88h z3OcmiJ2kzgrW^NnKC!gt1h-N{#|_w_L=T5czeKyJQ%!iE1TP5gKUKFNDq*u>o*iM3 zq|6);5NTpaSC?wic$<1I=f=dLy)xqRp{JS3C-dCl5EIf%<VM|&Hpipj?eD-7`ab3a zB9XbgWmNshg@0O0wB#44I=sEzqf?$RJ6rG^?1Vcy`<FJgQ}!%UkS4!Z_MDKPHns2C zL%R~f<jMB>gT#rV3+sr_Nnn~spKV%lN?D0D^9SDmyGmbBWIVZt-=^tD#Sa|r0j~a= zkSB;&<m?Qh-MInxe;h5s?PCJrEF5{>?zRGhH$zW4@7N&j!M6AJ-?ohm_pxW$)gSPj zJ#my8hY;Ci+1nkTl7sRr-f{BV@;5kplAG_@h8NU_S-Uz#ZlF)*J)&ESouTmw6-Xhg zgCf9=!a^38XxX8CF6}Qv=OD7O=gJ)1BhND2qY2v#t@D-qcTwQC(<8+r%)Y#7dNH;~ zfAJjU%q}WLP=gj?lWMdO2*d@OnGIr%tD2_n5GQ{2JoveHN2oBoE|kP*{A?%|j=^2S zXgXpT^zf1xsa`8nAOxyU%qUaJ>1Y<uVa>6eQI1rvGo~kPfX&=os%_MwmM@aMH{7RP zYOd`5mASt}>r|*)H4S53=OBI|*P#jAs1w&8iKE5fUU;N(0uwPhbndsv-mDCLSig9d zpp*_?;nwI3XmF--`q;{uuH+kZi@Z(|0zESaxf~D%iH(^a+Nd1?d|1b1R4o7iwWC0v zIw6m{bGka+oVoiimD#d}v0Bho-oF3TXdUe?fAP*9BV=alTy7Bk68-sYSKgSY`ds0N z;h$p1;63Y_y-DF^{<%w#>Ge76#4Z8s1{S`$&FIydD|4sxu2Xuoa8CT&-l)iULvo8p zYMXve%O`qp`Wa!+WIr!#W)Kja8=NQbi7zGDhA7&hGB4xw>&5o4agTJ^3FT;qq3Kki zt;12aV97Z!W*CkrkMk8wSM*Z{T@c7o-$h^52)SZr*M7)rewvl*gJP@75~S6SgN6P} zD1_7{11jU7kfhzQAB&xYcNCB5cd6V<`Ni3?llO}~W~7_vx1Jw)TzXE<h6sk9(I*Q& zNMB#EFDAUh`iQtKff&UmL~&K&9MD2Hs;&3K>c`PP^$T>JqowwWvZfwRGz+sFF&rv| z62&}nq#j9wGRhPRI((QNBUD?Vsnw1N^W$Qr5--GQR9n$XjGv_vH@}spYERrO(CLp! zR7i19G<?BL15F3?e3?_oY`KyLd)a)}{cn&Ct?J2yd*X%Ks-|$86n}N*ZKGq<iJx2t zw@T@NccpYBxsgutyUtLG6bB>oB*q@DwQ1_a*B)+3Pi;$WSxarxEqF~nr`hN_`(qp; z^~l1b(i*YSbHmfz*~I$jlGK%X;L2PpU67upOV<@~;A-z>Z*onj_z<3@G%|Eya-ml_ z^R)=y*2v;*CP3o;8Cr+<-sIBvlseJIB}?fz2}GT^>4RvW9X#*Y!S2epwYFGS#8;}c z5mV}PsXUd{nB@iFn;zL_W_VAL@_zjal7~`7t0=l;ze%3uk!-KXIPJn$uJkU+QL2FL z)Tq(1NT==yDktp{mS6Sw<A`%I)NDQ5KHGcHtJKOPGy7-qMatKM&XGKnr96~J<;05| z2ka38GX1<w#(6i>Yxo6>){!sinElf45w#dgV7kw~D6Lapw*Sa&t4gG{Y@m~oc6lrZ z?c&j0ky4(QXn~k(=Yoz6Te5b^OlNMAbQP%m9(QAZ(Q01&9yjy(7wcyE41o>nDPZyF zmnr!kEn91o?#PqWAgFjQ6M9;HcEzVn?7czNdUUv(|Ji5|LSDwokpWT%?k+XUv|y8q zC|2`m;sm1=WUY3FQxUp!Fl}DMx-_9PY8qwZ#^Fev&c+?JQmI&GvvkC6*CzJZzQ)#i zyHVNEN4#<MWovY86XWROS&my<3DyOGy9>QHgUHsZBdj@drlZa!8+X12$<kY8GZSZe z3|>`YMWjTuPT3whID0;W9ocJ+0!<+0<v8Vz5Y8pyC>skT`%2-A(_*o@*J82FPQoMJ zS88UK7KWi_265Gs_dJ>nT|(88$FJAt3REf3<IkCK<0+Yu_|iw*JwSQ$U%7IYzk+Fj zRnAg*%$`yt^=OX0LdziM-3+&R=`ER65WU|o#JU~%V{#_=kFXu{E3<^(D3SfuV5LkM zh#<41-w5TsS31oQeH2H1S9p<4_HHoieg^1z{ng2_)^>DtNzyCekKM)qJVXpww!~3_ zij80cgb-_dn>{<E5OGe=Y+>0VyI&z}_>K0>QGI;)ggaMWh-`Rcj+|=`KQa<k`;OTW zo9vrI`bhCRr*cd|I{1rr%Y!@Yh>vz|fqjo$^Z0aAUk=L%y8Lfz)p$0G+9Lt~$MwVr zkgI&huHjbQPI}Rj5@ceG7vjOm+q?6MZ^<w@_WuMjF>&+X&dpv4{W$7iXG_FQ9gB_M zu!0%Ql%8xBr<el)ux5_UX?@;)Pt<hSLOX5GbX*zsi0Y2ZQwB(!3A_crOH`6*lc@#N zHkEJY?JYA~)ix>!737PFN?MchCgzeX%Nm?lqgKmS1sa^ZGCI|KR9si2tl_N7tkVHa zt9sQw#@V3e>6yLe(VC&_;61dVE`rp_mdWB<O^|#h5$ETAeVbTwQuB*$Q`<wE_YrI} zR*S7Oqm*`ri|wkT1?B8V#)HMGyL=HyYwA5Kh8M2GT905$-TL3mBhHmRcW1ik>{0_U z+>M<cydS>j-uQs4y1--%@36QrXJ=7#x9d3AH_pT5M8qpr#Lr{kx4w_{Att~9)2<f@ zp_V-{&Nctg4ib}2iU)q*lEY@NU3iG`%X^pc1rK)RBsa!TMO+it=T$>5kK=f|Y1&6x zW$@)GKL8qor5Zy8@Et1?DaS{l2BUphj0?N;ZL;zYPd@nj#H$Q^2#Nl{L(XLYVxPhQ z`)HpXr-RCmpM|}g`6`}uL}3Qhoo%#Fhu-Xk0Y}#88WB0Lr+?rJmyC*UT*+0B20dvy z>#z)#;n0}Qgb8SL{905!eX6?c@ML<gXj1%l*qAW-PQT6u>^R1|?XbpsuaKCa`(kDS zRt#`X?s{yQ@gWOFA>hXn!?4w8Ot9tDXqd{C1`W8Z5{|JOX<7flzA)=TsvEYVKryM4 zzQH@P?Yb)l?`Wr#p==K7m>E=nrC8yP2i?|)>6%~nT?s#-yy1M{ZAA~#G)QIN#O4;y zE!f=S-V@&^ytpouMa@e!U|I(?ihBI^(DD#}MViQ&nmN6*@yhd7_>AITYwUF?Id@;X zZR}d1Ih%M;dmVVtKHF*#F!7n-|MSV%w#GcjJTS9+<g~u`)X;Z;52AC_+t%4zKWp!M z4!sSTbj>Kr^j<Pvl3C(bUv5~s_gbpb{XECrt+ZQeX0)ra*FWqWdnbLgUB9SzoTVt5 zkkpRFlxkx+U#$1C5TD(YbOa8%7rL>#T|DrDfGfAHpv$bBO_EENOYTdPP5RBU4i4bG z_qD7eDMZS_uTOoByOueRxGt}Z&<YoFqemd)MD+<uw#D1~K@RVv3cjKXzL5*QvP(vY z3%;sLMuZE%gXbZOKs+8C_8KQ(O2c!qhthY7({pf7IZ&RNAMJ{|$Bcx(;3;88Ia(f) zKk-SX*NlZ<`KqMXjD~;iDm7Z3ji2=@HEfE`(=-50JQePBBWQ0t=#r8lC1lFe6LY%` zd0io7io|nrpolOV$`f<14nlli$rJZlGx)X&CfoGc=Y3{d)rKQIa)aezc$sn!9>;8i zQ+&`H2PxLRGg5rGS!XbjC5vv421h>Lz9G_V)U7cRG}^2-cx%$GFc@L1!?-uVqDQl5 z!eWzj?SNDD_ZpH#k9se{xLs?|%6Oe&uYpC6aWBGTop_G{$90U8WG^L>G5%T%N1tJD zf@PCr&l^XddheX2Q)_T(^vNCP^6#}QOQ+~y)98~6&KC7vo3Uq8r0d9&9?oUb^*hTZ z?cU|6TXy6p#a@>YesJgw^-DSAXw%)T-AtPlaM>lmL8t{Kdnxhp45^edA>;~(n%&h~ zaDlT5Qy_+Sz@=_=H~+^y;6XYj`dQTz{X@-%bYo=O2>OEn!;t2yIT7WNh<%#jA~3&n zd75)-vEk=%8~%4=?>}l|W$y>HqnhLdLw)7YqGw2a%eOyu(N~_7pZ@9TYNR)H>3<mK ze>je{5+xhc)AMQi<$q0XS@@sH4OQQ>#XPmHu6N>t3<5G5=%1#$=sp^Rxebp)XY@!2 zYT)~iWVpe<6btg02pw9DOg{^7DmLg7_sXKbD5wD~E=q&la3$1)G$~30(U2?j;Ac|6 z7qo;PkR(NDFnqx?%Iz(eJ6v{K1fMK8f7Da`_Ff+)oR{$bV(b6Kw*Nn0X?|#iA_xPp z4f~Msf|r^4Z&1d>>4<7PzW^_K*{(mBlpVijCp7AJ<bxt9GM?Y^kA5){cGQ~K&?pfA znIU8-#+7#&BoPt6=FutMe`5VFe*G^#Qm4v8#*11u?-wIw$E}$O#UN1&)gU$u`T};S z8s^X_K>)m=5i(xHvPS<P2|H#@O=xDoGS`218sBQZ8Gi2v3x!0+3t8suA0!sziM9`o z5(n@a?xEntEW7oGBhw0%|EMAP4~Ugx*BJJPqtJ>0zzpjzQ+$^p`YC>@`D?%!l7}XK z!Lmrdxfu&eO<1U`NI80qQoj@mt>_o9^qXHQ1#93KnuI2jszqyX86Nxx{IJh$XpqZ( zmxI+v_0yn~iIk&$0R=HTOpRoytPlXzFdij6a@n|_f|MPnhB{PM5CChajGXSTfnlf` zs!FUD^aaW&>EX*N{e>j#7&R85vcdpd!#U*i;AN-&LQ-~un&VJe@p9Z6%l=Z7GO;hf z37xsHhB9PDPWM}u={F@|N2^H<oe%+F8rC7F2QAa}n-a6*)vSb0hymCQ>rm1Imht-! zf3ic@aD`5Y0vHS(QPLxpb^0xl%LL1zYH<GpqUD%1TK$$NWugE=!&~I^kY(QfLt=KK zn&;37aR9&JEsD19GFU(6&&F>xkfHP<0AfQp6z$Muq5c!(GU0N>8t%Ic!^@ffs^(=N zV{i6J>W*sJs5G;Uc0(yU`uT<VhRWOwZd6iYrIcS%kqE6)u89dXTmBb}B^4#eh9#-y zC&)so71CKL(flIU;OD}i=`JZ#OO(w~(Y^EkL&obEC5TkZL9UgBDhs1lFwf0au$Vv< zFcG_0Y3|xw#)e6zjgm?fJ#J;KZL5$|`Cw9^o2)Uss&L9ZK8+H>&8?8jw@&R>_@|s= zeP(Wj{5VYlxq+j8kR&Gx6l8eX#~1cy_gGq(#a1I>rA>$4=<B$;CX5+4T5_s|YJnt1 zR@+TQm8Me*se!qP%;r3~w!DF22{%ACi*FMS+13_tJ|^6Q00W!^w2g>(A@C8@D7X$$ zgpHpSnj4)Qt0Xyu=L^v)<#7I1{zol{|Bre)VLKrKN=7z_CFPgiXxwWTovKd~!pT&v zV1+t`R!nYjsJmK0Etu}ai3)`@c84afVsO|qpRP6b!a^WVn>J~M6}P|0#OcW~eA;{g zUj?(|e7%d)uOPz&fK8O1zoM{J@fh}v1Or@SBjfSOG8q&u*w^=2O3E58!Xg9@ckb}X z53L!uEJ2+JcC-w%jrj$!0uBiK{)VY@80YPO$(R!>)8U7rbPb_FVWmi-MwmgIQj#K( zIu>FX#TGQ>S(*)&s^ZNR4WwFwtRpJybp+~x4l{um2MS9VWmNK9|CDnuN~TNT4KI@- zHtDf8lx*sCfpMa>S2wW5h!YusYN6{GB(6cjQRpse+Vaqd1FJvTCC!S<8fXWjhE$8u zTWCZprDDrwsp^!Hm?b4-QI+BY=gH=-2ksMPlNMz#xhUXfMjXmzV_%GUMSsXj&NO1E z*3121j>PRf=OgGzogM_YL=@@8JN!-Qx_}QeNp4pO0qXU~O)d9pJ=$Fyc!KI+z}9Z? z@4MZpU5w7!E>)ezv4#`p7P2Z9_(#1A#kNBgESsKN^T#ZVYd4o1&R@4jq8MS(Fz9E_ zuH7I7RK_GHhv6y6Iuf#NHQ>CPw61`5wUxa&KjKgu+SI}<?<AKZ>U_qZfrEu(eQrR- z%Pl}K79h-oYpshFsG7;5xa6$)6!*^=Hh{|~CmKqNlV-Nr#bB%-LJ{qvl@2>BC{zP~ z9lH$SQNck|UY%|p2e3I$pc85Xhf?oX{2XgnBy!RmF3bGzZhb1OD+uV;03&EX9V;1; zgx&^26Kt!|OpWAlA<JsS)**=#L>`0J$e?x6S}9f4kyxh`JTI(VoK#rLz;^jaBi#KH zAIR;Ga`7A8nnM%LT?o_Cz8adqVW{@cuXQvFII&ahw#EBDdugZ*J#2iZi?OOOC&?kX zIS>H3U$|#Fb2TMg=+c4lxZ}nP1O3bL6Bq|jr1i)gRWX4cixu*U8u<-;%PY7o{l;uf zVs`c8G4(D`9Dx<^!aKbR9v;<W{lE;RA$YYIX$?CdQ(RhDpSiWUE|MBCc^f;n_1BLZ zXsHc74HeCeZ2v@<;?{M`%{8m@oJosv1DqM6{>ht16x0@YD3jIObOfnlvFUiz*k>^7 zVg}>CM(*|ha1J!Y{JIj1I_FLM4r-ODw?T(-q2m=#7fRl9yEs0qiAKz82=G-^3?5)g z7EK&>L2#}BU$vgmmxzT_EG@C-8%Cg<7oiTV(2nt1YshL}aCc$SG4!goBB0<ALHCc? z^M)ls{|iqaQ+<tEZKD(<T|>8nEDNRPtW|=3VLy@<!5rqzz5HEz2AsGE9Fr|?BUwZm zS7@d&NuwD2(8-DHsV~k2V%2T{ix4@{VI~7PsM_`N1i}#-lEqP7W)=ly;#dPq2h9SZ zf$iR@_BNnp$4<Pu0S;G4cREm>lFyI_1GX_@0!GAxn`ckNvkCs%nkB>D3Nbd&I$9^> zUqKmLt%ankf(%p&o>V@XtM_#*vJP!JOO02v#+@iRCyibG<F*Ek<SOxwghpQ(5`BXh z${;_g8cbQzt^(?>$~cM{>wL@*qhBh0D0eZp?2VAX%H7gg!u95S%0^>)_WRa<Bgkxp z$sD)`6wy4TJ=+fTtoUJz!Hbm$V%2M?Ex86$-5F?_ArTtt0DF1ykOjI7lbi>)bPC#d zPbCc5My^(4Yaz`Uh`lb~2ynw{U5eRu{^sToUYtgZlhir#5S9AL^5%kK!ulc$FRT2u zX_ci0cKBT{>>(>{GJJ%psKg&QMt|o+S{V{)JFe22zYVHYXpug22GrtQK#KpYiNa8d zOHvngR1z_V8s1=yHXDzz=Q!sZ2G?|*`&(@SK7*A)Wr0R4o(oF%C&1sEPlC}Tx}ntF zF{hiyl*PYyR=HSJ!+$I>6R!O<eztQ}W^&M^X{-Uq?&nZ*Zz0UBBZtP6ongD>(OSZ3 zHvjFXGF7hAK-0*Nz7#gb>JB-tB9z5G>K#Q%$HN|rN-CUhUme<C${yY6`4C}X(pp-4 zT$VfNBoLqV^g@`ZJOHKvr5V;D98qZZpuZ+ceh@kZZW&Hx9amD#xFm%ZaWYZE+xRC$ z%)ND0%joAr;~!29<TBI)VqgoARD-9c7&`(Sy4LEd9+3`Sz`fwA^k4akQ*;o?A1=}` z9{usac&g63g^<1tRFVMEQtGVm&>wg$6K<~NP3^q-o_W=c^6H~f!|Lc(CZ*|SN%MCi zBxb_~6%SaUnS#tQ=T(L4G+KOho(rYyl1##pE4Vit*C=#UhRPh$dSqGsQ4VBKH}{aZ zy~&Wr_mHTFWq&N(0!(_u`5YRG60pS`unV;IVWLwgA@AH_%GeDV0r?w*^|lFc{ETt= z;$#XkWJ36rq8xYttnh2EQ0sUVnf4KpJzqCCKx=&w8|p6y_+X*1e7CV6)%5BMN0Qh@ z*`F@Cih_Vz)C&B`u*={chfauF?lz<Jr*;oL0w+Np2m?~|-;4=DM1uxLeqXi1+z<47 z1Jmf^loXFW2~^t`d9s!0X-3{nCZ6?k;&E70Xaq0dL1FY&Xottnq{9&$K?q|Z4mWz* zwj6My<!4@89er7>=Cdv@K#)HEqwQbL7>P<y4Wn$uOwhv#o17~{TNp6nV#aQFf&H0C zHwvlso!`c{^?+(47(Yi?gNwODFV}08`BCc)YacbRK(U`eoCcPuY%or|UI%Hg#*HuX zAu87-lf`78;d@G2#+Etc`kQ9G&g4M|eT#vZaC@b7`T1!A0tjL9-Gn@%@#N33xm0>F z|5!8qCp10t$oRAB+BZjQ%OtI~W`w2c$Qjqz=0P<=pD<Dmnjvz{M!$O(Z;J@11M}1E zV>YJ^anM`N!^KL><65-3tX<R0lhPfSsQoI_@OVLf4A??ex^pKB7*nf)2#9vYf3#5M zIeNYPBNJ@&|Euk+g6jCXw2!;H201tc*WeBZcMSm!?i}2LySrO(2`+&{a1HJbK@;5F zhWX~=edk{@bN6*$b#?8ht5)r`s(S6cpI;%;mD!CysX(O>6dGn^9~(gHqgfR@nBTQ_ zaTK_!)=IdeOv`tq{;`UF^9XJxdHF36v#I)3)Z+FHUjBI!gb#!b9kvrg9?wHRL~<I$ z$17j9;WcBnie9vw&qX&v<$*E0NIAuFGmOW!aIwJ%?ezV7vqF}oLkr7SVZ^3QM>?wL z@wZLSFDf0DhpTT8*`~{`4!_%pWw20>rh^zIZP_3H@I&0;dKBS&Rpt7@SYhp-ihwrF zfdkiN^p#M3a3hLZ{wyml3<{BIz$!u2f$Jv}?y(p~#5DD&AE%|fEvUVFs`H*Z$<!1) z<l1m>)`aauA1zXb6~jw02y<zR6vLHD4vhtDge>!qO{&3Zl6;EVJ9NxA;s9{tCwA$g zN=bb_sX-d?-~)roS$XtC(f-ff=rT|`l?Evb!oz5sso^lRQ%I!cB456KN+rN8MU+~| zu!>x(j-82!ZE$i>Wdb!~6%Q)~y{yX5P~j>=n!>mHqGnO`_ZJk)G*lhJO|Qu?XcQw+ zJ}WShw?|Q|ix+-&a~}VZET(p;W*|bkJHYtIb$`11uqzZR#_`X_aQb(bXzrx~N4{$6 zu;CvH7Hhc)&gn58q{QwQSadyp$U#prrIeJx+-kiESkhz((n6^TR{=5koKcjN=v5>X zlf^A>33!72O1aB#VcV|IPC-Y55k;D6DQG#_4gl0RUqxZUvyAj5Wq=yxN%wY4qCTU3 z=8W~4ICXAvVfm7Eo1Q`VwxSt=H+rin`Q`)ISS<&{9ms=+?!jI7D7$kn2BWNr;1%?W z`)wI*Fp_`gL~3x=P+nF9gHp?_l3zx%79go5Q&7U&dN?rH4UB<$l)a>{Fgw_Kq?npc z-TMO(8(;av>T(2^PvN>H#?_iu2)h>r7)@u$x8D_Y7(Eo{xK4U_Fvb<|qsA392KX-+ zKfqz;Io`}Ygc(fS(OO*K{aya#WqmzQ;)CMg(`uao5gT0y3E}IBgpA?ES9zEpMe3r_ zmwl$|=lAB@kfxw>oemdzy5#X8h%eV@`lfqCO~ZvqwE+jTdZiJ+qIZ67gnQ;Pdb9fr z)SM68h-1na1Pgk#L{4{V04etC9qtmFRGOdIWf2~H4U4Q&Zv{>Y9?tvXCWrRyLw`7W z$N?W``v&3Ixb0Re>4y&og*FfIcEDBifoCc8vJ)-{QekMBRP<DmVKFW-XvB6wO5+|V z6m6*lfiWT2F(80&WXm*oPq7hLck_T8ioFLgWO0D+EhHpL#pq}Lcn_WVoidJ)?)UrI zUU;+hDBOD)L%X?;Sd*$uT$*%d45`i~iGcxj;eAem%3956W#6@sGpk~LAp@eM_ZVhQ z`YOUmLYIH{{6rAoyLC=+Zeg*<eZXT)!?IJGhDNh2)KJ^`>Wuq|NdLZN0i|{9H1YG< zg12-7!xp>ySG?E+Z8mfKl7{mVQ=NJG66@u`abyrp?`)oqF`s>a6p4r7!$ZgUt%g=? z{RP%-M?HNvwy^^`dTUBDkR3oQ$2|4km!$FhIDgnYCslShc1N4!z-4{Uhkxg)ycK_% zlzhhu66p90BbbCJ*tT*_^JzSZ;PLj?u@AamQwr+B*O3*+y4wLgMB1Z*o^SKScT~ze zLneK>3Knme<s)8^<A?saGJ|LXnT)rUlab=wl3OoKmi`!3I#4-EESnkYR3MLv%9(Gu z91`*#RmhbCsNF|R&`IN0S=`4weRV}0&+X378nz@Zfl_fMEAa~!q<cV}I23Zbys7IP z*Jn|7GErL2VyX+pZ`bkWdGWC`qD}YDuY4zS6}m=W_bL0c#U4=XmU%%m=0_3_W$F)Q zVPJiDC*$+cnXVr^PC3!UpFdjON)RuOdNS_$-Cm}ShHH2F<X&}GYw4JE9^{o?y|Dzm z#=~U!{m^N&)Gke(Q4Sy_w<|$8MVb-oTV%SZ+=liZND3jm9*f~mg?Fb_HbX0W^CS#q zV=&TB4D+ECdu9AC)+ubJeMyr_>aDM~%ld`R`p`nmcZj~_jyTeQAuS=BnK3;f6k>FG zn{yE9m75oIAE((_gE#o%n<b8sZce~t`UmJ72d&$Owo*(g*3H0YyhN7pfC~jXArB{I zwfqrbyW~E`19z*k4XxKXO-*Az!jHkL^cwBLR1B(zBw!nD*k}vxCXArl1pjwyXH&p3 zhc&dzSruZy-sOdwy&;!DzzV!|z6LZs1#C<~7sh<`<79M`J6nsP=`{RXSa}c_<27{> z3%=pI><;|R_uL*i#_okg6g%=yb+*5|FPIVYKJfQn^z1C63HkXRbzjM?8?vAO3=F>a zrRXEnMcUeiL5uX>^6bL<)M@{lam>xUryF<p>GdL86`4t}6E+Y=^Oiem%}{K+9If%g zW|&nV1NL<AP_4{FVPNn8Y<L@5#mhZ9tO_AgWFS4Fk=Q;e!%fo|Xvr%fq@@Ts95GK; z8W9nLKv#>bt1_Ue!5MxI1O5n9fBLs65_j>v%iyz+(iAF4A4Qi*Buf5=*}2a7sf5v( zFDvGCLZbK1nNlUN`koH~#mK9?prE6vgUmPwCe+^k#I~&3KKoOlosHLg$ge2ly^x9% z+fjN=r3y4<n~(XLYWUSq=f<+BsVUoCoB;^%mkI=vwsHP{zUgk9O#Y~DFayd9-2Pyr zpGet!(~mL3*kg)tLD6m34`i%xl&=1w#SDD7VJufKpmww10#&j(iGPP_>}1(V_p3tF zW<HOt^-<DHx?Bxptdu3+RTuknhJ5}f?s6xbk?w3QOoc;z;7+`k9*`JfuGFj)in;c7 zXYl38_T^NT<T~`O^MW`wBg>lE;M<ZdS&iK`b8qTs(E8S2AV-`wT})%@77t<VE^2=& zGXAN<7ud-UywM<7RLZ?S!zRqlm2_kkCw~jrj3d~};e(&0kzaj95K?J$_RuIo;lrmU z>yw-+Ev-><M6NAKbvoecCNKN?{64)LZ0=3LRk7zFj<RbZDj0LjxDibtz7~Z!>AqcA z7s^JyZ6|K)sbf}XCRbORSM2$ch*C)SYAf<#xoWHAOH9nitZ9q*<I_J;iOdt`!?tVC zlPg`4wV*DPOu0speOg$#*Fm-|M=vl~j_1!U_qasn%3YX!D`5D-Hvi`^`PwF~>KZ;H zuSiAGCejGXJR;>_mLq3GJ%kXns0i{d6%l0BDbk_#XDuC7vuW=n;z=CzmO(Mb0FUaX zU8Xp{k_@7Xr3jNMWX4z6#6+7Qq+6tbS=Hew&6uz<166p^`BqI`@D=92Z4k?i%eDhs zSG;RPFb{~G1rPY7zx&=A1*o9Cxq-43gCp-9$y->Qz3X0p_jVn))81Yp6g|AT5dbs5 zW@p3`sg0T>#knIe_V#pNWIY5Rw_6&oh3l8L-CNWD)R;E8wE80-f;$+fCSkhl`Zd42 z9*@viV-q}BL?CQ#Wm4fgRnliTEcNiI27bi-LcY`bBJ<bBo-)b2hgnBuyhjDzCGV7M zo6XppQvK>3f-pQ?XrU0yTf`N0jBEOip(|g`n+QGeJ-5r}wh-Bxdlpkjx||=Cb*tK0 zO|AJG_iOBvdMBy%P+pk<yKR21Jfa^{+fUppx>j#+wvKb2fUhOqE-8t#|DE~6Ywa5u z)*D-k2G^?!>E)Zq8@<TeKRk!_a16y%-yOb)`u=avAy0d|6LLMrwZVs<VsEg8o%{jR zBPZE~{E4+<m~pV9a>)qdQfKNj)IQ}t{p!I4Y51%1$t&M+3#5PdCu&goF}54o?r2r- zuqC{eU-@y-SPpN2`FD@Ee#qIgc?je@oMuPYI?h)v3@JBiS<ijR77%V_zj|E$@@7-N z#*o;>a@i#fnFre}R;?a$8C9+F{5dv<{B(A%I++_)_HzEfR&THmxMNuuroTk{itIfS zv}%;y<{tLN?sQvwWZ5p6ym^1a8F(Vo=vLU!vd^9C?Nf3|Pk-+nW`IR#?`FdTX(Mkt z7IBJSw>(W0bn<tHIBY`9+vqoxJj7n9H*-9{c(xAn`Jsv=)H=3*KErspplle!Zu8m% z`#5aAWUe_MuQzp&pAkH~aIpIR#n|71dAMKmlSu1UAgD%+r;l$t@#pU!B7^)KhTh+y z*Uc#_0K#podUt0-j+^vv+lx^8g&WpE;Ofbd3+NO$Ls-XfvgbCBNr(cQ_Z=#~3MWU7 zqo!c9_tCE`r*GO8-kwrU9{Im71Rj!AVSAQe;G!rIeU(|CrQ+O2pTHX@iH^g1*e72u zmni77X1h6?GhTyd?W{O_>EMFxmgrej*qK;yFFEygF&^Zk0$LSB?gBA9H%dKa+$o?- zLB^R9aLGsGzqCc_jqpfuo7@r;5jV)sqB%G(*$Wgu#-$%otj+`VRMe|%91>%tV@_q- zypQdK;Mg@H_N!t^*|fj}8H)6AvNbURhTahB)g)U)f`@e%m{`EQF-ay{(665@TOIR( zUySr%FAXcxGq-+_c_Setjv7{pY;_kU_yc}<q-_&hK`%8Ub{u`sH-oP0Lu&WamL=ie zm6N*eK=OaWH0!56^jtEEe{>ogp~qb-3$0NNP0d*#GqQHJ`Pfn59p;EM(+=k+7~y&u zKRKM|*Z`|0f>;>@dY!-fiTst&AP$t8HKA|kGJ4Z8YuISwGwP~QRc5(g1ep%(-8)vz zfM`~vvuPgR$gJ1Y)Z~ezHq5JN>kz&^M=>3D(n3L$y6Z8I&DvC;Q-*mV8^Qr=0lvP# z&hVvyD<VjVBwTH4D_^b>#Cp+JKSSV1giaw}cf*f{Gbm;FSM*hn()9d&s*R^v!&=|D zMJt4#?PvW#li;}bQT0=*Kd_ZqU}wAItq*3{r)2#&W!Ppn|4*(>v$SsOVM>C=<nl*) zaBM;*^+qRPCX$^g(Ls2#?#7%<^`884PZ*<J0P6;T0>_?NPD8UM$xc6{qRm)_UfQ<T zq9NGauukm{jrn}q`U~%kE$ELQ+ziGPTEw}4swBY*%rU7c`)}ubY(`AZJr{~$SXF9* zwhef$U?W(>q9arVRbjkiL}N)Nm^{Q!CLV}#S*zuHFX-4lNRyO4$|dJ-m!h&tBm#K^ ziG*Ro9p9qr!Zm*+zua-EUH^@PP0KyB?!^2VK{QIR%}ZC2F;@174(EU4X*b#0hf9k~ zb@2ImBrrKHBa^_n9)l;NEVNuM5S-&9gFZhWdMC<&m6byvo$Ic+w1-6No`0w{DC(dC zTkPIw?TDKpVjR}1W`)&gK7>4}5W6o8Y1*1Sz%hEGiAKIg8bhFCKGVPo&JZ$ofLZAm z4Td^NoV^WH1oY}gtDfMvC9l;ESjOU}rJsCMf+S+WGR;B1MiZ&Y(MsWO+<ZrLYVM}n z4F3VthR{seV&dlE&i2gt3l3WLNd^*%t=_$4V{JccH*uRf7t}I9#yF-h&&On-G4*wC zGb+NLz^D>jdQ$K}t+P@#rrr#7!W_jWj3ONU9)E(u*c$8kn%Ye(?$O%u1WAGZw<e=z zN>B0pz+O3ap0)(U)ie)B-uAhy&-T)bFgD-n@t8Is&kdhBa)R;?Ru(eshm~=uDJsi- zVwRRdm!SALf{^lQs*aS({OUI<1eCIukPp?k(PH5hMb8CTt9+FV8TRwywRCw!+&922 zDb8;U5oEVsDy;j6j|;d?(4GPGR-Wh?snWxnnBu3FA<XP`XM)s--*SAzSa^&N$I@d` zeqz3Nir_4UkXwD8k@vJlUWcMntCUAM0+R9uG!+S(^%kJ!{!aK8&aBuqk!|7#FIs7m zLu%~8M9w=Yhr$Z_aQpp?&tL<gXoFz<Wbm1;GE`Y$)sAuenu^HccE+bT9op5u<O>KY zk0$ph3p|>CP%owaszVO(EiqdEptU>sO%ELg``W~cWepMy{>;%5zZe^iz+=sbooBH_ zcz8~(Q4N|)jN=x<!?`#w%trtRt0jcD^?q0mMW6{`x}khamQ{>lZR4`&!3x!*qRBvj z5Jv7=ZJkAF40O$lFIY;<@U0`=2p0-~3y(8P7vW6>2mIfdz7UY_8ZKe}eylRJ-eZO@ zzfx%H36U23RfmGfPn>PZ15bQQ(d#d@fVWQdBp6Q<gSStRJG&u{iF5s^GS>(zPNkVf zoDzafiEjx%P?fo(9c#fzWArDmZA){3Z)MOBM<51V9?l?6JPQwikpo@z?X6fet5-HL z>b@p9qsw)d4>eN75ii(?=VH)Omrs2gFt(BnX+uauM>xu^T8Yv=v`}w|zaRP$ZpI84 zah9j_Z_}{X;jLPQyKE#e)}h;?2m*eR={NZmfDq`>Fmg|1WqVDDUlu8&sM;(Gh(e}C zdxoJE!fVr;;<awZ+-iH2Q%6ipCW=l%?<+x|w$vds+D;nUTdHr<WYy{Roarr<*WLiV zj&#lqj~LJQbF^^pSi*a&|7E6rB_qIsgKxAMg)^&@Rg9HP82s&Z6M^b(!2f|^S#72V z_{SR}k9&_Ri-M^u*!P{029`M%!>T;mJhA5>56)(oc1Pn3x(w%axNL>?mT{B3P>CSw zGN-G4`G@$~<;x~sF@3r<;_q#nCXR_Skv_DW^lmt($Is%?XdO>QH1W{}V+q=wf=DG{ zYmPIouN3<?@jGcPFuNKaDv1(kZa)WpNK->zNrIKu3qHdIJ3n<|_5fes*J%ogwb5}L zQRwB*v1j16b`w$w1O}{~70tAe1mvw;uFbTfl4gz9c3r<)FB)XWwy$eXbc@IkzC_R( zikENDnDW-x;%z01FDbYJicrMMhz_^psA*oR$6R7CF?5ruMPK@i4;Or)I8mrv0*B|G znL`-$5@zBDP{e`gAJU4Aq}MX{*5G~<5cc>Ma#d^Ev16%UBr>OB-4b>2mk>A;;g5Fz zV(%*iRtIF362>;v6L%_wSSZJhLk-C9=?MQd=L{&iW6tXC_#<pu#Amu>#^XT?<B;<@ zt95-3SYQ>&n!L(RxfvL_KbXJ>pJJySSDJ6v%6;_q>C=SaMo9m*d)Z_jBp_zB8{kG$ zs(q_7_Qu(Hpu)?}RpJ&M`3Ou35TNdC(+JQ5bWI=UOPOaN??gptOg>)da)s;^E9Tb< zy3V=oAf&IWO^r6--}lFDqgXEsdp}t@<uDfU!Elc@c+SRb7e+$VsP%>Q($Pny7q<G* zkVtZ<-iCgURS#qtx)(B{kPCmAI7$plQl0obioMd`AB#L@I=lqGN`a27SiEyz4&~3W zeSYv53-)&wy(T;`&MA<@M%jarRcqVhURM)holxUe1`u0I(p0F;M5vHj1fj@8nsG)H zog3=OL>sbc(2akSDfS2?=CVRUjpD>ByvE$Wo_?gZ+22+btrzl-Tf*@>hW}uk8NSJn z_7y4csLVABIK@NGKxmEhVFehsUWO;iPX@-K+b=&lnC$oq3L>z47Ikimj1)V1!s>1# zmHB(np&K*RCwr6<z#_5_Q$zo7dR$HWGy*K?G;#}j+m|SE5q?I`8HVuuIc09@|LwNZ z7FN7~mnXGvV;7T8Qi9a@$|5QlAfuihhjVi(t|1VG5LOFo0dAn2Q>*S2BsUr$yXhlY z%qsOZbugwXX_dRvgU(h-3hLe85${{3ezXm>UbPTZ$XY7e`x+dil7YbdgF1@tyso4l z+}}$_i*o<Ii(*c4DBdJTt_<IX<rJ>Vn#hqM2@MXj$0tY(+4i}WS~#5DrmFja2gaz| zh=22Mxk_1~RElEa#W-R2B~aERO;WsUE7R21vRx>XS~quZ_T=Z*dY-pwP^Y3eSp>;< zmeQZ?rbvKq2Fd#yWIJF}%z7hj(Z2?1O*GM;hf!wadE>Nn>3HsM0yf3)#H@NU$S3uM zUhu>@+3RD1!$_|g(6VE>VMyfrO4;MmaHlScen|6CBSrYmTI2E*rS~XFC=53y>Z}A1 z`^A9C!mmN+X-iA4L_uP0-n@MccKh`SIFqY@1R`W?z3H_SF67G;$cg#=B|X$78_P83 zW^oGohFcy~vcS}L)%Hn(uEp&nf3Rd{xHDqv=Bu33#3M@p2Pf(5%)yqVK!sdWQ^OXm zWMU{8aXUAgGxFV7Uxbq|Pg!*8O2-Rr(O8F>+)E=3ws7@6aXJ%=skJ7VWsZLmb)uJT zDSM_+50qh|ddqZ^wI-z^KOq{jC*JxYU??WYDh>n)511H*xwKmS&{fBnF=F|PesK9R zChJb*#vPgQ!3BO6Vf+tb3A@J!ZGWJTnaA_NBrFRAKxm!NJUO>r$Y@+<Y0#HHOLKJC z`-Ey~K{(-?0Dt^a*Dy6n5@}+|?tN8?bnZ<F>H5%~B|zx^i4G)-f6iuq*i4k@D=@wC zEM?0f^=7J6MKEy-#<@}b(Sf8<+NiA~M-tyx1IIg;awfHptb?5i^6@gXIy&qOud-rQ zT0a2W?!}WsM&vYvYZpMoN(p?1JSXMFW6}CZ3A7iLYGes{$Vy%kYDlOoe@wAx4jgb; ztkQ2=B0s96#m)BWE6uVTZf~V+ykUFOA#Y(!xT)pWC<s#b0>z=KH-*!NUW!t+6*$SW z&sSX{yHdHGSj3@M+9ba7e!xGlC!wpuwlx~AA&o6EUiuJQ2>4l|1iLcrj+8kzGJny1 zSI<~PN&Hz7GEWV`hxe<0u~qLc=9G^kE*b#Pp@ND5&h6M5M53Xcw$zt&(uqW{K3K+R z=mjC#vF`~hD^e_li!aCyBdfCaa>X$mZ_@4-*6mPJ;E<<AN~Q{p&QWzUbr(SFdHq<D z=}3Q~7x^oDyT`vmo$X8W5yinz?UZIIxcw(3v{`E!_O7y{jF@5s*{_22tRcA7Ug~Ex z>|tWV<OM2=;Zt;5Zn>|e0frwi%3_vcvtvn@lDdW*jaiafhBwMJOtWHY?*nX_<Yw@F zOLSP^po%$lP4wa9VY`?=Cbh`^!9N`at|pC#Ux+bglLmT&N>1z?KJ9rhO`xwE^)gg1 znZ<sVQSq=2$wraM*#dntQNkKcWX;d>l@x9vAGdkc{GI3cDJ1J)Xj5l}G*&qeC+|9d zkT-r^TKbx6(A@Dsyq4&vLN6N?tQe``?y@`)uv{tOrg_+%KDYBDu1IM~Je<}Fd_&vR zuFjD)C8MOCvCK2ti5+JQ5k&t`6WM{4-@Z(*YR>*<_xjE%WPJdSDjl*kv`plr{P^gS z(3_=<o?fH!#l;m$-^PAX0T7Thuu<x=yDo#%b2)ziy<P%r23D_ui_%Jzk!L*uov}fV z{w-lXSnodI#%*KuQ!2;)k%_IWo!EGSL0rW&Arf7x>m0bU4cN<#iopciKEyE6-dJhm zXpL-_5BcF=F&B`JNJVEzpky-8l}_uXNoU&613K9=q^Jga>^!Owhdbs%W_!Rdz{X<+ zo&92UsE;E;fmz6x!G5aYmUV4^xQ|K+)qStiQ;rIxzN^U6$yDy3lsD}ik6UhG-`AP= zZiWSjwBtybRl{0H{uT<JCZIxy=S_Y{k>u2XyGcjjJZH$(jVvM}7cUC_k;JhY<d_JO zrVLMtMAwWk*U9opY<?QCm31kT9uqWqD{pPoqZCzjKJ^<!P5ThXwk&S*ZL|ayz+4J= z$_<X{o1dR8d;h=O$Osip(c5NT^QH(Se&0PmuPJr%u%p_pJwwJWz4qrjXRkChLARiL zGptK@7j5ecoFWDia#?SA=vD;u@7gOUXD`7~V1>p^uOvaC6Ar@`VbIsv?zjl#Z-u%0 zS?JX60!Yq`5|4r#_czTdP2l)ny5*@sNW{;!5?}US-9H(-hH=G!J_Wm;Wx0qZMNP^y z*}h;?^o_2_G`$3c{jQ5+?aVOvP33${hwpVa{r1Ti#7bj-X*_4#QHO~j#~vG&CB8hA z|NF+1fgQBi!M#?sxsWNc*jR^5c+uY@Q!p~exJbc*_;zuk!?Ih4iH*4FH6U*a`wWw( z-JwL6W8yHtn2Un|85s7E8*Yym{{wK8Wj^mp)y$((<cutv1op3*Og6WmfWy2ZLTU_P zq>^G&ppUq{dQq8;(R`=%aXM0n*s%4bhh_v+a~zwlM|Mb?NP++cfD&w{Dd1Wk`qaq7 zZ9B0<;Ljp9<asPV&~6YC&Ib@2@T25$h-#Kdnto-C;9|CWNz+V4q*G?<*Y>%JbP?i9 zNHy+;n)suIa8nHQsdcsu)R)cvArjk&JeN-jRX2q=I(Oo2UaDOIjw4Du6o=j$tX=*3 zh?j<^U0%{T=1C#^i1<0JU87rnCs8b#4|nKG(~DE{GDk?0yyWw#{EQlFL21Mc=mrdf zaz*h(!tZ_mg2%jWTZpuJAcMNmw>5n+3DeJQ;>yZn1&loI_I}(nLuK_w#DA|uu_{&R z`-g-IC~pUufYR*NliL@OyOpztnyXs@P3-NvWwd+91{tImDFm~R)@|Z;jv8{y+e3Gv zo&fhP+7lJt6V&h?RX<zCR}_WQ_3-CNjA{@3wDpP3W1ojjA0iXIn_+M<fDCq=ojmk6 zzLh$q(l?>ADJyN6q%o2mTotan8t?Hy%2=AD;d`Ua*>&43_Mbwo`4V?6Y+c_jSu}p* z(MSC_{*LCWE*DyS?JEr*Qsq=_R>*CQ6WIBNJ-58=+oneC|3>jI^Yi~?3kVS=V$8mq zo@2rMmpQ(Hq@%;THNNW?O)n>Nm(Q&44anR?apnKV7?4}*xg?-fhKM22p1}MNXEPQ^ z?(Zdz7fP;N>zqx&$ANbf@P2!1&2ab6N*0jV%BXM5Zm&mR-xb+jT9ytw960re$2{4J z4u}m)6cmh{s&XNt%Mf17gi1wg8#B6QDFRT4ydXKOa!<0F;fYo3Hki1LXWWt_bkT57 z&`axh1@<p=eC{LsVkxW^)e{Z&=zk5bcx;(lG2{}G-lj*_-T69?HR)IIBt=D7Ue53l zXG=vZe+FFz0|s2xS+n_NC=|K(jX=Lu#M1-ezsJB^R>Gm{9T0H*9s{-aSU8!0Y)vf9 z*<8%Q?$#i47dCryR}(W6R}(gnBiQ_-6WGzo9PDcS{z8DyjL(F_LV(}Qf{&Yni`SHc zgM*!ii-VJs&zv8`!^P_4Vs8d=vR7A%|1Z1%g^WO}`wUx}Ll%BPDD0{YJie3Li9Be& z9<WMv(q)O$tR}v8?B%%8@i3e}(Hyw>H`v`h*^EUA>bom&b%)LxB;Y5P7uD(rJ`n2k zUMz?wfmKaIx25Hi#|Jg;cUb>4nV@J(B12!W0{tc)_2dKt9zQ+vnTW~k3;a!-cOyUA zhjmOVC4Ou6dtha*9?)FH3QhGKC*kUaLX^?|NL6yx9ATnr6(SS~xCJsBf$)G*Jx>#* z<4gJy>oB{(ni5&;Ts9-ASdsCE&wpjqh>91Lins770#LM!uX|Aa19c;ja(NM&QcJav za<Ay4u)-sZ6wq*yYGeu~r}eyV)EEqyeR`m3LTY9jV79QUql@7TDmir9*!&uc@MAxx zllV<v<xOILm*6=+s|)<P?j_D_*;JOZ2?Oihi@K~;crP=G2kjyvgRmBX)#^%HTqa@^ z_4x^Y2kxuknbk;xIB#xu*+T!q&Y&sjPj*~SdrX<pTF+$&?#j53V9Hha9<cnuCh%%+ zM_b`6h#Bxar`^Wd?SQGbGWt`6kSk53Vg2fZh|kI|_Gx&ZAq#=GA?#e1w<n8eQB?(K z7(A%|oyYM$W&Z8@H#)~Z2mX^p@vl*$@6+$U!3O?|OY!dl{}Za<UjkoX|4(qiKZX9e z{_roMS%v>y=)D;HyU_nsKmH|TXbc7QKU9-{3j8zq{v}{+^8X<fRTbb7{__(E@Auey K(BnY=`Sc(4A2{d$ literal 0 HcmV?d00001 diff --git a/MathExtended.nuspec b/MathExtended.nuspec index f5aa513..028e55e 100644 --- a/MathExtended.nuspec +++ b/MathExtended.nuspec @@ -2,7 +2,7 @@ <package > <metadata> <id>$id$</id> - <version>1.0.0.1</version> + <version>1.0.1.1</version> <title>MathExtendent</title> <authors>Lamer0</authors> <language>C#</language> @@ -13,6 +13,6 @@ <description>A math library that will include work with matrices, some trigonometric functions of which are not in Math</description> <releaseNotes></releaseNotes> <copyright>https://github.com/Lamer0/ExtendentMath</copyright> - <tags>Pre-release</tags> + <tags>Release</tags> </metadata> </package> \ No newline at end of file From 9d56368fea22d649f05547c206f3ba64a5703630 Mon Sep 17 00:00:00 2001 From: Lamer0 <combinerk@gmail.com> Date: Sat, 8 Jan 2022 23:49:05 +0300 Subject: [PATCH 57/68] --- Matrices/BaseMatrix.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Matrices/BaseMatrix.cs b/Matrices/BaseMatrix.cs index dba2575..5abbb68 100644 --- a/Matrices/BaseMatrix.cs +++ b/Matrices/BaseMatrix.cs @@ -19,7 +19,7 @@ namespace MathExtended.Matrices /// и ограничивает принимаемые обобщения до числовых типов (<see cref="int"></see>, <see cref="float"></see>, <see cref="double"></see> и т.д) /// </summary> /// <typeparam name="T">Числовой тип</typeparam> - public abstract class BaseMatrix<T> : IEnumerator<T>, IMatrix<T> where T: IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + public abstract class BaseMatrix<T> : IEnumerable<T>,IEnumerator<T>, IMatrix<T> where T: IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { /// <summary> /// Матрица представляющая собой двумерный массив @@ -53,7 +53,7 @@ public abstract class BaseMatrix<T> : IEnumerator<T>, IMatrix<T> where T: ICompa /// <param name="columns">Количество столбцов</param> public BaseMatrix(int rows,int columns) { - if (!(rows <= 0) || !(columns <= 0)) + if (!(rows <= 0) && !(columns <= 0)) { _rowsCount = rows; @@ -372,6 +372,12 @@ public IEnumerator<T> GetEnumerator() } } + IEnumerator IEnumerable.GetEnumerator() + { + return this.GetEnumerator(); + } + + /// <summary> /// Перемещает индексатор на одну позицию вперед /// </summary> From 347af286c3c363d9feb3302978880c327be6cda3 Mon Sep 17 00:00:00 2001 From: Lamer0 <combinerk@gmail.com> Date: Mon, 10 Jan 2022 01:49:06 +0300 Subject: [PATCH 58/68] --- ExtendentRandom.cs | 18 ++++-- Interfaces/IMatrix.cs | 2 +- Matrices/BaseMatrix.cs | 2 + Matrices/Extensions/MatrixExtensions.cs | 68 +++++++++++++++++++- Matrices/Matrix.cs | 82 ++++--------------------- 5 files changed, 92 insertions(+), 80 deletions(-) diff --git a/ExtendentRandom.cs b/ExtendentRandom.cs index be64d37..a1e428a 100644 --- a/ExtendentRandom.cs +++ b/ExtendentRandom.cs @@ -8,7 +8,8 @@ namespace MathExtended public class ExtendentRandom : Random { /// <summary> - /// Генерирует случайное число типа <typeparamref name="T"/> + /// Генерирует случайное число типа <typeparamref name="T"/> + /// в заданных границах /// </summary> /// <typeparam name="T">Числовой тип</typeparam> /// <param name="minValue">Нижняя граница</param> @@ -16,10 +17,17 @@ public class ExtendentRandom : Random /// <returns><typeparamref name="T"/> Число</returns> public T Next<T>(in T minValue,in T maxValue) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { - var minValueCasted = (double)(dynamic)minValue; - var maxValueCasted = (double)(dynamic)maxValue; - var random = base.NextDouble(); - return (T)(dynamic)((random * minValueCasted) + (1 - random) * maxValueCasted);//System.EngineError (Ненормальное потребление памяти) + if ((dynamic)minValue < maxValue) + { + var minValueCasted = (double)(dynamic)minValue; + var maxValueCasted = (double)(dynamic)maxValue; + var random = base.NextDouble(); + return (T)(dynamic)((random * minValueCasted) + (1 - random) * maxValueCasted);//System.EngineError (Ненормальное потребление памяти) + } + else + { + throw new ArgumentOutOfRangeException(); + } } /// <summary> diff --git a/Interfaces/IMatrix.cs b/Interfaces/IMatrix.cs index f7ec0a7..388c902 100644 --- a/Interfaces/IMatrix.cs +++ b/Interfaces/IMatrix.cs @@ -11,7 +11,7 @@ namespace MathExtended.Interfaces /// Определяет основную структуру матрицы /// </summary> /// <typeparam name="T">Числовой тип</typeparam> - public interface IMatrix<T> where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + public interface IMatrix<T> : IEnumerable<T>, IEnumerator<T> where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { /// <summary> /// Главная диагональ diff --git a/Matrices/BaseMatrix.cs b/Matrices/BaseMatrix.cs index 5abbb68..dc25a71 100644 --- a/Matrices/BaseMatrix.cs +++ b/Matrices/BaseMatrix.cs @@ -343,6 +343,8 @@ private void ForEach(Action<int, int> action) return matrix.matrix; } + + #region IEnumerable /// <summary> /// Текуший элемент diff --git a/Matrices/Extensions/MatrixExtensions.cs b/Matrices/Extensions/MatrixExtensions.cs index cac2f80..73dfcc2 100644 --- a/Matrices/Extensions/MatrixExtensions.cs +++ b/Matrices/Extensions/MatrixExtensions.cs @@ -3,9 +3,11 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; + namespace MathExtended.Matrices.Extensions { /// <summary> @@ -53,8 +55,68 @@ public static MainDiagonal<T> FindDiagonal<T>(this IMatrix<T> matrix) where T : return new MainDiagonal<T>(mainDiagonal.ToArray()); } - - - + + /// <summary> + /// Выполняет действие с кaждой ячейкой матрицы + /// </summary> + /// <param name="matrix">Матрица</param> + /// <param name="action">Действие</param> + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static void ForEach<T>(this Matrix<T> matrix, Action<T> action) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + { + foreach (var cell in matrix) + { + action(cell); + } + } + + /// <summary> + /// Заполняет матрицу случайными целочисленными значениями + /// </summary> + /// <returns>Матрица со случайными значениями</returns> + public static Matrix<T> FillRandom<T>(this IMatrix<T> matrix) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + { + dynamic filledMatrix = new Matrix<T>(matrix.RowsCount, matrix.ColumnsCount); + + ExtendentRandom random = new ExtendentRandom(); + + Parallel.For(0, matrix.RowsCount, row => + { + Parallel.For(0, matrix.ColumnsCount, column => + { + filledMatrix[row, column] = random.Next<T>(); + }); + }); + + return filledMatrix; + } + + /// <summary> + /// Заполняет матрицу случайными значениями в определенном диапазоне + /// </summary> + /// <param name="matrix">Матрица</param> + /// <param name="min">Минимальное число</param> + /// <param name="max">Максимальное число</param> + /// <returns>Матрица со случайными значениями</returns> + public static Matrix<T> FillRandom<T>(this Matrix<T> matrix ,T min, T max) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + { + Matrix<T> filledMatrix = new Matrix<T>(matrix.RowsCount, matrix.ColumnsCount); + + ExtendentRandom random = new ExtendentRandom(); + + + Parallel.For(0, matrix.RowsCount, row => + { + Parallel.For(0, matrix.ColumnsCount, column => + { + + filledMatrix[row, column] = random.Next<T>(min, max); + + }); + }); + + + return filledMatrix; + } } } diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index edbe13d..32a26bf 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -252,7 +252,7 @@ public int FindRank() /// </summary> /// <param name="matrix">Матрица</param> /// <param name="power">Степень</param> - /// <returns></returns> + /// <returns>Матрица в заданной степени</returns> public static Matrix<T> Pow(Matrix<T> matrix,int power) { @@ -414,69 +414,6 @@ public async Task<T> CalculateDeterminantAsync() #region Фичи - /// <summary> - /// Заполняет матрицу случайными целочисленными значениями - /// </summary> - /// <returns>Матрица со случайными значениями</returns> - public Matrix<T> FillRandom() - { - dynamic filledMatrix = new Matrix<T>(this.RowsCount,this.ColumnsCount); - - ExtendentRandom random = new ExtendentRandom(); - - Parallel.For(0, this.RowsCount, row => - { - Parallel.For(0, this.ColumnsCount, column => - { - filledMatrix[row, column] = random.Next<T>(); - }); - }); - - return filledMatrix; - } - - /// <summary> - /// Заполняет матрицу случайными значениями в определенном диапазоне - /// </summary> - /// <param name="min">Минимальное число</param> - /// <param name="max">Максимальное число</param> - /// <returns>Матрица со случайными значениями</returns> - public Matrix<T> FillRandom(T min,T max) - { - Matrix<T> filledMatrix = new Matrix<T>(this.RowsCount, this.ColumnsCount); - - ExtendentRandom random = new ExtendentRandom(); - - - Parallel.For(0, this.RowsCount, row => - { - Parallel.For(0, this.ColumnsCount, column => - { - //Позволяет сохранить инвариантность этого метода - filledMatrix[row, column] = random.Next<T>(min, max); - //(T)(dynamic)random.NextDecimal((decimal)(dynamic)min, (decimal)(dynamic)max); - }); - }); - - - return filledMatrix; - } - - /// <summary> - /// Заполняет матрицу по порядку:от 1 до размера последнего элемента матрицы - /// </summary> - /// <returns>Матрица заполненная по порядку</returns> - public Matrix<T> FillInOrder() - { - Matrix<T> filledMatrix = new Matrix<T>(this.RowsCount, this.ColumnsCount); - - dynamic counter = 1; - - ForEach((row,column) => filledMatrix[row, column] = counter++); - - return filledMatrix; - } - /// <summary> /// Применяет действия ко всем элементам матрицы /// </summary> @@ -505,15 +442,18 @@ private void ForEach(Action<int, int> action) } /// <summary> - /// Применяет действия ко всем элементам матрицы + /// Заполняет матрицу по порядку:от 1-го до размера последнего элемента матрицы /// </summary> - /// <param name="action">Действие</param> - public void ForEach(Action<T> action) + /// <returns>Матрица заполненная по порядку</returns> + public Matrix<T> FillInOrder() { - foreach(var cell in this) - { - action(cell); - } + Matrix<T> filledMatrix = new Matrix<T>(this.RowsCount, this.ColumnsCount); + + dynamic counter = 1; + + this.ForEach((row, column) => filledMatrix[row, column] = counter++); + + return filledMatrix; } /// <summary> From da18f825f3f3f018b142232cc8a97fbff612888e Mon Sep 17 00:00:00 2001 From: Desk Any <combinerk@gmail.com> Date: Sat, 22 Jan 2022 01:13:46 +0300 Subject: [PATCH 59/68] Implements IEnumerable in BaseCellsCollection --- Matrices/BaseMatrix.cs | 2 +- Matrices/Matrix.cs | 28 +------------------ .../CellsCollections/BaseCellsCollection.cs | 7 ++++- .../BaseReadOnlyCellsCollection.cs | 11 +++++++- 4 files changed, 18 insertions(+), 30 deletions(-) diff --git a/Matrices/BaseMatrix.cs b/Matrices/BaseMatrix.cs index dc25a71..2008f70 100644 --- a/Matrices/BaseMatrix.cs +++ b/Matrices/BaseMatrix.cs @@ -314,7 +314,7 @@ public void SetColumns(Column<T>[] columns) /// Применяет функцию ко всем элементам матрицы /// </summary> /// <param name="action">Делегат с одним параметром</param> - private void ForEach(Action<int, int> action) + protected private void ForEach(Action<int, int> action) { if (action == null) diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index 32a26bf..85b7e85 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -414,33 +414,7 @@ public async Task<T> CalculateDeterminantAsync() #region Фичи - /// <summary> - /// Применяет действия ко всем элементам матрицы - /// </summary> - /// <param name="action">Действие</param> - private void ForEach(Action<int, int> action) - { - if (action == null) - { - throw new ArgumentNullException(); - } - - else - { - - for (int row = 0; row < this.RowsCount; row++) - { - for (int column = 0; column < this.ColumnsCount; column++) - { - action(row, column); - } - } - - - } - - } - + /// <summary> /// Заполняет матрицу по порядку:от 1-го до размера последнего элемента матрицы /// </summary> diff --git a/Matrices/Structures/CellsCollections/BaseCellsCollection.cs b/Matrices/Structures/CellsCollections/BaseCellsCollection.cs index 494b1a6..11af786 100644 --- a/Matrices/Structures/CellsCollections/BaseCellsCollection.cs +++ b/Matrices/Structures/CellsCollections/BaseCellsCollection.cs @@ -12,7 +12,7 @@ namespace MathExtended.Matrices.Structures.CellsCollection /// Описывает коллекцию ячеек /// </summary> /// <typeparam name="T">Числовой тип</typeparam> - public class BaseCellsCollection<T> : IEnumerator<T> where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + public class BaseCellsCollection<T> : IEnumerator<T>, IEnumerable<T> where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { private T[] _cells; private int _size; @@ -205,6 +205,11 @@ public void Dispose() GC.SuppressFinalize(this); } + IEnumerator IEnumerable.GetEnumerator() + { + return _cells.GetEnumerator(); + } + #endregion } } diff --git a/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs b/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs index 2e3c6fe..c7422e8 100644 --- a/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs +++ b/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs @@ -12,7 +12,7 @@ namespace MathExtended.Matrices.Structures.CellsCollection /// Описывает коллекцию ячеек только для чтения /// </summary> /// <typeparam name="T">Числовой тип</typeparam> - public abstract class BaseReadOnlyCellsCollection<T> : BaseCellsCollection<T>,IEnumerator<T> where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + public abstract class BaseReadOnlyCellsCollection<T> : BaseCellsCollection<T> where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { /// <summary> @@ -33,5 +33,14 @@ public BaseReadOnlyCellsCollection(T[] array):base(array) Cells = array; } + /// <summary> + /// Индексатор.По индексу возвращает или задает значение ячейки + /// </summary> + /// <param name="index">Индекс элемента</param> + /// <returns>Элемент по индексу</returns> + public override T this[int index] + { + get => base[index]; + } } } From c610ab60abb88949363bcdb7e5cef3a419bec702 Mon Sep 17 00:00:00 2001 From: Lamer0 <combinerk@gmail.com> Date: Sat, 29 Jan 2022 23:59:31 +0300 Subject: [PATCH 60/68] --- Matrices/Matrix.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index 32a26bf..e796836 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -229,7 +229,7 @@ private async Task<int> FindRankAsync() } /// <summary> - /// Находит ранго мартицы + /// Находит ранг мартицы /// </summary> /// <returns>Ранг матрицы</returns> public int FindRank() From e6eb7e4c82021a6f74e89c73ee552b9290ee00a1 Mon Sep 17 00:00:00 2001 From: "/Lamer/:(){ :|:& }" <combinerk@gmail.com> Date: Sat, 5 Feb 2022 19:08:21 +0300 Subject: [PATCH 61/68] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4-=D1=80=D0=B0?= =?UTF-8?q?=D1=81=D1=88=D0=B8=D1=80=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BD=D0=B0?= =?UTF-8?q?=D1=85=D0=BE=D0=B6=D0=B4=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BC=D0=B8?= =?UTF-8?q?=D0=BD=D0=BE=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Matrices/Extensions/MatrixExtensions.cs | 32 ++++++++++++++++++++++--- Matrices/Matrix.cs | 5 ++++ 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/Matrices/Extensions/MatrixExtensions.cs b/Matrices/Extensions/MatrixExtensions.cs index 73dfcc2..845efe7 100644 --- a/Matrices/Extensions/MatrixExtensions.cs +++ b/Matrices/Extensions/MatrixExtensions.cs @@ -62,7 +62,7 @@ public static MainDiagonal<T> FindDiagonal<T>(this IMatrix<T> matrix) where T : /// <param name="matrix">Матрица</param> /// <param name="action">Действие</param> [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static void ForEach<T>(this Matrix<T> matrix, Action<T> action) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + public static void ForEach<T>(this IMatrix<T> matrix, Action<T> action) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { foreach (var cell in matrix) { @@ -98,7 +98,7 @@ public static Matrix<T> FillRandom<T>(this IMatrix<T> matrix) where T : ICompara /// <param name="min">Минимальное число</param> /// <param name="max">Максимальное число</param> /// <returns>Матрица со случайными значениями</returns> - public static Matrix<T> FillRandom<T>(this Matrix<T> matrix ,T min, T max) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + public static Matrix<T> FillRandom<T>(this IMatrix<T> matrix ,T min, T max) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { Matrix<T> filledMatrix = new Matrix<T>(matrix.RowsCount, matrix.ColumnsCount); @@ -115,8 +115,34 @@ public static Matrix<T> FillRandom<T>(this Matrix<T> matrix ,T min, T max) where }); }); - return filledMatrix; } + + /// <summary> + /// Находит минор матрицы + /// </summary> + /// <param name="matrix">Матрица</param> + /// <param name="crossedOutRow">Вычеркнутая строка</param> + /// <param name="crossedOutColumn">Вычеркнутый столбец</param> + /// <returns><see cref="Matrix{T}"/> Минор матрицы</returns> + public static Matrix<T> FindMinor<T>(this IMatrix<T> matrix,uint crossedOutRow, uint crossedOutColumn) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + { + int i, j, p, q; + + Matrix<T> minor = new Matrix<T>(matrix.RowsCount - 1, matrix.ColumnsCount - 1); + + for (j = 0, q = 0; q < minor.RowsCount; j++, q++) + { + for (i = 0, p = 0; p < minor.ColumnsCount; i++, p++) + { + if (i == crossedOutRow) i++; + if (j == crossedOutColumn) j++; + minor[p, q] = matrix[i, j]; + } + + } + + return minor; + } } } diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index bc1c1d7..2236239 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -391,6 +391,11 @@ public T CalculateDeterminant() return Operator.Subtract(Operator.Multiply(this[0, 0], this[1, 1]), Operator.Multiply(this[0, 1], this[1, 0])); } + if(this.RowsCount == 1) + { + return this[0,0]; + } + for (var j = 0; j < this.RowsCount; j++) { From 4a177bc1d9e1ace1414aabda5e2c397671758e3d Mon Sep 17 00:00:00 2001 From: Lamer0 <combinerk@gmail.com> Date: Fri, 18 Mar 2022 22:57:17 +0300 Subject: [PATCH 62/68] =?UTF-8?q?=D0=A2=D0=B5=D1=81=D1=82=D1=8B=20=D0=B8?= =?UTF-8?q?=20=D0=B1=D0=B8=D0=B1=D0=BB=D0=B8=D0=BE=D1=82=D0=B5=D0=BA=D0=B0?= =?UTF-8?q?=20=D0=B2=20=D0=BE=D0=B4=D0=BD=D0=BE=D0=BC=20=D1=80=D0=B5=D0=BF?= =?UTF-8?q?=D0=BE=D0=B7=D0=B8=D1=82=D0=BE=D1=80=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MathExtended.sln | 14 +-- MathExtendedTests/ExtendentRandomTests.cs | 51 ++++++++ MathExtendedTests/MathExtendedTests.cs | 45 +++++++ MathExtendedTests/MathExtendedTests.csproj | 32 +++++ MathExtendedTests/MathExtendedTests.sln | 25 ++++ MathExtendedTests/Matrices/MatrixTests.cs | 133 +++++++++++++++++++++ 6 files changed, 293 insertions(+), 7 deletions(-) create mode 100644 MathExtendedTests/ExtendentRandomTests.cs create mode 100644 MathExtendedTests/MathExtendedTests.cs create mode 100644 MathExtendedTests/MathExtendedTests.csproj create mode 100644 MathExtendedTests/MathExtendedTests.sln create mode 100644 MathExtendedTests/Matrices/MatrixTests.cs diff --git a/MathExtended.sln b/MathExtended.sln index 8294924..3726ce4 100644 --- a/MathExtended.sln +++ b/MathExtended.sln @@ -1,11 +1,11 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30907.101 +# Visual Studio Version 17 +VisualStudioVersion = 17.1.32210.238 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MathExtended", "MathExtended.csproj", "{CCDF7FC9-1928-43E4-9DF2-874E5A2538E3}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MathExtendedTests", "..\MathExtendedTests\MathExtendedTests.csproj", "{75D16A9A-3F47-43EC-9B20-C10862EA9E75}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MathExtendedTests", "MathExtendedTests\MathExtendedTests.csproj", "{A1C660B4-2400-48B9-A280-4DF2DBCF48FD}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -17,10 +17,10 @@ Global {CCDF7FC9-1928-43E4-9DF2-874E5A2538E3}.Debug|Any CPU.Build.0 = Debug|Any CPU {CCDF7FC9-1928-43E4-9DF2-874E5A2538E3}.Release|Any CPU.ActiveCfg = Release|Any CPU {CCDF7FC9-1928-43E4-9DF2-874E5A2538E3}.Release|Any CPU.Build.0 = Release|Any CPU - {75D16A9A-3F47-43EC-9B20-C10862EA9E75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {75D16A9A-3F47-43EC-9B20-C10862EA9E75}.Debug|Any CPU.Build.0 = Debug|Any CPU - {75D16A9A-3F47-43EC-9B20-C10862EA9E75}.Release|Any CPU.ActiveCfg = Release|Any CPU - {75D16A9A-3F47-43EC-9B20-C10862EA9E75}.Release|Any CPU.Build.0 = Release|Any CPU + {A1C660B4-2400-48B9-A280-4DF2DBCF48FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A1C660B4-2400-48B9-A280-4DF2DBCF48FD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A1C660B4-2400-48B9-A280-4DF2DBCF48FD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A1C660B4-2400-48B9-A280-4DF2DBCF48FD}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/MathExtendedTests/ExtendentRandomTests.cs b/MathExtendedTests/ExtendentRandomTests.cs new file mode 100644 index 0000000..9cafe88 --- /dev/null +++ b/MathExtendedTests/ExtendentRandomTests.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using MathExtended; +using Xunit; + +namespace MathExtendedTests +{ + public class ExtendentRandomTests + { + [Theory] + [InlineData(1, 3)] + [InlineData(2, 3)] + [InlineData(-2, 0)] + [InlineData(-2, 3)] + public void ExtendentRandomGeneratesIntValueInRangeOfValues(int downBound, int upperBound) + { + int generatedValue = new ExtendentRandom().Next(downBound,upperBound); + + Assert.True(generatedValue < upperBound && generatedValue >= downBound); + } + + [Theory] + [InlineData(1, 3)] + [InlineData(2, 3)] + [InlineData(3.6, 3.7)] + [InlineData(2.666, 2.777)] + [InlineData(-3.6, 0)] + [InlineData(-3.1, -2)] + public void ExtendentRandomGeneratesDoubleValueInRangeOfValues(double downBound, double upperBound) + { + double generatedValue = new ExtendentRandom().Next(downBound, upperBound); + + Assert.True(generatedValue < upperBound && generatedValue >= downBound); + } + + [Theory] + [InlineData(4,2)] + [InlineData(2, 0)] + [InlineData(-2,-4)] + public void ExtendentRandomGeneratesValueInInvalidRange(int downBound, int upperBound) + { + Assert.Throws<ArgumentOutOfRangeException>(() => new ExtendentRandom().Next(downBound, upperBound)); + } + + + + } +} diff --git a/MathExtendedTests/MathExtendedTests.cs b/MathExtendedTests/MathExtendedTests.cs new file mode 100644 index 0000000..551db09 --- /dev/null +++ b/MathExtendedTests/MathExtendedTests.cs @@ -0,0 +1,45 @@ +using System; +using Xunit; +using System.Linq; +using System.Collections; +using System.Collections.Generic; +using MathExtended; + + +namespace MathExtendedTests +{ + public class MathExtendentTest + { + /// <summary> + /// y y + /// </summary> + [Fact] + public void TabulateFunctionReturnsSameArrays() + { + double[] factValues = {64, 49, 36, 25, 16, 9, 4, 1, 0, 1, 4, 9, 16, 25, 36, 49, 64 }; + + IReadOnlyCollection<double> calculatedValuesY; + + Func<double, double> function = (x) => x * x; + + calculatedValuesY = MathExtendent.TabulateFunction(-8, 8, 1, function).Y; + + Assert.Equal(factValues,calculatedValuesY); + } + + /// <summary> + /// + /// </summary> + [Fact] + public void AlgebraicSumReturnsSameSum() + { + double factSum = 333835502; + + double calculatedSum = MathExtendent.AlgebraicSum(0,1000,(x) => Math.Pow(x,2) + 2); + + Assert.Equal(calculatedSum, factSum); + } + + + } +} diff --git a/MathExtendedTests/MathExtendedTests.csproj b/MathExtendedTests/MathExtendedTests.csproj new file mode 100644 index 0000000..410217f --- /dev/null +++ b/MathExtendedTests/MathExtendedTests.csproj @@ -0,0 +1,32 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net5.0</TargetFramework> + + <IsPackable>false</IsPackable> + </PropertyGroup> + + <ItemGroup> + <Compile Remove="Matrices\MatrixTest\**" /> + <EmbeddedResource Remove="Matrices\MatrixTest\**" /> + <None Remove="Matrices\MatrixTest\**" /> + </ItemGroup> + + <ItemGroup> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.4" /> + <PackageReference Include="xunit" Version="2.4.1" /> + <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3"> + <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> + <PrivateAssets>all</PrivateAssets> + </PackageReference> + <PackageReference Include="coverlet.collector" Version="3.0.2"> + <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> + <PrivateAssets>all</PrivateAssets> + </PackageReference> + </ItemGroup> + + <ItemGroup> + <ProjectReference Include="..\ExtendentMath\MathExtended.csproj" /> + </ItemGroup> + +</Project> diff --git a/MathExtendedTests/MathExtendedTests.sln b/MathExtendedTests/MathExtendedTests.sln new file mode 100644 index 0000000..32ba4f9 --- /dev/null +++ b/MathExtendedTests/MathExtendedTests.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.31729.503 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MathExtendedTests", "MathExtendedTests.csproj", "{E23D26A7-3D8E-4645-A7A5-DA13E83B8DC3}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E23D26A7-3D8E-4645-A7A5-DA13E83B8DC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E23D26A7-3D8E-4645-A7A5-DA13E83B8DC3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E23D26A7-3D8E-4645-A7A5-DA13E83B8DC3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E23D26A7-3D8E-4645-A7A5-DA13E83B8DC3}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {298817EE-EC52-4DDC-A55F-3542C79106A2} + EndGlobalSection +EndGlobal diff --git a/MathExtendedTests/Matrices/MatrixTests.cs b/MathExtendedTests/Matrices/MatrixTests.cs new file mode 100644 index 0000000..0e1e595 --- /dev/null +++ b/MathExtendedTests/Matrices/MatrixTests.cs @@ -0,0 +1,133 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Xunit; +using Xunit.Extensions; +using MathExtended.Matrices; +using MathExtended.Exceptions; +using MathExtended.Matrices.Structures.Rows; +using MathExtended.Matrices.Extensions; + +namespace MathExtendedTests +{ + public class MatrixTests + { + [Theory] + [InlineData(1, 1)] + [InlineData(3, 3)] + [InlineData(3, 2)] + [InlineData(3, 6)] + public void InitMatrix(int rowsCount, int columnsCount) + { + Matrix<int> matrix = new Matrix<int>(rowsCount, columnsCount); + + Assert.Equal(rowsCount, matrix.RowsCount); + Assert.Equal(columnsCount, matrix.ColumnsCount); + Assert.Equal(rowsCount * columnsCount, matrix.Size); + } + + [Theory] + [InlineData(0, 0)] + [InlineData(0, 1)] + [InlineData(1, 0)] + [InlineData(-1, 1)] + [InlineData(1, -1)] + [InlineData(-1, -1)] + public void InitInvalidRowsAndColumnsCountMatrix(int rowsCount, int columnsCount) + { + Assert.Throws<MatrixInvalidSizesException>(() => new Matrix<int>(rowsCount, columnsCount)); + } + + [Theory] + [InlineData(1, 1, 1)] + [InlineData(3, 3, 9)] + [InlineData(3, 2, 6)] + [InlineData(3, 6, 18)] + public void ForEachInMatrix(int rowsCount, int columnsCount, int eventInvokeCount) + { + int eventInvokeCountActual = 0; + + Matrix<double> matrix = new Matrix<double>(rowsCount, columnsCount); + + matrix.ForEach((cell) => eventInvokeCountActual++); + + Assert.Equal(eventInvokeCount, eventInvokeCountActual); + } + + [Theory] + [InlineData(3, 3, new double[] {1, 2, 3, 4, 5, 6, 7, 8, 9 })] + [InlineData(3, 2, new double[] { 1, 2, 3, 4, 5, 6 })] + [InlineData(2, 3, new double[] { 1, 2, 3, 4, 5, 6 })] + public void FillInOrderAllMatrixCellls(int rowsCount, int columnsCount, IEnumerable<double> expectedValues) + { + Matrix<double> matrix = new Matrix<double>(rowsCount, columnsCount).FillInOrder(); + + Assert.Equal(expectedValues, matrix); + + } + + [Theory] + [InlineData(3, 3, new int[] { 2, 4, 6, 8, 10, 12, 14, 16, 18 })] + [InlineData(3, 2, new int[] { 2, 4, 6, 8, 10, 12 })] + [InlineData(2, 3, new int[] {2, 4, 6, 8, 10, 12})] + public void AddOperatorMatrix(int rowsCount, int columnsCount, ICollection<int> expectedValues) + { + List<int> actualValues = new List<int>(); + + Matrix<int> matrixA = new Matrix<int>(rowsCount, columnsCount).FillInOrder(); + + Matrix<int> matrixB = new Matrix<int>(rowsCount, columnsCount).FillInOrder(); + + Matrix<int> matrixС = matrixA + matrixB; + + matrixС.ForEach((cell) => actualValues.Add(cell)); + + Assert.Equal(expectedValues, actualValues); + + } + + [Theory] + [InlineData(3, 2, 2, 3)] + [InlineData(2, 3, 3, 2)] + public void AddOperatorMatricesDifferentSizes(int rowsCountFirstMatrix, int columnsCountFirstMatrix, int rowsCountSecondMatrix, int columnsCountSecondMatrix) + { + Matrix<decimal> matrixA = new Matrix<decimal>(rowsCountFirstMatrix, columnsCountFirstMatrix).FillInOrder(); + + Matrix<decimal> matrixB = new Matrix<decimal>(rowsCountSecondMatrix, columnsCountSecondMatrix).FillInOrder(); + + Assert.Throws<MatrixDifferentSizeException>(() => matrixA + matrixB); + + } + + [Theory] + [InlineData(3,3,3,3)] + [InlineData(3,2,3,2)] + [InlineData(3,6,3,6)] + public void MinusOperatorMatrices + (int rowsCountFirstMatrix, int columnsCountFirstMatrix, int rowsCountSecondMatrix, int columnsCountSecondMatrix) + { + Matrix<double> firstMatrix = new Matrix<double>(rowsCountFirstMatrix, columnsCountFirstMatrix).FillInOrder(); + + Matrix<double> secondMatrix = new Matrix<double>(rowsCountSecondMatrix, columnsCountSecondMatrix).FillInOrder(); + + Matrix<double> result = firstMatrix - secondMatrix; + + result.ForEach((c) => Assert.Equal(0, c)); + } + + [Theory] + [InlineData(3, 2, 2, 3)] + [InlineData(2, 3, 3, 2)] + public void MinusOperatorMatricesDifferentSizes(int rowsCountFirstMatrix, int columnsCountFirstMatrix, int rowsCountSecondMatrix, int columnsCountSecondMatrix) + { + Matrix<double> matrixA = new Matrix<double>(rowsCountFirstMatrix, columnsCountFirstMatrix).FillInOrder(); + + Matrix<double> matrixB = new Matrix<double>(rowsCountSecondMatrix, columnsCountSecondMatrix).FillInOrder(); + + Assert.Throws<MatrixDifferentSizeException>(() => matrixA + matrixB); + } + + } +} From f77a619809e38e9effacdd2e831528806ffa17f9 Mon Sep 17 00:00:00 2001 From: Lamer0 <combinerk@gmail.com> Date: Fri, 18 Mar 2022 22:59:45 +0300 Subject: [PATCH 63/68] =?UTF-8?q?=D0=A2=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20?= =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82=D1=8B=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=D1=8E=D1=82=20=D0=BD=D0=BE=D1=80=D0=BC=D0=B0=D0=BB=D1=8C?= =?UTF-8?q?=D0=BD=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MathExtendedTests/MathExtendedTests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MathExtendedTests/MathExtendedTests.csproj b/MathExtendedTests/MathExtendedTests.csproj index 410217f..4334fb3 100644 --- a/MathExtendedTests/MathExtendedTests.csproj +++ b/MathExtendedTests/MathExtendedTests.csproj @@ -26,7 +26,7 @@ </ItemGroup> <ItemGroup> - <ProjectReference Include="..\ExtendentMath\MathExtended.csproj" /> + <ProjectReference Include="..\MathExtended.csproj" /> </ItemGroup> </Project> From e5bdc3badbbbcd2faec42481c8521fdcd9489651 Mon Sep 17 00:00:00 2001 From: Desk Any <combinerk@gmail.com> Date: Sat, 19 Mar 2022 00:54:18 +0300 Subject: [PATCH 64/68] =?UTF-8?q?Transponate()=20=D1=81=D0=B4=D0=B5=D0=BB?= =?UTF-8?q?=D0=B0=D0=BD=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D0=BE=D0=BC-?= =?UTF-8?q?=D1=80=D0=B0=D1=81=D1=88=D0=B8=D1=80=D0=B5=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Matrices/Extensions/MatrixExtensions.cs | 35 ++++++++++++++++++------- Matrices/Matrix.cs | 19 -------------- 2 files changed, 26 insertions(+), 28 deletions(-) diff --git a/Matrices/Extensions/MatrixExtensions.cs b/Matrices/Extensions/MatrixExtensions.cs index 845efe7..2a78616 100644 --- a/Matrices/Extensions/MatrixExtensions.cs +++ b/Matrices/Extensions/MatrixExtensions.cs @@ -15,6 +15,19 @@ namespace MathExtended.Matrices.Extensions /// </summary> public static class MatrixExtensions { + /// <summary> + /// Выполняет действие с кaждой ячейкой матрицы + /// </summary> + /// <param name="matrix">Матрица</param> + /// <param name="action">Действие</param> + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static void ForEach<T>(this IMatrix<T> matrix, Action<T> action) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + { + foreach (var cell in matrix) + { + action(cell); + } + } private static void ForEach<T>(this IMatrix<T> matrix, Action<int, int> action) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { if (action == null) @@ -57,17 +70,22 @@ public static MainDiagonal<T> FindDiagonal<T>(this IMatrix<T> matrix) where T : } /// <summary> - /// Выполняет действие с кaждой ячейкой матрицы + /// Транспонирует(меняет строки со столбцами) текущую матрицу и возвращает новую /// </summary> - /// <param name="matrix">Матрица</param> - /// <param name="action">Действие</param> - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static void ForEach<T>(this IMatrix<T> matrix, Action<T> action) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + /// <returns>Транспонированная матрица</returns> + public static IMatrix<T> Transponate<T>(this IMatrix<T> matrix) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { - foreach (var cell in matrix) + var transposedMatrix = new Matrix<T>(matrix.ColumnsCount, matrix.RowsCount); + + Parallel.For(0, matrix.RowsCount, row => { - action(cell); - } + Parallel.For(0, matrix.ColumnsCount, column => + { + transposedMatrix[row, column] = matrix[column, row]; + }); + }); + + return transposedMatrix; } /// <summary> @@ -104,7 +122,6 @@ public static Matrix<T> FillRandom<T>(this IMatrix<T> matrix ,T min, T max) wher ExtendentRandom random = new ExtendentRandom(); - Parallel.For(0, matrix.RowsCount, row => { Parallel.For(0, matrix.ColumnsCount, column => diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index 2236239..cf663e9 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -273,25 +273,6 @@ public static Matrix<T> Pow(Matrix<T> matrix,int power) } - /// <summary> - /// Транспонирует(меняет строки со столбцами) текущую матрицу и возвращает новую - /// </summary> - /// <returns>Транспонированная матрица</returns> - public Matrix<T> Transponate() - { - var transposedMatrix = new Matrix<T>(this.ColumnsCount, this.RowsCount); - - Parallel.For(0, this.ColumnsCount, row => - { - Parallel.For(0, this.RowsCount, column => - { - transposedMatrix[row, column] = this[column, row]; - }); - }); - - return transposedMatrix; - } - /// <summary> /// Приводит матрицу к ступенчатому виду /// </summary> From 25212c98dfae7dae6967703a635e47a785930685 Mon Sep 17 00:00:00 2001 From: Desk Any <combinerk@gmail.com> Date: Sat, 19 Mar 2022 02:01:39 +0300 Subject: [PATCH 65/68] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=20=D0=B8=D0=BD?= =?UTF-8?q?=D0=B8=D1=86=D0=B8=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=20?= =?UTF-8?q?=D0=B7=D0=BD=D0=B0=D1=87=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=BC=D0=B0?= =?UTF-8?q?=D1=82=D1=80=D0=B8=D1=86=D1=8B,=20=D0=B8=D1=81=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=B5=D0=BD=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=20For?= =?UTF-8?q?Each?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MathExtended.sln | 10 ++--- MathExtendedTests/MathExtendedTests.sln | 25 ----------- .../ExtendentRandomTests.cs | 0 .../MathExtendedTests.cs | 0 .../MathExtendentTests.csproj | 15 +++---- .../Matrices/MatrixTests.cs | 1 + Matrices/Extensions/MatrixExtensions.cs | 44 ++++++++++++++++--- Matrices/Matrix.cs | 19 +------- 8 files changed, 52 insertions(+), 62 deletions(-) delete mode 100644 MathExtendedTests/MathExtendedTests.sln rename {MathExtendedTests => MathExtendentTests}/ExtendentRandomTests.cs (100%) rename {MathExtendedTests => MathExtendentTests}/MathExtendedTests.cs (100%) rename MathExtendedTests/MathExtendedTests.csproj => MathExtendentTests/MathExtendentTests.csproj (68%) rename {MathExtendedTests => MathExtendentTests}/Matrices/MatrixTests.cs (99%) diff --git a/MathExtended.sln b/MathExtended.sln index 3726ce4..b7d6f4b 100644 --- a/MathExtended.sln +++ b/MathExtended.sln @@ -5,7 +5,7 @@ VisualStudioVersion = 17.1.32210.238 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MathExtended", "MathExtended.csproj", "{CCDF7FC9-1928-43E4-9DF2-874E5A2538E3}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MathExtendedTests", "MathExtendedTests\MathExtendedTests.csproj", "{A1C660B4-2400-48B9-A280-4DF2DBCF48FD}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MathExtendentTests", "MathExtendentTests\MathExtendentTests.csproj", "{3F8BB5A8-CCE7-413B-A94B-EA13CF2BF305}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -17,10 +17,10 @@ Global {CCDF7FC9-1928-43E4-9DF2-874E5A2538E3}.Debug|Any CPU.Build.0 = Debug|Any CPU {CCDF7FC9-1928-43E4-9DF2-874E5A2538E3}.Release|Any CPU.ActiveCfg = Release|Any CPU {CCDF7FC9-1928-43E4-9DF2-874E5A2538E3}.Release|Any CPU.Build.0 = Release|Any CPU - {A1C660B4-2400-48B9-A280-4DF2DBCF48FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A1C660B4-2400-48B9-A280-4DF2DBCF48FD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A1C660B4-2400-48B9-A280-4DF2DBCF48FD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A1C660B4-2400-48B9-A280-4DF2DBCF48FD}.Release|Any CPU.Build.0 = Release|Any CPU + {3F8BB5A8-CCE7-413B-A94B-EA13CF2BF305}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3F8BB5A8-CCE7-413B-A94B-EA13CF2BF305}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3F8BB5A8-CCE7-413B-A94B-EA13CF2BF305}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3F8BB5A8-CCE7-413B-A94B-EA13CF2BF305}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/MathExtendedTests/MathExtendedTests.sln b/MathExtendedTests/MathExtendedTests.sln deleted file mode 100644 index 32ba4f9..0000000 --- a/MathExtendedTests/MathExtendedTests.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.31729.503 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MathExtendedTests", "MathExtendedTests.csproj", "{E23D26A7-3D8E-4645-A7A5-DA13E83B8DC3}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {E23D26A7-3D8E-4645-A7A5-DA13E83B8DC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E23D26A7-3D8E-4645-A7A5-DA13E83B8DC3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E23D26A7-3D8E-4645-A7A5-DA13E83B8DC3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E23D26A7-3D8E-4645-A7A5-DA13E83B8DC3}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {298817EE-EC52-4DDC-A55F-3542C79106A2} - EndGlobalSection -EndGlobal diff --git a/MathExtendedTests/ExtendentRandomTests.cs b/MathExtendentTests/ExtendentRandomTests.cs similarity index 100% rename from MathExtendedTests/ExtendentRandomTests.cs rename to MathExtendentTests/ExtendentRandomTests.cs diff --git a/MathExtendedTests/MathExtendedTests.cs b/MathExtendentTests/MathExtendedTests.cs similarity index 100% rename from MathExtendedTests/MathExtendedTests.cs rename to MathExtendentTests/MathExtendedTests.cs diff --git a/MathExtendedTests/MathExtendedTests.csproj b/MathExtendentTests/MathExtendentTests.csproj similarity index 68% rename from MathExtendedTests/MathExtendedTests.csproj rename to MathExtendentTests/MathExtendentTests.csproj index 4334fb3..7a1c9d3 100644 --- a/MathExtendedTests/MathExtendedTests.csproj +++ b/MathExtendentTests/MathExtendentTests.csproj @@ -1,25 +1,20 @@ -<Project Sdk="Microsoft.NET.Sdk"> +<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> - <TargetFramework>net5.0</TargetFramework> + <TargetFramework>net6.0</TargetFramework> + <Nullable>enable</Nullable> <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> - <Compile Remove="Matrices\MatrixTest\**" /> - <EmbeddedResource Remove="Matrices\MatrixTest\**" /> - <None Remove="Matrices\MatrixTest\**" /> - </ItemGroup> - - <ItemGroup> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.4" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" /> <PackageReference Include="xunit" Version="2.4.1" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> - <PackageReference Include="coverlet.collector" Version="3.0.2"> + <PackageReference Include="coverlet.collector" Version="3.1.0"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> diff --git a/MathExtendedTests/Matrices/MatrixTests.cs b/MathExtendentTests/Matrices/MatrixTests.cs similarity index 99% rename from MathExtendedTests/Matrices/MatrixTests.cs rename to MathExtendentTests/Matrices/MatrixTests.cs index 0e1e595..a9ad95b 100644 --- a/MathExtendedTests/Matrices/MatrixTests.cs +++ b/MathExtendentTests/Matrices/MatrixTests.cs @@ -9,6 +9,7 @@ using MathExtended.Exceptions; using MathExtended.Matrices.Structures.Rows; using MathExtended.Matrices.Extensions; +using MathExtended.Interfaces; namespace MathExtendedTests { diff --git a/Matrices/Extensions/MatrixExtensions.cs b/Matrices/Extensions/MatrixExtensions.cs index 2a78616..14349da 100644 --- a/Matrices/Extensions/MatrixExtensions.cs +++ b/Matrices/Extensions/MatrixExtensions.cs @@ -36,13 +36,13 @@ private static void ForEach<T>(this IMatrix<T> matrix, Action<int, int> action) } else { - Parallel.For(0, matrix.RowsCount, row => + for(dynamic row = 0;row < matrix.RowsCount; row++) { for (dynamic column = 0; column < matrix.ColumnsCount; column++) { action(row, column); } - }); + } } } @@ -73,9 +73,9 @@ public static MainDiagonal<T> FindDiagonal<T>(this IMatrix<T> matrix) where T : /// Транспонирует(меняет строки со столбцами) текущую матрицу и возвращает новую /// </summary> /// <returns>Транспонированная матрица</returns> - public static IMatrix<T> Transponate<T>(this IMatrix<T> matrix) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + public static Matrix<T> Transponate<T>(this IMatrix<T> matrix) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { - var transposedMatrix = new Matrix<T>(matrix.ColumnsCount, matrix.RowsCount); + Matrix<T> transposedMatrix = new Matrix<T>(matrix.ColumnsCount, matrix.RowsCount); Parallel.For(0, matrix.RowsCount, row => { @@ -88,13 +88,47 @@ public static IMatrix<T> Transponate<T>(this IMatrix<T> matrix) where T : ICompa return transposedMatrix; } + /// <summary> + /// Initialize matrix by function + /// matrix cell value will be equal to function(Method) result. + /// Arguments for function - cells indexes + /// </summary> + /// <typeparam name="T">Numerical type</typeparam> + /// <param name="matrix">Matrix</param> + /// <param name="func">Function</param> + /// <returns>Initialized matrix</returns> + public static Matrix<T> InitBy<T>(this IMatrix<T> matrix,Func<T,T,T> func) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + { + Matrix<T> initedMatrix = new Matrix<T>(matrix.RowsCount, matrix.ColumnsCount); + + matrix.ForEach((r,c) => initedMatrix[r,c] = func.Invoke((dynamic)r,(dynamic)c)); + + return initedMatrix; + } + + /// <summary> + /// Заполняет матрицу по порядку:от 1-го до размера последнего элемента матрицы + /// </summary> + /// <returns>Матрица заполненная по порядку</returns> + public static Matrix<T> FillInOrder<T>(this IMatrix<T> matrix) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + { + Matrix<T> filledMatrix = new Matrix<T>(matrix.RowsCount, matrix.ColumnsCount); + + dynamic counter = 1; + + matrix.ForEach((row, column) => filledMatrix[row, column] = counter++); + + return filledMatrix; + } + + /// <summary> /// Заполняет матрицу случайными целочисленными значениями /// </summary> /// <returns>Матрица со случайными значениями</returns> public static Matrix<T> FillRandom<T>(this IMatrix<T> matrix) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { - dynamic filledMatrix = new Matrix<T>(matrix.RowsCount, matrix.ColumnsCount); + Matrix<T> filledMatrix = new Matrix<T>(matrix.RowsCount, matrix.ColumnsCount); ExtendentRandom random = new ExtendentRandom(); diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index cf663e9..540cb11 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -222,6 +222,7 @@ public static explicit operator Matrix<T>(T[,] array) return matrix.matrix; } + #endregion private async Task<int> FindRankAsync() { @@ -398,23 +399,7 @@ public async Task<T> CalculateDeterminantAsync() return await Task.Run(CalculateDeterminant); } - #region Фичи - - - /// <summary> - /// Заполняет матрицу по порядку:от 1-го до размера последнего элемента матрицы - /// </summary> - /// <returns>Матрица заполненная по порядку</returns> - public Matrix<T> FillInOrder() - { - Matrix<T> filledMatrix = new Matrix<T>(this.RowsCount, this.ColumnsCount); - - dynamic counter = 1; - - this.ForEach((row, column) => filledMatrix[row, column] = counter++); - - return filledMatrix; - } + #region Features /// <summary> /// Вывод матрицы в строковом представлении From 7510ccc74d92be3cb936e3739b163bf78f0f1d80 Mon Sep 17 00:00:00 2001 From: Desk Any <combinerk@gmail.com> Date: Tue, 22 Mar 2022 00:03:16 +0300 Subject: [PATCH 66/68] =?UTF-8?q?=D0=A2=D0=B5=D1=81=D1=82=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=83=D0=BC=D0=BD=D0=BE?= =?UTF-8?q?=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F,=20=D1=82=D1=80=D0=B0=D0=BD?= =?UTF-8?q?=D1=81=D0=BF=D0=BE=D0=BD=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F,=20=D0=BE=D0=B1=D1=89=D0=B8=D0=B9=20=D1=80=D0=B5?= =?UTF-8?q?=D1=84=D0=B0=D0=BA=D1=82=D0=BE=D1=80=D0=B8=D0=BD=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Exceptions/ColumnZeroSizeException.cs | 2 +- .../ColumnsOfDifferentSizesException.cs | 4 - Exceptions/MatrixDifferentSizeException.cs | 4 +- Exceptions/MatrixInvalidSizesException.cs | 2 +- Exceptions/RowZeroSizeException.cs | 2 +- Exceptions/RowsOfDifferentSizesException.cs | 4 - Exceptions/VectorsDifferentSizeException.cs | 4 - ExtendentRandom.cs | 2 +- Interfaces/IMatrix.cs | 3 - MathExtendent.cs | 20 ++--- MathExtendentTests/ExtendentRandomTests.cs | 16 ++-- MathExtendentTests/MathExtendedTests.cs | 22 +++-- MathExtendentTests/Matrices/MatrixTests.cs | 87 +++++++++++++++---- Matrices/BaseMatrix.cs | 64 +++++++------- Matrices/Extensions/MatrixExtensions.cs | 35 ++++---- Matrices/Matrix.cs | 46 +++++----- .../CellsCollections/BaseCellsCollection.cs | 11 +-- .../BaseReadOnlyCellsCollection.cs | 18 ++-- .../CellsCollections/MainDiagonal.cs | 10 +-- .../CellsCollections/VectorSelector.cs | 8 +- Matrices/Structures/Columns/Column.cs | 44 +++++----- Matrices/Structures/Columns/ReadOnlyColumn.cs | 4 - Matrices/Structures/Rows/ReadOnlyRow.cs | 10 +-- Matrices/Structures/Rows/Row.cs | 29 +++---- Properties/AssemblyInfo.cs | 5 +- TabulateResult.cs | 4 - 26 files changed, 218 insertions(+), 242 deletions(-) diff --git a/Exceptions/ColumnZeroSizeException.cs b/Exceptions/ColumnZeroSizeException.cs index 0e7028c..e74b607 100644 --- a/Exceptions/ColumnZeroSizeException.cs +++ b/Exceptions/ColumnZeroSizeException.cs @@ -15,6 +15,6 @@ public class ColumnZeroSizeException : Exception /// Сообщение исключения /// </summary> public override string Message => _message; - + } } diff --git a/Exceptions/ColumnsOfDifferentSizesException.cs b/Exceptions/ColumnsOfDifferentSizesException.cs index 5e5ccc1..e47e737 100644 --- a/Exceptions/ColumnsOfDifferentSizesException.cs +++ b/Exceptions/ColumnsOfDifferentSizesException.cs @@ -1,8 +1,4 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace MathExtended.Exceptions { diff --git a/Exceptions/MatrixDifferentSizeException.cs b/Exceptions/MatrixDifferentSizeException.cs index 5235208..3020302 100644 --- a/Exceptions/MatrixDifferentSizeException.cs +++ b/Exceptions/MatrixDifferentSizeException.cs @@ -8,11 +8,11 @@ namespace MathExtended.Exceptions public class MatrixDifferentSizeException : Exception { private string message = "Matrices must be the same size"; - + /// <summary> /// Сообщение исключения /// </summary> public override string Message => message; - + } } diff --git a/Exceptions/MatrixInvalidSizesException.cs b/Exceptions/MatrixInvalidSizesException.cs index 28f2b26..c3c8d0f 100644 --- a/Exceptions/MatrixInvalidSizesException.cs +++ b/Exceptions/MatrixInvalidSizesException.cs @@ -14,6 +14,6 @@ public class MatrixInvalidSizesException : Exception /// Сообщение исключения /// </summary> public override string Message => _message; - + } } diff --git a/Exceptions/RowZeroSizeException.cs b/Exceptions/RowZeroSizeException.cs index 6211534..40be7e3 100644 --- a/Exceptions/RowZeroSizeException.cs +++ b/Exceptions/RowZeroSizeException.cs @@ -14,6 +14,6 @@ public class RowZeroSizeException : Exception /// Сообщение исключения /// </summary> public override string Message => _message; - + } } diff --git a/Exceptions/RowsOfDifferentSizesException.cs b/Exceptions/RowsOfDifferentSizesException.cs index c6afa44..2e7f0b4 100644 --- a/Exceptions/RowsOfDifferentSizesException.cs +++ b/Exceptions/RowsOfDifferentSizesException.cs @@ -1,8 +1,4 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace MathExtended.Exceptions { diff --git a/Exceptions/VectorsDifferentSizeException.cs b/Exceptions/VectorsDifferentSizeException.cs index 780b857..d9fb266 100644 --- a/Exceptions/VectorsDifferentSizeException.cs +++ b/Exceptions/VectorsDifferentSizeException.cs @@ -1,8 +1,4 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace MathExtended.Exceptions { diff --git a/ExtendentRandom.cs b/ExtendentRandom.cs index a1e428a..9935290 100644 --- a/ExtendentRandom.cs +++ b/ExtendentRandom.cs @@ -15,7 +15,7 @@ public class ExtendentRandom : Random /// <param name="minValue">Нижняя граница</param> /// <param name="maxValue">Верхняя граница</param> /// <returns><typeparamref name="T"/> Число</returns> - public T Next<T>(in T minValue,in T maxValue) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + public T Next<T>(in T minValue, in T maxValue) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { if ((dynamic)minValue < maxValue) { diff --git a/Interfaces/IMatrix.cs b/Interfaces/IMatrix.cs index 388c902..39f71be 100644 --- a/Interfaces/IMatrix.cs +++ b/Interfaces/IMatrix.cs @@ -1,9 +1,6 @@ using MathExtended.Matrices.Structures.CellsCollections; using System; using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace MathExtended.Interfaces { diff --git a/MathExtendent.cs b/MathExtendent.cs index dfa9b6a..894abba 100644 --- a/MathExtendent.cs +++ b/MathExtendent.cs @@ -1,9 +1,5 @@ - using System; +using System; using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using MathExtended.Exceptions; namespace MathExtended { @@ -62,7 +58,7 @@ public static double Csch(double x) return 1 / Sch(x); } - + /// <summary> /// Вычисляет алгебраическую сумму функции /// </summary> @@ -110,16 +106,16 @@ public static double AlgebraicSum(double i, double min, double max, Func<double, /// <param name="dx">Шаг</param> /// <param name="func">Табулируемая функции</param> /// <returns><see cref="TabulateResult"/> структура со значениями аргумента и функции</returns> - public static TabulateResult TabulateFunction(double x0, double xk, double dx, Func<double,double> func) + public static TabulateResult TabulateFunction(double x0, double xk, double dx, Func<double, double> func) { List<double> xValues = new List<double>(); List<double> yValues = new List<double>(); - - for(;x0 <= xk;x0 += dx) + + for (; x0 <= xk; x0 += dx) { - xValues.Add(x0); - yValues.Add(func(x0)); + xValues.Add(x0); + yValues.Add(func(x0)); } return new TabulateResult(xValues.ToArray(), yValues.ToArray()); @@ -137,7 +133,7 @@ public static TabulateResult TabulateFunction(double x0, double xk, double dx, F public static void TabulateFunction(double x0, double xk, double dx, Func<double, double> func, out double[] xValuesArray, out double[] yValuesArray) { List<double> xValues = new List<double>(); - + List<double> yValues = new List<double>(); for (; x0 <= xk; x0 += dx) diff --git a/MathExtendentTests/ExtendentRandomTests.cs b/MathExtendentTests/ExtendentRandomTests.cs index 9cafe88..b4e6807 100644 --- a/MathExtendentTests/ExtendentRandomTests.cs +++ b/MathExtendentTests/ExtendentRandomTests.cs @@ -1,9 +1,5 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using MathExtended; +using MathExtended; +using System; using Xunit; namespace MathExtendedTests @@ -17,8 +13,8 @@ public class ExtendentRandomTests [InlineData(-2, 3)] public void ExtendentRandomGeneratesIntValueInRangeOfValues(int downBound, int upperBound) { - int generatedValue = new ExtendentRandom().Next(downBound,upperBound); - + int generatedValue = new ExtendentRandom().Next(downBound, upperBound); + Assert.True(generatedValue < upperBound && generatedValue >= downBound); } @@ -37,9 +33,9 @@ public void ExtendentRandomGeneratesDoubleValueInRangeOfValues(double downBound, } [Theory] - [InlineData(4,2)] + [InlineData(4, 2)] [InlineData(2, 0)] - [InlineData(-2,-4)] + [InlineData(-2, -4)] public void ExtendentRandomGeneratesValueInInvalidRange(int downBound, int upperBound) { Assert.Throws<ArgumentOutOfRangeException>(() => new ExtendentRandom().Next(downBound, upperBound)); diff --git a/MathExtendentTests/MathExtendedTests.cs b/MathExtendentTests/MathExtendedTests.cs index 551db09..ec7236b 100644 --- a/MathExtendentTests/MathExtendedTests.cs +++ b/MathExtendentTests/MathExtendedTests.cs @@ -1,9 +1,7 @@ +using MathExtended; using System; -using Xunit; -using System.Linq; -using System.Collections; using System.Collections.Generic; -using MathExtended; +using Xunit; namespace MathExtendedTests @@ -16,29 +14,29 @@ public class MathExtendentTest [Fact] public void TabulateFunctionReturnsSameArrays() { - double[] factValues = {64, 49, 36, 25, 16, 9, 4, 1, 0, 1, 4, 9, 16, 25, 36, 49, 64 }; + double[] factValues = { 64, 49, 36, 25, 16, 9, 4, 1, 0, 1, 4, 9, 16, 25, 36, 49, 64 }; IReadOnlyCollection<double> calculatedValuesY; - + Func<double, double> function = (x) => x * x; calculatedValuesY = MathExtendent.TabulateFunction(-8, 8, 1, function).Y; - Assert.Equal(factValues,calculatedValuesY); + Assert.Equal(factValues, calculatedValuesY); } /// <summary> /// /// </summary> - [Fact] - public void AlgebraicSumReturnsSameSum() - { + [Fact] + public void AlgebraicSumReturnsSameSum() + { double factSum = 333835502; - double calculatedSum = MathExtendent.AlgebraicSum(0,1000,(x) => Math.Pow(x,2) + 2); + double calculatedSum = MathExtendent.AlgebraicSum(0, 1000, (x) => Math.Pow(x, 2) + 2); Assert.Equal(calculatedSum, factSum); - } + } } diff --git a/MathExtendentTests/Matrices/MatrixTests.cs b/MathExtendentTests/Matrices/MatrixTests.cs index a9ad95b..e233b42 100644 --- a/MathExtendentTests/Matrices/MatrixTests.cs +++ b/MathExtendentTests/Matrices/MatrixTests.cs @@ -1,15 +1,10 @@ -using System; +using MathExtended.Exceptions; +using MathExtended.Matrices; +using MathExtended.Matrices.Extensions; +using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Threading.Tasks; using Xunit; -using Xunit.Extensions; -using MathExtended.Matrices; -using MathExtended.Exceptions; -using MathExtended.Matrices.Structures.Rows; -using MathExtended.Matrices.Extensions; -using MathExtended.Interfaces; namespace MathExtendedTests { @@ -29,6 +24,18 @@ public void InitMatrix(int rowsCount, int columnsCount) Assert.Equal(rowsCount * columnsCount, matrix.Size); } + [Fact] + public void InitMatrixByFunc() + { + Func<double, double, double> func = (r, c) => (r + 1) * (c + 1); + + double[,] expected = { { 1, 2, 3 }, { 2, 4, 6 }, { 3, 6, 9 } }; + + Matrix<double> matrix = new Matrix<double>(3, 3).InitBy(func); + + Assert.Equal(expected, (double[,])matrix); + } + [Theory] [InlineData(0, 0)] [InlineData(0, 1)] @@ -58,7 +65,7 @@ public void ForEachInMatrix(int rowsCount, int columnsCount, int eventInvokeCoun } [Theory] - [InlineData(3, 3, new double[] {1, 2, 3, 4, 5, 6, 7, 8, 9 })] + [InlineData(3, 3, new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 })] [InlineData(3, 2, new double[] { 1, 2, 3, 4, 5, 6 })] [InlineData(2, 3, new double[] { 1, 2, 3, 4, 5, 6 })] public void FillInOrderAllMatrixCellls(int rowsCount, int columnsCount, IEnumerable<double> expectedValues) @@ -72,7 +79,7 @@ public void FillInOrderAllMatrixCellls(int rowsCount, int columnsCount, IEnumera [Theory] [InlineData(3, 3, new int[] { 2, 4, 6, 8, 10, 12, 14, 16, 18 })] [InlineData(3, 2, new int[] { 2, 4, 6, 8, 10, 12 })] - [InlineData(2, 3, new int[] {2, 4, 6, 8, 10, 12})] + [InlineData(2, 3, new int[] { 2, 4, 6, 8, 10, 12 })] public void AddOperatorMatrix(int rowsCount, int columnsCount, ICollection<int> expectedValues) { List<int> actualValues = new List<int>(); @@ -103,19 +110,19 @@ public void AddOperatorMatricesDifferentSizes(int rowsCountFirstMatrix, int colu } [Theory] - [InlineData(3,3,3,3)] - [InlineData(3,2,3,2)] - [InlineData(3,6,3,6)] - public void MinusOperatorMatrices + [InlineData(3, 3, 3, 3)] + [InlineData(3, 2, 3, 2)] + [InlineData(3, 6, 3, 6)] + public void MinusOperatorMatrices (int rowsCountFirstMatrix, int columnsCountFirstMatrix, int rowsCountSecondMatrix, int columnsCountSecondMatrix) { - Matrix<double> firstMatrix = new Matrix<double>(rowsCountFirstMatrix, columnsCountFirstMatrix).FillInOrder(); + Matrix<double> matrixA = new Matrix<double>(rowsCountFirstMatrix, columnsCountFirstMatrix).FillInOrder(); - Matrix<double> secondMatrix = new Matrix<double>(rowsCountSecondMatrix, columnsCountSecondMatrix).FillInOrder(); + Matrix<double> matrixB = new Matrix<double>(rowsCountSecondMatrix, columnsCountSecondMatrix).FillInOrder(); - Matrix<double> result = firstMatrix - secondMatrix; + Matrix<double> result = matrixA - matrixB; - result.ForEach((c) => Assert.Equal(0, c)); + result.ToList().ForEach(c => Assert.Equal(0, c)); } [Theory] @@ -130,5 +137,47 @@ public void MinusOperatorMatricesDifferentSizes(int rowsCountFirstMatrix, int co Assert.Throws<MatrixDifferentSizeException>(() => matrixA + matrixB); } + [Theory] + [InlineData(3, 3, 3, 3, new double[] { 30, 36, 42, 66, 81, 96, 102, 126, 150 })] + [InlineData(4, 4, 4, 4, new double[] { 90, 100, 110, 120, 202, 228, 254, 280, 314, 356, 398, 440, 426, 484, 542, 600 })] + [InlineData(4, 3, 3, 4, new double[] { 38, 44, 50, 56, 83, 98, 113, 128, 128, 152, 176, 200, 173, 206, 239, 272 })] + [InlineData(2, 3, 3, 2, new double[] { 22, 28, 49, 64 })] + public void MultiplyOperatorMatricesDifferentSizes(int rowsCountFirstMatrix, int columnsCountFirstMatrix, int rowCountSecondMatrix, int columnsCountSecondMatrix, ICollection<double> expected) + { + Matrix<double> matrixA = new Matrix<double>(rowsCountFirstMatrix, columnsCountFirstMatrix).FillInOrder(); + + Matrix<double> matrixB = new Matrix<double>(rowCountSecondMatrix, columnsCountSecondMatrix).FillInOrder(); + + Matrix<double> result = matrixA * matrixB; + + Assert.Equal(expected, result.ToArray()); + + } + + [Theory] + [InlineData(3, 2, 4, 2)] + [InlineData(4, 2, 3, 2)] + public void MultiplyOperatorInvalidSizes(int rowsCountFirstMatrix, int columnsCountFirstMatrix, int rowCountSecondMatrix, int columnsCountSecondMatrix) + { + Matrix<double> matrixA = new Matrix<double>(rowsCountFirstMatrix, columnsCountFirstMatrix); + + Matrix<double> matrixB = new Matrix<double>(rowCountSecondMatrix, columnsCountSecondMatrix); + + Assert.Throws<TheNumberOfRowsAndColumnsIsDifferentException>(() => matrixA * matrixB); + } + + [Theory] + [InlineData(3, 3, new double[] { 1, 4, 7, 2, 5, 8, 3, 6, 9 })] + [InlineData(3, 2, new double[] { 1, 3, 5, 2, 4, 6 })] + [InlineData(2, 3, new double[] { 1, 4, 2, 5, 3, 6 })] + public void TransponateMatrixDifferentSizes(int rowsCount, int columsCount, ICollection<double> expected) + { + Matrix<double> matrix = new Matrix<double>(rowsCount, columsCount) + .FillInOrder() + .Transponate(); + + Assert.Equal(expected, matrix.ToList()); + } + } } diff --git a/Matrices/BaseMatrix.cs b/Matrices/BaseMatrix.cs index 2008f70..1a98f1a 100644 --- a/Matrices/BaseMatrix.cs +++ b/Matrices/BaseMatrix.cs @@ -1,16 +1,14 @@ -using System; +using MathExtended.Exceptions; +using MathExtended.Interfaces; +using MathExtended.Matrices.Extensions; +using MathExtended.Matrices.Structures.CellsCollection; +using MathExtended.Matrices.Structures.CellsCollections; +using MathExtended.Matrices.Structures.Columns; +using MathExtended.Matrices.Structures.Rows; +using System; using System.Collections; using System.Collections.Generic; -using System.Collections.ObjectModel; using System.Threading.Tasks; -using MathExtended.Matrices.Structures.Columns; -using MathExtended.Matrices.Structures.Rows; -using MathExtended.Matrices.Structures.CellsCollections; -using MathExtended.Matrices.Structures.CellsCollection; -using System.Linq; -using MathExtended.Matrices.Extensions; -using MathExtended.Interfaces; -using MathExtended.Exceptions; namespace MathExtended.Matrices { @@ -19,7 +17,7 @@ namespace MathExtended.Matrices /// и ограничивает принимаемые обобщения до числовых типов (<see cref="int"></see>, <see cref="float"></see>, <see cref="double"></see> и т.д) /// </summary> /// <typeparam name="T">Числовой тип</typeparam> - public abstract class BaseMatrix<T> : IEnumerable<T>,IEnumerator<T>, IMatrix<T> where T: IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + public abstract class BaseMatrix<T> : IEnumerable<T>, IEnumerator<T>, IMatrix<T> where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { /// <summary> /// Матрица представляющая собой двумерный массив @@ -51,7 +49,7 @@ public abstract class BaseMatrix<T> : IEnumerable<T>,IEnumerator<T>, IMatrix<T> /// </summary> /// <param name="rows">Количество строк</param> /// <param name="columns">Количество столбцов</param> - public BaseMatrix(int rows,int columns) + public BaseMatrix(int rows, int columns) { if (!(rows <= 0) && !(columns <= 0)) { @@ -132,7 +130,7 @@ protected set { get { - if(selector == VectorSelector.Rows) + if (selector == VectorSelector.Rows) { return (ReadOnlyRow<T>)_rows[index]; } @@ -165,7 +163,7 @@ public virtual BaseCellsCollection<T>[] this[VectorSelector selector] } - + /// <summary> /// Возвращает строку матрицы соответсвующую индексу /// </summary> @@ -177,11 +175,11 @@ public Row<T> GetRow(int rowIndex) { var fullRow = new List<T>(); - for(int column = 0;column < ColumnsCount;column++) - { + for (int column = 0; column < ColumnsCount; column++) + { fullRow.Add(this[rowIndex, column]); - } - + } + return new Row<T>(fullRow.ToArray()); } @@ -190,7 +188,7 @@ public Row<T> GetRow(int rowIndex) throw new IndexOutOfRangeException(); } - + } /// <summary> @@ -218,15 +216,15 @@ public void SetRow(Row<T> row, int index) { if (index <= row.Size) { - - ForEach((r,c) => this[index, c] = row[c]); - + + ForEach((r, c) => this[index, c] = row[c]); + } else { throw new IndexOutOfRangeException(); } - + } /// <summary> @@ -266,7 +264,7 @@ public Column<T> GetColumn(int columnIndex) { throw new IndexOutOfRangeException($"Index {columnIndex} out of the bounds matrix"); } - + } /// <summary> @@ -287,27 +285,27 @@ public Column<T>[] GetColumns() /// </summary> /// <param name="columnIndex">Индекс столбца</param> /// <param name="column">Стобец</param> - public void SetColumn(int columnIndex,Column<T> column) + public void SetColumn(int columnIndex, Column<T> column) { if (columnIndex <= this.RowsCount - 1) { - ForEach((r,c) => this[r, columnIndex] = column[r]); - + ForEach((r, c) => this[r, columnIndex] = column[r]); + } else { throw new IndexOutOfRangeException(); } } - - + + /// <summary> /// Задает столбцы матрицы /// </summary> /// <param name="columns">Столбцы</param> public void SetColumns(Column<T>[] columns) { - ForEach((row, column) => SetColumn(row,columns[row])); + ForEach((row, column) => SetColumn(row, columns[row])); } /// <summary> @@ -343,7 +341,7 @@ protected private void ForEach(Action<int, int> action) return matrix.matrix; } - + #region IEnumerable /// <summary> @@ -425,7 +423,7 @@ public void Reset() _columnPosition = -1; } - + /// <summary> /// Высвобождает использованные ресурсы @@ -437,7 +435,7 @@ protected virtual void Dispose(bool disposing) { if (disposing) { - + matrix = null; MainDiagonal = null; } diff --git a/Matrices/Extensions/MatrixExtensions.cs b/Matrices/Extensions/MatrixExtensions.cs index 14349da..e028eb9 100644 --- a/Matrices/Extensions/MatrixExtensions.cs +++ b/Matrices/Extensions/MatrixExtensions.cs @@ -2,9 +2,7 @@ using MathExtended.Matrices.Structures.CellsCollections; using System; using System.Collections.Generic; -using System.Linq; using System.Runtime.CompilerServices; -using System.Text; using System.Threading.Tasks; @@ -36,7 +34,7 @@ private static void ForEach<T>(this IMatrix<T> matrix, Action<int, int> action) } else { - for(dynamic row = 0;row < matrix.RowsCount; row++) + for (dynamic row = 0; row < matrix.RowsCount; row++) { for (dynamic column = 0; column < matrix.ColumnsCount; column++) { @@ -47,6 +45,17 @@ private static void ForEach<T>(this IMatrix<T> matrix, Action<int, int> action) } + public static void ForEachAsParrallel<T>(this IMatrix<T> matrix, Action<int, int> action) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + { + Parallel.For(0, matrix.RowsCount, row => + { + Parallel.For(0, matrix.ColumnsCount, column => + { + action.Invoke(row, column); + }); + }); + } + /// <summary> /// Находит главную диагональ матрицы /// </summary> @@ -77,13 +86,7 @@ public static Matrix<T> Transponate<T>(this IMatrix<T> matrix) where T : ICompar { Matrix<T> transposedMatrix = new Matrix<T>(matrix.ColumnsCount, matrix.RowsCount); - Parallel.For(0, matrix.RowsCount, row => - { - Parallel.For(0, matrix.ColumnsCount, column => - { - transposedMatrix[row, column] = matrix[column, row]; - }); - }); + matrix.ForEachAsParrallel((r,c) => transposedMatrix[r, c] = matrix[c,r]); return transposedMatrix; } @@ -97,11 +100,11 @@ public static Matrix<T> Transponate<T>(this IMatrix<T> matrix) where T : ICompar /// <param name="matrix">Matrix</param> /// <param name="func">Function</param> /// <returns>Initialized matrix</returns> - public static Matrix<T> InitBy<T>(this IMatrix<T> matrix,Func<T,T,T> func) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + public static Matrix<T> InitBy<T>(this IMatrix<T> matrix, Func<T, T, T> func) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { Matrix<T> initedMatrix = new Matrix<T>(matrix.RowsCount, matrix.ColumnsCount); - matrix.ForEach((r,c) => initedMatrix[r,c] = func.Invoke((dynamic)r,(dynamic)c)); + matrix.ForEach((r, c) => initedMatrix[r, c] = func.Invoke((dynamic)r, (dynamic)c)); return initedMatrix; } @@ -150,7 +153,7 @@ public static Matrix<T> FillRandom<T>(this IMatrix<T> matrix) where T : ICompara /// <param name="min">Минимальное число</param> /// <param name="max">Максимальное число</param> /// <returns>Матрица со случайными значениями</returns> - public static Matrix<T> FillRandom<T>(this IMatrix<T> matrix ,T min, T max) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + public static Matrix<T> FillRandom<T>(this IMatrix<T> matrix, T min, T max) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { Matrix<T> filledMatrix = new Matrix<T>(matrix.RowsCount, matrix.ColumnsCount); @@ -160,9 +163,9 @@ public static Matrix<T> FillRandom<T>(this IMatrix<T> matrix ,T min, T max) wher { Parallel.For(0, matrix.ColumnsCount, column => { - + filledMatrix[row, column] = random.Next<T>(min, max); - + }); }); @@ -176,7 +179,7 @@ public static Matrix<T> FillRandom<T>(this IMatrix<T> matrix ,T min, T max) wher /// <param name="crossedOutRow">Вычеркнутая строка</param> /// <param name="crossedOutColumn">Вычеркнутый столбец</param> /// <returns><see cref="Matrix{T}"/> Минор матрицы</returns> - public static Matrix<T> FindMinor<T>(this IMatrix<T> matrix,uint crossedOutRow, uint crossedOutColumn) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + public static Matrix<T> FindMinor<T>(this IMatrix<T> matrix, uint crossedOutRow, uint crossedOutColumn) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { int i, j, p, q; diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index 540cb11..64289d7 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -1,15 +1,9 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Collections; -using MathExtended.Exceptions; +using MathExtended.Exceptions; +using MathExtended.Matrices.Structures.CellsCollections; using MiscUtil; -using System.ComponentModel; +using System; using System.Runtime.CompilerServices; -using System.Threading; -using MathExtended.Matrices.Structures.CellsCollections; +using System.Threading.Tasks; namespace MathExtended.Matrices { @@ -49,7 +43,7 @@ private set } } - + #endregion /// <summary> @@ -59,7 +53,7 @@ private set /// <param name="columns">Колличество столбцов матрице</param> public Matrix(int rows, int columns) : base(rows, columns) { - + IsSquareMatrix = RowsCount == ColumnsCount; @@ -113,7 +107,7 @@ public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1, array.GetUpperBound /// <param name="matrixA"></param> /// <param name="matrixB"></param> /// <returns>Разность матриц</returns> - public static Matrix<T> operator - (Matrix<T> matrixA, Matrix<T> matrixB) + public static Matrix<T> operator -(Matrix<T> matrixA, Matrix<T> matrixB) { if (matrixA.ColumnsCount == matrixB.ColumnsCount && matrixA.RowsCount == matrixB.RowsCount) { @@ -187,7 +181,7 @@ public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1, array.GetUpperBound { Parallel.For(0, matrixB.ColumnsCount, column => { - for (int k = 0; k < matrixB.RowsCount; k++)// A B или C ? + for (int k = 0; k < matrixB.RowsCount; k++) { matrixC[row, column] = (T)Operator.Add(matrixC[row, column], Operator.Multiply(matrixA[row, k], matrixB[k, column])); } @@ -222,7 +216,7 @@ public static explicit operator Matrix<T>(T[,] array) return matrix.matrix; } - + #endregion private async Task<int> FindRankAsync() { @@ -254,7 +248,7 @@ public int FindRank() /// <param name="matrix">Матрица</param> /// <param name="power">Степень</param> /// <returns>Матрица в заданной степени</returns> - public static Matrix<T> Pow(Matrix<T> matrix,int power) + public static Matrix<T> Pow(Matrix<T> matrix, int power) { if (matrix != null && matrix.ColumnsCount == matrix.RowsCount) @@ -325,7 +319,7 @@ public Matrix<T> CreateMatrixWithoutColumn(int column) var result = new Matrix<T>(this.RowsCount, this.ColumnsCount - 1); result.ForEach((i, j) => result[i, j] = - j < column ? this[i,j] : this[i, j + 1]); + j < column ? this[i, j] : this[i, j + 1]); return result; } @@ -373,9 +367,9 @@ public T CalculateDeterminant() return Operator.Subtract(Operator.Multiply(this[0, 0], this[1, 1]), Operator.Multiply(this[0, 1], this[1, 0])); } - if(this.RowsCount == 1) + if (this.RowsCount == 1) { - return this[0,0]; + return this[0, 0]; } @@ -396,7 +390,7 @@ public T CalculateDeterminant() /// <returns>Детерминант матрицы</returns> public async Task<T> CalculateDeterminantAsync() { - return await Task.Run(CalculateDeterminant); + return await Task.Run(CalculateDeterminant); } #region Features @@ -409,26 +403,26 @@ public override string ToString() { string outString = String.Empty; - for(int row = 0;row < this.RowsCount; row++) + for (int row = 0; row < this.RowsCount; row++) { - for(int column = 0;column < this.ColumnsCount; column++) + for (int column = 0; column < this.ColumnsCount; column++) { outString += matrix[row, column].ToString().PadLeft(8) + " "; - + } outString += "\n"; }; - + return outString; } - + #endregion - + } } diff --git a/Matrices/Structures/CellsCollections/BaseCellsCollection.cs b/Matrices/Structures/CellsCollections/BaseCellsCollection.cs index 11af786..443f71b 100644 --- a/Matrices/Structures/CellsCollections/BaseCellsCollection.cs +++ b/Matrices/Structures/CellsCollections/BaseCellsCollection.cs @@ -1,10 +1,7 @@ -using MiscUtil; -using System; +using System; using System.Collections; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace MathExtended.Matrices.Structures.CellsCollection { @@ -49,7 +46,7 @@ protected virtual T[] Cells _cells = value; } } - + /// <summary> /// Размер коллекции @@ -96,7 +93,7 @@ public virtual void ForEach(Action<T> action) /// </summary> /// <returns>Максимальное значение в последовательности ячеек</returns> public virtual T Max() => _cells.Max(); - + /// <summary> /// Находит минимальное число среди ячеек @@ -113,7 +110,7 @@ public virtual bool IsZero() return _cells.All((cell) => cell == (dynamic)0); } - + #region IEnumerable /// <summary> /// Текуший элемент diff --git a/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs b/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs index c7422e8..70d7c0e 100644 --- a/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs +++ b/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs @@ -1,10 +1,4 @@ -using MathExtended.Interfaces; -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System; namespace MathExtended.Matrices.Structures.CellsCollection { @@ -14,12 +8,12 @@ namespace MathExtended.Matrices.Structures.CellsCollection /// <typeparam name="T">Числовой тип</typeparam> public abstract class BaseReadOnlyCellsCollection<T> : BaseCellsCollection<T> where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { - + /// <summary> /// Создает коллекцию ячеек только для чтения с указанным размером /// </summary> /// <param name="size">Размер коллеции</param> - public BaseReadOnlyCellsCollection(int size):base(size) + public BaseReadOnlyCellsCollection(int size) : base(size) { Cells = new T[size]; } @@ -28,7 +22,7 @@ public BaseReadOnlyCellsCollection(int size):base(size) /// Создает коллецию только для чтения на основе массива /// </summary> /// <param name="array">Массив</param> - public BaseReadOnlyCellsCollection(T[] array):base(array) + public BaseReadOnlyCellsCollection(T[] array) : base(array) { Cells = array; } @@ -38,8 +32,8 @@ public BaseReadOnlyCellsCollection(T[] array):base(array) /// </summary> /// <param name="index">Индекс элемента</param> /// <returns>Элемент по индексу</returns> - public override T this[int index] - { + public override T this[int index] + { get => base[index]; } } diff --git a/Matrices/Structures/CellsCollections/MainDiagonal.cs b/Matrices/Structures/CellsCollections/MainDiagonal.cs index 9e96b82..a9b1c4c 100644 --- a/Matrices/Structures/CellsCollections/MainDiagonal.cs +++ b/Matrices/Structures/CellsCollections/MainDiagonal.cs @@ -1,11 +1,5 @@ -using MathExtended.Interfaces; -using MathExtended.Matrices.Structures.CellsCollection; -using MathExtended.Matrices.Structures.Rows; +using MathExtended.Matrices.Structures.CellsCollection; using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace MathExtended.Matrices.Structures.CellsCollections { @@ -19,7 +13,7 @@ public class MainDiagonal<T> : BaseReadOnlyCellsCollection<T> where T : ICompara /// Создает клавную диагональ на основе массива /// </summary> /// <param name="array">Массив</param> - public MainDiagonal(T[] array):base(array) + public MainDiagonal(T[] array) : base(array) { } diff --git a/Matrices/Structures/CellsCollections/VectorSelector.cs b/Matrices/Structures/CellsCollections/VectorSelector.cs index d9f0d44..421cdf6 100644 --- a/Matrices/Structures/CellsCollections/VectorSelector.cs +++ b/Matrices/Structures/CellsCollections/VectorSelector.cs @@ -1,10 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace MathExtended.Matrices.Structures.CellsCollections +namespace MathExtended.Matrices.Structures.CellsCollections { /// <summary> /// Селектор выборо векторов матрицы(вектор-строка или вектро-столбец) diff --git a/Matrices/Structures/Columns/Column.cs b/Matrices/Structures/Columns/Column.cs index 6353e2b..614c90d 100644 --- a/Matrices/Structures/Columns/Column.cs +++ b/Matrices/Structures/Columns/Column.cs @@ -1,12 +1,8 @@ -using MiscUtil; -using System; -using MathExtended.Exceptions; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using MathExtended.Exceptions; using MathExtended.Matrices.Structures.CellsCollection; using MathExtended.Matrices.Structures.Rows; +using MiscUtil; +using System; namespace MathExtended.Matrices.Structures.Columns { @@ -21,21 +17,21 @@ public class Column<T> : BaseCellsCollection<T> where T : IComparable, IFormatta /// Создает столбец с указанными размерами /// </summary> /// <param name="height"></param> - public Column(int height) : base(height) { } - /// <summary> - /// Создает столбец на основе массива - /// </summary> - /// <param name="array"></param> - public Column(T[] array) : base(array) { } - - /// <summary> - /// Не явным образом приводит масив к столбцу - /// </summary> - /// <param name="array">Приводимый массив</param> - public static implicit operator Column<T>(T[] array) - { + public Column(int height) : base(height) { } + /// <summary> + /// Создает столбец на основе массива + /// </summary> + /// <param name="array"></param> + public Column(T[] array) : base(array) { } + + /// <summary> + /// Не явным образом приводит масив к столбцу + /// </summary> + /// <param name="array">Приводимый массив</param> + public static implicit operator Column<T>(T[] array) + { return new Column<T>(array); - } + } /// <summary> /// Умножает число на столбец @@ -175,7 +171,7 @@ public static explicit operator Column<T>(ReadOnlyColumn<T> readOnlyColumn) public static explicit operator ReadOnlyColumn<T>(Column<T> column) { ReadOnlyColumn<T> readOnlyColumn = new ReadOnlyColumn<T>(column.Cells); - + return readOnlyColumn; } @@ -185,9 +181,9 @@ public static explicit operator ReadOnlyColumn<T>(Column<T> column) /// <returns><see cref="Row{T}"/> Строка</returns> public Row<T> Transponate() { - return new Row<T>(Cells); + return new Row<T>(Cells); } - + } } diff --git a/Matrices/Structures/Columns/ReadOnlyColumn.cs b/Matrices/Structures/Columns/ReadOnlyColumn.cs index 2bc0e26..db425ab 100644 --- a/Matrices/Structures/Columns/ReadOnlyColumn.cs +++ b/Matrices/Structures/Columns/ReadOnlyColumn.cs @@ -1,9 +1,5 @@ using MathExtended.Matrices.Structures.CellsCollection; using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace MathExtended.Matrices.Structures.Columns { diff --git a/Matrices/Structures/Rows/ReadOnlyRow.cs b/Matrices/Structures/Rows/ReadOnlyRow.cs index f8fb54a..c973fea 100644 --- a/Matrices/Structures/Rows/ReadOnlyRow.cs +++ b/Matrices/Structures/Rows/ReadOnlyRow.cs @@ -1,9 +1,5 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using MathExtended.Matrices.Structures.CellsCollection; +using MathExtended.Matrices.Structures.CellsCollection; +using System; namespace MathExtended.Matrices.Structures.Rows { @@ -30,7 +26,7 @@ public ReadOnlyRow(int size) : base(size) /// <param name="array">Массив</param> public ReadOnlyRow(T[] array) : base(array) { - + } /// <summary> diff --git a/Matrices/Structures/Rows/Row.cs b/Matrices/Structures/Rows/Row.cs index 69ef70b..fbc9bbd 100644 --- a/Matrices/Structures/Rows/Row.cs +++ b/Matrices/Structures/Rows/Row.cs @@ -1,13 +1,8 @@ -using MiscUtil; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using MathExtended.Exceptions; +using MathExtended.Exceptions; using MathExtended.Matrices.Structures.CellsCollection; using MathExtended.Matrices.Structures.Columns; -using MathExtended.Matrices.Structures.Rows; +using MiscUtil; +using System; namespace MathExtended.Matrices.Structures.Rows { @@ -18,7 +13,7 @@ namespace MathExtended.Matrices.Structures.Rows public class Row<T> : BaseCellsCollection<T> where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { private BaseCellsCollection<T> RowCells; - + /// <summary> /// Создает строку с указанным размером /// </summary> @@ -49,7 +44,7 @@ public static implicit operator Row<T>(T[] array) /// <param name="multiplier">Множитель</param> /// <param name="row">Строка</param> /// <returns>Умноженная строка</returns> - public static Row<T> operator * (T multiplier, Row<T> row) + public static Row<T> operator *(T multiplier, Row<T> row) { Row<T> multipliedRow = new Row<T>(row.Size); @@ -66,7 +61,7 @@ public static implicit operator Row<T>(T[] array) /// <param name="rowA">Первая строка</param> /// <param name="rowB">Вторая строка</param> /// <returns>Сумма двух строк</returns> - public static Row<T> operator + (Row<T> rowA, Row<T> rowB) + public static Row<T> operator +(Row<T> rowA, Row<T> rowB) { if (rowA.Size == rowB.Size) { @@ -93,12 +88,12 @@ public static implicit operator Row<T>(T[] array) /// <param name="rowA">Первая строка</param> /// <param name="rowB">Вторая строка</param> /// <returns>Разность двух строк</returns> - public static Row<T> operator - (Row<T> rowA, Row<T> rowB) + public static Row<T> operator -(Row<T> rowA, Row<T> rowB) { if (rowA.Size == rowB.Size) { Row<T> summedRow = new Row<T>(rowA.Size); - + int i = 0; summedRow.ForEach((cell) => summedRow[i++] = (T)Operator.Subtract(rowA[i++], rowB[i++])); @@ -126,7 +121,7 @@ public static implicit operator Row<T>(T[] array) else { dynamic num = 0; - + for (int i = 0; i < row.Size; i++) { num += (T)Operator.Multiply(row[i], column[i]); @@ -135,7 +130,7 @@ public static implicit operator Row<T>(T[] array) return num; } - + } @@ -147,9 +142,9 @@ public static implicit operator Row<T>(T[] array) public static explicit operator Row<T>(ReadOnlyRow<T> readOnlyRow) { Row<T> row = new Row<T>(readOnlyRow.Size); - + int i = 0; - + readOnlyRow.ForEach((cell) => { row[i] = cell; diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs index 9fbd2fb..16a1008 100644 --- a/Properties/AssemblyInfo.cs +++ b/Properties/AssemblyInfo.cs @@ -1,6 +1,5 @@ -using System.Resources; -using System.Reflection; -using System.Runtime.CompilerServices; +using System.Reflection; +using System.Resources; using System.Runtime.InteropServices; // Общие сведения об этой сборке предоставляются следующим набором diff --git a/TabulateResult.cs b/TabulateResult.cs index fe230c1..9880f33 100644 --- a/TabulateResult.cs +++ b/TabulateResult.cs @@ -1,9 +1,5 @@ using System; -using System.Collections.Generic; using System.Collections.ObjectModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace MathExtended { From ee832d1d8067094ddaa564dc05c44589124faaee Mon Sep 17 00:00:00 2001 From: Desk Any <combinerk@gmail.com> Date: Tue, 22 Mar 2022 00:03:16 +0300 Subject: [PATCH 67/68] =?UTF-8?q?=D0=A2=D0=B5=D1=81=D1=82=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=83=D0=BC=D0=BD=D0=BE?= =?UTF-8?q?=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F,=20=D1=82=D1=80=D0=B0=D0=BD?= =?UTF-8?q?=D1=81=D0=BF=D0=BE=D0=BD=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F,=20=D0=BE=D0=B1=D1=89=D0=B8=D0=B9=20=D1=80=D0=B5?= =?UTF-8?q?=D1=84=D0=B0=D0=BA=D1=82=D0=BE=D1=80=D0=B8=D0=BD=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Exceptions/ColumnZeroSizeException.cs | 2 +- .../ColumnsOfDifferentSizesException.cs | 4 - Exceptions/MatrixDifferentSizeException.cs | 4 +- Exceptions/MatrixInvalidSizesException.cs | 2 +- Exceptions/RowZeroSizeException.cs | 2 +- Exceptions/RowsOfDifferentSizesException.cs | 4 - Exceptions/VectorsDifferentSizeException.cs | 4 - ExtendentRandom.cs | 2 +- Interfaces/IMatrix.cs | 3 - MathExtendent.cs | 20 ++--- MathExtendentTests/ExtendentRandomTests.cs | 16 ++-- MathExtendentTests/MathExtendedTests.cs | 22 +++-- MathExtendentTests/Matrices/MatrixTests.cs | 87 +++++++++++++++---- Matrices/BaseMatrix.cs | 64 +++++++------- Matrices/Extensions/MatrixExtensions.cs | 35 ++++---- Matrices/Matrix.cs | 46 +++++----- .../CellsCollections/BaseCellsCollection.cs | 11 +-- .../BaseReadOnlyCellsCollection.cs | 18 ++-- .../CellsCollections/MainDiagonal.cs | 10 +-- .../CellsCollections/VectorSelector.cs | 8 +- Matrices/Structures/Columns/Column.cs | 44 +++++----- Matrices/Structures/Columns/ReadOnlyColumn.cs | 4 - Matrices/Structures/Rows/ReadOnlyRow.cs | 10 +-- Matrices/Structures/Rows/Row.cs | 29 +++---- Properties/AssemblyInfo.cs | 5 +- TabulateResult.cs | 4 - 26 files changed, 218 insertions(+), 242 deletions(-) diff --git a/Exceptions/ColumnZeroSizeException.cs b/Exceptions/ColumnZeroSizeException.cs index 0e7028c..e74b607 100644 --- a/Exceptions/ColumnZeroSizeException.cs +++ b/Exceptions/ColumnZeroSizeException.cs @@ -15,6 +15,6 @@ public class ColumnZeroSizeException : Exception /// Сообщение исключения /// </summary> public override string Message => _message; - + } } diff --git a/Exceptions/ColumnsOfDifferentSizesException.cs b/Exceptions/ColumnsOfDifferentSizesException.cs index 5e5ccc1..e47e737 100644 --- a/Exceptions/ColumnsOfDifferentSizesException.cs +++ b/Exceptions/ColumnsOfDifferentSizesException.cs @@ -1,8 +1,4 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace MathExtended.Exceptions { diff --git a/Exceptions/MatrixDifferentSizeException.cs b/Exceptions/MatrixDifferentSizeException.cs index 5235208..3020302 100644 --- a/Exceptions/MatrixDifferentSizeException.cs +++ b/Exceptions/MatrixDifferentSizeException.cs @@ -8,11 +8,11 @@ namespace MathExtended.Exceptions public class MatrixDifferentSizeException : Exception { private string message = "Matrices must be the same size"; - + /// <summary> /// Сообщение исключения /// </summary> public override string Message => message; - + } } diff --git a/Exceptions/MatrixInvalidSizesException.cs b/Exceptions/MatrixInvalidSizesException.cs index 28f2b26..c3c8d0f 100644 --- a/Exceptions/MatrixInvalidSizesException.cs +++ b/Exceptions/MatrixInvalidSizesException.cs @@ -14,6 +14,6 @@ public class MatrixInvalidSizesException : Exception /// Сообщение исключения /// </summary> public override string Message => _message; - + } } diff --git a/Exceptions/RowZeroSizeException.cs b/Exceptions/RowZeroSizeException.cs index 6211534..40be7e3 100644 --- a/Exceptions/RowZeroSizeException.cs +++ b/Exceptions/RowZeroSizeException.cs @@ -14,6 +14,6 @@ public class RowZeroSizeException : Exception /// Сообщение исключения /// </summary> public override string Message => _message; - + } } diff --git a/Exceptions/RowsOfDifferentSizesException.cs b/Exceptions/RowsOfDifferentSizesException.cs index c6afa44..2e7f0b4 100644 --- a/Exceptions/RowsOfDifferentSizesException.cs +++ b/Exceptions/RowsOfDifferentSizesException.cs @@ -1,8 +1,4 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace MathExtended.Exceptions { diff --git a/Exceptions/VectorsDifferentSizeException.cs b/Exceptions/VectorsDifferentSizeException.cs index 780b857..d9fb266 100644 --- a/Exceptions/VectorsDifferentSizeException.cs +++ b/Exceptions/VectorsDifferentSizeException.cs @@ -1,8 +1,4 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace MathExtended.Exceptions { diff --git a/ExtendentRandom.cs b/ExtendentRandom.cs index a1e428a..9935290 100644 --- a/ExtendentRandom.cs +++ b/ExtendentRandom.cs @@ -15,7 +15,7 @@ public class ExtendentRandom : Random /// <param name="minValue">Нижняя граница</param> /// <param name="maxValue">Верхняя граница</param> /// <returns><typeparamref name="T"/> Число</returns> - public T Next<T>(in T minValue,in T maxValue) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + public T Next<T>(in T minValue, in T maxValue) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { if ((dynamic)minValue < maxValue) { diff --git a/Interfaces/IMatrix.cs b/Interfaces/IMatrix.cs index 388c902..39f71be 100644 --- a/Interfaces/IMatrix.cs +++ b/Interfaces/IMatrix.cs @@ -1,9 +1,6 @@ using MathExtended.Matrices.Structures.CellsCollections; using System; using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace MathExtended.Interfaces { diff --git a/MathExtendent.cs b/MathExtendent.cs index dfa9b6a..894abba 100644 --- a/MathExtendent.cs +++ b/MathExtendent.cs @@ -1,9 +1,5 @@ - using System; +using System; using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using MathExtended.Exceptions; namespace MathExtended { @@ -62,7 +58,7 @@ public static double Csch(double x) return 1 / Sch(x); } - + /// <summary> /// Вычисляет алгебраическую сумму функции /// </summary> @@ -110,16 +106,16 @@ public static double AlgebraicSum(double i, double min, double max, Func<double, /// <param name="dx">Шаг</param> /// <param name="func">Табулируемая функции</param> /// <returns><see cref="TabulateResult"/> структура со значениями аргумента и функции</returns> - public static TabulateResult TabulateFunction(double x0, double xk, double dx, Func<double,double> func) + public static TabulateResult TabulateFunction(double x0, double xk, double dx, Func<double, double> func) { List<double> xValues = new List<double>(); List<double> yValues = new List<double>(); - - for(;x0 <= xk;x0 += dx) + + for (; x0 <= xk; x0 += dx) { - xValues.Add(x0); - yValues.Add(func(x0)); + xValues.Add(x0); + yValues.Add(func(x0)); } return new TabulateResult(xValues.ToArray(), yValues.ToArray()); @@ -137,7 +133,7 @@ public static TabulateResult TabulateFunction(double x0, double xk, double dx, F public static void TabulateFunction(double x0, double xk, double dx, Func<double, double> func, out double[] xValuesArray, out double[] yValuesArray) { List<double> xValues = new List<double>(); - + List<double> yValues = new List<double>(); for (; x0 <= xk; x0 += dx) diff --git a/MathExtendentTests/ExtendentRandomTests.cs b/MathExtendentTests/ExtendentRandomTests.cs index 9cafe88..b4e6807 100644 --- a/MathExtendentTests/ExtendentRandomTests.cs +++ b/MathExtendentTests/ExtendentRandomTests.cs @@ -1,9 +1,5 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using MathExtended; +using MathExtended; +using System; using Xunit; namespace MathExtendedTests @@ -17,8 +13,8 @@ public class ExtendentRandomTests [InlineData(-2, 3)] public void ExtendentRandomGeneratesIntValueInRangeOfValues(int downBound, int upperBound) { - int generatedValue = new ExtendentRandom().Next(downBound,upperBound); - + int generatedValue = new ExtendentRandom().Next(downBound, upperBound); + Assert.True(generatedValue < upperBound && generatedValue >= downBound); } @@ -37,9 +33,9 @@ public void ExtendentRandomGeneratesDoubleValueInRangeOfValues(double downBound, } [Theory] - [InlineData(4,2)] + [InlineData(4, 2)] [InlineData(2, 0)] - [InlineData(-2,-4)] + [InlineData(-2, -4)] public void ExtendentRandomGeneratesValueInInvalidRange(int downBound, int upperBound) { Assert.Throws<ArgumentOutOfRangeException>(() => new ExtendentRandom().Next(downBound, upperBound)); diff --git a/MathExtendentTests/MathExtendedTests.cs b/MathExtendentTests/MathExtendedTests.cs index 551db09..ec7236b 100644 --- a/MathExtendentTests/MathExtendedTests.cs +++ b/MathExtendentTests/MathExtendedTests.cs @@ -1,9 +1,7 @@ +using MathExtended; using System; -using Xunit; -using System.Linq; -using System.Collections; using System.Collections.Generic; -using MathExtended; +using Xunit; namespace MathExtendedTests @@ -16,29 +14,29 @@ public class MathExtendentTest [Fact] public void TabulateFunctionReturnsSameArrays() { - double[] factValues = {64, 49, 36, 25, 16, 9, 4, 1, 0, 1, 4, 9, 16, 25, 36, 49, 64 }; + double[] factValues = { 64, 49, 36, 25, 16, 9, 4, 1, 0, 1, 4, 9, 16, 25, 36, 49, 64 }; IReadOnlyCollection<double> calculatedValuesY; - + Func<double, double> function = (x) => x * x; calculatedValuesY = MathExtendent.TabulateFunction(-8, 8, 1, function).Y; - Assert.Equal(factValues,calculatedValuesY); + Assert.Equal(factValues, calculatedValuesY); } /// <summary> /// /// </summary> - [Fact] - public void AlgebraicSumReturnsSameSum() - { + [Fact] + public void AlgebraicSumReturnsSameSum() + { double factSum = 333835502; - double calculatedSum = MathExtendent.AlgebraicSum(0,1000,(x) => Math.Pow(x,2) + 2); + double calculatedSum = MathExtendent.AlgebraicSum(0, 1000, (x) => Math.Pow(x, 2) + 2); Assert.Equal(calculatedSum, factSum); - } + } } diff --git a/MathExtendentTests/Matrices/MatrixTests.cs b/MathExtendentTests/Matrices/MatrixTests.cs index a9ad95b..797e946 100644 --- a/MathExtendentTests/Matrices/MatrixTests.cs +++ b/MathExtendentTests/Matrices/MatrixTests.cs @@ -1,15 +1,10 @@ -using System; +using MathExtended.Exceptions; +using MathExtended.Matrices; +using MathExtended.Matrices.Extensions; +using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Threading.Tasks; using Xunit; -using Xunit.Extensions; -using MathExtended.Matrices; -using MathExtended.Exceptions; -using MathExtended.Matrices.Structures.Rows; -using MathExtended.Matrices.Extensions; -using MathExtended.Interfaces; namespace MathExtendedTests { @@ -29,6 +24,18 @@ public void InitMatrix(int rowsCount, int columnsCount) Assert.Equal(rowsCount * columnsCount, matrix.Size); } + [Fact] + public void InitMatrixByFunc() + { + Func<double, double, double> func = (r, c) => (r + 1) * (c + 1); + + double[,] expected = { { 1, 2, 3 }, { 2, 4, 6 }, { 3, 6, 9 } }; + + Matrix<double> matrix = new Matrix<double>(3, 3).InitBy(func); + + Assert.Equal(expected, (double[,])matrix); + } + [Theory] [InlineData(0, 0)] [InlineData(0, 1)] @@ -58,7 +65,7 @@ public void ForEachInMatrix(int rowsCount, int columnsCount, int eventInvokeCoun } [Theory] - [InlineData(3, 3, new double[] {1, 2, 3, 4, 5, 6, 7, 8, 9 })] + [InlineData(3, 3, new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 })] [InlineData(3, 2, new double[] { 1, 2, 3, 4, 5, 6 })] [InlineData(2, 3, new double[] { 1, 2, 3, 4, 5, 6 })] public void FillInOrderAllMatrixCellls(int rowsCount, int columnsCount, IEnumerable<double> expectedValues) @@ -72,7 +79,7 @@ public void FillInOrderAllMatrixCellls(int rowsCount, int columnsCount, IEnumera [Theory] [InlineData(3, 3, new int[] { 2, 4, 6, 8, 10, 12, 14, 16, 18 })] [InlineData(3, 2, new int[] { 2, 4, 6, 8, 10, 12 })] - [InlineData(2, 3, new int[] {2, 4, 6, 8, 10, 12})] + [InlineData(2, 3, new int[] { 2, 4, 6, 8, 10, 12 })] public void AddOperatorMatrix(int rowsCount, int columnsCount, ICollection<int> expectedValues) { List<int> actualValues = new List<int>(); @@ -103,19 +110,19 @@ public void AddOperatorMatricesDifferentSizes(int rowsCountFirstMatrix, int colu } [Theory] - [InlineData(3,3,3,3)] - [InlineData(3,2,3,2)] - [InlineData(3,6,3,6)] - public void MinusOperatorMatrices + [InlineData(3, 3, 3, 3)] + [InlineData(3, 2, 3, 2)] + [InlineData(3, 6, 3, 6)] + public void MinusOperatorMatrices (int rowsCountFirstMatrix, int columnsCountFirstMatrix, int rowsCountSecondMatrix, int columnsCountSecondMatrix) { - Matrix<double> firstMatrix = new Matrix<double>(rowsCountFirstMatrix, columnsCountFirstMatrix).FillInOrder(); + Matrix<double> matrixA = new Matrix<double>(rowsCountFirstMatrix, columnsCountFirstMatrix).FillInOrder(); - Matrix<double> secondMatrix = new Matrix<double>(rowsCountSecondMatrix, columnsCountSecondMatrix).FillInOrder(); + Matrix<double> matrixB = new Matrix<double>(rowsCountSecondMatrix, columnsCountSecondMatrix).FillInOrder(); - Matrix<double> result = firstMatrix - secondMatrix; + Matrix<double> result = matrixA - matrixB; - result.ForEach((c) => Assert.Equal(0, c)); + result.ToList().ForEach(c => Assert.Equal(0, c)); } [Theory] @@ -130,5 +137,47 @@ public void MinusOperatorMatricesDifferentSizes(int rowsCountFirstMatrix, int co Assert.Throws<MatrixDifferentSizeException>(() => matrixA + matrixB); } + [Theory] + [InlineData(3, 3, 3, 3, new double[] { 30, 36, 42, 66, 81, 96, 102, 126, 150 })] + [InlineData(4, 4, 4, 4, new double[] { 90, 100, 110, 120, 202, 228, 254, 280, 314, 356, 398, 440, 426, 484, 542, 600 })] + [InlineData(4, 3, 3, 4, new double[] { 38, 44, 50, 56, 83, 98, 113, 128, 128, 152, 176, 200, 173, 206, 239, 272 })] + [InlineData(2, 3, 3, 2, new double[] { 22, 28, 49, 64 })] + public void MultiplyOperatorMatricesDifferentSizes(int rowsCountFirstMatrix, int columnsCountFirstMatrix, int rowCountSecondMatrix, int columnsCountSecondMatrix, ICollection<double> expected) + { + Matrix<double> matrixA = new Matrix<double>(rowsCountFirstMatrix, columnsCountFirstMatrix).FillInOrder(); + + Matrix<double> matrixB = new Matrix<double>(rowCountSecondMatrix, columnsCountSecondMatrix).FillInOrder(); + + Matrix<double> result = matrixA * matrixB; + + Assert.Equal(expected, result); + + } + + [Theory] + [InlineData(3, 2, 4, 2)] + [InlineData(4, 2, 3, 2)] + public void MultiplyOperatorInvalidSizes(int rowsCountFirstMatrix, int columnsCountFirstMatrix, int rowCountSecondMatrix, int columnsCountSecondMatrix) + { + Matrix<double> matrixA = new Matrix<double>(rowsCountFirstMatrix, columnsCountFirstMatrix); + + Matrix<double> matrixB = new Matrix<double>(rowCountSecondMatrix, columnsCountSecondMatrix); + + Assert.Throws<TheNumberOfRowsAndColumnsIsDifferentException>(() => matrixA * matrixB); + } + + [Theory] + [InlineData(3, 3, new double[] { 1, 4, 7, 2, 5, 8, 3, 6, 9 })] + [InlineData(3, 2, new double[] { 1, 3, 5, 2, 4, 6 })] + [InlineData(2, 3, new double[] { 1, 4, 2, 5, 3, 6 })] + public void TransponateMatrixDifferentSizes(int rowsCount, int columsCount, ICollection<double> expected) + { + Matrix<double> matrix = new Matrix<double>(rowsCount, columsCount) + .FillInOrder() + .Transponate(); + + Assert.Equal(expected, matrix); + } + } } diff --git a/Matrices/BaseMatrix.cs b/Matrices/BaseMatrix.cs index 2008f70..1a98f1a 100644 --- a/Matrices/BaseMatrix.cs +++ b/Matrices/BaseMatrix.cs @@ -1,16 +1,14 @@ -using System; +using MathExtended.Exceptions; +using MathExtended.Interfaces; +using MathExtended.Matrices.Extensions; +using MathExtended.Matrices.Structures.CellsCollection; +using MathExtended.Matrices.Structures.CellsCollections; +using MathExtended.Matrices.Structures.Columns; +using MathExtended.Matrices.Structures.Rows; +using System; using System.Collections; using System.Collections.Generic; -using System.Collections.ObjectModel; using System.Threading.Tasks; -using MathExtended.Matrices.Structures.Columns; -using MathExtended.Matrices.Structures.Rows; -using MathExtended.Matrices.Structures.CellsCollections; -using MathExtended.Matrices.Structures.CellsCollection; -using System.Linq; -using MathExtended.Matrices.Extensions; -using MathExtended.Interfaces; -using MathExtended.Exceptions; namespace MathExtended.Matrices { @@ -19,7 +17,7 @@ namespace MathExtended.Matrices /// и ограничивает принимаемые обобщения до числовых типов (<see cref="int"></see>, <see cref="float"></see>, <see cref="double"></see> и т.д) /// </summary> /// <typeparam name="T">Числовой тип</typeparam> - public abstract class BaseMatrix<T> : IEnumerable<T>,IEnumerator<T>, IMatrix<T> where T: IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + public abstract class BaseMatrix<T> : IEnumerable<T>, IEnumerator<T>, IMatrix<T> where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { /// <summary> /// Матрица представляющая собой двумерный массив @@ -51,7 +49,7 @@ public abstract class BaseMatrix<T> : IEnumerable<T>,IEnumerator<T>, IMatrix<T> /// </summary> /// <param name="rows">Количество строк</param> /// <param name="columns">Количество столбцов</param> - public BaseMatrix(int rows,int columns) + public BaseMatrix(int rows, int columns) { if (!(rows <= 0) && !(columns <= 0)) { @@ -132,7 +130,7 @@ protected set { get { - if(selector == VectorSelector.Rows) + if (selector == VectorSelector.Rows) { return (ReadOnlyRow<T>)_rows[index]; } @@ -165,7 +163,7 @@ public virtual BaseCellsCollection<T>[] this[VectorSelector selector] } - + /// <summary> /// Возвращает строку матрицы соответсвующую индексу /// </summary> @@ -177,11 +175,11 @@ public Row<T> GetRow(int rowIndex) { var fullRow = new List<T>(); - for(int column = 0;column < ColumnsCount;column++) - { + for (int column = 0; column < ColumnsCount; column++) + { fullRow.Add(this[rowIndex, column]); - } - + } + return new Row<T>(fullRow.ToArray()); } @@ -190,7 +188,7 @@ public Row<T> GetRow(int rowIndex) throw new IndexOutOfRangeException(); } - + } /// <summary> @@ -218,15 +216,15 @@ public void SetRow(Row<T> row, int index) { if (index <= row.Size) { - - ForEach((r,c) => this[index, c] = row[c]); - + + ForEach((r, c) => this[index, c] = row[c]); + } else { throw new IndexOutOfRangeException(); } - + } /// <summary> @@ -266,7 +264,7 @@ public Column<T> GetColumn(int columnIndex) { throw new IndexOutOfRangeException($"Index {columnIndex} out of the bounds matrix"); } - + } /// <summary> @@ -287,27 +285,27 @@ public Column<T>[] GetColumns() /// </summary> /// <param name="columnIndex">Индекс столбца</param> /// <param name="column">Стобец</param> - public void SetColumn(int columnIndex,Column<T> column) + public void SetColumn(int columnIndex, Column<T> column) { if (columnIndex <= this.RowsCount - 1) { - ForEach((r,c) => this[r, columnIndex] = column[r]); - + ForEach((r, c) => this[r, columnIndex] = column[r]); + } else { throw new IndexOutOfRangeException(); } } - - + + /// <summary> /// Задает столбцы матрицы /// </summary> /// <param name="columns">Столбцы</param> public void SetColumns(Column<T>[] columns) { - ForEach((row, column) => SetColumn(row,columns[row])); + ForEach((row, column) => SetColumn(row, columns[row])); } /// <summary> @@ -343,7 +341,7 @@ protected private void ForEach(Action<int, int> action) return matrix.matrix; } - + #region IEnumerable /// <summary> @@ -425,7 +423,7 @@ public void Reset() _columnPosition = -1; } - + /// <summary> /// Высвобождает использованные ресурсы @@ -437,7 +435,7 @@ protected virtual void Dispose(bool disposing) { if (disposing) { - + matrix = null; MainDiagonal = null; } diff --git a/Matrices/Extensions/MatrixExtensions.cs b/Matrices/Extensions/MatrixExtensions.cs index 14349da..4a25d49 100644 --- a/Matrices/Extensions/MatrixExtensions.cs +++ b/Matrices/Extensions/MatrixExtensions.cs @@ -2,9 +2,7 @@ using MathExtended.Matrices.Structures.CellsCollections; using System; using System.Collections.Generic; -using System.Linq; using System.Runtime.CompilerServices; -using System.Text; using System.Threading.Tasks; @@ -36,7 +34,7 @@ private static void ForEach<T>(this IMatrix<T> matrix, Action<int, int> action) } else { - for(dynamic row = 0;row < matrix.RowsCount; row++) + for (dynamic row = 0; row < matrix.RowsCount; row++) { for (dynamic column = 0; column < matrix.ColumnsCount; column++) { @@ -47,6 +45,17 @@ private static void ForEach<T>(this IMatrix<T> matrix, Action<int, int> action) } + public static void ForEachAsParrallel<T>(this IMatrix<T> matrix, Action<int, int> action) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + { + Parallel.For(0, matrix.RowsCount, row => + { + Parallel.For(0, matrix.ColumnsCount, column => + { + action.Invoke(row, column); + }); + }); + } + /// <summary> /// Находит главную диагональ матрицы /// </summary> @@ -77,13 +86,7 @@ public static Matrix<T> Transponate<T>(this IMatrix<T> matrix) where T : ICompar { Matrix<T> transposedMatrix = new Matrix<T>(matrix.ColumnsCount, matrix.RowsCount); - Parallel.For(0, matrix.RowsCount, row => - { - Parallel.For(0, matrix.ColumnsCount, column => - { - transposedMatrix[row, column] = matrix[column, row]; - }); - }); + transposedMatrix.ForEachAsParrallel((r,c) => transposedMatrix[r, c] = matrix[c,r]); return transposedMatrix; } @@ -97,11 +100,11 @@ public static Matrix<T> Transponate<T>(this IMatrix<T> matrix) where T : ICompar /// <param name="matrix">Matrix</param> /// <param name="func">Function</param> /// <returns>Initialized matrix</returns> - public static Matrix<T> InitBy<T>(this IMatrix<T> matrix,Func<T,T,T> func) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + public static Matrix<T> InitBy<T>(this IMatrix<T> matrix, Func<T, T, T> func) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { Matrix<T> initedMatrix = new Matrix<T>(matrix.RowsCount, matrix.ColumnsCount); - matrix.ForEach((r,c) => initedMatrix[r,c] = func.Invoke((dynamic)r,(dynamic)c)); + matrix.ForEach((r, c) => initedMatrix[r, c] = func.Invoke((dynamic)r, (dynamic)c)); return initedMatrix; } @@ -150,7 +153,7 @@ public static Matrix<T> FillRandom<T>(this IMatrix<T> matrix) where T : ICompara /// <param name="min">Минимальное число</param> /// <param name="max">Максимальное число</param> /// <returns>Матрица со случайными значениями</returns> - public static Matrix<T> FillRandom<T>(this IMatrix<T> matrix ,T min, T max) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + public static Matrix<T> FillRandom<T>(this IMatrix<T> matrix, T min, T max) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { Matrix<T> filledMatrix = new Matrix<T>(matrix.RowsCount, matrix.ColumnsCount); @@ -160,9 +163,9 @@ public static Matrix<T> FillRandom<T>(this IMatrix<T> matrix ,T min, T max) wher { Parallel.For(0, matrix.ColumnsCount, column => { - + filledMatrix[row, column] = random.Next<T>(min, max); - + }); }); @@ -176,7 +179,7 @@ public static Matrix<T> FillRandom<T>(this IMatrix<T> matrix ,T min, T max) wher /// <param name="crossedOutRow">Вычеркнутая строка</param> /// <param name="crossedOutColumn">Вычеркнутый столбец</param> /// <returns><see cref="Matrix{T}"/> Минор матрицы</returns> - public static Matrix<T> FindMinor<T>(this IMatrix<T> matrix,uint crossedOutRow, uint crossedOutColumn) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> + public static Matrix<T> FindMinor<T>(this IMatrix<T> matrix, uint crossedOutRow, uint crossedOutColumn) where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { int i, j, p, q; diff --git a/Matrices/Matrix.cs b/Matrices/Matrix.cs index 540cb11..64289d7 100644 --- a/Matrices/Matrix.cs +++ b/Matrices/Matrix.cs @@ -1,15 +1,9 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Collections; -using MathExtended.Exceptions; +using MathExtended.Exceptions; +using MathExtended.Matrices.Structures.CellsCollections; using MiscUtil; -using System.ComponentModel; +using System; using System.Runtime.CompilerServices; -using System.Threading; -using MathExtended.Matrices.Structures.CellsCollections; +using System.Threading.Tasks; namespace MathExtended.Matrices { @@ -49,7 +43,7 @@ private set } } - + #endregion /// <summary> @@ -59,7 +53,7 @@ private set /// <param name="columns">Колличество столбцов матрице</param> public Matrix(int rows, int columns) : base(rows, columns) { - + IsSquareMatrix = RowsCount == ColumnsCount; @@ -113,7 +107,7 @@ public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1, array.GetUpperBound /// <param name="matrixA"></param> /// <param name="matrixB"></param> /// <returns>Разность матриц</returns> - public static Matrix<T> operator - (Matrix<T> matrixA, Matrix<T> matrixB) + public static Matrix<T> operator -(Matrix<T> matrixA, Matrix<T> matrixB) { if (matrixA.ColumnsCount == matrixB.ColumnsCount && matrixA.RowsCount == matrixB.RowsCount) { @@ -187,7 +181,7 @@ public Matrix(T[,] array) : base(array.GetUpperBound(0) + 1, array.GetUpperBound { Parallel.For(0, matrixB.ColumnsCount, column => { - for (int k = 0; k < matrixB.RowsCount; k++)// A B или C ? + for (int k = 0; k < matrixB.RowsCount; k++) { matrixC[row, column] = (T)Operator.Add(matrixC[row, column], Operator.Multiply(matrixA[row, k], matrixB[k, column])); } @@ -222,7 +216,7 @@ public static explicit operator Matrix<T>(T[,] array) return matrix.matrix; } - + #endregion private async Task<int> FindRankAsync() { @@ -254,7 +248,7 @@ public int FindRank() /// <param name="matrix">Матрица</param> /// <param name="power">Степень</param> /// <returns>Матрица в заданной степени</returns> - public static Matrix<T> Pow(Matrix<T> matrix,int power) + public static Matrix<T> Pow(Matrix<T> matrix, int power) { if (matrix != null && matrix.ColumnsCount == matrix.RowsCount) @@ -325,7 +319,7 @@ public Matrix<T> CreateMatrixWithoutColumn(int column) var result = new Matrix<T>(this.RowsCount, this.ColumnsCount - 1); result.ForEach((i, j) => result[i, j] = - j < column ? this[i,j] : this[i, j + 1]); + j < column ? this[i, j] : this[i, j + 1]); return result; } @@ -373,9 +367,9 @@ public T CalculateDeterminant() return Operator.Subtract(Operator.Multiply(this[0, 0], this[1, 1]), Operator.Multiply(this[0, 1], this[1, 0])); } - if(this.RowsCount == 1) + if (this.RowsCount == 1) { - return this[0,0]; + return this[0, 0]; } @@ -396,7 +390,7 @@ public T CalculateDeterminant() /// <returns>Детерминант матрицы</returns> public async Task<T> CalculateDeterminantAsync() { - return await Task.Run(CalculateDeterminant); + return await Task.Run(CalculateDeterminant); } #region Features @@ -409,26 +403,26 @@ public override string ToString() { string outString = String.Empty; - for(int row = 0;row < this.RowsCount; row++) + for (int row = 0; row < this.RowsCount; row++) { - for(int column = 0;column < this.ColumnsCount; column++) + for (int column = 0; column < this.ColumnsCount; column++) { outString += matrix[row, column].ToString().PadLeft(8) + " "; - + } outString += "\n"; }; - + return outString; } - + #endregion - + } } diff --git a/Matrices/Structures/CellsCollections/BaseCellsCollection.cs b/Matrices/Structures/CellsCollections/BaseCellsCollection.cs index 11af786..443f71b 100644 --- a/Matrices/Structures/CellsCollections/BaseCellsCollection.cs +++ b/Matrices/Structures/CellsCollections/BaseCellsCollection.cs @@ -1,10 +1,7 @@ -using MiscUtil; -using System; +using System; using System.Collections; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace MathExtended.Matrices.Structures.CellsCollection { @@ -49,7 +46,7 @@ protected virtual T[] Cells _cells = value; } } - + /// <summary> /// Размер коллекции @@ -96,7 +93,7 @@ public virtual void ForEach(Action<T> action) /// </summary> /// <returns>Максимальное значение в последовательности ячеек</returns> public virtual T Max() => _cells.Max(); - + /// <summary> /// Находит минимальное число среди ячеек @@ -113,7 +110,7 @@ public virtual bool IsZero() return _cells.All((cell) => cell == (dynamic)0); } - + #region IEnumerable /// <summary> /// Текуший элемент diff --git a/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs b/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs index c7422e8..70d7c0e 100644 --- a/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs +++ b/Matrices/Structures/CellsCollections/BaseReadOnlyCellsCollection.cs @@ -1,10 +1,4 @@ -using MathExtended.Interfaces; -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System; namespace MathExtended.Matrices.Structures.CellsCollection { @@ -14,12 +8,12 @@ namespace MathExtended.Matrices.Structures.CellsCollection /// <typeparam name="T">Числовой тип</typeparam> public abstract class BaseReadOnlyCellsCollection<T> : BaseCellsCollection<T> where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { - + /// <summary> /// Создает коллекцию ячеек только для чтения с указанным размером /// </summary> /// <param name="size">Размер коллеции</param> - public BaseReadOnlyCellsCollection(int size):base(size) + public BaseReadOnlyCellsCollection(int size) : base(size) { Cells = new T[size]; } @@ -28,7 +22,7 @@ public BaseReadOnlyCellsCollection(int size):base(size) /// Создает коллецию только для чтения на основе массива /// </summary> /// <param name="array">Массив</param> - public BaseReadOnlyCellsCollection(T[] array):base(array) + public BaseReadOnlyCellsCollection(T[] array) : base(array) { Cells = array; } @@ -38,8 +32,8 @@ public BaseReadOnlyCellsCollection(T[] array):base(array) /// </summary> /// <param name="index">Индекс элемента</param> /// <returns>Элемент по индексу</returns> - public override T this[int index] - { + public override T this[int index] + { get => base[index]; } } diff --git a/Matrices/Structures/CellsCollections/MainDiagonal.cs b/Matrices/Structures/CellsCollections/MainDiagonal.cs index 9e96b82..a9b1c4c 100644 --- a/Matrices/Structures/CellsCollections/MainDiagonal.cs +++ b/Matrices/Structures/CellsCollections/MainDiagonal.cs @@ -1,11 +1,5 @@ -using MathExtended.Interfaces; -using MathExtended.Matrices.Structures.CellsCollection; -using MathExtended.Matrices.Structures.Rows; +using MathExtended.Matrices.Structures.CellsCollection; using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace MathExtended.Matrices.Structures.CellsCollections { @@ -19,7 +13,7 @@ public class MainDiagonal<T> : BaseReadOnlyCellsCollection<T> where T : ICompara /// Создает клавную диагональ на основе массива /// </summary> /// <param name="array">Массив</param> - public MainDiagonal(T[] array):base(array) + public MainDiagonal(T[] array) : base(array) { } diff --git a/Matrices/Structures/CellsCollections/VectorSelector.cs b/Matrices/Structures/CellsCollections/VectorSelector.cs index d9f0d44..421cdf6 100644 --- a/Matrices/Structures/CellsCollections/VectorSelector.cs +++ b/Matrices/Structures/CellsCollections/VectorSelector.cs @@ -1,10 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace MathExtended.Matrices.Structures.CellsCollections +namespace MathExtended.Matrices.Structures.CellsCollections { /// <summary> /// Селектор выборо векторов матрицы(вектор-строка или вектро-столбец) diff --git a/Matrices/Structures/Columns/Column.cs b/Matrices/Structures/Columns/Column.cs index 6353e2b..614c90d 100644 --- a/Matrices/Structures/Columns/Column.cs +++ b/Matrices/Structures/Columns/Column.cs @@ -1,12 +1,8 @@ -using MiscUtil; -using System; -using MathExtended.Exceptions; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using MathExtended.Exceptions; using MathExtended.Matrices.Structures.CellsCollection; using MathExtended.Matrices.Structures.Rows; +using MiscUtil; +using System; namespace MathExtended.Matrices.Structures.Columns { @@ -21,21 +17,21 @@ public class Column<T> : BaseCellsCollection<T> where T : IComparable, IFormatta /// Создает столбец с указанными размерами /// </summary> /// <param name="height"></param> - public Column(int height) : base(height) { } - /// <summary> - /// Создает столбец на основе массива - /// </summary> - /// <param name="array"></param> - public Column(T[] array) : base(array) { } - - /// <summary> - /// Не явным образом приводит масив к столбцу - /// </summary> - /// <param name="array">Приводимый массив</param> - public static implicit operator Column<T>(T[] array) - { + public Column(int height) : base(height) { } + /// <summary> + /// Создает столбец на основе массива + /// </summary> + /// <param name="array"></param> + public Column(T[] array) : base(array) { } + + /// <summary> + /// Не явным образом приводит масив к столбцу + /// </summary> + /// <param name="array">Приводимый массив</param> + public static implicit operator Column<T>(T[] array) + { return new Column<T>(array); - } + } /// <summary> /// Умножает число на столбец @@ -175,7 +171,7 @@ public static explicit operator Column<T>(ReadOnlyColumn<T> readOnlyColumn) public static explicit operator ReadOnlyColumn<T>(Column<T> column) { ReadOnlyColumn<T> readOnlyColumn = new ReadOnlyColumn<T>(column.Cells); - + return readOnlyColumn; } @@ -185,9 +181,9 @@ public static explicit operator ReadOnlyColumn<T>(Column<T> column) /// <returns><see cref="Row{T}"/> Строка</returns> public Row<T> Transponate() { - return new Row<T>(Cells); + return new Row<T>(Cells); } - + } } diff --git a/Matrices/Structures/Columns/ReadOnlyColumn.cs b/Matrices/Structures/Columns/ReadOnlyColumn.cs index 2bc0e26..db425ab 100644 --- a/Matrices/Structures/Columns/ReadOnlyColumn.cs +++ b/Matrices/Structures/Columns/ReadOnlyColumn.cs @@ -1,9 +1,5 @@ using MathExtended.Matrices.Structures.CellsCollection; using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace MathExtended.Matrices.Structures.Columns { diff --git a/Matrices/Structures/Rows/ReadOnlyRow.cs b/Matrices/Structures/Rows/ReadOnlyRow.cs index f8fb54a..c973fea 100644 --- a/Matrices/Structures/Rows/ReadOnlyRow.cs +++ b/Matrices/Structures/Rows/ReadOnlyRow.cs @@ -1,9 +1,5 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using MathExtended.Matrices.Structures.CellsCollection; +using MathExtended.Matrices.Structures.CellsCollection; +using System; namespace MathExtended.Matrices.Structures.Rows { @@ -30,7 +26,7 @@ public ReadOnlyRow(int size) : base(size) /// <param name="array">Массив</param> public ReadOnlyRow(T[] array) : base(array) { - + } /// <summary> diff --git a/Matrices/Structures/Rows/Row.cs b/Matrices/Structures/Rows/Row.cs index 69ef70b..fbc9bbd 100644 --- a/Matrices/Structures/Rows/Row.cs +++ b/Matrices/Structures/Rows/Row.cs @@ -1,13 +1,8 @@ -using MiscUtil; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using MathExtended.Exceptions; +using MathExtended.Exceptions; using MathExtended.Matrices.Structures.CellsCollection; using MathExtended.Matrices.Structures.Columns; -using MathExtended.Matrices.Structures.Rows; +using MiscUtil; +using System; namespace MathExtended.Matrices.Structures.Rows { @@ -18,7 +13,7 @@ namespace MathExtended.Matrices.Structures.Rows public class Row<T> : BaseCellsCollection<T> where T : IComparable, IFormattable, IConvertible, IComparable<T>, IEquatable<T> { private BaseCellsCollection<T> RowCells; - + /// <summary> /// Создает строку с указанным размером /// </summary> @@ -49,7 +44,7 @@ public static implicit operator Row<T>(T[] array) /// <param name="multiplier">Множитель</param> /// <param name="row">Строка</param> /// <returns>Умноженная строка</returns> - public static Row<T> operator * (T multiplier, Row<T> row) + public static Row<T> operator *(T multiplier, Row<T> row) { Row<T> multipliedRow = new Row<T>(row.Size); @@ -66,7 +61,7 @@ public static implicit operator Row<T>(T[] array) /// <param name="rowA">Первая строка</param> /// <param name="rowB">Вторая строка</param> /// <returns>Сумма двух строк</returns> - public static Row<T> operator + (Row<T> rowA, Row<T> rowB) + public static Row<T> operator +(Row<T> rowA, Row<T> rowB) { if (rowA.Size == rowB.Size) { @@ -93,12 +88,12 @@ public static implicit operator Row<T>(T[] array) /// <param name="rowA">Первая строка</param> /// <param name="rowB">Вторая строка</param> /// <returns>Разность двух строк</returns> - public static Row<T> operator - (Row<T> rowA, Row<T> rowB) + public static Row<T> operator -(Row<T> rowA, Row<T> rowB) { if (rowA.Size == rowB.Size) { Row<T> summedRow = new Row<T>(rowA.Size); - + int i = 0; summedRow.ForEach((cell) => summedRow[i++] = (T)Operator.Subtract(rowA[i++], rowB[i++])); @@ -126,7 +121,7 @@ public static implicit operator Row<T>(T[] array) else { dynamic num = 0; - + for (int i = 0; i < row.Size; i++) { num += (T)Operator.Multiply(row[i], column[i]); @@ -135,7 +130,7 @@ public static implicit operator Row<T>(T[] array) return num; } - + } @@ -147,9 +142,9 @@ public static implicit operator Row<T>(T[] array) public static explicit operator Row<T>(ReadOnlyRow<T> readOnlyRow) { Row<T> row = new Row<T>(readOnlyRow.Size); - + int i = 0; - + readOnlyRow.ForEach((cell) => { row[i] = cell; diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs index 9fbd2fb..16a1008 100644 --- a/Properties/AssemblyInfo.cs +++ b/Properties/AssemblyInfo.cs @@ -1,6 +1,5 @@ -using System.Resources; -using System.Reflection; -using System.Runtime.CompilerServices; +using System.Reflection; +using System.Resources; using System.Runtime.InteropServices; // Общие сведения об этой сборке предоставляются следующим набором diff --git a/TabulateResult.cs b/TabulateResult.cs index fe230c1..9880f33 100644 --- a/TabulateResult.cs +++ b/TabulateResult.cs @@ -1,9 +1,5 @@ using System; -using System.Collections.Generic; using System.Collections.ObjectModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace MathExtended { From ba76fef07f56ff77e5b6bde84b5498b6853def50 Mon Sep 17 00:00:00 2001 From: ADRN_NKT <combinerk@gmail.com> Date: Sun, 22 Oct 2023 00:41:53 +0300 Subject: [PATCH 68/68] Update .NET Framework version --- MathExtended.csproj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MathExtended.csproj b/MathExtended.csproj index 1ef3b75..04f6769 100644 --- a/MathExtended.csproj +++ b/MathExtended.csproj @@ -9,9 +9,10 @@ <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>MathExtended</RootNamespace> <AssemblyName>MathExtended</AssemblyName> - <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> + <TargetFrameworkVersion>v4.8</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> <Deterministic>true</Deterministic> + <TargetFrameworkProfile /> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols>