From e68018e017592066191164ce7e16d52b877cbf56 Mon Sep 17 00:00:00 2001 From: Hanna Kruppe Date: Tue, 12 Aug 2025 23:59:13 +0200 Subject: [PATCH 1/3] fix new must_use warnings --- src/array/const_generic_impl.rs | 2 -- src/array/generic_array_impl.rs | 2 -- src/arrayvec.rs | 20 -------------------- src/slicevec.rs | 14 -------------- src/tinyvec.rs | 21 --------------------- 5 files changed, 59 deletions(-) diff --git a/src/array/const_generic_impl.rs b/src/array/const_generic_impl.rs index 2d9f1b1..d135715 100644 --- a/src/array/const_generic_impl.rs +++ b/src/array/const_generic_impl.rs @@ -5,13 +5,11 @@ impl Array for [T; N] { const CAPACITY: usize = N; #[inline(always)] - #[must_use] fn as_slice(&self) -> &[T] { &*self } #[inline(always)] - #[must_use] fn as_slice_mut(&mut self) -> &mut [T] { &mut *self } diff --git a/src/array/generic_array_impl.rs b/src/array/generic_array_impl.rs index 383fb83..b61bd60 100644 --- a/src/array/generic_array_impl.rs +++ b/src/array/generic_array_impl.rs @@ -8,13 +8,11 @@ impl Array for GenericArray { const CAPACITY: usize = N::USIZE; #[inline(always)] - #[must_use] fn as_slice(&self) -> &[T] { &*self } #[inline(always)] - #[must_use] fn as_slice_mut(&mut self) -> &mut [T] { &mut *self } diff --git a/src/arrayvec.rs b/src/arrayvec.rs index 884d930..46d80c4 100644 --- a/src/arrayvec.rs +++ b/src/arrayvec.rs @@ -155,7 +155,6 @@ impl Default for ArrayVec { impl Deref for ArrayVec { type Target = [A::Item]; #[inline(always)] - #[must_use] fn deref(&self) -> &Self::Target { &self.data.as_slice()[..self.len as usize] } @@ -163,7 +162,6 @@ impl Deref for ArrayVec { impl DerefMut for ArrayVec { #[inline(always)] - #[must_use] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.data.as_slice_mut()[..self.len as usize] } @@ -172,7 +170,6 @@ impl DerefMut for ArrayVec { impl> Index for ArrayVec { type Output = >::Output; #[inline(always)] - #[must_use] fn index(&self, index: I) -> &Self::Output { &self.deref()[index] } @@ -180,7 +177,6 @@ impl> Index for ArrayVec { impl> IndexMut for ArrayVec { #[inline(always)] - #[must_use] fn index_mut(&mut self, index: I) -> &mut Self::Output { &mut self.deref_mut()[index] } @@ -192,7 +188,6 @@ impl Serialize for ArrayVec where A::Item: Serialize, { - #[must_use] fn serialize(&self, serializer: S) -> Result where S: Serializer, @@ -1373,7 +1368,6 @@ impl<'p, A: Array, I: Iterator> Drop impl AsMut<[A::Item]> for ArrayVec { #[inline(always)] - #[must_use] fn as_mut(&mut self) -> &mut [A::Item] { &mut *self } @@ -1381,7 +1375,6 @@ impl AsMut<[A::Item]> for ArrayVec { impl AsRef<[A::Item]> for ArrayVec { #[inline(always)] - #[must_use] fn as_ref(&self) -> &[A::Item] { &*self } @@ -1389,7 +1382,6 @@ impl AsRef<[A::Item]> for ArrayVec { impl Borrow<[A::Item]> for ArrayVec { #[inline(always)] - #[must_use] fn borrow(&self) -> &[A::Item] { &*self } @@ -1397,7 +1389,6 @@ impl Borrow<[A::Item]> for ArrayVec { impl BorrowMut<[A::Item]> for ArrayVec { #[inline(always)] - #[must_use] fn borrow_mut(&mut self) -> &mut [A::Item] { &mut *self } @@ -1414,7 +1405,6 @@ impl Extend for ArrayVec { impl From for ArrayVec { #[inline(always)] - #[must_use] /// The output has a length equal to the full array. /// /// If you want to select a length, use @@ -1475,7 +1465,6 @@ where impl FromIterator for ArrayVec { #[inline] - #[must_use] fn from_iter>(iter: T) -> Self { let mut av = Self::default(); for i in iter { @@ -1512,7 +1501,6 @@ impl Iterator for ArrayVecIterator { return Some(core::mem::take(itemref)); } #[inline(always)] - #[must_use] fn size_hint(&self) -> (usize, Option) { let s = self.tail - self.base; let s = s as usize; @@ -1592,7 +1580,6 @@ impl IntoIterator for ArrayVec { type Item = A::Item; type IntoIter = ArrayVecIterator; #[inline(always)] - #[must_use] fn into_iter(self) -> Self::IntoIter { ArrayVecIterator { base: 0, tail: self.len, data: self.data } } @@ -1602,7 +1589,6 @@ impl<'a, A: Array> IntoIterator for &'a mut ArrayVec { type Item = &'a mut A::Item; type IntoIter = core::slice::IterMut<'a, A::Item>; #[inline(always)] - #[must_use] fn into_iter(self) -> Self::IntoIter { self.iter_mut() } @@ -1612,7 +1598,6 @@ impl<'a, A: Array> IntoIterator for &'a ArrayVec { type Item = &'a A::Item; type IntoIter = core::slice::Iter<'a, A::Item>; #[inline(always)] - #[must_use] fn into_iter(self) -> Self::IntoIter { self.iter() } @@ -1623,7 +1608,6 @@ where A::Item: PartialEq, { #[inline] - #[must_use] fn eq(&self, other: &Self) -> bool { self.as_slice().eq(other.as_slice()) } @@ -1635,7 +1619,6 @@ where A::Item: PartialOrd, { #[inline] - #[must_use] fn partial_cmp(&self, other: &Self) -> Option { self.as_slice().partial_cmp(other.as_slice()) } @@ -1645,7 +1628,6 @@ where A::Item: Ord, { #[inline] - #[must_use] fn cmp(&self, other: &Self) -> core::cmp::Ordering { self.as_slice().cmp(other.as_slice()) } @@ -1656,7 +1638,6 @@ where A::Item: PartialEq, { #[inline] - #[must_use] fn eq(&self, other: &&A) -> bool { self.as_slice().eq(other.as_slice()) } @@ -1667,7 +1648,6 @@ where A::Item: PartialEq, { #[inline] - #[must_use] fn eq(&self, other: &&[A::Item]) -> bool { self.as_slice().eq(*other) } diff --git a/src/slicevec.rs b/src/slicevec.rs index 90b8e9e..9f901c3 100644 --- a/src/slicevec.rs +++ b/src/slicevec.rs @@ -20,7 +20,6 @@ pub struct SliceVec<'s, T> { impl<'s, T> Default for SliceVec<'s, T> { #[inline(always)] - #[must_use] fn default() -> Self { Self { data: &mut [], len: 0 } } @@ -29,7 +28,6 @@ impl<'s, T> Default for SliceVec<'s, T> { impl<'s, T> Deref for SliceVec<'s, T> { type Target = [T]; #[inline(always)] - #[must_use] fn deref(&self) -> &Self::Target { &self.data[..self.len] } @@ -37,7 +35,6 @@ impl<'s, T> Deref for SliceVec<'s, T> { impl<'s, T> DerefMut for SliceVec<'s, T> { #[inline(always)] - #[must_use] fn deref_mut(&mut self) -> &mut Self::Target { &mut self.data[..self.len] } @@ -49,7 +46,6 @@ where { type Output = >::Output; #[inline(always)] - #[must_use] fn index(&self, index: I) -> &Self::Output { &self.deref()[index] } @@ -60,7 +56,6 @@ where I: SliceIndex<[T]>, { #[inline(always)] - #[must_use] fn index_mut(&mut self, index: I) -> &mut Self::Output { &mut self.deref_mut()[index] } @@ -752,7 +747,6 @@ impl<'p, 's, T: Default> Drop for SliceVecDrain<'p, 's, T> { impl<'s, T> AsMut<[T]> for SliceVec<'s, T> { #[inline(always)] - #[must_use] fn as_mut(&mut self) -> &mut [T] { &mut *self } @@ -760,7 +754,6 @@ impl<'s, T> AsMut<[T]> for SliceVec<'s, T> { impl<'s, T> AsRef<[T]> for SliceVec<'s, T> { #[inline(always)] - #[must_use] fn as_ref(&self) -> &[T] { &*self } @@ -768,7 +761,6 @@ impl<'s, T> AsRef<[T]> for SliceVec<'s, T> { impl<'s, T> Borrow<[T]> for SliceVec<'s, T> { #[inline(always)] - #[must_use] fn borrow(&self) -> &[T] { &*self } @@ -776,7 +768,6 @@ impl<'s, T> Borrow<[T]> for SliceVec<'s, T> { impl<'s, T> BorrowMut<[T]> for SliceVec<'s, T> { #[inline(always)] - #[must_use] fn borrow_mut(&mut self) -> &mut [T] { &mut *self } @@ -795,7 +786,6 @@ impl<'s, T> IntoIterator for SliceVec<'s, T> { type Item = &'s mut T; type IntoIter = core::slice::IterMut<'s, T>; #[inline(always)] - #[must_use] fn into_iter(self) -> Self::IntoIter { self.data.iter_mut() } @@ -806,7 +796,6 @@ where T: PartialEq, { #[inline] - #[must_use] fn eq(&self, other: &Self) -> bool { self.as_slice().eq(other.as_slice()) } @@ -818,7 +807,6 @@ where T: PartialOrd, { #[inline] - #[must_use] fn partial_cmp(&self, other: &Self) -> Option { self.as_slice().partial_cmp(other.as_slice()) } @@ -828,7 +816,6 @@ where T: Ord, { #[inline] - #[must_use] fn cmp(&self, other: &Self) -> core::cmp::Ordering { self.as_slice().cmp(other.as_slice()) } @@ -839,7 +826,6 @@ where T: PartialEq, { #[inline] - #[must_use] fn eq(&self, other: &&[T]) -> bool { self.as_slice().eq(*other) } diff --git a/src/tinyvec.rs b/src/tinyvec.rs index 9afdad5..926b9c8 100644 --- a/src/tinyvec.rs +++ b/src/tinyvec.rs @@ -130,7 +130,6 @@ where impl Default for TinyVec { #[inline] - #[must_use] fn default() -> Self { TinyVec::Inline(ArrayVec::default()) } @@ -159,7 +158,6 @@ impl DerefMut for TinyVec { impl> Index for TinyVec { type Output = >::Output; #[inline(always)] - #[must_use] fn index(&self, index: I) -> &Self::Output { &self.deref()[index] } @@ -167,7 +165,6 @@ impl> Index for TinyVec { impl> IndexMut for TinyVec { #[inline(always)] - #[must_use] fn index_mut(&mut self, index: I) -> &mut Self::Output { &mut self.deref_mut()[index] } @@ -194,7 +191,6 @@ impl Serialize for TinyVec where A::Item: Serialize, { - #[must_use] fn serialize(&self, serializer: S) -> Result where S: Serializer, @@ -1326,7 +1322,6 @@ impl<'p, A: Array, I: Iterator> Drop impl AsMut<[A::Item]> for TinyVec { #[inline(always)] - #[must_use] fn as_mut(&mut self) -> &mut [A::Item] { &mut *self } @@ -1334,7 +1329,6 @@ impl AsMut<[A::Item]> for TinyVec { impl AsRef<[A::Item]> for TinyVec { #[inline(always)] - #[must_use] fn as_ref(&self) -> &[A::Item] { &*self } @@ -1342,7 +1336,6 @@ impl AsRef<[A::Item]> for TinyVec { impl Borrow<[A::Item]> for TinyVec { #[inline(always)] - #[must_use] fn borrow(&self) -> &[A::Item] { &*self } @@ -1350,7 +1343,6 @@ impl Borrow<[A::Item]> for TinyVec { impl BorrowMut<[A::Item]> for TinyVec { #[inline(always)] - #[must_use] fn borrow_mut(&mut self) -> &mut [A::Item] { &mut *self } @@ -1385,7 +1377,6 @@ impl Extend for TinyVec { impl From> for TinyVec { #[inline(always)] - #[must_use] fn from(arr: ArrayVec) -> Self { TinyVec::Inline(arr) } @@ -1404,7 +1395,6 @@ where A: Array, { #[inline] - #[must_use] fn from(slice: &[T]) -> Self { if let Ok(arr) = ArrayVec::try_from(slice) { TinyVec::Inline(arr) @@ -1420,7 +1410,6 @@ where A: Array, { #[inline] - #[must_use] fn from(slice: &mut [T]) -> Self { Self::from(&*slice) } @@ -1428,7 +1417,6 @@ where impl FromIterator for TinyVec { #[inline] - #[must_use] fn from_iter>(iter: T) -> Self { let mut av = Self::default(); av.extend(iter); @@ -1482,7 +1470,6 @@ impl Into> for TinyVec { /// assert!(type_of(&vec).ends_with("Vec")); /// ``` #[inline] - #[must_use] fn into(self) -> Vec { match self { Self::Heap(inner) => inner, @@ -1570,7 +1557,6 @@ impl IntoIterator for TinyVec { type Item = A::Item; type IntoIter = TinyVecIterator; #[inline(always)] - #[must_use] fn into_iter(self) -> Self::IntoIter { match self { TinyVec::Inline(a) => TinyVecIterator::Inline(a.into_iter()), @@ -1583,7 +1569,6 @@ impl<'a, A: Array> IntoIterator for &'a mut TinyVec { type Item = &'a mut A::Item; type IntoIter = core::slice::IterMut<'a, A::Item>; #[inline(always)] - #[must_use] fn into_iter(self) -> Self::IntoIter { self.iter_mut() } @@ -1593,7 +1578,6 @@ impl<'a, A: Array> IntoIterator for &'a TinyVec { type Item = &'a A::Item; type IntoIter = core::slice::Iter<'a, A::Item>; #[inline(always)] - #[must_use] fn into_iter(self) -> Self::IntoIter { self.iter() } @@ -1604,7 +1588,6 @@ where A::Item: PartialEq, { #[inline] - #[must_use] fn eq(&self, other: &Self) -> bool { self.as_slice().eq(other.as_slice()) } @@ -1616,7 +1599,6 @@ where A::Item: PartialOrd, { #[inline] - #[must_use] fn partial_cmp(&self, other: &Self) -> Option { self.as_slice().partial_cmp(other.as_slice()) } @@ -1626,7 +1608,6 @@ where A::Item: Ord, { #[inline] - #[must_use] fn cmp(&self, other: &Self) -> core::cmp::Ordering { self.as_slice().cmp(other.as_slice()) } @@ -1637,7 +1618,6 @@ where A::Item: PartialEq, { #[inline] - #[must_use] fn eq(&self, other: &&A) -> bool { self.as_slice().eq(other.as_slice()) } @@ -1648,7 +1628,6 @@ where A::Item: PartialEq, { #[inline] - #[must_use] fn eq(&self, other: &&[A::Item]) -> bool { self.as_slice().eq(*other) } From 50b44ad2f9da30713b2f858610d7a77a3a04a64e Mon Sep 17 00:00:00 2001 From: Hanna Kruppe Date: Wed, 13 Aug 2025 00:14:06 +0200 Subject: [PATCH 2/3] delete outdated docs about MSRV --- src/lib.rs | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 375dcc4..112853c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -63,15 +63,6 @@ //! The vecs here also have a few additional methods that aren't on the `Vec` //! type. In this case, the names tend to be fairly long so that they are //! unlikely to clash with any future methods added to `Vec`. -//! -//! ## Stability -//! * The `1.0` series of the crate works with Rustc `1.34.0` or later, though -//! you still need to have Rustc `1.36.0` to use the `alloc` feature. -//! * The `2.0` version of the crate is planned for some time after the -//! `min_const_generics` stuff becomes stable. This would greatly raise the -//! minimum rust version and also allow us to totally eliminate the need for -//! the `Array` trait. The actual usage of the crate is not expected to break -//! significantly in this transition. #[allow(unused_imports)] use core::{ From cc7a5cb56d0116ff597b25aa7eb47ce294c0956e Mon Sep 17 00:00:00 2001 From: Hanna Kruppe Date: Wed, 13 Aug 2025 00:13:07 +0200 Subject: [PATCH 3/3] bump MSRV to 1.55, drop generated Array impls --- .github/workflows/rust.yml | 6 +- Cargo.toml | 7 +- gen-array-impls.sh | 53 - src/array.rs | 10 +- src/array/generated_impl.rs | 9616 ----------------------------------- 5 files changed, 7 insertions(+), 9685 deletions(-) delete mode 100755 gen-array-impls.sh delete mode 100644 src/array/generated_impl.rs diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index d2a8331..4ec05e6 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -11,7 +11,7 @@ jobs: matrix: os: [ubuntu-latest] rust: - - 1.47.0 # approximate MSRV is Stable -30 + - 1.55.0 # approximate MSRV is Stable -30 - stable - beta - nightly @@ -28,11 +28,11 @@ jobs: toolchain: ${{ matrix.rust }} # On MSRV some dev-dependencies don't build so we can't run tests. - name: Check MSRV - if: matrix.rust == '1.47.0' + if: matrix.rust == '1.55.0' run: | cargo check --features=alloc,std,grab_spare_slice - name: Test non nightly - if: matrix.rust != '1.47.0' && matrix.rust != 'nightly' + if: matrix.rust != '1.55.0' && matrix.rust != 'nightly' run: | cargo test --features=alloc,std,grab_spare_slice,latest_stable_rust - name: Test on Nightly with All Features diff --git a/Cargo.toml b/Cargo.toml index dff4e91..00b747d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,13 +38,12 @@ grab_spare_slice = [] # obsolete feature that has to stay for semver reasons rustc_1_40 = [] -# features that require rustc 1.55 -# use const generics to implement Array for all array lengths -rustc_1_55 = ["rustc_1_40"] +# obsolete feature that has to stay for semver reasons +rustc_1_55 = [] # features that require rustc 1.57 # add try_reserve functions to types that heap allocate. -rustc_1_57 = ["rustc_1_55"] +rustc_1_57 = [] # features that require rustc 1.61 # add retain_mut function to TinyVec diff --git a/gen-array-impls.sh b/gen-array-impls.sh deleted file mode 100755 index 5db5cd7..0000000 --- a/gen-array-impls.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env bash - -gen_impl() { - local len=$1 - cat <<-END - impl Array for [T; $len] { - type Item = T; - const CAPACITY: usize = $len; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - $(for ((i = 0; i < $len; i += 6)) - do - echo -n ' ' - for ((j = 0; j < 6 && j + i < $len; j++)) - do - echo -n ' T::default(),' - done - echo - done) - ] - } - } - - END -} - -cat <<-END - // Generated file, to regenerate run - // ./gen-array-impls.sh > src/array/generated_impl.rs - // from the repo root - - use super::Array; - - $(for ((i = 0; i <= 33; i++)); do gen_impl $i; done) - - $(for ((i = 64; i <= 4096; i *= 2)); do gen_impl $i; done) -END - -# vim: noet diff --git a/src/array.rs b/src/array.rs index aec4580..895ee30 100644 --- a/src/array.rs +++ b/src/array.rs @@ -7,8 +7,7 @@ /// * You can get a shared or mutable slice to the elements. /// /// You are generally **not** expected to need to implement this yourself. It is -/// already implemented for all the major array lengths (`0..=32` and the powers -/// of 2 up to 4,096), or for all array lengths with the feature `rustc_1_55`. +/// already implemented for all array lengths. /// /// **Additional lengths can easily be added upon request.** /// @@ -41,14 +40,7 @@ pub trait Array { fn default() -> Self; } -#[cfg(all(feature = "generic-array", not(feature = "rustc_1_55")))] -core::compile_error!("generic-array requires `rustc_1_55` feature"); - -#[cfg(feature = "rustc_1_55")] mod const_generic_impl; -#[cfg(not(feature = "rustc_1_55"))] -mod generated_impl; - #[cfg(feature = "generic-array")] mod generic_array_impl; diff --git a/src/array/generated_impl.rs b/src/array/generated_impl.rs deleted file mode 100644 index e7979ac..0000000 --- a/src/array/generated_impl.rs +++ /dev/null @@ -1,9616 +0,0 @@ -// Generated file, to regenerate run -// ./gen-array-impls.sh > src/array/generated_impl.rs -// from the repo root - -use super::Array; - -impl Array for [T; 0] { - type Item = T; - const CAPACITY: usize = 0; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [] - } -} - -impl Array for [T; 1] { - type Item = T; - const CAPACITY: usize = 1; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [T::default()] - } -} - -impl Array for [T; 2] { - type Item = T; - const CAPACITY: usize = 2; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [T::default(), T::default()] - } -} - -impl Array for [T; 3] { - type Item = T; - const CAPACITY: usize = 3; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [T::default(), T::default(), T::default()] - } -} - -impl Array for [T; 4] { - type Item = T; - const CAPACITY: usize = 4; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [T::default(), T::default(), T::default(), T::default()] - } -} - -impl Array for [T; 5] { - type Item = T; - const CAPACITY: usize = 5; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [T::default(), T::default(), T::default(), T::default(), T::default()] - } -} - -impl Array for [T; 6] { - type Item = T; - const CAPACITY: usize = 6; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 7] { - type Item = T; - const CAPACITY: usize = 7; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 8] { - type Item = T; - const CAPACITY: usize = 8; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 9] { - type Item = T; - const CAPACITY: usize = 9; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 10] { - type Item = T; - const CAPACITY: usize = 10; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 11] { - type Item = T; - const CAPACITY: usize = 11; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 12] { - type Item = T; - const CAPACITY: usize = 12; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 13] { - type Item = T; - const CAPACITY: usize = 13; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 14] { - type Item = T; - const CAPACITY: usize = 14; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 15] { - type Item = T; - const CAPACITY: usize = 15; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 16] { - type Item = T; - const CAPACITY: usize = 16; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 17] { - type Item = T; - const CAPACITY: usize = 17; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 18] { - type Item = T; - const CAPACITY: usize = 18; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 19] { - type Item = T; - const CAPACITY: usize = 19; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 20] { - type Item = T; - const CAPACITY: usize = 20; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 21] { - type Item = T; - const CAPACITY: usize = 21; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 22] { - type Item = T; - const CAPACITY: usize = 22; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 23] { - type Item = T; - const CAPACITY: usize = 23; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 24] { - type Item = T; - const CAPACITY: usize = 24; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 25] { - type Item = T; - const CAPACITY: usize = 25; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 26] { - type Item = T; - const CAPACITY: usize = 26; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 27] { - type Item = T; - const CAPACITY: usize = 27; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 28] { - type Item = T; - const CAPACITY: usize = 28; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 29] { - type Item = T; - const CAPACITY: usize = 29; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 30] { - type Item = T; - const CAPACITY: usize = 30; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 31] { - type Item = T; - const CAPACITY: usize = 31; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 32] { - type Item = T; - const CAPACITY: usize = 32; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 33] { - type Item = T; - const CAPACITY: usize = 33; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 64] { - type Item = T; - const CAPACITY: usize = 64; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 128] { - type Item = T; - const CAPACITY: usize = 128; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 256] { - type Item = T; - const CAPACITY: usize = 256; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 512] { - type Item = T; - const CAPACITY: usize = 512; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 1024] { - type Item = T; - const CAPACITY: usize = 1024; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 2048] { - type Item = T; - const CAPACITY: usize = 2048; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -} - -impl Array for [T; 4096] { - type Item = T; - const CAPACITY: usize = 4096; - - #[inline(always)] - #[must_use] - fn as_slice(&self) -> &[T] { - &*self - } - - #[inline(always)] - #[must_use] - fn as_slice_mut(&mut self) -> &mut [T] { - &mut *self - } - - #[inline(always)] - fn default() -> Self { - [ - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - T::default(), - ] - } -}