From fcbc0b4910607bab1aa34fbbdd87a74a5ee46008 Mon Sep 17 00:00:00 2001 From: realaravinth Date: Thu, 4 Jan 2024 19:50:02 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=206b8ee?= =?UTF-8?q?754dd836dae3da3e3b5ead926f4854da629=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db_core/all.html | 2 +- db_core/index.html | 4 +- db_core/sidebar-items.js | 2 +- db_core/struct.AddNotification.html | 10 +- db_core/struct.Captcha.html | 10 +- db_core/struct.CreateCaptcha.html | 10 +- .../struct.CreatePerformanceAnalytics.html | 10 +- db_core/struct.EasyCaptcha.html | 33 +++ db_core/struct.Notification.html | 10 +- db_core/struct.PerformanceAnalytics.html | 10 +- db_core/struct.Secret.html | 10 +- db_core/struct.StatsUnixTimestamp.html | 10 +- db_core/struct.TrafficPattern.html | 10 +- db_core/tests/fn.database_works.html | 2 +- db_core/tests/index.html | 2 +- db_core/trait.CloneSPDatabase.html | 6 +- db_core/trait.MCDatabase.html | 64 +++-- db_sqlx_maria/all.html | 2 +- db_sqlx_maria/dev/enum.DBError.html | 4 +- db_sqlx_maria/dev/enum.Login.html | 12 +- db_sqlx_maria/dev/errors/enum.DBError.html | 4 +- db_sqlx_maria/dev/errors/index.html | 2 +- .../dev/errors/type.BoxDynError.html | 2 +- db_sqlx_maria/dev/errors/type.DBResult.html | 2 +- db_sqlx_maria/dev/index.html | 2 +- db_sqlx_maria/dev/ops/index.html | 2 +- db_sqlx_maria/dev/ops/trait.Connect.html | 6 +- db_sqlx_maria/dev/ops/trait.DBOps.html | 2 +- .../dev/ops/trait.GetConnection.html | 6 +- db_sqlx_maria/dev/ops/trait.Migrate.html | 4 +- .../dev/prelude/dev/enum.DBError.html | 4 +- db_sqlx_maria/dev/prelude/dev/enum.Login.html | 12 +- db_sqlx_maria/dev/prelude/dev/index.html | 4 +- .../dev/prelude/dev/sidebar-items.js | 2 +- .../prelude/dev/struct.AddNotification.html | 12 +- .../dev/prelude/dev/struct.Captcha.html | 10 +- .../dev/prelude/dev/struct.CreateCaptcha.html | 12 +- .../struct.CreatePerformanceAnalytics.html | 10 +- .../dev/prelude/dev/struct.EasyCaptcha.html | 38 +++ .../dev/prelude/dev/struct.NameHash.html | 10 +- .../dev/prelude/dev/struct.Notification.html | 10 +- .../dev/struct.PerformanceAnalytics.html | 10 +- .../dev/prelude/dev/struct.Register.html | 12 +- .../dev/prelude/dev/struct.Secret.html | 10 +- .../dev/struct.StatsUnixTimestamp.html | 10 +- .../prelude/dev/struct.TrafficPattern.html | 10 +- .../dev/prelude/dev/struct.UpdateEmail.html | 12 +- .../prelude/dev/trait.CloneSPDatabase.html | 6 +- .../dev/prelude/dev/trait.Connect.html | 6 +- .../dev/prelude/dev/trait.DBOps.html | 2 +- .../dev/prelude/dev/trait.GetConnection.html | 6 +- .../dev/prelude/dev/trait.MCDatabase.html | 116 ++++---- .../dev/prelude/dev/trait.Migrate.html | 4 +- .../dev/prelude/dev/type.BoxDynError.html | 2 +- .../dev/prelude/dev/type.DBResult.html | 2 +- db_sqlx_maria/dev/prelude/enum.DBError.html | 4 +- db_sqlx_maria/dev/prelude/enum.Login.html | 12 +- db_sqlx_maria/dev/prelude/index.html | 4 +- db_sqlx_maria/dev/prelude/sidebar-items.js | 2 +- .../dev/prelude/struct.AddNotification.html | 12 +- db_sqlx_maria/dev/prelude/struct.Captcha.html | 10 +- .../dev/prelude/struct.CreateCaptcha.html | 12 +- .../struct.CreatePerformanceAnalytics.html | 10 +- .../dev/prelude/struct.EasyCaptcha.html | 38 +++ .../dev/prelude/struct.NameHash.html | 10 +- .../dev/prelude/struct.Notification.html | 10 +- .../prelude/struct.PerformanceAnalytics.html | 10 +- .../dev/prelude/struct.Register.html | 12 +- db_sqlx_maria/dev/prelude/struct.Secret.html | 10 +- .../prelude/struct.StatsUnixTimestamp.html | 10 +- .../dev/prelude/struct.TrafficPattern.html | 10 +- .../dev/prelude/struct.UpdateEmail.html | 12 +- .../dev/prelude/trait.CloneSPDatabase.html | 6 +- db_sqlx_maria/dev/prelude/trait.Connect.html | 6 +- db_sqlx_maria/dev/prelude/trait.DBOps.html | 2 +- .../dev/prelude/trait.GetConnection.html | 6 +- .../dev/prelude/trait.MCDatabase.html | 116 ++++---- db_sqlx_maria/dev/prelude/trait.Migrate.html | 4 +- .../dev/prelude/type.BoxDynError.html | 2 +- db_sqlx_maria/dev/prelude/type.DBResult.html | 2 +- db_sqlx_maria/dev/sidebar-items.js | 2 +- db_sqlx_maria/dev/struct.AddNotification.html | 12 +- db_sqlx_maria/dev/struct.Captcha.html | 10 +- db_sqlx_maria/dev/struct.CreateCaptcha.html | 12 +- .../struct.CreatePerformanceAnalytics.html | 10 +- db_sqlx_maria/dev/struct.EasyCaptcha.html | 38 +++ db_sqlx_maria/dev/struct.NameHash.html | 10 +- db_sqlx_maria/dev/struct.Notification.html | 10 +- .../dev/struct.PerformanceAnalytics.html | 10 +- db_sqlx_maria/dev/struct.Register.html | 12 +- db_sqlx_maria/dev/struct.Secret.html | 10 +- .../dev/struct.StatsUnixTimestamp.html | 10 +- db_sqlx_maria/dev/struct.TrafficPattern.html | 10 +- db_sqlx_maria/dev/struct.UpdateEmail.html | 12 +- db_sqlx_maria/dev/tests/constant.LEVELS.html | 2 +- .../dev/tests/constant.TRAFFIC_PATTERN.html | 2 +- .../dev/tests/fn.database_works.html | 2 +- db_sqlx_maria/dev/tests/index.html | 2 +- db_sqlx_maria/dev/trait.CloneSPDatabase.html | 6 +- db_sqlx_maria/dev/trait.Connect.html | 6 +- db_sqlx_maria/dev/trait.DBOps.html | 2 +- db_sqlx_maria/dev/trait.GetConnection.html | 6 +- db_sqlx_maria/dev/trait.MCDatabase.html | 116 ++++---- db_sqlx_maria/dev/trait.Migrate.html | 4 +- db_sqlx_maria/dev/type.BoxDynError.html | 2 +- db_sqlx_maria/dev/type.DBResult.html | 2 +- db_sqlx_maria/index.html | 2 +- db_sqlx_maria/struct.Database.html | 15 +- db_sqlx_maria/struct.InnerNotification.html | 6 +- db_sqlx_postgres/all.html | 2 +- db_sqlx_postgres/dev/enum.DBError.html | 4 +- db_sqlx_postgres/dev/enum.Login.html | 12 +- db_sqlx_postgres/dev/errors/enum.DBError.html | 4 +- db_sqlx_postgres/dev/errors/index.html | 2 +- .../dev/errors/type.BoxDynError.html | 2 +- .../dev/errors/type.DBResult.html | 2 +- db_sqlx_postgres/dev/index.html | 2 +- db_sqlx_postgres/dev/ops/index.html | 2 +- db_sqlx_postgres/dev/ops/trait.Connect.html | 6 +- db_sqlx_postgres/dev/ops/trait.DBOps.html | 2 +- .../dev/ops/trait.GetConnection.html | 6 +- db_sqlx_postgres/dev/ops/trait.Migrate.html | 4 +- .../dev/prelude/dev/enum.DBError.html | 4 +- .../dev/prelude/dev/enum.Login.html | 12 +- db_sqlx_postgres/dev/prelude/dev/index.html | 4 +- .../dev/prelude/dev/sidebar-items.js | 2 +- .../prelude/dev/struct.AddNotification.html | 12 +- .../dev/prelude/dev/struct.Captcha.html | 10 +- .../dev/prelude/dev/struct.CreateCaptcha.html | 12 +- .../struct.CreatePerformanceAnalytics.html | 10 +- .../dev/prelude/dev/struct.EasyCaptcha.html | 38 +++ .../dev/prelude/dev/struct.NameHash.html | 10 +- .../dev/prelude/dev/struct.Notification.html | 10 +- .../dev/struct.PerformanceAnalytics.html | 10 +- .../dev/prelude/dev/struct.Register.html | 12 +- .../dev/prelude/dev/struct.Secret.html | 10 +- .../dev/struct.StatsUnixTimestamp.html | 10 +- .../prelude/dev/struct.TrafficPattern.html | 10 +- .../dev/prelude/dev/struct.UpdateEmail.html | 12 +- .../prelude/dev/trait.CloneSPDatabase.html | 6 +- .../dev/prelude/dev/trait.Connect.html | 6 +- .../dev/prelude/dev/trait.DBOps.html | 2 +- .../dev/prelude/dev/trait.GetConnection.html | 6 +- .../dev/prelude/dev/trait.MCDatabase.html | 116 ++++---- .../dev/prelude/dev/trait.Migrate.html | 4 +- .../dev/prelude/dev/type.BoxDynError.html | 2 +- .../dev/prelude/dev/type.DBResult.html | 2 +- .../dev/prelude/enum.DBError.html | 4 +- db_sqlx_postgres/dev/prelude/enum.Login.html | 12 +- db_sqlx_postgres/dev/prelude/index.html | 4 +- db_sqlx_postgres/dev/prelude/sidebar-items.js | 2 +- .../dev/prelude/struct.AddNotification.html | 12 +- .../dev/prelude/struct.Captcha.html | 10 +- .../dev/prelude/struct.CreateCaptcha.html | 12 +- .../struct.CreatePerformanceAnalytics.html | 10 +- .../dev/prelude/struct.EasyCaptcha.html | 38 +++ .../dev/prelude/struct.NameHash.html | 10 +- .../dev/prelude/struct.Notification.html | 10 +- .../prelude/struct.PerformanceAnalytics.html | 10 +- .../dev/prelude/struct.Register.html | 12 +- .../dev/prelude/struct.Secret.html | 10 +- .../prelude/struct.StatsUnixTimestamp.html | 10 +- .../dev/prelude/struct.TrafficPattern.html | 10 +- .../dev/prelude/struct.UpdateEmail.html | 12 +- .../dev/prelude/trait.CloneSPDatabase.html | 6 +- .../dev/prelude/trait.Connect.html | 6 +- db_sqlx_postgres/dev/prelude/trait.DBOps.html | 2 +- .../dev/prelude/trait.GetConnection.html | 6 +- .../dev/prelude/trait.MCDatabase.html | 116 ++++---- .../dev/prelude/trait.Migrate.html | 4 +- .../dev/prelude/type.BoxDynError.html | 2 +- .../dev/prelude/type.DBResult.html | 2 +- db_sqlx_postgres/dev/sidebar-items.js | 2 +- .../dev/struct.AddNotification.html | 12 +- db_sqlx_postgres/dev/struct.Captcha.html | 10 +- .../dev/struct.CreateCaptcha.html | 12 +- .../struct.CreatePerformanceAnalytics.html | 10 +- db_sqlx_postgres/dev/struct.EasyCaptcha.html | 38 +++ db_sqlx_postgres/dev/struct.NameHash.html | 10 +- db_sqlx_postgres/dev/struct.Notification.html | 10 +- .../dev/struct.PerformanceAnalytics.html | 10 +- db_sqlx_postgres/dev/struct.Register.html | 12 +- db_sqlx_postgres/dev/struct.Secret.html | 10 +- .../dev/struct.StatsUnixTimestamp.html | 10 +- .../dev/struct.TrafficPattern.html | 10 +- db_sqlx_postgres/dev/struct.UpdateEmail.html | 12 +- .../dev/tests/constant.LEVELS.html | 2 +- .../dev/tests/constant.TRAFFIC_PATTERN.html | 2 +- .../dev/tests/fn.database_works.html | 2 +- db_sqlx_postgres/dev/tests/index.html | 2 +- .../dev/trait.CloneSPDatabase.html | 6 +- db_sqlx_postgres/dev/trait.Connect.html | 6 +- db_sqlx_postgres/dev/trait.DBOps.html | 2 +- db_sqlx_postgres/dev/trait.GetConnection.html | 6 +- db_sqlx_postgres/dev/trait.MCDatabase.html | 116 ++++---- db_sqlx_postgres/dev/trait.Migrate.html | 4 +- db_sqlx_postgres/dev/type.BoxDynError.html | 2 +- db_sqlx_postgres/dev/type.DBResult.html | 2 +- db_sqlx_postgres/index.html | 2 +- db_sqlx_postgres/struct.Database.html | 59 ++-- .../struct.InnerNotification.html | 6 +- mcaptcha/all.html | 2 +- .../easy/fn.calculate_with_percentile.html | 4 + .../v1/mcaptcha/easy/fn.update_runner.html | 5 + mcaptcha/api/v1/mcaptcha/easy/index.html | 2 +- .../api/v1/mcaptcha/easy/sidebar-items.js | 2 +- .../easy/struct.UpdateTrafficPattern.html | 6 +- .../api/v1/mcaptcha/easy/struct.create.html | 2 +- .../api/v1/mcaptcha/easy/struct.update.html | 2 +- mcaptcha/constant.CACHE_AGE.html | 2 +- mcaptcha/constant.COMPILED_DATE.html | 2 +- mcaptcha/constant.GIT_COMMIT_HASH.html | 2 +- mcaptcha/constant.PKG_DESCRIPTION.html | 2 +- mcaptcha/constant.PKG_HOMEPAGE.html | 2 +- mcaptcha/constant.PKG_NAME.html | 2 +- mcaptcha/constant.VERSION.html | 2 +- mcaptcha/demo/constant.DEMO_PASSWORD.html | 2 +- mcaptcha/demo/constant.DEMO_USER.html | 2 +- mcaptcha/demo/index.html | 2 +- mcaptcha/demo/struct.DemoUser.html | 17 +- mcaptcha/easy/index.html | 1 + mcaptcha/easy/sidebar-items.js | 1 + mcaptcha/easy/struct.UpdateEasyCaptcha.html | 30 ++ mcaptcha/fn.get_identity_service.html | 2 +- mcaptcha/fn.get_json_err.html | 2 +- mcaptcha/fn.main.html | 2 +- mcaptcha/index.html | 2 +- .../constant.DEPRECATED_ENV_VARS.html | 2 +- .../settings/constant.ENV_VAR_CONFIG.html | 2 +- mcaptcha/settings/enum.DBType.html | 10 +- mcaptcha/settings/index.html | 2 +- mcaptcha/settings/struct.Database.html | 8 +- .../struct.DefaultDifficultyStrategy.html | 9 +- mcaptcha/settings/struct.Redis.html | 8 +- mcaptcha/settings/struct.Server.html | 2 +- mcaptcha/settings/struct.Settings.html | 8 +- mcaptcha/settings/struct.Smtp.html | 8 +- mcaptcha/settings/struct.Survey.html | 8 +- mcaptcha/sidebar-items.js | 2 +- mcaptcha/struct.CSS.html | 4 +- mcaptcha/struct.FILES.html | 4 +- mcaptcha/struct.JS.html | 4 +- mcaptcha/struct.MOBILE_CSS.html | 4 +- mcaptcha/struct.SETTINGS.html | 4 +- mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html | 4 +- mcaptcha/struct.Settings.html | 8 +- mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html | 4 +- mcaptcha/struct.VERIFICATIN_WIDGET_JS.html | 4 +- mcaptcha/type.AppData.html | 2 +- mcaptcha/type.ArcData.html | 2 +- search-index.js | 8 +- src-files.js | 2 +- src/db_core/lib.rs.html | 40 +++ src/db_core/tests.rs.html | 10 + src/db_sqlx_maria/lib.rs.html | 120 ++++++++ src/db_sqlx_postgres/lib.rs.html | 156 ++++++++++- src/mcaptcha/api/v1/mcaptcha/easy.rs.html | 178 +++++++++++- src/mcaptcha/demo.rs.html | 78 +++++- src/mcaptcha/easy.rs.html | 265 ++++++++++++++++++ src/mcaptcha/main.rs.html | 46 ++- src/mcaptcha/settings.rs.html | 108 ++++++- trait.impl/core/clone/trait.Clone.js | 4 +- trait.impl/core/cmp/trait.PartialEq.js | 2 +- trait.impl/core/default/trait.Default.js | 2 +- trait.impl/core/fmt/trait.Debug.js | 2 +- trait.impl/core/marker/trait.Freeze.js | 4 +- trait.impl/core/marker/trait.Send.js | 4 +- .../core/marker/trait.StructuralPartialEq.js | 2 +- trait.impl/core/marker/trait.Sync.js | 4 +- trait.impl/core/marker/trait.Unpin.js | 4 +- .../panic/unwind_safe/trait.RefUnwindSafe.js | 4 +- .../panic/unwind_safe/trait.UnwindSafe.js | 4 +- trait.impl/serde/de/trait.Deserialize.js | 2 +- trait.impl/serde/ser/trait.Serialize.js | 2 +- type.impl/alloc/boxed/struct.Box.js | 2 +- 275 files changed, 2494 insertions(+), 1137 deletions(-) create mode 100644 db_core/struct.EasyCaptcha.html create mode 100644 db_sqlx_maria/dev/prelude/dev/struct.EasyCaptcha.html create mode 100644 db_sqlx_maria/dev/prelude/struct.EasyCaptcha.html create mode 100644 db_sqlx_maria/dev/struct.EasyCaptcha.html create mode 100644 db_sqlx_postgres/dev/prelude/dev/struct.EasyCaptcha.html create mode 100644 db_sqlx_postgres/dev/prelude/struct.EasyCaptcha.html create mode 100644 db_sqlx_postgres/dev/struct.EasyCaptcha.html create mode 100644 mcaptcha/api/v1/mcaptcha/easy/fn.calculate_with_percentile.html create mode 100644 mcaptcha/api/v1/mcaptcha/easy/fn.update_runner.html create mode 100644 mcaptcha/easy/index.html create mode 100644 mcaptcha/easy/sidebar-items.js create mode 100644 mcaptcha/easy/struct.UpdateEasyCaptcha.html create mode 100644 src/mcaptcha/easy.rs.html diff --git a/db_core/all.html b/db_core/all.html index 00c29a96..02e62355 100644 --- a/db_core/all.html +++ b/db_core/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/db_core/index.html b/db_core/index.html index f3c5f156..72ddce24 100644 --- a/db_core/index.html +++ b/db_core/index.html @@ -1,5 +1,5 @@ db_core - Rust

Crate db_core

source ·
Expand description

Crate db_core

source ·
Expand description

mCaptcha database operations

Traits and datastructures used in mCaptcha to interact with database.

To use an unsupported database with mCaptcha, traits present within this crate should be implemented.

@@ -10,5 +10,5 @@ implemented.

  • ops: meta operations like connection pool creation, migrations and getting connection from pool
  • -

    Re-exports

    Modules

    • useful imports for supporting a new database
    • represents all the ways a trait can fail using this crate
    • meta operations like migration and connecting to a database
    • useful imports for users working with a supported database
    • Test utilities

    Structs

    Enums

    • types of credentials used as identifiers during login

    Traits

    • Trait to clone MCDatabase
    • mCaptcha’s database requirements. To implement support for $Database, kindly implement this +

    Re-exports

    Modules

    • useful imports for supporting a new database
    • represents all the ways a trait can fail using this crate
    • meta operations like migration and connecting to a database
    • useful imports for users working with a supported database
    • Test utilities

    Structs

    Enums

    • types of credentials used as identifiers during login

    Traits

    • Trait to clone MCDatabase
    • mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.
    \ No newline at end of file diff --git a/db_core/sidebar-items.js b/db_core/sidebar-items.js index 72b26e97..7920c16e 100644 --- a/db_core/sidebar-items.js +++ b/db_core/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":["Login"],"mod":["dev","errors","ops","prelude","tests"],"struct":["AddNotification","Captcha","CreateCaptcha","CreatePerformanceAnalytics","Level","NameHash","Notification","PerformanceAnalytics","Register","Secret","StatsUnixTimestamp","TrafficPattern","UpdateEmail"],"trait":["CloneSPDatabase","MCDatabase"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["Login"],"mod":["dev","errors","ops","prelude","tests"],"struct":["AddNotification","Captcha","CreateCaptcha","CreatePerformanceAnalytics","EasyCaptcha","Level","NameHash","Notification","PerformanceAnalytics","Register","Secret","StatsUnixTimestamp","TrafficPattern","UpdateEmail"],"trait":["CloneSPDatabase","MCDatabase"]}; \ No newline at end of file diff --git a/db_core/struct.AddNotification.html b/db_core/struct.AddNotification.html index d869fe4f..3f7b5fa2 100644 --- a/db_core/struct.AddNotification.html +++ b/db_core/struct.AddNotification.html @@ -1,4 +1,4 @@ -AddNotification in db_core - Rust
    pub struct AddNotification<'a> {
    +AddNotification in db_core - Rust
    pub struct AddNotification<'a> {
         pub to: &'a str,
         pub from: &'a str,
         pub heading: &'a str,
    @@ -8,11 +8,11 @@
     
    §from: &'a str

    notification sender

    §heading: &'a str

    heading of the notification

    §message: &'a str

    message of the notification

    -

    Trait Implementations§

    source§

    impl<'a> Clone for AddNotification<'a>

    source§

    fn clone(&self) -> AddNotification<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for AddNotification<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for AddNotification<'a>

    source§

    fn default() -> AddNotification<'a>

    Returns the “default value” for a type. Read more
    source§

    impl<'de: 'a, 'a> Deserialize<'de> for AddNotification<'a>

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for AddNotification<'a>

    source§

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl<'a> Clone for AddNotification<'a>

    source§

    fn clone(&self) -> AddNotification<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for AddNotification<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for AddNotification<'a>

    source§

    fn default() -> AddNotification<'a>

    Returns the “default value” for a type. Read more
    source§

    impl<'de: 'a, 'a> Deserialize<'de> for AddNotification<'a>

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for AddNotification<'a>

    source§

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for AddNotification<'a>

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for AddNotification<'a>

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_core/struct.Captcha.html b/db_core/struct.Captcha.html index 4dec75ce..f92d549c 100644 --- a/db_core/struct.Captcha.html +++ b/db_core/struct.Captcha.html @@ -1,4 +1,4 @@ -Captcha in db_core - Rust

    Struct db_core::Captcha

    source ·
    pub struct Captcha {
    +Captcha in db_core - Rust

    Struct db_core::Captcha

    source ·
    pub struct Captcha {
         pub config_id: i32,
         pub duration: i32,
         pub description: String,
    @@ -8,11 +8,11 @@
     
    §duration: i32

    cool down duration

    §description: String

    description of the captcha

    §key: String

    secret key of the captcha

    -

    Trait Implementations§

    source§

    impl Clone for Captcha

    source§

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Captcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Captcha

    source§

    fn default() -> Captcha

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Captcha

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Captcha

    source§

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for Captcha

    source§

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Captcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Captcha

    source§

    fn default() -> Captcha

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Captcha

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Captcha

    source§

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Captcha

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Captcha

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Fields§

    §duration: i32

    cool down duration

    §description: &'a str

    description of the captcha

    §key: &'a str

    secret key of the captcha

    -

    Trait Implementations§

    source§

    impl<'a> Clone for CreateCaptcha<'a>

    source§

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for CreateCaptcha<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for CreateCaptcha<'a>

    source§

    fn default() -> CreateCaptcha<'a>

    Returns the “default value” for a type. Read more
    source§

    impl<'de: 'a, 'a> Deserialize<'de> for CreateCaptcha<'a>

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for CreateCaptcha<'a>

    source§

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl<'a> Clone for CreateCaptcha<'a>

    source§

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for CreateCaptcha<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for CreateCaptcha<'a>

    source§

    fn default() -> CreateCaptcha<'a>

    Returns the “default value” for a type. Read more
    source§

    impl<'de: 'a, 'a> Deserialize<'de> for CreateCaptcha<'a>

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for CreateCaptcha<'a>

    source§

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> Serialize for CreateCaptcha<'a>

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for CreateCaptcha<'a>

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_core/struct.CreatePerformanceAnalytics.html b/db_core/struct.CreatePerformanceAnalytics.html index 3cbb5a28..4ea18f6a 100644 --- a/db_core/struct.CreatePerformanceAnalytics.html +++ b/db_core/struct.CreatePerformanceAnalytics.html @@ -1,4 +1,4 @@ -CreatePerformanceAnalytics in db_core - Rust

    Fields§

    §time: u32

    time taken to generate proof

    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    source§

    impl Clone for CreatePerformanceAnalytics

    source§

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for CreatePerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for CreatePerformanceAnalytics

    source§

    fn default() -> CreatePerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for CreatePerformanceAnalytics

    source§

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for CreatePerformanceAnalytics

    source§

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for CreatePerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for CreatePerformanceAnalytics

    source§

    fn default() -> CreatePerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for CreatePerformanceAnalytics

    source§

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for CreatePerformanceAnalytics

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for CreatePerformanceAnalytics

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_core/struct.EasyCaptcha.html b/db_core/struct.EasyCaptcha.html new file mode 100644 index 00000000..42d393da --- /dev/null +++ b/db_core/struct.EasyCaptcha.html @@ -0,0 +1,33 @@ +EasyCaptcha in db_core - Rust

    Struct db_core::EasyCaptcha

    source ·
    pub struct EasyCaptcha {
    +    pub traffic_pattern: TrafficPattern,
    +    pub key: String,
    +    pub description: String,
    +    pub username: String,
    +}
    Expand description

    Represents Easy captcha configuration

    +

    Fields§

    §traffic_pattern: TrafficPattern

    traffic pattern of easy captcha

    +
    §key: String

    captcha key/sitekey

    +
    §description: String

    captcha description

    +
    §username: String

    Owner of the captcha configuration

    +

    Trait Implementations§

    source§

    impl Clone for EasyCaptcha

    source§

    fn clone(&self) -> EasyCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for EasyCaptcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for EasyCaptcha

    source§

    fn default() -> EasyCaptcha

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for EasyCaptcha

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for EasyCaptcha

    source§

    fn eq(&self, other: &EasyCaptcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for EasyCaptcha

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for EasyCaptcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_core/struct.Notification.html b/db_core/struct.Notification.html index 1e37c968..0eefbf48 100644 --- a/db_core/struct.Notification.html +++ b/db_core/struct.Notification.html @@ -1,4 +1,4 @@ -Notification in db_core - Rust

    Struct db_core::Notification

    source ·
    pub struct Notification {
    +Notification in db_core - Rust

    Struct db_core::Notification

    source ·
    pub struct Notification {
         pub name: Option<String>,
         pub heading: Option<String>,
         pub message: Option<String>,
    @@ -10,11 +10,11 @@
     
    §message: Option<String>

    message of the notification

    §received: Option<i64>

    when notification was received

    §id: Option<i32>

    db assigned ID of the notification

    -

    Trait Implementations§

    source§

    impl Clone for Notification

    source§

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Notification

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Notification

    source§

    fn default() -> Notification

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Notification

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Notification

    source§

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for Notification

    source§

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Notification

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Notification

    source§

    fn default() -> Notification

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Notification

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Notification

    source§

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Notification

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Notification

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_core/struct.PerformanceAnalytics.html b/db_core/struct.PerformanceAnalytics.html index 612a2cb8..78b6c387 100644 --- a/db_core/struct.PerformanceAnalytics.html +++ b/db_core/struct.PerformanceAnalytics.html @@ -1,4 +1,4 @@ -PerformanceAnalytics in db_core - Rust
    pub struct PerformanceAnalytics {
    +PerformanceAnalytics in db_core - Rust
    pub struct PerformanceAnalytics {
         pub id: usize,
         pub time: u32,
         pub difficulty_factor: u32,
    @@ -8,11 +8,11 @@
     
    §time: u32

    time taken to generate proof

    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    source§

    impl Clone for PerformanceAnalytics

    source§

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for PerformanceAnalytics

    source§

    fn default() -> PerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PerformanceAnalytics

    source§

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for PerformanceAnalytics

    source§

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for PerformanceAnalytics

    source§

    fn default() -> PerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PerformanceAnalytics

    source§

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for PerformanceAnalytics

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for PerformanceAnalytics

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_core/struct.Secret.html b/db_core/struct.Secret.html index b09a3c9a..6296df90 100644 --- a/db_core/struct.Secret.html +++ b/db_core/struct.Secret.html @@ -1,12 +1,12 @@ -Secret in db_core - Rust

    Struct db_core::Secret

    source ·
    pub struct Secret {
    +Secret in db_core - Rust

    Struct db_core::Secret

    source ·
    pub struct Secret {
         pub secret: String,
     }
    Expand description

    datastructure representing a user’s secret

    Fields§

    §secret: String

    user’s secret

    -

    Trait Implementations§

    source§

    impl Clone for Secret

    source§

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Secret

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Secret

    source§

    fn default() -> Secret

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Secret

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Secret

    source§

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for Secret

    source§

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Secret

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Secret

    source§

    fn default() -> Secret

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Secret

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Secret

    source§

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Secret

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Secret

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Fields§

    §config_fetches: Vec<i64>

    times at which the configuration were fetched

    §solves: Vec<i64>

    times at which the PoW was solved

    §confirms: Vec<i64>

    times at which the PoW token was verified

    -

    Trait Implementations§

    source§

    impl Clone for StatsUnixTimestamp

    source§

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for StatsUnixTimestamp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for StatsUnixTimestamp

    source§

    fn default() -> StatsUnixTimestamp

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for StatsUnixTimestamp

    source§

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for StatsUnixTimestamp

    source§

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for StatsUnixTimestamp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for StatsUnixTimestamp

    source§

    fn default() -> StatsUnixTimestamp

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for StatsUnixTimestamp

    source§

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for StatsUnixTimestamp

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for StatsUnixTimestamp

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    -

    Trait Implementations§

    source§

    impl Clone for TrafficPattern

    source§

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TrafficPattern

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for TrafficPattern

    source§

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for TrafficPattern

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for TrafficPattern

    source§

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for TrafficPattern

    source§

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TrafficPattern

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for TrafficPattern

    source§

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for TrafficPattern

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for TrafficPattern

    source§

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for TrafficPattern

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for TrafficPattern

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_core/tests/fn.database_works.html b/db_core/tests/fn.database_works.html index e0e63c8a..a2d52920 100644 --- a/db_core/tests/fn.database_works.html +++ b/db_core/tests/fn.database_works.html @@ -1,4 +1,4 @@ -database_works in db_core::tests - Rust

    Function db_core::tests::database_works

    source ·
    pub async fn database_works<'a, T: MCDatabase>(
    +database_works in db_core::tests - Rust

    Function db_core::tests::database_works

    source ·
    pub async fn database_works<'a, T: MCDatabase>(
         db: &T,
         p: &Register<'a>,
         c: &CreateCaptcha<'a>,
    diff --git a/db_core/tests/index.html b/db_core/tests/index.html
    index c113946a..e87f6374 100644
    --- a/db_core/tests/index.html
    +++ b/db_core/tests/index.html
    @@ -1,2 +1,2 @@
    -db_core::tests - Rust

    Module db_core::tests

    source ·
    Expand description

    Test utilities

    +db_core::tests - Rust

    Module db_core::tests

    source ·
    Expand description

    Test utilities

    Constants

    Functions

    \ No newline at end of file diff --git a/db_core/trait.CloneSPDatabase.html b/db_core/trait.CloneSPDatabase.html index 5873c090..d259e263 100644 --- a/db_core/trait.CloneSPDatabase.html +++ b/db_core/trait.CloneSPDatabase.html @@ -1,7 +1,7 @@ -CloneSPDatabase in db_core - Rust
    pub trait CloneSPDatabase {
    +CloneSPDatabase in db_core - Rust
    pub trait CloneSPDatabase {
         // Required method
         fn clone_db(&self) -> Box<dyn MCDatabase>;
     }
    Expand description

    Trait to clone MCDatabase

    -

    Required Methods§

    source

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    -

    Implementors§

    source§

    impl<T> CloneSPDatabase for Twhere +

    Required Methods§

    source

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    +

    Implementors§

    source§

    impl<T> CloneSPDatabase for Twhere T: MCDatabase + Clone + 'static,

    \ No newline at end of file diff --git a/db_core/trait.MCDatabase.html b/db_core/trait.MCDatabase.html index 6e68ab49..974763e9 100644 --- a/db_core/trait.MCDatabase.html +++ b/db_core/trait.MCDatabase.html @@ -1,5 +1,5 @@ -MCDatabase in db_core - Rust

    Trait db_core::MCDatabase

    source ·
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
    -
    Show 48 methods // Required methods +MCDatabase in db_core - Rust

    Trait db_core::MCDatabase

    source ·
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
    +
    Show 49 methods // Required methods fn ping<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> @@ -212,6 +212,13 @@ 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; + fn get_all_easy_captchas<'life0, 'async_trait>( + &'life0 self, + limit: usize, + offset: usize + ) -> Pin<Box<dyn Future<Output = DBResult<Vec<EasyCaptcha>>> + Send + 'async_trait>> + where Self: 'async_trait, + 'life0: 'async_trait; fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, @@ -596,7 +603,14 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

    Get traffic configuration

    -
    source

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_all_easy_captchas<'life0, 'async_trait>( + &'life0 self, + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = DBResult<Vec<EasyCaptcha>>> + Send + 'async_trait>>where + Self: 'async_trait, + 'life0: 'async_trait,

    Get all easy captcha configurations on instance

    +
    source

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -605,21 +619,21 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

    Delete traffic configuration

    -
    source

    fn create_notification<'life0, 'life1, 'async_trait>( +

    source

    fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    create new notification

    -
    source

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( +

    source

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Notification>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    get all unread notifications

    -
    source

    fn mark_notification_read<'life0, 'life1, 'async_trait>( +

    source

    fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str, id: i32 @@ -627,28 +641,28 @@ trait.

    Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    mark a notification read

    -
    source

    fn record_fetch<'life0, 'life1, 'async_trait>( +

    source

    fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    record PoWConfig fetches

    -
    source

    fn record_solve<'life0, 'life1, 'async_trait>( +

    source

    fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    record PoWConfig solves

    -
    source

    fn record_confirm<'life0, 'life1, 'async_trait>( +

    source

    fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    record PoWConfig confirms

    -
    source

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -657,7 +671,7 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

    fetch PoWConfig fetches

    -
    source

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -666,7 +680,7 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

    fetch PoWConfig solves

    -
    source

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -675,7 +689,7 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

    fetch PoWConfig confirms

    -
    source

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics @@ -684,7 +698,7 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

    record PoW timing

    -
    source

    fn analytics_fetch<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str, limit: usize, @@ -693,41 +707,41 @@ trait.

    Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    fetch PoW analytics

    -
    source

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    -
    source

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str ) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    Get psuedo ID from campaign ID

    -
    source

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, psuedo_id: &'life1 str ) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    Get campaign ID from psuedo ID

    -
    source

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, campaign_id: &'life1 str ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    Delete all records for campaign

    -
    source

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( +

    source

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, page: usize ) -> Pin<Box<dyn Future<Output = DBResult<Vec<String>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

    Get all psuedo IDs

    -
    source

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( +

    source

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str, difficulty_factor: u32, @@ -736,7 +750,7 @@ trait.

    Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    Track maximum nonce received against captcha levels

    -
    source

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( +

    source

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str, difficulty_factor: u32 @@ -744,13 +758,13 @@ trait.

    Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    -
    source

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( +

    source

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, duration: u32 ) -> Pin<Box<dyn Future<Output = DBResult<usize>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

    Get number of analytics entries that are under a certain duration

    -
    source

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( +

    source

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, duration: u32, location: u32 @@ -758,11 +772,11 @@ trait.

    Self: 'async_trait, 'life0: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit and sorted in ascending order

    -

    Provided Methods§

    source

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( +

    Provided Methods§

    source

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, campaign_id: &'life1 str ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID

    -

    Trait Implementations§

    source§

    impl Clone for Box<dyn MCDatabase>

    source§

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file +

    Trait Implementations§

    source§

    impl Clone for Box<dyn MCDatabase>

    source§

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/all.html b/db_sqlx_maria/all.html index 03580c2d..751b8dfa 100644 --- a/db_sqlx_maria/all.html +++ b/db_sqlx_maria/all.html @@ -1 +1 @@ -List of all items in this crate

    List of all items

    Structs

    Enums

    Traits

    Attribute Macros

    Functions

    Type Aliases

    Constants

    \ No newline at end of file +List of all items in this crate

    List of all items

    Structs

    Enums

    Traits

    Attribute Macros

    Functions

    Type Aliases

    Constants

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/enum.DBError.html b/db_sqlx_maria/dev/enum.DBError.html index da5fb483..c0a86a77 100644 --- a/db_sqlx_maria/dev/enum.DBError.html +++ b/db_sqlx_maria/dev/enum.DBError.html @@ -1,4 +1,4 @@ -DBError in db_sqlx_maria::dev - Rust

    Trait Implementations§

    §

    impl Debug for DBError

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Display for DBError

    §

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Error for DBError

    §

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Trait Implementations§

    source§

    impl Debug for DBError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for DBError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Error for DBError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/enum.Login.html b/db_sqlx_maria/dev/enum.Login.html index 57f79799..47231afe 100644 --- a/db_sqlx_maria/dev/enum.Login.html +++ b/db_sqlx_maria/dev/enum.Login.html @@ -1,20 +1,20 @@ -Login in db_sqlx_maria::dev - Rust

    Enum db_sqlx_maria::dev::Login

    pub enum Login<'a> {
    +Login in db_sqlx_maria::dev - Rust

    Enum db_sqlx_maria::dev::Login

    source ·
    pub enum Login<'a> {
         Username(&'a str),
         Email(&'a str),
     }
    Expand description

    types of credentials used as identifiers during login

    Variants§

    §

    Username(&'a str)

    username as login

    §

    Email(&'a str)

    email as login

    -

    Trait Implementations§

    §

    impl<'a> Clone for Login<'a>

    §

    fn clone(&self) -> Login<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Login<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Login<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for Login<'a>

    source§

    fn clone(&self) -> Login<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Login<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Login<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Login<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Login<'a>

    §

    fn eq(&self, other: &Login<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Login<'a>

    source§

    fn eq(&self, other: &Login<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Login<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for Login<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/errors/enum.DBError.html b/db_sqlx_maria/dev/errors/enum.DBError.html index 66cf1b06..e897024c 100644 --- a/db_sqlx_maria/dev/errors/enum.DBError.html +++ b/db_sqlx_maria/dev/errors/enum.DBError.html @@ -1,4 +1,4 @@ -DBError in db_sqlx_maria::dev::errors - Rust

    Trait Implementations§

    §

    impl Debug for DBError

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Display for DBError

    §

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Error for DBError

    §

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Trait Implementations§

    source§

    impl Debug for DBError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for DBError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Error for DBError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/errors/index.html b/db_sqlx_maria/dev/errors/index.html index 7573c1e7..c26ef06c 100644 --- a/db_sqlx_maria/dev/errors/index.html +++ b/db_sqlx_maria/dev/errors/index.html @@ -1,2 +1,2 @@ -db_sqlx_maria::dev::errors - Rust

    Module db_sqlx_maria::dev::errors

    Expand description

    represents all the ways a trait can fail using this crate

    +db_sqlx_maria::dev::errors - Rust

    Module db_sqlx_maria::dev::errors

    source ·
    Expand description

    represents all the ways a trait can fail using this crate

    Enums

    • Error data structure grouping various error subtypes

    Type Aliases

    • Convenience type alias for grouping driver-specific errors
    • Generic result data structure
    \ No newline at end of file diff --git a/db_sqlx_maria/dev/errors/type.BoxDynError.html b/db_sqlx_maria/dev/errors/type.BoxDynError.html index ec6636c0..352c58b8 100644 --- a/db_sqlx_maria/dev/errors/type.BoxDynError.html +++ b/db_sqlx_maria/dev/errors/type.BoxDynError.html @@ -1,2 +1,2 @@ -BoxDynError in db_sqlx_maria::dev::errors - Rust

    Type Alias db_sqlx_maria::dev::errors::BoxDynError

    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    +BoxDynError in db_sqlx_maria::dev::errors - Rust

    Type Alias db_sqlx_maria::dev::errors::BoxDynError

    source ·
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file diff --git a/db_sqlx_maria/dev/errors/type.DBResult.html b/db_sqlx_maria/dev/errors/type.DBResult.html index 78b83db8..489480c5 100644 --- a/db_sqlx_maria/dev/errors/type.DBResult.html +++ b/db_sqlx_maria/dev/errors/type.DBResult.html @@ -1,4 +1,4 @@ -DBResult in db_sqlx_maria::dev::errors - Rust

    Type Alias db_sqlx_maria::dev::errors::DBResult

    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    +DBResult in db_sqlx_maria::dev::errors - Rust

    Type Alias db_sqlx_maria::dev::errors::DBResult

    source ·
    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    Aliased Type§

    enum DBResult<V> {
         Ok(V),
         Err(DBError),
    diff --git a/db_sqlx_maria/dev/index.html b/db_sqlx_maria/dev/index.html
    index 91c0e2e1..7055305b 100644
    --- a/db_sqlx_maria/dev/index.html
    +++ b/db_sqlx_maria/dev/index.html
    @@ -1,2 +1,2 @@
    -db_sqlx_maria::dev - Rust

    Module db_sqlx_maria::dev

    source ·

    Re-exports

    Modules

    • represents all the ways a trait can fail using this crate
    • meta operations like migration and connecting to a database
    • useful imports for users working with a supported database
    • Test utilities

    Structs

    Enums

    • Error data structure grouping various error subtypes
    • Represents all the ways a method can fail within SQLx.
    • types of credentials used as identifiers during login

    Traits

    source§

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/dev/index.html b/db_sqlx_maria/dev/prelude/dev/index.html index 074777d8..7127f629 100644 --- a/db_sqlx_maria/dev/prelude/dev/index.html +++ b/db_sqlx_maria/dev/prelude/dev/index.html @@ -1,3 +1,3 @@ -db_sqlx_maria::dev::prelude::dev - Rust

    Module db_sqlx_maria::dev::prelude::dev

    Expand description

    useful imports for supporting a new database

    -

    Structs

    Enums

    • Error data structure grouping various error subtypes
    • types of credentials used as identifiers during login

    Traits

    source§

    impl<'a> PartialEq for AddNotification<'a>

    source§

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for AddNotification<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for AddNotification<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/dev/struct.Captcha.html b/db_sqlx_maria/dev/prelude/dev/struct.Captcha.html index 0a645f13..151b72ea 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.Captcha.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.Captcha.html @@ -1,4 +1,4 @@ -Captcha in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct Captcha {
    +Captcha in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct Captcha {
         pub config_id: i32,
         pub duration: i32,
         pub description: String,
    @@ -8,16 +8,16 @@
     
    §duration: i32

    cool down duration

    §description: String

    description of the captcha

    §key: String

    secret key of the captcha

    -

    Trait Implementations§

    §

    impl Clone for Captcha

    §

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Captcha

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Captcha

    §

    fn default() -> Captcha

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Captcha

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for Captcha

    source§

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Captcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Captcha

    source§

    fn default() -> Captcha

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Captcha

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Captcha, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Captcha

    §

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Captcha

    source§

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Captcha

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Captcha

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/dev/struct.CreateCaptcha.html b/db_sqlx_maria/dev/prelude/dev/struct.CreateCaptcha.html index 636e4421..c06d9a6f 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.CreateCaptcha.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.CreateCaptcha.html @@ -1,4 +1,4 @@ -CreateCaptcha in db_sqlx_maria::dev::prelude::dev - Rust

    Fields§

    §duration: i32

    cool down duration

    §description: &'a str

    description of the captcha

    §key: &'a str

    secret key of the captcha

    -

    Trait Implementations§

    §

    impl<'a> Clone for CreateCaptcha<'a>

    §

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for CreateCaptcha<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'a> Default for CreateCaptcha<'a>

    §

    fn default() -> CreateCaptcha<'a>

    Returns the “default value” for a type. Read more
    §

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for CreateCaptcha<'a>

    source§

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for CreateCaptcha<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for CreateCaptcha<'a>

    source§

    fn default() -> CreateCaptcha<'a>

    Returns the “default value” for a type. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<CreateCaptcha<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for CreateCaptcha<'a>

    §

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for CreateCaptcha<'a>

    source§

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for CreateCaptcha<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for CreateCaptcha<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/dev/struct.CreatePerformanceAnalytics.html b/db_sqlx_maria/dev/prelude/dev/struct.CreatePerformanceAnalytics.html index 833092ba..868874d1 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.CreatePerformanceAnalytics.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.CreatePerformanceAnalytics.html @@ -1,4 +1,4 @@ -CreatePerformanceAnalytics in db_sqlx_maria::dev::prelude::dev - Rust

    Fields§

    §time: u32

    time taken to generate proof

    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    §

    impl Clone for CreatePerformanceAnalytics

    §

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for CreatePerformanceAnalytics

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for CreatePerformanceAnalytics

    §

    fn default() -> CreatePerformanceAnalytics

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for CreatePerformanceAnalytics

    source§

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for CreatePerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for CreatePerformanceAnalytics

    source§

    fn default() -> CreatePerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<CreatePerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for CreatePerformanceAnalytics

    §

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for CreatePerformanceAnalytics

    source§

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for CreatePerformanceAnalytics

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for CreatePerformanceAnalytics

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/dev/struct.EasyCaptcha.html b/db_sqlx_maria/dev/prelude/dev/struct.EasyCaptcha.html new file mode 100644 index 00000000..ca146a81 --- /dev/null +++ b/db_sqlx_maria/dev/prelude/dev/struct.EasyCaptcha.html @@ -0,0 +1,38 @@ +EasyCaptcha in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct EasyCaptcha {
    +    pub traffic_pattern: TrafficPattern,
    +    pub key: String,
    +    pub description: String,
    +    pub username: String,
    +}
    Expand description

    Represents Easy captcha configuration

    +

    Fields§

    §traffic_pattern: TrafficPattern

    traffic pattern of easy captcha

    +
    §key: String

    captcha key/sitekey

    +
    §description: String

    captcha description

    +
    §username: String

    Owner of the captcha configuration

    +

    Trait Implementations§

    source§

    impl Clone for EasyCaptcha

    source§

    fn clone(&self) -> EasyCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for EasyCaptcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for EasyCaptcha

    source§

    fn default() -> EasyCaptcha

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for EasyCaptcha

    source§

    fn deserialize<__D>( + __deserializer: __D +) -> Result<EasyCaptcha, <__D as Deserializer<'de>>::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for EasyCaptcha

    source§

    fn eq(&self, other: &EasyCaptcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for EasyCaptcha

    source§

    fn serialize<__S>( + &self, + __serializer: __S +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for EasyCaptcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.NameHash.html b/db_sqlx_maria/dev/prelude/dev/struct.NameHash.html index 37d32587..8f5390c2 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.NameHash.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.NameHash.html @@ -1,19 +1,19 @@ -NameHash in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct NameHash {
    +NameHash in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct NameHash {
         pub username: String,
         pub hash: String,
     }
    Expand description

    type encapsulating username and hashed password of a user

    Fields§

    §username: String

    username

    §hash: String

    hashed password

    -

    Trait Implementations§

    §

    impl Clone for NameHash

    §

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for NameHash

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for NameHash

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for NameHash

    source§

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for NameHash

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for NameHash

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<NameHash, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for NameHash

    §

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for NameHash

    source§

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for NameHash

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for NameHash

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/dev/struct.Notification.html b/db_sqlx_maria/dev/prelude/dev/struct.Notification.html index 8dbd9348..67a82cfe 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.Notification.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.Notification.html @@ -1,4 +1,4 @@ -Notification in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct Notification {
    +Notification in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct Notification {
         pub name: Option<String>,
         pub heading: Option<String>,
         pub message: Option<String>,
    @@ -10,16 +10,16 @@
     
    §message: Option<String>

    message of the notification

    §received: Option<i64>

    when notification was received

    §id: Option<i32>

    db assigned ID of the notification

    -

    Trait Implementations§

    §

    impl Clone for Notification

    §

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Notification

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Notification

    §

    fn default() -> Notification

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Notification

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for Notification

    source§

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Notification

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Notification

    source§

    fn default() -> Notification

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Notification

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Notification, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    §

    impl PartialEq for Notification

    §

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for Notification

    source§

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Notification

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Notification

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/dev/struct.PerformanceAnalytics.html b/db_sqlx_maria/dev/prelude/dev/struct.PerformanceAnalytics.html index f53a4be9..53640a20 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.PerformanceAnalytics.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.PerformanceAnalytics.html @@ -1,4 +1,4 @@ -PerformanceAnalytics in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct PerformanceAnalytics {
    +PerformanceAnalytics in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct PerformanceAnalytics {
         pub id: usize,
         pub time: u32,
         pub difficulty_factor: u32,
    @@ -8,16 +8,16 @@
     
    §time: u32

    time taken to generate proof

    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    §

    impl Clone for PerformanceAnalytics

    §

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for PerformanceAnalytics

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for PerformanceAnalytics

    §

    fn default() -> PerformanceAnalytics

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for PerformanceAnalytics

    source§

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for PerformanceAnalytics

    source§

    fn default() -> PerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<PerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for PerformanceAnalytics

    §

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PerformanceAnalytics

    source§

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for PerformanceAnalytics

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for PerformanceAnalytics

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/dev/struct.Register.html b/db_sqlx_maria/dev/prelude/dev/struct.Register.html index 5f69e49d..30c13701 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.Register.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.Register.html @@ -1,4 +1,4 @@ -Register in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct Register<'a> {
    +Register in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct Register<'a> {
         pub username: &'a str,
         pub secret: &'a str,
         pub hash: &'a str,
    @@ -8,17 +8,17 @@
     
    §secret: &'a str

    secret of new user

    §hash: &'a str

    hashed password of new use

    §email: Option<&'a str>

    Optionally, email of new use

    -

    Trait Implementations§

    §

    impl<'a> Clone for Register<'a>

    §

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Register<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Register<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for Register<'a>

    source§

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Register<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Register<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Register<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Register<'a>

    §

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Register<'a>

    source§

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Register<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for Register<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/dev/struct.Secret.html b/db_sqlx_maria/dev/prelude/dev/struct.Secret.html index aafe3e7e..fe55fcdb 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.Secret.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.Secret.html @@ -1,17 +1,17 @@ -Secret in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct Secret {
    +Secret in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct Secret {
         pub secret: String,
     }
    Expand description

    datastructure representing a user’s secret

    Fields§

    §secret: String

    user’s secret

    -

    Trait Implementations§

    §

    impl Clone for Secret

    §

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Secret

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Secret

    §

    fn default() -> Secret

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Secret

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for Secret

    source§

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Secret

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Secret

    source§

    fn default() -> Secret

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Secret

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Secret, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Secret

    §

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Secret

    source§

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Secret

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Secret

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/dev/struct.StatsUnixTimestamp.html b/db_sqlx_maria/dev/prelude/dev/struct.StatsUnixTimestamp.html index ced61800..03b55d01 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.StatsUnixTimestamp.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.StatsUnixTimestamp.html @@ -1,4 +1,4 @@ -StatsUnixTimestamp in db_sqlx_maria::dev::prelude::dev - Rust

    Fields§

    §config_fetches: Vec<i64>

    times at which the configuration were fetched

    §solves: Vec<i64>

    times at which the PoW was solved

    §confirms: Vec<i64>

    times at which the PoW token was verified

    -

    Trait Implementations§

    §

    impl Clone for StatsUnixTimestamp

    §

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for StatsUnixTimestamp

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for StatsUnixTimestamp

    §

    fn default() -> StatsUnixTimestamp

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for StatsUnixTimestamp

    source§

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for StatsUnixTimestamp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for StatsUnixTimestamp

    source§

    fn default() -> StatsUnixTimestamp

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<StatsUnixTimestamp, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for StatsUnixTimestamp

    §

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for StatsUnixTimestamp

    source§

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for StatsUnixTimestamp

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for StatsUnixTimestamp

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/dev/struct.TrafficPattern.html b/db_sqlx_maria/dev/prelude/dev/struct.TrafficPattern.html index e838a9e8..e18c55f1 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.TrafficPattern.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.TrafficPattern.html @@ -1,4 +1,4 @@ -TrafficPattern in db_sqlx_maria::dev::prelude::dev - Rust

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    -

    Trait Implementations§

    §

    impl Clone for TrafficPattern

    §

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for TrafficPattern

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for TrafficPattern

    §

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for TrafficPattern

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for TrafficPattern

    source§

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TrafficPattern

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for TrafficPattern

    source§

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for TrafficPattern

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<TrafficPattern, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for TrafficPattern

    §

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for TrafficPattern

    source§

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for TrafficPattern

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for TrafficPattern

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/dev/struct.UpdateEmail.html b/db_sqlx_maria/dev/prelude/dev/struct.UpdateEmail.html index 046daf1b..e6508f68 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.UpdateEmail.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.UpdateEmail.html @@ -1,20 +1,20 @@ -UpdateEmail in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct UpdateEmail<'a> {
    +UpdateEmail in db_sqlx_maria::dev::prelude::dev - Rust
    pub struct UpdateEmail<'a> {
         pub username: &'a str,
         pub new_email: &'a str,
     }
    Expand description

    data required to update them email of a user

    Fields§

    §username: &'a str

    username of the user

    §new_email: &'a str

    new email address of the user

    -

    Trait Implementations§

    §

    impl<'a> Clone for UpdateEmail<'a>

    §

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for UpdateEmail<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for UpdateEmail<'a>

    source§

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for UpdateEmail<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<UpdateEmail<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for UpdateEmail<'a>

    §

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for UpdateEmail<'a>

    source§

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for UpdateEmail<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for UpdateEmail<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/dev/trait.CloneSPDatabase.html b/db_sqlx_maria/dev/prelude/dev/trait.CloneSPDatabase.html index 5954cd61..4ffd628e 100644 --- a/db_sqlx_maria/dev/prelude/dev/trait.CloneSPDatabase.html +++ b/db_sqlx_maria/dev/prelude/dev/trait.CloneSPDatabase.html @@ -1,7 +1,7 @@ -CloneSPDatabase in db_sqlx_maria::dev::prelude::dev - Rust
    pub trait CloneSPDatabase {
    +CloneSPDatabase in db_sqlx_maria::dev::prelude::dev - Rust
    pub trait CloneSPDatabase {
         // Required method
         fn clone_db(&self) -> Box<dyn MCDatabase>;
     }
    Expand description

    Trait to clone MCDatabase

    -

    Required Methods§

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    -

    Implementors§

    §

    impl<T> CloneSPDatabase for Twhere +

    Required Methods§

    source

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    +

    Implementors§

    source§

    impl<T> CloneSPDatabase for Twhere T: MCDatabase + Clone + 'static,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/trait.Connect.html b/db_sqlx_maria/dev/prelude/dev/trait.Connect.html index bbf88722..c1b4dfd3 100644 --- a/db_sqlx_maria/dev/prelude/dev/trait.Connect.html +++ b/db_sqlx_maria/dev/prelude/dev/trait.Connect.html @@ -1,4 +1,4 @@ -Connect in db_sqlx_maria::dev::prelude::dev - Rust
    pub trait Connect {
    +Connect in db_sqlx_maria::dev::prelude::dev - Rust
    pub trait Connect {
         type Pool: MCDatabase;
     
         // Required method
    @@ -7,8 +7,8 @@
         ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
            where Self: 'async_trait;
     }
    Expand description

    Create database connection

    -

    Required Associated Types§

    type Pool: MCDatabase

    database specific pool-type

    -

    Required Methods§

    fn connect<'async_trait>( +

    Required Associated Types§

    source

    type Pool: MCDatabase

    database specific pool-type

    +

    Required Methods§

    source

    fn connect<'async_trait>( self ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>where Self: 'async_trait,

    database specific error-type diff --git a/db_sqlx_maria/dev/prelude/dev/trait.DBOps.html b/db_sqlx_maria/dev/prelude/dev/trait.DBOps.html index dab0b44b..f5543e4d 100644 --- a/db_sqlx_maria/dev/prelude/dev/trait.DBOps.html +++ b/db_sqlx_maria/dev/prelude/dev/trait.DBOps.html @@ -1,2 +1,2 @@ -DBOps in db_sqlx_maria::dev::prelude::dev - Rust

    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    +DBOps in db_sqlx_maria::dev::prelude::dev - Rust
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/trait.GetConnection.html b/db_sqlx_maria/dev/prelude/dev/trait.GetConnection.html index 39b12429..15fffad0 100644 --- a/db_sqlx_maria/dev/prelude/dev/trait.GetConnection.html +++ b/db_sqlx_maria/dev/prelude/dev/trait.GetConnection.html @@ -1,4 +1,4 @@ -GetConnection in db_sqlx_maria::dev::prelude::dev - Rust
    pub trait GetConnection {
    +GetConnection in db_sqlx_maria::dev::prelude::dev - Rust
    pub trait GetConnection {
         type Conn;
     
         // Required method
    @@ -8,8 +8,8 @@
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    Get database connection

    -

    Required Associated Types§

    type Conn

    database connection type

    -

    Required Methods§

    fn get_conn<'life0, 'async_trait>( +

    Required Associated Types§

    source

    type Conn

    database connection type

    +

    Required Methods§

    source

    fn get_conn<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, diff --git a/db_sqlx_maria/dev/prelude/dev/trait.MCDatabase.html b/db_sqlx_maria/dev/prelude/dev/trait.MCDatabase.html index 8b03c24f..79f4ea4f 100644 --- a/db_sqlx_maria/dev/prelude/dev/trait.MCDatabase.html +++ b/db_sqlx_maria/dev/prelude/dev/trait.MCDatabase.html @@ -1,5 +1,5 @@ -MCDatabase in db_sqlx_maria::dev::prelude::dev - Rust
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
    -
    Show 48 methods // Required methods +MCDatabase in db_sqlx_maria::dev::prelude::dev - Rust
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
    +
    Show 49 methods // Required methods fn ping<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> @@ -212,6 +212,13 @@ 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; + fn get_all_easy_captchas<'life0, 'async_trait>( + &'life0 self, + limit: usize, + offset: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>> + where 'life0: 'async_trait, + Self: 'async_trait; fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, @@ -384,68 +391,68 @@ Self: 'async_trait { ... }
    }
    Expand description

    mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

    -

    Required Methods§

    fn ping<'life0, 'async_trait>( +

    Required Methods§

    source

    fn ping<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,

    ping DB

    -

    fn register<'life0, 'life1, 'async_trait>( +

    source

    fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    register a new user

    -

    fn delete_user<'life0, 'life1, 'async_trait>( +

    source

    fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    delete a user

    -

    fn username_exists<'life0, 'life1, 'async_trait>( +

    source

    fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    check if username exists

    -

    fn get_email<'life0, 'life1, 'async_trait>( +

    source

    fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get user email

    -

    fn email_exists<'life0, 'life1, 'async_trait>( +

    source

    fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, email: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    check if email exists

    -

    fn update_email<'life0, 'life1, 'async_trait>( +

    source

    fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    update a user’s email

    -

    fn get_password<'life0, 'life1, 'async_trait>( +

    source

    fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get a user’s password

    -

    fn update_password<'life0, 'life1, 'async_trait>( +

    source

    fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    update user’s password

    -

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, current: &'life1 str, new: &'life2 str @@ -454,21 +461,21 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    update username

    -

    fn get_secret<'life0, 'life1, 'async_trait>( +

    source

    fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get a user’s secret

    -

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( +

    source

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get a user’s secret from a captcha key

    -

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, secret: &'life2 str @@ -477,7 +484,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    update a user’s secret

    -

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, p: &'life2 CreateCaptcha<'_> @@ -486,7 +493,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    create new captcha

    -

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, key: &'life2 str @@ -495,14 +502,14 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Get captcha config

    -

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( +

    source

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get all captchas belonging to user

    -

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, p: &'life2 CreateCaptcha<'_> @@ -511,7 +518,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    -

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( +

    source

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, username: &'life1 str, old_key: &'life2 str, @@ -522,7 +529,7 @@ trait.

    'life2: 'async_trait, 'life3: 'async_trait, Self: 'async_trait,

    update captcha key; doesn’t change metadata

    -

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( +

    source

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str, @@ -533,7 +540,7 @@ trait.

    'life2: 'async_trait, 'life3: 'async_trait, Self: 'async_trait,

    Add levels to captcha

    -

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: Option<&'life1 str>, captcha_key: &'life2 str @@ -542,7 +549,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    check if captcha exists

    -

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -551,7 +558,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Delete all levels of a captcha

    -

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -560,7 +567,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Delete captcha

    -

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: Option<&'life1 str>, captcha_key: &'life2 str @@ -569,14 +576,14 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Get captcha levels

    -

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( +

    source

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get captcha’s cooldown period

    -

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( +

    source

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str, @@ -587,7 +594,7 @@ trait.

    'life2: 'async_trait, 'life3: 'async_trait, Self: 'async_trait,

    Add traffic configuration

    -

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -596,7 +603,14 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Get traffic configuration

    -

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_all_easy_captchas<'life0, 'async_trait>( + &'life0 self, + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>>where + 'life0: 'async_trait, + Self: 'async_trait,

    Get all easy captcha configurations on instance

    +
    source

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -605,21 +619,21 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Delete traffic configuration

    -

    fn create_notification<'life0, 'life1, 'async_trait>( +

    source

    fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    create new notification

    -

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( +

    source

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get all unread notifications

    -

    fn mark_notification_read<'life0, 'life1, 'async_trait>( +

    source

    fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str, id: i32 @@ -627,28 +641,28 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    mark a notification read

    -

    fn record_fetch<'life0, 'life1, 'async_trait>( +

    source

    fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    record PoWConfig fetches

    -

    fn record_solve<'life0, 'life1, 'async_trait>( +

    source

    fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    record PoWConfig solves

    -

    fn record_confirm<'life0, 'life1, 'async_trait>( +

    source

    fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    record PoWConfig confirms

    -

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -657,7 +671,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    fetch PoWConfig fetches

    -

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -666,7 +680,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    fetch PoWConfig solves

    -

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -675,7 +689,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    fetch PoWConfig confirms

    -

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics @@ -684,7 +698,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    record PoW timing

    -

    fn analytics_fetch<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str, limit: usize, @@ -693,41 +707,41 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    fetch PoW analytics

    -

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    -

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get psuedo ID from campaign ID

    -

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, psuedo_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get campaign ID from psuedo ID

    -

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, campaign_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Delete all records for campaign

    -

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( +

    source

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, page: usize ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,

    Get all psuedo IDs

    -

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( +

    source

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str, difficulty_factor: u32, @@ -736,7 +750,7 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Track maximum nonce received against captcha levels

    -

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( +

    source

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str, difficulty_factor: u32 @@ -744,13 +758,13 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    -

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( +

    source

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, duration: u32 ) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,

    Get number of analytics entries that are under a certain duration

    -

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( +

    source

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, duration: u32, location: u32 @@ -758,11 +772,11 @@ trait.

    'life0: 'async_trait, Self: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit and sorted in ascending order

    -

    Provided Methods§

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( +

    Provided Methods§

    source

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, campaign_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID

    -

    Trait Implementations§

    §

    impl Clone for Box<dyn MCDatabase>

    §

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file +

    Trait Implementations§

    source§

    impl Clone for Box<dyn MCDatabase>

    source§

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/trait.Migrate.html b/db_sqlx_maria/dev/prelude/dev/trait.Migrate.html index 5a9b0555..759d3126 100644 --- a/db_sqlx_maria/dev/prelude/dev/trait.Migrate.html +++ b/db_sqlx_maria/dev/prelude/dev/trait.Migrate.html @@ -1,4 +1,4 @@ -Migrate in db_sqlx_maria::dev::prelude::dev - Rust
    pub trait Migrate: MCDatabase {
    +Migrate in db_sqlx_maria::dev::prelude::dev - Rust
    pub trait Migrate: MCDatabase {
         // Required method
         fn migrate<'life0, 'async_trait>(
             &'life0 self
    @@ -6,7 +6,7 @@
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    database migrations

    -

    Required Methods§

    fn migrate<'life0, 'async_trait>( +

    Required Methods§

    source

    fn migrate<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, diff --git a/db_sqlx_maria/dev/prelude/dev/type.BoxDynError.html b/db_sqlx_maria/dev/prelude/dev/type.BoxDynError.html index c9ac4ca8..27c5fb2c 100644 --- a/db_sqlx_maria/dev/prelude/dev/type.BoxDynError.html +++ b/db_sqlx_maria/dev/prelude/dev/type.BoxDynError.html @@ -1,2 +1,2 @@ -BoxDynError in db_sqlx_maria::dev::prelude::dev - Rust
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    +BoxDynError in db_sqlx_maria::dev::prelude::dev - Rust
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/type.DBResult.html b/db_sqlx_maria/dev/prelude/dev/type.DBResult.html index 488b598a..5603defc 100644 --- a/db_sqlx_maria/dev/prelude/dev/type.DBResult.html +++ b/db_sqlx_maria/dev/prelude/dev/type.DBResult.html @@ -1,4 +1,4 @@ -DBResult in db_sqlx_maria::dev::prelude::dev - Rust

    Type Alias db_sqlx_maria::dev::prelude::dev::DBResult

    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    +DBResult in db_sqlx_maria::dev::prelude::dev - Rust

    Type Alias db_sqlx_maria::dev::prelude::dev::DBResult

    source ·
    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    Aliased Type§

    enum DBResult<V> {
         Ok(V),
         Err(DBError),
    diff --git a/db_sqlx_maria/dev/prelude/enum.DBError.html b/db_sqlx_maria/dev/prelude/enum.DBError.html
    index 084bc09c..665ead29 100644
    --- a/db_sqlx_maria/dev/prelude/enum.DBError.html
    +++ b/db_sqlx_maria/dev/prelude/enum.DBError.html
    @@ -1,4 +1,4 @@
    -DBError in db_sqlx_maria::dev::prelude - Rust

    Trait Implementations§

    §

    impl Debug for DBError

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Display for DBError

    §

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Error for DBError

    §

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Trait Implementations§

    source§

    impl Debug for DBError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for DBError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Error for DBError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/enum.Login.html b/db_sqlx_maria/dev/prelude/enum.Login.html index 3f24d94d..4d0ef58d 100644 --- a/db_sqlx_maria/dev/prelude/enum.Login.html +++ b/db_sqlx_maria/dev/prelude/enum.Login.html @@ -1,20 +1,20 @@ -Login in db_sqlx_maria::dev::prelude - Rust
    pub enum Login<'a> {
    +Login in db_sqlx_maria::dev::prelude - Rust
    pub enum Login<'a> {
         Username(&'a str),
         Email(&'a str),
     }
    Expand description

    types of credentials used as identifiers during login

    Variants§

    §

    Username(&'a str)

    username as login

    §

    Email(&'a str)

    email as login

    -

    Trait Implementations§

    §

    impl<'a> Clone for Login<'a>

    §

    fn clone(&self) -> Login<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Login<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Login<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for Login<'a>

    source§

    fn clone(&self) -> Login<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Login<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Login<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Login<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Login<'a>

    §

    fn eq(&self, other: &Login<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Login<'a>

    source§

    fn eq(&self, other: &Login<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Login<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for Login<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/index.html b/db_sqlx_maria/dev/prelude/index.html index e6d1f924..83f21770 100644 --- a/db_sqlx_maria/dev/prelude/index.html +++ b/db_sqlx_maria/dev/prelude/index.html @@ -1,3 +1,3 @@ -db_sqlx_maria::dev::prelude - Rust

    Module db_sqlx_maria::dev::prelude

    Expand description

    useful imports for users working with a supported database

    -

    Modules

    • useful imports for supporting a new database

    Structs

    Enums

    • Error data structure grouping various error subtypes
    • types of credentials used as identifiers during login

    Traits

    source§

    impl<'a> PartialEq for AddNotification<'a>

    source§

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for AddNotification<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for AddNotification<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/struct.Captcha.html b/db_sqlx_maria/dev/prelude/struct.Captcha.html index 342e0fb0..beefc703 100644 --- a/db_sqlx_maria/dev/prelude/struct.Captcha.html +++ b/db_sqlx_maria/dev/prelude/struct.Captcha.html @@ -1,4 +1,4 @@ -Captcha in db_sqlx_maria::dev::prelude - Rust
    pub struct Captcha {
    +Captcha in db_sqlx_maria::dev::prelude - Rust
    pub struct Captcha {
         pub config_id: i32,
         pub duration: i32,
         pub description: String,
    @@ -8,16 +8,16 @@
     
    §duration: i32

    cool down duration

    §description: String

    description of the captcha

    §key: String

    secret key of the captcha

    -

    Trait Implementations§

    §

    impl Clone for Captcha

    §

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Captcha

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Captcha

    §

    fn default() -> Captcha

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Captcha

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for Captcha

    source§

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Captcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Captcha

    source§

    fn default() -> Captcha

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Captcha

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Captcha, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Captcha

    §

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Captcha

    source§

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Captcha

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Captcha

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/struct.CreateCaptcha.html b/db_sqlx_maria/dev/prelude/struct.CreateCaptcha.html index 4838752c..c2e307eb 100644 --- a/db_sqlx_maria/dev/prelude/struct.CreateCaptcha.html +++ b/db_sqlx_maria/dev/prelude/struct.CreateCaptcha.html @@ -1,4 +1,4 @@ -CreateCaptcha in db_sqlx_maria::dev::prelude - Rust

    Fields§

    §duration: i32

    cool down duration

    §description: &'a str

    description of the captcha

    §key: &'a str

    secret key of the captcha

    -

    Trait Implementations§

    §

    impl<'a> Clone for CreateCaptcha<'a>

    §

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for CreateCaptcha<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'a> Default for CreateCaptcha<'a>

    §

    fn default() -> CreateCaptcha<'a>

    Returns the “default value” for a type. Read more
    §

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for CreateCaptcha<'a>

    source§

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for CreateCaptcha<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for CreateCaptcha<'a>

    source§

    fn default() -> CreateCaptcha<'a>

    Returns the “default value” for a type. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<CreateCaptcha<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for CreateCaptcha<'a>

    §

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for CreateCaptcha<'a>

    source§

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for CreateCaptcha<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for CreateCaptcha<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/struct.CreatePerformanceAnalytics.html b/db_sqlx_maria/dev/prelude/struct.CreatePerformanceAnalytics.html index 4e71554a..49780479 100644 --- a/db_sqlx_maria/dev/prelude/struct.CreatePerformanceAnalytics.html +++ b/db_sqlx_maria/dev/prelude/struct.CreatePerformanceAnalytics.html @@ -1,4 +1,4 @@ -CreatePerformanceAnalytics in db_sqlx_maria::dev::prelude - Rust

    Fields§

    §time: u32

    time taken to generate proof

    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    §

    impl Clone for CreatePerformanceAnalytics

    §

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for CreatePerformanceAnalytics

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for CreatePerformanceAnalytics

    §

    fn default() -> CreatePerformanceAnalytics

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for CreatePerformanceAnalytics

    source§

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for CreatePerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for CreatePerformanceAnalytics

    source§

    fn default() -> CreatePerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<CreatePerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for CreatePerformanceAnalytics

    §

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for CreatePerformanceAnalytics

    source§

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for CreatePerformanceAnalytics

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for CreatePerformanceAnalytics

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/struct.EasyCaptcha.html b/db_sqlx_maria/dev/prelude/struct.EasyCaptcha.html new file mode 100644 index 00000000..cb05f120 --- /dev/null +++ b/db_sqlx_maria/dev/prelude/struct.EasyCaptcha.html @@ -0,0 +1,38 @@ +EasyCaptcha in db_sqlx_maria::dev::prelude - Rust
    pub struct EasyCaptcha {
    +    pub traffic_pattern: TrafficPattern,
    +    pub key: String,
    +    pub description: String,
    +    pub username: String,
    +}
    Expand description

    Represents Easy captcha configuration

    +

    Fields§

    §traffic_pattern: TrafficPattern

    traffic pattern of easy captcha

    +
    §key: String

    captcha key/sitekey

    +
    §description: String

    captcha description

    +
    §username: String

    Owner of the captcha configuration

    +

    Trait Implementations§

    source§

    impl Clone for EasyCaptcha

    source§

    fn clone(&self) -> EasyCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for EasyCaptcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for EasyCaptcha

    source§

    fn default() -> EasyCaptcha

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for EasyCaptcha

    source§

    fn deserialize<__D>( + __deserializer: __D +) -> Result<EasyCaptcha, <__D as Deserializer<'de>>::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for EasyCaptcha

    source§

    fn eq(&self, other: &EasyCaptcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for EasyCaptcha

    source§

    fn serialize<__S>( + &self, + __serializer: __S +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for EasyCaptcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.NameHash.html b/db_sqlx_maria/dev/prelude/struct.NameHash.html index 475c4b93..c81af9e1 100644 --- a/db_sqlx_maria/dev/prelude/struct.NameHash.html +++ b/db_sqlx_maria/dev/prelude/struct.NameHash.html @@ -1,19 +1,19 @@ -NameHash in db_sqlx_maria::dev::prelude - Rust
    pub struct NameHash {
    +NameHash in db_sqlx_maria::dev::prelude - Rust
    pub struct NameHash {
         pub username: String,
         pub hash: String,
     }
    Expand description

    type encapsulating username and hashed password of a user

    Fields§

    §username: String

    username

    §hash: String

    hashed password

    -

    Trait Implementations§

    §

    impl Clone for NameHash

    §

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for NameHash

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for NameHash

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for NameHash

    source§

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for NameHash

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for NameHash

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<NameHash, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for NameHash

    §

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for NameHash

    source§

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for NameHash

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for NameHash

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/struct.Notification.html b/db_sqlx_maria/dev/prelude/struct.Notification.html index 59a9de14..ba48ad71 100644 --- a/db_sqlx_maria/dev/prelude/struct.Notification.html +++ b/db_sqlx_maria/dev/prelude/struct.Notification.html @@ -1,4 +1,4 @@ -Notification in db_sqlx_maria::dev::prelude - Rust
    pub struct Notification {
    +Notification in db_sqlx_maria::dev::prelude - Rust
    pub struct Notification {
         pub name: Option<String>,
         pub heading: Option<String>,
         pub message: Option<String>,
    @@ -10,16 +10,16 @@
     
    §message: Option<String>

    message of the notification

    §received: Option<i64>

    when notification was received

    §id: Option<i32>

    db assigned ID of the notification

    -

    Trait Implementations§

    §

    impl Clone for Notification

    §

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Notification

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Notification

    §

    fn default() -> Notification

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Notification

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for Notification

    source§

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Notification

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Notification

    source§

    fn default() -> Notification

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Notification

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Notification, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    §

    impl PartialEq for Notification

    §

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for Notification

    source§

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Notification

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Notification

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/struct.PerformanceAnalytics.html b/db_sqlx_maria/dev/prelude/struct.PerformanceAnalytics.html index fff90a52..9a0581cb 100644 --- a/db_sqlx_maria/dev/prelude/struct.PerformanceAnalytics.html +++ b/db_sqlx_maria/dev/prelude/struct.PerformanceAnalytics.html @@ -1,4 +1,4 @@ -PerformanceAnalytics in db_sqlx_maria::dev::prelude - Rust
    pub struct PerformanceAnalytics {
    +PerformanceAnalytics in db_sqlx_maria::dev::prelude - Rust
    pub struct PerformanceAnalytics {
         pub id: usize,
         pub time: u32,
         pub difficulty_factor: u32,
    @@ -8,16 +8,16 @@
     
    §time: u32

    time taken to generate proof

    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    §

    impl Clone for PerformanceAnalytics

    §

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for PerformanceAnalytics

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for PerformanceAnalytics

    §

    fn default() -> PerformanceAnalytics

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for PerformanceAnalytics

    source§

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for PerformanceAnalytics

    source§

    fn default() -> PerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<PerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for PerformanceAnalytics

    §

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PerformanceAnalytics

    source§

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for PerformanceAnalytics

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for PerformanceAnalytics

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/struct.Register.html b/db_sqlx_maria/dev/prelude/struct.Register.html index 8744ee22..f6dc3e94 100644 --- a/db_sqlx_maria/dev/prelude/struct.Register.html +++ b/db_sqlx_maria/dev/prelude/struct.Register.html @@ -1,4 +1,4 @@ -Register in db_sqlx_maria::dev::prelude - Rust
    pub struct Register<'a> {
    +Register in db_sqlx_maria::dev::prelude - Rust
    pub struct Register<'a> {
         pub username: &'a str,
         pub secret: &'a str,
         pub hash: &'a str,
    @@ -8,17 +8,17 @@
     
    §secret: &'a str

    secret of new user

    §hash: &'a str

    hashed password of new use

    §email: Option<&'a str>

    Optionally, email of new use

    -

    Trait Implementations§

    §

    impl<'a> Clone for Register<'a>

    §

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Register<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Register<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for Register<'a>

    source§

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Register<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Register<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Register<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Register<'a>

    §

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Register<'a>

    source§

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Register<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for Register<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/struct.Secret.html b/db_sqlx_maria/dev/prelude/struct.Secret.html index b86c2cf1..17a4aaf0 100644 --- a/db_sqlx_maria/dev/prelude/struct.Secret.html +++ b/db_sqlx_maria/dev/prelude/struct.Secret.html @@ -1,17 +1,17 @@ -Secret in db_sqlx_maria::dev::prelude - Rust
    pub struct Secret {
    +Secret in db_sqlx_maria::dev::prelude - Rust
    pub struct Secret {
         pub secret: String,
     }
    Expand description

    datastructure representing a user’s secret

    Fields§

    §secret: String

    user’s secret

    -

    Trait Implementations§

    §

    impl Clone for Secret

    §

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Secret

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Secret

    §

    fn default() -> Secret

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Secret

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for Secret

    source§

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Secret

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Secret

    source§

    fn default() -> Secret

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Secret

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Secret, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Secret

    §

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Secret

    source§

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Secret

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Secret

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/struct.StatsUnixTimestamp.html b/db_sqlx_maria/dev/prelude/struct.StatsUnixTimestamp.html index 6eb092ca..d77b2cdb 100644 --- a/db_sqlx_maria/dev/prelude/struct.StatsUnixTimestamp.html +++ b/db_sqlx_maria/dev/prelude/struct.StatsUnixTimestamp.html @@ -1,4 +1,4 @@ -StatsUnixTimestamp in db_sqlx_maria::dev::prelude - Rust

    Fields§

    §config_fetches: Vec<i64>

    times at which the configuration were fetched

    §solves: Vec<i64>

    times at which the PoW was solved

    §confirms: Vec<i64>

    times at which the PoW token was verified

    -

    Trait Implementations§

    §

    impl Clone for StatsUnixTimestamp

    §

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for StatsUnixTimestamp

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for StatsUnixTimestamp

    §

    fn default() -> StatsUnixTimestamp

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for StatsUnixTimestamp

    source§

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for StatsUnixTimestamp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for StatsUnixTimestamp

    source§

    fn default() -> StatsUnixTimestamp

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<StatsUnixTimestamp, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for StatsUnixTimestamp

    §

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for StatsUnixTimestamp

    source§

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for StatsUnixTimestamp

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for StatsUnixTimestamp

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/struct.TrafficPattern.html b/db_sqlx_maria/dev/prelude/struct.TrafficPattern.html index abe3c21c..e1806d5a 100644 --- a/db_sqlx_maria/dev/prelude/struct.TrafficPattern.html +++ b/db_sqlx_maria/dev/prelude/struct.TrafficPattern.html @@ -1,4 +1,4 @@ -TrafficPattern in db_sqlx_maria::dev::prelude - Rust

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    -

    Trait Implementations§

    §

    impl Clone for TrafficPattern

    §

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for TrafficPattern

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for TrafficPattern

    §

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for TrafficPattern

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for TrafficPattern

    source§

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TrafficPattern

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for TrafficPattern

    source§

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for TrafficPattern

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<TrafficPattern, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for TrafficPattern

    §

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for TrafficPattern

    source§

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for TrafficPattern

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for TrafficPattern

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/struct.UpdateEmail.html b/db_sqlx_maria/dev/prelude/struct.UpdateEmail.html index e142dea3..fab1d002 100644 --- a/db_sqlx_maria/dev/prelude/struct.UpdateEmail.html +++ b/db_sqlx_maria/dev/prelude/struct.UpdateEmail.html @@ -1,20 +1,20 @@ -UpdateEmail in db_sqlx_maria::dev::prelude - Rust
    pub struct UpdateEmail<'a> {
    +UpdateEmail in db_sqlx_maria::dev::prelude - Rust
    pub struct UpdateEmail<'a> {
         pub username: &'a str,
         pub new_email: &'a str,
     }
    Expand description

    data required to update them email of a user

    Fields§

    §username: &'a str

    username of the user

    §new_email: &'a str

    new email address of the user

    -

    Trait Implementations§

    §

    impl<'a> Clone for UpdateEmail<'a>

    §

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for UpdateEmail<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for UpdateEmail<'a>

    source§

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for UpdateEmail<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<UpdateEmail<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for UpdateEmail<'a>

    §

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for UpdateEmail<'a>

    source§

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for UpdateEmail<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for UpdateEmail<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/prelude/trait.CloneSPDatabase.html b/db_sqlx_maria/dev/prelude/trait.CloneSPDatabase.html index 93187cf5..d63de778 100644 --- a/db_sqlx_maria/dev/prelude/trait.CloneSPDatabase.html +++ b/db_sqlx_maria/dev/prelude/trait.CloneSPDatabase.html @@ -1,7 +1,7 @@ -CloneSPDatabase in db_sqlx_maria::dev::prelude - Rust
    pub trait CloneSPDatabase {
    +CloneSPDatabase in db_sqlx_maria::dev::prelude - Rust
    pub trait CloneSPDatabase {
         // Required method
         fn clone_db(&self) -> Box<dyn MCDatabase>;
     }
    Expand description

    Trait to clone MCDatabase

    -

    Required Methods§

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    -

    Implementors§

    §

    impl<T> CloneSPDatabase for Twhere +

    Required Methods§

    source

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    +

    Implementors§

    source§

    impl<T> CloneSPDatabase for Twhere T: MCDatabase + Clone + 'static,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/trait.Connect.html b/db_sqlx_maria/dev/prelude/trait.Connect.html index eed48d7f..abc683ec 100644 --- a/db_sqlx_maria/dev/prelude/trait.Connect.html +++ b/db_sqlx_maria/dev/prelude/trait.Connect.html @@ -1,4 +1,4 @@ -Connect in db_sqlx_maria::dev::prelude - Rust
    pub trait Connect {
    +Connect in db_sqlx_maria::dev::prelude - Rust
    pub trait Connect {
         type Pool: MCDatabase;
     
         // Required method
    @@ -7,8 +7,8 @@
         ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
            where Self: 'async_trait;
     }
    Expand description

    Create database connection

    -

    Required Associated Types§

    type Pool: MCDatabase

    database specific pool-type

    -

    Required Methods§

    fn connect<'async_trait>( +

    Required Associated Types§

    source

    type Pool: MCDatabase

    database specific pool-type

    +

    Required Methods§

    source

    fn connect<'async_trait>( self ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>where Self: 'async_trait,

    database specific error-type diff --git a/db_sqlx_maria/dev/prelude/trait.DBOps.html b/db_sqlx_maria/dev/prelude/trait.DBOps.html index a61d18b9..056b4f16 100644 --- a/db_sqlx_maria/dev/prelude/trait.DBOps.html +++ b/db_sqlx_maria/dev/prelude/trait.DBOps.html @@ -1,2 +1,2 @@ -DBOps in db_sqlx_maria::dev::prelude - Rust

    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    +DBOps in db_sqlx_maria::dev::prelude - Rust
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/trait.GetConnection.html b/db_sqlx_maria/dev/prelude/trait.GetConnection.html index e06a3ec2..fbfae24f 100644 --- a/db_sqlx_maria/dev/prelude/trait.GetConnection.html +++ b/db_sqlx_maria/dev/prelude/trait.GetConnection.html @@ -1,4 +1,4 @@ -GetConnection in db_sqlx_maria::dev::prelude - Rust
    pub trait GetConnection {
    +GetConnection in db_sqlx_maria::dev::prelude - Rust
    pub trait GetConnection {
         type Conn;
     
         // Required method
    @@ -8,8 +8,8 @@
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    Get database connection

    -

    Required Associated Types§

    type Conn

    database connection type

    -

    Required Methods§

    fn get_conn<'life0, 'async_trait>( +

    Required Associated Types§

    source

    type Conn

    database connection type

    +

    Required Methods§

    source

    fn get_conn<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, diff --git a/db_sqlx_maria/dev/prelude/trait.MCDatabase.html b/db_sqlx_maria/dev/prelude/trait.MCDatabase.html index 52cc0cfe..30991d3f 100644 --- a/db_sqlx_maria/dev/prelude/trait.MCDatabase.html +++ b/db_sqlx_maria/dev/prelude/trait.MCDatabase.html @@ -1,5 +1,5 @@ -MCDatabase in db_sqlx_maria::dev::prelude - Rust
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
    -
    Show 48 methods // Required methods +MCDatabase in db_sqlx_maria::dev::prelude - Rust
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
    +
    Show 49 methods // Required methods fn ping<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> @@ -212,6 +212,13 @@ 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; + fn get_all_easy_captchas<'life0, 'async_trait>( + &'life0 self, + limit: usize, + offset: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>> + where 'life0: 'async_trait, + Self: 'async_trait; fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, @@ -384,68 +391,68 @@ Self: 'async_trait { ... }
    }
    Expand description

    mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

    -

    Required Methods§

    fn ping<'life0, 'async_trait>( +

    Required Methods§

    source

    fn ping<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,

    ping DB

    -

    fn register<'life0, 'life1, 'async_trait>( +

    source

    fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    register a new user

    -

    fn delete_user<'life0, 'life1, 'async_trait>( +

    source

    fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    delete a user

    -

    fn username_exists<'life0, 'life1, 'async_trait>( +

    source

    fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    check if username exists

    -

    fn get_email<'life0, 'life1, 'async_trait>( +

    source

    fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get user email

    -

    fn email_exists<'life0, 'life1, 'async_trait>( +

    source

    fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, email: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    check if email exists

    -

    fn update_email<'life0, 'life1, 'async_trait>( +

    source

    fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    update a user’s email

    -

    fn get_password<'life0, 'life1, 'async_trait>( +

    source

    fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get a user’s password

    -

    fn update_password<'life0, 'life1, 'async_trait>( +

    source

    fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    update user’s password

    -

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, current: &'life1 str, new: &'life2 str @@ -454,21 +461,21 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    update username

    -

    fn get_secret<'life0, 'life1, 'async_trait>( +

    source

    fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get a user’s secret

    -

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( +

    source

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get a user’s secret from a captcha key

    -

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, secret: &'life2 str @@ -477,7 +484,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    update a user’s secret

    -

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, p: &'life2 CreateCaptcha<'_> @@ -486,7 +493,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    create new captcha

    -

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, key: &'life2 str @@ -495,14 +502,14 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Get captcha config

    -

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( +

    source

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get all captchas belonging to user

    -

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, p: &'life2 CreateCaptcha<'_> @@ -511,7 +518,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    -

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( +

    source

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, username: &'life1 str, old_key: &'life2 str, @@ -522,7 +529,7 @@ trait.

    'life2: 'async_trait, 'life3: 'async_trait, Self: 'async_trait,

    update captcha key; doesn’t change metadata

    -

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( +

    source

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str, @@ -533,7 +540,7 @@ trait.

    'life2: 'async_trait, 'life3: 'async_trait, Self: 'async_trait,

    Add levels to captcha

    -

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: Option<&'life1 str>, captcha_key: &'life2 str @@ -542,7 +549,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    check if captcha exists

    -

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -551,7 +558,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Delete all levels of a captcha

    -

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -560,7 +567,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Delete captcha

    -

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: Option<&'life1 str>, captcha_key: &'life2 str @@ -569,14 +576,14 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Get captcha levels

    -

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( +

    source

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get captcha’s cooldown period

    -

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( +

    source

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str, @@ -587,7 +594,7 @@ trait.

    'life2: 'async_trait, 'life3: 'async_trait, Self: 'async_trait,

    Add traffic configuration

    -

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -596,7 +603,14 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Get traffic configuration

    -

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_all_easy_captchas<'life0, 'async_trait>( + &'life0 self, + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>>where + 'life0: 'async_trait, + Self: 'async_trait,

    Get all easy captcha configurations on instance

    +
    source

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -605,21 +619,21 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Delete traffic configuration

    -

    fn create_notification<'life0, 'life1, 'async_trait>( +

    source

    fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    create new notification

    -

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( +

    source

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get all unread notifications

    -

    fn mark_notification_read<'life0, 'life1, 'async_trait>( +

    source

    fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str, id: i32 @@ -627,28 +641,28 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    mark a notification read

    -

    fn record_fetch<'life0, 'life1, 'async_trait>( +

    source

    fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    record PoWConfig fetches

    -

    fn record_solve<'life0, 'life1, 'async_trait>( +

    source

    fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    record PoWConfig solves

    -

    fn record_confirm<'life0, 'life1, 'async_trait>( +

    source

    fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    record PoWConfig confirms

    -

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -657,7 +671,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    fetch PoWConfig fetches

    -

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -666,7 +680,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    fetch PoWConfig solves

    -

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -675,7 +689,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    fetch PoWConfig confirms

    -

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics @@ -684,7 +698,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    record PoW timing

    -

    fn analytics_fetch<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str, limit: usize, @@ -693,41 +707,41 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    fetch PoW analytics

    -

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    -

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get psuedo ID from campaign ID

    -

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, psuedo_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get campaign ID from psuedo ID

    -

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, campaign_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Delete all records for campaign

    -

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( +

    source

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, page: usize ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,

    Get all psuedo IDs

    -

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( +

    source

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str, difficulty_factor: u32, @@ -736,7 +750,7 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Track maximum nonce received against captcha levels

    -

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( +

    source

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str, difficulty_factor: u32 @@ -744,13 +758,13 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    -

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( +

    source

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, duration: u32 ) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,

    Get number of analytics entries that are under a certain duration

    -

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( +

    source

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, duration: u32, location: u32 @@ -758,11 +772,11 @@ trait.

    'life0: 'async_trait, Self: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit and sorted in ascending order

    -

    Provided Methods§

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( +

    Provided Methods§

    source

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, campaign_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID

    -

    Trait Implementations§

    §

    impl Clone for Box<dyn MCDatabase>

    §

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file +

    Trait Implementations§

    source§

    impl Clone for Box<dyn MCDatabase>

    source§

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/trait.Migrate.html b/db_sqlx_maria/dev/prelude/trait.Migrate.html index 8252a4f3..c07c8666 100644 --- a/db_sqlx_maria/dev/prelude/trait.Migrate.html +++ b/db_sqlx_maria/dev/prelude/trait.Migrate.html @@ -1,4 +1,4 @@ -Migrate in db_sqlx_maria::dev::prelude - Rust
    pub trait Migrate: MCDatabase {
    +Migrate in db_sqlx_maria::dev::prelude - Rust
    pub trait Migrate: MCDatabase {
         // Required method
         fn migrate<'life0, 'async_trait>(
             &'life0 self
    @@ -6,7 +6,7 @@
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    database migrations

    -

    Required Methods§

    fn migrate<'life0, 'async_trait>( +

    Required Methods§

    source

    fn migrate<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, diff --git a/db_sqlx_maria/dev/prelude/type.BoxDynError.html b/db_sqlx_maria/dev/prelude/type.BoxDynError.html index a75245df..a70d9b1f 100644 --- a/db_sqlx_maria/dev/prelude/type.BoxDynError.html +++ b/db_sqlx_maria/dev/prelude/type.BoxDynError.html @@ -1,2 +1,2 @@ -BoxDynError in db_sqlx_maria::dev::prelude - Rust
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    +BoxDynError in db_sqlx_maria::dev::prelude - Rust
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/type.DBResult.html b/db_sqlx_maria/dev/prelude/type.DBResult.html index 4c7220be..bcb10cd8 100644 --- a/db_sqlx_maria/dev/prelude/type.DBResult.html +++ b/db_sqlx_maria/dev/prelude/type.DBResult.html @@ -1,4 +1,4 @@ -DBResult in db_sqlx_maria::dev::prelude - Rust

    Type Alias db_sqlx_maria::dev::prelude::DBResult

    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    +DBResult in db_sqlx_maria::dev::prelude - Rust

    Type Alias db_sqlx_maria::dev::prelude::DBResult

    source ·
    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    Aliased Type§

    enum DBResult<V> {
         Ok(V),
         Err(DBError),
    diff --git a/db_sqlx_maria/dev/sidebar-items.js b/db_sqlx_maria/dev/sidebar-items.js
    index aad43365..3068de00 100644
    --- a/db_sqlx_maria/dev/sidebar-items.js
    +++ b/db_sqlx_maria/dev/sidebar-items.js
    @@ -1 +1 @@
    -window.SIDEBAR_ITEMS = {"attr":["async_trait"],"enum":["DBError","Error","Login"],"mod":["errors","ops","prelude","tests"],"struct":["AddNotification","Captcha","CreateCaptcha","CreatePerformanceAnalytics","Level","NameHash","Notification","PerformanceAnalytics","Register","Secret","StatsUnixTimestamp","TrafficPattern","UpdateEmail"],"trait":["CloneSPDatabase","Connect","DBOps","GetConnection","MCDatabase","Migrate"],"type":["BoxDynError","DBResult"]};
    \ No newline at end of file
    +window.SIDEBAR_ITEMS = {"attr":["async_trait"],"enum":["DBError","Error","Login"],"mod":["errors","ops","prelude","tests"],"struct":["AddNotification","Captcha","CreateCaptcha","CreatePerformanceAnalytics","EasyCaptcha","Level","NameHash","Notification","PerformanceAnalytics","Register","Secret","StatsUnixTimestamp","TrafficPattern","UpdateEmail"],"trait":["CloneSPDatabase","Connect","DBOps","GetConnection","MCDatabase","Migrate"],"type":["BoxDynError","DBResult"]};
    \ No newline at end of file
    diff --git a/db_sqlx_maria/dev/struct.AddNotification.html b/db_sqlx_maria/dev/struct.AddNotification.html
    index ff142fd3..1be060f6 100644
    --- a/db_sqlx_maria/dev/struct.AddNotification.html
    +++ b/db_sqlx_maria/dev/struct.AddNotification.html
    @@ -1,4 +1,4 @@
    -AddNotification in db_sqlx_maria::dev - Rust
    pub struct AddNotification<'a> {
    +AddNotification in db_sqlx_maria::dev - Rust
    pub struct AddNotification<'a> {
         pub to: &'a str,
         pub from: &'a str,
         pub heading: &'a str,
    @@ -8,17 +8,17 @@
     
    §from: &'a str

    notification sender

    §heading: &'a str

    heading of the notification

    §message: &'a str

    message of the notification

    -

    Trait Implementations§

    §

    impl<'a> Clone for AddNotification<'a>

    §

    fn clone(&self) -> AddNotification<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for AddNotification<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'a> Default for AddNotification<'a>

    §

    fn default() -> AddNotification<'a>

    Returns the “default value” for a type. Read more
    §

    impl<'de, 'a> Deserialize<'de> for AddNotification<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for AddNotification<'a>

    source§

    fn clone(&self) -> AddNotification<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for AddNotification<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for AddNotification<'a>

    source§

    fn default() -> AddNotification<'a>

    Returns the “default value” for a type. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for AddNotification<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<AddNotification<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for AddNotification<'a>

    §

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for AddNotification<'a>

    source§

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for AddNotification<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for AddNotification<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/struct.Captcha.html b/db_sqlx_maria/dev/struct.Captcha.html index 2649166c..e5a0658b 100644 --- a/db_sqlx_maria/dev/struct.Captcha.html +++ b/db_sqlx_maria/dev/struct.Captcha.html @@ -1,4 +1,4 @@ -Captcha in db_sqlx_maria::dev - Rust

    Struct db_sqlx_maria::dev::Captcha

    pub struct Captcha {
    +Captcha in db_sqlx_maria::dev - Rust

    Struct db_sqlx_maria::dev::Captcha

    source ·
    pub struct Captcha {
         pub config_id: i32,
         pub duration: i32,
         pub description: String,
    @@ -8,16 +8,16 @@
     
    §duration: i32

    cool down duration

    §description: String

    description of the captcha

    §key: String

    secret key of the captcha

    -

    Trait Implementations§

    §

    impl Clone for Captcha

    §

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Captcha

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Captcha

    §

    fn default() -> Captcha

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Captcha

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for Captcha

    source§

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Captcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Captcha

    source§

    fn default() -> Captcha

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Captcha

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Captcha, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Captcha

    §

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Captcha

    source§

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Captcha

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Captcha

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/struct.CreateCaptcha.html b/db_sqlx_maria/dev/struct.CreateCaptcha.html index 83864d0b..36b24e1e 100644 --- a/db_sqlx_maria/dev/struct.CreateCaptcha.html +++ b/db_sqlx_maria/dev/struct.CreateCaptcha.html @@ -1,4 +1,4 @@ -CreateCaptcha in db_sqlx_maria::dev - Rust

    Fields§

    §duration: i32

    cool down duration

    §description: &'a str

    description of the captcha

    §key: &'a str

    secret key of the captcha

    -

    Trait Implementations§

    §

    impl<'a> Clone for CreateCaptcha<'a>

    §

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for CreateCaptcha<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'a> Default for CreateCaptcha<'a>

    §

    fn default() -> CreateCaptcha<'a>

    Returns the “default value” for a type. Read more
    §

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for CreateCaptcha<'a>

    source§

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for CreateCaptcha<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for CreateCaptcha<'a>

    source§

    fn default() -> CreateCaptcha<'a>

    Returns the “default value” for a type. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<CreateCaptcha<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for CreateCaptcha<'a>

    §

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for CreateCaptcha<'a>

    source§

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for CreateCaptcha<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for CreateCaptcha<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/struct.CreatePerformanceAnalytics.html b/db_sqlx_maria/dev/struct.CreatePerformanceAnalytics.html index 7aed9fb5..16440ee8 100644 --- a/db_sqlx_maria/dev/struct.CreatePerformanceAnalytics.html +++ b/db_sqlx_maria/dev/struct.CreatePerformanceAnalytics.html @@ -1,4 +1,4 @@ -CreatePerformanceAnalytics in db_sqlx_maria::dev - Rust

    Fields§

    §time: u32

    time taken to generate proof

    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    §

    impl Clone for CreatePerformanceAnalytics

    §

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for CreatePerformanceAnalytics

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for CreatePerformanceAnalytics

    §

    fn default() -> CreatePerformanceAnalytics

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for CreatePerformanceAnalytics

    source§

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for CreatePerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for CreatePerformanceAnalytics

    source§

    fn default() -> CreatePerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<CreatePerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for CreatePerformanceAnalytics

    §

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for CreatePerformanceAnalytics

    source§

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for CreatePerformanceAnalytics

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for CreatePerformanceAnalytics

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/struct.EasyCaptcha.html b/db_sqlx_maria/dev/struct.EasyCaptcha.html new file mode 100644 index 00000000..eb8a8795 --- /dev/null +++ b/db_sqlx_maria/dev/struct.EasyCaptcha.html @@ -0,0 +1,38 @@ +EasyCaptcha in db_sqlx_maria::dev - Rust
    pub struct EasyCaptcha {
    +    pub traffic_pattern: TrafficPattern,
    +    pub key: String,
    +    pub description: String,
    +    pub username: String,
    +}
    Expand description

    Represents Easy captcha configuration

    +

    Fields§

    §traffic_pattern: TrafficPattern

    traffic pattern of easy captcha

    +
    §key: String

    captcha key/sitekey

    +
    §description: String

    captcha description

    +
    §username: String

    Owner of the captcha configuration

    +

    Trait Implementations§

    source§

    impl Clone for EasyCaptcha

    source§

    fn clone(&self) -> EasyCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for EasyCaptcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for EasyCaptcha

    source§

    fn default() -> EasyCaptcha

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for EasyCaptcha

    source§

    fn deserialize<__D>( + __deserializer: __D +) -> Result<EasyCaptcha, <__D as Deserializer<'de>>::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for EasyCaptcha

    source§

    fn eq(&self, other: &EasyCaptcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for EasyCaptcha

    source§

    fn serialize<__S>( + &self, + __serializer: __S +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for EasyCaptcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.NameHash.html b/db_sqlx_maria/dev/struct.NameHash.html index ef72e557..fab1366f 100644 --- a/db_sqlx_maria/dev/struct.NameHash.html +++ b/db_sqlx_maria/dev/struct.NameHash.html @@ -1,19 +1,19 @@ -NameHash in db_sqlx_maria::dev - Rust

    Struct db_sqlx_maria::dev::NameHash

    pub struct NameHash {
    +NameHash in db_sqlx_maria::dev - Rust

    Struct db_sqlx_maria::dev::NameHash

    source ·
    pub struct NameHash {
         pub username: String,
         pub hash: String,
     }
    Expand description

    type encapsulating username and hashed password of a user

    Fields§

    §username: String

    username

    §hash: String

    hashed password

    -

    Trait Implementations§

    §

    impl Clone for NameHash

    §

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for NameHash

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for NameHash

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for NameHash

    source§

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for NameHash

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for NameHash

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<NameHash, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for NameHash

    §

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for NameHash

    source§

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for NameHash

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for NameHash

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/struct.Notification.html b/db_sqlx_maria/dev/struct.Notification.html index 5e8ad096..f788a663 100644 --- a/db_sqlx_maria/dev/struct.Notification.html +++ b/db_sqlx_maria/dev/struct.Notification.html @@ -1,4 +1,4 @@ -Notification in db_sqlx_maria::dev - Rust
    pub struct Notification {
    +Notification in db_sqlx_maria::dev - Rust
    pub struct Notification {
         pub name: Option<String>,
         pub heading: Option<String>,
         pub message: Option<String>,
    @@ -10,16 +10,16 @@
     
    §message: Option<String>

    message of the notification

    §received: Option<i64>

    when notification was received

    §id: Option<i32>

    db assigned ID of the notification

    -

    Trait Implementations§

    §

    impl Clone for Notification

    §

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Notification

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Notification

    §

    fn default() -> Notification

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Notification

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for Notification

    source§

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Notification

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Notification

    source§

    fn default() -> Notification

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Notification

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Notification, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    §

    impl PartialEq for Notification

    §

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for Notification

    source§

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Notification

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Notification

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/struct.PerformanceAnalytics.html b/db_sqlx_maria/dev/struct.PerformanceAnalytics.html index 23f58dbf..f52cf618 100644 --- a/db_sqlx_maria/dev/struct.PerformanceAnalytics.html +++ b/db_sqlx_maria/dev/struct.PerformanceAnalytics.html @@ -1,4 +1,4 @@ -PerformanceAnalytics in db_sqlx_maria::dev - Rust
    pub struct PerformanceAnalytics {
    +PerformanceAnalytics in db_sqlx_maria::dev - Rust
    pub struct PerformanceAnalytics {
         pub id: usize,
         pub time: u32,
         pub difficulty_factor: u32,
    @@ -8,16 +8,16 @@
     
    §time: u32

    time taken to generate proof

    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    §

    impl Clone for PerformanceAnalytics

    §

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for PerformanceAnalytics

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for PerformanceAnalytics

    §

    fn default() -> PerformanceAnalytics

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for PerformanceAnalytics

    source§

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for PerformanceAnalytics

    source§

    fn default() -> PerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<PerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for PerformanceAnalytics

    §

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PerformanceAnalytics

    source§

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for PerformanceAnalytics

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for PerformanceAnalytics

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/struct.Register.html b/db_sqlx_maria/dev/struct.Register.html index dcb10b78..b6e82ee7 100644 --- a/db_sqlx_maria/dev/struct.Register.html +++ b/db_sqlx_maria/dev/struct.Register.html @@ -1,4 +1,4 @@ -Register in db_sqlx_maria::dev - Rust

    Struct db_sqlx_maria::dev::Register

    pub struct Register<'a> {
    +Register in db_sqlx_maria::dev - Rust

    Struct db_sqlx_maria::dev::Register

    source ·
    pub struct Register<'a> {
         pub username: &'a str,
         pub secret: &'a str,
         pub hash: &'a str,
    @@ -8,17 +8,17 @@
     
    §secret: &'a str

    secret of new user

    §hash: &'a str

    hashed password of new use

    §email: Option<&'a str>

    Optionally, email of new use

    -

    Trait Implementations§

    §

    impl<'a> Clone for Register<'a>

    §

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Register<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Register<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for Register<'a>

    source§

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Register<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Register<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Register<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Register<'a>

    §

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Register<'a>

    source§

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Register<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for Register<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/struct.Secret.html b/db_sqlx_maria/dev/struct.Secret.html index 3785eff1..a606aa69 100644 --- a/db_sqlx_maria/dev/struct.Secret.html +++ b/db_sqlx_maria/dev/struct.Secret.html @@ -1,17 +1,17 @@ -Secret in db_sqlx_maria::dev - Rust

    Struct db_sqlx_maria::dev::Secret

    pub struct Secret {
    +Secret in db_sqlx_maria::dev - Rust

    Struct db_sqlx_maria::dev::Secret

    source ·
    pub struct Secret {
         pub secret: String,
     }
    Expand description

    datastructure representing a user’s secret

    Fields§

    §secret: String

    user’s secret

    -

    Trait Implementations§

    §

    impl Clone for Secret

    §

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Secret

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Secret

    §

    fn default() -> Secret

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Secret

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for Secret

    source§

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Secret

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Secret

    source§

    fn default() -> Secret

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Secret

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Secret, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Secret

    §

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Secret

    source§

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Secret

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Secret

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/struct.StatsUnixTimestamp.html b/db_sqlx_maria/dev/struct.StatsUnixTimestamp.html index a9c91d52..fb3ceeb3 100644 --- a/db_sqlx_maria/dev/struct.StatsUnixTimestamp.html +++ b/db_sqlx_maria/dev/struct.StatsUnixTimestamp.html @@ -1,4 +1,4 @@ -StatsUnixTimestamp in db_sqlx_maria::dev - Rust

    Fields§

    §config_fetches: Vec<i64>

    times at which the configuration were fetched

    §solves: Vec<i64>

    times at which the PoW was solved

    §confirms: Vec<i64>

    times at which the PoW token was verified

    -

    Trait Implementations§

    §

    impl Clone for StatsUnixTimestamp

    §

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for StatsUnixTimestamp

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for StatsUnixTimestamp

    §

    fn default() -> StatsUnixTimestamp

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for StatsUnixTimestamp

    source§

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for StatsUnixTimestamp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for StatsUnixTimestamp

    source§

    fn default() -> StatsUnixTimestamp

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<StatsUnixTimestamp, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for StatsUnixTimestamp

    §

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for StatsUnixTimestamp

    source§

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for StatsUnixTimestamp

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for StatsUnixTimestamp

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    -

    Trait Implementations§

    §

    impl Clone for TrafficPattern

    §

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for TrafficPattern

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for TrafficPattern

    §

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for TrafficPattern

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for TrafficPattern

    source§

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TrafficPattern

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for TrafficPattern

    source§

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for TrafficPattern

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<TrafficPattern, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for TrafficPattern

    §

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for TrafficPattern

    source§

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for TrafficPattern

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for TrafficPattern

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/struct.UpdateEmail.html b/db_sqlx_maria/dev/struct.UpdateEmail.html index 7e8a2459..b1be96e4 100644 --- a/db_sqlx_maria/dev/struct.UpdateEmail.html +++ b/db_sqlx_maria/dev/struct.UpdateEmail.html @@ -1,20 +1,20 @@ -UpdateEmail in db_sqlx_maria::dev - Rust
    pub struct UpdateEmail<'a> {
    +UpdateEmail in db_sqlx_maria::dev - Rust
    pub struct UpdateEmail<'a> {
         pub username: &'a str,
         pub new_email: &'a str,
     }
    Expand description

    data required to update them email of a user

    Fields§

    §username: &'a str

    username of the user

    §new_email: &'a str

    new email address of the user

    -

    Trait Implementations§

    §

    impl<'a> Clone for UpdateEmail<'a>

    §

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for UpdateEmail<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for UpdateEmail<'a>

    source§

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for UpdateEmail<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<UpdateEmail<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for UpdateEmail<'a>

    §

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for UpdateEmail<'a>

    source§

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for UpdateEmail<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for UpdateEmail<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_maria/dev/tests/constant.LEVELS.html b/db_sqlx_maria/dev/tests/constant.LEVELS.html index d4206f83..53223957 100644 --- a/db_sqlx_maria/dev/tests/constant.LEVELS.html +++ b/db_sqlx_maria/dev/tests/constant.LEVELS.html @@ -1,2 +1,2 @@ -LEVELS in db_sqlx_maria::dev::tests - Rust

    Constant db_sqlx_maria::dev::tests::LEVELS

    pub const LEVELS: [Level; 3];
    Expand description

    levels for complex captcha config

    +LEVELS in db_sqlx_maria::dev::tests - Rust

    Constant db_sqlx_maria::dev::tests::LEVELS

    source ·
    pub const LEVELS: [Level; 3];
    Expand description

    levels for complex captcha config

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/tests/constant.TRAFFIC_PATTERN.html b/db_sqlx_maria/dev/tests/constant.TRAFFIC_PATTERN.html index 91833fd1..73503928 100644 --- a/db_sqlx_maria/dev/tests/constant.TRAFFIC_PATTERN.html +++ b/db_sqlx_maria/dev/tests/constant.TRAFFIC_PATTERN.html @@ -1,2 +1,2 @@ -TRAFFIC_PATTERN in db_sqlx_maria::dev::tests - Rust
    pub const TRAFFIC_PATTERN: TrafficPattern;
    Expand description

    easy traffic pattern

    +TRAFFIC_PATTERN in db_sqlx_maria::dev::tests - Rust
    pub const TRAFFIC_PATTERN: TrafficPattern;
    Expand description

    easy traffic pattern

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/tests/fn.database_works.html b/db_sqlx_maria/dev/tests/fn.database_works.html index 2fa6f226..a632167b 100644 --- a/db_sqlx_maria/dev/tests/fn.database_works.html +++ b/db_sqlx_maria/dev/tests/fn.database_works.html @@ -1,4 +1,4 @@ -database_works in db_sqlx_maria::dev::tests - Rust
    pub async fn database_works<T, 'a>(
    +database_works in db_sqlx_maria::dev::tests - Rust
    pub async fn database_works<T, 'a>(
         db: &T,
         p: &Register<'a>,
         c: &CreateCaptcha<'a>,
    diff --git a/db_sqlx_maria/dev/tests/index.html b/db_sqlx_maria/dev/tests/index.html
    index 819fa407..d29f3c95 100644
    --- a/db_sqlx_maria/dev/tests/index.html
    +++ b/db_sqlx_maria/dev/tests/index.html
    @@ -1,2 +1,2 @@
    -db_sqlx_maria::dev::tests - Rust

    Module db_sqlx_maria::dev::tests

    Expand description

    Test utilities

    +db_sqlx_maria::dev::tests - Rust

    Module db_sqlx_maria::dev::tests

    source ·
    Expand description

    Test utilities

    Constants

    Functions

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/trait.CloneSPDatabase.html b/db_sqlx_maria/dev/trait.CloneSPDatabase.html index 3c8efe4e..61583984 100644 --- a/db_sqlx_maria/dev/trait.CloneSPDatabase.html +++ b/db_sqlx_maria/dev/trait.CloneSPDatabase.html @@ -1,7 +1,7 @@ -CloneSPDatabase in db_sqlx_maria::dev - Rust
    pub trait CloneSPDatabase {
    +CloneSPDatabase in db_sqlx_maria::dev - Rust
    pub trait CloneSPDatabase {
         // Required method
         fn clone_db(&self) -> Box<dyn MCDatabase>;
     }
    Expand description

    Trait to clone MCDatabase

    -

    Required Methods§

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    -

    Implementors§

    §

    impl<T> CloneSPDatabase for Twhere +

    Required Methods§

    source

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    +

    Implementors§

    source§

    impl<T> CloneSPDatabase for Twhere T: MCDatabase + Clone + 'static,

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/trait.Connect.html b/db_sqlx_maria/dev/trait.Connect.html index bf9df76c..720c685f 100644 --- a/db_sqlx_maria/dev/trait.Connect.html +++ b/db_sqlx_maria/dev/trait.Connect.html @@ -1,4 +1,4 @@ -Connect in db_sqlx_maria::dev - Rust
    pub trait Connect {
    +Connect in db_sqlx_maria::dev - Rust
    pub trait Connect {
         type Pool: MCDatabase;
     
         // Required method
    @@ -7,8 +7,8 @@
         ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
            where Self: 'async_trait;
     }
    Expand description

    Create database connection

    -

    Required Associated Types§

    type Pool: MCDatabase

    database specific pool-type

    -

    Required Methods§

    fn connect<'async_trait>( +

    Required Associated Types§

    source

    type Pool: MCDatabase

    database specific pool-type

    +

    Required Methods§

    source

    fn connect<'async_trait>( self ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>where Self: 'async_trait,

    database specific error-type diff --git a/db_sqlx_maria/dev/trait.DBOps.html b/db_sqlx_maria/dev/trait.DBOps.html index c2ceb164..d96d8365 100644 --- a/db_sqlx_maria/dev/trait.DBOps.html +++ b/db_sqlx_maria/dev/trait.DBOps.html @@ -1,2 +1,2 @@ -DBOps in db_sqlx_maria::dev - Rust

    Trait db_sqlx_maria::dev::DBOps

    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    +DBOps in db_sqlx_maria::dev - Rust

    Trait db_sqlx_maria::dev::DBOps

    source ·
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/trait.GetConnection.html b/db_sqlx_maria/dev/trait.GetConnection.html index 93f02895..be0c934b 100644 --- a/db_sqlx_maria/dev/trait.GetConnection.html +++ b/db_sqlx_maria/dev/trait.GetConnection.html @@ -1,4 +1,4 @@ -GetConnection in db_sqlx_maria::dev - Rust
    pub trait GetConnection {
    +GetConnection in db_sqlx_maria::dev - Rust
    pub trait GetConnection {
         type Conn;
     
         // Required method
    @@ -8,8 +8,8 @@
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    Get database connection

    -

    Required Associated Types§

    type Conn

    database connection type

    -

    Required Methods§

    fn get_conn<'life0, 'async_trait>( +

    Required Associated Types§

    source

    type Conn

    database connection type

    +

    Required Methods§

    source

    fn get_conn<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, diff --git a/db_sqlx_maria/dev/trait.MCDatabase.html b/db_sqlx_maria/dev/trait.MCDatabase.html index e4c22ac0..df36949f 100644 --- a/db_sqlx_maria/dev/trait.MCDatabase.html +++ b/db_sqlx_maria/dev/trait.MCDatabase.html @@ -1,5 +1,5 @@ -MCDatabase in db_sqlx_maria::dev - Rust
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
    -
    Show 48 methods // Required methods +MCDatabase in db_sqlx_maria::dev - Rust
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
    +
    Show 49 methods // Required methods fn ping<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> @@ -212,6 +212,13 @@ 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; + fn get_all_easy_captchas<'life0, 'async_trait>( + &'life0 self, + limit: usize, + offset: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>> + where 'life0: 'async_trait, + Self: 'async_trait; fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, @@ -384,68 +391,68 @@ Self: 'async_trait { ... }
    }
    Expand description

    mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

    -

    Required Methods§

    fn ping<'life0, 'async_trait>( +

    Required Methods§

    source

    fn ping<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,

    ping DB

    -

    fn register<'life0, 'life1, 'async_trait>( +

    source

    fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    register a new user

    -

    fn delete_user<'life0, 'life1, 'async_trait>( +

    source

    fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    delete a user

    -

    fn username_exists<'life0, 'life1, 'async_trait>( +

    source

    fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    check if username exists

    -

    fn get_email<'life0, 'life1, 'async_trait>( +

    source

    fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get user email

    -

    fn email_exists<'life0, 'life1, 'async_trait>( +

    source

    fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, email: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    check if email exists

    -

    fn update_email<'life0, 'life1, 'async_trait>( +

    source

    fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    update a user’s email

    -

    fn get_password<'life0, 'life1, 'async_trait>( +

    source

    fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get a user’s password

    -

    fn update_password<'life0, 'life1, 'async_trait>( +

    source

    fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    update user’s password

    -

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, current: &'life1 str, new: &'life2 str @@ -454,21 +461,21 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    update username

    -

    fn get_secret<'life0, 'life1, 'async_trait>( +

    source

    fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get a user’s secret

    -

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( +

    source

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get a user’s secret from a captcha key

    -

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, secret: &'life2 str @@ -477,7 +484,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    update a user’s secret

    -

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, p: &'life2 CreateCaptcha<'_> @@ -486,7 +493,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    create new captcha

    -

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, key: &'life2 str @@ -495,14 +502,14 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Get captcha config

    -

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( +

    source

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get all captchas belonging to user

    -

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, p: &'life2 CreateCaptcha<'_> @@ -511,7 +518,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    -

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( +

    source

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, username: &'life1 str, old_key: &'life2 str, @@ -522,7 +529,7 @@ trait.

    'life2: 'async_trait, 'life3: 'async_trait, Self: 'async_trait,

    update captcha key; doesn’t change metadata

    -

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( +

    source

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str, @@ -533,7 +540,7 @@ trait.

    'life2: 'async_trait, 'life3: 'async_trait, Self: 'async_trait,

    Add levels to captcha

    -

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: Option<&'life1 str>, captcha_key: &'life2 str @@ -542,7 +549,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    check if captcha exists

    -

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -551,7 +558,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Delete all levels of a captcha

    -

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -560,7 +567,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Delete captcha

    -

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: Option<&'life1 str>, captcha_key: &'life2 str @@ -569,14 +576,14 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Get captcha levels

    -

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( +

    source

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get captcha’s cooldown period

    -

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( +

    source

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str, @@ -587,7 +594,7 @@ trait.

    'life2: 'async_trait, 'life3: 'async_trait, Self: 'async_trait,

    Add traffic configuration

    -

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -596,7 +603,14 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Get traffic configuration

    -

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_all_easy_captchas<'life0, 'async_trait>( + &'life0 self, + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>>where + 'life0: 'async_trait, + Self: 'async_trait,

    Get all easy captcha configurations on instance

    +
    source

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -605,21 +619,21 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Delete traffic configuration

    -

    fn create_notification<'life0, 'life1, 'async_trait>( +

    source

    fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    create new notification

    -

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( +

    source

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get all unread notifications

    -

    fn mark_notification_read<'life0, 'life1, 'async_trait>( +

    source

    fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str, id: i32 @@ -627,28 +641,28 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    mark a notification read

    -

    fn record_fetch<'life0, 'life1, 'async_trait>( +

    source

    fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    record PoWConfig fetches

    -

    fn record_solve<'life0, 'life1, 'async_trait>( +

    source

    fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    record PoWConfig solves

    -

    fn record_confirm<'life0, 'life1, 'async_trait>( +

    source

    fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    record PoWConfig confirms

    -

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -657,7 +671,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    fetch PoWConfig fetches

    -

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -666,7 +680,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    fetch PoWConfig solves

    -

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -675,7 +689,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    fetch PoWConfig confirms

    -

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics @@ -684,7 +698,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    record PoW timing

    -

    fn analytics_fetch<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str, limit: usize, @@ -693,41 +707,41 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    fetch PoW analytics

    -

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    -

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get psuedo ID from campaign ID

    -

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, psuedo_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get campaign ID from psuedo ID

    -

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, campaign_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Delete all records for campaign

    -

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( +

    source

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, page: usize ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,

    Get all psuedo IDs

    -

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( +

    source

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str, difficulty_factor: u32, @@ -736,7 +750,7 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Track maximum nonce received against captcha levels

    -

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( +

    source

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str, difficulty_factor: u32 @@ -744,13 +758,13 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    -

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( +

    source

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, duration: u32 ) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,

    Get number of analytics entries that are under a certain duration

    -

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( +

    source

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, duration: u32, location: u32 @@ -758,11 +772,11 @@ trait.

    'life0: 'async_trait, Self: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit and sorted in ascending order

    -

    Provided Methods§

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( +

    Provided Methods§

    source

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, campaign_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID

    -

    Trait Implementations§

    §

    impl Clone for Box<dyn MCDatabase>

    §

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file +

    Trait Implementations§

    source§

    impl Clone for Box<dyn MCDatabase>

    source§

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_maria/dev/trait.Migrate.html b/db_sqlx_maria/dev/trait.Migrate.html index 7664a5be..906a61f5 100644 --- a/db_sqlx_maria/dev/trait.Migrate.html +++ b/db_sqlx_maria/dev/trait.Migrate.html @@ -1,4 +1,4 @@ -Migrate in db_sqlx_maria::dev - Rust
    pub trait Migrate: MCDatabase {
    +Migrate in db_sqlx_maria::dev - Rust
    pub trait Migrate: MCDatabase {
         // Required method
         fn migrate<'life0, 'async_trait>(
             &'life0 self
    @@ -6,7 +6,7 @@
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    database migrations

    -

    Required Methods§

    fn migrate<'life0, 'async_trait>( +

    Required Methods§

    source

    fn migrate<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, diff --git a/db_sqlx_maria/dev/type.BoxDynError.html b/db_sqlx_maria/dev/type.BoxDynError.html index ab20f9cb..c451fd1f 100644 --- a/db_sqlx_maria/dev/type.BoxDynError.html +++ b/db_sqlx_maria/dev/type.BoxDynError.html @@ -1,2 +1,2 @@ -BoxDynError in db_sqlx_maria::dev - Rust

    Type Alias db_sqlx_maria::dev::BoxDynError

    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    +BoxDynError in db_sqlx_maria::dev - Rust

    Type Alias db_sqlx_maria::dev::BoxDynError

    source ·
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file diff --git a/db_sqlx_maria/dev/type.DBResult.html b/db_sqlx_maria/dev/type.DBResult.html index 5ed6de31..95fee184 100644 --- a/db_sqlx_maria/dev/type.DBResult.html +++ b/db_sqlx_maria/dev/type.DBResult.html @@ -1,4 +1,4 @@ -DBResult in db_sqlx_maria::dev - Rust

    Type Alias db_sqlx_maria::dev::DBResult

    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    +DBResult in db_sqlx_maria::dev - Rust

    Type Alias db_sqlx_maria::dev::DBResult

    source ·
    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    Aliased Type§

    enum DBResult<V> {
         Ok(V),
         Err(DBError),
    diff --git a/db_sqlx_maria/index.html b/db_sqlx_maria/index.html
    index bf4eb7b4..04e9045b 100644
    --- a/db_sqlx_maria/index.html
    +++ b/db_sqlx_maria/index.html
    @@ -1,2 +1,2 @@
     db_sqlx_maria - Rust

    Crate db_sqlx_maria

    source ·

    Modules

    Structs

    Enums

    \ No newline at end of file +
  • All Items
  • Crate db_sqlx_maria

    source ·

    Modules

    Structs

    Enums

    \ No newline at end of file diff --git a/db_sqlx_maria/struct.Database.html b/db_sqlx_maria/struct.Database.html index 268eb8cd..75c5be49 100644 --- a/db_sqlx_maria/struct.Database.html +++ b/db_sqlx_maria/struct.Database.html @@ -1,6 +1,6 @@ Database in db_sqlx_maria - Rust

    Struct db_sqlx_maria::Database

    source ·
    pub struct Database {
         pub pool: MySqlPool,
    -}

    Fields§

    §pool: MySqlPool

    Trait Implementations§

    source§

    impl Clone for Database

    source§

    fn clone(&self) -> Database

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl MCDatabase for Database

    source§

    fn ping<'life0, 'async_trait>( +}

    Fields§

    §pool: MySqlPool

    Trait Implementations§

    source§

    impl Clone for Database

    source§

    fn clone(&self) -> Database

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl MCDatabase for Database

    source§

    fn ping<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where Self: 'async_trait, @@ -367,13 +367,20 @@ Self: 'async_trait, 'life0: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limited and sorted in ascending order

    +
    source§

    fn get_all_easy_captchas<'life0, 'async_trait>( + &'life0 self, + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = DBResult<Vec<EasyCaptcha>>> + Send + 'async_trait>>where + Self: 'async_trait, + 'life0: 'async_trait,

    Get all easy captcha configurations on instance

    source§

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, campaign_id: &'life1 str ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Delete all records for campaign
    §

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( + 'life1: 'async_trait,

    Delete all records for campaign
    source§

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, campaign_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where @@ -387,8 +394,8 @@ and sorted in ascending order

    run migrations

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CloneSPDatabase for Twhere - T: MCDatabase + Clone + 'static,

    §

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + T: ?Sized,
    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneSPDatabase for Twhere + T: MCDatabase + Clone + 'static,

    source§

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere diff --git a/db_sqlx_maria/struct.InnerNotification.html b/db_sqlx_maria/struct.InnerNotification.html index 0303cd12..ab199574 100644 --- a/db_sqlx_maria/struct.InnerNotification.html +++ b/db_sqlx_maria/struct.InnerNotification.html @@ -1,4 +1,4 @@ -InnerNotification in db_sqlx_maria - Rust
    pub struct InnerNotification {
    +InnerNotification in db_sqlx_maria - Rust
    pub struct InnerNotification {
         pub name: String,
         pub heading: String,
         pub message: String,
    @@ -10,9 +10,9 @@
     
    §message: String

    message of the notification

    §received: OffsetDateTime

    when notification was received

    §id: i32

    db assigned ID of the notification

    -

    Trait Implementations§

    source§

    impl Clone for InnerNotification

    source§

    fn clone(&self) -> InnerNotification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for InnerNotification

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for InnerNotification

    source§

    fn eq(&self, other: &InnerNotification) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for InnerNotification

    source§

    fn clone(&self) -> InnerNotification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for InnerNotification

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for InnerNotification

    source§

    fn eq(&self, other: &InnerNotification) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl StructuralPartialEq for InnerNotification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl StructuralPartialEq for InnerNotification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/all.html b/db_sqlx_postgres/all.html index 22ee35ec..6a07badb 100644 --- a/db_sqlx_postgres/all.html +++ b/db_sqlx_postgres/all.html @@ -1 +1 @@ -List of all items in this crate

    List of all items

    Structs

    Enums

    Traits

    Attribute Macros

    Functions

    Type Aliases

    Constants

    \ No newline at end of file +List of all items in this crate

    List of all items

    Structs

    Enums

    Traits

    Attribute Macros

    Functions

    Type Aliases

    Constants

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/enum.DBError.html b/db_sqlx_postgres/dev/enum.DBError.html index 554161a9..ed24f37b 100644 --- a/db_sqlx_postgres/dev/enum.DBError.html +++ b/db_sqlx_postgres/dev/enum.DBError.html @@ -1,4 +1,4 @@ -DBError in db_sqlx_postgres::dev - Rust

    Trait Implementations§

    §

    impl Debug for DBError

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Display for DBError

    §

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Error for DBError

    §

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Trait Implementations§

    source§

    impl Debug for DBError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for DBError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Error for DBError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/enum.Login.html b/db_sqlx_postgres/dev/enum.Login.html index ac2a7e1b..c9855ef6 100644 --- a/db_sqlx_postgres/dev/enum.Login.html +++ b/db_sqlx_postgres/dev/enum.Login.html @@ -1,20 +1,20 @@ -Login in db_sqlx_postgres::dev - Rust
    pub enum Login<'a> {
    +Login in db_sqlx_postgres::dev - Rust
    pub enum Login<'a> {
         Username(&'a str),
         Email(&'a str),
     }
    Expand description

    types of credentials used as identifiers during login

    Variants§

    §

    Username(&'a str)

    username as login

    §

    Email(&'a str)

    email as login

    -

    Trait Implementations§

    §

    impl<'a> Clone for Login<'a>

    §

    fn clone(&self) -> Login<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Login<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Login<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for Login<'a>

    source§

    fn clone(&self) -> Login<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Login<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Login<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Login<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Login<'a>

    §

    fn eq(&self, other: &Login<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Login<'a>

    source§

    fn eq(&self, other: &Login<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Login<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for Login<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/errors/enum.DBError.html b/db_sqlx_postgres/dev/errors/enum.DBError.html index 5e2883d0..0f312c29 100644 --- a/db_sqlx_postgres/dev/errors/enum.DBError.html +++ b/db_sqlx_postgres/dev/errors/enum.DBError.html @@ -1,4 +1,4 @@ -DBError in db_sqlx_postgres::dev::errors - Rust

    Trait Implementations§

    §

    impl Debug for DBError

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Display for DBError

    §

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Error for DBError

    §

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Trait Implementations§

    source§

    impl Debug for DBError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for DBError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Error for DBError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/errors/index.html b/db_sqlx_postgres/dev/errors/index.html index c0ff9f92..003091d7 100644 --- a/db_sqlx_postgres/dev/errors/index.html +++ b/db_sqlx_postgres/dev/errors/index.html @@ -1,2 +1,2 @@ -db_sqlx_postgres::dev::errors - Rust
    Expand description

    represents all the ways a trait can fail using this crate

    +db_sqlx_postgres::dev::errors - Rust
    Expand description

    represents all the ways a trait can fail using this crate

    Enums

    • Error data structure grouping various error subtypes

    Type Aliases

    • Convenience type alias for grouping driver-specific errors
    • Generic result data structure
    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/errors/type.BoxDynError.html b/db_sqlx_postgres/dev/errors/type.BoxDynError.html index a705736e..442b2431 100644 --- a/db_sqlx_postgres/dev/errors/type.BoxDynError.html +++ b/db_sqlx_postgres/dev/errors/type.BoxDynError.html @@ -1,2 +1,2 @@ -BoxDynError in db_sqlx_postgres::dev::errors - Rust
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    +BoxDynError in db_sqlx_postgres::dev::errors - Rust
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/errors/type.DBResult.html b/db_sqlx_postgres/dev/errors/type.DBResult.html index 48d8b839..4497e697 100644 --- a/db_sqlx_postgres/dev/errors/type.DBResult.html +++ b/db_sqlx_postgres/dev/errors/type.DBResult.html @@ -1,4 +1,4 @@ -DBResult in db_sqlx_postgres::dev::errors - Rust

    Type Alias db_sqlx_postgres::dev::errors::DBResult

    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    +DBResult in db_sqlx_postgres::dev::errors - Rust

    Type Alias db_sqlx_postgres::dev::errors::DBResult

    source ·
    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    Aliased Type§

    enum DBResult<V> {
         Ok(V),
         Err(DBError),
    diff --git a/db_sqlx_postgres/dev/index.html b/db_sqlx_postgres/dev/index.html
    index 02b42e61..0a0a5f1d 100644
    --- a/db_sqlx_postgres/dev/index.html
    +++ b/db_sqlx_postgres/dev/index.html
    @@ -1,2 +1,2 @@
    -db_sqlx_postgres::dev - Rust

    Module db_sqlx_postgres::dev

    source ·

    Re-exports

    Modules

    • represents all the ways a trait can fail using this crate
    • meta operations like migration and connecting to a database
    • useful imports for users working with a supported database
    • Test utilities

    Structs

    Enums

    • Error data structure grouping various error subtypes
    • Represents all the ways a method can fail within SQLx.
    • types of credentials used as identifiers during login

    Traits

    source§

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/dev/index.html b/db_sqlx_postgres/dev/prelude/dev/index.html index a0b15d80..32097188 100644 --- a/db_sqlx_postgres/dev/prelude/dev/index.html +++ b/db_sqlx_postgres/dev/prelude/dev/index.html @@ -1,3 +1,3 @@ -db_sqlx_postgres::dev::prelude::dev - Rust
    Expand description

    useful imports for supporting a new database

    -

    Structs

    Enums

    • Error data structure grouping various error subtypes
    • types of credentials used as identifiers during login

    Traits

    source§

    impl<'a> PartialEq for AddNotification<'a>

    source§

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for AddNotification<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for AddNotification<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.Captcha.html b/db_sqlx_postgres/dev/prelude/dev/struct.Captcha.html index 112d24c6..3f127718 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.Captcha.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.Captcha.html @@ -1,4 +1,4 @@ -Captcha in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct Captcha {
    +Captcha in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct Captcha {
         pub config_id: i32,
         pub duration: i32,
         pub description: String,
    @@ -8,16 +8,16 @@
     
    §duration: i32

    cool down duration

    §description: String

    description of the captcha

    §key: String

    secret key of the captcha

    -

    Trait Implementations§

    §

    impl Clone for Captcha

    §

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Captcha

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Captcha

    §

    fn default() -> Captcha

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Captcha

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for Captcha

    source§

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Captcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Captcha

    source§

    fn default() -> Captcha

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Captcha

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Captcha, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Captcha

    §

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Captcha

    source§

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Captcha

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Captcha

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.CreateCaptcha.html b/db_sqlx_postgres/dev/prelude/dev/struct.CreateCaptcha.html index f7c4890a..47ac3d9c 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.CreateCaptcha.html @@ -1,4 +1,4 @@ -CreateCaptcha in db_sqlx_postgres::dev::prelude::dev - Rust

    Fields§

    §duration: i32

    cool down duration

    §description: &'a str

    description of the captcha

    §key: &'a str

    secret key of the captcha

    -

    Trait Implementations§

    §

    impl<'a> Clone for CreateCaptcha<'a>

    §

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for CreateCaptcha<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'a> Default for CreateCaptcha<'a>

    §

    fn default() -> CreateCaptcha<'a>

    Returns the “default value” for a type. Read more
    §

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for CreateCaptcha<'a>

    source§

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for CreateCaptcha<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for CreateCaptcha<'a>

    source§

    fn default() -> CreateCaptcha<'a>

    Returns the “default value” for a type. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<CreateCaptcha<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for CreateCaptcha<'a>

    §

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for CreateCaptcha<'a>

    source§

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for CreateCaptcha<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for CreateCaptcha<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.CreatePerformanceAnalytics.html b/db_sqlx_postgres/dev/prelude/dev/struct.CreatePerformanceAnalytics.html index 47405f45..e36d8d74 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.CreatePerformanceAnalytics.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.CreatePerformanceAnalytics.html @@ -1,4 +1,4 @@ -CreatePerformanceAnalytics in db_sqlx_postgres::dev::prelude::dev - Rust

    Fields§

    §time: u32

    time taken to generate proof

    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    §

    impl Clone for CreatePerformanceAnalytics

    §

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for CreatePerformanceAnalytics

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for CreatePerformanceAnalytics

    §

    fn default() -> CreatePerformanceAnalytics

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for CreatePerformanceAnalytics

    source§

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for CreatePerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for CreatePerformanceAnalytics

    source§

    fn default() -> CreatePerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<CreatePerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for CreatePerformanceAnalytics

    §

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for CreatePerformanceAnalytics

    source§

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for CreatePerformanceAnalytics

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for CreatePerformanceAnalytics

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.EasyCaptcha.html b/db_sqlx_postgres/dev/prelude/dev/struct.EasyCaptcha.html new file mode 100644 index 00000000..e8dc2ef9 --- /dev/null +++ b/db_sqlx_postgres/dev/prelude/dev/struct.EasyCaptcha.html @@ -0,0 +1,38 @@ +EasyCaptcha in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct EasyCaptcha {
    +    pub traffic_pattern: TrafficPattern,
    +    pub key: String,
    +    pub description: String,
    +    pub username: String,
    +}
    Expand description

    Represents Easy captcha configuration

    +

    Fields§

    §traffic_pattern: TrafficPattern

    traffic pattern of easy captcha

    +
    §key: String

    captcha key/sitekey

    +
    §description: String

    captcha description

    +
    §username: String

    Owner of the captcha configuration

    +

    Trait Implementations§

    source§

    impl Clone for EasyCaptcha

    source§

    fn clone(&self) -> EasyCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for EasyCaptcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for EasyCaptcha

    source§

    fn default() -> EasyCaptcha

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for EasyCaptcha

    source§

    fn deserialize<__D>( + __deserializer: __D +) -> Result<EasyCaptcha, <__D as Deserializer<'de>>::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for EasyCaptcha

    source§

    fn eq(&self, other: &EasyCaptcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for EasyCaptcha

    source§

    fn serialize<__S>( + &self, + __serializer: __S +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for EasyCaptcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.NameHash.html b/db_sqlx_postgres/dev/prelude/dev/struct.NameHash.html index 26002e2b..e6af1028 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.NameHash.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.NameHash.html @@ -1,19 +1,19 @@ -NameHash in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct NameHash {
    +NameHash in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct NameHash {
         pub username: String,
         pub hash: String,
     }
    Expand description

    type encapsulating username and hashed password of a user

    Fields§

    §username: String

    username

    §hash: String

    hashed password

    -

    Trait Implementations§

    §

    impl Clone for NameHash

    §

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for NameHash

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for NameHash

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for NameHash

    source§

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for NameHash

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for NameHash

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<NameHash, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for NameHash

    §

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for NameHash

    source§

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for NameHash

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for NameHash

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.Notification.html b/db_sqlx_postgres/dev/prelude/dev/struct.Notification.html index 4d9372a3..d5acd2bb 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.Notification.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.Notification.html @@ -1,4 +1,4 @@ -Notification in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct Notification {
    +Notification in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct Notification {
         pub name: Option<String>,
         pub heading: Option<String>,
         pub message: Option<String>,
    @@ -10,16 +10,16 @@
     
    §message: Option<String>

    message of the notification

    §received: Option<i64>

    when notification was received

    §id: Option<i32>

    db assigned ID of the notification

    -

    Trait Implementations§

    §

    impl Clone for Notification

    §

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Notification

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Notification

    §

    fn default() -> Notification

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Notification

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for Notification

    source§

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Notification

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Notification

    source§

    fn default() -> Notification

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Notification

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Notification, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    §

    impl PartialEq for Notification

    §

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for Notification

    source§

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Notification

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Notification

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.PerformanceAnalytics.html b/db_sqlx_postgres/dev/prelude/dev/struct.PerformanceAnalytics.html index f303d0ec..8abc91f3 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.PerformanceAnalytics.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.PerformanceAnalytics.html @@ -1,4 +1,4 @@ -PerformanceAnalytics in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct PerformanceAnalytics {
    +PerformanceAnalytics in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct PerformanceAnalytics {
         pub id: usize,
         pub time: u32,
         pub difficulty_factor: u32,
    @@ -8,16 +8,16 @@
     
    §time: u32

    time taken to generate proof

    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    §

    impl Clone for PerformanceAnalytics

    §

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for PerformanceAnalytics

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for PerformanceAnalytics

    §

    fn default() -> PerformanceAnalytics

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for PerformanceAnalytics

    source§

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for PerformanceAnalytics

    source§

    fn default() -> PerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<PerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for PerformanceAnalytics

    §

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PerformanceAnalytics

    source§

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for PerformanceAnalytics

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for PerformanceAnalytics

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.Register.html b/db_sqlx_postgres/dev/prelude/dev/struct.Register.html index 0aaba914..c00e095b 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.Register.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.Register.html @@ -1,4 +1,4 @@ -Register in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct Register<'a> {
    +Register in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct Register<'a> {
         pub username: &'a str,
         pub secret: &'a str,
         pub hash: &'a str,
    @@ -8,17 +8,17 @@
     
    §secret: &'a str

    secret of new user

    §hash: &'a str

    hashed password of new use

    §email: Option<&'a str>

    Optionally, email of new use

    -

    Trait Implementations§

    §

    impl<'a> Clone for Register<'a>

    §

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Register<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Register<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for Register<'a>

    source§

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Register<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Register<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Register<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Register<'a>

    §

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Register<'a>

    source§

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Register<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for Register<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.Secret.html b/db_sqlx_postgres/dev/prelude/dev/struct.Secret.html index 832e1373..e5406c77 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.Secret.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.Secret.html @@ -1,17 +1,17 @@ -Secret in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct Secret {
    +Secret in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct Secret {
         pub secret: String,
     }
    Expand description

    datastructure representing a user’s secret

    Fields§

    §secret: String

    user’s secret

    -

    Trait Implementations§

    §

    impl Clone for Secret

    §

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Secret

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Secret

    §

    fn default() -> Secret

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Secret

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for Secret

    source§

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Secret

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Secret

    source§

    fn default() -> Secret

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Secret

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Secret, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Secret

    §

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Secret

    source§

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Secret

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Secret

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/dev/prelude/dev/struct.StatsUnixTimestamp.html index bd07a525..83d0c5a9 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.StatsUnixTimestamp.html @@ -1,4 +1,4 @@ -StatsUnixTimestamp in db_sqlx_postgres::dev::prelude::dev - Rust

    Fields§

    §config_fetches: Vec<i64>

    times at which the configuration were fetched

    §solves: Vec<i64>

    times at which the PoW was solved

    §confirms: Vec<i64>

    times at which the PoW token was verified

    -

    Trait Implementations§

    §

    impl Clone for StatsUnixTimestamp

    §

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for StatsUnixTimestamp

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for StatsUnixTimestamp

    §

    fn default() -> StatsUnixTimestamp

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for StatsUnixTimestamp

    source§

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for StatsUnixTimestamp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for StatsUnixTimestamp

    source§

    fn default() -> StatsUnixTimestamp

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<StatsUnixTimestamp, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for StatsUnixTimestamp

    §

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for StatsUnixTimestamp

    source§

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for StatsUnixTimestamp

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for StatsUnixTimestamp

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.TrafficPattern.html b/db_sqlx_postgres/dev/prelude/dev/struct.TrafficPattern.html index 383c53ac..9e4fa6ef 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.TrafficPattern.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.TrafficPattern.html @@ -1,4 +1,4 @@ -TrafficPattern in db_sqlx_postgres::dev::prelude::dev - Rust

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    -

    Trait Implementations§

    §

    impl Clone for TrafficPattern

    §

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for TrafficPattern

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for TrafficPattern

    §

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for TrafficPattern

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for TrafficPattern

    source§

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TrafficPattern

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for TrafficPattern

    source§

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for TrafficPattern

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<TrafficPattern, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for TrafficPattern

    §

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for TrafficPattern

    source§

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for TrafficPattern

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for TrafficPattern

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.UpdateEmail.html b/db_sqlx_postgres/dev/prelude/dev/struct.UpdateEmail.html index f87aac06..e0c5025c 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.UpdateEmail.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.UpdateEmail.html @@ -1,20 +1,20 @@ -UpdateEmail in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct UpdateEmail<'a> {
    +UpdateEmail in db_sqlx_postgres::dev::prelude::dev - Rust
    pub struct UpdateEmail<'a> {
         pub username: &'a str,
         pub new_email: &'a str,
     }
    Expand description

    data required to update them email of a user

    Fields§

    §username: &'a str

    username of the user

    §new_email: &'a str

    new email address of the user

    -

    Trait Implementations§

    §

    impl<'a> Clone for UpdateEmail<'a>

    §

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for UpdateEmail<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for UpdateEmail<'a>

    source§

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for UpdateEmail<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<UpdateEmail<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for UpdateEmail<'a>

    §

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for UpdateEmail<'a>

    source§

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for UpdateEmail<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for UpdateEmail<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.CloneSPDatabase.html b/db_sqlx_postgres/dev/prelude/dev/trait.CloneSPDatabase.html index f5f7515e..b75c906f 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.CloneSPDatabase.html @@ -1,7 +1,7 @@ -CloneSPDatabase in db_sqlx_postgres::dev::prelude::dev - Rust
    pub trait CloneSPDatabase {
    +CloneSPDatabase in db_sqlx_postgres::dev::prelude::dev - Rust
    pub trait CloneSPDatabase {
         // Required method
         fn clone_db(&self) -> Box<dyn MCDatabase>;
     }
    Expand description

    Trait to clone MCDatabase

    -

    Required Methods§

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    -

    Implementors§

    §

    impl<T> CloneSPDatabase for Twhere +

    Required Methods§

    source

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    +

    Implementors§

    source§

    impl<T> CloneSPDatabase for Twhere T: MCDatabase + Clone + 'static,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.Connect.html b/db_sqlx_postgres/dev/prelude/dev/trait.Connect.html index 2f62456f..40362f80 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.Connect.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.Connect.html @@ -1,4 +1,4 @@ -Connect in db_sqlx_postgres::dev::prelude::dev - Rust
    pub trait Connect {
    +Connect in db_sqlx_postgres::dev::prelude::dev - Rust
    pub trait Connect {
         type Pool: MCDatabase;
     
         // Required method
    @@ -7,8 +7,8 @@
         ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
            where Self: 'async_trait;
     }
    Expand description

    Create database connection

    -

    Required Associated Types§

    type Pool: MCDatabase

    database specific pool-type

    -

    Required Methods§

    fn connect<'async_trait>( +

    Required Associated Types§

    source

    type Pool: MCDatabase

    database specific pool-type

    +

    Required Methods§

    source

    fn connect<'async_trait>( self ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>where Self: 'async_trait,

    database specific error-type diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.DBOps.html b/db_sqlx_postgres/dev/prelude/dev/trait.DBOps.html index e718bfd9..6c4367ea 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.DBOps.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.DBOps.html @@ -1,2 +1,2 @@ -DBOps in db_sqlx_postgres::dev::prelude::dev - Rust

    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    +DBOps in db_sqlx_postgres::dev::prelude::dev - Rust
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.GetConnection.html b/db_sqlx_postgres/dev/prelude/dev/trait.GetConnection.html index c936beb2..7812bc21 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.GetConnection.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.GetConnection.html @@ -1,4 +1,4 @@ -GetConnection in db_sqlx_postgres::dev::prelude::dev - Rust
    pub trait GetConnection {
    +GetConnection in db_sqlx_postgres::dev::prelude::dev - Rust
    pub trait GetConnection {
         type Conn;
     
         // Required method
    @@ -8,8 +8,8 @@
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    Get database connection

    -

    Required Associated Types§

    type Conn

    database connection type

    -

    Required Methods§

    fn get_conn<'life0, 'async_trait>( +

    Required Associated Types§

    source

    type Conn

    database connection type

    +

    Required Methods§

    source

    fn get_conn<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.MCDatabase.html b/db_sqlx_postgres/dev/prelude/dev/trait.MCDatabase.html index 4a5bf479..ea8c3498 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.MCDatabase.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.MCDatabase.html @@ -1,5 +1,5 @@ -MCDatabase in db_sqlx_postgres::dev::prelude::dev - Rust
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
    -
    Show 48 methods // Required methods +MCDatabase in db_sqlx_postgres::dev::prelude::dev - Rust
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
    +
    Show 49 methods // Required methods fn ping<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> @@ -212,6 +212,13 @@ 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; + fn get_all_easy_captchas<'life0, 'async_trait>( + &'life0 self, + limit: usize, + offset: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>> + where 'life0: 'async_trait, + Self: 'async_trait; fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, @@ -384,68 +391,68 @@ Self: 'async_trait { ... }
    }
    Expand description

    mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

    -

    Required Methods§

    fn ping<'life0, 'async_trait>( +

    Required Methods§

    source

    fn ping<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,

    ping DB

    -

    fn register<'life0, 'life1, 'async_trait>( +

    source

    fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    register a new user

    -

    fn delete_user<'life0, 'life1, 'async_trait>( +

    source

    fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    delete a user

    -

    fn username_exists<'life0, 'life1, 'async_trait>( +

    source

    fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    check if username exists

    -

    fn get_email<'life0, 'life1, 'async_trait>( +

    source

    fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get user email

    -

    fn email_exists<'life0, 'life1, 'async_trait>( +

    source

    fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, email: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    check if email exists

    -

    fn update_email<'life0, 'life1, 'async_trait>( +

    source

    fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    update a user’s email

    -

    fn get_password<'life0, 'life1, 'async_trait>( +

    source

    fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get a user’s password

    -

    fn update_password<'life0, 'life1, 'async_trait>( +

    source

    fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    update user’s password

    -

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, current: &'life1 str, new: &'life2 str @@ -454,21 +461,21 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    update username

    -

    fn get_secret<'life0, 'life1, 'async_trait>( +

    source

    fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get a user’s secret

    -

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( +

    source

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get a user’s secret from a captcha key

    -

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, secret: &'life2 str @@ -477,7 +484,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    update a user’s secret

    -

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, p: &'life2 CreateCaptcha<'_> @@ -486,7 +493,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    create new captcha

    -

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, key: &'life2 str @@ -495,14 +502,14 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Get captcha config

    -

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( +

    source

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get all captchas belonging to user

    -

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, p: &'life2 CreateCaptcha<'_> @@ -511,7 +518,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    -

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( +

    source

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, username: &'life1 str, old_key: &'life2 str, @@ -522,7 +529,7 @@ trait.

    'life2: 'async_trait, 'life3: 'async_trait, Self: 'async_trait,

    update captcha key; doesn’t change metadata

    -

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( +

    source

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str, @@ -533,7 +540,7 @@ trait.

    'life2: 'async_trait, 'life3: 'async_trait, Self: 'async_trait,

    Add levels to captcha

    -

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: Option<&'life1 str>, captcha_key: &'life2 str @@ -542,7 +549,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    check if captcha exists

    -

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -551,7 +558,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Delete all levels of a captcha

    -

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -560,7 +567,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Delete captcha

    -

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: Option<&'life1 str>, captcha_key: &'life2 str @@ -569,14 +576,14 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Get captcha levels

    -

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( +

    source

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get captcha’s cooldown period

    -

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( +

    source

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str, @@ -587,7 +594,7 @@ trait.

    'life2: 'async_trait, 'life3: 'async_trait, Self: 'async_trait,

    Add traffic configuration

    -

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -596,7 +603,14 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Get traffic configuration

    -

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_all_easy_captchas<'life0, 'async_trait>( + &'life0 self, + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>>where + 'life0: 'async_trait, + Self: 'async_trait,

    Get all easy captcha configurations on instance

    +
    source

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -605,21 +619,21 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Delete traffic configuration

    -

    fn create_notification<'life0, 'life1, 'async_trait>( +

    source

    fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    create new notification

    -

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( +

    source

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get all unread notifications

    -

    fn mark_notification_read<'life0, 'life1, 'async_trait>( +

    source

    fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str, id: i32 @@ -627,28 +641,28 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    mark a notification read

    -

    fn record_fetch<'life0, 'life1, 'async_trait>( +

    source

    fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    record PoWConfig fetches

    -

    fn record_solve<'life0, 'life1, 'async_trait>( +

    source

    fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    record PoWConfig solves

    -

    fn record_confirm<'life0, 'life1, 'async_trait>( +

    source

    fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    record PoWConfig confirms

    -

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -657,7 +671,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    fetch PoWConfig fetches

    -

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -666,7 +680,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    fetch PoWConfig solves

    -

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -675,7 +689,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    fetch PoWConfig confirms

    -

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics @@ -684,7 +698,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    record PoW timing

    -

    fn analytics_fetch<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str, limit: usize, @@ -693,41 +707,41 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    fetch PoW analytics

    -

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    -

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get psuedo ID from campaign ID

    -

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, psuedo_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get campaign ID from psuedo ID

    -

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, campaign_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Delete all records for campaign

    -

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( +

    source

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, page: usize ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,

    Get all psuedo IDs

    -

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( +

    source

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str, difficulty_factor: u32, @@ -736,7 +750,7 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Track maximum nonce received against captcha levels

    -

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( +

    source

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str, difficulty_factor: u32 @@ -744,13 +758,13 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    -

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( +

    source

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, duration: u32 ) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,

    Get number of analytics entries that are under a certain duration

    -

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( +

    source

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, duration: u32, location: u32 @@ -758,11 +772,11 @@ trait.

    'life0: 'async_trait, Self: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit and sorted in ascending order

    -

    Provided Methods§

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( +

    Provided Methods§

    source

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, campaign_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID

    -

    Trait Implementations§

    §

    impl Clone for Box<dyn MCDatabase>

    §

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file +

    Trait Implementations§

    source§

    impl Clone for Box<dyn MCDatabase>

    source§

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.Migrate.html b/db_sqlx_postgres/dev/prelude/dev/trait.Migrate.html index 8b0b3362..ebbbc740 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.Migrate.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.Migrate.html @@ -1,4 +1,4 @@ -Migrate in db_sqlx_postgres::dev::prelude::dev - Rust
    pub trait Migrate: MCDatabase {
    +Migrate in db_sqlx_postgres::dev::prelude::dev - Rust
    pub trait Migrate: MCDatabase {
         // Required method
         fn migrate<'life0, 'async_trait>(
             &'life0 self
    @@ -6,7 +6,7 @@
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    database migrations

    -

    Required Methods§

    fn migrate<'life0, 'async_trait>( +

    Required Methods§

    source

    fn migrate<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, diff --git a/db_sqlx_postgres/dev/prelude/dev/type.BoxDynError.html b/db_sqlx_postgres/dev/prelude/dev/type.BoxDynError.html index 6a590d82..a146fa4e 100644 --- a/db_sqlx_postgres/dev/prelude/dev/type.BoxDynError.html +++ b/db_sqlx_postgres/dev/prelude/dev/type.BoxDynError.html @@ -1,2 +1,2 @@ -BoxDynError in db_sqlx_postgres::dev::prelude::dev - Rust
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    +BoxDynError in db_sqlx_postgres::dev::prelude::dev - Rust
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/type.DBResult.html b/db_sqlx_postgres/dev/prelude/dev/type.DBResult.html index ae2355bb..f178bb26 100644 --- a/db_sqlx_postgres/dev/prelude/dev/type.DBResult.html +++ b/db_sqlx_postgres/dev/prelude/dev/type.DBResult.html @@ -1,4 +1,4 @@ -DBResult in db_sqlx_postgres::dev::prelude::dev - Rust
    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    +DBResult in db_sqlx_postgres::dev::prelude::dev - Rust
    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    Aliased Type§

    enum DBResult<V> {
         Ok(V),
         Err(DBError),
    diff --git a/db_sqlx_postgres/dev/prelude/enum.DBError.html b/db_sqlx_postgres/dev/prelude/enum.DBError.html
    index 520df890..943b010a 100644
    --- a/db_sqlx_postgres/dev/prelude/enum.DBError.html
    +++ b/db_sqlx_postgres/dev/prelude/enum.DBError.html
    @@ -1,4 +1,4 @@
    -DBError in db_sqlx_postgres::dev::prelude - Rust

    Trait Implementations§

    §

    impl Debug for DBError

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Display for DBError

    §

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Error for DBError

    §

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Trait Implementations§

    source§

    impl Debug for DBError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Display for DBError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Error for DBError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/enum.Login.html b/db_sqlx_postgres/dev/prelude/enum.Login.html index 31a6587b..de12bda0 100644 --- a/db_sqlx_postgres/dev/prelude/enum.Login.html +++ b/db_sqlx_postgres/dev/prelude/enum.Login.html @@ -1,20 +1,20 @@ -Login in db_sqlx_postgres::dev::prelude - Rust
    pub enum Login<'a> {
    +Login in db_sqlx_postgres::dev::prelude - Rust
    pub enum Login<'a> {
         Username(&'a str),
         Email(&'a str),
     }
    Expand description

    types of credentials used as identifiers during login

    Variants§

    §

    Username(&'a str)

    username as login

    §

    Email(&'a str)

    email as login

    -

    Trait Implementations§

    §

    impl<'a> Clone for Login<'a>

    §

    fn clone(&self) -> Login<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Login<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Login<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for Login<'a>

    source§

    fn clone(&self) -> Login<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Login<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Login<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Login<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Login<'a>

    §

    fn eq(&self, other: &Login<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Login<'a>

    source§

    fn eq(&self, other: &Login<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Login<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for Login<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Login<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Login<'a>

    §

    impl<'a> Send for Login<'a>

    §

    impl<'a> Sync for Login<'a>

    §

    impl<'a> Unpin for Login<'a>

    §

    impl<'a> UnwindSafe for Login<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/index.html b/db_sqlx_postgres/dev/prelude/index.html index 9dea1a51..0fe4ef4b 100644 --- a/db_sqlx_postgres/dev/prelude/index.html +++ b/db_sqlx_postgres/dev/prelude/index.html @@ -1,3 +1,3 @@ -db_sqlx_postgres::dev::prelude - Rust
    Expand description

    useful imports for users working with a supported database

    -

    Modules

    • useful imports for supporting a new database

    Structs

    Enums

    • Error data structure grouping various error subtypes
    • types of credentials used as identifiers during login

    Traits

    source§

    impl<'a> PartialEq for AddNotification<'a>

    source§

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for AddNotification<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for AddNotification<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/struct.Captcha.html b/db_sqlx_postgres/dev/prelude/struct.Captcha.html index 85bd990a..8188f7a0 100644 --- a/db_sqlx_postgres/dev/prelude/struct.Captcha.html +++ b/db_sqlx_postgres/dev/prelude/struct.Captcha.html @@ -1,4 +1,4 @@ -Captcha in db_sqlx_postgres::dev::prelude - Rust
    pub struct Captcha {
    +Captcha in db_sqlx_postgres::dev::prelude - Rust
    pub struct Captcha {
         pub config_id: i32,
         pub duration: i32,
         pub description: String,
    @@ -8,16 +8,16 @@
     
    §duration: i32

    cool down duration

    §description: String

    description of the captcha

    §key: String

    secret key of the captcha

    -

    Trait Implementations§

    §

    impl Clone for Captcha

    §

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Captcha

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Captcha

    §

    fn default() -> Captcha

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Captcha

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for Captcha

    source§

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Captcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Captcha

    source§

    fn default() -> Captcha

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Captcha

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Captcha, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Captcha

    §

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Captcha

    source§

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Captcha

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Captcha

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/struct.CreateCaptcha.html b/db_sqlx_postgres/dev/prelude/struct.CreateCaptcha.html index 571a7185..33ea6d71 100644 --- a/db_sqlx_postgres/dev/prelude/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/dev/prelude/struct.CreateCaptcha.html @@ -1,4 +1,4 @@ -CreateCaptcha in db_sqlx_postgres::dev::prelude - Rust

    Fields§

    §duration: i32

    cool down duration

    §description: &'a str

    description of the captcha

    §key: &'a str

    secret key of the captcha

    -

    Trait Implementations§

    §

    impl<'a> Clone for CreateCaptcha<'a>

    §

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for CreateCaptcha<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'a> Default for CreateCaptcha<'a>

    §

    fn default() -> CreateCaptcha<'a>

    Returns the “default value” for a type. Read more
    §

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for CreateCaptcha<'a>

    source§

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for CreateCaptcha<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for CreateCaptcha<'a>

    source§

    fn default() -> CreateCaptcha<'a>

    Returns the “default value” for a type. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<CreateCaptcha<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for CreateCaptcha<'a>

    §

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for CreateCaptcha<'a>

    source§

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for CreateCaptcha<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for CreateCaptcha<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/struct.CreatePerformanceAnalytics.html b/db_sqlx_postgres/dev/prelude/struct.CreatePerformanceAnalytics.html index d5717802..0c1048c4 100644 --- a/db_sqlx_postgres/dev/prelude/struct.CreatePerformanceAnalytics.html +++ b/db_sqlx_postgres/dev/prelude/struct.CreatePerformanceAnalytics.html @@ -1,4 +1,4 @@ -CreatePerformanceAnalytics in db_sqlx_postgres::dev::prelude - Rust

    Fields§

    §time: u32

    time taken to generate proof

    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    §

    impl Clone for CreatePerformanceAnalytics

    §

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for CreatePerformanceAnalytics

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for CreatePerformanceAnalytics

    §

    fn default() -> CreatePerformanceAnalytics

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for CreatePerformanceAnalytics

    source§

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for CreatePerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for CreatePerformanceAnalytics

    source§

    fn default() -> CreatePerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<CreatePerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for CreatePerformanceAnalytics

    §

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for CreatePerformanceAnalytics

    source§

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for CreatePerformanceAnalytics

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for CreatePerformanceAnalytics

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/struct.EasyCaptcha.html b/db_sqlx_postgres/dev/prelude/struct.EasyCaptcha.html new file mode 100644 index 00000000..601d2472 --- /dev/null +++ b/db_sqlx_postgres/dev/prelude/struct.EasyCaptcha.html @@ -0,0 +1,38 @@ +EasyCaptcha in db_sqlx_postgres::dev::prelude - Rust
    pub struct EasyCaptcha {
    +    pub traffic_pattern: TrafficPattern,
    +    pub key: String,
    +    pub description: String,
    +    pub username: String,
    +}
    Expand description

    Represents Easy captcha configuration

    +

    Fields§

    §traffic_pattern: TrafficPattern

    traffic pattern of easy captcha

    +
    §key: String

    captcha key/sitekey

    +
    §description: String

    captcha description

    +
    §username: String

    Owner of the captcha configuration

    +

    Trait Implementations§

    source§

    impl Clone for EasyCaptcha

    source§

    fn clone(&self) -> EasyCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for EasyCaptcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for EasyCaptcha

    source§

    fn default() -> EasyCaptcha

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for EasyCaptcha

    source§

    fn deserialize<__D>( + __deserializer: __D +) -> Result<EasyCaptcha, <__D as Deserializer<'de>>::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for EasyCaptcha

    source§

    fn eq(&self, other: &EasyCaptcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for EasyCaptcha

    source§

    fn serialize<__S>( + &self, + __serializer: __S +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for EasyCaptcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.NameHash.html b/db_sqlx_postgres/dev/prelude/struct.NameHash.html index 635f6405..541b9b9e 100644 --- a/db_sqlx_postgres/dev/prelude/struct.NameHash.html +++ b/db_sqlx_postgres/dev/prelude/struct.NameHash.html @@ -1,19 +1,19 @@ -NameHash in db_sqlx_postgres::dev::prelude - Rust
    pub struct NameHash {
    +NameHash in db_sqlx_postgres::dev::prelude - Rust
    pub struct NameHash {
         pub username: String,
         pub hash: String,
     }
    Expand description

    type encapsulating username and hashed password of a user

    Fields§

    §username: String

    username

    §hash: String

    hashed password

    -

    Trait Implementations§

    §

    impl Clone for NameHash

    §

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for NameHash

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for NameHash

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for NameHash

    source§

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for NameHash

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for NameHash

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<NameHash, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for NameHash

    §

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for NameHash

    source§

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for NameHash

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for NameHash

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/struct.Notification.html b/db_sqlx_postgres/dev/prelude/struct.Notification.html index a780f23c..2e2a36bb 100644 --- a/db_sqlx_postgres/dev/prelude/struct.Notification.html +++ b/db_sqlx_postgres/dev/prelude/struct.Notification.html @@ -1,4 +1,4 @@ -Notification in db_sqlx_postgres::dev::prelude - Rust
    pub struct Notification {
    +Notification in db_sqlx_postgres::dev::prelude - Rust
    pub struct Notification {
         pub name: Option<String>,
         pub heading: Option<String>,
         pub message: Option<String>,
    @@ -10,16 +10,16 @@
     
    §message: Option<String>

    message of the notification

    §received: Option<i64>

    when notification was received

    §id: Option<i32>

    db assigned ID of the notification

    -

    Trait Implementations§

    §

    impl Clone for Notification

    §

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Notification

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Notification

    §

    fn default() -> Notification

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Notification

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for Notification

    source§

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Notification

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Notification

    source§

    fn default() -> Notification

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Notification

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Notification, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    §

    impl PartialEq for Notification

    §

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for Notification

    source§

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Notification

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Notification

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/struct.PerformanceAnalytics.html b/db_sqlx_postgres/dev/prelude/struct.PerformanceAnalytics.html index c5f6689f..dd8b1d1a 100644 --- a/db_sqlx_postgres/dev/prelude/struct.PerformanceAnalytics.html +++ b/db_sqlx_postgres/dev/prelude/struct.PerformanceAnalytics.html @@ -1,4 +1,4 @@ -PerformanceAnalytics in db_sqlx_postgres::dev::prelude - Rust
    pub struct PerformanceAnalytics {
    +PerformanceAnalytics in db_sqlx_postgres::dev::prelude - Rust
    pub struct PerformanceAnalytics {
         pub id: usize,
         pub time: u32,
         pub difficulty_factor: u32,
    @@ -8,16 +8,16 @@
     
    §time: u32

    time taken to generate proof

    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    §

    impl Clone for PerformanceAnalytics

    §

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for PerformanceAnalytics

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for PerformanceAnalytics

    §

    fn default() -> PerformanceAnalytics

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for PerformanceAnalytics

    source§

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for PerformanceAnalytics

    source§

    fn default() -> PerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<PerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for PerformanceAnalytics

    §

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PerformanceAnalytics

    source§

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for PerformanceAnalytics

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for PerformanceAnalytics

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/struct.Register.html b/db_sqlx_postgres/dev/prelude/struct.Register.html index 5bf9e86d..a8133b1e 100644 --- a/db_sqlx_postgres/dev/prelude/struct.Register.html +++ b/db_sqlx_postgres/dev/prelude/struct.Register.html @@ -1,4 +1,4 @@ -Register in db_sqlx_postgres::dev::prelude - Rust
    pub struct Register<'a> {
    +Register in db_sqlx_postgres::dev::prelude - Rust
    pub struct Register<'a> {
         pub username: &'a str,
         pub secret: &'a str,
         pub hash: &'a str,
    @@ -8,17 +8,17 @@
     
    §secret: &'a str

    secret of new user

    §hash: &'a str

    hashed password of new use

    §email: Option<&'a str>

    Optionally, email of new use

    -

    Trait Implementations§

    §

    impl<'a> Clone for Register<'a>

    §

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Register<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Register<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for Register<'a>

    source§

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Register<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Register<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Register<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Register<'a>

    §

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Register<'a>

    source§

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Register<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for Register<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/struct.Secret.html b/db_sqlx_postgres/dev/prelude/struct.Secret.html index 8416f55e..64bc19bf 100644 --- a/db_sqlx_postgres/dev/prelude/struct.Secret.html +++ b/db_sqlx_postgres/dev/prelude/struct.Secret.html @@ -1,17 +1,17 @@ -Secret in db_sqlx_postgres::dev::prelude - Rust
    pub struct Secret {
    +Secret in db_sqlx_postgres::dev::prelude - Rust
    pub struct Secret {
         pub secret: String,
     }
    Expand description

    datastructure representing a user’s secret

    Fields§

    §secret: String

    user’s secret

    -

    Trait Implementations§

    §

    impl Clone for Secret

    §

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Secret

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Secret

    §

    fn default() -> Secret

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Secret

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for Secret

    source§

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Secret

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Secret

    source§

    fn default() -> Secret

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Secret

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Secret, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Secret

    §

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Secret

    source§

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Secret

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Secret

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/dev/prelude/struct.StatsUnixTimestamp.html index cf72a57f..aa97e47e 100644 --- a/db_sqlx_postgres/dev/prelude/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/dev/prelude/struct.StatsUnixTimestamp.html @@ -1,4 +1,4 @@ -StatsUnixTimestamp in db_sqlx_postgres::dev::prelude - Rust

    Fields§

    §config_fetches: Vec<i64>

    times at which the configuration were fetched

    §solves: Vec<i64>

    times at which the PoW was solved

    §confirms: Vec<i64>

    times at which the PoW token was verified

    -

    Trait Implementations§

    §

    impl Clone for StatsUnixTimestamp

    §

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for StatsUnixTimestamp

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for StatsUnixTimestamp

    §

    fn default() -> StatsUnixTimestamp

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for StatsUnixTimestamp

    source§

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for StatsUnixTimestamp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for StatsUnixTimestamp

    source§

    fn default() -> StatsUnixTimestamp

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<StatsUnixTimestamp, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for StatsUnixTimestamp

    §

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for StatsUnixTimestamp

    source§

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for StatsUnixTimestamp

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for StatsUnixTimestamp

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/struct.TrafficPattern.html b/db_sqlx_postgres/dev/prelude/struct.TrafficPattern.html index 17f64e56..41b28bea 100644 --- a/db_sqlx_postgres/dev/prelude/struct.TrafficPattern.html +++ b/db_sqlx_postgres/dev/prelude/struct.TrafficPattern.html @@ -1,4 +1,4 @@ -TrafficPattern in db_sqlx_postgres::dev::prelude - Rust

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    -

    Trait Implementations§

    §

    impl Clone for TrafficPattern

    §

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for TrafficPattern

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for TrafficPattern

    §

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for TrafficPattern

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for TrafficPattern

    source§

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TrafficPattern

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for TrafficPattern

    source§

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for TrafficPattern

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<TrafficPattern, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for TrafficPattern

    §

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for TrafficPattern

    source§

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for TrafficPattern

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for TrafficPattern

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/struct.UpdateEmail.html b/db_sqlx_postgres/dev/prelude/struct.UpdateEmail.html index 4000a126..42cb91c5 100644 --- a/db_sqlx_postgres/dev/prelude/struct.UpdateEmail.html +++ b/db_sqlx_postgres/dev/prelude/struct.UpdateEmail.html @@ -1,20 +1,20 @@ -UpdateEmail in db_sqlx_postgres::dev::prelude - Rust
    pub struct UpdateEmail<'a> {
    +UpdateEmail in db_sqlx_postgres::dev::prelude - Rust
    pub struct UpdateEmail<'a> {
         pub username: &'a str,
         pub new_email: &'a str,
     }
    Expand description

    data required to update them email of a user

    Fields§

    §username: &'a str

    username of the user

    §new_email: &'a str

    new email address of the user

    -

    Trait Implementations§

    §

    impl<'a> Clone for UpdateEmail<'a>

    §

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for UpdateEmail<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for UpdateEmail<'a>

    source§

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for UpdateEmail<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<UpdateEmail<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for UpdateEmail<'a>

    §

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for UpdateEmail<'a>

    source§

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for UpdateEmail<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for UpdateEmail<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/prelude/trait.CloneSPDatabase.html b/db_sqlx_postgres/dev/prelude/trait.CloneSPDatabase.html index e527c14b..8f3a429c 100644 --- a/db_sqlx_postgres/dev/prelude/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/dev/prelude/trait.CloneSPDatabase.html @@ -1,7 +1,7 @@ -CloneSPDatabase in db_sqlx_postgres::dev::prelude - Rust
    pub trait CloneSPDatabase {
    +CloneSPDatabase in db_sqlx_postgres::dev::prelude - Rust
    pub trait CloneSPDatabase {
         // Required method
         fn clone_db(&self) -> Box<dyn MCDatabase>;
     }
    Expand description

    Trait to clone MCDatabase

    -

    Required Methods§

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    -

    Implementors§

    §

    impl<T> CloneSPDatabase for Twhere +

    Required Methods§

    source

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    +

    Implementors§

    source§

    impl<T> CloneSPDatabase for Twhere T: MCDatabase + Clone + 'static,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/trait.Connect.html b/db_sqlx_postgres/dev/prelude/trait.Connect.html index 99532b6e..22468796 100644 --- a/db_sqlx_postgres/dev/prelude/trait.Connect.html +++ b/db_sqlx_postgres/dev/prelude/trait.Connect.html @@ -1,4 +1,4 @@ -Connect in db_sqlx_postgres::dev::prelude - Rust
    pub trait Connect {
    +Connect in db_sqlx_postgres::dev::prelude - Rust
    pub trait Connect {
         type Pool: MCDatabase;
     
         // Required method
    @@ -7,8 +7,8 @@
         ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
            where Self: 'async_trait;
     }
    Expand description

    Create database connection

    -

    Required Associated Types§

    type Pool: MCDatabase

    database specific pool-type

    -

    Required Methods§

    fn connect<'async_trait>( +

    Required Associated Types§

    source

    type Pool: MCDatabase

    database specific pool-type

    +

    Required Methods§

    source

    fn connect<'async_trait>( self ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>where Self: 'async_trait,

    database specific error-type diff --git a/db_sqlx_postgres/dev/prelude/trait.DBOps.html b/db_sqlx_postgres/dev/prelude/trait.DBOps.html index 5ea16509..66cf1d2a 100644 --- a/db_sqlx_postgres/dev/prelude/trait.DBOps.html +++ b/db_sqlx_postgres/dev/prelude/trait.DBOps.html @@ -1,2 +1,2 @@ -DBOps in db_sqlx_postgres::dev::prelude - Rust

    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    +DBOps in db_sqlx_postgres::dev::prelude - Rust
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/trait.GetConnection.html b/db_sqlx_postgres/dev/prelude/trait.GetConnection.html index dfd64424..9ff15e09 100644 --- a/db_sqlx_postgres/dev/prelude/trait.GetConnection.html +++ b/db_sqlx_postgres/dev/prelude/trait.GetConnection.html @@ -1,4 +1,4 @@ -GetConnection in db_sqlx_postgres::dev::prelude - Rust
    pub trait GetConnection {
    +GetConnection in db_sqlx_postgres::dev::prelude - Rust
    pub trait GetConnection {
         type Conn;
     
         // Required method
    @@ -8,8 +8,8 @@
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    Get database connection

    -

    Required Associated Types§

    type Conn

    database connection type

    -

    Required Methods§

    fn get_conn<'life0, 'async_trait>( +

    Required Associated Types§

    source

    type Conn

    database connection type

    +

    Required Methods§

    source

    fn get_conn<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, diff --git a/db_sqlx_postgres/dev/prelude/trait.MCDatabase.html b/db_sqlx_postgres/dev/prelude/trait.MCDatabase.html index d96fd32c..ccd43600 100644 --- a/db_sqlx_postgres/dev/prelude/trait.MCDatabase.html +++ b/db_sqlx_postgres/dev/prelude/trait.MCDatabase.html @@ -1,5 +1,5 @@ -MCDatabase in db_sqlx_postgres::dev::prelude - Rust
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
    -
    Show 48 methods // Required methods +MCDatabase in db_sqlx_postgres::dev::prelude - Rust
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
    +
    Show 49 methods // Required methods fn ping<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> @@ -212,6 +212,13 @@ 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; + fn get_all_easy_captchas<'life0, 'async_trait>( + &'life0 self, + limit: usize, + offset: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>> + where 'life0: 'async_trait, + Self: 'async_trait; fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, @@ -384,68 +391,68 @@ Self: 'async_trait { ... }
    }
    Expand description

    mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

    -

    Required Methods§

    fn ping<'life0, 'async_trait>( +

    Required Methods§

    source

    fn ping<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,

    ping DB

    -

    fn register<'life0, 'life1, 'async_trait>( +

    source

    fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    register a new user

    -

    fn delete_user<'life0, 'life1, 'async_trait>( +

    source

    fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    delete a user

    -

    fn username_exists<'life0, 'life1, 'async_trait>( +

    source

    fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    check if username exists

    -

    fn get_email<'life0, 'life1, 'async_trait>( +

    source

    fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get user email

    -

    fn email_exists<'life0, 'life1, 'async_trait>( +

    source

    fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, email: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    check if email exists

    -

    fn update_email<'life0, 'life1, 'async_trait>( +

    source

    fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    update a user’s email

    -

    fn get_password<'life0, 'life1, 'async_trait>( +

    source

    fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get a user’s password

    -

    fn update_password<'life0, 'life1, 'async_trait>( +

    source

    fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    update user’s password

    -

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, current: &'life1 str, new: &'life2 str @@ -454,21 +461,21 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    update username

    -

    fn get_secret<'life0, 'life1, 'async_trait>( +

    source

    fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get a user’s secret

    -

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( +

    source

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get a user’s secret from a captcha key

    -

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, secret: &'life2 str @@ -477,7 +484,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    update a user’s secret

    -

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, p: &'life2 CreateCaptcha<'_> @@ -486,7 +493,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    create new captcha

    -

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, key: &'life2 str @@ -495,14 +502,14 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Get captcha config

    -

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( +

    source

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get all captchas belonging to user

    -

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, p: &'life2 CreateCaptcha<'_> @@ -511,7 +518,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    -

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( +

    source

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, username: &'life1 str, old_key: &'life2 str, @@ -522,7 +529,7 @@ trait.

    'life2: 'async_trait, 'life3: 'async_trait, Self: 'async_trait,

    update captcha key; doesn’t change metadata

    -

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( +

    source

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str, @@ -533,7 +540,7 @@ trait.

    'life2: 'async_trait, 'life3: 'async_trait, Self: 'async_trait,

    Add levels to captcha

    -

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: Option<&'life1 str>, captcha_key: &'life2 str @@ -542,7 +549,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    check if captcha exists

    -

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -551,7 +558,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Delete all levels of a captcha

    -

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -560,7 +567,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Delete captcha

    -

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: Option<&'life1 str>, captcha_key: &'life2 str @@ -569,14 +576,14 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Get captcha levels

    -

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( +

    source

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get captcha’s cooldown period

    -

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( +

    source

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str, @@ -587,7 +594,7 @@ trait.

    'life2: 'async_trait, 'life3: 'async_trait, Self: 'async_trait,

    Add traffic configuration

    -

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -596,7 +603,14 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Get traffic configuration

    -

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_all_easy_captchas<'life0, 'async_trait>( + &'life0 self, + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>>where + 'life0: 'async_trait, + Self: 'async_trait,

    Get all easy captcha configurations on instance

    +
    source

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -605,21 +619,21 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Delete traffic configuration

    -

    fn create_notification<'life0, 'life1, 'async_trait>( +

    source

    fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    create new notification

    -

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( +

    source

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get all unread notifications

    -

    fn mark_notification_read<'life0, 'life1, 'async_trait>( +

    source

    fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str, id: i32 @@ -627,28 +641,28 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    mark a notification read

    -

    fn record_fetch<'life0, 'life1, 'async_trait>( +

    source

    fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    record PoWConfig fetches

    -

    fn record_solve<'life0, 'life1, 'async_trait>( +

    source

    fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    record PoWConfig solves

    -

    fn record_confirm<'life0, 'life1, 'async_trait>( +

    source

    fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    record PoWConfig confirms

    -

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -657,7 +671,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    fetch PoWConfig fetches

    -

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -666,7 +680,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    fetch PoWConfig solves

    -

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -675,7 +689,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    fetch PoWConfig confirms

    -

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics @@ -684,7 +698,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    record PoW timing

    -

    fn analytics_fetch<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str, limit: usize, @@ -693,41 +707,41 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    fetch PoW analytics

    -

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    -

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get psuedo ID from campaign ID

    -

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, psuedo_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get campaign ID from psuedo ID

    -

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, campaign_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Delete all records for campaign

    -

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( +

    source

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, page: usize ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,

    Get all psuedo IDs

    -

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( +

    source

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str, difficulty_factor: u32, @@ -736,7 +750,7 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Track maximum nonce received against captcha levels

    -

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( +

    source

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str, difficulty_factor: u32 @@ -744,13 +758,13 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    -

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( +

    source

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, duration: u32 ) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,

    Get number of analytics entries that are under a certain duration

    -

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( +

    source

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, duration: u32, location: u32 @@ -758,11 +772,11 @@ trait.

    'life0: 'async_trait, Self: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit and sorted in ascending order

    -

    Provided Methods§

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( +

    Provided Methods§

    source

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, campaign_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID

    -

    Trait Implementations§

    §

    impl Clone for Box<dyn MCDatabase>

    §

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file +

    Trait Implementations§

    source§

    impl Clone for Box<dyn MCDatabase>

    source§

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/trait.Migrate.html b/db_sqlx_postgres/dev/prelude/trait.Migrate.html index 4a875f05..ae8f7fbc 100644 --- a/db_sqlx_postgres/dev/prelude/trait.Migrate.html +++ b/db_sqlx_postgres/dev/prelude/trait.Migrate.html @@ -1,4 +1,4 @@ -Migrate in db_sqlx_postgres::dev::prelude - Rust
    pub trait Migrate: MCDatabase {
    +Migrate in db_sqlx_postgres::dev::prelude - Rust
    pub trait Migrate: MCDatabase {
         // Required method
         fn migrate<'life0, 'async_trait>(
             &'life0 self
    @@ -6,7 +6,7 @@
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    database migrations

    -

    Required Methods§

    fn migrate<'life0, 'async_trait>( +

    Required Methods§

    source

    fn migrate<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, diff --git a/db_sqlx_postgres/dev/prelude/type.BoxDynError.html b/db_sqlx_postgres/dev/prelude/type.BoxDynError.html index 0120c683..026bbc93 100644 --- a/db_sqlx_postgres/dev/prelude/type.BoxDynError.html +++ b/db_sqlx_postgres/dev/prelude/type.BoxDynError.html @@ -1,2 +1,2 @@ -BoxDynError in db_sqlx_postgres::dev::prelude - Rust
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    +BoxDynError in db_sqlx_postgres::dev::prelude - Rust
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/type.DBResult.html b/db_sqlx_postgres/dev/prelude/type.DBResult.html index db0f88c8..fe00e855 100644 --- a/db_sqlx_postgres/dev/prelude/type.DBResult.html +++ b/db_sqlx_postgres/dev/prelude/type.DBResult.html @@ -1,4 +1,4 @@ -DBResult in db_sqlx_postgres::dev::prelude - Rust
    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    +DBResult in db_sqlx_postgres::dev::prelude - Rust
    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    Aliased Type§

    enum DBResult<V> {
         Ok(V),
         Err(DBError),
    diff --git a/db_sqlx_postgres/dev/sidebar-items.js b/db_sqlx_postgres/dev/sidebar-items.js
    index aad43365..3068de00 100644
    --- a/db_sqlx_postgres/dev/sidebar-items.js
    +++ b/db_sqlx_postgres/dev/sidebar-items.js
    @@ -1 +1 @@
    -window.SIDEBAR_ITEMS = {"attr":["async_trait"],"enum":["DBError","Error","Login"],"mod":["errors","ops","prelude","tests"],"struct":["AddNotification","Captcha","CreateCaptcha","CreatePerformanceAnalytics","Level","NameHash","Notification","PerformanceAnalytics","Register","Secret","StatsUnixTimestamp","TrafficPattern","UpdateEmail"],"trait":["CloneSPDatabase","Connect","DBOps","GetConnection","MCDatabase","Migrate"],"type":["BoxDynError","DBResult"]};
    \ No newline at end of file
    +window.SIDEBAR_ITEMS = {"attr":["async_trait"],"enum":["DBError","Error","Login"],"mod":["errors","ops","prelude","tests"],"struct":["AddNotification","Captcha","CreateCaptcha","CreatePerformanceAnalytics","EasyCaptcha","Level","NameHash","Notification","PerformanceAnalytics","Register","Secret","StatsUnixTimestamp","TrafficPattern","UpdateEmail"],"trait":["CloneSPDatabase","Connect","DBOps","GetConnection","MCDatabase","Migrate"],"type":["BoxDynError","DBResult"]};
    \ No newline at end of file
    diff --git a/db_sqlx_postgres/dev/struct.AddNotification.html b/db_sqlx_postgres/dev/struct.AddNotification.html
    index 27d6933a..23efffaf 100644
    --- a/db_sqlx_postgres/dev/struct.AddNotification.html
    +++ b/db_sqlx_postgres/dev/struct.AddNotification.html
    @@ -1,4 +1,4 @@
    -AddNotification in db_sqlx_postgres::dev - Rust
    pub struct AddNotification<'a> {
    +AddNotification in db_sqlx_postgres::dev - Rust
    pub struct AddNotification<'a> {
         pub to: &'a str,
         pub from: &'a str,
         pub heading: &'a str,
    @@ -8,17 +8,17 @@
     
    §from: &'a str

    notification sender

    §heading: &'a str

    heading of the notification

    §message: &'a str

    message of the notification

    -

    Trait Implementations§

    §

    impl<'a> Clone for AddNotification<'a>

    §

    fn clone(&self) -> AddNotification<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for AddNotification<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'a> Default for AddNotification<'a>

    §

    fn default() -> AddNotification<'a>

    Returns the “default value” for a type. Read more
    §

    impl<'de, 'a> Deserialize<'de> for AddNotification<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for AddNotification<'a>

    source§

    fn clone(&self) -> AddNotification<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for AddNotification<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for AddNotification<'a>

    source§

    fn default() -> AddNotification<'a>

    Returns the “default value” for a type. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for AddNotification<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<AddNotification<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for AddNotification<'a>

    §

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for AddNotification<'a>

    source§

    fn eq(&self, other: &AddNotification<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for AddNotification<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for AddNotification<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for AddNotification<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for AddNotification<'a>

    §

    impl<'a> Send for AddNotification<'a>

    §

    impl<'a> Sync for AddNotification<'a>

    §

    impl<'a> Unpin for AddNotification<'a>

    §

    impl<'a> UnwindSafe for AddNotification<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/struct.Captcha.html b/db_sqlx_postgres/dev/struct.Captcha.html index 9a0a46ce..6ae900d0 100644 --- a/db_sqlx_postgres/dev/struct.Captcha.html +++ b/db_sqlx_postgres/dev/struct.Captcha.html @@ -1,4 +1,4 @@ -Captcha in db_sqlx_postgres::dev - Rust
    pub struct Captcha {
    +Captcha in db_sqlx_postgres::dev - Rust
    pub struct Captcha {
         pub config_id: i32,
         pub duration: i32,
         pub description: String,
    @@ -8,16 +8,16 @@
     
    §duration: i32

    cool down duration

    §description: String

    description of the captcha

    §key: String

    secret key of the captcha

    -

    Trait Implementations§

    §

    impl Clone for Captcha

    §

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Captcha

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Captcha

    §

    fn default() -> Captcha

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Captcha

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for Captcha

    source§

    fn clone(&self) -> Captcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Captcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Captcha

    source§

    fn default() -> Captcha

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Captcha

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Captcha, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Captcha

    §

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Captcha

    source§

    fn eq(&self, other: &Captcha) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Captcha

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Captcha

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Captcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/struct.CreateCaptcha.html b/db_sqlx_postgres/dev/struct.CreateCaptcha.html index d69c1f42..b0291e58 100644 --- a/db_sqlx_postgres/dev/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/dev/struct.CreateCaptcha.html @@ -1,4 +1,4 @@ -CreateCaptcha in db_sqlx_postgres::dev - Rust

    Fields§

    §duration: i32

    cool down duration

    §description: &'a str

    description of the captcha

    §key: &'a str

    secret key of the captcha

    -

    Trait Implementations§

    §

    impl<'a> Clone for CreateCaptcha<'a>

    §

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for CreateCaptcha<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'a> Default for CreateCaptcha<'a>

    §

    fn default() -> CreateCaptcha<'a>

    Returns the “default value” for a type. Read more
    §

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for CreateCaptcha<'a>

    source§

    fn clone(&self) -> CreateCaptcha<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for CreateCaptcha<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'a> Default for CreateCaptcha<'a>

    source§

    fn default() -> CreateCaptcha<'a>

    Returns the “default value” for a type. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for CreateCaptcha<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<CreateCaptcha<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for CreateCaptcha<'a>

    §

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for CreateCaptcha<'a>

    source§

    fn eq(&self, other: &CreateCaptcha<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for CreateCaptcha<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for CreateCaptcha<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for CreateCaptcha<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for CreateCaptcha<'a>

    §

    impl<'a> Send for CreateCaptcha<'a>

    §

    impl<'a> Sync for CreateCaptcha<'a>

    §

    impl<'a> Unpin for CreateCaptcha<'a>

    §

    impl<'a> UnwindSafe for CreateCaptcha<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/struct.CreatePerformanceAnalytics.html b/db_sqlx_postgres/dev/struct.CreatePerformanceAnalytics.html index 0fda324a..b9c9a1e9 100644 --- a/db_sqlx_postgres/dev/struct.CreatePerformanceAnalytics.html +++ b/db_sqlx_postgres/dev/struct.CreatePerformanceAnalytics.html @@ -1,4 +1,4 @@ -CreatePerformanceAnalytics in db_sqlx_postgres::dev - Rust

    Fields§

    §time: u32

    time taken to generate proof

    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    §

    impl Clone for CreatePerformanceAnalytics

    §

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for CreatePerformanceAnalytics

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for CreatePerformanceAnalytics

    §

    fn default() -> CreatePerformanceAnalytics

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for CreatePerformanceAnalytics

    source§

    fn clone(&self) -> CreatePerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for CreatePerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for CreatePerformanceAnalytics

    source§

    fn default() -> CreatePerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for CreatePerformanceAnalytics

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<CreatePerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for CreatePerformanceAnalytics

    §

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for CreatePerformanceAnalytics

    source§

    fn eq(&self, other: &CreatePerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for CreatePerformanceAnalytics

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for CreatePerformanceAnalytics

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for CreatePerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/struct.EasyCaptcha.html b/db_sqlx_postgres/dev/struct.EasyCaptcha.html new file mode 100644 index 00000000..454bb3e1 --- /dev/null +++ b/db_sqlx_postgres/dev/struct.EasyCaptcha.html @@ -0,0 +1,38 @@ +EasyCaptcha in db_sqlx_postgres::dev - Rust
    pub struct EasyCaptcha {
    +    pub traffic_pattern: TrafficPattern,
    +    pub key: String,
    +    pub description: String,
    +    pub username: String,
    +}
    Expand description

    Represents Easy captcha configuration

    +

    Fields§

    §traffic_pattern: TrafficPattern

    traffic pattern of easy captcha

    +
    §key: String

    captcha key/sitekey

    +
    §description: String

    captcha description

    +
    §username: String

    Owner of the captcha configuration

    +

    Trait Implementations§

    source§

    impl Clone for EasyCaptcha

    source§

    fn clone(&self) -> EasyCaptcha

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for EasyCaptcha

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for EasyCaptcha

    source§

    fn default() -> EasyCaptcha

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for EasyCaptcha

    source§

    fn deserialize<__D>( + __deserializer: __D +) -> Result<EasyCaptcha, <__D as Deserializer<'de>>::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for EasyCaptcha

    source§

    fn eq(&self, other: &EasyCaptcha) -> bool

    This method tests for self and other values to be equal, and is used +by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for EasyCaptcha

    source§

    fn serialize<__S>( + &self, + __serializer: __S +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for EasyCaptcha

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    impl<T> DeserializeOwned for Twhere + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.NameHash.html b/db_sqlx_postgres/dev/struct.NameHash.html index 7541351b..d76e0ddf 100644 --- a/db_sqlx_postgres/dev/struct.NameHash.html +++ b/db_sqlx_postgres/dev/struct.NameHash.html @@ -1,19 +1,19 @@ -NameHash in db_sqlx_postgres::dev - Rust
    pub struct NameHash {
    +NameHash in db_sqlx_postgres::dev - Rust
    pub struct NameHash {
         pub username: String,
         pub hash: String,
     }
    Expand description

    type encapsulating username and hashed password of a user

    Fields§

    §username: String

    username

    §hash: String

    hashed password

    -

    Trait Implementations§

    §

    impl Clone for NameHash

    §

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for NameHash

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for NameHash

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for NameHash

    source§

    fn clone(&self) -> NameHash

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for NameHash

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for NameHash

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<NameHash, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for NameHash

    §

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for NameHash

    source§

    fn eq(&self, other: &NameHash) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for NameHash

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for NameHash

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for NameHash

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/struct.Notification.html b/db_sqlx_postgres/dev/struct.Notification.html index c98f3448..bed274ed 100644 --- a/db_sqlx_postgres/dev/struct.Notification.html +++ b/db_sqlx_postgres/dev/struct.Notification.html @@ -1,4 +1,4 @@ -Notification in db_sqlx_postgres::dev - Rust
    pub struct Notification {
    +Notification in db_sqlx_postgres::dev - Rust
    pub struct Notification {
         pub name: Option<String>,
         pub heading: Option<String>,
         pub message: Option<String>,
    @@ -10,16 +10,16 @@
     
    §message: Option<String>

    message of the notification

    §received: Option<i64>

    when notification was received

    §id: Option<i32>

    db assigned ID of the notification

    -

    Trait Implementations§

    §

    impl Clone for Notification

    §

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Notification

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Notification

    §

    fn default() -> Notification

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Notification

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for Notification

    source§

    fn clone(&self) -> Notification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Notification

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Notification

    source§

    fn default() -> Notification

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Notification

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Notification, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    §

    impl PartialEq for Notification

    §

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for Notification

    source§

    fn eq(&self, other: &Notification) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Notification

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Notification

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Notification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/struct.PerformanceAnalytics.html b/db_sqlx_postgres/dev/struct.PerformanceAnalytics.html index 822c9d58..19ad9572 100644 --- a/db_sqlx_postgres/dev/struct.PerformanceAnalytics.html +++ b/db_sqlx_postgres/dev/struct.PerformanceAnalytics.html @@ -1,4 +1,4 @@ -PerformanceAnalytics in db_sqlx_postgres::dev - Rust
    pub struct PerformanceAnalytics {
    +PerformanceAnalytics in db_sqlx_postgres::dev - Rust
    pub struct PerformanceAnalytics {
         pub id: usize,
         pub time: u32,
         pub difficulty_factor: u32,
    @@ -8,16 +8,16 @@
     
    §time: u32

    time taken to generate proof

    §difficulty_factor: u32

    difficulty factor for which the proof was generated

    §worker_type: String

    worker/client type: wasm, javascript, python, etc.

    -

    Trait Implementations§

    §

    impl Clone for PerformanceAnalytics

    §

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for PerformanceAnalytics

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for PerformanceAnalytics

    §

    fn default() -> PerformanceAnalytics

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for PerformanceAnalytics

    source§

    fn clone(&self) -> PerformanceAnalytics

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PerformanceAnalytics

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for PerformanceAnalytics

    source§

    fn default() -> PerformanceAnalytics

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for PerformanceAnalytics

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<PerformanceAnalytics, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for PerformanceAnalytics

    §

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for PerformanceAnalytics

    source§

    fn eq(&self, other: &PerformanceAnalytics) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for PerformanceAnalytics

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for PerformanceAnalytics

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for PerformanceAnalytics

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/struct.Register.html b/db_sqlx_postgres/dev/struct.Register.html index 8bc3253f..bb8f49d1 100644 --- a/db_sqlx_postgres/dev/struct.Register.html +++ b/db_sqlx_postgres/dev/struct.Register.html @@ -1,4 +1,4 @@ -Register in db_sqlx_postgres::dev - Rust
    pub struct Register<'a> {
    +Register in db_sqlx_postgres::dev - Rust
    pub struct Register<'a> {
         pub username: &'a str,
         pub secret: &'a str,
         pub hash: &'a str,
    @@ -8,17 +8,17 @@
     
    §secret: &'a str

    secret of new user

    §hash: &'a str

    hashed password of new use

    §email: Option<&'a str>

    Optionally, email of new use

    -

    Trait Implementations§

    §

    impl<'a> Clone for Register<'a>

    §

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for Register<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for Register<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for Register<'a>

    source§

    fn clone(&self) -> Register<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for Register<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for Register<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Register<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for Register<'a>

    §

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for Register<'a>

    source§

    fn eq(&self, other: &Register<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for Register<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for Register<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for Register<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for Register<'a>

    §

    impl<'a> Send for Register<'a>

    §

    impl<'a> Sync for Register<'a>

    §

    impl<'a> Unpin for Register<'a>

    §

    impl<'a> UnwindSafe for Register<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/struct.Secret.html b/db_sqlx_postgres/dev/struct.Secret.html index 21ef967c..a18979a2 100644 --- a/db_sqlx_postgres/dev/struct.Secret.html +++ b/db_sqlx_postgres/dev/struct.Secret.html @@ -1,17 +1,17 @@ -Secret in db_sqlx_postgres::dev - Rust
    pub struct Secret {
    +Secret in db_sqlx_postgres::dev - Rust
    pub struct Secret {
         pub secret: String,
     }
    Expand description

    datastructure representing a user’s secret

    Fields§

    §secret: String

    user’s secret

    -

    Trait Implementations§

    §

    impl Clone for Secret

    §

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Secret

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Secret

    §

    fn default() -> Secret

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Secret

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for Secret

    source§

    fn clone(&self) -> Secret

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Secret

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Secret

    source§

    fn default() -> Secret

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Secret

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<Secret, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for Secret

    §

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Secret

    source§

    fn eq(&self, other: &Secret) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Secret

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Secret

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for Secret

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/dev/struct.StatsUnixTimestamp.html index 77737f9f..feaa6b2a 100644 --- a/db_sqlx_postgres/dev/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/dev/struct.StatsUnixTimestamp.html @@ -1,4 +1,4 @@ -StatsUnixTimestamp in db_sqlx_postgres::dev - Rust

    Fields§

    §config_fetches: Vec<i64>

    times at which the configuration were fetched

    §solves: Vec<i64>

    times at which the PoW was solved

    §confirms: Vec<i64>

    times at which the PoW token was verified

    -

    Trait Implementations§

    §

    impl Clone for StatsUnixTimestamp

    §

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for StatsUnixTimestamp

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for StatsUnixTimestamp

    §

    fn default() -> StatsUnixTimestamp

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for StatsUnixTimestamp

    source§

    fn clone(&self) -> StatsUnixTimestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for StatsUnixTimestamp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for StatsUnixTimestamp

    source§

    fn default() -> StatsUnixTimestamp

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for StatsUnixTimestamp

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<StatsUnixTimestamp, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for StatsUnixTimestamp

    §

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for StatsUnixTimestamp

    source§

    fn eq(&self, other: &StatsUnixTimestamp) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for StatsUnixTimestamp

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for StatsUnixTimestamp

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for StatsUnixTimestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/struct.TrafficPattern.html b/db_sqlx_postgres/dev/struct.TrafficPattern.html index 698e510c..7933d3f8 100644 --- a/db_sqlx_postgres/dev/struct.TrafficPattern.html +++ b/db_sqlx_postgres/dev/struct.TrafficPattern.html @@ -1,4 +1,4 @@ -TrafficPattern in db_sqlx_postgres::dev - Rust

    Fields§

    §avg_traffic: u32

    average traffic of user’s website

    §peak_sustainable_traffic: u32

    the peak traffic that the user’s website can handle

    §broke_my_site_traffic: Option<u32>

    traffic that bought the user’s website down; optional

    -

    Trait Implementations§

    §

    impl Clone for TrafficPattern

    §

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for TrafficPattern

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for TrafficPattern

    §

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for TrafficPattern

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl Clone for TrafficPattern

    source§

    fn clone(&self) -> TrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for TrafficPattern

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for TrafficPattern

    source§

    fn default() -> TrafficPattern

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for TrafficPattern

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<TrafficPattern, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl PartialEq for TrafficPattern

    §

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for TrafficPattern

    source§

    fn eq(&self, other: &TrafficPattern) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for TrafficPattern

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for TrafficPattern

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for TrafficPattern

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/struct.UpdateEmail.html b/db_sqlx_postgres/dev/struct.UpdateEmail.html index 29d72fe2..b1c3fd81 100644 --- a/db_sqlx_postgres/dev/struct.UpdateEmail.html +++ b/db_sqlx_postgres/dev/struct.UpdateEmail.html @@ -1,20 +1,20 @@ -UpdateEmail in db_sqlx_postgres::dev - Rust
    pub struct UpdateEmail<'a> {
    +UpdateEmail in db_sqlx_postgres::dev - Rust
    pub struct UpdateEmail<'a> {
         pub username: &'a str,
         pub new_email: &'a str,
     }
    Expand description

    data required to update them email of a user

    Fields§

    §username: &'a str

    username of the user

    §new_email: &'a str

    new email address of the user

    -

    Trait Implementations§

    §

    impl<'a> Clone for UpdateEmail<'a>

    §

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<'a> Debug for UpdateEmail<'a>

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>where - 'de: 'a,

    §

    fn deserialize<__D>( +

    Trait Implementations§

    source§

    impl<'a> Clone for UpdateEmail<'a>

    source§

    fn clone(&self) -> UpdateEmail<'a>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'a> Debug for UpdateEmail<'a>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<'de, 'a> Deserialize<'de> for UpdateEmail<'a>where + 'de: 'a,

    source§

    fn deserialize<__D>( __deserializer: __D ) -> Result<UpdateEmail<'a>, <__D as Deserializer<'de>>::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<'a> PartialEq for UpdateEmail<'a>

    §

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<'a> PartialEq for UpdateEmail<'a>

    source§

    fn eq(&self, other: &UpdateEmail<'a>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl<'a> Serialize for UpdateEmail<'a>

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    source§

    impl<'a> Serialize for UpdateEmail<'a>

    source§

    fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<'a> StructuralPartialEq for UpdateEmail<'a>

    Auto Trait Implementations§

    §

    impl<'a> RefUnwindSafe for UpdateEmail<'a>

    §

    impl<'a> Send for UpdateEmail<'a>

    §

    impl<'a> Sync for UpdateEmail<'a>

    §

    impl<'a> Unpin for UpdateEmail<'a>

    §

    impl<'a> UnwindSafe for UpdateEmail<'a>

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/db_sqlx_postgres/dev/tests/constant.LEVELS.html b/db_sqlx_postgres/dev/tests/constant.LEVELS.html index 42542372..61b39fb7 100644 --- a/db_sqlx_postgres/dev/tests/constant.LEVELS.html +++ b/db_sqlx_postgres/dev/tests/constant.LEVELS.html @@ -1,2 +1,2 @@ -LEVELS in db_sqlx_postgres::dev::tests - Rust

    Constant db_sqlx_postgres::dev::tests::LEVELS

    pub const LEVELS: [Level; 3];
    Expand description

    levels for complex captcha config

    +LEVELS in db_sqlx_postgres::dev::tests - Rust

    Constant db_sqlx_postgres::dev::tests::LEVELS

    source ·
    pub const LEVELS: [Level; 3];
    Expand description

    levels for complex captcha config

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/tests/constant.TRAFFIC_PATTERN.html b/db_sqlx_postgres/dev/tests/constant.TRAFFIC_PATTERN.html index 1f487d8d..9719e7de 100644 --- a/db_sqlx_postgres/dev/tests/constant.TRAFFIC_PATTERN.html +++ b/db_sqlx_postgres/dev/tests/constant.TRAFFIC_PATTERN.html @@ -1,2 +1,2 @@ -TRAFFIC_PATTERN in db_sqlx_postgres::dev::tests - Rust
    pub const TRAFFIC_PATTERN: TrafficPattern;
    Expand description

    easy traffic pattern

    +TRAFFIC_PATTERN in db_sqlx_postgres::dev::tests - Rust
    pub const TRAFFIC_PATTERN: TrafficPattern;
    Expand description

    easy traffic pattern

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/tests/fn.database_works.html b/db_sqlx_postgres/dev/tests/fn.database_works.html index 872d7548..069c64e7 100644 --- a/db_sqlx_postgres/dev/tests/fn.database_works.html +++ b/db_sqlx_postgres/dev/tests/fn.database_works.html @@ -1,4 +1,4 @@ -database_works in db_sqlx_postgres::dev::tests - Rust
    pub async fn database_works<T, 'a>(
    +database_works in db_sqlx_postgres::dev::tests - Rust
    pub async fn database_works<T, 'a>(
         db: &T,
         p: &Register<'a>,
         c: &CreateCaptcha<'a>,
    diff --git a/db_sqlx_postgres/dev/tests/index.html b/db_sqlx_postgres/dev/tests/index.html
    index acdf27c4..0805c220 100644
    --- a/db_sqlx_postgres/dev/tests/index.html
    +++ b/db_sqlx_postgres/dev/tests/index.html
    @@ -1,2 +1,2 @@
    -db_sqlx_postgres::dev::tests - Rust

    Module db_sqlx_postgres::dev::tests

    Expand description

    Test utilities

    +db_sqlx_postgres::dev::tests - Rust

    Module db_sqlx_postgres::dev::tests

    source ·
    Expand description

    Test utilities

    Constants

    Functions

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.CloneSPDatabase.html b/db_sqlx_postgres/dev/trait.CloneSPDatabase.html index 9b7b080d..5017185e 100644 --- a/db_sqlx_postgres/dev/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/dev/trait.CloneSPDatabase.html @@ -1,7 +1,7 @@ -CloneSPDatabase in db_sqlx_postgres::dev - Rust
    pub trait CloneSPDatabase {
    +CloneSPDatabase in db_sqlx_postgres::dev - Rust
    pub trait CloneSPDatabase {
         // Required method
         fn clone_db(&self) -> Box<dyn MCDatabase>;
     }
    Expand description

    Trait to clone MCDatabase

    -

    Required Methods§

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    -

    Implementors§

    §

    impl<T> CloneSPDatabase for Twhere +

    Required Methods§

    source

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB

    +

    Implementors§

    source§

    impl<T> CloneSPDatabase for Twhere T: MCDatabase + Clone + 'static,

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.Connect.html b/db_sqlx_postgres/dev/trait.Connect.html index 3f715458..fa166e6a 100644 --- a/db_sqlx_postgres/dev/trait.Connect.html +++ b/db_sqlx_postgres/dev/trait.Connect.html @@ -1,4 +1,4 @@ -Connect in db_sqlx_postgres::dev - Rust
    pub trait Connect {
    +Connect in db_sqlx_postgres::dev - Rust
    pub trait Connect {
         type Pool: MCDatabase;
     
         // Required method
    @@ -7,8 +7,8 @@
         ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>
            where Self: 'async_trait;
     }
    Expand description

    Create database connection

    -

    Required Associated Types§

    type Pool: MCDatabase

    database specific pool-type

    -

    Required Methods§

    fn connect<'async_trait>( +

    Required Associated Types§

    source

    type Pool: MCDatabase

    database specific pool-type

    +

    Required Methods§

    source

    fn connect<'async_trait>( self ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait>>where Self: 'async_trait,

    database specific error-type diff --git a/db_sqlx_postgres/dev/trait.DBOps.html b/db_sqlx_postgres/dev/trait.DBOps.html index e7d27a4a..f488789e 100644 --- a/db_sqlx_postgres/dev/trait.DBOps.html +++ b/db_sqlx_postgres/dev/trait.DBOps.html @@ -1,2 +1,2 @@ -DBOps in db_sqlx_postgres::dev - Rust

    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    +DBOps in db_sqlx_postgres::dev - Rust
    pub trait DBOps: GetConnection + Migrate { }
    Expand description

    Database operations trait(migrations, pool creation and fetching connection from pool)

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.GetConnection.html b/db_sqlx_postgres/dev/trait.GetConnection.html index 840b14da..ccaab844 100644 --- a/db_sqlx_postgres/dev/trait.GetConnection.html +++ b/db_sqlx_postgres/dev/trait.GetConnection.html @@ -1,4 +1,4 @@ -GetConnection in db_sqlx_postgres::dev - Rust
    pub trait GetConnection {
    +GetConnection in db_sqlx_postgres::dev - Rust
    pub trait GetConnection {
         type Conn;
     
         // Required method
    @@ -8,8 +8,8 @@
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    Get database connection

    -

    Required Associated Types§

    type Conn

    database connection type

    -

    Required Methods§

    fn get_conn<'life0, 'async_trait>( +

    Required Associated Types§

    source

    type Conn

    database connection type

    +

    Required Methods§

    source

    fn get_conn<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, diff --git a/db_sqlx_postgres/dev/trait.MCDatabase.html b/db_sqlx_postgres/dev/trait.MCDatabase.html index b50bfd65..9b03e99e 100644 --- a/db_sqlx_postgres/dev/trait.MCDatabase.html +++ b/db_sqlx_postgres/dev/trait.MCDatabase.html @@ -1,5 +1,5 @@ -MCDatabase in db_sqlx_postgres::dev - Rust
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
    -
    Show 48 methods // Required methods +MCDatabase in db_sqlx_postgres::dev - Rust
    pub trait MCDatabase: Send + Sync + CloneSPDatabase {
    +
    Show 49 methods // Required methods fn ping<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>> @@ -212,6 +212,13 @@ 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait; + fn get_all_easy_captchas<'life0, 'async_trait>( + &'life0 self, + limit: usize, + offset: usize + ) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>> + where 'life0: 'async_trait, + Self: 'async_trait; fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, @@ -384,68 +391,68 @@ Self: 'async_trait { ... }
    }
    Expand description

    mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

    -

    Required Methods§

    fn ping<'life0, 'async_trait>( +

    Required Methods§

    source

    fn ping<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,

    ping DB

    -

    fn register<'life0, 'life1, 'async_trait>( +

    source

    fn register<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 Register<'_> ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    register a new user

    -

    fn delete_user<'life0, 'life1, 'async_trait>( +

    source

    fn delete_user<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    delete a user

    -

    fn username_exists<'life0, 'life1, 'async_trait>( +

    source

    fn username_exists<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    check if username exists

    -

    fn get_email<'life0, 'life1, 'async_trait>( +

    source

    fn get_email<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get user email

    -

    fn email_exists<'life0, 'life1, 'async_trait>( +

    source

    fn email_exists<'life0, 'life1, 'async_trait>( &'life0 self, email: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    check if email exists

    -

    fn update_email<'life0, 'life1, 'async_trait>( +

    source

    fn update_email<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 UpdateEmail<'_> ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    update a user’s email

    -

    fn get_password<'life0, 'life1, 'async_trait>( +

    source

    fn get_password<'life0, 'life1, 'async_trait>( &'life0 self, l: &'life1 Login<'_> ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get a user’s password

    -

    fn update_password<'life0, 'life1, 'async_trait>( +

    source

    fn update_password<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 NameHash ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    update user’s password

    -

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn update_username<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, current: &'life1 str, new: &'life2 str @@ -454,21 +461,21 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    update username

    -

    fn get_secret<'life0, 'life1, 'async_trait>( +

    source

    fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get a user’s secret

    -

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( +

    source

    fn get_secret_from_captcha<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get a user’s secret from a captcha key

    -

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn update_secret<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, secret: &'life2 str @@ -477,7 +484,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    update a user’s secret

    -

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn create_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, p: &'life2 CreateCaptcha<'_> @@ -486,7 +493,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    create new captcha

    -

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, key: &'life2 str @@ -495,14 +502,14 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Get captcha config

    -

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( +

    source

    fn get_all_user_captchas<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get all captchas belonging to user

    -

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, p: &'life2 CreateCaptcha<'_> @@ -511,7 +518,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    update captcha metadata; doesn’t change captcha key

    -

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( +

    source

    fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, username: &'life1 str, old_key: &'life2 str, @@ -522,7 +529,7 @@ trait.

    'life2: 'async_trait, 'life3: 'async_trait, Self: 'async_trait,

    update captcha key; doesn’t change metadata

    -

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( +

    source

    fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str, @@ -533,7 +540,7 @@ trait.

    'life2: 'async_trait, 'life3: 'async_trait, Self: 'async_trait,

    Add levels to captcha

    -

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: Option<&'life1 str>, captcha_key: &'life2 str @@ -542,7 +549,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    check if captcha exists

    -

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -551,7 +558,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Delete all levels of a captcha

    -

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -560,7 +567,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Delete captcha

    -

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: Option<&'life1 str>, captcha_key: &'life2 str @@ -569,14 +576,14 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Get captcha levels

    -

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( +

    source

    fn get_captcha_cooldown<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get captcha’s cooldown period

    -

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( +

    source

    fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str, @@ -587,7 +594,7 @@ trait.

    'life2: 'async_trait, 'life3: 'async_trait, Self: 'async_trait,

    Add traffic configuration

    -

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -596,7 +603,14 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Get traffic configuration

    -

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn get_all_easy_captchas<'life0, 'async_trait>( + &'life0 self, + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = Result<Vec<EasyCaptcha>, DBError>> + Send + 'async_trait>>where + 'life0: 'async_trait, + Self: 'async_trait,

    Get all easy captcha configurations on instance

    +
    source

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -605,21 +619,21 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    Delete traffic configuration

    -

    fn create_notification<'life0, 'life1, 'async_trait>( +

    source

    fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    create new notification

    -

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( +

    source

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    get all unread notifications

    -

    fn mark_notification_read<'life0, 'life1, 'async_trait>( +

    source

    fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str, id: i32 @@ -627,28 +641,28 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    mark a notification read

    -

    fn record_fetch<'life0, 'life1, 'async_trait>( +

    source

    fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    record PoWConfig fetches

    -

    fn record_solve<'life0, 'life1, 'async_trait>( +

    source

    fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    record PoWConfig solves

    -

    fn record_confirm<'life0, 'life1, 'async_trait>( +

    source

    fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    record PoWConfig confirms

    -

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -657,7 +671,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    fetch PoWConfig fetches

    -

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -666,7 +680,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    fetch PoWConfig solves

    -

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -675,7 +689,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    fetch PoWConfig confirms

    -

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( +

    source

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics @@ -684,7 +698,7 @@ trait.

    'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

    record PoW timing

    -

    fn analytics_fetch<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str, limit: usize, @@ -693,41 +707,41 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    fetch PoW analytics

    -

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    -

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get psuedo ID from campaign ID

    -

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, psuedo_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<String, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get campaign ID from psuedo ID

    -

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( +

    source

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, campaign_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Delete all records for campaign

    -

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( +

    source

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, page: usize ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,

    Get all psuedo IDs

    -

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( +

    source

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str, difficulty_factor: u32, @@ -736,7 +750,7 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Track maximum nonce received against captcha levels

    -

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( +

    source

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str, difficulty_factor: u32 @@ -744,13 +758,13 @@ trait.

    'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    -

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( +

    source

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, duration: u32 ) -> Pin<Box<dyn Future<Output = Result<usize, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, Self: 'async_trait,

    Get number of analytics entries that are under a certain duration

    -

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( +

    source

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, duration: u32, location: u32 @@ -758,11 +772,11 @@ trait.

    'life0: 'async_trait, Self: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit and sorted in ascending order

    -

    Provided Methods§

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( +

    Provided Methods§

    source

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, campaign_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

    Get publishing status of pow analytics for captcha ID/ campaign ID

    -

    Trait Implementations§

    §

    impl Clone for Box<dyn MCDatabase>

    §

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file +

    Trait Implementations§

    source§

    impl Clone for Box<dyn MCDatabase>

    source§

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more

    Implementors§

    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.Migrate.html b/db_sqlx_postgres/dev/trait.Migrate.html index fa0edd81..84451f0b 100644 --- a/db_sqlx_postgres/dev/trait.Migrate.html +++ b/db_sqlx_postgres/dev/trait.Migrate.html @@ -1,4 +1,4 @@ -Migrate in db_sqlx_postgres::dev - Rust
    pub trait Migrate: MCDatabase {
    +Migrate in db_sqlx_postgres::dev - Rust
    pub trait Migrate: MCDatabase {
         // Required method
         fn migrate<'life0, 'async_trait>(
             &'life0 self
    @@ -6,7 +6,7 @@
            where 'life0: 'async_trait,
                  Self: 'async_trait;
     }
    Expand description

    database migrations

    -

    Required Methods§

    fn migrate<'life0, 'async_trait>( +

    Required Methods§

    source

    fn migrate<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait>>where 'life0: 'async_trait, diff --git a/db_sqlx_postgres/dev/type.BoxDynError.html b/db_sqlx_postgres/dev/type.BoxDynError.html index 38b2039c..10312edd 100644 --- a/db_sqlx_postgres/dev/type.BoxDynError.html +++ b/db_sqlx_postgres/dev/type.BoxDynError.html @@ -1,2 +1,2 @@ -BoxDynError in db_sqlx_postgres::dev - Rust

    Type Alias db_sqlx_postgres::dev::BoxDynError

    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    +BoxDynError in db_sqlx_postgres::dev - Rust

    Type Alias db_sqlx_postgres::dev::BoxDynError

    source ·
    pub type BoxDynError = Box<dyn Error + Send + Sync>;
    Expand description

    Convenience type alias for grouping driver-specific errors

    Aliased Type§

    struct BoxDynError(/* private fields */);
    \ No newline at end of file diff --git a/db_sqlx_postgres/dev/type.DBResult.html b/db_sqlx_postgres/dev/type.DBResult.html index 2258a25c..d1c9e3e4 100644 --- a/db_sqlx_postgres/dev/type.DBResult.html +++ b/db_sqlx_postgres/dev/type.DBResult.html @@ -1,4 +1,4 @@ -DBResult in db_sqlx_postgres::dev - Rust

    Type Alias db_sqlx_postgres::dev::DBResult

    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    +DBResult in db_sqlx_postgres::dev - Rust

    Type Alias db_sqlx_postgres::dev::DBResult

    source ·
    pub type DBResult<V> = Result<V, DBError>;
    Expand description

    Generic result data structure

    Aliased Type§

    enum DBResult<V> {
         Ok(V),
         Err(DBError),
    diff --git a/db_sqlx_postgres/index.html b/db_sqlx_postgres/index.html
    index 4a77569f..3e27d427 100644
    --- a/db_sqlx_postgres/index.html
    +++ b/db_sqlx_postgres/index.html
    @@ -1,2 +1,2 @@
     db_sqlx_postgres - Rust

    Crate db_sqlx_postgres

    source ·

    Modules

    Structs

    Enums

    \ No newline at end of file +
  • All Items
  • Crate db_sqlx_postgres

    source ·

    Modules

    Structs

    Enums

    \ No newline at end of file diff --git a/db_sqlx_postgres/struct.Database.html b/db_sqlx_postgres/struct.Database.html index dcdbff23..ffdd2c4b 100644 --- a/db_sqlx_postgres/struct.Database.html +++ b/db_sqlx_postgres/struct.Database.html @@ -1,6 +1,6 @@ Database in db_sqlx_postgres - Rust
    pub struct Database {
         pub pool: PgPool,
    -}

    Fields§

    §pool: PgPool

    Trait Implementations§

    source§

    impl Clone for Database

    source§

    fn clone(&self) -> Database

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl MCDatabase for Database

    source§

    fn ping<'life0, 'async_trait>( +}

    Fields§

    §pool: PgPool

    Trait Implementations§

    source§

    impl Clone for Database

    source§

    fn clone(&self) -> Database

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl MCDatabase for Database

    source§

    fn ping<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where Self: 'async_trait, @@ -203,7 +203,7 @@ 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

    Add traffic configuration

    -
    source§

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( +

    source§

    fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -212,7 +212,14 @@ 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

    Get traffic configuration

    -
    source§

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( +

    source§

    fn get_all_easy_captchas<'life0, 'async_trait>( + &'life0 self, + limit: usize, + offset: usize +) -> Pin<Box<dyn Future<Output = DBResult<Vec<EasyCaptcha>>> + Send + 'async_trait>>where + Self: 'async_trait, + 'life0: 'async_trait,

    Get all easy captcha configurations on instance

    +
    source§

    fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, username: &'life1 str, captcha_key: &'life2 str @@ -221,21 +228,21 @@ 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

    Delete traffic configuration

    -
    source§

    fn create_notification<'life0, 'life1, 'async_trait>( +

    source§

    fn create_notification<'life0, 'life1, 'async_trait>( &'life0 self, p: &'life1 AddNotification<'_> ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    create new notification

    -
    source§

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( +

    source§

    fn get_all_unread_notifications<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Notification>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    get all unread notifications

    -
    source§

    fn mark_notification_read<'life0, 'life1, 'async_trait>( +

    source§

    fn mark_notification_read<'life0, 'life1, 'async_trait>( &'life0 self, username: &'life1 str, id: i32 @@ -243,28 +250,28 @@ Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    mark a notification read

    -
    source§

    fn record_fetch<'life0, 'life1, 'async_trait>( +

    source§

    fn record_fetch<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    record PoWConfig fetches

    -
    source§

    fn record_solve<'life0, 'life1, 'async_trait>( +

    source§

    fn record_solve<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    record PoWConfig solves

    -
    source§

    fn record_confirm<'life0, 'life1, 'async_trait>( +

    source§

    fn record_confirm<'life0, 'life1, 'async_trait>( &'life0 self, key: &'life1 str ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    record PoWConfig confirms

    -
    source§

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( +

    source§

    fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -273,7 +280,7 @@ 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

    fetch PoWConfig fetches

    -
    source§

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( +

    source§

    fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -282,7 +289,7 @@ 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

    fetch PoWConfig solves

    -
    source§

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( +

    source§

    fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, user: &'life1 str, key: &'life2 str @@ -291,7 +298,7 @@ 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

    fetch PoWConfig confirms

    -
    source§

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( +

    source§

    fn analysis_save<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, captcha_id: &'life1 str, d: &'life2 CreatePerformanceAnalytics @@ -300,7 +307,7 @@ 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

    record PoW timing

    -
    source§

    fn analytics_fetch<'life0, 'life1, 'async_trait>( +

    source§

    fn analytics_fetch<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str, limit: usize, @@ -309,34 +316,34 @@ Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    fetch PoW analytics

    -
    source§

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( +

    source§

    fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    Create psuedo ID against campaign ID to publish analytics

    -
    source§

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( +

    source§

    fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>( &'life0 self, captcha_id: &'life1 str ) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    Get psuedo ID from campaign ID

    -
    source§

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( +

    source§

    fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>( &'life0 self, psuedo_id: &'life1 str ) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    Get campaign ID from psuedo ID

    -
    source§

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( +

    source§

    fn analytics_get_all_psuedo_ids<'life0, 'async_trait>( &'life0 self, page: usize ) -> Pin<Box<dyn Future<Output = DBResult<Vec<String>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

    Get all psuedo IDs

    -
    source§

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( +

    source§

    fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str, difficulty_factor: u32, @@ -345,7 +352,7 @@ Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    Track maximum nonce received against captcha levels

    -
    source§

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( +

    source§

    fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>( &'life0 self, captcha_key: &'life1 str, difficulty_factor: u32 @@ -353,13 +360,13 @@ Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    Get maximum nonce tracked so far for captcha levels

    -
    source§

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( +

    source§

    fn stats_get_num_logs_under_time<'life0, 'async_trait>( &'life0 self, duration: u32 ) -> Pin<Box<dyn Future<Output = DBResult<usize>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

    Get number of analytics entries that are under a certain duration

    -
    source§

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( +

    source§

    fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>( &'life0 self, duration: u32, location: u32 @@ -367,13 +374,13 @@ Self: 'async_trait, 'life0: 'async_trait,

    Get the entry at a location in the list of analytics entires under a certain time limit and sorted in ascending order

    -
    source§

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( +

    source§

    fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>( &'life0 self, campaign_id: &'life1 str ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Delete all records for campaign
    §

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( + 'life1: 'async_trait,

    Delete all records for campaign
    source§

    fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>( &'life0 self, campaign_id: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait>>where @@ -387,8 +394,8 @@ and sorted in ascending order

    run migrations

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CloneSPDatabase for Twhere - T: MCDatabase + Clone + 'static,

    §

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + T: ?Sized,
    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneSPDatabase for Twhere + T: MCDatabase + Clone + 'static,

    source§

    fn clone_db(&self) -> Box<dyn MCDatabase>

    clone DB
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere diff --git a/db_sqlx_postgres/struct.InnerNotification.html b/db_sqlx_postgres/struct.InnerNotification.html index e53acd77..1a21eec4 100644 --- a/db_sqlx_postgres/struct.InnerNotification.html +++ b/db_sqlx_postgres/struct.InnerNotification.html @@ -1,4 +1,4 @@ -InnerNotification in db_sqlx_postgres - Rust
    pub struct InnerNotification {
    +InnerNotification in db_sqlx_postgres - Rust
    pub struct InnerNotification {
         pub name: Option<String>,
         pub heading: Option<String>,
         pub message: Option<String>,
    @@ -10,9 +10,9 @@
     
    §message: Option<String>

    message of the notification

    §received: Option<OffsetDateTime>

    when notification was received

    §id: Option<i32>

    db assigned ID of the notification

    -

    Trait Implementations§

    source§

    impl Clone for InnerNotification

    source§

    fn clone(&self) -> InnerNotification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for InnerNotification

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for InnerNotification

    source§

    fn default() -> InnerNotification

    Returns the “default value” for a type. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for InnerNotification

    source§

    fn eq(&self, other: &InnerNotification) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for InnerNotification

    source§

    fn clone(&self) -> InnerNotification

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for InnerNotification

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for InnerNotification

    source§

    fn default() -> InnerNotification

    Returns the “default value” for a type. Read more
    source§

    impl From<InnerNotification> for Notification

    source§

    fn from(n: InnerNotification) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for InnerNotification

    source§

    fn eq(&self, other: &InnerNotification) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl StructuralPartialEq for InnerNotification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl StructuralPartialEq for InnerNotification

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/mcaptcha/all.html b/mcaptcha/all.html index f3667760..685680c5 100644 --- a/mcaptcha/all.html +++ b/mcaptcha/all.html @@ -1 +1 @@ -List of all items in this crate

    List of all items

    Structs

    Enums

    Traits

    Macros

    Functions

    Type Aliases

    Constants

    \ No newline at end of file +List of all items in this crate

    List of all items

    Structs

    Enums

    Traits

    Macros

    Functions

    Type Aliases

    Constants

    \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/fn.calculate_with_percentile.html b/mcaptcha/api/v1/mcaptcha/easy/fn.calculate_with_percentile.html new file mode 100644 index 00000000..5c021a3e --- /dev/null +++ b/mcaptcha/api/v1/mcaptcha/easy/fn.calculate_with_percentile.html @@ -0,0 +1,4 @@ +calculate_with_percentile in mcaptcha::api::v1::mcaptcha::easy - Rust
    async fn calculate_with_percentile(
    +    data: &AppData,
    +    tp: &TrafficPattern
    +) -> Result<Option<Vec<Level>>, ServiceError>
    \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/fn.update_runner.html b/mcaptcha/api/v1/mcaptcha/easy/fn.update_runner.html new file mode 100644 index 00000000..0988bc18 --- /dev/null +++ b/mcaptcha/api/v1/mcaptcha/easy/fn.update_runner.html @@ -0,0 +1,5 @@ +update_runner in mcaptcha::api::v1::mcaptcha::easy - Rust
    pub async fn update_runner(
    +    data: &AppData,
    +    payload: UpdateTrafficPattern,
    +    username: String
    +) -> Result<(), ServiceError>
    \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/index.html b/mcaptcha/api/v1/mcaptcha/easy/index.html index 228f7f44..6d931968 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/index.html +++ b/mcaptcha/api/v1/mcaptcha/easy/index.html @@ -1 +1 @@ -mcaptcha::api::v1::mcaptcha::easy - Rust

    Module mcaptcha::api::v1::mcaptcha::easy

    source ·

    Modules

    Structs

    Functions

    \ No newline at end of file +mcaptcha::api::v1::mcaptcha::easy - Rust
    \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/sidebar-items.js b/mcaptcha/api/v1/mcaptcha/easy/sidebar-items.js index b92ed042..b37dbf58 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/sidebar-items.js +++ b/mcaptcha/api/v1/mcaptcha/easy/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"fn":["calculate","services"],"mod":["routes"],"struct":["TrafficPatternRequest","UpdateTrafficPattern","create","update"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":["calculate","calculate_with_percentile","services","update_runner"],"mod":["routes"],"struct":["TrafficPatternRequest","UpdateTrafficPattern","create","update"]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/struct.UpdateTrafficPattern.html b/mcaptcha/api/v1/mcaptcha/easy/struct.UpdateTrafficPattern.html index ee5de9bb..e7d57b25 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/struct.UpdateTrafficPattern.html +++ b/mcaptcha/api/v1/mcaptcha/easy/struct.UpdateTrafficPattern.html @@ -1,8 +1,8 @@ -UpdateTrafficPattern in mcaptcha::api::v1::mcaptcha::easy - Rust
    pub struct UpdateTrafficPattern {
    +UpdateTrafficPattern in mcaptcha::api::v1::mcaptcha::easy - Rust
    pub struct UpdateTrafficPattern {
         pub pattern: TrafficPatternRequest,
         pub key: String,
    -}

    Fields§

    §pattern: TrafficPatternRequest§key: String

    Trait Implementations§

    source§

    impl Clone for UpdateTrafficPattern

    source§

    fn clone(&self) -> UpdateTrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for UpdateTrafficPattern

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for UpdateTrafficPattern

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for UpdateTrafficPattern

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where +}

    Fields§

    §pattern: TrafficPatternRequest§key: String

    Trait Implementations§

    source§

    impl Clone for UpdateTrafficPattern

    source§

    fn clone(&self) -> UpdateTrafficPattern

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for UpdateTrafficPattern

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for UpdateTrafficPattern

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for UpdateTrafficPattern

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere diff --git a/mcaptcha/api/v1/mcaptcha/easy/struct.create.html b/mcaptcha/api/v1/mcaptcha/easy/struct.create.html index 10aa79b5..3f3e1626 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/struct.create.html +++ b/mcaptcha/api/v1/mcaptcha/easy/struct.create.html @@ -1,4 +1,4 @@ -create in mcaptcha::api::v1::mcaptcha::easy - Rust

    Struct mcaptcha::api::v1::mcaptcha::easy::create

    source ·
    pub struct create;

    Trait Implementations§

    source§

    impl HttpServiceFactory for create

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +create in mcaptcha::api::v1::mcaptcha::easy - Rust

    Struct mcaptcha::api::v1::mcaptcha::easy::create

    source ·
    pub struct create;

    Trait Implementations§

    source§

    impl HttpServiceFactory for create

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/mcaptcha/api/v1/mcaptcha/easy/struct.update.html b/mcaptcha/api/v1/mcaptcha/easy/struct.update.html index 815c3581..78dd1706 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/struct.update.html +++ b/mcaptcha/api/v1/mcaptcha/easy/struct.update.html @@ -1,4 +1,4 @@ -update in mcaptcha::api::v1::mcaptcha::easy - Rust

    Struct mcaptcha::api::v1::mcaptcha::easy::update

    source ·
    pub struct update;

    Trait Implementations§

    source§

    impl HttpServiceFactory for update

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +update in mcaptcha::api::v1::mcaptcha::easy - Rust

    Struct mcaptcha::api::v1::mcaptcha::easy::update

    source ·
    pub struct update;

    Trait Implementations§

    source§

    impl HttpServiceFactory for update

    source§

    fn register(self, __config: &mut AppService)

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/mcaptcha/constant.CACHE_AGE.html b/mcaptcha/constant.CACHE_AGE.html index eae82aa3..e23d36f4 100644 --- a/mcaptcha/constant.CACHE_AGE.html +++ b/mcaptcha/constant.CACHE_AGE.html @@ -1 +1 @@ -CACHE_AGE in mcaptcha - Rust

    Constant mcaptcha::CACHE_AGE

    source ·
    pub const CACHE_AGE: u32 = 604800;
    \ No newline at end of file +CACHE_AGE in mcaptcha - Rust

    Constant mcaptcha::CACHE_AGE

    source ·
    pub const CACHE_AGE: u32 = 604800;
    \ No newline at end of file diff --git a/mcaptcha/constant.COMPILED_DATE.html b/mcaptcha/constant.COMPILED_DATE.html index 15304fd3..78c5f9f0 100644 --- a/mcaptcha/constant.COMPILED_DATE.html +++ b/mcaptcha/constant.COMPILED_DATE.html @@ -1 +1 @@ -COMPILED_DATE in mcaptcha - Rust

    Constant mcaptcha::COMPILED_DATE

    source ·
    pub const COMPILED_DATE: &str = "2024January2024-01-04";
    \ No newline at end of file +COMPILED_DATE in mcaptcha - Rust

    Constant mcaptcha::COMPILED_DATE

    source ·
    pub const COMPILED_DATE: &str = "2024January2024-01-04";
    \ No newline at end of file diff --git a/mcaptcha/constant.GIT_COMMIT_HASH.html b/mcaptcha/constant.GIT_COMMIT_HASH.html index d7b79695..4b35a481 100644 --- a/mcaptcha/constant.GIT_COMMIT_HASH.html +++ b/mcaptcha/constant.GIT_COMMIT_HASH.html @@ -1 +1 @@ -GIT_COMMIT_HASH in mcaptcha - Rust

    Constant mcaptcha::GIT_COMMIT_HASH

    source ·
    pub const GIT_COMMIT_HASH: &str = "1b2096d955fbf9d047e5146117b34d34447db9f3";
    \ No newline at end of file +GIT_COMMIT_HASH in mcaptcha - Rust

    Constant mcaptcha::GIT_COMMIT_HASH

    source ·
    pub const GIT_COMMIT_HASH: &str = "6b8ee754dd836dae3da3e3b5ead926f4854da629";
    \ No newline at end of file diff --git a/mcaptcha/constant.PKG_DESCRIPTION.html b/mcaptcha/constant.PKG_DESCRIPTION.html index 77ff60b5..2d483ed2 100644 --- a/mcaptcha/constant.PKG_DESCRIPTION.html +++ b/mcaptcha/constant.PKG_DESCRIPTION.html @@ -1 +1 @@ -PKG_DESCRIPTION in mcaptcha - Rust

    Constant mcaptcha::PKG_DESCRIPTION

    source ·
    pub const PKG_DESCRIPTION: &str = "mCaptcha - a PoW-based CAPTCHA system";
    \ No newline at end of file +PKG_DESCRIPTION in mcaptcha - Rust

    Constant mcaptcha::PKG_DESCRIPTION

    source ·
    pub const PKG_DESCRIPTION: &str = "mCaptcha - a PoW-based CAPTCHA system";
    \ No newline at end of file diff --git a/mcaptcha/constant.PKG_HOMEPAGE.html b/mcaptcha/constant.PKG_HOMEPAGE.html index ea9b4e65..8b990b97 100644 --- a/mcaptcha/constant.PKG_HOMEPAGE.html +++ b/mcaptcha/constant.PKG_HOMEPAGE.html @@ -1 +1 @@ -PKG_HOMEPAGE in mcaptcha - Rust

    Constant mcaptcha::PKG_HOMEPAGE

    source ·
    pub const PKG_HOMEPAGE: &str = "https://mcaptcha.org";
    \ No newline at end of file +PKG_HOMEPAGE in mcaptcha - Rust

    Constant mcaptcha::PKG_HOMEPAGE

    source ·
    pub const PKG_HOMEPAGE: &str = "https://mcaptcha.org";
    \ No newline at end of file diff --git a/mcaptcha/constant.PKG_NAME.html b/mcaptcha/constant.PKG_NAME.html index a78019e0..0d346b35 100644 --- a/mcaptcha/constant.PKG_NAME.html +++ b/mcaptcha/constant.PKG_NAME.html @@ -1 +1 @@ -PKG_NAME in mcaptcha - Rust

    Constant mcaptcha::PKG_NAME

    source ·
    pub const PKG_NAME: &str = "mcaptcha";
    \ No newline at end of file +PKG_NAME in mcaptcha - Rust

    Constant mcaptcha::PKG_NAME

    source ·
    pub const PKG_NAME: &str = "mcaptcha";
    \ No newline at end of file diff --git a/mcaptcha/constant.VERSION.html b/mcaptcha/constant.VERSION.html index e9dafe73..e4324b52 100644 --- a/mcaptcha/constant.VERSION.html +++ b/mcaptcha/constant.VERSION.html @@ -1 +1 @@ -VERSION in mcaptcha - Rust

    Constant mcaptcha::VERSION

    source ·
    pub const VERSION: &str = "0.1.0";
    \ No newline at end of file +VERSION in mcaptcha - Rust

    Constant mcaptcha::VERSION

    source ·
    pub const VERSION: &str = "0.1.0";
    \ No newline at end of file diff --git a/mcaptcha/demo/constant.DEMO_PASSWORD.html b/mcaptcha/demo/constant.DEMO_PASSWORD.html index 9a65048c..c7c4da40 100644 --- a/mcaptcha/demo/constant.DEMO_PASSWORD.html +++ b/mcaptcha/demo/constant.DEMO_PASSWORD.html @@ -1,2 +1,2 @@ -DEMO_PASSWORD in mcaptcha::demo - Rust

    Constant mcaptcha::demo::DEMO_PASSWORD

    source ·
    pub const DEMO_PASSWORD: &str = "password";
    Expand description

    Demo password

    +DEMO_PASSWORD in mcaptcha::demo - Rust

    Constant mcaptcha::demo::DEMO_PASSWORD

    source ·
    pub const DEMO_PASSWORD: &str = "password";
    Expand description

    Demo password

    \ No newline at end of file diff --git a/mcaptcha/demo/constant.DEMO_USER.html b/mcaptcha/demo/constant.DEMO_USER.html index ee32bf6b..71e2f152 100644 --- a/mcaptcha/demo/constant.DEMO_USER.html +++ b/mcaptcha/demo/constant.DEMO_USER.html @@ -1,2 +1,2 @@ -DEMO_USER in mcaptcha::demo - Rust

    Constant mcaptcha::demo::DEMO_USER

    source ·
    pub const DEMO_USER: &str = "aaronsw";
    Expand description

    Demo username

    +DEMO_USER in mcaptcha::demo - Rust

    Constant mcaptcha::demo::DEMO_USER

    source ·
    pub const DEMO_USER: &str = "aaronsw";
    Expand description

    Demo username

    \ No newline at end of file diff --git a/mcaptcha/demo/index.html b/mcaptcha/demo/index.html index 342deb7c..f920a6c6 100644 --- a/mcaptcha/demo/index.html +++ b/mcaptcha/demo/index.html @@ -1 +1 @@ -mcaptcha::demo - Rust

    Module mcaptcha::demo

    source ·

    Structs

    Constants

    \ No newline at end of file +mcaptcha::demo - Rust

    Module mcaptcha::demo

    source ·

    Structs

    Constants

    \ No newline at end of file diff --git a/mcaptcha/demo/struct.DemoUser.html b/mcaptcha/demo/struct.DemoUser.html index fb74d8fb..9c837f14 100644 --- a/mcaptcha/demo/struct.DemoUser.html +++ b/mcaptcha/demo/struct.DemoUser.html @@ -1,13 +1,14 @@ -DemoUser in mcaptcha::demo - Rust

    Struct mcaptcha::demo::DemoUser

    source ·
    pub struct DemoUser {
    -    handle: JoinHandle<()>,
    -}

    Fields§

    §handle: JoinHandle<()>

    Implementations§

    source§

    impl DemoUser

    source

    pub async fn spawn( +DemoUser in mcaptcha::demo - Rust

    Struct mcaptcha::demo::DemoUser

    source ·
    pub struct DemoUser {
    +    tx: Sender<()>,
    +}

    Fields§

    §tx: Sender<()>

    Implementations§

    source§

    impl DemoUser

    source

    pub async fn spawn( data: AppData, - duration: Duration -) -> Result<Self, ServiceError>

    source

    pub fn abort(&self)

    source

    async fn register_demo_user(data: &AppData) -> Result<(), ServiceError>

    register demo user runner

    -
    source

    async fn delete_demo_user(data: &AppData) -> Result<(), ServiceError>

    source

    pub async fn run( + duration: u32 +) -> Result<(Self, JoinHandle<()>), ServiceError>

    source

    pub fn abort(self)

    source

    async fn register_demo_user(data: &AppData) -> Result<(), ServiceError>

    register demo user runner

    +
    source

    async fn delete_demo_user(data: &AppData) -> Result<(), ServiceError>

    source

    pub async fn run( data: AppData, - duration: Duration -) -> Result<JoinHandle<()>, ServiceError>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + duration: u32, + rx: Receiver<()> +) -> Result<JoinHandle<()>, ServiceError>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/mcaptcha/easy/index.html b/mcaptcha/easy/index.html new file mode 100644 index 00000000..79b7e756 --- /dev/null +++ b/mcaptcha/easy/index.html @@ -0,0 +1 @@ +mcaptcha::easy - Rust
    \ No newline at end of file diff --git a/mcaptcha/easy/sidebar-items.js b/mcaptcha/easy/sidebar-items.js new file mode 100644 index 00000000..3c427cd2 --- /dev/null +++ b/mcaptcha/easy/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"struct":["UpdateEasyCaptcha"]}; \ No newline at end of file diff --git a/mcaptcha/easy/struct.UpdateEasyCaptcha.html b/mcaptcha/easy/struct.UpdateEasyCaptcha.html new file mode 100644 index 00000000..bf9848ed --- /dev/null +++ b/mcaptcha/easy/struct.UpdateEasyCaptcha.html @@ -0,0 +1,30 @@ +UpdateEasyCaptcha in mcaptcha::easy - Rust
    pub struct UpdateEasyCaptcha {
    +    tx: Sender<()>,
    +}

    Fields§

    §tx: Sender<()>

    Implementations§

    source§

    impl UpdateEasyCaptcha

    source

    pub async fn spawn( + data: AppData, + duration: u32 +) -> Result<(Self, JoinHandle<()>), ServiceError>

    source

    pub fn abort(self)

    source

    async fn update_captcha_configurations( + data: &AppData, + rx: &mut Receiver<()> +) -> Result<(), ServiceError>

    update configurations

    +
    source

    fn can_run(rx: &mut Receiver<()>) -> bool

    source

    pub async fn run( + data: AppData, + duration: u32, + rx: Receiver<()> +) -> Result<JoinHandle<()>, ServiceError>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T> Instrument for T

    source§

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
    source§

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for Twhere + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for Twhere + U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for Twhere + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> WithSubscriber for T

    source§

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    source§

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/mcaptcha/fn.get_identity_service.html b/mcaptcha/fn.get_identity_service.html index 639c7fed..f8a67df0 100644 --- a/mcaptcha/fn.get_identity_service.html +++ b/mcaptcha/fn.get_identity_service.html @@ -1,3 +1,3 @@ -get_identity_service in mcaptcha - Rust
    pub fn get_identity_service(
    +get_identity_service in mcaptcha - Rust
    pub fn get_identity_service(
         settings: &Settings
     ) -> IdentityService<CookieIdentityPolicy>
    \ No newline at end of file diff --git a/mcaptcha/fn.get_json_err.html b/mcaptcha/fn.get_json_err.html index b4a29b51..078db149 100644 --- a/mcaptcha/fn.get_json_err.html +++ b/mcaptcha/fn.get_json_err.html @@ -1 +1 @@ -get_json_err in mcaptcha - Rust

    Function mcaptcha::get_json_err

    source ·
    pub fn get_json_err() -> JsonConfig
    \ No newline at end of file +get_json_err in mcaptcha - Rust

    Function mcaptcha::get_json_err

    source ·
    pub fn get_json_err() -> JsonConfig
    \ No newline at end of file diff --git a/mcaptcha/fn.main.html b/mcaptcha/fn.main.html index 3658a661..ee519a37 100644 --- a/mcaptcha/fn.main.html +++ b/mcaptcha/fn.main.html @@ -1 +1 @@ -main in mcaptcha - Rust

    Function mcaptcha::main

    source ·
    pub(crate) fn main() -> Result<()>
    \ No newline at end of file +main in mcaptcha - Rust

    Function mcaptcha::main

    source ·
    pub(crate) fn main() -> Result<()>
    \ No newline at end of file diff --git a/mcaptcha/index.html b/mcaptcha/index.html index bf413100..0a5ebfff 100644 --- a/mcaptcha/index.html +++ b/mcaptcha/index.html @@ -1,2 +1,2 @@ mcaptcha - Rust
    \ No newline at end of file +
  • All Items
  • \ No newline at end of file diff --git a/mcaptcha/settings/constant.DEPRECATED_ENV_VARS.html b/mcaptcha/settings/constant.DEPRECATED_ENV_VARS.html index 3479f2ff..1b001c3a 100644 --- a/mcaptcha/settings/constant.DEPRECATED_ENV_VARS.html +++ b/mcaptcha/settings/constant.DEPRECATED_ENV_VARS.html @@ -1 +1 @@ -DEPRECATED_ENV_VARS in mcaptcha::settings - Rust
    const DEPRECATED_ENV_VARS: [(&str, &str); 23];
    \ No newline at end of file +DEPRECATED_ENV_VARS in mcaptcha::settings - Rust
    const DEPRECATED_ENV_VARS: [(&str, &str); 23];
    \ No newline at end of file diff --git a/mcaptcha/settings/constant.ENV_VAR_CONFIG.html b/mcaptcha/settings/constant.ENV_VAR_CONFIG.html index 6119cca8..31318932 100644 --- a/mcaptcha/settings/constant.ENV_VAR_CONFIG.html +++ b/mcaptcha/settings/constant.ENV_VAR_CONFIG.html @@ -1 +1 @@ -ENV_VAR_CONFIG in mcaptcha::settings - Rust
    const ENV_VAR_CONFIG: [(&str, &str); 29];
    \ No newline at end of file +ENV_VAR_CONFIG in mcaptcha::settings - Rust
    const ENV_VAR_CONFIG: [(&str, &str); 32];
    \ No newline at end of file diff --git a/mcaptcha/settings/enum.DBType.html b/mcaptcha/settings/enum.DBType.html index e0109053..b46efaed 100644 --- a/mcaptcha/settings/enum.DBType.html +++ b/mcaptcha/settings/enum.DBType.html @@ -1,11 +1,11 @@ -DBType in mcaptcha::settings - Rust
    pub enum DBType {
    +DBType in mcaptcha::settings - Rust
    pub enum DBType {
         Postgres,
         Maria,
    -}

    Variants§

    §

    Postgres

    §

    Maria

    Implementations§

    source§

    impl DBType

    source

    fn from_url(url: &Url) -> Result<Self, ConfigError>

    Trait Implementations§

    source§

    impl Clone for DBType

    source§

    fn clone(&self) -> DBType

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for DBType

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for DBType

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Display for DBType

    source§

    fn fmt(&self, _derive_more_display_formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl PartialEq for DBType

    source§

    fn eq(&self, other: &DBType) -> bool

    This method tests for self and other values to be equal, and is used +}

    Variants§

    §

    Postgres

    §

    Maria

    Implementations§

    source§

    impl DBType

    source

    fn from_url(url: &Url) -> Result<Self, ConfigError>

    Trait Implementations§

    source§

    impl Clone for DBType

    source§

    fn clone(&self) -> DBType

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for DBType

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for DBType

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Display for DBType

    source§

    fn fmt(&self, _derive_more_display_formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl PartialEq for DBType

    source§

    fn eq(&self, other: &DBType) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for DBType

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for DBType

    source§

    impl StructuralEq for DBType

    source§

    impl StructuralPartialEq for DBType

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for DBType

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for DBType

    source§

    impl StructuralEq for DBType

    source§

    impl StructuralPartialEq for DBType

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/mcaptcha/settings/index.html b/mcaptcha/settings/index.html index 70e201d7..e7e3f314 100644 --- a/mcaptcha/settings/index.html +++ b/mcaptcha/settings/index.html @@ -1 +1 @@ -mcaptcha::settings - Rust
    \ No newline at end of file +mcaptcha::settings - Rust
    \ No newline at end of file diff --git a/mcaptcha/settings/struct.Database.html b/mcaptcha/settings/struct.Database.html index e0fbb6a4..92cc9b2f 100644 --- a/mcaptcha/settings/struct.Database.html +++ b/mcaptcha/settings/struct.Database.html @@ -1,11 +1,11 @@ -Database in mcaptcha::settings - Rust

    Struct mcaptcha::settings::Database

    source ·
    pub struct Database {
    +Database in mcaptcha::settings - Rust

    Struct mcaptcha::settings::Database

    source ·
    pub struct Database {
         pub url: String,
         pub pool: u32,
         pub database_type: DBType,
    -}

    Fields§

    §url: String§pool: u32§database_type: DBType

    Trait Implementations§

    source§

    impl Clone for Database

    source§

    fn clone(&self) -> Database

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Database

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Database

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Database

    source§

    fn eq(&self, other: &Database) -> bool

    This method tests for self and other values to be equal, and is used +}

    Fields§

    §url: String§pool: u32§database_type: DBType

    Trait Implementations§

    source§

    impl Clone for Database

    source§

    fn clone(&self) -> Database

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Database

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Database

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Database

    source§

    fn eq(&self, other: &Database) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Database

    source§

    impl StructuralEq for Database

    source§

    impl StructuralPartialEq for Database

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for Database

    source§

    impl StructuralEq for Database

    source§

    impl StructuralPartialEq for Database

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/mcaptcha/settings/struct.DefaultDifficultyStrategy.html b/mcaptcha/settings/struct.DefaultDifficultyStrategy.html index f9e86094..af54304e 100644 --- a/mcaptcha/settings/struct.DefaultDifficultyStrategy.html +++ b/mcaptcha/settings/struct.DefaultDifficultyStrategy.html @@ -1,9 +1,12 @@ -DefaultDifficultyStrategy in mcaptcha::settings - Rust
    pub struct DefaultDifficultyStrategy {
    +DefaultDifficultyStrategy in mcaptcha::settings - Rust
    pub struct DefaultDifficultyStrategy {
         pub avg_traffic_difficulty: u32,
    -    pub broke_my_site_traffic_difficulty: u32,
    +    pub avg_traffic_time: Option<u32>,
         pub peak_sustainable_traffic_difficulty: u32,
    +    pub peak_sustainable_traffic_time: Option<u32>,
    +    pub broke_my_site_traffic_time: Option<u32>,
    +    pub broke_my_site_traffic_difficulty: u32,
         pub duration: u32,
    -}

    Fields§

    §avg_traffic_difficulty: u32§broke_my_site_traffic_difficulty: u32§peak_sustainable_traffic_difficulty: u32§duration: u32

    Trait Implementations§

    source§

    impl Clone for DefaultDifficultyStrategy

    source§

    fn clone(&self) -> DefaultDifficultyStrategy

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for DefaultDifficultyStrategy

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for DefaultDifficultyStrategy

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +}

    Fields§

    §avg_traffic_difficulty: u32§avg_traffic_time: Option<u32>§peak_sustainable_traffic_difficulty: u32§peak_sustainable_traffic_time: Option<u32>§broke_my_site_traffic_time: Option<u32>§broke_my_site_traffic_difficulty: u32§duration: u32

    Trait Implementations§

    source§

    impl Clone for DefaultDifficultyStrategy

    source§

    fn clone(&self) -> DefaultDifficultyStrategy

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for DefaultDifficultyStrategy

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for DefaultDifficultyStrategy

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for DefaultDifficultyStrategy

    source§

    fn eq(&self, other: &DefaultDifficultyStrategy) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for DefaultDifficultyStrategy

    source§

    impl StructuralEq for DefaultDifficultyStrategy

    source§

    impl StructuralPartialEq for DefaultDifficultyStrategy

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere diff --git a/mcaptcha/settings/struct.Redis.html b/mcaptcha/settings/struct.Redis.html index 9915bab6..fe044190 100644 --- a/mcaptcha/settings/struct.Redis.html +++ b/mcaptcha/settings/struct.Redis.html @@ -1,10 +1,10 @@ -Redis in mcaptcha::settings - Rust

    Struct mcaptcha::settings::Redis

    source ·
    pub struct Redis {
    +Redis in mcaptcha::settings - Rust

    Struct mcaptcha::settings::Redis

    source ·
    pub struct Redis {
         pub url: String,
         pub pool: u32,
    -}

    Fields§

    §url: String§pool: u32

    Trait Implementations§

    source§

    impl Clone for Redis

    source§

    fn clone(&self) -> Redis

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Redis

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Redis

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Redis

    source§

    fn eq(&self, other: &Redis) -> bool

    This method tests for self and other values to be equal, and is used +}

    Fields§

    §url: String§pool: u32

    Trait Implementations§

    source§

    impl Clone for Redis

    source§

    fn clone(&self) -> Redis

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Redis

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Redis

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Redis

    source§

    fn eq(&self, other: &Redis) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Redis

    source§

    impl StructuralEq for Redis

    source§

    impl StructuralPartialEq for Redis

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Redis

    §

    impl Send for Redis

    §

    impl Sync for Redis

    §

    impl Unpin for Redis

    §

    impl UnwindSafe for Redis

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for Redis

    source§

    impl StructuralEq for Redis

    source§

    impl StructuralPartialEq for Redis

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Redis

    §

    impl Send for Redis

    §

    impl Sync for Redis

    §

    impl Unpin for Redis

    §

    impl UnwindSafe for Redis

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/mcaptcha/settings/struct.Server.html b/mcaptcha/settings/struct.Server.html index b55f51e9..c35c8e6e 100644 --- a/mcaptcha/settings/struct.Server.html +++ b/mcaptcha/settings/struct.Server.html @@ -5,7 +5,7 @@ pub ip: String, pub url_prefix: Option<String>, pub proxy_has_tls: bool, -}

    Fields§

    §port: u32§domain: String§cookie_secret: String§ip: String§url_prefix: Option<String>§proxy_has_tls: bool

    Implementations§

    source§

    impl Server

    source

    pub fn get_ip(&self) -> String

    Trait Implementations§

    source§

    impl Clone for Server

    source§

    fn clone(&self) -> Server

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Server

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Server

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +}

    Fields§

    §port: u32§domain: String§cookie_secret: String§ip: String§url_prefix: Option<String>§proxy_has_tls: bool

    Implementations§

    source§

    impl Server

    source

    pub fn get_ip(&self) -> String

    Trait Implementations§

    source§

    impl Clone for Server

    source§

    fn clone(&self) -> Server

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Server

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Server

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Server

    source§

    fn eq(&self, other: &Server) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Server

    source§

    impl StructuralEq for Server

    source§

    impl StructuralPartialEq for Server

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere diff --git a/mcaptcha/settings/struct.Settings.html b/mcaptcha/settings/struct.Settings.html index a6602ead..c171b2f3 100644 --- a/mcaptcha/settings/struct.Settings.html +++ b/mcaptcha/settings/struct.Settings.html @@ -1,4 +1,4 @@ -Settings in mcaptcha::settings - Rust

    Struct mcaptcha::settings::Settings

    source ·
    pub struct Settings {
    +Settings in mcaptcha::settings - Rust

    Struct mcaptcha::settings::Settings

    source ·
    pub struct Settings {
         pub debug: bool,
         pub commercial: bool,
         pub source_code: String,
    @@ -10,10 +10,10 @@
         pub server: Server,
         pub captcha: Captcha,
         pub smtp: Option<Smtp>,
    -}

    Fields§

    §debug: bool§commercial: bool§source_code: String§allow_registration: bool§allow_demo: bool§database: Database§survey: Option<Survey>§redis: Option<Redis>§server: Server§captcha: Captcha§smtp: Option<Smtp>

    Implementations§

    source§

    impl Settings

    source

    pub fn new() -> Result<Self, ConfigError>

    source

    fn env_override(s: ConfigBuilder<DefaultState>) -> ConfigBuilder<DefaultState>

    source

    fn set_database_type(&mut self)

    source

    fn check_url(&self)

    Trait Implementations§

    source§

    impl Clone for Settings

    source§

    fn clone(&self) -> Settings

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Settings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Settings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Settings

    source§

    fn eq(&self, other: &Settings) -> bool

    This method tests for self and other values to be equal, and is used +}

    Fields§

    §debug: bool§commercial: bool§source_code: String§allow_registration: bool§allow_demo: bool§database: Database§survey: Option<Survey>§redis: Option<Redis>§server: Server§captcha: Captcha§smtp: Option<Smtp>

    Implementations§

    source§

    impl Settings

    source

    pub fn new() -> Result<Self, ConfigError>

    source

    fn check_easy_captcha_config(&self)

    source

    fn env_override(s: ConfigBuilder<DefaultState>) -> ConfigBuilder<DefaultState>

    source

    fn set_database_type(&mut self)

    source

    fn check_url(&self)

    Trait Implementations§

    source§

    impl Clone for Settings

    source§

    fn clone(&self) -> Settings

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Settings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Settings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Settings

    source§

    fn eq(&self, other: &Settings) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Settings

    source§

    impl StructuralEq for Settings

    source§

    impl StructuralPartialEq for Settings

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for Settings

    source§

    impl StructuralEq for Settings

    source§

    impl StructuralPartialEq for Settings

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/mcaptcha/settings/struct.Smtp.html b/mcaptcha/settings/struct.Smtp.html index a74da6dc..3147b740 100644 --- a/mcaptcha/settings/struct.Smtp.html +++ b/mcaptcha/settings/struct.Smtp.html @@ -1,14 +1,14 @@ -Smtp in mcaptcha::settings - Rust

    Struct mcaptcha::settings::Smtp

    source ·
    pub struct Smtp {
    +Smtp in mcaptcha::settings - Rust

    Struct mcaptcha::settings::Smtp

    source ·
    pub struct Smtp {
         pub from: String,
         pub reply: String,
         pub url: String,
         pub username: String,
         pub password: String,
         pub port: u16,
    -}

    Fields§

    §from: String§reply: String§url: String§username: String§password: String§port: u16

    Trait Implementations§

    source§

    impl Clone for Smtp

    source§

    fn clone(&self) -> Smtp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Smtp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Smtp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Smtp

    source§

    fn eq(&self, other: &Smtp) -> bool

    This method tests for self and other values to be equal, and is used +}

    Fields§

    §from: String§reply: String§url: String§username: String§password: String§port: u16

    Trait Implementations§

    source§

    impl Clone for Smtp

    source§

    fn clone(&self) -> Smtp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Smtp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Smtp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Smtp

    source§

    fn eq(&self, other: &Smtp) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Smtp

    source§

    impl StructuralEq for Smtp

    source§

    impl StructuralPartialEq for Smtp

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Smtp

    §

    impl Send for Smtp

    §

    impl Sync for Smtp

    §

    impl Unpin for Smtp

    §

    impl UnwindSafe for Smtp

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for Smtp

    source§

    impl StructuralEq for Smtp

    source§

    impl StructuralPartialEq for Smtp

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for Smtp

    §

    impl Send for Smtp

    §

    impl Sync for Smtp

    §

    impl Unpin for Smtp

    §

    impl UnwindSafe for Smtp

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/mcaptcha/settings/struct.Survey.html b/mcaptcha/settings/struct.Survey.html index 93282c6a..d595ec0d 100644 --- a/mcaptcha/settings/struct.Survey.html +++ b/mcaptcha/settings/struct.Survey.html @@ -1,11 +1,11 @@ -Survey in mcaptcha::settings - Rust

    Struct mcaptcha::settings::Survey

    source ·
    pub struct Survey {
    +Survey in mcaptcha::settings - Rust

    Struct mcaptcha::settings::Survey

    source ·
    pub struct Survey {
         pub nodes: Vec<Url>,
         pub rate_limit: u64,
         pub instance_root_url: Url,
    -}

    Fields§

    §nodes: Vec<Url>§rate_limit: u64§instance_root_url: Url

    Trait Implementations§

    source§

    impl Clone for Survey

    source§

    fn clone(&self) -> Survey

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Survey

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Survey

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Survey

    source§

    fn eq(&self, other: &Survey) -> bool

    This method tests for self and other values to be equal, and is used +}

    Fields§

    §nodes: Vec<Url>§rate_limit: u64§instance_root_url: Url

    Trait Implementations§

    source§

    impl Clone for Survey

    source§

    fn clone(&self) -> Survey

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Survey

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Survey

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Survey

    source§

    fn eq(&self, other: &Survey) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Survey

    source§

    impl StructuralEq for Survey

    source§

    impl StructuralPartialEq for Survey

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for Survey

    source§

    impl StructuralEq for Survey

    source§

    impl StructuralPartialEq for Survey

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/mcaptcha/sidebar-items.js b/mcaptcha/sidebar-items.js index 62099a76..217fdc69 100644 --- a/mcaptcha/sidebar-items.js +++ b/mcaptcha/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"constant":["CACHE_AGE","COMPILED_DATE","DOCS","GIT_COMMIT_HASH","PAGES","PKG_DESCRIPTION","PKG_HOMEPAGE","PKG_NAME","V1_API_ROUTES","VERSION","WIDGET_ROUTES"],"fn":["get_identity_service","get_json_err","main"],"mod":["api","data","date","db","demo","docs","email","errors","pages","routes","settings","static_assets","stats","survey","widget"],"struct":["BAR_CHART","CREDIT_CARD","CSS","DOCS_ICON","Data","FILES","GITHUB","HELP_CIRCLE","HOME","JS","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","MOBILE_CSS","SETTINGS","SETTINGS_ICON","SOURCE_FILES_OF_INSTANCE","Settings","VERIFICATIN_WIDGET_CSS","VERIFICATIN_WIDGET_JS"],"type":["AppData","ArcData"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":["CACHE_AGE","COMPILED_DATE","DOCS","GIT_COMMIT_HASH","PAGES","PKG_DESCRIPTION","PKG_HOMEPAGE","PKG_NAME","V1_API_ROUTES","VERSION","WIDGET_ROUTES"],"fn":["get_identity_service","get_json_err","main"],"mod":["api","data","date","db","demo","docs","easy","email","errors","pages","routes","settings","static_assets","stats","survey","widget"],"struct":["BAR_CHART","CREDIT_CARD","CSS","DOCS_ICON","Data","FILES","GITHUB","HELP_CIRCLE","HOME","JS","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","MOBILE_CSS","SETTINGS","SETTINGS_ICON","SOURCE_FILES_OF_INSTANCE","Settings","VERIFICATIN_WIDGET_CSS","VERIFICATIN_WIDGET_JS"],"type":["AppData","ArcData"]}; \ No newline at end of file diff --git a/mcaptcha/struct.CSS.html b/mcaptcha/struct.CSS.html index fad4a237..673924a0 100644 --- a/mcaptcha/struct.CSS.html +++ b/mcaptcha/struct.CSS.html @@ -1,4 +1,4 @@ -CSS in mcaptcha - Rust

    Struct mcaptcha::CSS

    source ·
    pub struct CSS {
    +CSS in mcaptcha - Rust

    Struct mcaptcha::CSS

    source ·
    pub struct CSS {
         pub(crate) __private_field: (),
     }

    Fields§

    §__private_field: ()

    Methods from Deref<Target = &'static str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of self.

    This length is in bytes, not chars or graphemes. In other words, @@ -1170,7 +1170,7 @@ but non-ASCII letters are unchanged.

    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations§

    source§

    impl Deref for CSS

    §

    type Target = &'static str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &&'static str

    Dereferences the value.
    source§

    impl LazyStatic for CSS

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for CSS

    §

    impl Send for CSS

    §

    impl Sync for CSS

    §

    impl Unpin for CSS

    §

    impl UnwindSafe for CSS

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Trait Implementations§

    source§

    impl Deref for CSS

    §

    type Target = &'static str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &&'static str

    Dereferences the value.
    source§

    impl LazyStatic for CSS

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for CSS

    §

    impl Send for CSS

    §

    impl Sync for CSS

    §

    impl Unpin for CSS

    §

    impl UnwindSafe for CSS

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/mcaptcha/struct.FILES.html b/mcaptcha/struct.FILES.html index 852fbaad..cef8dade 100644 --- a/mcaptcha/struct.FILES.html +++ b/mcaptcha/struct.FILES.html @@ -1,6 +1,6 @@ -FILES in mcaptcha - Rust

    Struct mcaptcha::FILES

    source ·
    pub struct FILES {
    +FILES in mcaptcha - Rust

    Struct mcaptcha::FILES

    source ·
    pub struct FILES {
         pub(crate) __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = FileMap>§

    source

    pub fn get<'a>(&'a self, path: &'a str) -> Option<&'a str>

    Trait Implementations§

    source§

    impl Deref for FILES

    §

    type Target = FileMap

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &FileMap

    Dereferences the value.
    source§

    impl LazyStatic for FILES

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for FILES

    §

    impl Send for FILES

    §

    impl Sync for FILES

    §

    impl Unpin for FILES

    §

    impl UnwindSafe for FILES

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = FileMap>§

    source

    pub fn get<'a>(&'a self, path: &'a str) -> Option<&'a str>

    Trait Implementations§

    source§

    impl Deref for FILES

    §

    type Target = FileMap

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &FileMap

    Dereferences the value.
    source§

    impl LazyStatic for FILES

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for FILES

    §

    impl Send for FILES

    §

    impl Sync for FILES

    §

    impl Unpin for FILES

    §

    impl UnwindSafe for FILES

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/mcaptcha/struct.JS.html b/mcaptcha/struct.JS.html index 9a249f50..a891165f 100644 --- a/mcaptcha/struct.JS.html +++ b/mcaptcha/struct.JS.html @@ -1,4 +1,4 @@ -JS in mcaptcha - Rust

    Struct mcaptcha::JS

    source ·
    pub struct JS {
    +JS in mcaptcha - Rust

    Struct mcaptcha::JS

    source ·
    pub struct JS {
         pub(crate) __private_field: (),
     }

    Fields§

    §__private_field: ()

    Methods from Deref<Target = &'static str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of self.

    This length is in bytes, not chars or graphemes. In other words, @@ -1170,7 +1170,7 @@ but non-ASCII letters are unchanged.

    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations§

    source§

    impl Deref for JS

    §

    type Target = &'static str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &&'static str

    Dereferences the value.
    source§

    impl LazyStatic for JS

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for JS

    §

    impl Send for JS

    §

    impl Sync for JS

    §

    impl Unpin for JS

    §

    impl UnwindSafe for JS

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Trait Implementations§

    source§

    impl Deref for JS

    §

    type Target = &'static str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &&'static str

    Dereferences the value.
    source§

    impl LazyStatic for JS

    Auto Trait Implementations§

    §

    impl RefUnwindSafe for JS

    §

    impl Send for JS

    §

    impl Sync for JS

    §

    impl Unpin for JS

    §

    impl UnwindSafe for JS

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/mcaptcha/struct.MOBILE_CSS.html b/mcaptcha/struct.MOBILE_CSS.html index 19af3826..237d05ed 100644 --- a/mcaptcha/struct.MOBILE_CSS.html +++ b/mcaptcha/struct.MOBILE_CSS.html @@ -1,4 +1,4 @@ -MOBILE_CSS in mcaptcha - Rust

    Struct mcaptcha::MOBILE_CSS

    source ·
    pub struct MOBILE_CSS {
    +MOBILE_CSS in mcaptcha - Rust

    Struct mcaptcha::MOBILE_CSS

    source ·
    pub struct MOBILE_CSS {
         pub(crate) __private_field: (),
     }

    Fields§

    §__private_field: ()

    Methods from Deref<Target = &'static str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of self.

    This length is in bytes, not chars or graphemes. In other words, @@ -1170,7 +1170,7 @@ but non-ASCII letters are unchanged.

    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations§

    source§

    impl Deref for MOBILE_CSS

    §

    type Target = &'static str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &&'static str

    Dereferences the value.
    source§

    impl LazyStatic for MOBILE_CSS

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Trait Implementations§

    source§

    impl Deref for MOBILE_CSS

    §

    type Target = &'static str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &&'static str

    Dereferences the value.
    source§

    impl LazyStatic for MOBILE_CSS

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/mcaptcha/struct.SETTINGS.html b/mcaptcha/struct.SETTINGS.html index 02811ee3..22b0af1d 100644 --- a/mcaptcha/struct.SETTINGS.html +++ b/mcaptcha/struct.SETTINGS.html @@ -1,6 +1,6 @@ -SETTINGS in mcaptcha - Rust

    Struct mcaptcha::SETTINGS

    source ·
    pub struct SETTINGS {
    +SETTINGS in mcaptcha - Rust

    Struct mcaptcha::SETTINGS

    source ·
    pub struct SETTINGS {
         pub(crate) __private_field: (),
    -}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = Settings>§

    source

    fn check_url(&self)

    Trait Implementations§

    source§

    impl Deref for SETTINGS

    §

    type Target = Settings

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Settings

    Dereferences the value.
    source§

    impl LazyStatic for SETTINGS

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +}

    Fields§

    §__private_field: ()

    Methods from Deref<Target = Settings>§

    Trait Implementations§

    source§

    impl Deref for SETTINGS

    §

    type Target = Settings

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Settings

    Dereferences the value.
    source§

    impl LazyStatic for SETTINGS

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html b/mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html index 0258f149..831671ef 100644 --- a/mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html +++ b/mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html @@ -1,4 +1,4 @@ -SOURCE_FILES_OF_INSTANCE in mcaptcha - Rust
    pub struct SOURCE_FILES_OF_INSTANCE {
    +SOURCE_FILES_OF_INSTANCE in mcaptcha - Rust
    pub struct SOURCE_FILES_OF_INSTANCE {
         pub(crate) __private_field: (),
     }
    Expand description

    points to source files matching build commit

    Fields§

    §__private_field: ()

    Methods from Deref<Target = String>§

    1.7.0 · source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    @@ -1344,7 +1344,7 @@ but non-ASCII letters are unchanged.

    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations§

    source§

    impl Deref for SOURCE_FILES_OF_INSTANCE

    §

    type Target = String

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &String

    Dereferences the value.
    source§

    impl LazyStatic for SOURCE_FILES_OF_INSTANCE

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Trait Implementations§

    source§

    impl Deref for SOURCE_FILES_OF_INSTANCE

    §

    type Target = String

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &String

    Dereferences the value.
    source§

    impl LazyStatic for SOURCE_FILES_OF_INSTANCE

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/mcaptcha/struct.Settings.html b/mcaptcha/struct.Settings.html index a7d54531..5ea9c6bd 100644 --- a/mcaptcha/struct.Settings.html +++ b/mcaptcha/struct.Settings.html @@ -1,4 +1,4 @@ -Settings in mcaptcha - Rust

    Struct mcaptcha::Settings

    source ·
    pub struct Settings {
    +Settings in mcaptcha - Rust

    Struct mcaptcha::Settings

    source ·
    pub struct Settings {
         pub debug: bool,
         pub commercial: bool,
         pub source_code: String,
    @@ -10,10 +10,10 @@
         pub server: Server,
         pub captcha: Captcha,
         pub smtp: Option<Smtp>,
    -}

    Fields§

    §debug: bool§commercial: bool§source_code: String§allow_registration: bool§allow_demo: bool§database: Database§survey: Option<Survey>§redis: Option<Redis>§server: Server§captcha: Captcha§smtp: Option<Smtp>

    Implementations§

    source§

    impl Settings

    source

    pub fn new() -> Result<Self, ConfigError>

    source

    fn env_override(s: ConfigBuilder<DefaultState>) -> ConfigBuilder<DefaultState>

    source

    fn set_database_type(&mut self)

    source

    fn check_url(&self)

    Trait Implementations§

    source§

    impl Clone for Settings

    source§

    fn clone(&self) -> Settings

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Settings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Settings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Settings

    source§

    fn eq(&self, other: &Settings) -> bool

    This method tests for self and other values to be equal, and is used +}

    Fields§

    §debug: bool§commercial: bool§source_code: String§allow_registration: bool§allow_demo: bool§database: Database§survey: Option<Survey>§redis: Option<Redis>§server: Server§captcha: Captcha§smtp: Option<Smtp>

    Implementations§

    source§

    impl Settings

    source

    pub fn new() -> Result<Self, ConfigError>

    source

    fn check_easy_captcha_config(&self)

    source

    fn env_override(s: ConfigBuilder<DefaultState>) -> ConfigBuilder<DefaultState>

    source

    fn set_database_type(&mut self)

    source

    fn check_url(&self)

    Trait Implementations§

    source§

    impl Clone for Settings

    source§

    fn clone(&self) -> Settings

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Settings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Settings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Settings

    source§

    fn eq(&self, other: &Settings) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for Settings

    source§

    impl StructuralEq for Settings

    source§

    impl StructuralPartialEq for Settings

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for Settings

    source§

    impl StructuralEq for Settings

    source§

    impl StructuralPartialEq for Settings

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<Q, K> Equivalent<K> for Qwhere diff --git a/mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html b/mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html index 8bec5bd2..47c53da6 100644 --- a/mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html +++ b/mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html @@ -1,4 +1,4 @@ -VERIFICATIN_WIDGET_CSS in mcaptcha - Rust
    pub struct VERIFICATIN_WIDGET_CSS {
    +VERIFICATIN_WIDGET_CSS in mcaptcha - Rust
    pub struct VERIFICATIN_WIDGET_CSS {
         pub(crate) __private_field: (),
     }

    Fields§

    §__private_field: ()

    Methods from Deref<Target = &'static str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of self.

    This length is in bytes, not chars or graphemes. In other words, @@ -1170,7 +1170,7 @@ but non-ASCII letters are unchanged.

    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations§

    source§

    impl Deref for VERIFICATIN_WIDGET_CSS

    §

    type Target = &'static str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &&'static str

    Dereferences the value.
    source§

    impl LazyStatic for VERIFICATIN_WIDGET_CSS

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Trait Implementations§

    source§

    impl Deref for VERIFICATIN_WIDGET_CSS

    §

    type Target = &'static str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &&'static str

    Dereferences the value.
    source§

    impl LazyStatic for VERIFICATIN_WIDGET_CSS

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/mcaptcha/struct.VERIFICATIN_WIDGET_JS.html b/mcaptcha/struct.VERIFICATIN_WIDGET_JS.html index 6096f1c3..040bb38b 100644 --- a/mcaptcha/struct.VERIFICATIN_WIDGET_JS.html +++ b/mcaptcha/struct.VERIFICATIN_WIDGET_JS.html @@ -1,4 +1,4 @@ -VERIFICATIN_WIDGET_JS in mcaptcha - Rust
    pub struct VERIFICATIN_WIDGET_JS {
    +VERIFICATIN_WIDGET_JS in mcaptcha - Rust
    pub struct VERIFICATIN_WIDGET_JS {
         pub(crate) __private_field: (),
     }

    Fields§

    §__private_field: ()

    Methods from Deref<Target = &'static str>§

    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of self.

    This length is in bytes, not chars or graphemes. In other words, @@ -1170,7 +1170,7 @@ but non-ASCII letters are unchanged.

    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations§

    source§

    impl Deref for VERIFICATIN_WIDGET_JS

    §

    type Target = &'static str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &&'static str

    Dereferences the value.
    source§

    impl LazyStatic for VERIFICATIN_WIDGET_JS

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +

    Trait Implementations§

    source§

    impl Deref for VERIFICATIN_WIDGET_JS

    §

    type Target = &'static str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &&'static str

    Dereferences the value.
    source§

    impl LazyStatic for VERIFICATIN_WIDGET_JS

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/mcaptcha/type.AppData.html b/mcaptcha/type.AppData.html index 901bfe8d..7a0d2013 100644 --- a/mcaptcha/type.AppData.html +++ b/mcaptcha/type.AppData.html @@ -1 +1 @@ -AppData in mcaptcha - Rust

    Type Alias mcaptcha::AppData

    source ·
    pub type AppData = Data<ArcData>;

    Aliased Type§

    struct AppData(Arc<Arc<Data>>);

    Fields§

    §0: Arc<Arc<Data>>
    \ No newline at end of file +AppData in mcaptcha - Rust

    Type Alias mcaptcha::AppData

    source ·
    pub type AppData = Data<ArcData>;

    Aliased Type§

    struct AppData(Arc<Arc<Data>>);

    Fields§

    §0: Arc<Arc<Data>>
    \ No newline at end of file diff --git a/mcaptcha/type.ArcData.html b/mcaptcha/type.ArcData.html index 7165263d..56d75397 100644 --- a/mcaptcha/type.ArcData.html +++ b/mcaptcha/type.ArcData.html @@ -1,4 +1,4 @@ -ArcData in mcaptcha - Rust

    Type Alias mcaptcha::ArcData

    source ·
    pub type ArcData = Arc<Data>;

    Aliased Type§

    struct ArcData {
    +ArcData in mcaptcha - Rust

    Type Alias mcaptcha::ArcData

    source ·
    pub type ArcData = Arc<Data>;

    Aliased Type§

    struct ArcData {
         ptr: NonNull<ArcInner<Data>>,
         phantom: PhantomData<ArcInner<Data>>,
         alloc: Global,
    diff --git a/search-index.js b/search-index.js
    index a4f8bcd1..aaf2f81b 100644
    --- a/search-index.js
    +++ b/search-index.js
    @@ -1,8 +1,8 @@
     var searchIndex = JSON.parse('{\
    -"db_core":{"doc":"mCaptcha database operations","t":"DDIDDNCDEIDDDDDDDDNKKKLKKKKKKMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKLLLLLLLLLLLLLLKLLLLLLLLLLLLLLMMMKKLLLLLLLLLKKKKMMLLLLLLLLLLLLLLAMMMMMMKLLLLLLLLLLLLLLAKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKKKKKKKKKKKMMMMMMLLLLLLLLLLLLLLMMKMMMMAMKAMKKKKMMLLLLLLLLLLLLLLMKKAMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKKKKMMMKMLLLLLLLLLLLLLLMMXNGNNENGNNNNNNNLLLLLLLLLLLLQIIIIQKKKRRF","n":["AddNotification","Captcha","CloneSPDatabase","CreateCaptcha","CreatePerformanceAnalytics","Email","GetConnection","Level","Login","MCDatabase","NameHash","Notification","PerformanceAnalytics","Register","Secret","StatsUnixTimestamp","TrafficPattern","UpdateEmail","Username","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","create_captcha","create_notification","default","default","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dev","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","into","into","into","into","into","into","into","into","into","into","into","into","into","into","key","key","mark_notification_read","message","message","name","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","tests","time","time","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","worker_type","worker_type","async_trait","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","Err","NotificationNotFound","Ok","SecretTaken","TrafficPatternNotFound","UsernameTaken","borrow","borrow_mut","fmt","fmt","from","into","source","to_string","try_from","try_into","type_id","vzip","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","LEVELS","TRAFFIC_PATTERN","database_works"],"q":[[0,"db_core"],[332,"db_core::dev"],[333,"db_core::errors"],[359,"db_core::ops"],[368,"db_core::tests"],[371,"core::future::future"],[372,"alloc::boxed"],[373,"core::pin"],[374,"core::option"],[375,"core::result"],[376,"serde::de"],[377,"core::fmt"],[378,"core::fmt"],[379,"core::any"],[380,"core::error"],[381,"alloc::string"]],"d":["Data required to add notification","Data representing a captcha","Trait to clone MCDatabase","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","email as login","","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","type encapsulating username and hashed password of a user","Represents notification","Proof-of-Work CAPTCHA performance analytics","Data required to register a new user","datastructure representing a user’s secret","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","data required to update them email of a user","username as login","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","","","","","traffic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","","","","clone DB","","","","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","create new captcha","create new notification","","","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","","","","","","","","","","","","","useful imports for supporting a new database","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","","","","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","receiver name  of the notification","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","","","","times at which the PoW was solved","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","Test utilities","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","","","","","","","","","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Contains the error value","Notification not found","Contains the success value","Secret is taken","Traffic pattern not found","Username is taken","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","levels for complex captcha config","easy traffic pattern","test all database functions"],"i":[0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,13,22,22,22,22,22,22,22,22,22,22,7,11,12,13,14,8,2,15,16,17,18,7,19,20,21,11,12,13,14,8,2,15,16,17,18,7,19,20,21,7,22,11,12,13,14,8,2,15,16,17,18,7,19,20,21,37,11,12,13,14,8,2,15,16,17,18,7,19,20,21,16,20,16,22,22,8,15,16,17,18,7,19,20,21,22,22,22,22,19,20,11,12,13,14,8,2,15,16,17,18,7,19,20,21,0,8,2,15,19,20,11,22,11,12,13,14,8,2,15,16,17,18,7,19,20,21,0,22,22,22,11,12,13,14,8,2,15,16,17,18,7,19,20,21,11,12,13,14,8,2,15,16,17,18,7,19,20,21,18,22,22,22,22,22,22,22,22,22,22,22,11,14,17,18,15,17,11,12,13,14,8,2,15,16,17,18,7,19,20,21,19,20,22,17,18,17,12,0,7,22,0,17,22,22,22,22,11,21,11,12,13,14,8,2,15,16,17,18,7,19,20,21,16,22,22,0,8,15,18,11,12,13,14,8,2,15,16,17,18,7,19,20,21,11,12,13,14,8,2,15,16,17,18,7,19,20,21,11,12,13,14,8,2,15,16,17,18,7,19,20,21,11,12,13,14,8,2,15,16,17,18,7,19,20,21,22,22,22,22,22,22,22,11,12,14,22,2,11,12,13,14,8,2,15,16,17,18,7,19,20,21,8,15,0,34,0,34,34,0,34,0,34,38,34,38,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,39,0,0,0,0,40,40,39,41,0,0,0],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,1,1,[3,[2]]],[[6,[[5,[4]]]]],[]],[[-1,1,1,7],[[6,[[5,[4]]]]],[]],[[-1,1,8],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1,9,9],[[6,[[5,[4]]]]],[]],[[-1,9],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[-1,[10,[1]],1],[[6,[[5,[4]]]]],[]],[11,11],[12,12],[13,13],[14,14],[8,8],[2,2],[15,15],[16,16],[17,17],[18,18],[7,7],[19,19],[20,20],[21,21],[-1,[[5,[22]]],[]],[[-1,-2],23,[],[]],[[-1,-2],23,[],[]],[[-1,-2],23,[],[]],[[-1,-2],23,[],[]],[[-1,-2],23,[],[]],[[-1,-2],23,[],[]],[[-1,-2],23,[],[]],[[-1,-2],23,[],[]],[[-1,-2],23,[],[]],[[-1,-2],23,[],[]],[[-1,-2],23,[],[]],[[-1,-2],23,[],[]],[[-1,-2],23,[],[]],[[-1,-2],23,[],[]],0,0,0,[[-1,1,19],[[6,[[5,[4]]]]],[]],[[-1,18],[[6,[[5,[4]]]]],[]],[[],8],[[],15],[[],16],[[],17],[[],18],[[],7],[[],19],[[],20],[[],21],[[-1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],0,0,[-1,[[24,[11]]],25],[-1,[[24,[12]]],25],[-1,[[24,[13]]],25],[-1,[[24,[14]]],25],[-1,[[24,[8]]],25],[-1,[[24,[2]]],25],[-1,[[24,[15]]],25],[-1,[[24,[16]]],25],[-1,[[24,[17]]],25],[-1,[[24,[18]]],25],[-1,[[24,[7]]],25],[-1,[[24,[19]]],25],[-1,[[24,[20]]],25],[-1,[[24,[21]]],25],0,0,0,0,0,0,0,[[-1,1],[[6,[[5,[4]]]]],[]],[[11,11],26],[[12,12],26],[[13,13],26],[[14,14],26],[[8,8],26],[[2,2],26],[[15,15],26],[[16,16],26],[[17,17],26],[[18,18],26],[[7,7],26],[[19,19],26],[[20,20],26],[[21,21],26],0,[[-1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],[[11,27],28],[[12,27],28],[[13,27],28],[[14,27],28],[[8,27],28],[[2,27],[[24,[23,29]]]],[[15,27],28],[[16,27],28],[[17,27],28],[[18,27],28],[[7,27],28],[[19,27],28],[[20,27],28],[[21,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,[10,[1]],1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1,30],[[6,[[5,[4]]]]],[]],[[-1,13],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[-1,1,31],[[6,[[5,[4]]]]],[]],0,0,0,0,0,0,[-1,[[6,[[5,[4]]]]],[]],0,0,[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,11],[[6,[[5,[4]]]]],[]],0,0,[[11,-1],24,32],[[12,-1],24,32],[[13,-1],24,32],[[14,-1],24,32],[[8,-1],24,32],[[2,-1],24,32],[[15,-1],24,32],[[16,-1],24,32],[[17,-1],24,32],[[18,-1],24,32],[[7,-1],24,32],[[19,-1],24,32],[[20,-1],24,32],[[21,-1],24,32],0,[[-1,30,30],[[6,[[5,[4]]]]],[]],[[-1,30],[[6,[[5,[4]]]]],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[-1,33,[]],[[-1,1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1,19],[[6,[[5,[4]]]]],[]],[[-1,12],[[6,[[5,[4]]]]],[]],[[-1,1,30,30],[[6,[[5,[4]]]]],[]],[[-1,14],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],0,0,0,[[-1,1],[[6,[[5,[4]]]]],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[34,27],28],[[34,27],28],[-1,-1,[]],[-1,-2,[],[]],[34,[[10,[35]]]],[-1,36,[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,33,[]],[-1,-2,[],[]],0,0,0,0,0,0,[-1,[[6,[[5,[4]]]]],[]],[-1,[[6,[[5,[4]]]]],[]],[-1,[[6,[[5,[4]]]]],[]],0,0,[[-1,11,19,[3,[2]],7,18],23,22]],"c":[],"p":[[15,"str"],[3,"Level",0],[15,"slice"],[8,"Future",371],[3,"Box",372],[3,"Pin",373],[3,"TrafficPattern",0],[3,"CreatePerformanceAnalytics",0],[15,"usize"],[4,"Option",374],[3,"Register",0],[3,"UpdateEmail",0],[4,"Login",0],[3,"NameHash",0],[3,"PerformanceAnalytics",0],[3,"StatsUnixTimestamp",0],[3,"Notification",0],[3,"AddNotification",0],[3,"CreateCaptcha",0],[3,"Captcha",0],[3,"Secret",0],[8,"MCDatabase",0],[15,"tuple"],[4,"Result",375],[8,"Deserializer",376],[15,"bool"],[3,"Formatter",377],[6,"Result",377],[3,"Error",377],[15,"u32"],[15,"i32"],[8,"Serializer",378],[3,"TypeId",379],[4,"DBError",333],[8,"Error",380],[3,"String",381],[8,"CloneSPDatabase",0],[6,"DBResult",333],[8,"GetConnection",359],[8,"Connect",359],[8,"Migrate",359]],"b":[[349,"impl-Debug-for-DBError"],[350,"impl-Display-for-DBError"]]},\
    -"db_sqlx_maria":{"doc":"","t":"DEDNDNDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAMLLALLLLLLLLLLLLLLLLLLLLMMLLLLLLMLMLMMAMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLNDNGDNNINNNNQIDDENIGCNNNNNEINDEIINDDNNDQNNNDNDNDNDNNDNNNKKKLKKKKKKLXMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKLLLLLLLLLLLLLKLLLLLLLLLLLLLMMMKKKLLLLLLLLLKKKKMMLLLLLLLLLLLLLMMMMMMKLLLLLLLLLLLLLAKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKKKKKKKKKKKKMMMMMMLLLLLLLLLLLLLLLLMMKMMKMMAMKAMKKKKMMLLLLLLLLLLLLLMLLKKAMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKKKKMMMKMLLLLLLLLLLLLLLLMMMMMMMNGNNENGNNNNNNNQIIIIQKKKNDGDNNIQIDDENIGNNNIDEIIDDNNDQDDNDDNDNNKKKLKKKKKKMMKKMMMKKKKKKKMMAMMMMMMKKKKMKKKKKKKKKKKKMMMMMMMMKMMKMMMKMKKKKMMMKKMMMKKKKKKKMMMKMMMNDGDNNIQIDDENIGNNNIDEIIDDNNDQDDNDDNDNNKKKLKKKKKKXMLLMKLKLMMMKKKKKKKMMLMMMMMMKLKKKLLMKKKKKKKKKKKKMMMMMMLMMKMMKMMMKMKKKKMMLMKKMMMLLLLKKKKKKKMMMKMLMMRRFFF","n":["Conn","ConnectionOptions","Database","Existing","Fresh","Fresh","InnerNotification","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha_exists","clone","clone","clone_db","clone_into","clone_into","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","dev","disable_logging","email_exists","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","heading","id","into","into","into","into","into","mark_notification_read","message","migrate","name","ping","pool","pool_options","prelude","received","record_confirm","record_fetch","record_solve","register","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","url","username_exists","vzip","vzip","vzip","vzip","vzip","AccountNotFound","AddNotification","AnyDriverError","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","ColumnDecode","ColumnIndexOutOfBounds","ColumnNotFound","Configuration","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Database","Database","Decode","Email","EmailTaken","Err","Error","GetConnection","Io","Level","Login","MCDatabase","Migrate","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","PoolClosed","PoolTimedOut","Protocol","Register","RowNotFound","Secret","SecretTaken","StatsUnixTimestamp","Tls","TrafficPattern","TrafficPatternNotFound","TypeNotFound","UpdateEmail","Username","UsernameTaken","WorkerCrashed","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","as_database_error","async_trait","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","default","default","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_database_error","key","key","mark_notification_read","message","message","migrate","name","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","source","source","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","tests","time","time","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","worker_type","worker_type","index","index","len","source","type_name","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","Err","NotificationNotFound","Ok","SecretTaken","TrafficPatternNotFound","UsernameTaken","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Email","EmailTaken","Err","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","dev","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","time","time","to","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","worker_type","worker_type","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Email","EmailTaken","Err","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","async_trait","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone_db","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","into","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","solves","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","time","time","to","to_owned","try_from","try_into","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","worker_type","worker_type","LEVELS","TRAFFIC_PATTERN","database_works","map_register_err","map_row_not_found_err"],"q":[[0,"db_sqlx_maria"],[117,"db_sqlx_maria::dev"],[504,"db_sqlx_maria::dev::Error"],[509,"db_sqlx_maria::dev::errors"],[523,"db_sqlx_maria::dev::ops"],[532,"db_sqlx_maria::dev::prelude"],[663,"db_sqlx_maria::dev::prelude::dev"],[809,"db_sqlx_maria::dev::tests"],[812,"db_sqlx_maria::errors"],[814,"core::future::future"],[815,"alloc::boxed"],[816,"core::pin"],[817,"core::option"],[818,"core::fmt"],[819,"core::fmt"],[820,"core::any"],[821,"sqlx_core::error"],[822,"serde::de"],[823,"core::fmt"],[824,"std::io::error"],[825,"serde::ser"],[826,"core::error"],[827,"alloc::string"]],"d":["Use an existing database pool","Connect to database","","existing connection","","fresh connection","Represents notification","Add levels to captcha","Add traffic configuration","record PoW timing","Create psuedo ID against campaign ID to publish analytics","","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","","","","","","","","","","check if captcha exists","","","","","","","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","","","check if email exists","","Error-handling utilities","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","mark a notification read","message of the notification","","receiver name  of the notification","ping DB","","","","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","","check if username exists","","","","","","Account not found","Data required to add notification","Error occurred within the Any driver mapping to/from the …","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","Error occurred while decoding a value from a specific …","Column index was out of bounds.","No column found for the given name.","Error occurred while parsing a connection string.","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","","Error returned from the database.","Error occurred while decoding a value.","email as login","Email is taken","Contains the error value","Represents all the ways a method can fail within SQLx.","Get database connection","Error communicating with the database backend.","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Pool::close was called while we were waiting in …","A Pool::acquire timed out due to connections not becoming …","Unexpected or invalid data encountered while communicating …","Data required to register a new user","No rows returned by a query that expected to return at …","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","Error occurred while attempting to establish a TLS …","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","Type in query doesn’t exist. Likely due to typo or …","data required to update them email of a user","username as login","Username is taken","A background worker has crashed.","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","traffic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","","","clone DB","","","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","","","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","","","","","","","","","","","","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","","","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name  of the notification","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","","","times at which the PoW was solved","","","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","Test utilities","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","","","","","","","","","","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Contains the error value","Notification not found","Contains the success value","Secret is taken","Traffic pattern not found","Username is taken","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Contains the error value","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","useful imports for supporting a new database","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name  of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Contains the error value","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","average traffic of user’s website","","","traffic that bought the user’s website down; optional","check if captcha exists","","clone DB","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name  of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","times at which the PoW was solved","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","levels for complex captcha config","easy traffic pattern","test all database functions","map postgres errors to DBError types","map custom row not found error to DB error"],"i":[0,0,0,15,0,15,0,1,1,1,1,1,1,1,1,1,44,15,45,1,12,44,15,45,1,12,1,1,12,1,1,12,15,1,1,1,1,1,1,0,45,1,12,0,1,1,1,12,44,15,45,1,12,1,1,1,1,1,1,1,1,1,1,1,12,12,44,15,45,1,12,1,12,1,12,1,1,45,0,12,1,1,1,1,1,1,1,12,44,15,45,1,12,44,15,45,1,12,44,15,45,1,12,1,1,1,1,1,1,1,45,1,44,15,45,1,12,37,0,29,0,0,37,37,0,29,29,29,29,46,0,0,0,0,37,0,0,0,29,29,22,37,47,0,0,29,0,0,0,0,29,0,0,37,47,0,48,29,29,29,0,29,0,37,0,29,0,37,29,0,22,37,29,13,13,13,13,13,13,13,13,13,13,29,0,8,37,24,27,22,28,9,31,32,33,17,8,16,34,35,29,37,24,27,22,28,9,31,32,33,17,8,16,34,35,29,8,13,24,27,22,28,9,31,32,33,17,8,16,34,35,49,24,27,22,28,9,31,32,33,17,8,16,34,35,32,34,32,48,13,13,9,31,32,33,17,8,16,34,35,13,13,13,13,16,34,24,27,22,28,9,31,32,33,17,8,16,34,35,9,3,31,16,34,24,13,24,27,22,28,9,31,32,33,17,8,16,34,35,0,13,13,13,37,37,24,27,22,28,9,31,32,33,17,8,16,34,35,29,29,37,24,27,22,28,9,31,32,33,33,17,8,16,34,35,29,29,29,29,17,13,13,13,13,13,46,13,13,13,13,13,13,24,28,33,17,31,33,37,24,27,22,28,9,31,32,33,17,8,16,34,35,29,29,16,34,13,33,17,50,33,27,0,8,13,0,33,13,13,13,13,24,35,24,27,22,28,9,31,32,33,17,8,16,34,35,32,37,29,13,13,0,9,31,17,24,27,22,28,9,31,32,33,17,8,16,34,35,37,29,37,24,27,22,28,9,31,32,33,17,8,16,34,35,29,37,24,27,22,28,9,31,32,33,17,8,16,34,35,29,37,24,27,22,28,9,31,32,33,17,8,16,34,35,29,13,13,13,13,13,13,13,24,27,28,13,3,37,24,27,22,28,9,31,32,33,17,8,16,34,35,29,9,31,51,52,51,52,53,37,0,37,37,0,37,0,37,47,37,47,37,37,37,46,0,0,0,0,48,48,46,50,37,0,0,0,37,37,0,46,0,0,0,0,37,0,0,22,37,47,0,0,0,0,0,0,0,37,47,0,48,0,0,37,0,0,37,0,22,37,13,13,13,13,13,13,13,13,13,13,8,8,13,49,32,34,32,48,13,13,13,13,13,13,16,34,0,9,3,31,16,34,24,13,13,13,13,17,13,13,13,13,13,46,13,13,13,13,13,13,24,28,33,17,31,33,16,34,13,33,17,50,33,27,8,13,33,13,13,13,13,24,35,32,13,13,9,31,17,13,13,13,13,13,13,13,24,27,28,13,3,9,31,37,0,0,0,37,37,0,46,0,0,0,0,37,0,0,22,37,47,0,0,0,0,0,0,0,37,47,0,48,0,0,37,0,0,37,0,22,37,13,13,13,13,13,13,13,13,13,13,0,8,3,3,8,13,3,49,3,32,34,32,48,13,13,13,13,13,13,16,34,3,9,3,31,16,34,24,13,3,13,13,13,3,3,17,13,13,13,13,13,46,13,13,13,13,13,13,24,28,33,17,31,33,3,16,34,13,33,17,50,33,27,8,13,33,13,13,13,13,24,35,3,32,13,13,9,31,17,3,3,3,3,13,13,13,13,13,13,13,24,27,28,13,3,3,9,31,0,0,0,0,0],"f":[0,0,0,0,0,0,0,[[1,2,2,[4,[3]]],[[7,[[6,[5]]]]]],[[1,2,2,8],[[7,[[6,[5]]]]]],[[1,2,9],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,10,10],[[7,[[6,[5]]]]]],[[1,10],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[1,1],[12,12],[-1,[[6,[13]]],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[15,[[7,[[6,[5]]]]]],[[1,2,16],[[7,[[6,[5]]]]]],[[1,17],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],0,0,[[1,2],[[7,[[6,[5]]]]]],[[12,12],18],0,[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[12,19],20],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,21],[[7,[[6,[5]]]]]],[[1,22],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[1,2,23],[[7,[[6,[5]]]]]],0,[1,[[7,[[6,[5]]]]]],0,[1,[[7,[[6,[5]]]]]],0,0,0,0,[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,24],[[7,[[6,[5]]]]]],[[1,21,21],[[7,[[6,[5]]]]]],[[1,21],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[[1,2,2,2],[[7,[[6,[5]]]]]],[[1,2,16],[[7,[[6,[5]]]]]],[[1,27],[[7,[[6,[5]]]]]],[[1,2,21,21],[[7,[[6,[5]]]]]],[[1,28],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,[[1,2],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,2,2,[4,[3]]],[[7,[[6,[5]]]]],[]],[[-1,2,2,8],[[7,[[6,[5]]]]],[]],[[-1,2,9],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,10,10],[[7,[[6,[5]]]]],[]],[[-1,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[29,[[11,[30]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[24,24],[27,27],[22,22],[28,28],[9,9],[31,31],[32,32],[33,33],[17,17],[8,8],[16,16],[34,34],[35,35],[-1,[[6,[13]]],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,17],[[7,[[6,[5]]]]],[]],[[],9],[[],31],[[],32],[[],33],[[],17],[[],8],[[],16],[[],34],[[],35],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,[-1,[[25,[24]]],36],[-1,[[25,[27]]],36],[-1,[[25,[22]]],36],[-1,[[25,[28]]],36],[-1,[[25,[9]]],36],[-1,[[25,[31]]],36],[-1,[[25,[32]]],36],[-1,[[25,[33]]],36],[-1,[[25,[17]]],36],[-1,[[25,[8]]],36],[-1,[[25,[16]]],36],[-1,[[25,[34]]],36],[-1,[[25,[35]]],36],0,0,0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[24,24],18],[[27,27],18],[[22,22],18],[[28,28],18],[[9,9],18],[[31,31],18],[[32,32],18],[[33,33],18],[[17,17],18],[[8,8],18],[[16,16],18],[[34,34],18],[[35,35],18],0,[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[37,19],[[25,[14,38]]]],[[37,19],[[25,[14,38]]]],[[24,19],[[25,[14,38]]]],[[27,19],[[25,[14,38]]]],[[22,19],[[25,[14,38]]]],[[28,19],[[25,[14,38]]]],[[9,19],[[25,[14,38]]]],[[31,19],[[25,[14,38]]]],[[32,19],[[25,[14,38]]]],[[33,19],[[25,[14,38]]]],[[17,19],[[25,[14,38]]]],[[8,19],[[25,[14,38]]]],[[16,19],[[25,[14,38]]]],[[34,19],[[25,[14,38]]]],[[35,19],[[25,[14,38]]]],[[29,19],[[25,[14,38]]]],[[29,19],[[25,[14,38]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[12,33],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,29,30],[39,29],[40,29],0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,21],[[7,[[6,[5]]]]],[]],[[-1,22],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[29,[[11,[[6,[30]]]]]],0,0,[[-1,2,23],[[7,[[6,[5]]]]],[]],0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,24],[[7,[[6,[5]]]]],[]],0,0,[[24,-1],25,41],[[27,-1],25,41],[[22,-1],25,41],[[28,-1],25,41],[[9,-1],25,41],[[31,-1],25,41],[[32,-1],25,41],[[33,-1],25,41],[[17,-1],25,41],[[8,-1],25,41],[[16,-1],25,41],[[34,-1],25,41],[[35,-1],25,41],0,[37,[[11,[42]]]],[29,[[11,[42]]]],[[-1,21,21],[[7,[[6,[5]]]]],[]],[[-1,21],[[7,[[6,[5]]]]],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,43,[]],[-1,43,[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[[-1,2,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,27],[[7,[[6,[5]]]]],[]],[[-1,2,21,21],[[7,[[6,[5]]]]],[]],[[-1,28],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,2,2,[4,[3]]],[[7,[[6,[5]]]]],[]],[[-1,2,2,8],[[7,[[6,[5]]]]],[]],[[-1,2,9],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,10,10],[[7,[[6,[5]]]]],[]],[[-1,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[6,[13]]],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,17],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,21],[[7,[[6,[5]]]]],[]],[[-1,22],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,[[-1,2,23],[[7,[[6,[5]]]]],[]],0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,24],[[7,[[6,[5]]]]],[]],0,0,0,[[-1,21,21],[[7,[[6,[5]]]]],[]],[[-1,21],[[7,[[6,[5]]]]],[]],0,0,0,[[-1,2,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,27],[[7,[[6,[5]]]]],[]],[[-1,2,21,21],[[7,[[6,[5]]]]],[]],[[-1,28],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,2,2,[4,[3]]],[[7,[[6,[5]]]]],[]],[[-1,2,2,8],[[7,[[6,[5]]]]],[]],[[-1,2,9],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,10,10],[[7,[[6,[5]]]]],[]],[[-1,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[3,3],[-1,[[6,[13]]],[]],[[-1,-2],14,[],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,17],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,[-1,[[25,[3]]],36],0,0,0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[3,3],18],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[3,19],[[25,[14,38]]]],[-1,-1,[]],0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,21],[[7,[[6,[5]]]]],[]],[[-1,22],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,[-1,-2,[],[]],0,0,[[-1,2,23],[[7,[[6,[5]]]]],[]],0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,24],[[7,[[6,[5]]]]],[]],0,0,[[3,-1],25,41],0,[[-1,21,21],[[7,[[6,[5]]]]],[]],[[-1,21],[[7,[[6,[5]]]]],[]],0,0,0,[-1,-2,[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[[-1,2,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,27],[[7,[[6,[5]]]]],[]],[[-1,2,21,21],[[7,[[6,[5]]]]],[]],[[-1,28],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],0,[-1,-2,[],[]],0,0,0,0,[[-1,24,16,[4,[3]],8,17],14,13],[29,37],[[29,37],37]],"c":[],"p":[[3,"Database",0],[15,"str"],[3,"Level",663],[15,"slice"],[8,"Future",814],[3,"Box",815],[3,"Pin",816],[3,"TrafficPattern",117],[3,"CreatePerformanceAnalytics",117],[15,"usize"],[4,"Option",817],[3,"InnerNotification",0],[8,"MCDatabase",117],[15,"tuple"],[4,"ConnectionOptions",0],[3,"CreateCaptcha",117],[3,"AddNotification",117],[15,"bool"],[3,"Formatter",818],[6,"Result",818],[15,"u32"],[4,"Login",117],[15,"i32"],[3,"Register",117],[4,"Result",819],[3,"TypeId",820],[3,"UpdateEmail",117],[3,"NameHash",117],[4,"Error",117],[8,"DatabaseError",821],[3,"PerformanceAnalytics",117],[3,"StatsUnixTimestamp",117],[3,"Notification",117],[3,"Captcha",117],[3,"Secret",117],[8,"Deserializer",822],[4,"DBError",117],[3,"Error",818],[4,"MigrateError",823],[3,"Error",824],[8,"Serializer",825],[8,"Error",826],[3,"String",827],[3,"Conn",0],[3,"Fresh",0],[8,"GetConnection",117],[6,"DBResult",663],[8,"Connect",117],[8,"CloneSPDatabase",117],[8,"Migrate",117],[13,"ColumnIndexOutOfBounds",504],[13,"ColumnDecode",504],[13,"TypeNotFound",504]],"b":[[303,"impl-Display-for-DBError"],[304,"impl-Debug-for-DBError"],[318,"impl-Display-for-Error"],[319,"impl-Debug-for-Error"],[336,"impl-From%3CE%3E-for-Error"],[337,"impl-From%3CMigrateError%3E-for-Error"],[338,"impl-From%3CError%3E-for-Error"]]},\
    -"db_sqlx_postgres":{"doc":"","t":"DEDNDNDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAMLLALLLLLLLLLLLLLLLLLLLLMMLLLLLLMLMLMMAMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLNDNGDNNINNNNQIDDENIGCNNNNNEINDEIINDDNNDQNNNDNDNDNDNNDNNNKKKLKKKKKKLXMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKLLLLLLLLLLLLLKLLLLLLLLLLLLLMMMKKKLLLLLLLLLKKKKMMLLLLLLLLLLLLLMMMMMMKLLLLLLLLLLLLLAKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKKKKKKKKKKKKMMMMMMLLLLLLLLLLLLLLLLMMKMMKMMAMKAMKKKKMMLLLLLLLLLLLLLMLLKKAMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKKKKMMMKMLLLLLLLLLLLLLLLMMMMMMMNGNNENGNNNNNNNQIIIIQKKKNDGDNNIQIDDENIGNNNIDEIIDDNNDQDDNDDNDNNKKKLKKKKKKMMKKMMMKKKKKKKMMAMMMMMMKKKKMKKKKKKKKKKKKMMMMMMMMKMMKMMMKMKKKKMMMKKMMMKKKKKKKMMMKMMMNDGDNNIQIDDENIGNNNIDEIIDDNNDQDDNDDNDNNKKKLKKKKKKXMLLMKLKLMMMKKKKKKKMMLMMMMMMKLKKKLLMKKKKKKKKKKKKMMMMMMLMMKMMKMMMKMKKKKMMLMKKMMMLLLLKKKKKKKMMMKMLMMRRFFF","n":["Conn","ConnectionOptions","Database","Existing","Fresh","Fresh","InnerNotification","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha_exists","clone","clone","clone_db","clone_into","clone_into","connect","create_captcha","create_notification","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","dev","disable_logging","email_exists","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","heading","id","into","into","into","into","into","mark_notification_read","message","migrate","name","ping","pool","pool_options","prelude","received","record_confirm","record_fetch","record_solve","register","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","url","username_exists","vzip","vzip","vzip","vzip","vzip","AccountNotFound","AddNotification","AnyDriverError","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","ColumnDecode","ColumnIndexOutOfBounds","ColumnNotFound","Configuration","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Database","Database","Decode","Email","EmailTaken","Err","Error","GetConnection","Io","Level","Login","MCDatabase","Migrate","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","PoolClosed","PoolTimedOut","Protocol","Register","RowNotFound","Secret","SecretTaken","StatsUnixTimestamp","Tls","TrafficPattern","TrafficPatternNotFound","TypeNotFound","UpdateEmail","Username","UsernameTaken","WorkerCrashed","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","as_database_error","async_trait","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","default","default","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_database_error","key","key","mark_notification_read","message","message","migrate","name","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","source","source","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","tests","time","time","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","worker_type","worker_type","index","index","len","source","type_name","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","Err","NotificationNotFound","Ok","SecretTaken","TrafficPatternNotFound","UsernameTaken","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Email","EmailTaken","Err","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","dev","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","time","time","to","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","worker_type","worker_type","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Email","EmailTaken","Err","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","async_trait","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone_db","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","into","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","solves","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","time","time","to","to_owned","try_from","try_into","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","worker_type","worker_type","LEVELS","TRAFFIC_PATTERN","database_works","map_register_err","map_row_not_found_err"],"q":[[0,"db_sqlx_postgres"],[118,"db_sqlx_postgres::dev"],[505,"db_sqlx_postgres::dev::Error"],[510,"db_sqlx_postgres::dev::errors"],[524,"db_sqlx_postgres::dev::ops"],[533,"db_sqlx_postgres::dev::prelude"],[664,"db_sqlx_postgres::dev::prelude::dev"],[810,"db_sqlx_postgres::dev::tests"],[813,"db_sqlx_postgres::errors"],[815,"core::future::future"],[816,"alloc::boxed"],[817,"core::pin"],[818,"core::option"],[819,"core::fmt"],[820,"core::fmt"],[821,"core::any"],[822,"sqlx_core::error"],[823,"serde::de"],[824,"core::fmt"],[825,"std::io::error"],[826,"serde::ser"],[827,"core::error"],[828,"alloc::string"]],"d":["Use an existing database pool","Connect to database","","existing connection","","fresh connection","Represents notification","Add levels to captcha","Add traffic configuration","record PoW timing","Create psuedo ID against campaign ID to publish analytics","","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","","","","","","","","","","check if captcha exists","","","","","","","create new captcha","create new notification","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","","","check if email exists","","Error-handling utilities","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","mark a notification read","message of the notification","","receiver name  of the notification","ping DB","","","","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","","check if username exists","","","","","","Account not found","Data required to add notification","Error occurred within the Any driver mapping to/from the …","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","Error occurred while decoding a value from a specific …","Column index was out of bounds.","No column found for the given name.","Error occurred while parsing a connection string.","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","","Error returned from the database.","Error occurred while decoding a value.","email as login","Email is taken","Contains the error value","Represents all the ways a method can fail within SQLx.","Get database connection","Error communicating with the database backend.","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Pool::close was called while we were waiting in …","A Pool::acquire timed out due to connections not becoming …","Unexpected or invalid data encountered while communicating …","Data required to register a new user","No rows returned by a query that expected to return at …","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","Error occurred while attempting to establish a TLS …","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","Type in query doesn’t exist. Likely due to typo or …","data required to update them email of a user","username as login","Username is taken","A background worker has crashed.","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","traffic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","","","clone DB","","","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","","","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","","","","","","","","","","","","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","","","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name  of the notification","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","","","times at which the PoW was solved","","","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","Test utilities","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","","","","","","","","","","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Contains the error value","Notification not found","Contains the success value","Secret is taken","Traffic pattern not found","Username is taken","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Contains the error value","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","useful imports for supporting a new database","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name  of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Contains the error value","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","average traffic of user’s website","","","traffic that bought the user’s website down; optional","check if captcha exists","","clone DB","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name  of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","times at which the PoW was solved","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","levels for complex captcha config","easy traffic pattern","test all database functions","map postgres errors to DBError types","map custom row not found error to DB error"],"i":[0,0,0,15,0,15,0,1,1,1,1,1,1,1,1,1,44,15,45,1,12,44,15,45,1,12,1,1,12,1,1,12,15,1,1,12,1,1,1,1,0,45,1,12,0,1,1,1,12,44,15,45,1,12,1,1,1,1,1,1,1,1,1,1,1,12,12,44,15,45,1,12,1,12,1,12,1,1,45,0,12,1,1,1,1,1,1,1,12,44,15,45,1,12,44,15,45,1,12,44,15,45,1,12,1,1,1,1,1,1,1,45,1,44,15,45,1,12,37,0,29,0,0,37,37,0,29,29,29,29,46,0,0,0,0,37,0,0,0,29,29,22,37,47,0,0,29,0,0,0,0,29,0,0,37,47,0,48,29,29,29,0,29,0,37,0,29,0,37,29,0,22,37,29,13,13,13,13,13,13,13,13,13,13,29,0,8,37,24,27,22,28,9,31,32,33,17,8,16,34,35,29,37,24,27,22,28,9,31,32,33,17,8,16,34,35,29,8,13,24,27,22,28,9,31,32,33,17,8,16,34,35,49,24,27,22,28,9,31,32,33,17,8,16,34,35,32,34,32,48,13,13,9,31,32,33,17,8,16,34,35,13,13,13,13,16,34,24,27,22,28,9,31,32,33,17,8,16,34,35,9,3,31,16,34,24,13,24,27,22,28,9,31,32,33,17,8,16,34,35,0,13,13,13,37,37,24,27,22,28,9,31,32,33,17,8,16,34,35,29,29,37,24,27,22,28,9,31,32,33,33,17,8,16,34,35,29,29,29,29,17,13,13,13,13,13,46,13,13,13,13,13,13,24,28,33,17,31,33,37,24,27,22,28,9,31,32,33,17,8,16,34,35,29,29,16,34,13,33,17,50,33,27,0,8,13,0,33,13,13,13,13,24,35,24,27,22,28,9,31,32,33,17,8,16,34,35,32,37,29,13,13,0,9,31,17,24,27,22,28,9,31,32,33,17,8,16,34,35,37,29,37,24,27,22,28,9,31,32,33,17,8,16,34,35,29,37,24,27,22,28,9,31,32,33,17,8,16,34,35,29,37,24,27,22,28,9,31,32,33,17,8,16,34,35,29,13,13,13,13,13,13,13,24,27,28,13,3,37,24,27,22,28,9,31,32,33,17,8,16,34,35,29,9,31,51,52,51,52,53,37,0,37,37,0,37,0,37,47,37,47,37,37,37,46,0,0,0,0,48,48,46,50,37,0,0,0,37,37,0,46,0,0,0,0,37,0,0,22,37,47,0,0,0,0,0,0,0,37,47,0,48,0,0,37,0,0,37,0,22,37,13,13,13,13,13,13,13,13,13,13,8,8,13,49,32,34,32,48,13,13,13,13,13,13,16,34,0,9,3,31,16,34,24,13,13,13,13,17,13,13,13,13,13,46,13,13,13,13,13,13,24,28,33,17,31,33,16,34,13,33,17,50,33,27,8,13,33,13,13,13,13,24,35,32,13,13,9,31,17,13,13,13,13,13,13,13,24,27,28,13,3,9,31,37,0,0,0,37,37,0,46,0,0,0,0,37,0,0,22,37,47,0,0,0,0,0,0,0,37,47,0,48,0,0,37,0,0,37,0,22,37,13,13,13,13,13,13,13,13,13,13,0,8,3,3,8,13,3,49,3,32,34,32,48,13,13,13,13,13,13,16,34,3,9,3,31,16,34,24,13,3,13,13,13,3,3,17,13,13,13,13,13,46,13,13,13,13,13,13,24,28,33,17,31,33,3,16,34,13,33,17,50,33,27,8,13,33,13,13,13,13,24,35,3,32,13,13,9,31,17,3,3,3,3,13,13,13,13,13,13,13,24,27,28,13,3,3,9,31,0,0,0,0,0],"f":[0,0,0,0,0,0,0,[[1,2,2,[4,[3]]],[[7,[[6,[5]]]]]],[[1,2,2,8],[[7,[[6,[5]]]]]],[[1,2,9],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,10,10],[[7,[[6,[5]]]]]],[[1,10],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[1,1],[12,12],[-1,[[6,[13]]],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[15,[[7,[[6,[5]]]]]],[[1,2,16],[[7,[[6,[5]]]]]],[[1,17],[[7,[[6,[5]]]]]],[[],12],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],0,0,[[1,2],[[7,[[6,[5]]]]]],[[12,12],18],0,[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[12,19],20],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,21],[[7,[[6,[5]]]]]],[[1,22],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[1,2,23],[[7,[[6,[5]]]]]],0,[1,[[7,[[6,[5]]]]]],0,[1,[[7,[[6,[5]]]]]],0,0,0,0,[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,24],[[7,[[6,[5]]]]]],[[1,21,21],[[7,[[6,[5]]]]]],[[1,21],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[[1,2,2,2],[[7,[[6,[5]]]]]],[[1,2,16],[[7,[[6,[5]]]]]],[[1,27],[[7,[[6,[5]]]]]],[[1,2,21,21],[[7,[[6,[5]]]]]],[[1,28],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,[[1,2],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,2,2,[4,[3]]],[[7,[[6,[5]]]]],[]],[[-1,2,2,8],[[7,[[6,[5]]]]],[]],[[-1,2,9],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,10,10],[[7,[[6,[5]]]]],[]],[[-1,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[29,[[11,[30]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[24,24],[27,27],[22,22],[28,28],[9,9],[31,31],[32,32],[33,33],[17,17],[8,8],[16,16],[34,34],[35,35],[-1,[[6,[13]]],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,17],[[7,[[6,[5]]]]],[]],[[],9],[[],31],[[],32],[[],33],[[],17],[[],8],[[],16],[[],34],[[],35],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,[-1,[[25,[24]]],36],[-1,[[25,[27]]],36],[-1,[[25,[22]]],36],[-1,[[25,[28]]],36],[-1,[[25,[9]]],36],[-1,[[25,[31]]],36],[-1,[[25,[32]]],36],[-1,[[25,[33]]],36],[-1,[[25,[17]]],36],[-1,[[25,[8]]],36],[-1,[[25,[16]]],36],[-1,[[25,[34]]],36],[-1,[[25,[35]]],36],0,0,0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[24,24],18],[[27,27],18],[[22,22],18],[[28,28],18],[[9,9],18],[[31,31],18],[[32,32],18],[[33,33],18],[[17,17],18],[[8,8],18],[[16,16],18],[[34,34],18],[[35,35],18],0,[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[37,19],[[25,[14,38]]]],[[37,19],[[25,[14,38]]]],[[24,19],[[25,[14,38]]]],[[27,19],[[25,[14,38]]]],[[22,19],[[25,[14,38]]]],[[28,19],[[25,[14,38]]]],[[9,19],[[25,[14,38]]]],[[31,19],[[25,[14,38]]]],[[32,19],[[25,[14,38]]]],[[33,19],[[25,[14,38]]]],[[17,19],[[25,[14,38]]]],[[8,19],[[25,[14,38]]]],[[16,19],[[25,[14,38]]]],[[34,19],[[25,[14,38]]]],[[35,19],[[25,[14,38]]]],[[29,19],[[25,[14,38]]]],[[29,19],[[25,[14,38]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[12,33],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[39,29],[40,29],[-1,-1,[]],[-1,29,30],0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,21],[[7,[[6,[5]]]]],[]],[[-1,22],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[29,[[11,[[6,[30]]]]]],0,0,[[-1,2,23],[[7,[[6,[5]]]]],[]],0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,24],[[7,[[6,[5]]]]],[]],0,0,[[24,-1],25,41],[[27,-1],25,41],[[22,-1],25,41],[[28,-1],25,41],[[9,-1],25,41],[[31,-1],25,41],[[32,-1],25,41],[[33,-1],25,41],[[17,-1],25,41],[[8,-1],25,41],[[16,-1],25,41],[[34,-1],25,41],[[35,-1],25,41],0,[37,[[11,[42]]]],[29,[[11,[42]]]],[[-1,21,21],[[7,[[6,[5]]]]],[]],[[-1,21],[[7,[[6,[5]]]]],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,43,[]],[-1,43,[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[[-1,2,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,27],[[7,[[6,[5]]]]],[]],[[-1,2,21,21],[[7,[[6,[5]]]]],[]],[[-1,28],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,2,2,[4,[3]]],[[7,[[6,[5]]]]],[]],[[-1,2,2,8],[[7,[[6,[5]]]]],[]],[[-1,2,9],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,10,10],[[7,[[6,[5]]]]],[]],[[-1,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[6,[13]]],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,17],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,21],[[7,[[6,[5]]]]],[]],[[-1,22],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,[[-1,2,23],[[7,[[6,[5]]]]],[]],0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,24],[[7,[[6,[5]]]]],[]],0,0,0,[[-1,21,21],[[7,[[6,[5]]]]],[]],[[-1,21],[[7,[[6,[5]]]]],[]],0,0,0,[[-1,2,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,27],[[7,[[6,[5]]]]],[]],[[-1,2,21,21],[[7,[[6,[5]]]]],[]],[[-1,28],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,2,2,[4,[3]]],[[7,[[6,[5]]]]],[]],[[-1,2,2,8],[[7,[[6,[5]]]]],[]],[[-1,2,9],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,10,10],[[7,[[6,[5]]]]],[]],[[-1,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[3,3],[-1,[[6,[13]]],[]],[[-1,-2],14,[],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,17],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,[-1,[[25,[3]]],36],0,0,0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[3,3],18],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[3,19],[[25,[14,38]]]],[-1,-1,[]],0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,21],[[7,[[6,[5]]]]],[]],[[-1,22],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,[-1,-2,[],[]],0,0,[[-1,2,23],[[7,[[6,[5]]]]],[]],0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,24],[[7,[[6,[5]]]]],[]],0,0,[[3,-1],25,41],0,[[-1,21,21],[[7,[[6,[5]]]]],[]],[[-1,21],[[7,[[6,[5]]]]],[]],0,0,0,[-1,-2,[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[[-1,2,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,27],[[7,[[6,[5]]]]],[]],[[-1,2,21,21],[[7,[[6,[5]]]]],[]],[[-1,28],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],0,[-1,-2,[],[]],0,0,0,0,[[-1,24,16,[4,[3]],8,17],14,13],[29,37],[[29,37],37]],"c":[],"p":[[3,"Database",0],[15,"str"],[3,"Level",664],[15,"slice"],[8,"Future",815],[3,"Box",816],[3,"Pin",817],[3,"TrafficPattern",118],[3,"CreatePerformanceAnalytics",118],[15,"usize"],[4,"Option",818],[3,"InnerNotification",0],[8,"MCDatabase",118],[15,"tuple"],[4,"ConnectionOptions",0],[3,"CreateCaptcha",118],[3,"AddNotification",118],[15,"bool"],[3,"Formatter",819],[6,"Result",819],[15,"u32"],[4,"Login",118],[15,"i32"],[3,"Register",118],[4,"Result",820],[3,"TypeId",821],[3,"UpdateEmail",118],[3,"NameHash",118],[4,"Error",118],[8,"DatabaseError",822],[3,"PerformanceAnalytics",118],[3,"StatsUnixTimestamp",118],[3,"Notification",118],[3,"Captcha",118],[3,"Secret",118],[8,"Deserializer",823],[4,"DBError",118],[3,"Error",819],[4,"MigrateError",824],[3,"Error",825],[8,"Serializer",826],[8,"Error",827],[3,"String",828],[3,"Conn",0],[3,"Fresh",0],[8,"GetConnection",118],[6,"DBResult",664],[8,"Connect",118],[8,"CloneSPDatabase",118],[8,"Migrate",118],[13,"ColumnIndexOutOfBounds",505],[13,"ColumnDecode",505],[13,"TypeNotFound",505]],"b":[[304,"impl-Display-for-DBError"],[305,"impl-Debug-for-DBError"],[319,"impl-Display-for-Error"],[320,"impl-Debug-for-Error"],[336,"impl-From%3CMigrateError%3E-for-Error"],[337,"impl-From%3CError%3E-for-Error"],[339,"impl-From%3CE%3E-for-Error"]]},\
    -"mcaptcha":{"doc":"","t":"GGDRRDDRDDDDRDDDDDDDRRRRDDDDRDDRRMMMMMMMMMMMMMMMMMMMMMALLLLLLLLLLLLLLLLMMMMAMAAMMALLLLLLLLAAALLLLLLLLFFLLLLLLLLMFAMMMAMAMMMAAMAMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAACDAALLLLFLAAAAMAFAALLLLDDCLLLLLLLLALLAMLLLLLLCAAALLFLLLLLLLLAMLLLLDLLLAFLLLLFDLLLLLLLLLMDLLLLLLLLLLFDLLLLLLLLLLLLLDDLLLLLLLLMMLLLLLLLLLMMMLLFLLLLLLLLLLFDLLLDLLMMLMLLLLLMMMMMLLLLLLLDLLLLFLLLLLLDLLDLLLLLLLLLLLLLLLLLLALFDLLLLLLLLLLMDLLLFLLLLLLLLLLLLDDLLLAAFDLLLLLLLLLLLLDLLLLLMMLMLLLLDDDLLLLLLLLLLLLMLLLMLLLLLLLLLMFMMMFLLLLLLLLLLLLLLLMLLLAAAAFAFAADDLLLLLLLLDMLLMLLLLLLLMMMMLALLLLLLLLLLLLLLLFDLLLLLLDLLLLLLMMLLLLLLLLLLLDDMLLLLLLLLMFLLLLDLMLLLLLLLLLLLLMMMMLLALLFLLLLLLLLLLLLLLDLLLLDLLMLLLLLLMLDDLLLLLLLLLLLLMLLLLLDLLLMLLLLLLLLLLLLLLMLLLDLLMMMLMLLMLLLMMLDLLLLLLLLLLDLLMLALLLLLLLLLLDLLLMLLLLLLDLLLLLLMLMLLLLLLMMMLLALLLLLLLLLLDDLLLFDDEDDENNNNLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLMMDLLLLLLLLLLMMLLALLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLDLLMLMLLLLLLAAAAFDDLLLLLLLLLLLLMLLMLLMLLLLLLLLLDLLLLLLLLLLLLLDMMLLMMMLLLLLLLLLLLDLLLLLLLMLLDLLLLLLLLLLDMLLLMLMLLLLLCAAFAADDLLLLLLLLLLLLMLLLLLDFLLLMMLMLLMLLLLLLLLLLLLLLDLLLLMLLOMLLLLMLMLDDLLLLLLLLLLLLLLLLLLLLMMLMLLMMLLMLLLLLLLLLDLLLMDDLLLLLLLLLLLLLLLLLLLLMLMLLLLMLLLLLLLLLMDLLLRDMMLLMLLLMLMMMMLLLLDDEDDEDDENNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLMMFDLALLLFLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLDLLLLLLLLLLLLLLMLLLLLLDDMLLLLLLLLLLLLDLLLLLLLLLLLLLLMLLADMLLFLLLLLLLLLLLLLLLLLDLLMLLLLMLLLLDNGNELLLLLMMMOOLLLLLMLLMLLLLLLMMMLLLLLLLLLLLRDRRRLLLLLLLLLLLMLLLLLGAAFFRRDLLLLLMLLLLLLLLDRRLLLLLLLLDLLLLLLFDLLLLLLLLLAFDLLLLLLLLLLLLLLLLDMLLLMLLMLLLLADRLLLLLLLLLLLLLFMLNNNNNNDNNNDNNNNNNEGNNNNENGDNNNNNNNLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLRAAFAAFAAAAFADDRMLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLDDRMLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLDLLLLLLMMLLLLLRDLLLLMLLLLLLLLLMLRDDRDMMLLLLLLLLLLLLDLLLLLLLLMLLLLAFMLLLLLLLLLLLLLLLLLDLLLMLLLLLMLDRLLLLLLLLLLLADLLLAFAAMLLLLLLLALLDDRLLLLLLLLLLMMLLLMMMLDLMLLLLLLLLLLLLLLLDLLLLMLLMMMLLLMLDRLLLLLLLLLLDMLLLLLLLLLLLLLAMFDLLLLLLLLLLLLLDMLLLLDLLMLLMLLLLLMLAAAAAFADDDDRMMDMLLLLLLLLLLLLMLLLLLLLLDMMMMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLDDRDLLLLLLLLLLLLMDMLLLLLLLLMMMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLDRLLLLLLLLLLDLLLLMLLLLLLLLLDMMLLMMMLLLLLLLMLLLLMLDRLLLLLLMLLLLMMMLMLLLMLLLLLLLDLLRDLLLLLLLLMLLLDLLLMDLLLLAFMLLLLLLLLLLLLLDLLLLLLMLLLLRDMMLLMMLLLMLLMMMMMLLLLDDMLLLLLLLLLLMLLLLLLLLLDLLLLLLLLLLMLLLFDERDDRNNDDDDDMMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLMLLLLLLLLLMLMMMMMMMMMMMMMMLMLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLCAFADLLMLLLLLLLLDDALLLLLLLLDLLLLLLLLFFLLLLLLLLLLDLLLLLLLLLLLLLLLLDDDDDDGDDDDMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDIDDILLLLLLLLLLLLKLLMMLLLLLLLKLLLLLLLLLLLKLLKLLKLLLMLLLLLLLLLLLLLLLDDIMLLLLMLLLLLLLLLLLKLLKLLKLLKLMLLLLLLLLLLDDRRMLLLLLLLLLLLLLLLLLLLAFDLLLLLLLLLLLLLDLLLLLLLLML","n":["AppData","ArcData","BAR_CHART","CACHE_AGE","COMPILED_DATE","CREDIT_CARD","CSS","DOCS","DOCS_ICON","Data","FILES","GITHUB","GIT_COMMIT_HASH","HELP_CIRCLE","HOME","JS","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","MOBILE_CSS","PAGES","PKG_DESCRIPTION","PKG_HOMEPAGE","PKG_NAME","SETTINGS","SETTINGS_ICON","SOURCE_FILES_OF_INSTANCE","Settings","V1_API_ROUTES","VERIFICATIN_WIDGET_CSS","VERIFICATIN_WIDGET_JS","VERSION","WIDGET_ROUTES","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","alloc","allow_demo","allow_registration","api","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha","captcha","commercial","creds","data","database","date","db","db","debug","demo","deref","deref","deref","deref","deref","deref","deref","deref","docs","email","errors","from","from","from","from","from","from","from","from","get_identity_service","get_json_err","into","into","into","into","into","into","into","into","mailer","main","pages","phantom","ptr","redis","routes","server","settings","settings","smtp","source_code","static_assets","stats","stats","survey","survey","survey_secrets","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","widget","v1","ROUTES","RedirectQuery","account","auth","borrow","borrow_mut","deserialize","from","get_middleware","into","mcaptcha","meta","notifications","pow","redirect_to","routes","services","stats","survey","try_from","try_into","type_id","vzip","AccountCheckPayload","AccountCheckResp","auth","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","delete","deserialize","deserialize","email","exists","fmt","fmt","from","from","into","into","mcaptcha","password","routes","secret","serialize","serialize","services","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","username","val","vzip","vzip","borrow","borrow_mut","delete_account","from","into","register","runners","services","try_from","try_into","type_id","vzip","delete_user","Email","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","email","email_exists","fmt","from","from","from","into","into","into","register","register","serialize","services","set_email","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","ChangePasswordReqest","UpdatePassword","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","confirm_new_password","confirm_new_password","deserialize","fmt","from","from","from","from","into","into","into","new_password","new_password","password","register","serialize","services","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_password_runner","update_user_password","vzip","vzip","vzip","Account","borrow","borrow_mut","delete","email_exists","from","get_secret","into","new","try_from","try_into","type_id","update_email","update_password","update_secret","update_username","username_exists","vzip","borrow","borrow","borrow_mut","borrow_mut","from","from","get_secret","into","into","register","register","services","try_from","try_from","try_into","try_into","type_id","type_id","update_user_secret","vzip","vzip","Username","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","from","into","into","into","register","register","runners","serialize","services","set_username","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","username","username_exists","vzip","vzip","vzip","username_exists","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","into","into","into","login","register","register","register","register","routes","runners","services","signout","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Auth","borrow","borrow_mut","from","get_login_route","into","login","logout","new","register","try_from","try_into","type_id","vzip","Login","Password","Register","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","confirm_password","deserialize","deserialize","deserialize","email","fmt","fmt","fmt","from","from","from","into","into","into","login","login_runner","password","password","password","register_runner","serialize","serialize","serialize","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","username","vzip","vzip","vzip","create","delete","easy","get","get_random","routes","services","stats","update","CreateCaptcha","MCaptchaDetails","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","create","description","deserialize","deserialize","duration","fmt","from","from","from","into","into","into","key","levels","name","publish_benchmarks","register","runner","serialize","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","create","DeleteCaptcha","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","delete","deserialize","fmt","from","from","into","into","key","password","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","TrafficPatternRequest","UpdateTrafficPattern","avg_traffic","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","calculate","clone","clone","clone_into","clone_into","create","default","description","deserialize","deserialize","fmt","fmt","from","from","from","from","into","into","into","into","key","pattern","peak_sustainable_traffic","publish_benchmarks","register","register","routes","serialize","serialize","services","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update","vzip","vzip","vzip","vzip","Easy","borrow","borrow_mut","create","from","into","new","try_from","try_into","type_id","update","vzip","I32Levels","Levels","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","difficulty_factor","fmt","fmt","from","from","from","get_captcha","into","into","into","levels","register","serialize","serialize","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","visitor_threshold","vzip","vzip","vzip","Captcha","borrow","borrow_mut","create","delete","easy","from","get","into","new","stats","try_from","try_into","type_id","update","update_key","vzip","StatsPayload","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","get","into","into","key","register","routes","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Stats","borrow","borrow_mut","from","get","into","new","try_from","try_into","type_id","vzip","UpdateCaptcha","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","description","deserialize","duration","from","from","from","into","into","into","key","levels","publish_benchmarks","register","register","runner","serialize","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_captcha","update_key","vzip","vzip","vzip","update_captcha","BuildDetails","BuildDetailsBuilder","BuildDetailsBuilderError","Health","HealthBuilder","HealthBuilderError","UninitializedField","UninitializedField","ValidationError","ValidationError","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build_details","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","create_empty","create_empty","db","db","db","default","default","deserialize","deserialize","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","git_commit_hash","git_commit_hash","git_commit_hash","health","into","into","into","into","into","into","into","into","is_redis","redis","redis","redis","register","register","routes","serialize","serialize","services","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","version","version","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Meta","borrow","borrow_mut","build_details","from","health","into","new","try_from","try_into","type_id","vzip","add","get","mark_read","routes","services","AddNotificationRequest","add_notification","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deserialize","eq","fmt","from","from","heading","into","into","message","register","serialize","to","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","NotificationResp","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deserialize","eq","from","from","from","from_notifications","get_notification","heading","id","into","into","message","name","received","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","MarkReadReq","borrow","borrow","borrow_mut","borrow_mut","deserialize","from","from","id","into","into","mark_read","register","serialize","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Notifications","add","borrow","borrow_mut","from","get","into","mark_read","new","try_from","try_into","type_id","vzip","I32Levels","get_config","routes","services","verify_pow","verify_token","ApiPoWConfig","GetConfigPayload","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","difficulty_factor","fmt","fmt","from","from","from","get_config","init_mcaptcha","into","into","into","key","max_recorded_nonce","register","salt","serialize","serialize","string","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","PoW","borrow","borrow_mut","from","get_config","get_config","into","new","rm_scope","scope","try_from","try_into","type_id","validate_captcha_token","validate_captcha_token","verify_pow","verify_pow","vzip","ApiWork","ValidationToken","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","fmt","fmt","from","from","from","into","into","into","key","nonce","register","result","serialize","serialize","string","time","to_owned","to_owned","token","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verify_pow","vzip","vzip","vzip","worker_type","CaptchaValidateResp","VerifyCaptchaResultPayload","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","fmt","fmt","from","from","from","into","into","into","key","register","secret","serialize","serialize","to_owned","to_owned","token","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","valid","validate_captcha_token","vzip","vzip","vzip","ROUTES","Routes","account","auth","borrow","borrow_mut","captcha","from","get_login_route","into","meta","new","notifications","pow","stats","survey","try_from","try_into","type_id","vzip","BuildDetails","BuildDetailsBuilder","BuildDetailsBuilderError","PercentileReq","PercentileReqBuilder","PercentileReqBuilderError","PercentileResp","PercentileRespBuilder","PercentileRespBuilderError","UninitializedField","UninitializedField","UninitializedField","ValidationError","ValidationError","ValidationError","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","create_empty","create_empty","create_empty","default","default","default","deserialize","deserialize","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","git_commit_hash","git_commit_hash","git_commit_hash","into","into","into","into","into","into","into","into","into","into","percentile","percentile","percentile","percentile_bench_runner","percentile_benches","register","routes","serialize","serialize","serialize","services","time","time","time","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","version","version","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Stats","borrow","borrow_mut","clone","clone_into","deserialize","eq","equivalent","equivalent","equivalent","equivalent","fmt","from","into","new","percentile_benches","serialize","to_owned","try_from","try_into","type_id","vzip","Page","SurveySecretUpload","auth_token","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","deserialize","download","eq","equivalent","equivalent","equivalent","equivalent","fmt","from","from","from","from","into","into","into","into","page","register","register","routes","secret","secret","serialize","serialize","services","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Survey","borrow","borrow_mut","download","from","get_download_route","into","new","secret","try_from","try_into","type_id","vzip","Data","Embedded","Mailer","Redis","SystemGroup","add_site","borrow","borrow","borrow_mut","borrow_mut","captcha","creds","db","enum_system_actor","enum_system_wrapper","from","from","get_creds","get_mailer","get_pow","inner","into","into","mailer","new","new","new_system","register_survey","remove","rename","settings","stats","survey_secrets","try_from","try_from","try_into","try_into","type_id","type_id","upload_survey_job","validate_verification_tokens","verify_pow","vzip","vzip","DAY","Date","HOUR","MINUTE","WEEK","borrow","borrow_mut","clone","clone_into","date","fmt","format","from","into","new","print_date","time","to_owned","try_from","try_into","type_id","vzip","BoxDB","maria","pg","get_data","get_data","DEMO_PASSWORD","DEMO_USER","DemoUser","abort","borrow","borrow_mut","delete_demo_user","from","handle","into","register_demo_user","run","spawn","try_from","try_into","type_id","vzip","Asset","DOCS","OPEN_API_SPEC","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","dist","from","from","from","from","get","get","handle_embedded_file","index","into","into","into","into","iter","iter","register","register","register","routes","services","spec","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Docs","assets","borrow","borrow_mut","from","home","into","new","spec","try_from","try_into","type_id","vzip","verification","IndexPage","PAGE","borrow","borrow_mut","clone","clone_into","from","into","new","render_once","render_once_to","to_owned","try_from","try_into","type_id","verification","verification_link","vzip","AccountNotFound","BlacklistError","CaptchaError","CaptchaNotFound","ClosedForRegistration","DBError","DBErrorWrapper","EmailTaken","Err","Err","ErrorToResponse","InternalServerError","InternalServerError","NotAUrl","NotAnEmail","Ok","Ok","PageError","PageResult","PasswordTooLong","PasswordTooShort","PasswordsDontMatch","ProfainityError","ServiceError","ServiceError","ServiceResult","SmtpErrorWrapper","TokenNotFound","TrafficPatternNotFound","UnableToSendEmail","UsernameCaseMappedError","UsernameNotFound","UsernameTaken","WrongPassword","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deserialize","eq","eq","eq","eq","error","error_response","error_response","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","serialize","source","source","source","source","status_code","status_code","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","NAME","auth","errors","get_middleware","panel","routes","services","sitemap","login","register","routes","services","sudo","INDEX","IndexPage","PAGE","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","from","from","from","into","into","into","login","register","render_once","render_once_to","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","INDEX","IndexPage","PAGE","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","from","from","from","into","into","into","join","register","render_once","render_once_to","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Auth","borrow","borrow_mut","from","get_login_route","get_sitemap","into","join","login","new","try_from","try_into","type_id","vzip","PAGE","SudoPage","borrow","borrow_mut","clone","clone_into","data","from","into","new","render_once","render_once_to","to_owned","try_from","try_into","type_id","url","vzip","ERROR_ROUTE","ErrorPage","INTERNAL_SERVER_ERROR_BODY","PAGE","UNKNOWN_ERROR_BODY","__private_field","__private_field","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","deref","error","from","from","from","from","into","into","into","into","message","new","register","render_once","render_once_to","routes","services","title","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Errors","borrow","borrow_mut","from","internal_server_error","into","new","try_from","try_into","type_id","unknown_error","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","into","into","new","notifications","panel","register","render_once","render_once_to","routes","services","settings","sitekey","sitekeys","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","utils","vzip","vzip","IndexPage","Notification","PAGE","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","from","heading","id","into","into","into","message","n","name","new","notifications","print_date","received","register","render_once","render_once_to","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Panel","borrow","borrow_mut","from","get_sitemap","home","into","new","notifications","settings","sitekey","try_from","try_into","type_id","utils","vzip","IndexPage","PAGE","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","delete_account","email","from","from","from","from","into","into","into","into","register","register","register","render_once","render_once_to","routes","secret","services","settings","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update_secret","username","vzip","vzip","vzip","vzip","Settings","borrow","borrow_mut","delete_account","from","get_sitemap","home","into","new","try_from","try_into","type_id","update_secret","vzip","add","delete","edit","list","routes","services","view","ADVANCE_INDEX","AdvanceIndexPage","EASY_INDEX","EasyIndexPage","PAGE","__private_field","__private_field","advance","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","clone","clone","clone_into","clone_into","default","default","deref","deref","easy","form_description","form_description","form_duration","form_title","form_title","from","from","from","from","from","from","into","into","into","into","into","into","levels","peak_sustainable_traffic","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","borrow","borrow_mut","delete_sitekey","from","into","register","try_from","try_into","type_id","vzip","AdvanceEditPage","EasyEditPage","PAGE","advance","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","duration","easy","form_title","from","from","from","from","into","into","into","into","key","key","levels","name","new","new","pattern","publish_benchmarks","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","into","into","list_sitekeys","new","register","render_once","render_once_to","sitekeys","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Sitekey","add_advance","add_easy","borrow","borrow_mut","delete","edit_advance","edit_easy","from","get_delete","get_edit_advance","get_edit_easy","get_sitemap","get_view","into","list","new","try_from","try_into","type_id","view","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","duration","from","from","into","into","key","levels","name","new","publish_benchmarks","register","render_once","render_once_to","stats","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","view_sitekey","vzip","vzip","PAGE","PercentilePage","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","difficulty_factor","from","from","from","get_percentile","into","into","into","percentile","post_percentile","register","register","render_once","render_once_to","routes","services","time","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Utils","borrow","borrow_mut","from","get_sitemap","into","new","percentile","try_from","try_into","type_id","vzip","ROUTES","Routes","about","auth","borrow","borrow_mut","donate","errors","from","get_login_route","get_sitemap","home","into","new","panel","privacy","security","sitemap","thanks","try_from","try_into","type_id","vzip","INDEX","IndexPage","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","domain","from","from","from","into","into","into","register","render_once","render_once_to","sitemap","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","urls","vzip","vzip","vzip","services","Captcha","DBType","DEPRECATED_ENV_VARS","Database","DefaultDifficultyStrategy","ENV_VAR_CONFIG","Maria","Postgres","Redis","Server","Settings","Smtp","Survey","allow_demo","allow_registration","avg_traffic_difficulty","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic_difficulty","captcha","check_url","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","commercial","cookie_secret","database","database_type","debug","default_difficulty_strategy","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","domain","duration","enable_stats","env_override","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from_url","gc","get_ip","instance_root_url","into","into","into","into","into","into","into","into","into","ip","new","nodes","password","peak_sustainable_traffic_difficulty","pool","pool","port","port","proxy_has_tls","queue_length","rate_limit","redis","reply","runners","salt","serialize","server","set_database_type","smtp","source_code","survey","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","url","url","url","url_prefix","username","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","FileMap","filemap","services","static_files","FileMap","borrow","borrow_mut","files","from","get","into","new","try_from","try_into","type_id","vzip","Asset","Favicons","assets","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","favicons","from","from","from","from","get","get","get","get","handle_assets","handle_favicons","into","into","into","into","iter","iter","iter","iter","register","register","static_files","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","BAR_CHART","CREDIT_CARD","DOCS_ICON","GITHUB","HELP_CIRCLE","HOME","Img","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","SETTINGS_ICON","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","CaptchaStats","CloneStats","Dummy","Real","Stats","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","clone_stats","clone_stats","clone_stats","config_fetches","confirms","default","default","default","deserialize","eq","eq","eq","fetch","fetch","fetch","fmt","fmt","fmt","from","from","from","into","into","into","record_confirm","record_confirm","record_confirm","record_fetch","record_fetch","record_fetch","record_solve","record_solve","record_solve","serialize","solves","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","SecretsStore","Survey","SurveyClientTrait","app_ctx","borrow","borrow","borrow_mut","borrow_mut","client","clone","clone","clone_into","clone_into","default","fmt","from","from","get","into","into","is_online","is_online","new","register","register","rm","schedule_upload_job","schedule_upload_job","set","start_job","start_job","store","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","INDEX_PAGE","IndexPage","PAGE","WIDGET_ROUTES","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","from","from","from","into","into","into","new","register","render_once","render_once_to","routes","services","show_widget","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Widget","borrow","borrow_mut","from","into","new","try_from","try_into","type_id","verification_widget","vzip"],"q":[[0,"mcaptcha"],[162,"mcaptcha::api"],[163,"mcaptcha::api::v1"],[186,"mcaptcha::api::v1::account"],[227,"mcaptcha::api::v1::account::delete"],[239,"mcaptcha::api::v1::account::delete::runners"],[240,"mcaptcha::api::v1::account::email"],[277,"mcaptcha::api::v1::account::password"],[319,"mcaptcha::api::v1::account::routes"],[337,"mcaptcha::api::v1::account::secret"],[358,"mcaptcha::api::v1::account::username"],[396,"mcaptcha::api::v1::account::username::runners"],[397,"mcaptcha::api::v1::auth"],[430,"mcaptcha::api::v1::auth::routes"],[444,"mcaptcha::api::v1::auth::runners"],[498,"mcaptcha::api::v1::mcaptcha"],[507,"mcaptcha::api::v1::mcaptcha::create"],[550,"mcaptcha::api::v1::mcaptcha::create::runner"],[551,"mcaptcha::api::v1::mcaptcha::delete"],[578,"mcaptcha::api::v1::mcaptcha::easy"],[639,"mcaptcha::api::v1::mcaptcha::easy::routes"],[651,"mcaptcha::api::v1::mcaptcha::get"],[694,"mcaptcha::api::v1::mcaptcha::routes"],[711,"mcaptcha::api::v1::mcaptcha::stats"],[738,"mcaptcha::api::v1::mcaptcha::stats::routes"],[749,"mcaptcha::api::v1::mcaptcha::update"],[786,"mcaptcha::api::v1::mcaptcha::update::runner"],[787,"mcaptcha::api::v1::meta"],[914,"mcaptcha::api::v1::meta::routes"],[926,"mcaptcha::api::v1::notifications"],[931,"mcaptcha::api::v1::notifications::add"],[961,"mcaptcha::api::v1::notifications::get"],[994,"mcaptcha::api::v1::notifications::mark_read"],[1016,"mcaptcha::api::v1::notifications::routes"],[1029,"mcaptcha::api::v1::pow"],[1035,"mcaptcha::api::v1::pow::get_config"],[1081,"mcaptcha::api::v1::pow::routes"],[1099,"mcaptcha::api::v1::pow::verify_pow"],[1146,"mcaptcha::api::v1::pow::verify_token"],[1190,"mcaptcha::api::v1::routes"],[1210,"mcaptcha::api::v1::stats"],[1376,"mcaptcha::api::v1::stats::routes"],[1398,"mcaptcha::api::v1::survey"],[1454,"mcaptcha::api::v1::survey::routes"],[1467,"mcaptcha::data"],[1511,"mcaptcha::date"],[1533,"mcaptcha::db"],[1536,"mcaptcha::db::maria"],[1537,"mcaptcha::db::pg"],[1538,"mcaptcha::demo"],[1555,"mcaptcha::docs"],[1603,"mcaptcha::docs::routes"],[1616,"mcaptcha::email"],[1617,"mcaptcha::email::verification"],[1635,"mcaptcha::errors"],[1746,"mcaptcha::pages"],[1754,"mcaptcha::pages::auth"],[1759,"mcaptcha::pages::auth::login"],[1796,"mcaptcha::pages::auth::register"],[1833,"mcaptcha::pages::auth::routes"],[1847,"mcaptcha::pages::auth::sudo"],[1865,"mcaptcha::pages::errors"],[1918,"mcaptcha::pages::errors::routes"],[1930,"mcaptcha::pages::panel"],[1963,"mcaptcha::pages::panel::notifications"],[2003,"mcaptcha::pages::panel::routes"],[2019,"mcaptcha::pages::panel::settings"],[2069,"mcaptcha::pages::panel::settings::routes"],[2083,"mcaptcha::pages::panel::sitekey"],[2090,"mcaptcha::pages::panel::sitekey::add"],[2172,"mcaptcha::pages::panel::sitekey::delete"],[2182,"mcaptcha::pages::panel::sitekey::edit"],[2241,"mcaptcha::pages::panel::sitekey::list"],[2268,"mcaptcha::pages::panel::sitekey::routes"],[2290,"mcaptcha::pages::panel::sitekey::view"],[2322,"mcaptcha::pages::panel::utils"],[2362,"mcaptcha::pages::panel::utils::routes"],[2374,"mcaptcha::pages::routes"],[2397,"mcaptcha::pages::sitemap"],[2435,"mcaptcha::routes"],[2436,"mcaptcha::settings"],[2661,"mcaptcha::static_assets"],[2665,"mcaptcha::static_assets::filemap"],[2677,"mcaptcha::static_assets::static_files"],[2726,"mcaptcha::static_assets::static_files::assets"],[2837,"mcaptcha::stats"],[2904,"mcaptcha::survey"],[2946,"mcaptcha::widget"],[2986,"mcaptcha::widget::routes"],[2997,"alloc::string"],[2998,"actix_identity::cookie"],[2999,"actix_identity::middleware"],[3000,"actix_web::types::json"],[3001,"std::io::error"],[3002,"core::result"],[3003,"core::any"],[3004,"serde::de"],[3005,"actix_auth_middleware"],[3006,"actix_web::config"],[3007,"core::fmt"],[3008,"core::fmt"],[3009,"actix_web::config"],[3010,"db_core"],[3011,"libmcaptcha::defense"],[3012,"alloc::vec"],[3013,"derive_builder::error"],[3014,"db_core"],[3015,"argon2_creds::config"],[3016,"lettre::executor"],[3017,"lettre::transport::smtp::async_transport"],[3018,"libmcaptcha::pow"],[3019,"libmcaptcha::errors"],[3020,"alloc::sync"],[3021,"actix::address"],[3022,"libmcaptcha::system"],[3023,"libmcaptcha::master"],[3024,"libmcaptcha::cache"],[3025,"libmcaptcha::master::messages"],[3026,"libmcaptcha::pow"],[3027,"db_core"],[3028,"core::time"],[3029,"tokio::runtime::task::join"],[3030,"rust_embed_utils"],[3031,"actix_web::response::response"],[3032,"core::iter::traits::iterator"],[3033,"rust_embed"],[3034,"sailfish::runtime::render"],[3035,"sailfish::runtime::buffer"],[3036,"sailfish::runtime::render"],[3037,"argon2_creds::errors"],[3038,"validator::types"],[3039,"db_core::errors"],[3040,"actix::address"],[3041,"tokio::sync::oneshot::error"],[3042,"core::error"],[3043,"http::status"],[3044,"core::fmt"],[3045,"db_core"],[3046,"config::builder"],[3047,"config::error"],[3048,"core::future::future"],[3049,"core::pin"]],"d":["","","","","","","","","","App data","","","","","","","","","","","","","","","","","points to source files matching build commit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mCaptcha system: Redis cache, etc.","","","credential management configuration","App data: redis cache, database connections, etc.","","","","database ops defined by db crates","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","email client","","","","","","","","","app settings","","","","","stats recorder","","","survey secret store","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","User facing CAPTCHA widget","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","update email","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","update username","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","returns Ok(()) when everything checks out and the user is …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","User’s traffic pattern; used in generating a captcha …","","average traffic of user’s website","","","","","","","","","traffic that bought the user’s website down; optional","","","","","","","","Captcha description","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","the peak traffic that the user’s website can handle","publish benchmarks","","","","","","","","","","","","","","","","","","","","","","","","","","","","","easy is using defaults","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Builder for BuildDetails.","Error type for BuildDetailsBuilder","Health check return datatype","Builder for Health.","Error type for HealthBuilder","Uninitialized field","Uninitialized field","Custom validation error","Custom validation error","","","","","","","","","","","","","","","","","Builds a new BuildDetails.","Builds a new Health.","emits build details of the bninary","","","","","","","","","Create an empty builder, with all fields set to None or …","Create an empty builder, with all fields set to None or …","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","checks all components of the system","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","route handler that adds a notification message","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","route handler that gets all unread notifications","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","route handler that marks a notification read","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","PoW Verification module","PoW success token module","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","get PoW configuration for an mcaptcha key","Call this when MCaptcha is not in master.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","remove scope for $name route","","Calls U::from(self).","","","","","","","remove scope for $name route","","remove scope for $name route","","","","validation token that clients receive as proof for …","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","route handler that verifies PoW and issues a solution token","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","route handler that validates a PoW solution token","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","Builder for BuildDetails.","Error type for BuildDetailsBuilder","Health check return datatype","Builder for PercentileReq.","Error type for PercentileReqBuilder","Health check return datatype","Builder for PercentileResp.","Error type for PercentileRespBuilder","Uninitialized field","Uninitialized field","Uninitialized field","Custom validation error","Custom validation error","Custom validation error","","","","","","","","","","","","","","","","","","","","","Builds a new BuildDetails.","Builds a new PercentileReq.","Builds a new PercentileResp.","","","","","","","","","","","","","Create an empty builder, with all fields set to None or …","Create an empty builder, with all fields set to None or …","Create an empty builder, with all fields set to None or …","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","Get difficulty factor with max time limit for percentile …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","emits build details of the bninary","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","mCaptcha/survey upload secret route","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","App data","","Mailer data type AsyncSmtpTransport","","Represents mCaptcha cache and master system. When Redis is …","","","","","","mCaptcha system: Redis cache, etc.","credential management configuration","database ops defined by db crates","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","email client","","create new instance of app data","","","","","app settings","stats recorder","survey secret store","","","","","","","","","","","","","","","","","","","","","print date","","","Returns the argument unchanged.","Calls U::from(self).","","print relative time from date","","","","","","","","","","","","Demo password","Demo username","","","","","","Returns the argument unchanged.","","Calls U::from(self).","register demo user runner","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Get an embedded file and its metadata.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterates over the file paths in the folder.","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","Email operations: verification, notification, etc","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","when the value passed contains blacklisted words see …","","captcha not found","","","","email is already taken","Contains the error value","Contains the error value","","","","","","Contains the success value","Contains the success value","","","","","","when the value passed contains profainity","","","","","token not found","Traffic pattern not found","Unable to send email","when the value passed contains characters not present in …","","when the a username is already taken","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","notifications","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","route handler that renders individual views for sitekeys","","","","","","","","","","","","","","route handler that renders individual views for sitekeys","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","render a list of all sitekeys that a user has","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","route handler that renders individual views for sitekeys","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get an embedded file and its metadata.","","","Get an embedded file and its metadata.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterates over the file paths in the folder.","","","Iterates over the file paths in the folder.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Trait to clone MCDatabase","","","","","","","","","","","","","","","","clone DB","","","","","","","","","","","","fetch stats","fetch stats","fetch stats","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig solves","record PoWConfig solves","record PoWConfig solves","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","widget services","render a client side widget for CAPTCHA verification","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,245,246,247,248,249,250,251,252,253,254,1,3,5,7,8,9,10,11,265,2,2,0,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,40,2,2,40,0,2,0,0,40,2,0,1,3,5,7,8,9,10,11,0,0,0,1,3,5,7,8,9,10,11,0,0,1,3,5,7,8,9,10,11,40,0,0,265,265,2,0,2,0,40,2,2,0,0,40,0,2,40,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,0,0,0,0,0,0,20,20,20,20,0,20,0,0,0,0,20,0,0,0,0,20,20,20,20,0,0,0,25,26,25,26,25,26,25,26,0,25,26,0,26,25,26,25,26,25,26,0,0,0,0,25,26,0,25,26,25,26,25,26,25,26,0,25,25,26,30,30,0,30,30,30,0,0,30,30,30,30,0,0,34,35,36,34,35,36,34,34,34,34,0,34,34,35,36,34,35,36,35,36,34,0,0,34,34,35,36,34,35,36,34,35,36,34,35,36,0,0,38,37,39,38,37,39,37,37,38,37,37,37,38,38,37,39,38,37,39,38,37,37,39,37,0,37,38,37,39,38,37,39,38,37,39,0,0,38,37,39,0,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,42,43,42,43,42,43,0,42,43,42,43,0,42,43,42,43,42,43,0,42,43,0,45,44,46,45,44,46,44,44,44,44,45,44,46,45,44,46,45,46,0,44,0,0,44,45,44,46,45,44,46,45,44,46,44,0,45,44,46,0,47,48,49,47,48,49,47,48,49,47,48,49,0,0,47,48,49,0,0,0,0,47,48,49,47,48,49,47,48,49,47,48,49,0,50,50,50,50,50,50,50,50,50,50,50,50,50,0,0,0,52,53,54,52,53,54,52,53,54,52,53,54,52,52,53,54,52,52,53,54,52,53,54,52,53,54,53,0,52,53,54,0,52,53,54,52,53,54,52,53,54,52,53,54,52,53,54,52,52,53,54,0,0,0,0,0,0,0,0,0,0,0,57,56,58,57,56,58,56,56,0,57,57,56,57,56,57,56,58,57,56,58,56,57,56,57,58,0,57,56,56,57,56,58,57,56,58,57,56,58,57,56,58,0,0,59,60,59,60,59,59,0,59,59,59,60,59,60,59,59,60,59,59,59,60,59,60,59,60,59,60,0,0,65,65,67,66,68,65,67,66,68,65,0,65,66,65,66,0,65,65,65,66,65,66,65,67,66,68,65,67,66,68,66,66,65,65,67,68,0,65,66,0,65,66,65,67,66,68,65,67,66,68,65,67,66,68,0,65,67,66,68,0,69,69,69,69,69,69,69,69,69,69,69,0,0,72,70,71,72,70,71,70,71,70,71,70,71,71,70,71,72,70,71,0,72,70,71,70,72,70,71,70,71,72,70,71,72,70,71,72,70,71,71,72,70,71,0,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,0,74,75,74,75,74,74,74,74,74,75,0,74,75,74,75,0,74,74,74,75,74,75,74,75,74,75,0,76,76,76,76,76,76,76,76,76,76,0,78,77,79,78,77,79,77,77,77,78,77,79,78,77,79,77,77,77,78,79,0,77,78,77,79,78,77,79,78,77,79,0,0,78,77,79,0,0,0,0,0,0,0,82,85,82,85,81,80,82,88,84,83,85,89,81,80,82,88,84,83,85,89,80,83,0,81,80,84,83,81,80,84,83,80,83,83,84,83,80,83,81,84,81,82,82,84,85,85,81,80,82,82,82,88,84,83,85,85,85,89,80,81,80,0,81,80,82,88,84,83,85,89,84,83,84,83,88,89,0,81,84,0,81,80,84,83,82,85,81,80,82,88,84,83,85,89,81,80,82,88,84,83,85,89,81,80,82,88,84,83,85,89,80,81,80,81,80,82,88,84,83,85,89,0,90,90,90,90,90,90,90,90,90,90,90,0,0,0,0,0,0,0,91,92,91,92,91,91,91,91,91,91,91,92,91,91,92,91,92,91,91,91,91,92,91,92,91,92,91,92,0,93,95,93,95,93,93,93,93,93,93,93,95,93,0,93,93,93,95,93,93,93,95,93,93,93,95,93,95,93,95,93,95,0,96,97,96,97,96,96,97,96,96,97,0,97,96,96,97,96,97,96,97,96,97,0,98,98,98,98,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,99,100,101,99,100,101,99,100,99,100,99,100,100,99,100,99,100,101,0,0,99,100,101,99,100,101,100,99,100,100,99,100,99,100,101,99,100,101,99,100,101,99,100,101,0,102,102,102,102,102,102,102,0,102,102,102,102,102,102,102,102,102,0,0,103,104,105,103,104,105,103,104,103,104,103,104,103,104,103,104,105,103,104,105,104,104,105,104,103,104,104,104,103,104,103,103,104,105,103,104,105,103,104,105,0,103,104,105,104,0,0,106,107,108,106,107,108,106,107,106,107,106,107,106,107,106,107,108,106,107,108,107,108,107,106,107,106,107,107,106,107,108,106,107,108,106,107,108,106,0,106,107,108,0,0,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,111,114,117,111,114,117,110,109,111,120,113,112,114,116,115,117,110,109,111,120,113,112,114,116,115,117,109,112,115,110,109,113,112,116,115,110,109,113,112,116,115,109,112,115,109,112,115,110,113,116,115,116,115,110,111,111,113,114,114,116,117,117,110,109,111,111,111,120,113,112,114,114,114,116,115,117,117,117,109,110,109,110,109,111,120,113,112,114,116,115,117,112,113,112,0,0,120,0,110,113,116,0,112,113,112,110,109,113,112,116,115,111,114,117,110,109,111,120,113,112,114,116,115,117,110,109,111,120,113,112,114,116,115,117,110,109,111,120,113,112,114,116,115,117,109,110,109,110,109,111,120,113,112,114,116,115,117,0,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,0,0,123,122,124,123,125,122,124,123,125,122,122,122,123,0,122,122,122,122,122,122,122,124,123,125,122,124,123,125,122,124,125,0,0,123,122,123,0,122,122,124,123,125,122,124,123,125,122,124,123,125,122,124,123,125,0,126,126,126,126,126,126,126,126,126,126,126,126,0,127,0,127,0,127,127,40,127,40,40,40,40,0,0,127,40,40,40,127,266,127,40,40,127,40,127,40,127,127,40,40,40,127,40,127,40,127,40,40,127,127,127,40,0,0,0,0,0,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,0,0,0,0,0,0,0,0,149,149,149,149,149,149,149,149,149,149,149,149,149,149,0,0,0,267,156,157,158,267,156,157,158,0,267,156,157,158,267,267,0,0,267,156,157,158,267,267,156,157,158,0,0,0,267,156,157,158,267,156,157,158,267,156,157,158,267,156,157,158,0,159,159,159,159,159,159,159,159,159,159,159,159,0,0,0,160,160,160,160,160,160,160,160,160,160,160,160,160,0,160,160,33,33,33,33,33,33,0,33,268,269,0,33,167,33,33,268,269,0,0,33,33,33,33,0,167,0,0,33,33,33,33,33,33,33,165,166,33,164,167,165,166,33,164,167,164,165,166,33,167,164,33,167,165,165,166,166,33,33,167,167,165,166,33,33,33,33,33,33,33,33,33,164,167,167,167,165,166,33,164,167,164,165,166,33,167,33,167,165,166,33,167,165,166,33,164,167,165,166,33,164,167,165,166,33,164,167,165,166,33,164,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,179,180,181,179,180,181,179,179,179,180,179,180,181,179,180,181,0,181,179,179,179,179,180,181,179,180,181,179,180,181,179,180,181,0,0,0,183,182,183,184,182,183,184,182,182,182,183,182,183,184,182,183,184,0,184,182,182,182,182,183,184,182,183,184,182,183,184,182,183,184,0,185,185,185,185,185,185,185,185,185,185,185,185,185,0,0,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,0,0,0,0,0,192,193,191,192,193,194,191,192,193,194,191,191,192,193,0,191,192,193,194,191,192,193,194,191,191,194,191,191,0,0,191,191,191,192,193,194,191,192,193,194,191,192,193,194,191,192,193,194,0,195,195,195,195,195,195,195,195,195,195,195,0,0,196,198,196,198,196,196,196,198,196,198,196,0,0,198,196,196,0,0,0,0,196,196,196,198,196,198,196,198,0,196,198,0,0,0,199,200,201,199,200,201,199,199,200,201,199,199,199,200,201,199,200,199,200,0,199,199,201,200,200,199,200,201,199,200,201,199,200,201,199,200,201,0,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,0,0,203,204,205,206,203,204,205,206,203,203,0,203,203,204,205,206,203,204,205,206,204,205,206,203,203,0,203,0,0,203,203,204,205,206,203,204,205,206,203,204,205,206,0,203,203,204,205,206,0,207,207,207,207,207,207,207,207,207,207,207,207,207,0,0,0,0,0,0,0,0,0,0,0,0,210,211,0,209,210,211,208,212,209,213,210,211,208,212,209,213,209,208,209,208,209,208,209,210,211,0,208,209,208,208,209,210,211,208,212,209,213,210,211,208,212,209,213,208,209,212,213,208,209,208,209,208,209,210,211,208,212,209,213,210,211,208,212,209,213,210,211,208,212,209,213,210,211,208,212,209,213,214,214,0,214,214,214,214,214,214,214,0,0,0,0,215,217,216,218,215,217,216,218,215,216,215,216,215,0,216,215,217,216,218,215,217,216,218,215,216,215,215,215,216,216,215,217,218,215,216,215,216,215,216,215,217,216,218,215,217,216,218,215,217,216,218,215,217,216,218,0,0,219,220,219,220,219,219,219,220,219,220,0,219,220,219,219,219,219,219,220,219,220,219,220,219,220,0,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,0,0,222,224,222,224,222,222,222,222,224,222,224,222,222,222,222,222,224,222,222,222,222,222,224,222,224,222,224,0,222,224,0,0,225,226,227,225,226,227,225,225,225,225,226,227,0,225,226,227,225,0,226,227,225,225,0,0,225,225,225,226,227,225,226,227,225,226,227,225,226,227,0,228,228,228,228,228,228,228,228,228,228,228,0,0,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,0,0,230,229,230,231,229,230,231,229,229,229,230,229,229,230,231,229,230,231,231,229,229,0,229,229,230,231,229,230,231,229,230,231,229,229,230,231,0,0,0,0,0,0,0,235,235,0,0,0,0,0,2,2,62,232,233,62,234,235,236,237,238,2,232,233,62,234,235,236,237,238,2,62,2,2,232,233,62,234,235,236,237,238,2,232,233,62,234,235,236,237,238,2,2,232,2,236,2,233,232,233,62,234,235,236,237,238,2,232,62,233,2,232,233,62,234,235,236,237,238,2,232,232,232,232,233,233,233,233,62,62,62,62,234,234,234,234,235,235,235,235,236,236,236,236,237,237,237,237,238,238,238,238,2,2,2,2,232,233,62,234,235,235,236,237,238,2,232,233,62,234,235,236,237,238,2,234,235,233,232,238,232,233,62,234,235,236,237,238,2,232,2,238,234,62,236,237,232,234,232,233,238,2,234,233,233,235,2,2,2,2,2,232,233,62,234,235,236,237,238,2,235,232,233,62,234,235,236,237,238,2,232,233,62,234,235,236,237,238,2,232,233,62,234,235,236,237,238,2,234,236,237,232,234,232,233,62,234,235,236,237,238,2,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,0,0,0,270,243,271,244,270,243,271,244,0,270,243,271,244,270,270,271,271,0,0,270,243,271,244,270,270,271,271,243,244,0,270,243,271,244,270,243,271,244,270,243,271,244,270,243,271,244,0,0,0,0,0,0,0,0,0,0,0,245,246,247,248,249,250,251,252,253,254,245,246,247,248,249,250,251,252,253,254,245,246,247,248,249,250,251,252,253,254,245,246,247,248,249,250,251,252,253,254,245,246,247,248,249,250,251,252,253,254,245,246,247,248,249,250,251,252,253,254,245,246,247,248,249,250,251,252,253,254,245,246,247,248,249,250,251,252,253,254,245,246,247,248,249,250,251,252,253,254,245,246,247,248,249,250,251,252,253,254,0,0,0,0,0,223,255,256,223,255,256,223,255,256,223,255,256,272,255,256,223,223,223,255,256,223,223,255,256,257,255,256,223,255,256,223,255,256,223,255,256,257,255,256,257,255,256,257,255,256,223,223,223,255,256,223,255,256,223,255,256,223,255,256,223,255,256,0,0,0,260,134,260,134,260,260,134,260,134,260,134,134,134,260,134,134,260,273,260,260,273,260,134,273,260,134,273,260,134,134,260,134,260,134,260,134,260,134,260,0,0,0,0,262,261,262,263,261,262,263,261,261,262,261,262,263,261,262,263,261,263,261,261,0,0,0,261,261,262,263,261,262,263,261,262,263,261,262,263,0,264,264,264,264,264,264,264,264,264,264],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,[1,2],[3,4],[5,6],[7,6],[8,6],[9,6],[10,6],[11,12],0,0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[2,[[14,[13]]]],[[],15],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[],[[17,[16]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[20]]],21],[-1,-1,[]],[[],[[23,[22]]]],[-1,-2,[],[]],0,0,0,0,0,0,[24,16],0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[25,25],[26,26],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],0,[-1,[[18,[25]]],21],[-1,[[18,[26]]],21],0,0,[[25,27],28],[[26,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[25,-1],18,29],[[26,-1],18,29],[24,16],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[-1,-2,[],[]],[[30,31],16],0,[24,16],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],[[6,32],[[18,[16,33]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[34,34],[[-1,-2],16,[],[]],[-1,[[18,[34]]],21],0,0,[[34,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[35,31],16],[[36,31],16],[[34,-1],18,29],[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[37,37],[[-1,-2],16,[],[]],0,0,[-1,[[18,[37]]],21],[[37,27],28],[-1,-1,[]],[37,38],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[39,31],16],[[37,-1],18,29],[24,16],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[[6,38,40],[[18,[16,33]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-1,[]],0,[-1,-2,[],[]],[[],41],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[[42,31],16],[[43,31],16],[24,16],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[44,44],[[-1,-2],16,[],[]],[-1,[[18,[44]]],21],[[44,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[45,31],16],[[46,31],16],0,[[44,-1],18,29],[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[25,32],[[18,[26,33]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[47,31],16],[[48,31],16],[[49,31],16],0,0,[24,16],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[[50,[51,[6]]],12],[-1,-2,[],[]],0,0,[[],50],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[52,52],[53,53],[54,54],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],0,[-1,[[18,[52]]],21],[-1,[[18,[53]]],21],[-1,[[18,[54]]],21],0,[[52,27],28],[[53,27],28],[[54,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[53,32],[[18,[12,33]]]],0,0,0,[[52,32],[[18,[16,33]]]],[[52,-1],18,29],[[53,-1],18,29],[[54,-1],18,29],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[55,12],0,[24,16],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[56,56],[[-1,-2],16,[],[]],0,0,[-1,[[18,[57]]],21],[-1,[[18,[56]]],21],0,[[56,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[58,31],16],0,[[57,-1],18,29],[[56,-1],18,29],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[57,32,6],[[18,[56,33]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[59,59],[[-1,-2],16,[],[]],0,[-1,[[18,[59]]],21],[[59,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[60,31],16],[[59,-1],18,29],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[61,62],[[18,[[64,[63]],33]]]],[65,65],[66,66],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],0,[[],65],0,[-1,[[18,[65]]],21],[-1,[[18,[66]]],21],[[65,27],28],[[66,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[67,31],16],[[68,31],16],0,[[65,-1],18,29],[[66,-1],18,29],[24,16],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[-1,-2,[],[]],[[],69],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[70,70],[71,71],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[-1,[[18,[70]]],21],[-1,[[18,[71]]],21],0,[[70,27],28],[[71,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[72,31],16],[[70,-1],18,29],[[71,-1],18,29],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-1,[]],0,[-1,-2,[],[]],[[],73],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,0,[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[74,74],[[-1,-2],16,[],[]],[-1,[[18,[74]]],21],[[74,27],28],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[75,31],16],0,[[74,-1],18,29],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],0,[-1,-2,[],[]],[[],76],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,[[18,[77]]],21],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[78,31],16],[[79,31],16],0,[[77,-1],18,29],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[77,32,6],[[18,[16,33]]]],0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[80,[[18,[81,82]]]],[83,[[18,[84,85]]]],0,[81,81],[80,80],[84,84],[83,83],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[],80],[[],83],[[83,86],83],0,0,[[],80],[[],83],[-1,[[18,[81]]],21],[-1,[[18,[84]]],21],[[81,27],28],[[82,27],28],[[82,27],28],[[84,27],28],[[85,27],28],[[85,27],28],[-1,-1,[]],[-1,-1,[]],[87,82],[-1,-1,[]],[12,82],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[12,85],[87,85],[-1,-1,[]],[[80,6],80],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[51,[86]]],86],[[83,[51,[86]]],83],0,0,[[88,31],16],[[89,31],16],0,[[81,-1],18,29],[[84,-1],18,29],[24,16],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,12,[]],[-1,12,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[[80,6],80],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],0,[-1,-2,[],[]],[[],90],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,0,[24,16],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[91,91],[[-1,-2],16,[],[]],[[],91],[-1,[[18,[91]]],21],[[91,91],86],[[91,27],28],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[92,31],16],[[91,-1],18,29],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[93,93],[[-1,-2],16,[],[]],[[],93],[-1,[[18,[93]]],21],[[93,93],86],[-1,-1,[]],[94,93],[-1,-1,[]],[[[64,[94]]],[[64,[93]]]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[95,31],16],[[93,-1],18,29],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[96]]],21],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[97,31],16],[[96,-1],18,29],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],0,[-1,-2,[],[]],0,[[],98],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[24,16],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[99,99],[100,100],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[-1,[[18,[99]]],21],[-1,[[18,[100]]],21],0,[[99,27],28],[[100,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[[32,6],[[18,[16,33]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[101,31],16],0,[[99,-1],18,29],[[100,-1],18,29],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[102,6],0,[-1,-2,[],[]],[[],102],0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[102,6],0,[102,6],0,[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[103,103],[104,104],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[-1,[[18,[103]]],21],[-1,[[18,[104]]],21],[[103,27],28],[[104,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[105,31],16],0,[[103,-1],18,29],[[104,-1],18,29],0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[106,106],[107,107],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[-1,[[18,[106]]],21],[-1,[[18,[107]]],21],[[106,27],28],[[107,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[108,31],16],0,[[106,-1],18,29],[[107,-1],18,29],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[[22,[51,[6]]],12],[-1,-2,[],[]],0,[[],22],0,0,0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[109,[[18,[110,111]]]],[112,[[18,[113,114]]]],[115,[[18,[116,117]]]],[110,110],[109,109],[113,113],[112,112],[116,116],[115,115],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[],109],[[],112],[[],115],[[],109],[[],112],[[],115],[-1,[[18,[110]]],21],[-1,[[18,[113]]],21],[-1,[[18,[116]]],21],[[115,[51,[118]]],115],0,0,[[110,27],28],[[111,27],28],[[111,27],28],[[113,27],28],[[114,27],28],[[114,27],28],[[116,27],28],[[117,27],28],[[117,27],28],[-1,-1,[]],[-1,-1,[]],[87,111],[-1,-1,[]],[12,111],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[12,114],[87,114],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[12,117],[-1,-1,[]],[87,117],[[109,6],109],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[112,119],112],0,0,[[32,113],[[18,[116,33]]]],0,[[120,31],16],0,[[110,-1],18,29],[[113,-1],18,29],[[116,-1],18,29],[24,16],[[112,118],112],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,12,[]],[-1,12,[]],[-1,12,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[[109,6],109],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[121,121],[[-1,-2],16,[],[]],[-1,[[18,[121]]],21],[[121,121],86],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[121,27],28],[-1,-1,[]],[-1,-2,[],[]],[[],121],0,[[121,-1],18,29],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[122,122],[[-1,-2],16,[],[]],[-1,[[18,[122]]],21],[-1,[[18,[123]]],21],0,[[122,122],86],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[122,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[124,31],16],[[125,31],16],0,0,0,[[122,-1],18,29],[[123,-1],18,29],[24,16],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[[126,6,55],12],[-1,-2,[],[]],[[],126],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,0,0,[[127,128],[[18,[16,33]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-1,[]],[-1,-1,[]],[[],129],[2,[[51,[[131,[130]]]]]],[[127,12],[[133,[[51,[132]]]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[2,127],[[2,134],[[135,[40]]]],[[2,[136,[-1]],[136,[-2]]],[[137,[-2,-1]]],138,139],[40,[[18,[16,33]]]],[[127,140],[[18,[16,33]]]],[[127,141],[[18,[16,33]]]],0,0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[40,[[18,[16,33]]]],[[127,142],[[133,[86]]]],[[127,143,12],[[133,[[16,[12,118]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[144,144],[[-1,-2],16,[],[]],[144,12],[[144,27],28],[145,12],[-1,-1,[]],[-1,-2,[],[]],[146,144],[144,12],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[[[51,[2]]],[[148,[147]]]],[[[51,[2]]],[[148,[147]]]],0,0,0,[149,16],[-1,-2,[],[]],[-1,-2,[],[]],[32,[[18,[16,33]]]],[-1,-1,[]],0,[-1,-2,[],[]],[32,[[18,[16,33]]]],[[32,150],[[18,[[151,[16]],33]]]],[[32,150],[[18,[149,33]]]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[6,[[51,[152]]]],[6,[[51,[152]]]],[6,153],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],[[0,[154]]]],[[],155],[[156,31],16],[[157,31],16],[[158,31],16],0,[24,16],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],0,[-1,-2,[],[]],[[],159],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[160,160],[[-1,-2],16,[],[]],[-1,-1,[]],[-1,-2,[],[]],[6,160],[160,161],[[160,162],[[18,[16,163]]]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[[40,6,6],[[18,[16,33]]]],0,[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[164]]],21],[[165,165],86],[[166,166],86],[[33,33],86],[[167,167],86],0,[33,153],[167,153],[[165,27],28],[[165,27],28],[[166,27],28],[[166,27],28],[[33,27],28],[[33,27],28],[[167,27],28],[[167,27],28],[-1,-1,[]],[-1,-1,[]],[168,33],[169,33],[170,33],[171,33],[172,33],[173,33],[174,33],[175,33],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[33,167],[172,167],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[164,-1],18,29],[165,[[51,[176]]]],[166,[[51,[176]]]],[33,[[51,[176]]]],[167,[[51,[176]]]],[33,177],[167,177],[-1,12,[]],[-1,12,[]],[-1,12,[]],[-1,12,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[],[[23,[178]]]],0,0,[24,16],0,0,0,0,[24,16],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[179,179],[[-1,-2],16,[],[]],[[],179],[180,12],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[181,31],16],[179,161],[[179,162],[[18,[16,163]]]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[182,182],[[-1,-2],16,[],[]],[[],182],[183,12],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[184,31],16],[182,161],[[182,162],[[18,[16,163]]]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[[185,[51,[6]]],12],[[],[[186,[6]]]],[-1,-2,[],[]],0,0,[[],185],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[[187,[-1,-2]]],[[187,[-1,-2]]],[188,189,190],[188,189,190]],[[-1,-2],16,[],[]],0,[-1,-1,[]],[-1,-2,[],[]],[[6,[51,[[64,[[16,[-1,-2]]]]]]],[[187,[-1,-2]]],[188,189],[188,189]],[[[187,[-1,-2]]],161,[188,189],[188,189]],[[[187,[-1,-2]],162],[[18,[16,163]]],[188,189],[188,189]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[191,191],[[-1,-2],16,[],[]],[192,12],[193,12],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[6,6],191],[[194,31],16],[191,161],[[191,162],[[18,[16,163]]]],0,[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],0,[-1,-2,[],[]],[[],195],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[196,196],[[-1,-2],16,[],[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[64,[197]]],196],0,0,[[198,31],16],[196,161],[[196,162],[[18,[16,163]]]],0,[24,16],0,0,0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[94,199],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[[64,[199]]],200],0,[199,12],0,[[201,31],16],[200,161],[[200,162],[[18,[16,163]]]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[[],[[186,[6]]]],0,[-1,-2,[],[]],[[],202],0,0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[203,203],[[-1,-2],16,[],[]],0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[204,31],16],[[205,31],16],[[206,31],16],[203,161],[[203,162],[[18,[16,163]]]],0,0,[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[[],[[186,[6]]]],0,[-1,-2,[],[]],[[],207],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,0,0,0,[24,16],0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[208,208],[209,209],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[],208],[[],209],[210,12],[211,12],0,0,0,0,0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[212,31],16],[[213,31],16],[208,161],[209,161],[[208,162],[[18,[16,163]]]],[[209,162],[[18,[16,163]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[-1,-2,[],[]],[[214,31],16],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[215,215],[216,216],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],0,0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[197,[64,[63]],12,86],215],[[12,65],216],0,0,[[217,31],16],[[218,31],16],[215,161],[216,161],[[215,162],[[18,[16,163]]]],[[216,162],[[18,[16,163]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[219,219],[[-1,-2],16,[],[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[[64,[197]]],219],[[220,31],16],[219,161],[[219,162],[[18,[16,163]]]],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-1,[]],[[221,6],12],[[221,6],12],[[221,6],12],[[],[[186,[6]]]],[[221,6],12],[-1,-2,[],[]],0,[[],221],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[222,222],[[-1,-2],16,[],[]],0,[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[223,197,[64,[63]],12,86],222],0,[[224,31],16],[222,161],[[222,162],[[18,[16,163]]]],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[225,225],[[-1,-2],16,[],[]],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[226,31],16],[[227,31],16],[225,161],[[225,162],[[18,[16,163]]]],0,[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[[],[[186,[6]]]],[-1,-2,[],[]],[[],228],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-1,[]],[[178,[51,[6]]],12],[[],[[186,[6]]]],0,[-1,-2,[],[]],[[],178],0,0,0,0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[229,229],[[-1,-2],16,[],[]],[[],229],[230,12],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[231,31],16],[229,161],[[229,162],[[18,[16,163]]]],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[24,16],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[2,16],[232,232],[233,233],[62,62],[234,234],[235,235],[236,236],[237,237],[238,238],[2,2],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],0,0,0,0,0,0,[-1,[[18,[232]]],21],[-1,[[18,[233]]],21],[-1,[[18,[62]]],21],[-1,[[18,[234]]],21],[-1,[[18,[235]]],21],[-1,[[18,[236]]],21],[-1,[[18,[237]]],21],[-1,[[18,[238]]],21],[-1,[[18,[2]]],21],0,0,0,[[[240,[239]]],[[240,[239]]]],[[232,232],86],[[233,233],86],[[62,62],86],[[234,234],86],[[235,235],86],[[236,236],86],[[237,237],86],[[238,238],86],[[2,2],86],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[232,27],28],[[233,27],28],[[62,27],28],[[234,27],28],[[235,27],28],[[235,27],28],[[236,27],28],[[237,27],28],[[238,27],28],[[2,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[241,[[18,[235,242]]]],0,[232,12],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[],[[18,[2,242]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[235,-1],18,29],0,[2,16],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,12,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[24,16],0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[[4,6],[[51,[6]]]],[-1,-2,[],[]],[[],4],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[6,[[51,[152]]]],[6,[[51,[152]]]],[6,[[51,[152]]]],[6,[[51,[152]]]],[6,153],[6,153],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],[[0,[154]]]],[[],155],[[],155],[[],[[0,[154]]]],[[243,31],16],[[244,31],16],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[245,[[16,[6,6]]]],[246,[[16,[6,6]]]],[247,[[16,[6,6]]]],[248,[[16,[6,6]]]],[249,[[16,[6,6]]]],[250,[[16,[6,6]]]],[251,[[16,[6,6]]]],[252,[[16,[6,6]]]],[253,[[16,[6,6]]]],[254,[[16,[6,6]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[223,223],[255,255],[256,256],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[-1,[[148,[257]]],[]],[-1,[[148,[257]]],[]],[-1,[[148,[257]]],[]],0,0,[[],223],[[],255],[[],256],[-1,[[18,[223]]],21],[[223,223],86],[[255,255],86],[[256,256],86],[[-1,40,6,6],[[259,[[148,[258]]]]],[]],[[255,40,6,6],[[259,[[148,[258]]]]]],[[256,40,6,6],[[259,[[148,[258]]]]]],[[223,27],28],[[255,27],28],[[256,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,40,6],[[259,[[148,[258]]]]],[]],[[255,40,6],[[259,[[148,[258]]]]]],[[256,40,6],[[259,[[148,[258]]]]]],[[-1,40,6],[[259,[[148,[258]]]]],[]],[[255,40,6],[[259,[[148,[258]]]]]],[[256,40,6],[[259,[[148,[258]]]]]],[[-1,40,6],[[259,[[148,[258]]]]],[]],[[255,40,6],[[259,[[148,[258]]]]]],[[256,40,6],[[259,[[148,[258]]]]]],[[223,-1],18,29],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[134,134],[260,260],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[],134],[[134,27],28],[-1,-1,[]],[-1,-1,[]],[[134,6],[[51,[12]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[259,[[148,[258]]]]],[]],[260,[[259,[[148,[258]]]]]],[32,260],[-1,[[259,[[148,[258]]]]],[]],[260,[[259,[[148,[258]]]]]],[[134,6],16],[-1,[[259,[[148,[258]]]]],[]],[260,[[259,[[148,[258]]]]]],[[134,12,12],16],[-1,[[259,[[148,[258]]]]],[]],[260,[[259,[[148,[258]]]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[261,261],[[-1,-2],16,[],[]],[262,12],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],261],[[263,31],16],[261,161],[[261,162],[[18,[16,163]]]],0,[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[-1,-2,[],[]],[[],264],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]]],"c":[],"p":[[3,"SETTINGS",0],[3,"Settings",2436],[3,"FILES",0],[3,"FileMap",2665],[3,"JS",0],[15,"str"],[3,"CSS",0],[3,"MOBILE_CSS",0],[3,"VERIFICATIN_WIDGET_JS",0],[3,"VERIFICATIN_WIDGET_CSS",0],[3,"SOURCE_FILES_OF_INSTANCE",0],[3,"String",2997],[3,"CookieIdentityPolicy",2998],[3,"IdentityService",2999],[3,"JsonConfig",3000],[15,"tuple"],[6,"Result",3001],[4,"Result",3002],[3,"TypeId",3003],[3,"RedirectQuery",163],[8,"Deserializer",3004],[3,"Routes",1190],[3,"Authentication",3005],[3,"ServiceConfig",3006],[3,"AccountCheckPayload",186],[3,"AccountCheckResp",186],[3,"Formatter",3007],[6,"Result",3007],[8,"Serializer",3008],[3,"delete_account",227],[3,"AppService",3006],[6,"AppData",0],[4,"ServiceError",1635],[3,"Email",240],[3,"email_exists",240],[3,"set_email",240],[3,"ChangePasswordReqest",277],[3,"UpdatePassword",277],[3,"update_user_password",277],[3,"Data",1467],[3,"Account",319],[3,"get_secret",337],[3,"update_user_secret",337],[3,"Username",358],[3,"username_exists",358],[3,"set_username",358],[3,"register",397],[3,"login",397],[3,"signout",397],[3,"Auth",430],[4,"Option",3009],[3,"Register",444],[3,"Login",444],[3,"Password",444],[15,"usize"],[3,"MCaptchaDetails",507],[3,"CreateCaptcha",507],[3,"create",507],[3,"DeleteCaptcha",551],[3,"delete",551],[3,"TrafficPattern",3010],[3,"DefaultDifficultyStrategy",2436],[3,"Level",3011],[3,"Vec",3012],[3,"TrafficPatternRequest",578],[3,"UpdateTrafficPattern",578],[3,"create",578],[3,"update",578],[3,"Easy",639],[3,"Levels",651],[3,"I32Levels",651],[3,"get_captcha",651],[3,"Captcha",694],[3,"StatsPayload",711],[3,"get",711],[3,"Stats",738],[3,"UpdateCaptcha",749],[3,"update_key",749],[3,"update_captcha",749],[3,"BuildDetailsBuilder",787],[3,"BuildDetails",787],[4,"BuildDetailsBuilderError",787],[3,"HealthBuilder",787],[3,"Health",787],[4,"HealthBuilderError",787],[15,"bool"],[3,"UninitializedFieldError",3013],[3,"build_details",787],[3,"health",787],[3,"Meta",914],[3,"AddNotificationRequest",931],[3,"add_notification",931],[3,"NotificationResp",961],[3,"Notification",3010],[3,"get_notification",961],[3,"MarkReadReq",994],[3,"mark_read",994],[3,"Notifications",1016],[3,"GetConfigPayload",1035],[3,"ApiPoWConfig",1035],[3,"get_config",1035],[3,"PoW",1081],[3,"ValidationToken",1099],[3,"ApiWork",1099],[3,"verify_pow",1099],[3,"CaptchaValidateResp",1146],[3,"VerifyCaptchaResultPayload",1146],[3,"validate_captcha_token",1146],[3,"BuildDetailsBuilder",1210],[3,"BuildDetails",1210],[4,"BuildDetailsBuilderError",1210],[3,"PercentileReqBuilder",1210],[3,"PercentileReq",1210],[4,"PercentileReqBuilderError",1210],[3,"PercentileRespBuilder",1210],[3,"PercentileResp",1210],[4,"PercentileRespBuilderError",1210],[15,"u32"],[15,"f64"],[3,"percentile_benches",1210],[3,"Stats",1376],[3,"Page",1398],[3,"SurveySecretUpload",1398],[3,"download",1398],[3,"secret",1398],[3,"Survey",1454],[4,"SystemGroup",1467],[3,"AddSite",3014],[3,"Config",3015],[3,"Tokio1Executor",3016],[3,"AsyncSmtpTransport",3017],[3,"PoWConfig",3018],[6,"CaptchaResult",3019],[3,"SecretsStore",2904],[3,"Arc",3020],[3,"Addr",3021],[3,"System",3022],[8,"Master",3023],[8,"Save",3024],[3,"RemoveCaptcha",3014],[3,"Rename",3014],[3,"VerifyCaptchaResult",3025],[3,"Work",3018],[3,"Date",1511],[3,"OffsetDateTime",3026],[15,"i64"],[8,"MCDatabase",3010],[3,"Box",3027],[3,"DemoUser",1538],[3,"Duration",3028],[3,"JoinHandle",3029],[3,"EmbeddedFile",3030],[3,"HttpResponse",3031],[8,"Iterator",3032],[4,"Filenames",3033],[3,"dist",1555],[3,"spec",1555],[3,"index",1555],[3,"Docs",1603],[3,"IndexPage",1617],[6,"RenderResult",3034],[3,"Buffer",3035],[4,"RenderError",3034],[3,"ErrorToResponse",1635],[3,"SmtpErrorWrapper",1635],[3,"DBErrorWrapper",1635],[4,"PageError",1635],[4,"CaptchaError",3019],[4,"ParseError",3036],[4,"CredsError",3037],[3,"ValidationErrors",3038],[4,"DBError",3039],[4,"MailboxError",3021],[3,"Error",3040],[3,"RecvError",3041],[8,"Error",3042],[3,"StatusCode",3043],[3,"Routes",2374],[3,"IndexPage",1759],[3,"INDEX",1759],[3,"login",1759],[3,"IndexPage",1796],[3,"INDEX",1796],[3,"join",1796],[3,"Auth",1833],[15,"array"],[3,"SudoPage",1847],[8,"Display",3007],[8,"Render",3034],[8,"Clone",3044],[3,"ErrorPage",1865],[3,"INTERNAL_SERVER_ERROR_BODY",1865],[3,"UNKNOWN_ERROR_BODY",1865],[3,"error",1865],[3,"Errors",1918],[3,"IndexPage",1930],[3,"Captcha",3010],[3,"panel",1930],[3,"Notification",1963],[3,"IndexPage",1963],[3,"notifications",1963],[3,"Panel",2003],[3,"IndexPage",2019],[3,"settings",2019],[3,"delete_account",2019],[3,"update_secret",2019],[3,"Settings",2069],[3,"AdvanceIndexPage",2090],[3,"EasyIndexPage",2090],[3,"ADVANCE_INDEX",2090],[3,"EASY_INDEX",2090],[3,"advance",2090],[3,"easy",2090],[3,"delete_sitekey",2172],[3,"AdvanceEditPage",2182],[3,"EasyEditPage",2182],[3,"advance",2182],[3,"easy",2182],[3,"IndexPage",2241],[3,"list_sitekeys",2241],[3,"Sitekey",2268],[3,"IndexPage",2290],[3,"CaptchaStats",2837],[3,"view_sitekey",2290],[3,"PercentilePage",2322],[3,"get_percentile",2322],[3,"post_percentile",2322],[3,"Utils",2362],[3,"IndexPage",2397],[3,"INDEX",2397],[3,"sitemap",2397],[3,"Server",2436],[3,"Captcha",2436],[3,"Smtp",2436],[4,"DBType",2436],[3,"Database",2436],[3,"Redis",2436],[3,"Survey",2436],[3,"DefaultState",3045],[3,"ConfigBuilder",3045],[3,"Url",3046],[4,"ConfigError",3047],[3,"static_files",2677],[3,"favicons",2677],[3,"KEY",2726],[3,"GITHUB",2726],[3,"HOME",2726],[3,"SETTINGS_ICON",2726],[3,"CREDIT_CARD",2726],[3,"HELP_CIRCLE",2726],[3,"MESSAGE",2726],[3,"DOCS_ICON",2726],[3,"MCAPTCHA_TRANS_ICON",2726],[3,"BAR_CHART",2726],[3,"Real",2837],[3,"Dummy",2837],[8,"Stats",2837],[8,"Future",3048],[3,"Pin",3049],[3,"Survey",2904],[3,"IndexPage",2946],[3,"INDEX_PAGE",2946],[3,"show_widget",2946],[3,"Widget",2986],[6,"ArcData",0],[6,"Mailer",1467],[3,"Asset",1555],[6,"ServiceResult",1635],[6,"PageResult",1635],[3,"Asset",2677],[3,"Favicons",2677],[8,"CloneStats",2837],[8,"SurveyClientTrait",2904]],"b":[[834,"impl-Debug-for-BuildDetailsBuilderError"],[835,"impl-Display-for-BuildDetailsBuilderError"],[837,"impl-Display-for-HealthBuilderError"],[838,"impl-Debug-for-HealthBuilderError"],[841,"impl-From%3CUninitializedFieldError%3E-for-BuildDetailsBuilderError"],[843,"impl-From%3CString%3E-for-BuildDetailsBuilderError"],[848,"impl-From%3CString%3E-for-HealthBuilderError"],[849,"impl-From%3CUninitializedFieldError%3E-for-HealthBuilderError"],[1273,"impl-Display-for-BuildDetailsBuilderError"],[1274,"impl-Debug-for-BuildDetailsBuilderError"],[1276,"impl-Debug-for-PercentileReqBuilderError"],[1277,"impl-Display-for-PercentileReqBuilderError"],[1279,"impl-Display-for-PercentileRespBuilderError"],[1280,"impl-Debug-for-PercentileRespBuilderError"],[1283,"impl-From%3CUninitializedFieldError%3E-for-BuildDetailsBuilderError"],[1285,"impl-From%3CString%3E-for-BuildDetailsBuilderError"],[1289,"impl-From%3CString%3E-for-PercentileReqBuilderError"],[1290,"impl-From%3CUninitializedFieldError%3E-for-PercentileReqBuilderError"],[1294,"impl-From%3CString%3E-for-PercentileRespBuilderError"],[1296,"impl-From%3CUninitializedFieldError%3E-for-PercentileRespBuilderError"],[1571,"impl-RustEmbed-for-Asset"],[1572,"impl-Asset"],[1579,"impl-Asset"],[1580,"impl-RustEmbed-for-Asset"],[1687,"impl-Debug-for-SmtpErrorWrapper"],[1688,"impl-Display-for-SmtpErrorWrapper"],[1689,"impl-Display-for-DBErrorWrapper"],[1690,"impl-Debug-for-DBErrorWrapper"],[1691,"impl-Debug-for-ServiceError"],[1692,"impl-Display-for-ServiceError"],[1693,"impl-Display-for-PageError"],[1694,"impl-Debug-for-PageError"],[1697,"impl-From%3CCaptchaError%3E-for-ServiceError"],[1698,"impl-From%3CParseError%3E-for-ServiceError"],[1699,"impl-From%3CCredsError%3E-for-ServiceError"],[1700,"impl-From%3CValidationErrors%3E-for-ServiceError"],[1701,"impl-From%3CDBError%3E-for-ServiceError"],[1702,"impl-From%3CMailboxError%3E-for-ServiceError"],[1703,"impl-From%3CError%3E-for-ServiceError"],[1704,"impl-From%3CRecvError%3E-for-ServiceError"],[1708,"impl-From%3CServiceError%3E-for-PageError"],[1709,"impl-From%3CDBError%3E-for-PageError"],[2559,"impl-Debug-for-DBType"],[2560,"impl-Display-for-DBType"],[2693,"impl-Asset"],[2694,"impl-RustEmbed-for-Asset"],[2695,"impl-RustEmbed-for-Favicons"],[2696,"impl-Favicons"],[2703,"impl-Asset"],[2704,"impl-RustEmbed-for-Asset"],[2705,"impl-RustEmbed-for-Favicons"],[2706,"impl-Favicons"]]}\
    +"db_core":{"doc":"mCaptcha database operations","t":"DDIDDDNCDEIDDDDDDDDNKKKLKKKKKKMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLMMMKKLLLLLLLLLLKKKKMMMLLLLLLLLLLLLLLLAMMMMMMKLLLLLLLLLLLLLLLAKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKKKKKKKKKKKKMMMMMMLLLLLLLLLLLLLLLMMMKMMMMAMKAMKKKKMMLLLLLLLLLLLLLLLMKKAMMMLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKKKKMMMMKMLLLLLLLLLLLLLLLMMXNGNNENGNNNNNNNLLLLLLLLLLLLQIIIIQKKKRRF","n":["AddNotification","Captcha","CloneSPDatabase","CreateCaptcha","CreatePerformanceAnalytics","EasyCaptcha","Email","GetConnection","Level","Login","MCDatabase","NameHash","Notification","PerformanceAnalytics","Register","Secret","StatsUnixTimestamp","TrafficPattern","UpdateEmail","Username","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","create_captcha","create_notification","default","default","default","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dev","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","key","key","key","mark_notification_read","message","message","name","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","tests","time","time","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","traffic_pattern","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","worker_type","worker_type","async_trait","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","Err","NotificationNotFound","Ok","SecretTaken","TrafficPatternNotFound","UsernameTaken","borrow","borrow_mut","fmt","fmt","from","into","source","to_string","try_from","try_into","type_id","vzip","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","LEVELS","TRAFFIC_PATTERN","database_works"],"q":[[0,"db_core"],[354,"db_core::dev"],[355,"db_core::errors"],[381,"db_core::ops"],[390,"db_core::tests"],[393,"core::future::future"],[394,"alloc::boxed"],[395,"core::pin"],[396,"core::option"],[397,"core::result"],[398,"serde::de"],[399,"core::fmt"],[400,"core::fmt"],[401,"core::any"],[402,"core::error"],[403,"alloc::string"]],"d":["Data required to add notification","Data representing a captcha","Trait to clone MCDatabase","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Represents Easy captcha configuration","email as login","","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","type encapsulating username and hashed password of a user","Represents notification","Proof-of-Work CAPTCHA performance analytics","Data required to register a new user","datastructure representing a user’s secret","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","data required to update them email of a user","username as login","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","traffic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","","","","","clone DB","","","","","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","create new captcha","create new notification","","","","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","captcha description","description of the captcha","description of the captcha","","","","","","","","","","","","","","","","useful imports for supporting a new database","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","","","","","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","notification sender","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","captcha key/sitekey","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","receiver name  of the notification","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","","","","","times at which the PoW was solved","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","Test utilities","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","","","","","","","","","","","","","","","","traffic pattern of easy captcha","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","Owner of the captcha configuration","check if username exists","","","","","","","","","","","","","","","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Contains the error value","Notification not found","Contains the success value","Secret is taken","Traffic pattern not found","Username is taken","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","levels for complex captcha config","easy traffic pattern","test all database functions"],"i":[0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,13,23,23,23,23,23,23,23,23,23,23,7,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,7,23,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,38,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,16,21,16,23,23,8,15,16,17,18,19,7,20,21,22,23,23,23,23,19,20,21,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,0,8,2,15,20,21,11,23,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,0,23,23,23,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,18,23,23,23,23,23,23,23,23,23,23,23,23,11,14,17,18,15,17,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,19,20,21,23,17,18,17,12,0,7,23,0,17,23,23,23,23,11,22,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,16,23,23,0,8,15,18,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,19,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,23,23,23,23,23,23,23,11,12,14,19,23,2,11,12,13,14,8,2,15,16,17,18,19,7,20,21,22,8,15,0,35,0,35,35,0,35,0,35,39,35,39,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,40,0,0,0,0,41,41,40,42,0,0,0],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,1,1,[3,[2]]],[[6,[[5,[4]]]]],[]],[[-1,1,1,7],[[6,[[5,[4]]]]],[]],[[-1,1,8],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1,9,9],[[6,[[5,[4]]]]],[]],[[-1,9],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[-1,[10,[1]],1],[[6,[[5,[4]]]]],[]],[11,11],[12,12],[13,13],[14,14],[8,8],[2,2],[15,15],[16,16],[17,17],[18,18],[19,19],[7,7],[20,20],[21,21],[22,22],[-1,[[5,[23]]],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],[[-1,-2],24,[],[]],0,0,0,[[-1,1,20],[[6,[[5,[4]]]]],[]],[[-1,18],[[6,[[5,[4]]]]],[]],[[],8],[[],15],[[],16],[[],17],[[],18],[[],19],[[],7],[[],20],[[],21],[[],22],[[-1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],0,0,0,[-1,[[25,[11]]],26],[-1,[[25,[12]]],26],[-1,[[25,[13]]],26],[-1,[[25,[14]]],26],[-1,[[25,[8]]],26],[-1,[[25,[2]]],26],[-1,[[25,[15]]],26],[-1,[[25,[16]]],26],[-1,[[25,[17]]],26],[-1,[[25,[18]]],26],[-1,[[25,[19]]],26],[-1,[[25,[7]]],26],[-1,[[25,[20]]],26],[-1,[[25,[21]]],26],[-1,[[25,[22]]],26],0,0,0,0,0,0,0,[[-1,1],[[6,[[5,[4]]]]],[]],[[11,11],27],[[12,12],27],[[13,13],27],[[14,14],27],[[8,8],27],[[2,2],27],[[15,15],27],[[16,16],27],[[17,17],27],[[18,18],27],[[19,19],27],[[7,7],27],[[20,20],27],[[21,21],27],[[22,22],27],0,[[-1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],[[11,28],29],[[12,28],29],[[13,28],29],[[14,28],29],[[8,28],29],[[2,28],[[25,[24,30]]]],[[15,28],29],[[16,28],29],[[17,28],29],[[18,28],29],[[19,28],29],[[7,28],29],[[20,28],29],[[21,28],29],[[22,28],29],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[[-1,9,9],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,[10,[1]],1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1,31],[[6,[[5,[4]]]]],[]],[[-1,13],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[-1,1,32],[[6,[[5,[4]]]]],[]],0,0,0,0,0,0,[-1,[[6,[[5,[4]]]]],[]],0,0,[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,1],[[6,[[5,[4]]]]],[]],[[-1,11],[[6,[[5,[4]]]]],[]],0,0,[[11,-1],25,33],[[12,-1],25,33],[[13,-1],25,33],[[14,-1],25,33],[[8,-1],25,33],[[2,-1],25,33],[[15,-1],25,33],[[16,-1],25,33],[[17,-1],25,33],[[18,-1],25,33],[[19,-1],25,33],[[7,-1],25,33],[[20,-1],25,33],[[21,-1],25,33],[[22,-1],25,33],0,[[-1,31,31],[[6,[[5,[4]]]]],[]],[[-1,31],[[6,[[5,[4]]]]],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[-1,34,[]],[[-1,1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1,20],[[6,[[5,[4]]]]],[]],[[-1,12],[[6,[[5,[4]]]]],[]],[[-1,1,31,31],[[6,[[5,[4]]]]],[]],[[-1,14],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],[[-1,1,1],[[6,[[5,[4]]]]],[]],0,0,0,0,[[-1,1],[[6,[[5,[4]]]]],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[35,28],29],[[35,28],29],[-1,-1,[]],[-1,-2,[],[]],[35,[[10,[36]]]],[-1,37,[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,34,[]],[-1,-2,[],[]],0,0,0,0,0,0,[-1,[[6,[[5,[4]]]]],[]],[-1,[[6,[[5,[4]]]]],[]],[-1,[[6,[[5,[4]]]]],[]],0,0,[[-1,11,20,[3,[2]],7,18],24,23]],"c":[],"p":[[15,"str"],[3,"Level",0],[15,"slice"],[8,"Future",393],[3,"Box",394],[3,"Pin",395],[3,"TrafficPattern",0],[3,"CreatePerformanceAnalytics",0],[15,"usize"],[4,"Option",396],[3,"Register",0],[3,"UpdateEmail",0],[4,"Login",0],[3,"NameHash",0],[3,"PerformanceAnalytics",0],[3,"StatsUnixTimestamp",0],[3,"Notification",0],[3,"AddNotification",0],[3,"EasyCaptcha",0],[3,"CreateCaptcha",0],[3,"Captcha",0],[3,"Secret",0],[8,"MCDatabase",0],[15,"tuple"],[4,"Result",397],[8,"Deserializer",398],[15,"bool"],[3,"Formatter",399],[6,"Result",399],[3,"Error",399],[15,"u32"],[15,"i32"],[8,"Serializer",400],[3,"TypeId",401],[4,"DBError",355],[8,"Error",402],[3,"String",403],[8,"CloneSPDatabase",0],[6,"DBResult",355],[8,"GetConnection",381],[8,"Connect",381],[8,"Migrate",381]],"b":[[371,"impl-Debug-for-DBError"],[372,"impl-Display-for-DBError"]]},\
    +"db_sqlx_maria":{"doc":"","t":"DEDNDNDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAMLLALLLLLLLLLLLLLLLLLLLLLMMLLLLLLMLMLMMAMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLNDNGDNNINNNNQIDDENIGCNNDNNNEINDEIINDDNNDQNNNDNDNDNDNNDNNNKKKLKKKKKKLXMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKLLLLLLLLLLLLLLKLLLLLLLLLLLLLLMMMKKKLLLLLLLLLLKKKKMMMLLLLLLLLLLLLLLMMMMMMKLLLLLLLLLLLLLLAKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKKKKKKKKKKKKKMMMMMMLLLLLLLLLLLLLLLLLMMMKMMKMMAMKAMKKKKMMLLLLLLLLLLLLLLMLLKKAMMMLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKKKKMMMMKMLLLLLLLLLLLLLLLLMMMMMMMNGNNENGNNNNNNNQIIIIQKKKNDGDNNIQIDDENIGDNNNIDEIIDDNNDQDDNDDNDNNKKKLKKKKKKMMKKMMMKKKKKKKMMMAMMMMMMKKKKMKKKKKKKKKKKKKMMMMMMMMMKMMKMMMKMKKKKMMMKKMMMMKKKKKKKMMMMKMMMNDGDNNIQIDDENIGDNNNIDEIIDDNNDQDDNDDNDNNKKKLKKKKKKXMLLMKLKLMMMKKKKKKKMMMLMMMMMMKLKKKLLMKKKKKKKKKKKKKMMMMMMLMMMKMMKMMMKMKKKKMMLMKKMMMLMLLLKKKKKKKMMMMKMLMMRRFFF","n":["Conn","ConnectionOptions","Database","Existing","Fresh","Fresh","InnerNotification","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha_exists","clone","clone","clone_db","clone_into","clone_into","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","dev","disable_logging","email_exists","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","from","from","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","heading","id","into","into","into","into","into","mark_notification_read","message","migrate","name","ping","pool","pool_options","prelude","received","record_confirm","record_fetch","record_solve","register","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","url","username_exists","vzip","vzip","vzip","vzip","vzip","AccountNotFound","AddNotification","AnyDriverError","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","ColumnDecode","ColumnIndexOutOfBounds","ColumnNotFound","Configuration","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Database","Database","Decode","EasyCaptcha","Email","EmailTaken","Err","Error","GetConnection","Io","Level","Login","MCDatabase","Migrate","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","PoolClosed","PoolTimedOut","Protocol","Register","RowNotFound","Secret","SecretTaken","StatsUnixTimestamp","Tls","TrafficPattern","TrafficPatternNotFound","TypeNotFound","UpdateEmail","Username","UsernameTaken","WorkerCrashed","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","as_database_error","async_trait","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","default","default","default","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_database_error","key","key","key","mark_notification_read","message","message","migrate","name","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","source","source","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","tests","time","time","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","traffic_pattern","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","worker_type","worker_type","index","index","len","source","type_name","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","Err","NotificationNotFound","Ok","SecretTaken","TrafficPatternNotFound","UsernameTaken","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","EasyCaptcha","Email","EmailTaken","Err","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","description","dev","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","key","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","time","time","to","traffic_pattern","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username","username_exists","visitor_threshold","worker_type","worker_type","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","EasyCaptcha","Email","EmailTaken","Err","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","async_trait","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone_db","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","description","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","into","key","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","solves","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","time","time","to","to_owned","traffic_pattern","try_from","try_into","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username","username_exists","visitor_threshold","vzip","worker_type","worker_type","LEVELS","TRAFFIC_PATTERN","database_works","map_register_err","map_row_not_found_err"],"q":[[0,"db_sqlx_maria"],[118,"db_sqlx_maria::dev"],[527,"db_sqlx_maria::dev::Error"],[532,"db_sqlx_maria::dev::errors"],[546,"db_sqlx_maria::dev::ops"],[555,"db_sqlx_maria::dev::prelude"],[692,"db_sqlx_maria::dev::prelude::dev"],[844,"db_sqlx_maria::dev::tests"],[847,"db_sqlx_maria::errors"],[849,"core::future::future"],[850,"alloc::boxed"],[851,"core::pin"],[852,"core::option"],[853,"core::fmt"],[854,"core::fmt"],[855,"core::any"],[856,"sqlx_core::error"],[857,"serde::de"],[858,"core::fmt"],[859,"sqlx_core::migrate::error"],[860,"serde::ser"],[861,"core::error"],[862,"alloc::string"]],"d":["Use an existing database pool","Connect to database","","existing connection","","fresh connection","Represents notification","Add levels to captcha","Add traffic configuration","record PoW timing","Create psuedo ID against campaign ID to publish analytics","","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","","","","","","","","","","check if captcha exists","","","","","","","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","","","check if email exists","","Error-handling utilities","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","mark a notification read","message of the notification","","receiver name  of the notification","ping DB","","","","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","","check if username exists","","","","","","Account not found","Data required to add notification","Error occurred within the Any driver mapping to/from the …","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","Error occurred while decoding a value from a specific …","Column index was out of bounds.","No column found for the given name.","Error occurred while parsing a connection string.","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","","Error returned from the database.","Error occurred while decoding a value.","Represents Easy captcha configuration","email as login","Email is taken","Contains the error value","Represents all the ways a method can fail within SQLx.","Get database connection","Error communicating with the database backend.","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Pool::close was called while we were waiting in …","A Pool::acquire timed out due to connections not becoming …","Unexpected or invalid data encountered while communicating …","Data required to register a new user","No rows returned by a query that expected to return at …","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","Error occurred while attempting to establish a TLS …","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","Type in query doesn’t exist. Likely due to typo or …","data required to update them email of a user","username as login","Username is taken","A background worker has crashed.","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","traffic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","","","","clone DB","","","","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","","","","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","captcha description","description of the captcha","description of the captcha","","","","","","","","","","","","","","","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","","","","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","notification sender","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","captcha key/sitekey","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name  of the notification","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","","","","times at which the PoW was solved","","","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","Test utilities","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","","","","","","","","","","","","","","","","","traffic pattern of easy captcha","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","Owner of the captcha configuration","check if username exists","","","","","","","","","","","","","","","","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Contains the error value","Notification not found","Contains the success value","Secret is taken","Traffic pattern not found","Username is taken","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","Represents Easy captcha configuration","email as login","Email is taken","Contains the error value","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","captcha description","description of the captcha","description of the captcha","useful imports for supporting a new database","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","captcha key/sitekey","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name  of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","traffic pattern of easy captcha","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","Owner of the captcha configuration","check if username exists","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","Represents Easy captcha configuration","email as login","Email is taken","Contains the error value","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","average traffic of user’s website","","","traffic that bought the user’s website down; optional","check if captcha exists","","clone DB","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","captcha description","description of the captcha","description of the captcha","","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","notification sender","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","Calls U::from(self).","captcha key/sitekey","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name  of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","times at which the PoW was solved","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","","traffic pattern of easy captcha","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","Owner of the captcha configuration","check if username exists","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","levels for complex captcha config","easy traffic pattern","test all database functions","map postgres errors to DBError types","map custom row not found error to DB error"],"i":[0,0,0,15,0,15,0,1,1,1,1,1,1,1,1,1,45,15,46,1,12,45,15,46,1,12,1,1,12,1,1,12,15,1,1,1,1,1,1,0,46,1,12,0,1,1,1,12,45,15,46,1,12,1,1,1,1,1,1,1,1,1,1,1,1,12,12,45,15,46,1,12,1,12,1,12,1,1,46,0,12,1,1,1,1,1,1,1,12,45,15,46,1,12,45,15,46,1,12,45,15,46,1,12,1,1,1,1,1,1,1,46,1,45,15,46,1,12,38,0,29,0,0,38,38,0,29,29,29,29,47,0,0,0,0,38,0,0,0,29,29,0,22,38,48,0,0,29,0,0,0,0,29,0,0,38,48,0,49,29,29,29,0,29,0,38,0,29,0,38,29,0,22,38,29,13,13,13,13,13,13,13,13,13,13,29,0,8,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,8,13,24,27,22,28,9,31,32,33,17,34,8,16,35,36,50,24,27,22,28,9,31,32,33,17,34,8,16,35,36,32,35,32,49,13,13,9,31,32,33,17,34,8,16,35,36,13,13,13,13,34,16,35,24,27,22,28,9,31,32,33,17,34,8,16,35,36,9,3,31,16,35,24,13,24,27,22,28,9,31,32,33,17,34,8,16,35,36,0,13,13,13,38,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,29,38,24,27,22,28,9,31,32,33,33,17,34,8,16,35,36,29,29,29,29,17,13,13,13,13,13,13,47,13,13,13,13,13,13,24,28,33,17,31,33,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,29,34,16,35,13,33,17,51,33,27,0,8,13,0,33,13,13,13,13,24,36,24,27,22,28,9,31,32,33,17,34,8,16,35,36,32,38,29,13,13,0,9,31,17,24,27,22,28,9,31,32,33,17,34,8,16,35,36,38,29,34,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,13,13,13,13,13,13,13,24,27,28,34,13,3,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,9,31,52,53,52,53,54,38,0,38,38,0,38,0,38,48,38,48,38,38,38,47,0,0,0,0,49,49,47,51,38,0,0,0,38,38,0,47,0,0,0,0,38,0,0,0,22,38,48,0,0,0,0,0,0,0,38,48,0,49,0,0,38,0,0,38,0,22,38,13,13,13,13,13,13,13,13,13,13,8,8,13,50,32,35,32,49,13,13,13,13,13,13,34,16,35,0,9,3,31,16,35,24,13,13,13,13,17,13,13,13,13,13,13,47,13,13,13,13,13,13,24,28,33,17,31,33,34,16,35,13,33,17,51,33,27,8,13,33,13,13,13,13,24,36,32,13,13,9,31,17,34,13,13,13,13,13,13,13,24,27,28,34,13,3,9,31,38,0,0,0,38,38,0,47,0,0,0,0,38,0,0,0,22,38,48,0,0,0,0,0,0,0,38,48,0,49,0,0,38,0,0,38,0,22,38,13,13,13,13,13,13,13,13,13,13,0,8,3,3,8,13,3,50,3,32,35,32,49,13,13,13,13,13,13,34,16,35,3,9,3,31,16,35,24,13,3,13,13,13,3,3,17,13,13,13,13,13,13,47,13,13,13,13,13,13,24,28,33,17,31,33,3,34,16,35,13,33,17,51,33,27,8,13,33,13,13,13,13,24,36,3,32,13,13,9,31,17,3,34,3,3,3,13,13,13,13,13,13,13,24,27,28,34,13,3,3,9,31,0,0,0,0,0],"f":[0,0,0,0,0,0,0,[[1,2,2,[4,[3]]],[[7,[[6,[5]]]]]],[[1,2,2,8],[[7,[[6,[5]]]]]],[[1,2,9],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,10,10],[[7,[[6,[5]]]]]],[[1,10],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[1,1],[12,12],[-1,[[6,[13]]],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[15,[[7,[[6,[5]]]]]],[[1,2,16],[[7,[[6,[5]]]]]],[[1,17],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],0,0,[[1,2],[[7,[[6,[5]]]]]],[[12,12],18],0,[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[12,19],20],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[1,10,10],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,21],[[7,[[6,[5]]]]]],[[1,22],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[1,2,23],[[7,[[6,[5]]]]]],0,[1,[[7,[[6,[5]]]]]],0,[1,[[7,[[6,[5]]]]]],0,0,0,0,[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,24],[[7,[[6,[5]]]]]],[[1,21,21],[[7,[[6,[5]]]]]],[[1,21],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[[1,2,2,2],[[7,[[6,[5]]]]]],[[1,2,16],[[7,[[6,[5]]]]]],[[1,27],[[7,[[6,[5]]]]]],[[1,2,21,21],[[7,[[6,[5]]]]]],[[1,28],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,[[1,2],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,2,2,[4,[3]]],[[7,[[6,[5]]]]],[]],[[-1,2,2,8],[[7,[[6,[5]]]]],[]],[[-1,2,9],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,10,10],[[7,[[6,[5]]]]],[]],[[-1,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[29,[[11,[30]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[24,24],[27,27],[22,22],[28,28],[9,9],[31,31],[32,32],[33,33],[17,17],[34,34],[8,8],[16,16],[35,35],[36,36],[-1,[[6,[13]]],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,17],[[7,[[6,[5]]]]],[]],[[],9],[[],31],[[],32],[[],33],[[],17],[[],34],[[],8],[[],16],[[],35],[[],36],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,0,[-1,[[25,[24]]],37],[-1,[[25,[27]]],37],[-1,[[25,[22]]],37],[-1,[[25,[28]]],37],[-1,[[25,[9]]],37],[-1,[[25,[31]]],37],[-1,[[25,[32]]],37],[-1,[[25,[33]]],37],[-1,[[25,[17]]],37],[-1,[[25,[34]]],37],[-1,[[25,[8]]],37],[-1,[[25,[16]]],37],[-1,[[25,[35]]],37],[-1,[[25,[36]]],37],0,0,0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[24,24],18],[[27,27],18],[[22,22],18],[[28,28],18],[[9,9],18],[[31,31],18],[[32,32],18],[[33,33],18],[[17,17],18],[[34,34],18],[[8,8],18],[[16,16],18],[[35,35],18],[[36,36],18],0,[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[38,19],[[25,[14,39]]]],[[38,19],[[25,[14,39]]]],[[24,19],[[25,[14,39]]]],[[27,19],[[25,[14,39]]]],[[22,19],[[25,[14,39]]]],[[28,19],[[25,[14,39]]]],[[9,19],[[25,[14,39]]]],[[31,19],[[25,[14,39]]]],[[32,19],[[25,[14,39]]]],[[33,19],[[25,[14,39]]]],[[17,19],[[25,[14,39]]]],[[34,19],[[25,[14,39]]]],[[8,19],[[25,[14,39]]]],[[16,19],[[25,[14,39]]]],[[35,19],[[25,[14,39]]]],[[36,19],[[25,[14,39]]]],[[29,19],[[25,[14,39]]]],[[29,19],[[25,[14,39]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[12,33],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,29,30],[40,29],[41,29],0,[[-1,10,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,21],[[7,[[6,[5]]]]],[]],[[-1,22],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[29,[[11,[[6,[30]]]]]],0,0,0,[[-1,2,23],[[7,[[6,[5]]]]],[]],0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,24],[[7,[[6,[5]]]]],[]],0,0,[[24,-1],25,42],[[27,-1],25,42],[[22,-1],25,42],[[28,-1],25,42],[[9,-1],25,42],[[31,-1],25,42],[[32,-1],25,42],[[33,-1],25,42],[[17,-1],25,42],[[34,-1],25,42],[[8,-1],25,42],[[16,-1],25,42],[[35,-1],25,42],[[36,-1],25,42],0,[38,[[11,[43]]]],[29,[[11,[43]]]],[[-1,21,21],[[7,[[6,[5]]]]],[]],[[-1,21],[[7,[[6,[5]]]]],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,44,[]],[-1,44,[]],0,[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[[-1,2,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,27],[[7,[[6,[5]]]]],[]],[[-1,2,21,21],[[7,[[6,[5]]]]],[]],[[-1,28],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,2,2,[4,[3]]],[[7,[[6,[5]]]]],[]],[[-1,2,2,8],[[7,[[6,[5]]]]],[]],[[-1,2,9],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,10,10],[[7,[[6,[5]]]]],[]],[[-1,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[6,[13]]],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,17],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,[[-1,10,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,21],[[7,[[6,[5]]]]],[]],[[-1,22],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,[[-1,2,23],[[7,[[6,[5]]]]],[]],0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,24],[[7,[[6,[5]]]]],[]],0,0,0,[[-1,21,21],[[7,[[6,[5]]]]],[]],[[-1,21],[[7,[[6,[5]]]]],[]],0,0,0,0,[[-1,2,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,27],[[7,[[6,[5]]]]],[]],[[-1,2,21,21],[[7,[[6,[5]]]]],[]],[[-1,28],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,2,2,[4,[3]]],[[7,[[6,[5]]]]],[]],[[-1,2,2,8],[[7,[[6,[5]]]]],[]],[[-1,2,9],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,10,10],[[7,[[6,[5]]]]],[]],[[-1,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[3,3],[-1,[[6,[13]]],[]],[[-1,-2],14,[],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,17],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,0,[-1,[[25,[3]]],37],0,0,0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[3,3],18],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[3,19],[[25,[14,39]]]],[-1,-1,[]],0,[[-1,10,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,21],[[7,[[6,[5]]]]],[]],[[-1,22],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,[-1,-2,[],[]],0,0,0,[[-1,2,23],[[7,[[6,[5]]]]],[]],0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,24],[[7,[[6,[5]]]]],[]],0,0,[[3,-1],25,42],0,[[-1,21,21],[[7,[[6,[5]]]]],[]],[[-1,21],[[7,[[6,[5]]]]],[]],0,0,0,[-1,-2,[],[]],0,[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[[-1,2,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,27],[[7,[[6,[5]]]]],[]],[[-1,2,21,21],[[7,[[6,[5]]]]],[]],[[-1,28],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],0,[-1,-2,[],[]],0,0,0,0,[[-1,24,16,[4,[3]],8,17],14,13],[29,38],[[29,38],38]],"c":[],"p":[[3,"Database",0],[15,"str"],[3,"Level",692],[15,"slice"],[8,"Future",849],[3,"Box",850],[3,"Pin",851],[3,"TrafficPattern",118],[3,"CreatePerformanceAnalytics",118],[15,"usize"],[4,"Option",852],[3,"InnerNotification",0],[8,"MCDatabase",118],[15,"tuple"],[4,"ConnectionOptions",0],[3,"CreateCaptcha",118],[3,"AddNotification",118],[15,"bool"],[3,"Formatter",853],[6,"Result",853],[15,"u32"],[4,"Login",118],[15,"i32"],[3,"Register",118],[4,"Result",854],[3,"TypeId",855],[3,"UpdateEmail",118],[3,"NameHash",118],[4,"Error",118],[8,"DatabaseError",856],[3,"PerformanceAnalytics",118],[3,"StatsUnixTimestamp",118],[3,"Notification",118],[3,"EasyCaptcha",118],[3,"Captcha",118],[3,"Secret",118],[8,"Deserializer",857],[4,"DBError",118],[3,"Error",853],[3,"Error",858],[4,"MigrateError",859],[8,"Serializer",860],[8,"Error",861],[3,"String",862],[3,"Conn",0],[3,"Fresh",0],[8,"GetConnection",118],[6,"DBResult",692],[8,"Connect",118],[8,"CloneSPDatabase",118],[8,"Migrate",118],[13,"ColumnIndexOutOfBounds",527],[13,"ColumnDecode",527],[13,"TypeNotFound",527]],"b":[[313,"impl-Display-for-DBError"],[314,"impl-Debug-for-DBError"],[329,"impl-Debug-for-Error"],[330,"impl-Display-for-Error"],[348,"impl-From%3CE%3E-for-Error"],[349,"impl-From%3CError%3E-for-Error"],[350,"impl-From%3CMigrateError%3E-for-Error"]]},\
    +"db_sqlx_postgres":{"doc":"","t":"DEDNDNDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAMLLALLLLLLLLLLLLLLLLLLLLLMMLLLLLLMLMLMMAMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLNDNGDNNINNNNQIDDENIGCNNDNNNEINDEIINDDNNDQNNNDNDNDNDNNDNNNKKKLKKKKKKLXMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKLLLLLLLLLLLLLLKLLLLLLLLLLLLLLMMMKKKLLLLLLLLLLKKKKMMMLLLLLLLLLLLLLLMMMMMMKLLLLLLLLLLLLLLAKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKKKKKKKKKKKKKMMMMMMLLLLLLLLLLLLLLLLLMMMKMMKMMAMKAMKKKKMMLLLLLLLLLLLLLLMLLKKAMMMLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKKKKMMMMKMLLLLLLLLLLLLLLLLMMMMMMMNGNNENGNNNNNNNQIIIIQKKKNDGDNNIQIDDENIGDNNNIDEIIDDNNDQDDNDDNDNNKKKLKKKKKKMMKKMMMKKKKKKKMMMAMMMMMMKKKKMKKKKKKKKKKKKKMMMMMMMMMKMMKMMMKMKKKKMMMKKMMMMKKKKKKKMMMMKMMMNDGDNNIQIDDENIGDNNNIDEIIDDNNDQDDNDDNDNNKKKLKKKKKKXMLLMKLKLMMMKKKKKKKMMMLMMMMMMKLKKKLLMKKKKKKKKKKKKKMMMMMMLMMMKMMKMMMKMKKKKMMLMKKMMMLMLLLKKKKKKKMMMMKMLMMRRFFF","n":["Conn","ConnectionOptions","Database","Existing","Fresh","Fresh","InnerNotification","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha_exists","clone","clone","clone_db","clone_into","clone_into","connect","create_captcha","create_notification","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","dev","disable_logging","email_exists","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","from","from","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","heading","id","into","into","into","into","into","mark_notification_read","message","migrate","name","ping","pool","pool_options","prelude","received","record_confirm","record_fetch","record_solve","register","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","url","username_exists","vzip","vzip","vzip","vzip","vzip","AccountNotFound","AddNotification","AnyDriverError","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","ColumnDecode","ColumnIndexOutOfBounds","ColumnNotFound","Configuration","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Database","Database","Decode","EasyCaptcha","Email","EmailTaken","Err","Error","GetConnection","Io","Level","Login","MCDatabase","Migrate","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","PoolClosed","PoolTimedOut","Protocol","Register","RowNotFound","Secret","SecretTaken","StatsUnixTimestamp","Tls","TrafficPattern","TrafficPatternNotFound","TypeNotFound","UpdateEmail","Username","UsernameTaken","WorkerCrashed","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","as_database_error","async_trait","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","default","default","default","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_database_error","key","key","key","mark_notification_read","message","message","migrate","name","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","source","source","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","tests","time","time","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","traffic_pattern","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","worker_type","worker_type","index","index","len","source","type_name","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","Err","NotificationNotFound","Ok","SecretTaken","TrafficPatternNotFound","UsernameTaken","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","EasyCaptcha","Email","EmailTaken","Err","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","description","dev","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","key","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","time","time","to","traffic_pattern","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username","username_exists","visitor_threshold","worker_type","worker_type","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","EasyCaptcha","Email","EmailTaken","Err","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Ok","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_all_psuedo_ids","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","async_trait","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone_db","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","description","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","get_all_easy_captchas","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_max_nonce_for_level","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","into","key","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","solves","stats_get_entry_at_location_for_time_limit_asc","stats_get_num_logs_under_time","time","time","to","to_owned","traffic_pattern","try_from","try_into","type_id","update_captcha_key","update_captcha_metadata","update_email","update_max_nonce_for_level","update_password","update_secret","update_username","username","username","username","username","username_exists","visitor_threshold","vzip","worker_type","worker_type","LEVELS","TRAFFIC_PATTERN","database_works","map_register_err","map_row_not_found_err"],"q":[[0,"db_sqlx_postgres"],[119,"db_sqlx_postgres::dev"],[528,"db_sqlx_postgres::dev::Error"],[533,"db_sqlx_postgres::dev::errors"],[547,"db_sqlx_postgres::dev::ops"],[556,"db_sqlx_postgres::dev::prelude"],[693,"db_sqlx_postgres::dev::prelude::dev"],[845,"db_sqlx_postgres::dev::tests"],[848,"db_sqlx_postgres::errors"],[850,"core::future::future"],[851,"alloc::boxed"],[852,"core::pin"],[853,"core::option"],[854,"core::fmt"],[855,"core::fmt"],[856,"core::any"],[857,"sqlx_core::error"],[858,"serde::de"],[859,"core::fmt"],[860,"std::io::error"],[861,"serde::ser"],[862,"core::error"],[863,"alloc::string"]],"d":["Use an existing database pool","Connect to database","","existing connection","","fresh connection","Represents notification","Add levels to captcha","Add traffic configuration","record PoW timing","Create psuedo ID against campaign ID to publish analytics","","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","","","","","","","","","","check if captcha exists","","","","","","","create new captcha","create new notification","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","","","check if email exists","","Error-handling utilities","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","mark a notification read","message of the notification","","receiver name  of the notification","ping DB","","","","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","","check if username exists","","","","","","Account not found","Data required to add notification","Error occurred within the Any driver mapping to/from the …","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","Error occurred while decoding a value from a specific …","Column index was out of bounds.","No column found for the given name.","Error occurred while parsing a connection string.","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","","Error returned from the database.","Error occurred while decoding a value.","Represents Easy captcha configuration","email as login","Email is taken","Contains the error value","Represents all the ways a method can fail within SQLx.","Get database connection","Error communicating with the database backend.","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Pool::close was called while we were waiting in …","A Pool::acquire timed out due to connections not becoming …","Unexpected or invalid data encountered while communicating …","Data required to register a new user","No rows returned by a query that expected to return at …","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","Error occurred while attempting to establish a TLS …","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","Type in query doesn’t exist. Likely due to typo or …","data required to update them email of a user","username as login","Username is taken","A background worker has crashed.","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","traffic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","","","","clone DB","","","","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","","","","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","captcha description","description of the captcha","description of the captcha","","","","","","","","","","","","","","","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","","","","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","notification sender","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","captcha key/sitekey","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name  of the notification","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","","","","times at which the PoW was solved","","","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","Test utilities","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","","","","","","","","","","","","","","","","","traffic pattern of easy captcha","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","Owner of the captcha configuration","check if username exists","","","","","","","","","","","","","","","","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Contains the error value","Notification not found","Contains the success value","Secret is taken","Traffic pattern not found","Username is taken","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","Represents Easy captcha configuration","email as login","Email is taken","Contains the error value","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","captcha description","description of the captcha","description of the captcha","useful imports for supporting a new database","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","captcha key/sitekey","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name  of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","traffic pattern of easy captcha","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","Owner of the captcha configuration","check if username exists","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","Represents Easy captcha configuration","email as login","Email is taken","Contains the error value","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","Contains the success value","Proof-of-Work CAPTCHA performance analytics","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get all psuedo IDs","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","average traffic of user’s website","","","traffic that bought the user’s website down; optional","check if captcha exists","","clone DB","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","captcha description","description of the captcha","description of the captcha","","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","notification sender","Get all easy captcha configurations on instance","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","Get maximum nonce tracked so far for captcha levels","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","log ID","db assigned ID of the notification","Calls U::from(self).","captcha key/sitekey","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name  of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","times at which the PoW was solved","Get the entry at a location in the list of analytics …","Get number of analytics entries that are under a certain …","time taken to generate proof","time taken to generate proof","who is the notification addressed to?","","traffic pattern of easy captcha","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","Track maximum nonce received against captcha levels","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","Owner of the captcha configuration","check if username exists","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","levels for complex captcha config","easy traffic pattern","test all database functions","map postgres errors to DBError types","map custom row not found error to DB error"],"i":[0,0,0,15,0,15,0,1,1,1,1,1,1,1,1,1,45,15,46,1,12,45,15,46,1,12,1,1,12,1,1,12,15,1,1,12,1,1,1,1,0,46,1,12,0,1,1,1,12,45,15,46,1,12,1,1,1,1,1,1,1,1,1,1,1,1,12,12,45,15,46,1,12,1,12,1,12,1,1,46,0,12,1,1,1,1,1,1,1,12,45,15,46,1,12,45,15,46,1,12,45,15,46,1,12,1,1,1,1,1,1,1,46,1,45,15,46,1,12,38,0,29,0,0,38,38,0,29,29,29,29,47,0,0,0,0,38,0,0,0,29,29,0,22,38,48,0,0,29,0,0,0,0,29,0,0,38,48,0,49,29,29,29,0,29,0,38,0,29,0,38,29,0,22,38,29,13,13,13,13,13,13,13,13,13,13,29,0,8,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,8,13,24,27,22,28,9,31,32,33,17,34,8,16,35,36,50,24,27,22,28,9,31,32,33,17,34,8,16,35,36,32,35,32,49,13,13,9,31,32,33,17,34,8,16,35,36,13,13,13,13,34,16,35,24,27,22,28,9,31,32,33,17,34,8,16,35,36,9,3,31,16,35,24,13,24,27,22,28,9,31,32,33,17,34,8,16,35,36,0,13,13,13,38,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,29,38,24,27,22,28,9,31,32,33,33,17,34,8,16,35,36,29,29,29,29,17,13,13,13,13,13,13,47,13,13,13,13,13,13,24,28,33,17,31,33,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,29,34,16,35,13,33,17,51,33,27,0,8,13,0,33,13,13,13,13,24,36,24,27,22,28,9,31,32,33,17,34,8,16,35,36,32,38,29,13,13,0,9,31,17,24,27,22,28,9,31,32,33,17,34,8,16,35,36,38,29,34,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,13,13,13,13,13,13,13,24,27,28,34,13,3,38,24,27,22,28,9,31,32,33,17,34,8,16,35,36,29,9,31,52,53,52,53,54,38,0,38,38,0,38,0,38,48,38,48,38,38,38,47,0,0,0,0,49,49,47,51,38,0,0,0,38,38,0,47,0,0,0,0,38,0,0,0,22,38,48,0,0,0,0,0,0,0,38,48,0,49,0,0,38,0,0,38,0,22,38,13,13,13,13,13,13,13,13,13,13,8,8,13,50,32,35,32,49,13,13,13,13,13,13,34,16,35,0,9,3,31,16,35,24,13,13,13,13,17,13,13,13,13,13,13,47,13,13,13,13,13,13,24,28,33,17,31,33,34,16,35,13,33,17,51,33,27,8,13,33,13,13,13,13,24,36,32,13,13,9,31,17,34,13,13,13,13,13,13,13,24,27,28,34,13,3,9,31,38,0,0,0,38,38,0,47,0,0,0,0,38,0,0,0,22,38,48,0,0,0,0,0,0,0,38,48,0,49,0,0,38,0,0,38,0,22,38,13,13,13,13,13,13,13,13,13,13,0,8,3,3,8,13,3,50,3,32,35,32,49,13,13,13,13,13,13,34,16,35,3,9,3,31,16,35,24,13,3,13,13,13,3,3,17,13,13,13,13,13,13,47,13,13,13,13,13,13,24,28,33,17,31,33,3,34,16,35,13,33,17,51,33,27,8,13,33,13,13,13,13,24,36,3,32,13,13,9,31,17,3,34,3,3,3,13,13,13,13,13,13,13,24,27,28,34,13,3,3,9,31,0,0,0,0,0],"f":[0,0,0,0,0,0,0,[[1,2,2,[4,[3]]],[[7,[[6,[5]]]]]],[[1,2,2,8],[[7,[[6,[5]]]]]],[[1,2,9],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,10,10],[[7,[[6,[5]]]]]],[[1,10],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[1,1],[12,12],[-1,[[6,[13]]],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[15,[[7,[[6,[5]]]]]],[[1,2,16],[[7,[[6,[5]]]]]],[[1,17],[[7,[[6,[5]]]]]],[[],12],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],0,0,[[1,2],[[7,[[6,[5]]]]]],[[12,12],18],0,[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[12,19],20],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[1,10,10],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,21],[[7,[[6,[5]]]]]],[[1,22],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[1,2,23],[[7,[[6,[5]]]]]],0,[1,[[7,[[6,[5]]]]]],0,[1,[[7,[[6,[5]]]]]],0,0,0,0,[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,24],[[7,[[6,[5]]]]]],[[1,21,21],[[7,[[6,[5]]]]]],[[1,21],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[[1,2,2,2],[[7,[[6,[5]]]]]],[[1,2,16],[[7,[[6,[5]]]]]],[[1,27],[[7,[[6,[5]]]]]],[[1,2,21,21],[[7,[[6,[5]]]]]],[[1,28],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,[[1,2],[[7,[[6,[5]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,2,2,[4,[3]]],[[7,[[6,[5]]]]],[]],[[-1,2,2,8],[[7,[[6,[5]]]]],[]],[[-1,2,9],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,10,10],[[7,[[6,[5]]]]],[]],[[-1,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[29,[[11,[30]]]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[24,24],[27,27],[22,22],[28,28],[9,9],[31,31],[32,32],[33,33],[17,17],[34,34],[8,8],[16,16],[35,35],[36,36],[-1,[[6,[13]]],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],[[-1,-2],14,[],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,17],[[7,[[6,[5]]]]],[]],[[],9],[[],31],[[],32],[[],33],[[],17],[[],34],[[],8],[[],16],[[],35],[[],36],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,0,[-1,[[25,[24]]],37],[-1,[[25,[27]]],37],[-1,[[25,[22]]],37],[-1,[[25,[28]]],37],[-1,[[25,[9]]],37],[-1,[[25,[31]]],37],[-1,[[25,[32]]],37],[-1,[[25,[33]]],37],[-1,[[25,[17]]],37],[-1,[[25,[34]]],37],[-1,[[25,[8]]],37],[-1,[[25,[16]]],37],[-1,[[25,[35]]],37],[-1,[[25,[36]]],37],0,0,0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[24,24],18],[[27,27],18],[[22,22],18],[[28,28],18],[[9,9],18],[[31,31],18],[[32,32],18],[[33,33],18],[[17,17],18],[[34,34],18],[[8,8],18],[[16,16],18],[[35,35],18],[[36,36],18],0,[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[38,19],[[25,[14,39]]]],[[38,19],[[25,[14,39]]]],[[24,19],[[25,[14,39]]]],[[27,19],[[25,[14,39]]]],[[22,19],[[25,[14,39]]]],[[28,19],[[25,[14,39]]]],[[9,19],[[25,[14,39]]]],[[31,19],[[25,[14,39]]]],[[32,19],[[25,[14,39]]]],[[33,19],[[25,[14,39]]]],[[17,19],[[25,[14,39]]]],[[34,19],[[25,[14,39]]]],[[8,19],[[25,[14,39]]]],[[16,19],[[25,[14,39]]]],[[35,19],[[25,[14,39]]]],[[36,19],[[25,[14,39]]]],[[29,19],[[25,[14,39]]]],[[29,19],[[25,[14,39]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[12,33],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,29,30],[40,29],[41,29],0,[[-1,10,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,21],[[7,[[6,[5]]]]],[]],[[-1,22],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[29,[[11,[[6,[30]]]]]],0,0,0,[[-1,2,23],[[7,[[6,[5]]]]],[]],0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,24],[[7,[[6,[5]]]]],[]],0,0,[[24,-1],25,42],[[27,-1],25,42],[[22,-1],25,42],[[28,-1],25,42],[[9,-1],25,42],[[31,-1],25,42],[[32,-1],25,42],[[33,-1],25,42],[[17,-1],25,42],[[34,-1],25,42],[[8,-1],25,42],[[16,-1],25,42],[[35,-1],25,42],[[36,-1],25,42],0,[38,[[11,[43]]]],[29,[[11,[43]]]],[[-1,21,21],[[7,[[6,[5]]]]],[]],[[-1,21],[[7,[[6,[5]]]]],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,44,[]],[-1,44,[]],0,[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[-1,26,[]],[[-1,2,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,27],[[7,[[6,[5]]]]],[]],[[-1,2,21,21],[[7,[[6,[5]]]]],[]],[[-1,28],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,2,2,[4,[3]]],[[7,[[6,[5]]]]],[]],[[-1,2,2,8],[[7,[[6,[5]]]]],[]],[[-1,2,9],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,10,10],[[7,[[6,[5]]]]],[]],[[-1,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[6,[13]]],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,17],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,[[-1,10,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,21],[[7,[[6,[5]]]]],[]],[[-1,22],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,[[-1,2,23],[[7,[[6,[5]]]]],[]],0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,24],[[7,[[6,[5]]]]],[]],0,0,0,[[-1,21,21],[[7,[[6,[5]]]]],[]],[[-1,21],[[7,[[6,[5]]]]],[]],0,0,0,0,[[-1,2,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,27],[[7,[[6,[5]]]]],[]],[[-1,2,21,21],[[7,[[6,[5]]]]],[]],[[-1,28],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[-1,2,2,[4,[3]]],[[7,[[6,[5]]]]],[]],[[-1,2,2,8],[[7,[[6,[5]]]]],[]],[[-1,2,9],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,10,10],[[7,[[6,[5]]]]],[]],[[-1,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[3,3],[-1,[[6,[13]]],[]],[[-1,-2],14,[],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,17],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],0,0,0,[-1,[[25,[3]]],37],0,0,0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],[[3,3],18],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[3,19],[[25,[14,39]]]],[-1,-1,[]],0,[[-1,10,10],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,[11,[2]],2],[[7,[[6,[5]]]]],[]],[-1,[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,21],[[7,[[6,[5]]]]],[]],[[-1,22],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,0,0,[-1,-2,[],[]],0,0,0,[[-1,2,23],[[7,[[6,[5]]]]],[]],0,0,[-1,[[7,[[6,[5]]]]],[]],0,0,0,[-1,[[7,[[6,[5]]]]],[]],0,[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,2],[[7,[[6,[5]]]]],[]],[[-1,24],[[7,[[6,[5]]]]],[]],0,0,[[3,-1],25,42],0,[[-1,21,21],[[7,[[6,[5]]]]],[]],[[-1,21],[[7,[[6,[5]]]]],[]],0,0,0,[-1,-2,[],[]],0,[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,26,[]],[[-1,2,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,16],[[7,[[6,[5]]]]],[]],[[-1,27],[[7,[[6,[5]]]]],[]],[[-1,2,21,21],[[7,[[6,[5]]]]],[]],[[-1,28],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],[[-1,2,2],[[7,[[6,[5]]]]],[]],0,0,0,0,[[-1,2],[[7,[[6,[5]]]]],[]],0,[-1,-2,[],[]],0,0,0,0,[[-1,24,16,[4,[3]],8,17],14,13],[29,38],[[29,38],38]],"c":[],"p":[[3,"Database",0],[15,"str"],[3,"Level",693],[15,"slice"],[8,"Future",850],[3,"Box",851],[3,"Pin",852],[3,"TrafficPattern",119],[3,"CreatePerformanceAnalytics",119],[15,"usize"],[4,"Option",853],[3,"InnerNotification",0],[8,"MCDatabase",119],[15,"tuple"],[4,"ConnectionOptions",0],[3,"CreateCaptcha",119],[3,"AddNotification",119],[15,"bool"],[3,"Formatter",854],[6,"Result",854],[15,"u32"],[4,"Login",119],[15,"i32"],[3,"Register",119],[4,"Result",855],[3,"TypeId",856],[3,"UpdateEmail",119],[3,"NameHash",119],[4,"Error",119],[8,"DatabaseError",857],[3,"PerformanceAnalytics",119],[3,"StatsUnixTimestamp",119],[3,"Notification",119],[3,"EasyCaptcha",119],[3,"Captcha",119],[3,"Secret",119],[8,"Deserializer",858],[4,"DBError",119],[3,"Error",854],[4,"MigrateError",859],[3,"Error",860],[8,"Serializer",861],[8,"Error",862],[3,"String",863],[3,"Conn",0],[3,"Fresh",0],[8,"GetConnection",119],[6,"DBResult",693],[8,"Connect",119],[8,"CloneSPDatabase",119],[8,"Migrate",119],[13,"ColumnIndexOutOfBounds",528],[13,"ColumnDecode",528],[13,"TypeNotFound",528]],"b":[[314,"impl-Debug-for-DBError"],[315,"impl-Display-for-DBError"],[330,"impl-Display-for-Error"],[331,"impl-Debug-for-Error"],[349,"impl-From%3CE%3E-for-Error"],[350,"impl-From%3CMigrateError%3E-for-Error"],[351,"impl-From%3CError%3E-for-Error"]]},\
    +"mcaptcha":{"doc":"","t":"GGDRRDDRDDDDRDDDDDDDRRRRDDDDRDDRRMMMMMMMMMMMMMMMMMMMMMALLLLLLLLLLLLLLLLMMMMAMAAMMALLLLLLLLAAAALLLLLLLLFFLLLLLLLLMFAMMMAMAMMMAAMAMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAACDAALLLLFLAAAAMAFAALLLLDDCLLLLLLLLALLAMLLLLLLCAAALLFLLLLLLLLAMLLLLDLLLAFLLLLFDLLLLLLLLLMDLLLLLLLLLLFDLLLLLLLLLLLLLDDLLLLLLLLMMLLLLLLLLLMMMLLFLLLLLLLLLLFDLLLDLLMMLMLLLLLMMMMMLLLLLLLDLLLLFLLLLLLDLLDLLLLLLLLLLLLLLLLLLALFDLLLLLLLLLLMDLLLFLLLLLLLLLLLLDDLLLAAFDLLLLLLLLLLLLDLLLLLMMLMLLLLDDDLLLLLLLLLLLLMLLLMLLLLLLLLLMFMMMFLLLLLLLLLLLLLLLMLLLAAAAFAFAADDLLLLLLLLDMLLMLLLLLLLMMMMLALLLLLLLLLLLLLLLFDLLLLLLDLLLLLLMMLLLLLLLLLLLDDMLLLLLLLLMFFLLLLDLMLLLLLLLLLLLLMMMMLLALLFLLLLLLLLLLLLLLDFLLLLDLLMLLLLLLMLDDLLLLLLLLLLLLMLLLLLDLLLMLLLLLLLLLLLLLLMLLLDLLMMMLMLLMLLLMMLDLLLLLLLLLLDLLMLALLLLLLLLLLDLLLMLLLLLLDLLLLLLMLMLLLLLLMMMLLALLLLLLLLLLDDLLLFDDEDDENNNNLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLMMDLLLLLLLLLLMMLLALLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLDLLMLMLLLLLLAAAAFDDLLLLLLLLLLLLMLLMLLMLLLLLLLLLDLLLLLLLLLLLLLDMMLLMMMLLLLLLLLLLLDLLLLLLLMLLDLLLLLLLLLLDMLLLMLMLLLLLCAAFAADDLLLLLLLLLLLLMLLLLLDFLLLMMLMLLMLLLLLLLLLLLLLLDLLLLMLLOMLLLLMLMLDDLLLLLLLLLLLLLLLLLLLLMMLMLLMMLLMLLLLLLLLLDLLLMDDLLLLLLLLLLLLLLLLLLLLMLMLLLLMLLLLLLLLLMDLLLRDMMLLMLLLMLMMMMLLLLDDEDDEDDENNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLMMFDLALLLFLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLDLLLLLLLLLLLLLLMLLLLLLDDMLLLLLLLLLLLLDLLLLLLLLLLLLLLMLLADMLLFLLLLLLLLLLLLLLLLLDLLMLLLLMLLLLDNGNELLLLLMMMOOLLLLLMLLMLLLLLLMMMLLLLLLLLLLLRDRRRLLLLLLLLLLLMLLLLLGAAFFRRDLLLLLLLLLLLMLLDRRLLLLLLLLDLLLLLLFDLLLLLLLLLAFDLLLLLLLLLLLLLLLLDMLLLMLLMLLLLDLLLLLLLLLLMLLLADRLLLLLLLLLLLLLFMLNNNNNNDNNNDNNNNNNEGNNNNENGDNNNNNNNLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLRAAFAAFAAAAFADDRMLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLDDRMLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLDLLLLLLMMLLLLLRDLLLLMLLLLLLLLLMLRDDRDMMLLLLLLLLLLLLDLLLLLLLLMLLLLAFMLLLLLLLLLLLLLLLLLDLLLMLLLLLMLDRLLLLLLLLLLLADLLLAFAAMLLLLLLLALLDDRLLLLLLLLLLMMLLLMMMLDLMLLLLLLLLLLLLLLLDLLLLMLLMMMLLLMLDRLLLLLLLLLLDMLLLLLLLLLLLLLAMFDLLLLLLLLLLLLLDMLLLLDLLMLLMLLLLLMLAAAAAFADDDDRMMDMLLLLLLLLLLLLMLLLLLLLLDMMMMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLDDRDLLLLLLLLLLLLMDMLLLLLLLLMMMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLDRLLLLLLLLLLDLLLLMLLLLLLLLLDMMLLMMMLLLLLLLMLLLLMLDRLLLLLLMLLLLMMMLMLLLMLLLLLLLDLLRDLLLLLLLLMLLLDLLLMDLLLLAFMLLLLLLLLLLLLLDLLLLLLMLLLLRDMMLLMMLLLMLLMMMMMLLLLDDMLLLLLLLLLLMLLLLLLLLLDLLLLLLLLLLMLLLFDERDDRNNDDDDDMMMMLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLMLLLLLLLLLMLMMMMMMMMMMMMMMMLMLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLCAFADLLMLLLLLLLLDDALLLLLLLLDLLLLLLLLFFLLLLLLLLLLDLLLLLLLLLLLLLLLLDDDDDDGDDDDMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDIDDILLLLLLLLLLLLKLLMMLLLLLLLKLLLLLLLLLLLKLLKLLKLLLMLLLLLLLLLLLLLLLDDIMLLLLMLLLLLLLLLLLKLLKLLKLLKLMLLLLLLLLLLDDRRMLLLLLLLLLLLLLLLLLLLAFDLLLLLLLLLLLLLDLLLLLLLLML","n":["AppData","ArcData","BAR_CHART","CACHE_AGE","COMPILED_DATE","CREDIT_CARD","CSS","DOCS","DOCS_ICON","Data","FILES","GITHUB","GIT_COMMIT_HASH","HELP_CIRCLE","HOME","JS","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","MOBILE_CSS","PAGES","PKG_DESCRIPTION","PKG_HOMEPAGE","PKG_NAME","SETTINGS","SETTINGS_ICON","SOURCE_FILES_OF_INSTANCE","Settings","V1_API_ROUTES","VERIFICATIN_WIDGET_CSS","VERIFICATIN_WIDGET_JS","VERSION","WIDGET_ROUTES","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","alloc","allow_demo","allow_registration","api","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha","captcha","commercial","creds","data","database","date","db","db","debug","demo","deref","deref","deref","deref","deref","deref","deref","deref","docs","easy","email","errors","from","from","from","from","from","from","from","from","get_identity_service","get_json_err","into","into","into","into","into","into","into","into","mailer","main","pages","phantom","ptr","redis","routes","server","settings","settings","smtp","source_code","static_assets","stats","stats","survey","survey","survey_secrets","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","widget","v1","ROUTES","RedirectQuery","account","auth","borrow","borrow_mut","deserialize","from","get_middleware","into","mcaptcha","meta","notifications","pow","redirect_to","routes","services","stats","survey","try_from","try_into","type_id","vzip","AccountCheckPayload","AccountCheckResp","auth","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","delete","deserialize","deserialize","email","exists","fmt","fmt","from","from","into","into","mcaptcha","password","routes","secret","serialize","serialize","services","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","username","val","vzip","vzip","borrow","borrow_mut","delete_account","from","into","register","runners","services","try_from","try_into","type_id","vzip","delete_user","Email","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","email","email_exists","fmt","from","from","from","into","into","into","register","register","serialize","services","set_email","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","ChangePasswordReqest","UpdatePassword","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","confirm_new_password","confirm_new_password","deserialize","fmt","from","from","from","from","into","into","into","new_password","new_password","password","register","serialize","services","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_password_runner","update_user_password","vzip","vzip","vzip","Account","borrow","borrow_mut","delete","email_exists","from","get_secret","into","new","try_from","try_into","type_id","update_email","update_password","update_secret","update_username","username_exists","vzip","borrow","borrow","borrow_mut","borrow_mut","from","from","get_secret","into","into","register","register","services","try_from","try_from","try_into","try_into","type_id","type_id","update_user_secret","vzip","vzip","Username","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","from","into","into","into","register","register","runners","serialize","services","set_username","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","username","username_exists","vzip","vzip","vzip","username_exists","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","into","into","into","login","register","register","register","register","routes","runners","services","signout","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Auth","borrow","borrow_mut","from","get_login_route","into","login","logout","new","register","try_from","try_into","type_id","vzip","Login","Password","Register","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","confirm_password","deserialize","deserialize","deserialize","email","fmt","fmt","fmt","from","from","from","into","into","into","login","login_runner","password","password","password","register_runner","serialize","serialize","serialize","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","username","vzip","vzip","vzip","create","delete","easy","get","get_random","routes","services","stats","update","CreateCaptcha","MCaptchaDetails","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","create","description","deserialize","deserialize","duration","fmt","from","from","from","into","into","into","key","levels","name","publish_benchmarks","register","runner","serialize","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","create","DeleteCaptcha","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","delete","deserialize","fmt","from","from","into","into","key","password","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","TrafficPatternRequest","UpdateTrafficPattern","avg_traffic","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","calculate","calculate_with_percentile","clone","clone","clone_into","clone_into","create","default","description","deserialize","deserialize","fmt","fmt","from","from","from","from","into","into","into","into","key","pattern","peak_sustainable_traffic","publish_benchmarks","register","register","routes","serialize","serialize","services","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update","update_runner","vzip","vzip","vzip","vzip","Easy","borrow","borrow_mut","create","from","into","new","try_from","try_into","type_id","update","vzip","I32Levels","Levels","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","difficulty_factor","fmt","fmt","from","from","from","get_captcha","into","into","into","levels","register","serialize","serialize","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","visitor_threshold","vzip","vzip","vzip","Captcha","borrow","borrow_mut","create","delete","easy","from","get","into","new","stats","try_from","try_into","type_id","update","update_key","vzip","StatsPayload","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","get","into","into","key","register","routes","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Stats","borrow","borrow_mut","from","get","into","new","try_from","try_into","type_id","vzip","UpdateCaptcha","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","description","deserialize","duration","from","from","from","into","into","into","key","levels","publish_benchmarks","register","register","runner","serialize","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_captcha","update_key","vzip","vzip","vzip","update_captcha","BuildDetails","BuildDetailsBuilder","BuildDetailsBuilderError","Health","HealthBuilder","HealthBuilderError","UninitializedField","UninitializedField","ValidationError","ValidationError","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build_details","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","create_empty","create_empty","db","db","db","default","default","deserialize","deserialize","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","git_commit_hash","git_commit_hash","git_commit_hash","health","into","into","into","into","into","into","into","into","is_redis","redis","redis","redis","register","register","routes","serialize","serialize","services","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","version","version","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Meta","borrow","borrow_mut","build_details","from","health","into","new","try_from","try_into","type_id","vzip","add","get","mark_read","routes","services","AddNotificationRequest","add_notification","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deserialize","eq","fmt","from","from","heading","into","into","message","register","serialize","to","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","NotificationResp","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deserialize","eq","from","from","from","from_notifications","get_notification","heading","id","into","into","message","name","received","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","MarkReadReq","borrow","borrow","borrow_mut","borrow_mut","deserialize","from","from","id","into","into","mark_read","register","serialize","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Notifications","add","borrow","borrow_mut","from","get","into","mark_read","new","try_from","try_into","type_id","vzip","I32Levels","get_config","routes","services","verify_pow","verify_token","ApiPoWConfig","GetConfigPayload","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","difficulty_factor","fmt","fmt","from","from","from","get_config","init_mcaptcha","into","into","into","key","max_recorded_nonce","register","salt","serialize","serialize","string","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","PoW","borrow","borrow_mut","from","get_config","get_config","into","new","rm_scope","scope","try_from","try_into","type_id","validate_captcha_token","validate_captcha_token","verify_pow","verify_pow","vzip","ApiWork","ValidationToken","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","fmt","fmt","from","from","from","into","into","into","key","nonce","register","result","serialize","serialize","string","time","to_owned","to_owned","token","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verify_pow","vzip","vzip","vzip","worker_type","CaptchaValidateResp","VerifyCaptchaResultPayload","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","fmt","fmt","from","from","from","into","into","into","key","register","secret","serialize","serialize","to_owned","to_owned","token","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","valid","validate_captcha_token","vzip","vzip","vzip","ROUTES","Routes","account","auth","borrow","borrow_mut","captcha","from","get_login_route","into","meta","new","notifications","pow","stats","survey","try_from","try_into","type_id","vzip","BuildDetails","BuildDetailsBuilder","BuildDetailsBuilderError","PercentileReq","PercentileReqBuilder","PercentileReqBuilderError","PercentileResp","PercentileRespBuilder","PercentileRespBuilderError","UninitializedField","UninitializedField","UninitializedField","ValidationError","ValidationError","ValidationError","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","create_empty","create_empty","create_empty","default","default","default","deserialize","deserialize","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","git_commit_hash","git_commit_hash","git_commit_hash","into","into","into","into","into","into","into","into","into","into","percentile","percentile","percentile","percentile_bench_runner","percentile_benches","register","routes","serialize","serialize","serialize","services","time","time","time","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","version","version","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Stats","borrow","borrow_mut","clone","clone_into","deserialize","eq","equivalent","equivalent","equivalent","equivalent","fmt","from","into","new","percentile_benches","serialize","to_owned","try_from","try_into","type_id","vzip","Page","SurveySecretUpload","auth_token","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","deserialize","download","eq","equivalent","equivalent","equivalent","equivalent","fmt","from","from","from","from","into","into","into","into","page","register","register","routes","secret","secret","serialize","serialize","services","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Survey","borrow","borrow_mut","download","from","get_download_route","into","new","secret","try_from","try_into","type_id","vzip","Data","Embedded","Mailer","Redis","SystemGroup","add_site","borrow","borrow","borrow_mut","borrow_mut","captcha","creds","db","enum_system_actor","enum_system_wrapper","from","from","get_creds","get_mailer","get_pow","inner","into","into","mailer","new","new","new_system","register_survey","remove","rename","settings","stats","survey_secrets","try_from","try_from","try_into","try_into","type_id","type_id","upload_survey_job","validate_verification_tokens","verify_pow","vzip","vzip","DAY","Date","HOUR","MINUTE","WEEK","borrow","borrow_mut","clone","clone_into","date","fmt","format","from","into","new","print_date","time","to_owned","try_from","try_into","type_id","vzip","BoxDB","maria","pg","get_data","get_data","DEMO_PASSWORD","DEMO_USER","DemoUser","abort","borrow","borrow_mut","delete_demo_user","from","into","register_demo_user","run","spawn","try_from","try_into","tx","type_id","vzip","Asset","DOCS","OPEN_API_SPEC","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","dist","from","from","from","from","get","get","handle_embedded_file","index","into","into","into","into","iter","iter","register","register","register","routes","services","spec","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Docs","assets","borrow","borrow_mut","from","home","into","new","spec","try_from","try_into","type_id","vzip","UpdateEasyCaptcha","abort","borrow","borrow_mut","can_run","from","into","run","spawn","try_from","try_into","tx","type_id","update_captcha_configurations","vzip","verification","IndexPage","PAGE","borrow","borrow_mut","clone","clone_into","from","into","new","render_once","render_once_to","to_owned","try_from","try_into","type_id","verification","verification_link","vzip","AccountNotFound","BlacklistError","CaptchaError","CaptchaNotFound","ClosedForRegistration","DBError","DBErrorWrapper","EmailTaken","Err","Err","ErrorToResponse","InternalServerError","InternalServerError","NotAUrl","NotAnEmail","Ok","Ok","PageError","PageResult","PasswordTooLong","PasswordTooShort","PasswordsDontMatch","ProfainityError","ServiceError","ServiceError","ServiceResult","SmtpErrorWrapper","TokenNotFound","TrafficPatternNotFound","UnableToSendEmail","UsernameCaseMappedError","UsernameNotFound","UsernameTaken","WrongPassword","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deserialize","eq","eq","eq","eq","error","error_response","error_response","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","serialize","source","source","source","source","status_code","status_code","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","NAME","auth","errors","get_middleware","panel","routes","services","sitemap","login","register","routes","services","sudo","INDEX","IndexPage","PAGE","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","from","from","from","into","into","into","login","register","render_once","render_once_to","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","INDEX","IndexPage","PAGE","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","from","from","from","into","into","into","join","register","render_once","render_once_to","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Auth","borrow","borrow_mut","from","get_login_route","get_sitemap","into","join","login","new","try_from","try_into","type_id","vzip","PAGE","SudoPage","borrow","borrow_mut","clone","clone_into","data","from","into","new","render_once","render_once_to","to_owned","try_from","try_into","type_id","url","vzip","ERROR_ROUTE","ErrorPage","INTERNAL_SERVER_ERROR_BODY","PAGE","UNKNOWN_ERROR_BODY","__private_field","__private_field","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","deref","error","from","from","from","from","into","into","into","into","message","new","register","render_once","render_once_to","routes","services","title","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Errors","borrow","borrow_mut","from","internal_server_error","into","new","try_from","try_into","type_id","unknown_error","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","into","into","new","notifications","panel","register","render_once","render_once_to","routes","services","settings","sitekey","sitekeys","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","utils","vzip","vzip","IndexPage","Notification","PAGE","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","from","heading","id","into","into","into","message","n","name","new","notifications","print_date","received","register","render_once","render_once_to","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Panel","borrow","borrow_mut","from","get_sitemap","home","into","new","notifications","settings","sitekey","try_from","try_into","type_id","utils","vzip","IndexPage","PAGE","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","delete_account","email","from","from","from","from","into","into","into","into","register","register","register","render_once","render_once_to","routes","secret","services","settings","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update_secret","username","vzip","vzip","vzip","vzip","Settings","borrow","borrow_mut","delete_account","from","get_sitemap","home","into","new","try_from","try_into","type_id","update_secret","vzip","add","delete","edit","list","routes","services","view","ADVANCE_INDEX","AdvanceIndexPage","EASY_INDEX","EasyIndexPage","PAGE","__private_field","__private_field","advance","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","clone","clone","clone_into","clone_into","default","default","deref","deref","easy","form_description","form_description","form_duration","form_title","form_title","from","from","from","from","from","from","into","into","into","into","into","into","levels","peak_sustainable_traffic","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","borrow","borrow_mut","delete_sitekey","from","into","register","try_from","try_into","type_id","vzip","AdvanceEditPage","EasyEditPage","PAGE","advance","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","duration","easy","form_title","from","from","from","from","into","into","into","into","key","key","levels","name","new","new","pattern","publish_benchmarks","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","into","into","list_sitekeys","new","register","render_once","render_once_to","sitekeys","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Sitekey","add_advance","add_easy","borrow","borrow_mut","delete","edit_advance","edit_easy","from","get_delete","get_edit_advance","get_edit_easy","get_sitemap","get_view","into","list","new","try_from","try_into","type_id","view","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","duration","from","from","into","into","key","levels","name","new","publish_benchmarks","register","render_once","render_once_to","stats","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","view_sitekey","vzip","vzip","PAGE","PercentilePage","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","difficulty_factor","from","from","from","get_percentile","into","into","into","percentile","post_percentile","register","register","render_once","render_once_to","routes","services","time","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Utils","borrow","borrow_mut","from","get_sitemap","into","new","percentile","try_from","try_into","type_id","vzip","ROUTES","Routes","about","auth","borrow","borrow_mut","donate","errors","from","get_login_route","get_sitemap","home","into","new","panel","privacy","security","sitemap","thanks","try_from","try_into","type_id","vzip","INDEX","IndexPage","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","domain","from","from","from","into","into","into","register","render_once","render_once_to","sitemap","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","urls","vzip","vzip","vzip","services","Captcha","DBType","DEPRECATED_ENV_VARS","Database","DefaultDifficultyStrategy","ENV_VAR_CONFIG","Maria","Postgres","Redis","Server","Settings","Smtp","Survey","allow_demo","allow_registration","avg_traffic_difficulty","avg_traffic_time","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic_difficulty","broke_my_site_traffic_time","captcha","check_easy_captcha_config","check_url","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","commercial","cookie_secret","database","database_type","debug","default_difficulty_strategy","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","domain","duration","enable_stats","env_override","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from_url","gc","get_ip","instance_root_url","into","into","into","into","into","into","into","into","into","ip","new","nodes","password","peak_sustainable_traffic_difficulty","peak_sustainable_traffic_time","pool","pool","port","port","proxy_has_tls","queue_length","rate_limit","redis","reply","runners","salt","serialize","server","set_database_type","smtp","source_code","survey","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","url","url","url","url_prefix","username","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","FileMap","filemap","services","static_files","FileMap","borrow","borrow_mut","files","from","get","into","new","try_from","try_into","type_id","vzip","Asset","Favicons","assets","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","favicons","from","from","from","from","get","get","get","get","handle_assets","handle_favicons","into","into","into","into","iter","iter","iter","iter","register","register","static_files","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","BAR_CHART","CREDIT_CARD","DOCS_ICON","GITHUB","HELP_CIRCLE","HOME","Img","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","SETTINGS_ICON","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","CaptchaStats","CloneStats","Dummy","Real","Stats","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","clone_stats","clone_stats","clone_stats","config_fetches","confirms","default","default","default","deserialize","eq","eq","eq","fetch","fetch","fetch","fmt","fmt","fmt","from","from","from","into","into","into","record_confirm","record_confirm","record_confirm","record_fetch","record_fetch","record_fetch","record_solve","record_solve","record_solve","serialize","solves","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","SecretsStore","Survey","SurveyClientTrait","app_ctx","borrow","borrow","borrow_mut","borrow_mut","client","clone","clone","clone_into","clone_into","default","fmt","from","from","get","into","into","is_online","is_online","new","register","register","rm","schedule_upload_job","schedule_upload_job","set","start_job","start_job","store","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","INDEX_PAGE","IndexPage","PAGE","WIDGET_ROUTES","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","from","from","from","into","into","into","new","register","render_once","render_once_to","routes","services","show_widget","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Widget","borrow","borrow_mut","from","into","new","try_from","try_into","type_id","verification_widget","vzip"],"q":[[0,"mcaptcha"],[163,"mcaptcha::api"],[164,"mcaptcha::api::v1"],[187,"mcaptcha::api::v1::account"],[228,"mcaptcha::api::v1::account::delete"],[240,"mcaptcha::api::v1::account::delete::runners"],[241,"mcaptcha::api::v1::account::email"],[278,"mcaptcha::api::v1::account::password"],[320,"mcaptcha::api::v1::account::routes"],[338,"mcaptcha::api::v1::account::secret"],[359,"mcaptcha::api::v1::account::username"],[397,"mcaptcha::api::v1::account::username::runners"],[398,"mcaptcha::api::v1::auth"],[431,"mcaptcha::api::v1::auth::routes"],[445,"mcaptcha::api::v1::auth::runners"],[499,"mcaptcha::api::v1::mcaptcha"],[508,"mcaptcha::api::v1::mcaptcha::create"],[551,"mcaptcha::api::v1::mcaptcha::create::runner"],[552,"mcaptcha::api::v1::mcaptcha::delete"],[579,"mcaptcha::api::v1::mcaptcha::easy"],[642,"mcaptcha::api::v1::mcaptcha::easy::routes"],[654,"mcaptcha::api::v1::mcaptcha::get"],[697,"mcaptcha::api::v1::mcaptcha::routes"],[714,"mcaptcha::api::v1::mcaptcha::stats"],[741,"mcaptcha::api::v1::mcaptcha::stats::routes"],[752,"mcaptcha::api::v1::mcaptcha::update"],[789,"mcaptcha::api::v1::mcaptcha::update::runner"],[790,"mcaptcha::api::v1::meta"],[917,"mcaptcha::api::v1::meta::routes"],[929,"mcaptcha::api::v1::notifications"],[934,"mcaptcha::api::v1::notifications::add"],[964,"mcaptcha::api::v1::notifications::get"],[997,"mcaptcha::api::v1::notifications::mark_read"],[1019,"mcaptcha::api::v1::notifications::routes"],[1032,"mcaptcha::api::v1::pow"],[1038,"mcaptcha::api::v1::pow::get_config"],[1084,"mcaptcha::api::v1::pow::routes"],[1102,"mcaptcha::api::v1::pow::verify_pow"],[1149,"mcaptcha::api::v1::pow::verify_token"],[1193,"mcaptcha::api::v1::routes"],[1213,"mcaptcha::api::v1::stats"],[1379,"mcaptcha::api::v1::stats::routes"],[1401,"mcaptcha::api::v1::survey"],[1457,"mcaptcha::api::v1::survey::routes"],[1470,"mcaptcha::data"],[1514,"mcaptcha::date"],[1536,"mcaptcha::db"],[1539,"mcaptcha::db::maria"],[1540,"mcaptcha::db::pg"],[1541,"mcaptcha::demo"],[1558,"mcaptcha::docs"],[1606,"mcaptcha::docs::routes"],[1619,"mcaptcha::easy"],[1634,"mcaptcha::email"],[1635,"mcaptcha::email::verification"],[1653,"mcaptcha::errors"],[1764,"mcaptcha::pages"],[1772,"mcaptcha::pages::auth"],[1777,"mcaptcha::pages::auth::login"],[1814,"mcaptcha::pages::auth::register"],[1851,"mcaptcha::pages::auth::routes"],[1865,"mcaptcha::pages::auth::sudo"],[1883,"mcaptcha::pages::errors"],[1936,"mcaptcha::pages::errors::routes"],[1948,"mcaptcha::pages::panel"],[1981,"mcaptcha::pages::panel::notifications"],[2021,"mcaptcha::pages::panel::routes"],[2037,"mcaptcha::pages::panel::settings"],[2087,"mcaptcha::pages::panel::settings::routes"],[2101,"mcaptcha::pages::panel::sitekey"],[2108,"mcaptcha::pages::panel::sitekey::add"],[2190,"mcaptcha::pages::panel::sitekey::delete"],[2200,"mcaptcha::pages::panel::sitekey::edit"],[2259,"mcaptcha::pages::panel::sitekey::list"],[2286,"mcaptcha::pages::panel::sitekey::routes"],[2308,"mcaptcha::pages::panel::sitekey::view"],[2340,"mcaptcha::pages::panel::utils"],[2380,"mcaptcha::pages::panel::utils::routes"],[2392,"mcaptcha::pages::routes"],[2415,"mcaptcha::pages::sitemap"],[2453,"mcaptcha::routes"],[2454,"mcaptcha::settings"],[2683,"mcaptcha::static_assets"],[2687,"mcaptcha::static_assets::filemap"],[2699,"mcaptcha::static_assets::static_files"],[2748,"mcaptcha::static_assets::static_files::assets"],[2859,"mcaptcha::stats"],[2926,"mcaptcha::survey"],[2968,"mcaptcha::widget"],[3008,"mcaptcha::widget::routes"],[3019,"alloc::string"],[3020,"actix_identity::cookie"],[3021,"actix_identity::middleware"],[3022,"actix_web::types::json"],[3023,"std::io::error"],[3024,"core::result"],[3025,"core::any"],[3026,"serde::de"],[3027,"actix_auth_middleware"],[3028,"actix_web::config"],[3029,"core::fmt"],[3030,"core::fmt"],[3031,"actix_web::config"],[3032,"db_core"],[3033,"libmcaptcha::defense"],[3034,"alloc::vec"],[3035,"derive_builder::error"],[3036,"db_core"],[3037,"argon2_creds::config"],[3038,"lettre::executor"],[3039,"lettre::transport::smtp::async_transport"],[3040,"libmcaptcha::pow"],[3041,"libmcaptcha::errors"],[3042,"alloc::sync"],[3043,"actix::address"],[3044,"libmcaptcha::system"],[3045,"libmcaptcha::master"],[3046,"libmcaptcha::cache"],[3047,"libmcaptcha::master::messages"],[3048,"libmcaptcha::pow"],[3049,"db_core"],[3050,"tokio::sync::oneshot"],[3051,"tokio::runtime::task::join"],[3052,"rust_embed_utils"],[3053,"actix_web::response::response"],[3054,"core::iter::traits::iterator"],[3055,"rust_embed"],[3056,"sailfish::runtime::render"],[3057,"sailfish::runtime::buffer"],[3058,"sailfish::runtime::render"],[3059,"tokio::sync::oneshot::error"],[3060,"argon2_creds::errors"],[3061,"validator::types"],[3062,"lettre::transport::smtp::error"],[3063,"db_core::errors"],[3064,"core::error"],[3065,"http::status"],[3066,"core::fmt"],[3067,"db_core"],[3068,"config::builder"],[3069,"config::error"],[3070,"core::future::future"],[3071,"core::pin"]],"d":["","","","","","","","","","App data","","","","","","","","","","","","","","","","","points to source files matching build commit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mCaptcha system: Redis cache, etc.","","","credential management configuration","App data: redis cache, database connections, etc.","","","","database ops defined by db crates","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","email client","","","","","","","","","app settings","","","","","stats recorder","","","survey secret store","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","User facing CAPTCHA widget","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","update email","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","update username","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","returns Ok(()) when everything checks out and the user is …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","User’s traffic pattern; used in generating a captcha …","","average traffic of user’s website","","","","","","","","","traffic that bought the user’s website down; optional","","","","","","","","","Captcha description","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","the peak traffic that the user’s website can handle","publish benchmarks","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","easy is using defaults","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Builder for BuildDetails.","Error type for BuildDetailsBuilder","Health check return datatype","Builder for Health.","Error type for HealthBuilder","Uninitialized field","Uninitialized field","Custom validation error","Custom validation error","","","","","","","","","","","","","","","","","Builds a new BuildDetails.","Builds a new Health.","emits build details of the bninary","","","","","","","","","Create an empty builder, with all fields set to None or …","Create an empty builder, with all fields set to None or …","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","checks all components of the system","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","route handler that adds a notification message","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","route handler that gets all unread notifications","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","route handler that marks a notification read","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","PoW Verification module","PoW success token module","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","get PoW configuration for an mcaptcha key","Call this when MCaptcha is not in master.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","remove scope for $name route","","Calls U::from(self).","","","","","","","remove scope for $name route","","remove scope for $name route","","","","validation token that clients receive as proof for …","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","route handler that verifies PoW and issues a solution token","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","route handler that validates a PoW solution token","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","Builder for BuildDetails.","Error type for BuildDetailsBuilder","Health check return datatype","Builder for PercentileReq.","Error type for PercentileReqBuilder","Health check return datatype","Builder for PercentileResp.","Error type for PercentileRespBuilder","Uninitialized field","Uninitialized field","Uninitialized field","Custom validation error","Custom validation error","Custom validation error","","","","","","","","","","","","","","","","","","","","","Builds a new BuildDetails.","Builds a new PercentileReq.","Builds a new PercentileResp.","","","","","","","","","","","","","Create an empty builder, with all fields set to None or …","Create an empty builder, with all fields set to None or …","Create an empty builder, with all fields set to None or …","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","Get difficulty factor with max time limit for percentile …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","emits build details of the bninary","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","mCaptcha/survey upload secret route","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","App data","","Mailer data type AsyncSmtpTransport","","Represents mCaptcha cache and master system. When Redis is …","","","","","","mCaptcha system: Redis cache, etc.","credential management configuration","database ops defined by db crates","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","email client","","create new instance of app data","","","","","app settings","stats recorder","survey secret store","","","","","","","","","","","","","","","","","","","","","print date","","","Returns the argument unchanged.","Calls U::from(self).","","print relative time from date","","","","","","","","","","","","Demo password","Demo username","","","","","","Returns the argument unchanged.","Calls U::from(self).","register demo user runner","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Get an embedded file and its metadata.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterates over the file paths in the folder.","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","update configurations","","Email operations: verification, notification, etc","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","when the value passed contains blacklisted words see …","","captcha not found","","","","email is already taken","Contains the error value","Contains the error value","","","","","","Contains the success value","Contains the success value","","","","","","when the value passed contains profainity","","","","","token not found","Traffic pattern not found","Unable to send email","when the value passed contains characters not present in …","","when the a username is already taken","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","notifications","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","route handler that renders individual views for sitekeys","","","","","","","","","","","","","","route handler that renders individual views for sitekeys","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","render a list of all sitekeys that a user has","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","route handler that renders individual views for sitekeys","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get an embedded file and its metadata.","","","Get an embedded file and its metadata.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterates over the file paths in the folder.","","","Iterates over the file paths in the folder.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Trait to clone MCDatabase","","","","","","","","","","","","","","","","clone DB","","","","","","","","","","","","fetch stats","fetch stats","fetch stats","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig solves","record PoWConfig solves","record PoWConfig solves","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","widget services","render a client side widget for CAPTCHA verification","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,247,248,249,250,251,252,253,254,255,1,3,5,7,8,9,10,11,266,2,2,0,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,40,2,2,40,0,2,0,0,40,2,0,1,3,5,7,8,9,10,11,0,0,0,0,1,3,5,7,8,9,10,11,0,0,1,3,5,7,8,9,10,11,40,0,0,266,266,2,0,2,0,40,2,2,0,0,40,0,2,40,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,0,0,0,0,0,0,20,20,20,20,0,20,0,0,0,0,20,0,0,0,0,20,20,20,20,0,0,0,25,26,25,26,25,26,25,26,0,25,26,0,26,25,26,25,26,25,26,0,0,0,0,25,26,0,25,26,25,26,25,26,25,26,0,25,25,26,30,30,0,30,30,30,0,0,30,30,30,30,0,0,34,35,36,34,35,36,34,34,34,34,0,34,34,35,36,34,35,36,35,36,34,0,0,34,34,35,36,34,35,36,34,35,36,34,35,36,0,0,38,37,39,38,37,39,37,37,38,37,37,37,38,38,37,39,38,37,39,38,37,37,39,37,0,37,38,37,39,38,37,39,38,37,39,0,0,38,37,39,0,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,42,43,42,43,42,43,0,42,43,42,43,0,42,43,42,43,42,43,0,42,43,0,45,44,46,45,44,46,44,44,44,44,45,44,46,45,44,46,45,46,0,44,0,0,44,45,44,46,45,44,46,45,44,46,44,0,45,44,46,0,47,48,49,47,48,49,47,48,49,47,48,49,0,0,47,48,49,0,0,0,0,47,48,49,47,48,49,47,48,49,47,48,49,0,50,50,50,50,50,50,50,50,50,50,50,50,50,0,0,0,52,53,54,52,53,54,52,53,54,52,53,54,52,52,53,54,52,52,53,54,52,53,54,52,53,54,53,0,52,53,54,0,52,53,54,52,53,54,52,53,54,52,53,54,52,53,54,52,52,53,54,0,0,0,0,0,0,0,0,0,0,0,57,56,58,57,56,58,56,56,0,57,57,56,57,56,57,56,58,57,56,58,56,57,56,57,58,0,57,56,56,57,56,58,57,56,58,57,56,58,57,56,58,0,0,59,60,59,60,59,59,0,59,59,59,60,59,60,59,59,60,59,59,59,60,59,60,59,60,59,60,0,0,65,65,67,66,68,65,67,66,68,65,0,0,65,66,65,66,0,65,65,65,66,65,66,65,67,66,68,65,67,66,68,66,66,65,65,67,68,0,65,66,0,65,66,65,67,66,68,65,67,66,68,65,67,66,68,0,0,65,67,66,68,0,69,69,69,69,69,69,69,69,69,69,69,0,0,72,70,71,72,70,71,70,71,70,71,70,71,71,70,71,72,70,71,0,72,70,71,70,72,70,71,70,71,72,70,71,72,70,71,72,70,71,71,72,70,71,0,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,0,74,75,74,75,74,74,74,74,74,75,0,74,75,74,75,0,74,74,74,75,74,75,74,75,74,75,0,76,76,76,76,76,76,76,76,76,76,0,78,77,79,78,77,79,77,77,77,78,77,79,78,77,79,77,77,77,78,79,0,77,78,77,79,78,77,79,78,77,79,0,0,78,77,79,0,0,0,0,0,0,0,82,85,82,85,81,80,82,88,84,83,85,89,81,80,82,88,84,83,85,89,80,83,0,81,80,84,83,81,80,84,83,80,83,83,84,83,80,83,81,84,81,82,82,84,85,85,81,80,82,82,82,88,84,83,85,85,85,89,80,81,80,0,81,80,82,88,84,83,85,89,84,83,84,83,88,89,0,81,84,0,81,80,84,83,82,85,81,80,82,88,84,83,85,89,81,80,82,88,84,83,85,89,81,80,82,88,84,83,85,89,80,81,80,81,80,82,88,84,83,85,89,0,90,90,90,90,90,90,90,90,90,90,90,0,0,0,0,0,0,0,91,92,91,92,91,91,91,91,91,91,91,92,91,91,92,91,92,91,91,91,91,92,91,92,91,92,91,92,0,93,95,93,95,93,93,93,93,93,93,93,95,93,0,93,93,93,95,93,93,93,95,93,93,93,95,93,95,93,95,93,95,0,96,97,96,97,96,96,97,96,96,97,0,97,96,96,97,96,97,96,97,96,97,0,98,98,98,98,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,99,100,101,99,100,101,99,100,99,100,99,100,100,99,100,99,100,101,0,0,99,100,101,99,100,101,100,99,100,100,99,100,99,100,101,99,100,101,99,100,101,99,100,101,0,102,102,102,102,102,102,102,0,102,102,102,102,102,102,102,102,102,0,0,103,104,105,103,104,105,103,104,103,104,103,104,103,104,103,104,105,103,104,105,104,104,105,104,103,104,104,104,103,104,103,103,104,105,103,104,105,103,104,105,0,103,104,105,104,0,0,106,107,108,106,107,108,106,107,106,107,106,107,106,107,106,107,108,106,107,108,107,108,107,106,107,106,107,107,106,107,108,106,107,108,106,107,108,106,0,106,107,108,0,0,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,111,114,117,111,114,117,110,109,111,120,113,112,114,116,115,117,110,109,111,120,113,112,114,116,115,117,109,112,115,110,109,113,112,116,115,110,109,113,112,116,115,109,112,115,109,112,115,110,113,116,115,116,115,110,111,111,113,114,114,116,117,117,110,109,111,111,111,120,113,112,114,114,114,116,115,117,117,117,109,110,109,110,109,111,120,113,112,114,116,115,117,112,113,112,0,0,120,0,110,113,116,0,112,113,112,110,109,113,112,116,115,111,114,117,110,109,111,120,113,112,114,116,115,117,110,109,111,120,113,112,114,116,115,117,110,109,111,120,113,112,114,116,115,117,109,110,109,110,109,111,120,113,112,114,116,115,117,0,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,0,0,123,122,124,123,125,122,124,123,125,122,122,122,123,0,122,122,122,122,122,122,122,124,123,125,122,124,123,125,122,124,125,0,0,123,122,123,0,122,122,124,123,125,122,124,123,125,122,124,123,125,122,124,123,125,0,126,126,126,126,126,126,126,126,126,126,126,126,0,127,0,127,0,127,127,40,127,40,40,40,40,0,0,127,40,40,40,127,267,127,40,40,127,40,127,40,127,127,40,40,40,127,40,127,40,127,40,40,127,127,127,40,0,0,0,0,0,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,0,0,0,0,0,0,0,0,149,149,149,149,149,149,149,149,149,149,149,149,149,149,0,0,0,268,156,157,158,268,156,157,158,0,268,156,157,158,268,268,0,0,268,156,157,158,268,268,156,157,158,0,0,0,268,156,157,158,268,156,157,158,268,156,157,158,268,156,157,158,0,159,159,159,159,159,159,159,159,159,159,159,159,0,160,160,160,160,160,160,160,160,160,160,160,160,160,160,0,0,0,161,161,161,161,161,161,161,161,161,161,161,161,161,0,161,161,33,33,33,33,33,33,0,33,269,270,0,33,168,33,33,269,270,0,0,33,33,33,33,0,168,0,0,33,33,33,33,33,33,33,166,167,33,165,168,166,167,33,165,168,165,166,167,33,168,165,33,168,166,166,167,167,33,33,168,168,166,167,33,33,33,33,33,33,33,33,33,165,168,168,168,166,167,33,165,168,165,166,167,33,168,33,168,166,167,33,168,166,167,33,165,168,166,167,33,165,168,166,167,33,165,168,166,167,33,165,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,180,181,182,180,181,182,180,180,180,181,180,181,182,180,181,182,0,182,180,180,180,180,181,182,180,181,182,180,181,182,180,181,182,0,0,0,184,183,184,185,183,184,185,183,183,183,184,183,184,185,183,184,185,0,185,183,183,183,183,184,185,183,184,185,183,184,185,183,184,185,0,186,186,186,186,186,186,186,186,186,186,186,186,186,0,0,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,0,0,0,0,0,193,194,192,193,194,195,192,193,194,195,192,192,193,194,0,192,193,194,195,192,193,194,195,192,192,195,192,192,0,0,192,192,192,193,194,195,192,193,194,195,192,193,194,195,192,193,194,195,0,196,196,196,196,196,196,196,196,196,196,196,0,0,197,199,197,199,197,197,197,199,197,199,197,0,0,199,197,197,0,0,0,0,197,197,197,199,197,199,197,199,0,197,199,0,0,0,200,201,202,200,201,202,200,200,201,202,200,200,200,201,202,200,201,200,201,0,200,200,202,201,201,200,201,202,200,201,202,200,201,202,200,201,202,0,203,203,203,203,203,203,203,203,203,203,203,203,203,203,203,0,0,204,205,206,207,204,205,206,207,204,204,0,204,204,205,206,207,204,205,206,207,205,206,207,204,204,0,204,0,0,204,204,205,206,207,204,205,206,207,204,205,206,207,0,204,204,205,206,207,0,208,208,208,208,208,208,208,208,208,208,208,208,208,0,0,0,0,0,0,0,0,0,0,0,0,211,212,0,210,211,212,209,213,210,214,211,212,209,213,210,214,210,209,210,209,210,209,210,211,212,0,209,210,209,209,210,211,212,209,213,210,214,211,212,209,213,210,214,209,210,213,214,209,210,209,210,209,210,211,212,209,213,210,214,211,212,209,213,210,214,211,212,209,213,210,214,211,212,209,213,210,214,215,215,0,215,215,215,215,215,215,215,0,0,0,0,216,218,217,219,216,218,217,219,216,217,216,217,216,0,217,216,218,217,219,216,218,217,219,216,217,216,216,216,217,217,216,218,219,216,217,216,217,216,217,216,218,217,219,216,218,217,219,216,218,217,219,216,218,217,219,0,0,220,221,220,221,220,220,220,221,220,221,0,220,221,220,220,220,220,220,221,220,221,220,221,220,221,0,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,0,0,223,225,223,225,223,223,223,223,225,223,225,223,223,223,223,223,225,223,223,223,223,223,225,223,225,223,225,0,223,225,0,0,226,227,228,226,227,228,226,226,226,226,227,228,0,226,227,228,226,0,227,228,226,226,0,0,226,226,226,227,228,226,227,228,226,227,228,226,227,228,0,229,229,229,229,229,229,229,229,229,229,229,0,0,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,0,0,231,230,231,232,230,231,232,230,230,230,231,230,230,231,232,230,231,232,232,230,230,0,230,230,231,232,230,231,232,230,231,232,230,230,231,232,0,0,0,0,0,0,0,236,236,0,0,0,0,0,2,2,62,62,233,234,62,235,236,237,238,239,2,233,234,62,235,236,237,238,239,2,62,62,2,2,2,233,234,62,235,236,237,238,239,2,233,234,62,235,236,237,238,239,2,2,233,2,237,2,234,233,234,62,235,236,237,238,239,2,233,62,234,2,233,234,62,235,236,237,238,239,2,233,233,233,233,234,234,234,234,62,62,62,62,235,235,235,235,236,236,236,236,237,237,237,237,238,238,238,238,239,239,239,239,2,2,2,2,233,234,62,235,236,236,237,238,239,2,233,234,62,235,236,237,238,239,2,235,236,234,233,239,233,234,62,235,236,237,238,239,2,233,2,239,235,62,62,237,238,233,235,233,234,239,2,235,234,234,236,2,2,2,2,2,233,234,62,235,236,237,238,239,2,236,233,234,62,235,236,237,238,239,2,233,234,62,235,236,237,238,239,2,233,234,62,235,236,237,238,239,2,235,237,238,233,235,233,234,62,235,236,237,238,239,2,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,0,0,0,271,244,272,245,271,244,272,245,0,271,244,272,245,271,271,272,272,0,0,271,244,272,245,271,271,272,272,244,245,0,271,244,272,245,271,244,272,245,271,244,272,245,271,244,272,245,0,0,0,0,0,0,0,0,0,0,0,246,247,248,249,250,251,252,253,254,255,246,247,248,249,250,251,252,253,254,255,246,247,248,249,250,251,252,253,254,255,246,247,248,249,250,251,252,253,254,255,246,247,248,249,250,251,252,253,254,255,246,247,248,249,250,251,252,253,254,255,246,247,248,249,250,251,252,253,254,255,246,247,248,249,250,251,252,253,254,255,246,247,248,249,250,251,252,253,254,255,246,247,248,249,250,251,252,253,254,255,0,0,0,0,0,224,256,257,224,256,257,224,256,257,224,256,257,273,256,257,224,224,224,256,257,224,224,256,257,258,256,257,224,256,257,224,256,257,224,256,257,258,256,257,258,256,257,258,256,257,224,224,224,256,257,224,256,257,224,256,257,224,256,257,224,256,257,0,0,0,261,134,261,134,261,261,134,261,134,261,134,134,134,261,134,134,261,274,261,261,274,261,134,274,261,134,274,261,134,134,261,134,261,134,261,134,261,134,261,0,0,0,0,263,262,263,264,262,263,264,262,262,263,262,263,264,262,263,264,262,264,262,262,0,0,0,262,262,263,264,262,263,264,262,263,264,262,263,264,0,265,265,265,265,265,265,265,265,265,265],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,[1,2],[3,4],[5,6],[7,6],[8,6],[9,6],[10,6],[11,12],0,0,0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[2,[[14,[13]]]],[[],15],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[],[[17,[16]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[20]]],21],[-1,-1,[]],[[],[[23,[22]]]],[-1,-2,[],[]],0,0,0,0,0,0,[24,16],0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[25,25],[26,26],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],0,[-1,[[18,[25]]],21],[-1,[[18,[26]]],21],0,0,[[25,27],28],[[26,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[25,-1],18,29],[[26,-1],18,29],[24,16],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[-1,-2,[],[]],[[30,31],16],0,[24,16],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],[[6,32],[[18,[16,33]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[34,34],[[-1,-2],16,[],[]],[-1,[[18,[34]]],21],0,0,[[34,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[35,31],16],[[36,31],16],[[34,-1],18,29],[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[37,37],[[-1,-2],16,[],[]],0,0,[-1,[[18,[37]]],21],[[37,27],28],[-1,-1,[]],[37,38],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[39,31],16],[[37,-1],18,29],[24,16],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[[6,38,40],[[18,[16,33]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-1,[]],0,[-1,-2,[],[]],[[],41],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[[42,31],16],[[43,31],16],[24,16],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[44,44],[[-1,-2],16,[],[]],[-1,[[18,[44]]],21],[[44,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[45,31],16],[[46,31],16],0,[[44,-1],18,29],[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[25,32],[[18,[26,33]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[47,31],16],[[48,31],16],[[49,31],16],0,0,[24,16],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[[50,[51,[6]]],12],[-1,-2,[],[]],0,0,[[],50],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[52,52],[53,53],[54,54],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],0,[-1,[[18,[52]]],21],[-1,[[18,[53]]],21],[-1,[[18,[54]]],21],0,[[52,27],28],[[53,27],28],[[54,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[53,32],[[18,[12,33]]]],0,0,0,[[52,32],[[18,[16,33]]]],[[52,-1],18,29],[[53,-1],18,29],[[54,-1],18,29],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[55,12],0,[24,16],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[56,56],[[-1,-2],16,[],[]],0,0,[-1,[[18,[57]]],21],[-1,[[18,[56]]],21],0,[[56,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[58,31],16],0,[[57,-1],18,29],[[56,-1],18,29],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[57,32,6],[[18,[56,33]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[59,59],[[-1,-2],16,[],[]],0,[-1,[[18,[59]]],21],[[59,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[60,31],16],[[59,-1],18,29],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[61,62],[[18,[[64,[63]],33]]]],[[32,61],[[18,[[51,[[64,[63]]]],33]]]],[65,65],[66,66],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],0,[[],65],0,[-1,[[18,[65]]],21],[-1,[[18,[66]]],21],[[65,27],28],[[66,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[67,31],16],[[68,31],16],0,[[65,-1],18,29],[[66,-1],18,29],[24,16],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,[[32,66,12],[[18,[16,33]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[-1,-2,[],[]],[[],69],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[70,70],[71,71],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[-1,[[18,[70]]],21],[-1,[[18,[71]]],21],0,[[70,27],28],[[71,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[72,31],16],[[70,-1],18,29],[[71,-1],18,29],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-1,[]],0,[-1,-2,[],[]],[[],73],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,0,[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[74,74],[[-1,-2],16,[],[]],[-1,[[18,[74]]],21],[[74,27],28],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[75,31],16],0,[[74,-1],18,29],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],0,[-1,-2,[],[]],[[],76],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,[[18,[77]]],21],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[78,31],16],[[79,31],16],0,[[77,-1],18,29],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[77,32,6],[[18,[16,33]]]],0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[80,[[18,[81,82]]]],[83,[[18,[84,85]]]],0,[81,81],[80,80],[84,84],[83,83],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[],80],[[],83],[[83,86],83],0,0,[[],80],[[],83],[-1,[[18,[81]]],21],[-1,[[18,[84]]],21],[[81,27],28],[[82,27],28],[[82,27],28],[[84,27],28],[[85,27],28],[[85,27],28],[-1,-1,[]],[-1,-1,[]],[12,82],[87,82],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[12,85],[87,85],[-1,-1,[]],[-1,-1,[]],[[80,6],80],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[51,[86]]],86],[[83,[51,[86]]],83],0,0,[[88,31],16],[[89,31],16],0,[[81,-1],18,29],[[84,-1],18,29],[24,16],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,12,[]],[-1,12,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[[80,6],80],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],0,[-1,-2,[],[]],[[],90],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,0,[24,16],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[91,91],[[-1,-2],16,[],[]],[[],91],[-1,[[18,[91]]],21],[[91,91],86],[[91,27],28],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[92,31],16],[[91,-1],18,29],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[93,93],[[-1,-2],16,[],[]],[[],93],[-1,[[18,[93]]],21],[[93,93],86],[94,93],[-1,-1,[]],[-1,-1,[]],[[[64,[94]]],[[64,[93]]]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[95,31],16],[[93,-1],18,29],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[96]]],21],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[[97,31],16],[[96,-1],18,29],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],0,[-1,-2,[],[]],0,[[],98],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[24,16],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[99,99],[100,100],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[-1,[[18,[99]]],21],[-1,[[18,[100]]],21],0,[[99,27],28],[[100,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[[32,6],[[18,[16,33]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[101,31],16],0,[[99,-1],18,29],[[100,-1],18,29],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[102,6],0,[-1,-2,[],[]],[[],102],0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[102,6],0,[102,6],0,[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[103,103],[104,104],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[-1,[[18,[103]]],21],[-1,[[18,[104]]],21],[[103,27],28],[[104,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[105,31],16],0,[[103,-1],18,29],[[104,-1],18,29],0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[106,106],[107,107],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[-1,[[18,[106]]],21],[-1,[[18,[107]]],21],[[106,27],28],[[107,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[108,31],16],0,[[106,-1],18,29],[[107,-1],18,29],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[[22,[51,[6]]],12],[-1,-2,[],[]],0,[[],22],0,0,0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[109,[[18,[110,111]]]],[112,[[18,[113,114]]]],[115,[[18,[116,117]]]],[110,110],[109,109],[113,113],[112,112],[116,116],[115,115],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[],109],[[],112],[[],115],[[],109],[[],112],[[],115],[-1,[[18,[110]]],21],[-1,[[18,[113]]],21],[-1,[[18,[116]]],21],[[115,[51,[118]]],115],0,0,[[110,27],28],[[111,27],28],[[111,27],28],[[113,27],28],[[114,27],28],[[114,27],28],[[116,27],28],[[117,27],28],[[117,27],28],[-1,-1,[]],[-1,-1,[]],[12,111],[87,111],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[87,114],[12,114],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[12,117],[87,117],[[109,6],109],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[112,119],112],0,0,[[32,113],[[18,[116,33]]]],0,[[120,31],16],0,[[110,-1],18,29],[[113,-1],18,29],[[116,-1],18,29],[24,16],[[112,118],112],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,12,[]],[-1,12,[]],[-1,12,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[[109,6],109],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[121,121],[[-1,-2],16,[],[]],[-1,[[18,[121]]],21],[[121,121],86],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[121,27],28],[-1,-1,[]],[-1,-2,[],[]],[[],121],0,[[121,-1],18,29],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[122,122],[[-1,-2],16,[],[]],[-1,[[18,[122]]],21],[-1,[[18,[123]]],21],0,[[122,122],86],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[122,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[124,31],16],[[125,31],16],0,0,0,[[122,-1],18,29],[[123,-1],18,29],[24,16],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[[126,6,55],12],[-1,-2,[],[]],[[],126],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,0,0,[[127,128],[[18,[16,33]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-1,[]],[-1,-1,[]],[[],129],[2,[[51,[[131,[130]]]]]],[[127,12],[[133,[[51,[132]]]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[2,127],[[2,134],[[135,[40]]]],[[2,[136,[-1]],[136,[-2]]],[[137,[-2,-1]]],138,139],[40,[[18,[16,33]]]],[[127,140],[[18,[16,33]]]],[[127,141],[[18,[16,33]]]],0,0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[40,[[18,[16,33]]]],[[127,142],[[133,[86]]]],[[127,143,12],[[133,[[16,[12,118]]]]]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[144,144],[[-1,-2],16,[],[]],[144,12],[[144,27],28],[145,12],[-1,-1,[]],[-1,-2,[],[]],[146,144],[144,12],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[[[51,[2]]],[[148,[147]]]],[[[51,[2]]],[[148,[147]]]],0,0,0,[149,16],[-1,-2,[],[]],[-1,-2,[],[]],[32,[[18,[16,33]]]],[-1,-1,[]],[-1,-2,[],[]],[32,[[18,[16,33]]]],[[32,118,[150,[16]]],[[18,[[151,[16]],33]]]],[[32,118],[[18,[[16,[149,[151,[16]]]],33]]]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],0,[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[6,[[51,[152]]]],[6,[[51,[152]]]],[6,153],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],[[0,[154]]]],[[],155],[[156,31],16],[[157,31],16],[[158,31],16],0,[24,16],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],0,[-1,-2,[],[]],[[],159],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,[160,16],[-1,-2,[],[]],[-1,-2,[],[]],[[[150,[16]]],86],[-1,-1,[]],[-1,-2,[],[]],[[32,118,[150,[16]]],[[18,[[151,[16]],33]]]],[[32,118],[[18,[[16,[160,[151,[16]]]],33]]]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],0,[-1,19,[]],[[32,[150,[16]]],[[18,[16,33]]]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[161,161],[[-1,-2],16,[],[]],[-1,-1,[]],[-1,-2,[],[]],[6,161],[161,162],[[161,163],[[18,[16,164]]]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[[40,6,6],[[18,[16,33]]]],0,[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[165]]],21],[[166,166],86],[[167,167],86],[[33,33],86],[[168,168],86],0,[33,153],[168,153],[[166,27],28],[[166,27],28],[[167,27],28],[[167,27],28],[[33,27],28],[[33,27],28],[[168,27],28],[[168,27],28],[-1,-1,[]],[-1,-1,[]],[169,33],[170,33],[-1,-1,[]],[171,33],[172,33],[173,33],[174,33],[175,33],[176,33],[-1,-1,[]],[176,168],[-1,-1,[]],[33,168],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[165,-1],18,29],[166,[[51,[177]]]],[167,[[51,[177]]]],[33,[[51,[177]]]],[168,[[51,[177]]]],[33,178],[168,178],[-1,12,[]],[-1,12,[]],[-1,12,[]],[-1,12,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[],[[23,[179]]]],0,0,[24,16],0,0,0,0,[24,16],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[180,180],[[-1,-2],16,[],[]],[[],180],[181,12],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[182,31],16],[180,162],[[180,163],[[18,[16,164]]]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[183,183],[[-1,-2],16,[],[]],[[],183],[184,12],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[185,31],16],[183,162],[[183,163],[[18,[16,164]]]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[[186,[51,[6]]],12],[[],[[187,[6]]]],[-1,-2,[],[]],0,0,[[],186],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[[[188,[-1,-2]]],[[188,[-1,-2]]],[189,190,191],[189,190,191]],[[-1,-2],16,[],[]],0,[-1,-1,[]],[-1,-2,[],[]],[[6,[51,[[64,[[16,[-1,-2]]]]]]],[[188,[-1,-2]]],[189,190],[189,190]],[[[188,[-1,-2]]],162,[189,190],[189,190]],[[[188,[-1,-2]],163],[[18,[16,164]]],[189,190],[189,190]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[192,192],[[-1,-2],16,[],[]],[193,12],[194,12],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[6,6],192],[[195,31],16],[192,162],[[192,163],[[18,[16,164]]]],0,[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],0,[-1,-2,[],[]],[[],196],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[197,197],[[-1,-2],16,[],[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[[[64,[198]]],197],0,0,[[199,31],16],[197,162],[[197,163],[[18,[16,164]]]],0,[24,16],0,0,0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[94,200],[-1,-1,[]],[-1,-1,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[[64,[200]]],201],0,[200,12],0,[[202,31],16],[201,162],[[201,163],[[18,[16,164]]]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[[],[[187,[6]]]],0,[-1,-2,[],[]],[[],203],0,0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[204,204],[[-1,-2],16,[],[]],0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[205,31],16],[[206,31],16],[[207,31],16],[204,162],[[204,163],[[18,[16,164]]]],0,0,[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[[],[[187,[6]]]],0,[-1,-2,[],[]],[[],208],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,0,0,0,[24,16],0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[209,209],[210,210],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[],209],[[],210],[211,12],[212,12],0,0,0,0,0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[213,31],16],[[214,31],16],[209,162],[210,162],[[209,163],[[18,[16,164]]]],[[210,163],[[18,[16,164]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[-1,-2,[],[]],[[215,31],16],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[216,216],[217,217],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],0,0,0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[198,[64,[63]],12,86],216],[[12,65],217],0,0,[[218,31],16],[[219,31],16],[216,162],[217,162],[[216,163],[[18,[16,164]]]],[[217,163],[[18,[16,164]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[220,220],[[-1,-2],16,[],[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[[64,[198]]],220],[[221,31],16],[220,162],[[220,163],[[18,[16,164]]]],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[-1,-1,[]],[[222,6],12],[[222,6],12],[[222,6],12],[[],[[187,[6]]]],[[222,6],12],[-1,-2,[],[]],0,[[],222],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[223,223],[[-1,-2],16,[],[]],0,[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[[224,198,[64,[63]],12,86],223],0,[[225,31],16],[223,162],[[223,163],[[18,[16,164]]]],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[226,226],[[-1,-2],16,[],[]],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[[227,31],16],[[228,31],16],[226,162],[[226,163],[[18,[16,164]]]],0,[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[[],[[187,[6]]]],[-1,-2,[],[]],[[],229],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,0,[-1,-1,[]],[[179,[51,[6]]],12],[[],[[187,[6]]]],0,[-1,-2,[],[]],[[],179],0,0,0,0,0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[230,230],[[-1,-2],16,[],[]],[[],230],[231,12],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[232,31],16],[230,162],[[230,163],[[18,[16,164]]]],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[24,16],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,[2,16],[2,16],[233,233],[234,234],[62,62],[235,235],[236,236],[237,237],[238,238],[239,239],[2,2],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],0,0,0,0,0,0,[-1,[[18,[233]]],21],[-1,[[18,[234]]],21],[-1,[[18,[62]]],21],[-1,[[18,[235]]],21],[-1,[[18,[236]]],21],[-1,[[18,[237]]],21],[-1,[[18,[238]]],21],[-1,[[18,[239]]],21],[-1,[[18,[2]]],21],0,0,0,[[[241,[240]]],[[241,[240]]]],[[233,233],86],[[234,234],86],[[62,62],86],[[235,235],86],[[236,236],86],[[237,237],86],[[238,238],86],[[239,239],86],[[2,2],86],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[-1,-2],86,[],[]],[[233,27],28],[[234,27],28],[[62,27],28],[[235,27],28],[[236,27],28],[[236,27],28],[[237,27],28],[[238,27],28],[[239,27],28],[[2,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,[242,[[18,[236,243]]]],0,[233,12],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[[],[[18,[2,243]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[236,-1],18,29],0,[2,16],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,12,[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,[24,16],0,0,[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[[4,6],[[51,[6]]]],[-1,-2,[],[]],[[],4],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,-2,[],[]],0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[6,[[51,[152]]]],[6,[[51,[152]]]],[6,[[51,[152]]]],[6,[[51,[152]]]],[6,153],[6,153],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],[[0,[154]]]],[[],155],[[],155],[[],[[0,[154]]]],[[244,31],16],[[245,31],16],0,[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[246,[[16,[6,6]]]],[247,[[16,[6,6]]]],[248,[[16,[6,6]]]],[249,[[16,[6,6]]]],[250,[[16,[6,6]]]],[251,[[16,[6,6]]]],[252,[[16,[6,6]]]],[253,[[16,[6,6]]]],[254,[[16,[6,6]]]],[255,[[16,[6,6]]]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[224,224],[256,256],[257,257],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[-1,[[148,[258]]],[]],[-1,[[148,[258]]],[]],[-1,[[148,[258]]],[]],0,0,[[],224],[[],256],[[],257],[-1,[[18,[224]]],21],[[224,224],86],[[256,256],86],[[257,257],86],[[-1,40,6,6],[[260,[[148,[259]]]]],[]],[[256,40,6,6],[[260,[[148,[259]]]]]],[[257,40,6,6],[[260,[[148,[259]]]]]],[[224,27],28],[[256,27],28],[[257,27],28],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[-1,40,6],[[260,[[148,[259]]]]],[]],[[256,40,6],[[260,[[148,[259]]]]]],[[257,40,6],[[260,[[148,[259]]]]]],[[-1,40,6],[[260,[[148,[259]]]]],[]],[[256,40,6],[[260,[[148,[259]]]]]],[[257,40,6],[[260,[[148,[259]]]]]],[[-1,40,6],[[260,[[148,[259]]]]],[]],[[256,40,6],[[260,[[148,[259]]]]]],[[257,40,6],[[260,[[148,[259]]]]]],[[224,-1],18,29],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[134,134],[261,261],[[-1,-2],16,[],[]],[[-1,-2],16,[],[]],[[],134],[[134,27],28],[-1,-1,[]],[-1,-1,[]],[[134,6],[[51,[12]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[260,[[148,[259]]]]],[]],[261,[[260,[[148,[259]]]]]],[32,261],[-1,[[260,[[148,[259]]]]],[]],[261,[[260,[[148,[259]]]]]],[[134,6],16],[-1,[[260,[[148,[259]]]]],[]],[261,[[260,[[148,[259]]]]]],[[134,12,12],16],[-1,[[260,[[148,[259]]]]],[]],[261,[[260,[[148,[259]]]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[262,262],[[-1,-2],16,[],[]],[263,12],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],262],[[264,31],16],[262,162],[[262,163],[[18,[16,164]]]],0,[24,16],0,[-1,-2,[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],[-1,19,[]],[-1,19,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-1,[]],[-1,-2,[],[]],[[],265],[-1,[[18,[-2]]],[],[]],[-1,[[18,[-2]]],[],[]],[-1,19,[]],0,[-1,-2,[],[]]],"c":[],"p":[[3,"SETTINGS",0],[3,"Settings",2454],[3,"FILES",0],[3,"FileMap",2687],[3,"JS",0],[15,"str"],[3,"CSS",0],[3,"MOBILE_CSS",0],[3,"VERIFICATIN_WIDGET_JS",0],[3,"VERIFICATIN_WIDGET_CSS",0],[3,"SOURCE_FILES_OF_INSTANCE",0],[3,"String",3019],[3,"CookieIdentityPolicy",3020],[3,"IdentityService",3021],[3,"JsonConfig",3022],[15,"tuple"],[6,"Result",3023],[4,"Result",3024],[3,"TypeId",3025],[3,"RedirectQuery",164],[8,"Deserializer",3026],[3,"Routes",1193],[3,"Authentication",3027],[3,"ServiceConfig",3028],[3,"AccountCheckPayload",187],[3,"AccountCheckResp",187],[3,"Formatter",3029],[6,"Result",3029],[8,"Serializer",3030],[3,"delete_account",228],[3,"AppService",3028],[6,"AppData",0],[4,"ServiceError",1653],[3,"Email",241],[3,"email_exists",241],[3,"set_email",241],[3,"ChangePasswordReqest",278],[3,"UpdatePassword",278],[3,"update_user_password",278],[3,"Data",1470],[3,"Account",320],[3,"get_secret",338],[3,"update_user_secret",338],[3,"Username",359],[3,"username_exists",359],[3,"set_username",359],[3,"register",398],[3,"login",398],[3,"signout",398],[3,"Auth",431],[4,"Option",3031],[3,"Register",445],[3,"Login",445],[3,"Password",445],[15,"usize"],[3,"MCaptchaDetails",508],[3,"CreateCaptcha",508],[3,"create",508],[3,"DeleteCaptcha",552],[3,"delete",552],[3,"TrafficPattern",3032],[3,"DefaultDifficultyStrategy",2454],[3,"Level",3033],[3,"Vec",3034],[3,"TrafficPatternRequest",579],[3,"UpdateTrafficPattern",579],[3,"create",579],[3,"update",579],[3,"Easy",642],[3,"Levels",654],[3,"I32Levels",654],[3,"get_captcha",654],[3,"Captcha",697],[3,"StatsPayload",714],[3,"get",714],[3,"Stats",741],[3,"UpdateCaptcha",752],[3,"update_key",752],[3,"update_captcha",752],[3,"BuildDetailsBuilder",790],[3,"BuildDetails",790],[4,"BuildDetailsBuilderError",790],[3,"HealthBuilder",790],[3,"Health",790],[4,"HealthBuilderError",790],[15,"bool"],[3,"UninitializedFieldError",3035],[3,"build_details",790],[3,"health",790],[3,"Meta",917],[3,"AddNotificationRequest",934],[3,"add_notification",934],[3,"NotificationResp",964],[3,"Notification",3032],[3,"get_notification",964],[3,"MarkReadReq",997],[3,"mark_read",997],[3,"Notifications",1019],[3,"GetConfigPayload",1038],[3,"ApiPoWConfig",1038],[3,"get_config",1038],[3,"PoW",1084],[3,"ValidationToken",1102],[3,"ApiWork",1102],[3,"verify_pow",1102],[3,"CaptchaValidateResp",1149],[3,"VerifyCaptchaResultPayload",1149],[3,"validate_captcha_token",1149],[3,"BuildDetailsBuilder",1213],[3,"BuildDetails",1213],[4,"BuildDetailsBuilderError",1213],[3,"PercentileReqBuilder",1213],[3,"PercentileReq",1213],[4,"PercentileReqBuilderError",1213],[3,"PercentileRespBuilder",1213],[3,"PercentileResp",1213],[4,"PercentileRespBuilderError",1213],[15,"u32"],[15,"f64"],[3,"percentile_benches",1213],[3,"Stats",1379],[3,"Page",1401],[3,"SurveySecretUpload",1401],[3,"download",1401],[3,"secret",1401],[3,"Survey",1457],[4,"SystemGroup",1470],[3,"AddSite",3036],[3,"Config",3037],[3,"Tokio1Executor",3038],[3,"AsyncSmtpTransport",3039],[3,"PoWConfig",3040],[6,"CaptchaResult",3041],[3,"SecretsStore",2926],[3,"Arc",3042],[3,"Addr",3043],[3,"System",3044],[8,"Master",3045],[8,"Save",3046],[3,"RemoveCaptcha",3036],[3,"Rename",3036],[3,"VerifyCaptchaResult",3047],[3,"Work",3040],[3,"Date",1514],[3,"OffsetDateTime",3048],[15,"i64"],[8,"MCDatabase",3032],[3,"Box",3049],[3,"DemoUser",1541],[3,"Receiver",3050],[3,"JoinHandle",3051],[3,"EmbeddedFile",3052],[3,"HttpResponse",3053],[8,"Iterator",3054],[4,"Filenames",3055],[3,"dist",1558],[3,"spec",1558],[3,"index",1558],[3,"Docs",1606],[3,"UpdateEasyCaptcha",1619],[3,"IndexPage",1635],[6,"RenderResult",3056],[3,"Buffer",3057],[4,"RenderError",3056],[3,"ErrorToResponse",1653],[3,"SmtpErrorWrapper",1653],[3,"DBErrorWrapper",1653],[4,"PageError",1653],[4,"CaptchaError",3041],[4,"MailboxError",3043],[4,"ParseError",3058],[3,"RecvError",3059],[4,"CredsError",3060],[3,"ValidationErrors",3061],[3,"Error",3062],[4,"DBError",3063],[8,"Error",3064],[3,"StatusCode",3065],[3,"Routes",2392],[3,"IndexPage",1777],[3,"INDEX",1777],[3,"login",1777],[3,"IndexPage",1814],[3,"INDEX",1814],[3,"join",1814],[3,"Auth",1851],[15,"array"],[3,"SudoPage",1865],[8,"Display",3029],[8,"Render",3056],[8,"Clone",3066],[3,"ErrorPage",1883],[3,"INTERNAL_SERVER_ERROR_BODY",1883],[3,"UNKNOWN_ERROR_BODY",1883],[3,"error",1883],[3,"Errors",1936],[3,"IndexPage",1948],[3,"Captcha",3032],[3,"panel",1948],[3,"Notification",1981],[3,"IndexPage",1981],[3,"notifications",1981],[3,"Panel",2021],[3,"IndexPage",2037],[3,"settings",2037],[3,"delete_account",2037],[3,"update_secret",2037],[3,"Settings",2087],[3,"AdvanceIndexPage",2108],[3,"EasyIndexPage",2108],[3,"ADVANCE_INDEX",2108],[3,"EASY_INDEX",2108],[3,"advance",2108],[3,"easy",2108],[3,"delete_sitekey",2190],[3,"AdvanceEditPage",2200],[3,"EasyEditPage",2200],[3,"advance",2200],[3,"easy",2200],[3,"IndexPage",2259],[3,"list_sitekeys",2259],[3,"Sitekey",2286],[3,"IndexPage",2308],[3,"CaptchaStats",2859],[3,"view_sitekey",2308],[3,"PercentilePage",2340],[3,"get_percentile",2340],[3,"post_percentile",2340],[3,"Utils",2380],[3,"IndexPage",2415],[3,"INDEX",2415],[3,"sitemap",2415],[3,"Server",2454],[3,"Captcha",2454],[3,"Smtp",2454],[4,"DBType",2454],[3,"Database",2454],[3,"Redis",2454],[3,"Survey",2454],[3,"DefaultState",3067],[3,"ConfigBuilder",3067],[3,"Url",3068],[4,"ConfigError",3069],[3,"static_files",2699],[3,"favicons",2699],[3,"KEY",2748],[3,"GITHUB",2748],[3,"HOME",2748],[3,"SETTINGS_ICON",2748],[3,"CREDIT_CARD",2748],[3,"HELP_CIRCLE",2748],[3,"MESSAGE",2748],[3,"DOCS_ICON",2748],[3,"MCAPTCHA_TRANS_ICON",2748],[3,"BAR_CHART",2748],[3,"Real",2859],[3,"Dummy",2859],[8,"Stats",2859],[8,"Future",3070],[3,"Pin",3071],[3,"Survey",2926],[3,"IndexPage",2968],[3,"INDEX_PAGE",2968],[3,"show_widget",2968],[3,"Widget",3008],[6,"ArcData",0],[6,"Mailer",1470],[3,"Asset",1558],[6,"ServiceResult",1653],[6,"PageResult",1653],[3,"Asset",2699],[3,"Favicons",2699],[8,"CloneStats",2859],[8,"SurveyClientTrait",2926]],"b":[[837,"impl-Debug-for-BuildDetailsBuilderError"],[838,"impl-Display-for-BuildDetailsBuilderError"],[840,"impl-Debug-for-HealthBuilderError"],[841,"impl-Display-for-HealthBuilderError"],[844,"impl-From%3CString%3E-for-BuildDetailsBuilderError"],[845,"impl-From%3CUninitializedFieldError%3E-for-BuildDetailsBuilderError"],[850,"impl-From%3CString%3E-for-HealthBuilderError"],[851,"impl-From%3CUninitializedFieldError%3E-for-HealthBuilderError"],[1276,"impl-Display-for-BuildDetailsBuilderError"],[1277,"impl-Debug-for-BuildDetailsBuilderError"],[1279,"impl-Debug-for-PercentileReqBuilderError"],[1280,"impl-Display-for-PercentileReqBuilderError"],[1282,"impl-Display-for-PercentileRespBuilderError"],[1283,"impl-Debug-for-PercentileRespBuilderError"],[1286,"impl-From%3CString%3E-for-BuildDetailsBuilderError"],[1287,"impl-From%3CUninitializedFieldError%3E-for-BuildDetailsBuilderError"],[1292,"impl-From%3CUninitializedFieldError%3E-for-PercentileReqBuilderError"],[1293,"impl-From%3CString%3E-for-PercentileReqBuilderError"],[1298,"impl-From%3CString%3E-for-PercentileRespBuilderError"],[1299,"impl-From%3CUninitializedFieldError%3E-for-PercentileRespBuilderError"],[1574,"impl-RustEmbed-for-Asset"],[1575,"impl-Asset"],[1582,"impl-Asset"],[1583,"impl-RustEmbed-for-Asset"],[1705,"impl-Display-for-SmtpErrorWrapper"],[1706,"impl-Debug-for-SmtpErrorWrapper"],[1707,"impl-Display-for-DBErrorWrapper"],[1708,"impl-Debug-for-DBErrorWrapper"],[1709,"impl-Display-for-ServiceError"],[1710,"impl-Debug-for-ServiceError"],[1711,"impl-Display-for-PageError"],[1712,"impl-Debug-for-PageError"],[1715,"impl-From%3CCaptchaError%3E-for-ServiceError"],[1716,"impl-From%3CMailboxError%3E-for-ServiceError"],[1718,"impl-From%3CParseError%3E-for-ServiceError"],[1719,"impl-From%3CRecvError%3E-for-ServiceError"],[1720,"impl-From%3CCredsError%3E-for-ServiceError"],[1721,"impl-From%3CValidationErrors%3E-for-ServiceError"],[1722,"impl-From%3CError%3E-for-ServiceError"],[1723,"impl-From%3CDBError%3E-for-ServiceError"],[1725,"impl-From%3CDBError%3E-for-PageError"],[1727,"impl-From%3CServiceError%3E-for-PageError"],[2580,"impl-Display-for-DBType"],[2581,"impl-Debug-for-DBType"],[2715,"impl-Asset"],[2716,"impl-RustEmbed-for-Asset"],[2717,"impl-RustEmbed-for-Favicons"],[2718,"impl-Favicons"],[2725,"impl-Asset"],[2726,"impl-RustEmbed-for-Asset"],[2727,"impl-RustEmbed-for-Favicons"],[2728,"impl-Favicons"]]}\
     }');
     if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)};
     if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex};
    diff --git a/src-files.js b/src-files.js
    index 5209746e..c6366307 100644
    --- a/src-files.js
    +++ b/src-files.js
    @@ -2,6 +2,6 @@ var srcIndex = JSON.parse('{\
     "db_core":["",[],["errors.rs","lib.rs","ops.rs","tests.rs"]],\
     "db_sqlx_maria":["",[],["errors.rs","lib.rs"]],\
     "db_sqlx_postgres":["",[],["errors.rs","lib.rs"]],\
    -"mcaptcha":["",[["api",[["v1",[["account",[],["delete.rs","email.rs","mod.rs","password.rs","secret.rs","username.rs"]],["mcaptcha",[],["create.rs","delete.rs","easy.rs","get.rs","mod.rs","stats.rs","update.rs"]],["notifications",[],["add.rs","get.rs","mark_read.rs","mod.rs"]],["pow",[],["get_config.rs","mod.rs","verify_pow.rs","verify_token.rs"]]],["auth.rs","meta.rs","mod.rs","routes.rs","stats.rs","survey.rs"]]],["mod.rs"]],["email",[],["mod.rs","verification.rs"]],["pages",[["auth",[],["login.rs","mod.rs","register.rs","sudo.rs"]],["panel",[["sitekey",[],["add.rs","delete.rs","edit.rs","list.rs","mod.rs","view.rs"]]],["mod.rs","notifications.rs","settings.rs","utils.rs"]]],["errors.rs","mod.rs","routes.rs","sitemap.rs"]],["static_assets",[],["filemap.rs","mod.rs","static_files.rs"]],["widget",[],["mod.rs"]]],["data.rs","date.rs","db.rs","demo.rs","docs.rs","errors.rs","main.rs","routes.rs","settings.rs","stats.rs","survey.rs"]]\
    +"mcaptcha":["",[["api",[["v1",[["account",[],["delete.rs","email.rs","mod.rs","password.rs","secret.rs","username.rs"]],["mcaptcha",[],["create.rs","delete.rs","easy.rs","get.rs","mod.rs","stats.rs","update.rs"]],["notifications",[],["add.rs","get.rs","mark_read.rs","mod.rs"]],["pow",[],["get_config.rs","mod.rs","verify_pow.rs","verify_token.rs"]]],["auth.rs","meta.rs","mod.rs","routes.rs","stats.rs","survey.rs"]]],["mod.rs"]],["email",[],["mod.rs","verification.rs"]],["pages",[["auth",[],["login.rs","mod.rs","register.rs","sudo.rs"]],["panel",[["sitekey",[],["add.rs","delete.rs","edit.rs","list.rs","mod.rs","view.rs"]]],["mod.rs","notifications.rs","settings.rs","utils.rs"]]],["errors.rs","mod.rs","routes.rs","sitemap.rs"]],["static_assets",[],["filemap.rs","mod.rs","static_files.rs"]],["widget",[],["mod.rs"]]],["data.rs","date.rs","db.rs","demo.rs","docs.rs","easy.rs","errors.rs","main.rs","routes.rs","settings.rs","stats.rs","survey.rs"]]\
     }');
     createSrcSidebar();
    diff --git a/src/db_core/lib.rs.html b/src/db_core/lib.rs.html
    index f53a35c1..873a59b6 100644
    --- a/src/db_core/lib.rs.html
    +++ b/src/db_core/lib.rs.html
    @@ -444,6 +444,26 @@
     444
     445
     446
    +447
    +448
    +449
    +450
    +451
    +452
    +453
    +454
    +455
    +456
    +457
    +458
    +459
    +460
    +461
    +462
    +463
    +464
    +465
    +466
     
    // Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
     // SPDX-FileCopyrightText: 2023 Aravinth Manivannan <realaravinth@batsense.net>
     //
    @@ -648,6 +668,13 @@
             captcha_key: &str,
         ) -> DBResult<TrafficPattern>;
     
    +    /// Get all easy captcha configurations on instance
    +    async fn get_all_easy_captchas(
    +        &self,
    +        limit: usize,
    +        offset: usize,
    +    ) -> DBResult<Vec<EasyCaptcha>>;
    +
         /// Delete traffic configuration
         async fn delete_traffic_pattern(
             &self,
    @@ -829,6 +856,19 @@
         pub message: &'a str,
     }
     
    +#[derive(Default, PartialEq, Serialize, Deserialize, Clone, Debug)]
    +/// Represents Easy captcha configuration
    +pub struct EasyCaptcha {
    +    /// traffic pattern of easy captcha
    +    pub traffic_pattern: TrafficPattern,
    +    /// captcha key/sitekey
    +    pub key: String,
    +    /// captcha description
    +    pub description: String,
    +    /// Owner of the captcha configuration
    +    pub username: String,
    +}
    +
     #[derive(Default, PartialEq, Serialize, Deserialize, Clone, Debug)]
     /// User's traffic pattern; used in generating a captcha configuration
     pub struct TrafficPattern {
    diff --git a/src/db_core/tests.rs.html b/src/db_core/tests.rs.html
    index 444d4c74..4549a690 100644
    --- a/src/db_core/tests.rs.html
    +++ b/src/db_core/tests.rs.html
    @@ -459,6 +459,11 @@
     459
     460
     461
    +462
    +463
    +464
    +465
    +466
     
    // Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
     // SPDX-FileCopyrightText: 2023 Aravinth Manivannan <realaravinth@batsense.net>
     //
    @@ -684,6 +689,11 @@
             tp
         );
     
    +    // get all traffic patterns
    +    let patterns = db.get_all_easy_captchas(10, 0).await.unwrap();
    +    assert_eq!(patterns.get(0).as_ref().unwrap().key, c.key);
    +    assert_eq!(&patterns.get(0).unwrap().traffic_pattern, tp);
    +
         // delete traffic pattern
         db.delete_traffic_pattern(p.username, c.key).await.unwrap();
         assert!(
    diff --git a/src/db_sqlx_maria/lib.rs.html b/src/db_sqlx_maria/lib.rs.html
    index 25815efc..27a13461 100644
    --- a/src/db_sqlx_maria/lib.rs.html
    +++ b/src/db_sqlx_maria/lib.rs.html
    @@ -1342,6 +1342,66 @@
     1342
     1343
     1344
    +1345
    +1346
    +1347
    +1348
    +1349
    +1350
    +1351
    +1352
    +1353
    +1354
    +1355
    +1356
    +1357
    +1358
    +1359
    +1360
    +1361
    +1362
    +1363
    +1364
    +1365
    +1366
    +1367
    +1368
    +1369
    +1370
    +1371
    +1372
    +1373
    +1374
    +1375
    +1376
    +1377
    +1378
    +1379
    +1380
    +1381
    +1382
    +1383
    +1384
    +1385
    +1386
    +1387
    +1388
    +1389
    +1390
    +1391
    +1392
    +1393
    +1394
    +1395
    +1396
    +1397
    +1398
    +1399
    +1400
    +1401
    +1402
    +1403
    +1404
     
    // Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
     // SPDX-FileCopyrightText: 2023 Aravinth Manivannan <realaravinth@batsense.net>
     //
    @@ -2617,6 +2677,66 @@
                 Err(e) => Err(map_row_not_found_err(e, DBError::CaptchaNotFound)),
             }
         }
    +
    +    /// Get all easy captcha configurations on instance
    +    async fn get_all_easy_captchas(
    +        &self,
    +        limit: usize,
    +        offset: usize,
    +    ) -> DBResult<Vec<EasyCaptcha>> {
    +        struct InnerEasyCaptcha {
    +            captcha_key: String,
    +            name: String,
    +            username: String,
    +            peak_sustainable_traffic: i32,
    +            avg_traffic: i32,
    +            broke_my_site_traffic: Option<i32>,
    +        }
    +        let mut inner_res = sqlx::query_as!(
    +            InnerEasyCaptcha,
    +                "SELECT 
    +              mcaptcha_sitekey_user_provided_avg_traffic.avg_traffic, 
    +              mcaptcha_sitekey_user_provided_avg_traffic.peak_sustainable_traffic, 
    +              mcaptcha_sitekey_user_provided_avg_traffic.broke_my_site_traffic,
    +              mcaptcha_config.name,
    +              mcaptcha_users.name as username,
    +              mcaptcha_config.captcha_key
    +            FROM 
    +              mcaptcha_sitekey_user_provided_avg_traffic 
    +            INNER JOIN
    +                mcaptcha_config
    +            ON
    +                mcaptcha_config.config_id = mcaptcha_sitekey_user_provided_avg_traffic.config_id
    +            INNER JOIN
    +                mcaptcha_users
    +            ON
    +                mcaptcha_config.user_id = mcaptcha_users.ID
    +            ORDER BY mcaptcha_config.config_id
    +            LIMIT ? OFFSET ?",
    +            limit as i64,
    +            offset as i64
    +        )
    +        .fetch_all(&self.pool)
    +        .await
    +        .map_err(|e| map_row_not_found_err(e, DBError::TrafficPatternNotFound))?;
    +        let mut res = Vec::with_capacity(inner_res.len());
    +        inner_res.drain(0..).for_each(|v| {
    +            res.push(EasyCaptcha {
    +                key: v.captcha_key,
    +                description: v.name,
    +                username: v.username,
    +                traffic_pattern: TrafficPattern {
    +                    broke_my_site_traffic: v
    +                        .broke_my_site_traffic
    +                        .as_ref()
    +                        .map(|v| *v as u32),
    +                    avg_traffic: v.avg_traffic as u32,
    +                    peak_sustainable_traffic: v.peak_sustainable_traffic as u32,
    +                },
    +            })
    +        });
    +        Ok(res)
    +    }
     }
     
     #[derive(Clone)]
    diff --git a/src/db_sqlx_postgres/lib.rs.html b/src/db_sqlx_postgres/lib.rs.html
    index ae9069cb..5e6e362b 100644
    --- a/src/db_sqlx_postgres/lib.rs.html
    +++ b/src/db_sqlx_postgres/lib.rs.html
    @@ -1345,6 +1345,73 @@
     1345
     1346
     1347
    +1348
    +1349
    +1350
    +1351
    +1352
    +1353
    +1354
    +1355
    +1356
    +1357
    +1358
    +1359
    +1360
    +1361
    +1362
    +1363
    +1364
    +1365
    +1366
    +1367
    +1368
    +1369
    +1370
    +1371
    +1372
    +1373
    +1374
    +1375
    +1376
    +1377
    +1378
    +1379
    +1380
    +1381
    +1382
    +1383
    +1384
    +1385
    +1386
    +1387
    +1388
    +1389
    +1390
    +1391
    +1392
    +1393
    +1394
    +1395
    +1396
    +1397
    +1398
    +1399
    +1400
    +1401
    +1402
    +1403
    +1404
    +1405
    +1406
    +1407
    +1408
    +1409
    +1410
    +1411
    +1412
    +1413
    +1414
     
    // Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
     // SPDX-FileCopyrightText: 2023 Aravinth Manivannan <realaravinth@batsense.net>
     //
    @@ -2016,13 +2083,8 @@
             username: &str,
             captcha_key: &str,
         ) -> DBResult<TrafficPattern> {
    -        struct Traffic {
    -            peak_sustainable_traffic: i32,
    -            avg_traffic: i32,
    -            broke_my_site_traffic: Option<i32>,
    -        }
             let res = sqlx::query_as!(
    -            Traffic,
    +            InnerTraffic,
                 "SELECT 
               avg_traffic, 
               peak_sustainable_traffic, 
    @@ -2053,11 +2115,67 @@
             .fetch_one(&self.pool)
             .await
             .map_err(|e| map_row_not_found_err(e, DBError::TrafficPatternNotFound))?;
    -        Ok(TrafficPattern {
    -            broke_my_site_traffic: res.broke_my_site_traffic.as_ref().map(|v| *v as u32),
    -            avg_traffic: res.avg_traffic as u32,
    -            peak_sustainable_traffic: res.peak_sustainable_traffic as u32,
    -        })
    +        Ok(res.into())
    +    }
    +
    +    /// Get all easy captcha configurations on instance
    +    async fn get_all_easy_captchas(
    +        &self,
    +        limit: usize,
    +        offset: usize,
    +    ) -> DBResult<Vec<EasyCaptcha>> {
    +        struct InnerEasyCaptcha {
    +            key: String,
    +            peak_sustainable_traffic: i32,
    +            avg_traffic: i32,
    +            broke_my_site_traffic: Option<i32>,
    +            name: String,
    +            username: String,
    +        }
    +        let mut inner_res = sqlx::query_as!(
    +            InnerEasyCaptcha,
    +            "SELECT 
    +                  mcaptcha_sitekey_user_provided_avg_traffic.avg_traffic, 
    +                  mcaptcha_sitekey_user_provided_avg_traffic.peak_sustainable_traffic, 
    +                  mcaptcha_sitekey_user_provided_avg_traffic.broke_my_site_traffic,
    +                  mcaptcha_config.name,
    +                  mcaptcha_users.name as username,
    +                  mcaptcha_config.key
    +            FROM 
    +              mcaptcha_sitekey_user_provided_avg_traffic 
    +            INNER JOIN
    +                mcaptcha_config
    +            ON
    +                mcaptcha_config.config_id = mcaptcha_sitekey_user_provided_avg_traffic.config_id
    +            INNER JOIN
    +                mcaptcha_users
    +            ON
    +                mcaptcha_config.user_id = mcaptcha_users.ID
    +            ORDER BY mcaptcha_config.config_id
    +            OFFSET $1 LIMIT $2; ",
    +            offset as i32,
    +            limit as i32
    +        )
    +        .fetch_all(&self.pool)
    +        .await
    +        .map_err(|e| map_row_not_found_err(e, DBError::TrafficPatternNotFound))?;
    +        let mut res = Vec::with_capacity(inner_res.len());
    +        inner_res.drain(0..).for_each(|v| {
    +            res.push(EasyCaptcha {
    +                key: v.key,
    +                description: v.name,
    +                username: v.username,
    +                traffic_pattern: TrafficPattern {
    +                    broke_my_site_traffic: v
    +                        .broke_my_site_traffic
    +                        .as_ref()
    +                        .map(|v| *v as u32),
    +                    avg_traffic: v.avg_traffic as u32,
    +                    peak_sustainable_traffic: v.peak_sustainable_traffic as u32,
    +                },
    +            })
    +        });
    +        Ok(res)
         }
     
         /// Delete traffic configuration
    @@ -2692,4 +2810,20 @@
             }
         }
     }
    +
    +struct InnerTraffic {
    +    peak_sustainable_traffic: i32,
    +    avg_traffic: i32,
    +    broke_my_site_traffic: Option<i32>,
    +}
    +
    +impl From<InnerTraffic> for TrafficPattern {
    +    fn from(v: InnerTraffic) -> Self {
    +        TrafficPattern {
    +            broke_my_site_traffic: v.broke_my_site_traffic.as_ref().map(|v| *v as u32),
    +            avg_traffic: v.avg_traffic as u32,
    +            peak_sustainable_traffic: v.peak_sustainable_traffic as u32,
    +        }
    +    }
    +}
     
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/mcaptcha/easy.rs.html b/src/mcaptcha/api/v1/mcaptcha/easy.rs.html index 2ee85fc8..32c68f7d 100644 --- a/src/mcaptcha/api/v1/mcaptcha/easy.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/easy.rs.html @@ -450,6 +450,92 @@ 450 451 452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538
    // Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
     // SPDX-FileCopyrightText: 2023 Aravinth Manivannan <realaravinth@batsense.net>
     //
    @@ -553,6 +639,79 @@
         Ok(levels)
     }
     
    +async fn calculate_with_percentile(
    +    data: &AppData,
    +    tp: &TrafficPattern,
    +) -> ServiceResult<Option<Vec<Level>>> {
    +    use crate::api::v1::stats::{percentile_bench_runner, PercentileReq};
    +
    +    let strategy = &data.settings.captcha.default_difficulty_strategy;
    +
    +    if strategy.avg_traffic_time.is_none()
    +        && strategy.peak_sustainable_traffic_time.is_none()
    +        && strategy.broke_my_site_traffic_time.is_none()
    +    {
    +        return Ok(None);
    +    }
    +
    +    let mut req = PercentileReq {
    +        time: strategy.avg_traffic_time.unwrap(),
    +        percentile: 90.00,
    +    };
    +    let resp = percentile_bench_runner(data, &req).await?;
    +    if resp.difficulty_factor.is_none() {
    +        return Ok(None);
    +    }
    +    let avg_traffic_difficulty = resp.difficulty_factor.unwrap();
    +
    +    req.time = strategy.peak_sustainable_traffic_time.unwrap();
    +    let resp = percentile_bench_runner(data, &req).await?;
    +    if resp.difficulty_factor.is_none() {
    +        return Ok(None);
    +    }
    +    let peak_sustainable_traffic_difficulty = resp.difficulty_factor.unwrap();
    +
    +    req.time = strategy.broke_my_site_traffic_time.unwrap();
    +    let resp = percentile_bench_runner(data, &req).await?;
    +    let broke_my_site_traffic_difficulty = if resp.difficulty_factor.is_none() {
    +        resp.difficulty_factor.unwrap()
    +    } else {
    +        peak_sustainable_traffic_difficulty * 2
    +    };
    +
    +    let mut levels = vec![
    +        LevelBuilder::default()
    +            .difficulty_factor(avg_traffic_difficulty)?
    +            .visitor_threshold(tp.avg_traffic)
    +            .build()?,
    +        LevelBuilder::default()
    +            .difficulty_factor(peak_sustainable_traffic_difficulty)?
    +            .visitor_threshold(tp.peak_sustainable_traffic)
    +            .build()?,
    +    ];
    +    let mut highest_level = LevelBuilder::default();
    +    highest_level.difficulty_factor(broke_my_site_traffic_difficulty)?;
    +
    +    match tp.broke_my_site_traffic {
    +        Some(broke_my_site_traffic) => {
    +            highest_level.visitor_threshold(broke_my_site_traffic)
    +        }
    +        None => match tp
    +            .peak_sustainable_traffic
    +            .checked_add(tp.peak_sustainable_traffic / 2)
    +        {
    +            Some(num) => highest_level.visitor_threshold(num),
    +            // TODO check for overflow: database saves these values as i32, so this u32 is cast
    +            // into i32. Should choose bigger number or casts properly
    +            None => highest_level.visitor_threshold(u32::MAX),
    +        },
    +    };
    +
    +    levels.push(highest_level.build()?);
    +
    +    Ok(Some(levels))
    +}
    +
     #[my_codegen::post(
         path = "crate::V1_API_ROUTES.captcha.easy.create",
         wrap = "crate::api::v1::get_middleware()"
    @@ -565,8 +724,12 @@
         let username = id.identity().unwrap();
         let payload = payload.into_inner();
         let pattern = (&payload).into();
    -    let levels =
    -        calculate(&pattern, &data.settings.captcha.default_difficulty_strategy)?;
    +    let levels = if let Some(levels) = calculate_with_percentile(&data, &pattern).await?
    +    {
    +        levels
    +    } else {
    +        calculate(&pattern, &data.settings.captcha.default_difficulty_strategy)?
    +    };
         let msg = CreateCaptcha {
             levels,
             duration: data.settings.captcha.default_difficulty_strategy.duration,
    @@ -599,6 +762,15 @@
     ) -> ServiceResult<impl Responder> {
         let username = id.identity().unwrap();
         let payload = payload.into_inner();
    +    update_runner(&data, payload, username).await?;
    +    Ok(HttpResponse::Ok())
    +}
    +
    +pub async fn update_runner(
    +    data: &AppData,
    +    payload: UpdateTrafficPattern,
    +    username: String,
    +) -> ServiceResult<()> {
         let pattern = (&payload.pattern).into();
         let levels =
             calculate(&pattern, &data.settings.captcha.default_difficulty_strategy)?;
    @@ -619,7 +791,7 @@
             .add_traffic_pattern(&username, &msg.key, &pattern)
             .await?;
     
    -    Ok(HttpResponse::Ok())
    +    Ok(())
     }
     
     #[cfg(test)]
    diff --git a/src/mcaptcha/demo.rs.html b/src/mcaptcha/demo.rs.html
    index 609bdb0b..a2af2ad9 100644
    --- a/src/mcaptcha/demo.rs.html
    +++ b/src/mcaptcha/demo.rs.html
    @@ -165,6 +165,34 @@
     165
     166
     167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
     
    // Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
     // SPDX-FileCopyrightText: 2023 Aravinth Manivannan <realaravinth@batsense.net>
     //
    @@ -175,6 +203,7 @@
     
     use actix::clock::sleep;
     use actix::spawn;
    +use tokio::sync::oneshot::{channel, error::TryRecvError, Receiver, Sender};
     use tokio::task::JoinHandle;
     
     use crate::api::v1::account::delete::runners::delete_user;
    @@ -190,20 +219,24 @@
     pub const DEMO_PASSWORD: &str = "password";
     
     pub struct DemoUser {
    -    handle: JoinHandle<()>,
    +    tx: Sender<()>,
     }
     
     impl DemoUser {
    -    pub async fn spawn(data: AppData, duration: Duration) -> ServiceResult<Self> {
    -        let handle = Self::run(data, duration).await?;
    -        let d = Self { handle };
    +    pub async fn spawn(
    +        data: AppData,
    +        duration: u32,
    +    ) -> ServiceResult<(Self, JoinHandle<()>)> {
    +        let (tx, rx) = channel();
    +        let handle = Self::run(data, duration, rx).await?;
    +        let d = Self { tx };
     
    -        Ok(d)
    +        Ok((d, handle))
         }
     
         #[allow(dead_code)]
    -    pub fn abort(&self) {
    -        self.handle.abort();
    +    pub fn abort(mut self) {
    +        self.tx.send(());
         }
     
         /// register demo user runner
    @@ -238,16 +271,38 @@
     
         pub async fn run(
             data: AppData,
    -        duration: Duration,
    +        duration: u32,
    +        mut rx: Receiver<()>,
         ) -> ServiceResult<JoinHandle<()>> {
             Self::register_demo_user(&data).await?;
     
    +        fn can_run(rx: &mut Receiver<()>) -> bool {
    +            match rx.try_recv() {
    +                Err(TryRecvError::Empty) => true,
    +                _ => false,
    +            }
    +        }
    +
    +        let mut exit = false;
             let fut = async move {
                 loop {
    -                sleep(duration).await;
    +                if exit {
    +                    break;
    +                }
    +                for _ in 0..duration {
    +                    if can_run(&mut rx) {
    +                        sleep(Duration::new(1, 0)).await;
    +                        continue;
    +                    } else {
    +                        exit = true;
    +                        break;
    +                    }
    +                }
    +
                     if let Err(e) = Self::delete_demo_user(&data).await {
                         log::error!("Error while deleting demo user: {:?}", e);
                     }
    +
                     if let Err(e) = Self::register_demo_user(&data).await {
                         log::error!("Error while registering demo user: {:?}", e);
                     }
    @@ -300,7 +355,7 @@
             assert!(!username_exists(&payload, &data).await.unwrap().exists);
     
             // test the runner
    -        let user = DemoUser::spawn(data, duration).await.unwrap();
    +        let user = DemoUser::spawn(data, DURATION as u32).await.unwrap();
             let (_, signin_resp, token_key) =
                 add_levels_util(data_inner, DEMO_USER, DEMO_PASSWORD).await;
             let cookies = get_cookie!(signin_resp);
    @@ -329,7 +384,8 @@
             assert_eq!(resp.status(), StatusCode::OK);
             let res_levels: Vec<Level> = test::read_body_json(resp).await;
             assert!(res_levels.is_empty());
    -        user.abort();
    +        user.0.abort();
    +        user.1.await.unwrap();
         }
     }
     
    \ No newline at end of file diff --git a/src/mcaptcha/easy.rs.html b/src/mcaptcha/easy.rs.html new file mode 100644 index 00000000..de6601c7 --- /dev/null +++ b/src/mcaptcha/easy.rs.html @@ -0,0 +1,265 @@ +easy.rs - source
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32
    +33
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +
    // Copyright (C) 2024// Copyright (C) 2024  Aravinth Manivannan <realaravinth@batsense.net>
    +// SPDX-FileCopyrightText: 2023 Aravinth Manivannan <realaravinth@batsense.net>
    +//
    +// SPDX-License-Identifier: AGPL-3.0-or-later
    +
    +use std::time::Duration;
    +//use std::sync::atomicBool
    +
    +use actix::clock::sleep;
    +use actix::spawn;
    +use tokio::sync::oneshot::{channel, error::TryRecvError, Receiver, Sender};
    +use tokio::task::JoinHandle;
    +
    +use crate::api::v1::mcaptcha::easy::{
    +    update_runner, TrafficPatternRequest, UpdateTrafficPattern,
    +};
    +use crate::*;
    +
    +use errors::*;
    +
    +pub struct UpdateEasyCaptcha {
    +    tx: Sender<()>,
    +}
    +
    +impl UpdateEasyCaptcha {
    +    pub async fn spawn(
    +        data: AppData,
    +        duration: u32,
    +    ) -> ServiceResult<(Self, JoinHandle<()>)> {
    +        let (tx, rx) = channel();
    +        let handle = Self::run(data, duration, rx).await?;
    +        let d = Self { tx };
    +
    +        Ok((d, handle))
    +    }
    +
    +    #[allow(dead_code)]
    +    pub fn abort(mut self) {
    +        self.tx.send(());
    +    }
    +
    +    /// update configurations
    +    async fn update_captcha_configurations(
    +        data: &AppData,
    +        rx: &mut Receiver<()>,
    +    ) -> ServiceResult<()> {
    +        let limit = 10;
    +        let mut offset = 0;
    +        let mut page = 0;
    +        loop {
    +            offset = page * limit;
    +
    +            if !Self::can_run(rx) {
    +                return Ok(());
    +            }
    +
    +            let mut patterns = data.db.get_all_easy_captchas(limit, offset).await?;
    +            for pattern in patterns.drain(0..) {
    +                if !Self::can_run(rx) {
    +                    return Ok(());
    +                }
    +
    +                let publish_benchmarks =
    +                    data.db.analytics_captcha_is_published(&pattern.key).await?;
    +
    +                let req = UpdateTrafficPattern {
    +                    pattern: TrafficPatternRequest {
    +                        avg_traffic: pattern.traffic_pattern.avg_traffic,
    +                        peak_sustainable_traffic: pattern
    +                            .traffic_pattern
    +                            .peak_sustainable_traffic,
    +                        broke_my_site_traffic: pattern
    +                            .traffic_pattern
    +                            .broke_my_site_traffic,
    +                        description: pattern.description,
    +                        publish_benchmarks,
    +                    },
    +                    key: pattern.key,
    +                };
    +                if !Self::can_run(rx) {
    +                    return Ok(());
    +                }
    +
    +                update_runner(&data, req, pattern.username).await?;
    +            }
    +            page += 1;
    +        }
    +    }
    +
    +    fn can_run(rx: &mut Receiver<()>) -> bool {
    +        match rx.try_recv() {
    +            Err(TryRecvError::Empty) => true,
    +            _ => false,
    +        }
    +    }
    +
    +    pub async fn run(
    +        data: AppData,
    +        duration: u32,
    +        mut rx: Receiver<()>,
    +    ) -> ServiceResult<JoinHandle<()>> {
    +        let mut exit = false;
    +        let fut = async move {
    +            loop {
    +                if exit {
    +                    break;
    +                }
    +                for _ in 0..duration {
    +                    if Self::can_run(&mut rx) {
    +                        sleep(Duration::new(1, 0)).await;
    +                        continue;
    +                    } else {
    +                        exit = true;
    +                        break;
    +                    }
    +                }
    +
    +                if let Some(err) = Self::update_captcha_configurations(&data, &mut rx)
    +                    .await
    +                    .err()
    +                {
    +                    log::error!(
    +                        "Tried to update easy captcha configurations in background {:?}",
    +                        err
    +                    );
    +                }
    +            }
    +        };
    +        let handle = spawn(fut);
    +        Ok(handle)
    +    }
    +}
    +
    \ No newline at end of file diff --git a/src/mcaptcha/main.rs.html b/src/mcaptcha/main.rs.html index 953c9a16..42774bf2 100644 --- a/src/mcaptcha/main.rs.html +++ b/src/mcaptcha/main.rs.html @@ -202,6 +202,25 @@ 202 203 204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223
    #![allow(warnings)]
     // Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
     // SPDX-FileCopyrightText: 2023 Aravinth Manivannan <realaravinth@batsense.net>
    @@ -218,6 +237,7 @@
     };
     use lazy_static::lazy_static;
     use log::info;
    +use tokio::task::JoinHandle;
     
     mod api;
     mod data;
    @@ -225,6 +245,7 @@
     mod db;
     mod demo;
     mod docs;
    +mod easy;
     mod email;
     mod errors;
     #[macro_use]
    @@ -314,11 +335,22 @@
         let data = Data::new(&settings, secrets.clone()).await;
         let data = actix_web::web::Data::new(data);
     
    -    let mut demo_user: Option<DemoUser> = None;
    +    let mut demo_user: Option<(DemoUser, JoinHandle<()>)> = None;
     
         if settings.allow_demo && settings.allow_registration {
    -        demo_user = Some(
    -            DemoUser::spawn(data.clone(), Duration::from_secs(60 * 30))
    +        demo_user = Some(DemoUser::spawn(data.clone(), 60 * 30).await.unwrap());
    +    }
    +
    +    let mut update_easy_captcha: Option<(easy::UpdateEasyCaptcha, JoinHandle<()>)> =
    +        None;
    +    if settings
    +        .captcha
    +        .default_difficulty_strategy
    +        .avg_traffic_time
    +        .is_some()
    +    {
    +        update_easy_captcha = Some(
    +            easy::UpdateEasyCaptcha::spawn(data.clone(), 60 * 30)
                     .await
                     .unwrap(),
             );
    @@ -360,7 +392,13 @@
         }
     
         if let Some(demo_user) = demo_user {
    -        demo_user.abort();
    +        demo_user.0.abort();
    +        demo_user.1.await.unwrap();
    +    }
    +
    +    if let Some(update_easy_captcha) = update_easy_captcha {
    +        update_easy_captcha.0.abort();
    +        update_easy_captcha.1.await.unwrap();
         }
     
         if let Some(survey_upload_handle) = survey_upload_handle {
    diff --git a/src/mcaptcha/settings.rs.html b/src/mcaptcha/settings.rs.html
    index a3f1f335..c299d4eb 100644
    --- a/src/mcaptcha/settings.rs.html
    +++ b/src/mcaptcha/settings.rs.html
    @@ -591,6 +591,58 @@
     591
     592
     593
    +594
    +595
    +596
    +597
    +598
    +599
    +600
    +601
    +602
    +603
    +604
    +605
    +606
    +607
    +608
    +609
    +610
    +611
    +612
    +613
    +614
    +615
    +616
    +617
    +618
    +619
    +620
    +621
    +622
    +623
    +624
    +625
    +626
    +627
    +628
    +629
    +630
    +631
    +632
    +633
    +634
    +635
    +636
    +637
    +638
    +639
    +640
    +641
    +642
    +643
    +644
    +645
     
    // Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
     // SPDX-FileCopyrightText: 2023 Aravinth Manivannan <realaravinth@batsense.net>
     //
    @@ -630,8 +682,11 @@
     #[derive(Debug, Clone, Deserialize, Eq, PartialEq)]
     pub struct DefaultDifficultyStrategy {
         pub avg_traffic_difficulty: u32,
    -    pub broke_my_site_traffic_difficulty: u32,
    +    pub avg_traffic_time: Option<u32>,
         pub peak_sustainable_traffic_difficulty: u32,
    +    pub peak_sustainable_traffic_time: Option<u32>,
    +    pub broke_my_site_traffic_time: Option<u32>,
    +    pub broke_my_site_traffic_difficulty: u32,
         pub duration: u32,
     }
     
    @@ -706,7 +761,7 @@
         pub smtp: Option<Smtp>,
     }
     
    -const ENV_VAR_CONFIG: [(&str, &str); 29] = [
    +const ENV_VAR_CONFIG: [(&str, &str); 32] = [
         /* top-level */
         ("debug", "MCAPTCHA_debug"),
         ("commercial", "MCAPTCHA_commercial"),
    @@ -743,6 +798,9 @@
         ( "captcha.default_difficulty_strategy.duration",
              "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_duration"
          ),
    +    ("captcha.default_difficulty_strategy.avg_traffic_time", "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_avg_traffic_time"),
    +    ("captcha.default_difficulty_strategy.peak_sustainable_traffic_time", "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_peak_sustainable_traffic_time"),
    +    ("captcha.default_difficulty_strategy.broke_my_site_traffic_time", "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_broke_my_site_traffic_time"),
     
     
         /* SMTP */
    @@ -844,6 +902,28 @@
     
             Ok(settings)
         }
    +    fn check_easy_captcha_config(&self) {
    +        let s = &self.captcha.default_difficulty_strategy;
    +        if s.avg_traffic_time.is_some() {
    +            if s.broke_my_site_traffic_time.is_none()
    +                || s.peak_sustainable_traffic_time.is_none()
    +            {
    +                panic!("if captcha.default_difficulty_strategy.avg_traffic_time is set, then captcha.default_difficulty_strategy.broke_my_site_traffic_time and captcha.default_difficulty_strategy.peak_sustainable_traffic_time must also be set");
    +            }
    +        }
    +        if s.peak_sustainable_traffic_time.is_some() {
    +            if s.avg_traffic_time.is_none() || s.peak_sustainable_traffic_time.is_none()
    +            {
    +                panic!("if captcha.default_difficulty_strategy.peak_sustainable_traffic_time is set, then captcha.default_difficulty_strategy.broke_my_site_traffic_time and captcha.default_difficulty_strategy.avg_traffic_time must also be set");
    +            }
    +        }
    +        if s.broke_my_site_traffic_time.is_some() {
    +            if s.avg_traffic_time.is_none() || s.peak_sustainable_traffic_time.is_none()
    +            {
    +                panic!("if captcha.default_difficulty_strategy.broke_my_site_traffic_time is set, then captcha.default_difficulty_strategy.peak_sustainable_traffic_time and captcha.default_difficulty_strategy.avg_traffic_time must also be set");
    +            }
    +        }
    +    }
     
         fn env_override(mut s: ConfigBuilder<DefaultState>) -> ConfigBuilder<DefaultState> {
             for (parameter, env_var_name) in DEPRECATED_ENV_VARS.iter() {
    @@ -1131,6 +1211,30 @@
                 999,
                 captcha.default_difficulty_strategy.duration
             );
    +        helper!(
    +            "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_avg_traffic_time",
    +            "10",
    +            Some(10),
    +            captcha.default_difficulty_strategy.avg_traffic_time
    +        );
    +
    +        helper!(
    +            "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_peak_sustainable_traffic_time",
    +            "20",
    +            Some(20),
    +            captcha
    +                .default_difficulty_strategy
    +                .peak_sustainable_traffic_time
    +        );
    +
    +        helper!(
    +            "MCAPTCHA_captcha_DEFAULT_DIFFICULTY_STRATEGY_broke_my_site_traffic_time",
    +            "30",
    +            Some(30),
    +            captcha
    +                .default_difficulty_strategy
    +                .broke_my_site_traffic_time
    +        );
     
             /* SMTP */
     
    diff --git a/trait.impl/core/clone/trait.Clone.js b/trait.impl/core/clone/trait.Clone.js
    index 653fba08..64a4946c 100644
    --- a/trait.impl/core/clone/trait.Clone.js
    +++ b/trait.impl/core/clone/trait.Clone.js
    @@ -1,6 +1,6 @@
     (function() {var implementors = {
    -"db_core":[["impl Clone for TrafficPattern"],["impl<'a> Clone for Login<'a>"],["impl Clone for CreatePerformanceAnalytics"],["impl<'a> Clone for AddNotification<'a>"],["impl Clone for Secret"],["impl<'a> Clone for UpdateEmail<'a>"],["impl Clone for StatsUnixTimestamp"],["impl Clone for Box<dyn MCDatabase>"],["impl<'a> Clone for CreateCaptcha<'a>"],["impl Clone for NameHash"],["impl<'a> Clone for Register<'a>"],["impl Clone for Captcha"],["impl Clone for Notification"],["impl Clone for PerformanceAnalytics"]],
    +"db_core":[["impl Clone for EasyCaptcha"],["impl<'a> Clone for Login<'a>"],["impl Clone for CreatePerformanceAnalytics"],["impl<'a> Clone for AddNotification<'a>"],["impl Clone for Captcha"],["impl<'a> Clone for UpdateEmail<'a>"],["impl Clone for TrafficPattern"],["impl Clone for Secret"],["impl Clone for StatsUnixTimestamp"],["impl Clone for Box<dyn MCDatabase>"],["impl Clone for NameHash"],["impl<'a> Clone for Register<'a>"],["impl<'a> Clone for CreateCaptcha<'a>"],["impl Clone for Notification"],["impl Clone for PerformanceAnalytics"]],
     "db_sqlx_maria":[["impl Clone for Database"],["impl Clone for InnerNotification"]],
    -"db_sqlx_postgres":[["impl Clone for Database"],["impl Clone for InnerNotification"]],
    +"db_sqlx_postgres":[["impl Clone for InnerNotification"],["impl Clone for Database"]],
     "mcaptcha":[["impl Clone for Register"],["impl Clone for Redis"],["impl<'a> Clone for ErrorPage<'a>"],["impl Clone for ApiWork"],["impl Clone for DefaultDifficultyStrategy"],["impl<'a> Clone for AdvanceIndexPage<'a>"],["impl Clone for IndexPage"],["impl Clone for VerifyCaptchaResultPayload"],["impl<'a> Clone for IndexPage<'a>"],["impl Clone for Stats"],["impl Clone for Page"],["impl Clone for CaptchaStats"],["impl Clone for IndexPage"],["impl<'a> Clone for EasyEditPage<'a>"],["impl Clone for MCaptchaDetails"],["impl Clone for PercentileRespBuilder"],["impl Clone for Real"],["impl Clone for PercentilePage"],["impl Clone for AccountCheckResp"],["impl Clone for SecretsStore"],["impl Clone for IndexPage"],["impl Clone for IndexPage"],["impl Clone for IndexPage"],["impl Clone for StatsPayload"],["impl Clone for Settings"],["impl Clone for AdvanceEditPage"],["impl Clone for Password"],["impl Clone for ValidationToken"],["impl Clone for DeleteCaptcha"],["impl Clone for PercentileReq"],["impl Clone for IndexPage"],["impl Clone for NotificationResp"],["impl Clone for TrafficPatternRequest"],["impl<'a, K, V> Clone for SudoPage<'a, K, V>where\n    K: Display + Render + Clone,\n    V: Display + Render + Clone,"],["impl Clone for IndexPage"],["impl Clone for Survey"],["impl Clone for Captcha"],["impl Clone for AccountCheckPayload"],["impl Clone for Database"],["impl Clone for Smtp"],["impl Clone for BuildDetailsBuilder"],["impl Clone for ApiPoWConfig"],["impl Clone for Date"],["impl Clone for UpdateTrafficPattern"],["impl Clone for I32Levels"],["impl Clone for Survey"],["impl Clone for Username"],["impl Clone for AddNotificationRequest"],["impl Clone for Login"],["impl Clone for Levels"],["impl Clone for Dummy"],["impl Clone for GetConfigPayload"],["impl Clone for DBType"],["impl Clone for PercentileResp"],["impl<'a> Clone for EasyIndexPage<'a>"],["impl Clone for HealthBuilder"],["impl Clone for Server"],["impl Clone for PercentileReqBuilder"],["impl Clone for ChangePasswordReqest"],["impl Clone for BuildDetails"],["impl<'a> Clone for IndexPage<'a>"],["impl Clone for BuildDetailsBuilder"],["impl Clone for BuildDetails"],["impl Clone for CaptchaValidateResp"],["impl Clone for Email"],["impl Clone for Health"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/trait.impl/core/cmp/trait.PartialEq.js b/trait.impl/core/cmp/trait.PartialEq.js
    index 0d7b1b9f..3bd1d8c2 100644
    --- a/trait.impl/core/cmp/trait.PartialEq.js
    +++ b/trait.impl/core/cmp/trait.PartialEq.js
    @@ -1,5 +1,5 @@
     (function() {var implementors = {
    -"db_core":[["impl PartialEq for PerformanceAnalytics"],["impl<'a> PartialEq for UpdateEmail<'a>"],["impl PartialEq for NameHash"],["impl PartialEq for TrafficPattern"],["impl<'a> PartialEq for Login<'a>"],["impl<'a> PartialEq for Register<'a>"],["impl PartialEq for Secret"],["impl<'a> PartialEq for AddNotification<'a>"],["impl PartialEq for Captcha"],["impl PartialEq for CreatePerformanceAnalytics"],["impl<'a> PartialEq for CreateCaptcha<'a>"],["impl PartialEq for StatsUnixTimestamp"],["impl PartialEq for Notification"]],
    +"db_core":[["impl PartialEq for PerformanceAnalytics"],["impl<'a> PartialEq for UpdateEmail<'a>"],["impl PartialEq for TrafficPattern"],["impl PartialEq for NameHash"],["impl PartialEq for EasyCaptcha"],["impl<'a> PartialEq for Login<'a>"],["impl<'a> PartialEq for Register<'a>"],["impl PartialEq for Secret"],["impl<'a> PartialEq for AddNotification<'a>"],["impl<'a> PartialEq for CreateCaptcha<'a>"],["impl PartialEq for CreatePerformanceAnalytics"],["impl PartialEq for Captcha"],["impl PartialEq for StatsUnixTimestamp"],["impl PartialEq for Notification"]],
     "db_sqlx_maria":[["impl PartialEq for InnerNotification"]],
     "db_sqlx_postgres":[["impl PartialEq for InnerNotification"]],
     "mcaptcha":[["impl PartialEq for Survey"],["impl PartialEq for SmtpErrorWrapper"],["impl PartialEq for Stats"],["impl PartialEq for AddNotificationRequest"],["impl PartialEq for Redis"],["impl PartialEq for Server"],["impl PartialEq for DBErrorWrapper"],["impl PartialEq for Page"],["impl PartialEq for PageError"],["impl PartialEq for CaptchaStats"],["impl PartialEq for NotificationResp"],["impl PartialEq for Settings"],["impl PartialEq for ServiceError"],["impl PartialEq for Dummy"],["impl PartialEq for Real"],["impl PartialEq for Smtp"],["impl PartialEq for DefaultDifficultyStrategy"],["impl PartialEq for Captcha"],["impl PartialEq for DBType"],["impl PartialEq for Database"]]
    diff --git a/trait.impl/core/default/trait.Default.js b/trait.impl/core/default/trait.Default.js
    index 31b62983..5d7b5d22 100644
    --- a/trait.impl/core/default/trait.Default.js
    +++ b/trait.impl/core/default/trait.Default.js
    @@ -1,5 +1,5 @@
     (function() {var implementors = {
    -"db_core":[["impl<'a> Default for CreateCaptcha<'a>"],["impl Default for CreatePerformanceAnalytics"],["impl Default for Captcha"],["impl<'a> Default for AddNotification<'a>"],["impl Default for TrafficPattern"],["impl Default for Secret"],["impl Default for PerformanceAnalytics"],["impl Default for StatsUnixTimestamp"],["impl Default for Notification"]],
    +"db_core":[["impl Default for CreatePerformanceAnalytics"],["impl Default for Captcha"],["impl<'a> Default for CreateCaptcha<'a>"],["impl Default for TrafficPattern"],["impl Default for Secret"],["impl<'a> Default for AddNotification<'a>"],["impl Default for EasyCaptcha"],["impl Default for PerformanceAnalytics"],["impl Default for StatsUnixTimestamp"],["impl Default for Notification"]],
     "db_sqlx_postgres":[["impl Default for InnerNotification"]],
     "mcaptcha":[["impl Default for IndexPage"],["impl Default for HealthBuilder"],["impl<'a> Default for AdvanceIndexPage<'a>"],["impl<'a> Default for EasyIndexPage<'a>"],["impl Default for IndexPage"],["impl Default for AddNotificationRequest"],["impl Default for IndexPage"],["impl Default for Real"],["impl Default for SecretsStore"],["impl Default for TrafficPatternRequest"],["impl Default for NotificationResp"],["impl Default for Dummy"],["impl Default for PercentileRespBuilder"],["impl Default for CaptchaStats"],["impl Default for BuildDetailsBuilder"],["impl Default for BuildDetailsBuilder"],["impl Default for PercentileReqBuilder"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/trait.impl/core/fmt/trait.Debug.js b/trait.impl/core/fmt/trait.Debug.js
    index b4004a84..05e0af71 100644
    --- a/trait.impl/core/fmt/trait.Debug.js
    +++ b/trait.impl/core/fmt/trait.Debug.js
    @@ -1,5 +1,5 @@
     (function() {var implementors = {
    -"db_core":[["impl<'a> Debug for Login<'a>"],["impl<'a> Debug for UpdateEmail<'a>"],["impl Debug for CreatePerformanceAnalytics"],["impl Debug for PerformanceAnalytics"],["impl Debug for Notification"],["impl Debug for DBError"],["impl Debug for Secret"],["impl Debug for NameHash"],["impl Debug for StatsUnixTimestamp"],["impl<'a> Debug for Register<'a>"],["impl<'a> Debug for AddNotification<'a>"],["impl Debug for Captcha"],["impl Debug for TrafficPattern"],["impl<'a> Debug for CreateCaptcha<'a>"]],
    +"db_core":[["impl<'a> Debug for Login<'a>"],["impl<'a> Debug for UpdateEmail<'a>"],["impl Debug for CreatePerformanceAnalytics"],["impl Debug for PerformanceAnalytics"],["impl Debug for Notification"],["impl Debug for DBError"],["impl Debug for Captcha"],["impl Debug for NameHash"],["impl Debug for StatsUnixTimestamp"],["impl<'a> Debug for Register<'a>"],["impl<'a> Debug for AddNotification<'a>"],["impl<'a> Debug for CreateCaptcha<'a>"],["impl Debug for Secret"],["impl Debug for TrafficPattern"],["impl Debug for EasyCaptcha"]],
     "db_sqlx_maria":[["impl Debug for InnerNotification"]],
     "db_sqlx_postgres":[["impl Debug for InnerNotification"]],
     "mcaptcha":[["impl Debug for Username"],["impl Debug for ServiceError"],["impl Debug for Server"],["impl Debug for Redis"],["impl Debug for BuildDetailsBuilderError"],["impl Debug for Dummy"],["impl Debug for TrafficPatternRequest"],["impl Debug for DBType"],["impl Debug for I32Levels"],["impl Debug for PercentileReqBuilderError"],["impl Debug for SecretsStore"],["impl Debug for Health"],["impl Debug for PercentileRespBuilderError"],["impl Debug for PageError"],["impl Debug for DBErrorWrapper"],["impl Debug for DefaultDifficultyStrategy"],["impl Debug for Levels"],["impl Debug for AccountCheckResp"],["impl Debug for AccountCheckPayload"],["impl Debug for ValidationToken"],["impl Debug for GetConfigPayload"],["impl Debug for Page"],["impl Debug for Survey"],["impl Debug for ApiPoWConfig"],["impl Debug for BuildDetailsBuilderError"],["impl Debug for Login"],["impl Debug for Real"],["impl Debug for PercentileReq"],["impl Debug for DeleteCaptcha"],["impl Debug for Database"],["impl Debug for Captcha"],["impl Debug for Date"],["impl Debug for ApiWork"],["impl Debug for Register"],["impl Debug for AddNotificationRequest"],["impl Debug for PercentileResp"],["impl Debug for Email"],["impl Debug for SmtpErrorWrapper"],["impl Debug for VerifyCaptchaResultPayload"],["impl Debug for Settings"],["impl Debug for StatsPayload"],["impl Debug for CaptchaValidateResp"],["impl Debug for BuildDetails"],["impl Debug for BuildDetails"],["impl Debug for HealthBuilderError"],["impl Debug for UpdateTrafficPattern"],["impl Debug for Smtp"],["impl Debug for Password"],["impl Debug for CaptchaStats"],["impl Debug for Stats"],["impl Debug for MCaptchaDetails"],["impl Debug for ChangePasswordReqest"]]
    diff --git a/trait.impl/core/marker/trait.Freeze.js b/trait.impl/core/marker/trait.Freeze.js
    index 86e6ff9d..f6ba2187 100644
    --- a/trait.impl/core/marker/trait.Freeze.js
    +++ b/trait.impl/core/marker/trait.Freeze.js
    @@ -1,6 +1,6 @@
     (function() {var implementors = {
    -"db_core":[["impl Freeze for DBError",1,["db_core::errors::DBError"]],["impl<'a> Freeze for Register<'a>",1,["db_core::Register"]],["impl<'a> Freeze for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> Freeze for Login<'a>",1,["db_core::Login"]],["impl Freeze for NameHash",1,["db_core::NameHash"]],["impl Freeze for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl Freeze for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl Freeze for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl Freeze for Notification",1,["db_core::Notification"]],["impl<'a> Freeze for AddNotification<'a>",1,["db_core::AddNotification"]],["impl Freeze for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> Freeze for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl Freeze for Captcha",1,["db_core::Captcha"]],["impl Freeze for Secret",1,["db_core::Secret"]]],
    +"db_core":[["impl Freeze for DBError",1,["db_core::errors::DBError"]],["impl<'a> Freeze for Register<'a>",1,["db_core::Register"]],["impl<'a> Freeze for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> Freeze for Login<'a>",1,["db_core::Login"]],["impl Freeze for NameHash",1,["db_core::NameHash"]],["impl Freeze for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl Freeze for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl Freeze for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl Freeze for Notification",1,["db_core::Notification"]],["impl<'a> Freeze for AddNotification<'a>",1,["db_core::AddNotification"]],["impl Freeze for EasyCaptcha",1,["db_core::EasyCaptcha"]],["impl Freeze for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> Freeze for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl Freeze for Captcha",1,["db_core::Captcha"]],["impl Freeze for Secret",1,["db_core::Secret"]]],
     "db_sqlx_maria":[["impl Freeze for Database",1,["db_sqlx_maria::Database"]],["impl Freeze for Conn",1,["db_sqlx_maria::Conn"]],["impl Freeze for ConnectionOptions",1,["db_sqlx_maria::ConnectionOptions"]],["impl Freeze for Fresh",1,["db_sqlx_maria::Fresh"]],["impl Freeze for InnerNotification",1,["db_sqlx_maria::InnerNotification"]]],
     "db_sqlx_postgres":[["impl Freeze for Database",1,["db_sqlx_postgres::Database"]],["impl Freeze for Conn",1,["db_sqlx_postgres::Conn"]],["impl Freeze for ConnectionOptions",1,["db_sqlx_postgres::ConnectionOptions"]],["impl Freeze for Fresh",1,["db_sqlx_postgres::Fresh"]],["impl Freeze for InnerNotification",1,["db_sqlx_postgres::InnerNotification"]]],
    -"mcaptcha":[["impl Freeze for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl Freeze for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl Freeze for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl Freeze for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl Freeze for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl Freeze for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl Freeze for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl Freeze for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl Freeze for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl Freeze for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl Freeze for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl Freeze for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl Freeze for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl Freeze for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl Freeze for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl Freeze for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl Freeze for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl Freeze for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl Freeze for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl Freeze for register",1,["mcaptcha::api::v1::auth::register"]],["impl Freeze for login",1,["mcaptcha::api::v1::auth::login"]],["impl Freeze for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl Freeze for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl Freeze for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl Freeze for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl Freeze for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl Freeze for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl Freeze for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl Freeze for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl Freeze for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl Freeze for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl Freeze for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl Freeze for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl Freeze for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl Freeze for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl Freeze for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl Freeze for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl Freeze for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl Freeze for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl Freeze for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl Freeze for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl Freeze for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl Freeze for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl Freeze for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl Freeze for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl Freeze for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl Freeze for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl Freeze for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl Freeze for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl Freeze for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl Freeze for health",1,["mcaptcha::api::v1::meta::health"]],["impl Freeze for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl Freeze for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl Freeze for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl Freeze for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl Freeze for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl Freeze for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl Freeze for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl Freeze for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl Freeze for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl Freeze for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl Freeze for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl Freeze for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl Freeze for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl Freeze for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl Freeze for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl Freeze for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl Freeze for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl Freeze for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl Freeze for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl Freeze for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl Freeze for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl Freeze for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl Freeze for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl Freeze for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl Freeze for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl Freeze for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl Freeze for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl Freeze for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl Freeze for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl Freeze for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl Freeze for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl Freeze for download",1,["mcaptcha::api::v1::survey::download"]],["impl Freeze for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl Freeze for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl Freeze for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl Freeze for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl Freeze for Data",1,["mcaptcha::data::Data"]],["impl Freeze for Date",1,["mcaptcha::date::Date"]],["impl Freeze for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl Freeze for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl Freeze for Asset",1,["mcaptcha::docs::Asset"]],["impl Freeze for dist",1,["mcaptcha::docs::dist"]],["impl Freeze for spec",1,["mcaptcha::docs::spec"]],["impl Freeze for index",1,["mcaptcha::docs::index"]],["impl<'a> Freeze for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl Freeze for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl Freeze for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl Freeze for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl Freeze for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl Freeze for PageError",1,["mcaptcha::errors::PageError"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl Freeze for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl Freeze for login",1,["mcaptcha::pages::auth::login::login"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl Freeze for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl Freeze for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> Freeze for SudoPage<'a, K, V>",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl Freeze for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl Freeze for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> Freeze for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl Freeze for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl Freeze for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl Freeze for error",1,["mcaptcha::pages::errors::error"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl Freeze for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl Freeze for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl Freeze for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> Freeze for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl Freeze for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl Freeze for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl Freeze for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl Freeze for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl Freeze for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> Freeze for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl Freeze for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> Freeze for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl Freeze for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl Freeze for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl Freeze for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl Freeze for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> Freeze for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl Freeze for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl Freeze for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl Freeze for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl Freeze for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl Freeze for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl Freeze for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl Freeze for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl Freeze for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl Freeze for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl Freeze for panel",1,["mcaptcha::pages::panel::panel"]],["impl Freeze for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl Freeze for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl Freeze for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl Freeze for Server",1,["mcaptcha::settings::Server"]],["impl Freeze for Captcha",1,["mcaptcha::settings::Captcha"]],["impl Freeze for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl Freeze for Smtp",1,["mcaptcha::settings::Smtp"]],["impl Freeze for DBType",1,["mcaptcha::settings::DBType"]],["impl Freeze for Database",1,["mcaptcha::settings::Database"]],["impl Freeze for Redis",1,["mcaptcha::settings::Redis"]],["impl Freeze for Survey",1,["mcaptcha::settings::Survey"]],["impl Freeze for Settings",1,["mcaptcha::settings::Settings"]],["impl Freeze for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl Freeze for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl Freeze for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl Freeze for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl Freeze for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl Freeze for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl Freeze for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl Freeze for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl Freeze for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl Freeze for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl Freeze for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl Freeze for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl Freeze for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl Freeze for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl Freeze for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl Freeze for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl Freeze for Real",1,["mcaptcha::stats::Real"]],["impl Freeze for Dummy",1,["mcaptcha::stats::Dummy"]],["impl Freeze for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl Freeze for Survey",1,["mcaptcha::survey::Survey"]],["impl Freeze for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl Freeze for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl Freeze for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl Freeze for show_widget",1,["mcaptcha::widget::show_widget"]],["impl Freeze for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl Freeze for FILES",1,["mcaptcha::FILES"]],["impl Freeze for JS",1,["mcaptcha::JS"]],["impl Freeze for CSS",1,["mcaptcha::CSS"]],["impl Freeze for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl Freeze for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl Freeze for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl Freeze for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]]
    +"mcaptcha":[["impl Freeze for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl Freeze for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl Freeze for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl Freeze for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl Freeze for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl Freeze for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl Freeze for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl Freeze for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl Freeze for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl Freeze for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl Freeze for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl Freeze for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl Freeze for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl Freeze for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl Freeze for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl Freeze for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl Freeze for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl Freeze for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl Freeze for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl Freeze for register",1,["mcaptcha::api::v1::auth::register"]],["impl Freeze for login",1,["mcaptcha::api::v1::auth::login"]],["impl Freeze for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl Freeze for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl Freeze for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl Freeze for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl Freeze for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl Freeze for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl Freeze for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl Freeze for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl Freeze for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl Freeze for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl Freeze for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl Freeze for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl Freeze for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl Freeze for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl Freeze for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl Freeze for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl Freeze for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl Freeze for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl Freeze for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl Freeze for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl Freeze for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl Freeze for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl Freeze for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl Freeze for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl Freeze for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl Freeze for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl Freeze for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl Freeze for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl Freeze for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl Freeze for health",1,["mcaptcha::api::v1::meta::health"]],["impl Freeze for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl Freeze for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl Freeze for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl Freeze for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl Freeze for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl Freeze for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl Freeze for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl Freeze for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl Freeze for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl Freeze for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl Freeze for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl Freeze for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl Freeze for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl Freeze for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl Freeze for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl Freeze for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl Freeze for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl Freeze for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl Freeze for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl Freeze for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl Freeze for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl Freeze for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl Freeze for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl Freeze for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl Freeze for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl Freeze for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl Freeze for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl Freeze for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl Freeze for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl Freeze for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl Freeze for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl Freeze for download",1,["mcaptcha::api::v1::survey::download"]],["impl Freeze for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl Freeze for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl Freeze for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl Freeze for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl Freeze for Data",1,["mcaptcha::data::Data"]],["impl Freeze for Date",1,["mcaptcha::date::Date"]],["impl Freeze for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl Freeze for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl Freeze for Asset",1,["mcaptcha::docs::Asset"]],["impl Freeze for dist",1,["mcaptcha::docs::dist"]],["impl Freeze for spec",1,["mcaptcha::docs::spec"]],["impl Freeze for index",1,["mcaptcha::docs::index"]],["impl Freeze for UpdateEasyCaptcha",1,["mcaptcha::easy::UpdateEasyCaptcha"]],["impl<'a> Freeze for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl Freeze for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl Freeze for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl Freeze for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl Freeze for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl Freeze for PageError",1,["mcaptcha::errors::PageError"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl Freeze for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl Freeze for login",1,["mcaptcha::pages::auth::login::login"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl Freeze for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl Freeze for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> Freeze for SudoPage<'a, K, V>",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl Freeze for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl Freeze for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> Freeze for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl Freeze for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl Freeze for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl Freeze for error",1,["mcaptcha::pages::errors::error"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl Freeze for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl Freeze for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl Freeze for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> Freeze for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl Freeze for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl Freeze for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl Freeze for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl Freeze for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl Freeze for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> Freeze for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl Freeze for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> Freeze for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl Freeze for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl Freeze for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl Freeze for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl Freeze for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> Freeze for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl Freeze for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl Freeze for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl Freeze for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl Freeze for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl Freeze for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl Freeze for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl Freeze for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl Freeze for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl Freeze for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl Freeze for panel",1,["mcaptcha::pages::panel::panel"]],["impl Freeze for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl Freeze for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl Freeze for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl Freeze for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl Freeze for Server",1,["mcaptcha::settings::Server"]],["impl Freeze for Captcha",1,["mcaptcha::settings::Captcha"]],["impl Freeze for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl Freeze for Smtp",1,["mcaptcha::settings::Smtp"]],["impl Freeze for DBType",1,["mcaptcha::settings::DBType"]],["impl Freeze for Database",1,["mcaptcha::settings::Database"]],["impl Freeze for Redis",1,["mcaptcha::settings::Redis"]],["impl Freeze for Survey",1,["mcaptcha::settings::Survey"]],["impl Freeze for Settings",1,["mcaptcha::settings::Settings"]],["impl Freeze for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl Freeze for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl Freeze for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl Freeze for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl Freeze for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl Freeze for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl Freeze for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl Freeze for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl Freeze for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl Freeze for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl Freeze for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl Freeze for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl Freeze for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl Freeze for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl Freeze for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl Freeze for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl Freeze for Real",1,["mcaptcha::stats::Real"]],["impl Freeze for Dummy",1,["mcaptcha::stats::Dummy"]],["impl Freeze for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl Freeze for Survey",1,["mcaptcha::survey::Survey"]],["impl Freeze for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl Freeze for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl Freeze for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl Freeze for show_widget",1,["mcaptcha::widget::show_widget"]],["impl Freeze for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl Freeze for FILES",1,["mcaptcha::FILES"]],["impl Freeze for JS",1,["mcaptcha::JS"]],["impl Freeze for CSS",1,["mcaptcha::CSS"]],["impl Freeze for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl Freeze for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl Freeze for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl Freeze for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/trait.impl/core/marker/trait.Send.js b/trait.impl/core/marker/trait.Send.js
    index a5f07ecd..0a4fc728 100644
    --- a/trait.impl/core/marker/trait.Send.js
    +++ b/trait.impl/core/marker/trait.Send.js
    @@ -1,6 +1,6 @@
     (function() {var implementors = {
    -"db_core":[["impl Send for DBError",1,["db_core::errors::DBError"]],["impl<'a> Send for Register<'a>",1,["db_core::Register"]],["impl<'a> Send for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> Send for Login<'a>",1,["db_core::Login"]],["impl Send for NameHash",1,["db_core::NameHash"]],["impl Send for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl Send for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl Send for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl Send for Notification",1,["db_core::Notification"]],["impl<'a> Send for AddNotification<'a>",1,["db_core::AddNotification"]],["impl Send for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> Send for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl Send for Captcha",1,["db_core::Captcha"]],["impl Send for Secret",1,["db_core::Secret"]]],
    +"db_core":[["impl Send for DBError",1,["db_core::errors::DBError"]],["impl<'a> Send for Register<'a>",1,["db_core::Register"]],["impl<'a> Send for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> Send for Login<'a>",1,["db_core::Login"]],["impl Send for NameHash",1,["db_core::NameHash"]],["impl Send for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl Send for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl Send for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl Send for Notification",1,["db_core::Notification"]],["impl<'a> Send for AddNotification<'a>",1,["db_core::AddNotification"]],["impl Send for EasyCaptcha",1,["db_core::EasyCaptcha"]],["impl Send for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> Send for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl Send for Captcha",1,["db_core::Captcha"]],["impl Send for Secret",1,["db_core::Secret"]]],
     "db_sqlx_maria":[["impl Send for Database",1,["db_sqlx_maria::Database"]],["impl Send for Conn",1,["db_sqlx_maria::Conn"]],["impl Send for ConnectionOptions",1,["db_sqlx_maria::ConnectionOptions"]],["impl Send for Fresh",1,["db_sqlx_maria::Fresh"]],["impl Send for InnerNotification",1,["db_sqlx_maria::InnerNotification"]]],
     "db_sqlx_postgres":[["impl Send for Database",1,["db_sqlx_postgres::Database"]],["impl Send for Conn",1,["db_sqlx_postgres::Conn"]],["impl Send for ConnectionOptions",1,["db_sqlx_postgres::ConnectionOptions"]],["impl Send for Fresh",1,["db_sqlx_postgres::Fresh"]],["impl Send for InnerNotification",1,["db_sqlx_postgres::InnerNotification"]]],
    -"mcaptcha":[["impl Send for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl Send for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl Send for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl Send for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl Send for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl Send for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl Send for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl Send for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl Send for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl Send for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl Send for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl Send for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl Send for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl Send for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl Send for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl Send for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl Send for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl Send for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl Send for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl Send for register",1,["mcaptcha::api::v1::auth::register"]],["impl Send for login",1,["mcaptcha::api::v1::auth::login"]],["impl Send for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl Send for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl Send for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl Send for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl Send for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl Send for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl Send for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl Send for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl Send for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl Send for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl Send for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl Send for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl Send for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl Send for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl Send for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl Send for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl Send for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl Send for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl Send for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl Send for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl Send for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl Send for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl Send for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl Send for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl Send for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl Send for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl Send for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl Send for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl Send for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl Send for health",1,["mcaptcha::api::v1::meta::health"]],["impl Send for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl Send for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl Send for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl Send for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl Send for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl Send for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl Send for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl Send for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl Send for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl Send for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl Send for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl Send for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl Send for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl Send for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl Send for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl Send for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl Send for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl Send for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl Send for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl Send for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl Send for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl Send for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl Send for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl Send for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl Send for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl Send for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl Send for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl Send for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl Send for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl Send for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl Send for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl Send for download",1,["mcaptcha::api::v1::survey::download"]],["impl Send for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl Send for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl Send for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl Send for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl Send for Data",1,["mcaptcha::data::Data"]],["impl Send for Date",1,["mcaptcha::date::Date"]],["impl Send for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl Send for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl Send for Asset",1,["mcaptcha::docs::Asset"]],["impl Send for dist",1,["mcaptcha::docs::dist"]],["impl Send for spec",1,["mcaptcha::docs::spec"]],["impl Send for index",1,["mcaptcha::docs::index"]],["impl<'a> Send for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl Send for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl Send for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl Send for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl Send for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl Send for PageError",1,["mcaptcha::errors::PageError"]],["impl Send for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl Send for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl Send for login",1,["mcaptcha::pages::auth::login::login"]],["impl Send for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl Send for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl Send for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> Send for SudoPage<'a, K, V>where\n    K: Send,\n    V: Send,",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl Send for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl Send for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> Send for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl Send for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl Send for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl Send for error",1,["mcaptcha::pages::errors::error"]],["impl Send for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl Send for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl Send for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl Send for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> Send for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl Send for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl Send for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl Send for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl Send for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl Send for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> Send for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl Send for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> Send for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl Send for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl Send for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl Send for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl Send for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> Send for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl Send for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl Send for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl Send for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl Send for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl Send for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl Send for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl Send for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl Send for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl Send for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl Send for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl Send for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl Send for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl Send for panel",1,["mcaptcha::pages::panel::panel"]],["impl Send for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl Send for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl Send for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl Send for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl Send for Server",1,["mcaptcha::settings::Server"]],["impl Send for Captcha",1,["mcaptcha::settings::Captcha"]],["impl Send for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl Send for Smtp",1,["mcaptcha::settings::Smtp"]],["impl Send for DBType",1,["mcaptcha::settings::DBType"]],["impl Send for Database",1,["mcaptcha::settings::Database"]],["impl Send for Redis",1,["mcaptcha::settings::Redis"]],["impl Send for Survey",1,["mcaptcha::settings::Survey"]],["impl Send for Settings",1,["mcaptcha::settings::Settings"]],["impl Send for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl Send for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl Send for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl Send for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl Send for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl Send for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl Send for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl Send for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl Send for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl Send for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl Send for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl Send for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl Send for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl Send for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl Send for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl Send for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl Send for Real",1,["mcaptcha::stats::Real"]],["impl Send for Dummy",1,["mcaptcha::stats::Dummy"]],["impl Send for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl Send for Survey",1,["mcaptcha::survey::Survey"]],["impl Send for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl Send for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl Send for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl Send for show_widget",1,["mcaptcha::widget::show_widget"]],["impl Send for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl Send for FILES",1,["mcaptcha::FILES"]],["impl Send for JS",1,["mcaptcha::JS"]],["impl Send for CSS",1,["mcaptcha::CSS"]],["impl Send for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl Send for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl Send for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl Send for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]]
    +"mcaptcha":[["impl Send for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl Send for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl Send for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl Send for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl Send for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl Send for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl Send for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl Send for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl Send for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl Send for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl Send for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl Send for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl Send for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl Send for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl Send for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl Send for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl Send for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl Send for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl Send for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl Send for register",1,["mcaptcha::api::v1::auth::register"]],["impl Send for login",1,["mcaptcha::api::v1::auth::login"]],["impl Send for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl Send for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl Send for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl Send for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl Send for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl Send for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl Send for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl Send for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl Send for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl Send for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl Send for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl Send for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl Send for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl Send for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl Send for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl Send for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl Send for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl Send for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl Send for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl Send for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl Send for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl Send for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl Send for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl Send for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl Send for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl Send for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl Send for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl Send for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl Send for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl Send for health",1,["mcaptcha::api::v1::meta::health"]],["impl Send for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl Send for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl Send for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl Send for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl Send for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl Send for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl Send for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl Send for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl Send for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl Send for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl Send for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl Send for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl Send for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl Send for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl Send for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl Send for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl Send for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl Send for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl Send for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl Send for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl Send for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl Send for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl Send for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl Send for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl Send for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl Send for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl Send for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl Send for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl Send for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl Send for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl Send for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl Send for download",1,["mcaptcha::api::v1::survey::download"]],["impl Send for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl Send for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl Send for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl Send for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl Send for Data",1,["mcaptcha::data::Data"]],["impl Send for Date",1,["mcaptcha::date::Date"]],["impl Send for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl Send for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl Send for Asset",1,["mcaptcha::docs::Asset"]],["impl Send for dist",1,["mcaptcha::docs::dist"]],["impl Send for spec",1,["mcaptcha::docs::spec"]],["impl Send for index",1,["mcaptcha::docs::index"]],["impl Send for UpdateEasyCaptcha",1,["mcaptcha::easy::UpdateEasyCaptcha"]],["impl<'a> Send for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl Send for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl Send for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl Send for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl Send for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl Send for PageError",1,["mcaptcha::errors::PageError"]],["impl Send for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl Send for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl Send for login",1,["mcaptcha::pages::auth::login::login"]],["impl Send for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl Send for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl Send for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> Send for SudoPage<'a, K, V>where\n    K: Send,\n    V: Send,",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl Send for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl Send for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> Send for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl Send for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl Send for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl Send for error",1,["mcaptcha::pages::errors::error"]],["impl Send for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl Send for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl Send for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl Send for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> Send for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl Send for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl Send for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl Send for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl Send for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl Send for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> Send for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl Send for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> Send for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl Send for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl Send for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl Send for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl Send for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> Send for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl Send for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl Send for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl Send for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl Send for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl Send for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl Send for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl Send for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl Send for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl Send for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl Send for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl Send for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl Send for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl Send for panel",1,["mcaptcha::pages::panel::panel"]],["impl Send for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl Send for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl Send for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl Send for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl Send for Server",1,["mcaptcha::settings::Server"]],["impl Send for Captcha",1,["mcaptcha::settings::Captcha"]],["impl Send for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl Send for Smtp",1,["mcaptcha::settings::Smtp"]],["impl Send for DBType",1,["mcaptcha::settings::DBType"]],["impl Send for Database",1,["mcaptcha::settings::Database"]],["impl Send for Redis",1,["mcaptcha::settings::Redis"]],["impl Send for Survey",1,["mcaptcha::settings::Survey"]],["impl Send for Settings",1,["mcaptcha::settings::Settings"]],["impl Send for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl Send for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl Send for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl Send for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl Send for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl Send for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl Send for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl Send for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl Send for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl Send for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl Send for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl Send for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl Send for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl Send for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl Send for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl Send for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl Send for Real",1,["mcaptcha::stats::Real"]],["impl Send for Dummy",1,["mcaptcha::stats::Dummy"]],["impl Send for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl Send for Survey",1,["mcaptcha::survey::Survey"]],["impl Send for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl Send for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl Send for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl Send for show_widget",1,["mcaptcha::widget::show_widget"]],["impl Send for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl Send for FILES",1,["mcaptcha::FILES"]],["impl Send for JS",1,["mcaptcha::JS"]],["impl Send for CSS",1,["mcaptcha::CSS"]],["impl Send for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl Send for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl Send for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl Send for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/trait.impl/core/marker/trait.StructuralPartialEq.js b/trait.impl/core/marker/trait.StructuralPartialEq.js
    index 4706bd0c..66821f08 100644
    --- a/trait.impl/core/marker/trait.StructuralPartialEq.js
    +++ b/trait.impl/core/marker/trait.StructuralPartialEq.js
    @@ -1,5 +1,5 @@
     (function() {var implementors = {
    -"db_core":[["impl<'a> StructuralPartialEq for AddNotification<'a>"],["impl StructuralPartialEq for Notification"],["impl<'a> StructuralPartialEq for Register<'a>"],["impl<'a> StructuralPartialEq for UpdateEmail<'a>"],["impl StructuralPartialEq for PerformanceAnalytics"],["impl StructuralPartialEq for Captcha"],["impl StructuralPartialEq for TrafficPattern"],["impl<'a> StructuralPartialEq for CreateCaptcha<'a>"],["impl StructuralPartialEq for Secret"],["impl StructuralPartialEq for StatsUnixTimestamp"],["impl StructuralPartialEq for NameHash"],["impl StructuralPartialEq for CreatePerformanceAnalytics"],["impl<'a> StructuralPartialEq for Login<'a>"]],
    +"db_core":[["impl<'a> StructuralPartialEq for AddNotification<'a>"],["impl StructuralPartialEq for Secret"],["impl StructuralPartialEq for Notification"],["impl<'a> StructuralPartialEq for Register<'a>"],["impl<'a> StructuralPartialEq for UpdateEmail<'a>"],["impl StructuralPartialEq for PerformanceAnalytics"],["impl<'a> StructuralPartialEq for CreateCaptcha<'a>"],["impl StructuralPartialEq for EasyCaptcha"],["impl StructuralPartialEq for StatsUnixTimestamp"],["impl StructuralPartialEq for Captcha"],["impl StructuralPartialEq for NameHash"],["impl StructuralPartialEq for CreatePerformanceAnalytics"],["impl<'a> StructuralPartialEq for Login<'a>"],["impl StructuralPartialEq for TrafficPattern"]],
     "db_sqlx_maria":[["impl StructuralPartialEq for InnerNotification"]],
     "db_sqlx_postgres":[["impl StructuralPartialEq for InnerNotification"]],
     "mcaptcha":[["impl StructuralPartialEq for Smtp"],["impl StructuralPartialEq for NotificationResp"],["impl StructuralPartialEq for Page"],["impl StructuralPartialEq for ServiceError"],["impl StructuralPartialEq for DBType"],["impl StructuralPartialEq for Redis"],["impl StructuralPartialEq for Real"],["impl StructuralPartialEq for DefaultDifficultyStrategy"],["impl StructuralPartialEq for Database"],["impl StructuralPartialEq for PageError"],["impl StructuralPartialEq for CaptchaStats"],["impl StructuralPartialEq for AddNotificationRequest"],["impl StructuralPartialEq for Server"],["impl StructuralPartialEq for Settings"],["impl StructuralPartialEq for Survey"],["impl StructuralPartialEq for Captcha"],["impl StructuralPartialEq for Dummy"],["impl StructuralPartialEq for Stats"]]
    diff --git a/trait.impl/core/marker/trait.Sync.js b/trait.impl/core/marker/trait.Sync.js
    index 955ca10b..c083a354 100644
    --- a/trait.impl/core/marker/trait.Sync.js
    +++ b/trait.impl/core/marker/trait.Sync.js
    @@ -1,6 +1,6 @@
     (function() {var implementors = {
    -"db_core":[["impl Sync for DBError",1,["db_core::errors::DBError"]],["impl<'a> Sync for Register<'a>",1,["db_core::Register"]],["impl<'a> Sync for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> Sync for Login<'a>",1,["db_core::Login"]],["impl Sync for NameHash",1,["db_core::NameHash"]],["impl Sync for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl Sync for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl Sync for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl Sync for Notification",1,["db_core::Notification"]],["impl<'a> Sync for AddNotification<'a>",1,["db_core::AddNotification"]],["impl Sync for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> Sync for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl Sync for Captcha",1,["db_core::Captcha"]],["impl Sync for Secret",1,["db_core::Secret"]]],
    +"db_core":[["impl Sync for DBError",1,["db_core::errors::DBError"]],["impl<'a> Sync for Register<'a>",1,["db_core::Register"]],["impl<'a> Sync for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> Sync for Login<'a>",1,["db_core::Login"]],["impl Sync for NameHash",1,["db_core::NameHash"]],["impl Sync for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl Sync for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl Sync for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl Sync for Notification",1,["db_core::Notification"]],["impl<'a> Sync for AddNotification<'a>",1,["db_core::AddNotification"]],["impl Sync for EasyCaptcha",1,["db_core::EasyCaptcha"]],["impl Sync for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> Sync for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl Sync for Captcha",1,["db_core::Captcha"]],["impl Sync for Secret",1,["db_core::Secret"]]],
     "db_sqlx_maria":[["impl Sync for Database",1,["db_sqlx_maria::Database"]],["impl Sync for Conn",1,["db_sqlx_maria::Conn"]],["impl Sync for ConnectionOptions",1,["db_sqlx_maria::ConnectionOptions"]],["impl Sync for Fresh",1,["db_sqlx_maria::Fresh"]],["impl Sync for InnerNotification",1,["db_sqlx_maria::InnerNotification"]]],
     "db_sqlx_postgres":[["impl Sync for Database",1,["db_sqlx_postgres::Database"]],["impl Sync for Conn",1,["db_sqlx_postgres::Conn"]],["impl Sync for ConnectionOptions",1,["db_sqlx_postgres::ConnectionOptions"]],["impl Sync for Fresh",1,["db_sqlx_postgres::Fresh"]],["impl Sync for InnerNotification",1,["db_sqlx_postgres::InnerNotification"]]],
    -"mcaptcha":[["impl Sync for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl Sync for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl Sync for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl Sync for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl Sync for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl Sync for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl Sync for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl Sync for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl Sync for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl Sync for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl Sync for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl Sync for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl Sync for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl Sync for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl Sync for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl Sync for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl Sync for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl Sync for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl Sync for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl Sync for register",1,["mcaptcha::api::v1::auth::register"]],["impl Sync for login",1,["mcaptcha::api::v1::auth::login"]],["impl Sync for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl Sync for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl Sync for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl Sync for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl Sync for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl Sync for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl Sync for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl Sync for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl Sync for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl Sync for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl Sync for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl Sync for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl Sync for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl Sync for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl Sync for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl Sync for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl Sync for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl Sync for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl Sync for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl Sync for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl Sync for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl Sync for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl Sync for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl Sync for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl Sync for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl Sync for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl Sync for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl Sync for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl Sync for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl Sync for health",1,["mcaptcha::api::v1::meta::health"]],["impl Sync for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl Sync for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl Sync for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl Sync for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl Sync for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl Sync for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl Sync for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl Sync for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl Sync for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl Sync for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl Sync for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl Sync for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl Sync for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl Sync for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl Sync for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl Sync for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl Sync for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl Sync for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl Sync for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl Sync for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl Sync for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl Sync for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl Sync for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl Sync for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl Sync for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl Sync for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl Sync for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl Sync for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl Sync for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl Sync for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl Sync for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl Sync for download",1,["mcaptcha::api::v1::survey::download"]],["impl Sync for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl Sync for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl Sync for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl Sync for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl Sync for Data",1,["mcaptcha::data::Data"]],["impl Sync for Date",1,["mcaptcha::date::Date"]],["impl Sync for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl Sync for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl Sync for Asset",1,["mcaptcha::docs::Asset"]],["impl Sync for dist",1,["mcaptcha::docs::dist"]],["impl Sync for spec",1,["mcaptcha::docs::spec"]],["impl Sync for index",1,["mcaptcha::docs::index"]],["impl<'a> Sync for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl Sync for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl Sync for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl Sync for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl Sync for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl Sync for PageError",1,["mcaptcha::errors::PageError"]],["impl Sync for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl Sync for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl Sync for login",1,["mcaptcha::pages::auth::login::login"]],["impl Sync for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl Sync for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl Sync for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> Sync for SudoPage<'a, K, V>where\n    K: Sync,\n    V: Sync,",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl Sync for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl Sync for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> Sync for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl Sync for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl Sync for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl Sync for error",1,["mcaptcha::pages::errors::error"]],["impl Sync for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl Sync for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl Sync for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl Sync for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> Sync for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl Sync for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl Sync for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl Sync for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl Sync for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl Sync for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> Sync for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl Sync for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> Sync for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl Sync for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl Sync for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl Sync for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl Sync for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> Sync for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl Sync for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl Sync for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl Sync for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl Sync for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl Sync for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl Sync for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl Sync for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl Sync for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl Sync for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl Sync for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl Sync for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl Sync for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl Sync for panel",1,["mcaptcha::pages::panel::panel"]],["impl Sync for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl Sync for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl Sync for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl Sync for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl Sync for Server",1,["mcaptcha::settings::Server"]],["impl Sync for Captcha",1,["mcaptcha::settings::Captcha"]],["impl Sync for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl Sync for Smtp",1,["mcaptcha::settings::Smtp"]],["impl Sync for DBType",1,["mcaptcha::settings::DBType"]],["impl Sync for Database",1,["mcaptcha::settings::Database"]],["impl Sync for Redis",1,["mcaptcha::settings::Redis"]],["impl Sync for Survey",1,["mcaptcha::settings::Survey"]],["impl Sync for Settings",1,["mcaptcha::settings::Settings"]],["impl Sync for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl Sync for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl Sync for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl Sync for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl Sync for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl Sync for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl Sync for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl Sync for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl Sync for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl Sync for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl Sync for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl Sync for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl Sync for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl Sync for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl Sync for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl Sync for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl Sync for Real",1,["mcaptcha::stats::Real"]],["impl Sync for Dummy",1,["mcaptcha::stats::Dummy"]],["impl Sync for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl Sync for Survey",1,["mcaptcha::survey::Survey"]],["impl Sync for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl Sync for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl Sync for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl Sync for show_widget",1,["mcaptcha::widget::show_widget"]],["impl Sync for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl Sync for FILES",1,["mcaptcha::FILES"]],["impl Sync for JS",1,["mcaptcha::JS"]],["impl Sync for CSS",1,["mcaptcha::CSS"]],["impl Sync for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl Sync for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl Sync for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl Sync for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]]
    +"mcaptcha":[["impl Sync for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl Sync for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl Sync for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl Sync for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl Sync for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl Sync for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl Sync for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl Sync for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl Sync for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl Sync for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl Sync for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl Sync for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl Sync for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl Sync for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl Sync for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl Sync for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl Sync for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl Sync for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl Sync for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl Sync for register",1,["mcaptcha::api::v1::auth::register"]],["impl Sync for login",1,["mcaptcha::api::v1::auth::login"]],["impl Sync for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl Sync for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl Sync for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl Sync for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl Sync for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl Sync for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl Sync for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl Sync for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl Sync for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl Sync for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl Sync for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl Sync for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl Sync for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl Sync for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl Sync for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl Sync for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl Sync for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl Sync for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl Sync for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl Sync for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl Sync for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl Sync for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl Sync for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl Sync for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl Sync for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl Sync for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl Sync for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl Sync for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl Sync for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl Sync for health",1,["mcaptcha::api::v1::meta::health"]],["impl Sync for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl Sync for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl Sync for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl Sync for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl Sync for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl Sync for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl Sync for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl Sync for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl Sync for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl Sync for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl Sync for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl Sync for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl Sync for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl Sync for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl Sync for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl Sync for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl Sync for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl Sync for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl Sync for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl Sync for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl Sync for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl Sync for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl Sync for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl Sync for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl Sync for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl Sync for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl Sync for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl Sync for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl Sync for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl Sync for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl Sync for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl Sync for download",1,["mcaptcha::api::v1::survey::download"]],["impl Sync for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl Sync for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl Sync for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl Sync for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl Sync for Data",1,["mcaptcha::data::Data"]],["impl Sync for Date",1,["mcaptcha::date::Date"]],["impl Sync for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl Sync for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl Sync for Asset",1,["mcaptcha::docs::Asset"]],["impl Sync for dist",1,["mcaptcha::docs::dist"]],["impl Sync for spec",1,["mcaptcha::docs::spec"]],["impl Sync for index",1,["mcaptcha::docs::index"]],["impl Sync for UpdateEasyCaptcha",1,["mcaptcha::easy::UpdateEasyCaptcha"]],["impl<'a> Sync for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl Sync for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl Sync for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl Sync for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl Sync for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl Sync for PageError",1,["mcaptcha::errors::PageError"]],["impl Sync for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl Sync for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl Sync for login",1,["mcaptcha::pages::auth::login::login"]],["impl Sync for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl Sync for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl Sync for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> Sync for SudoPage<'a, K, V>where\n    K: Sync,\n    V: Sync,",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl Sync for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl Sync for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> Sync for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl Sync for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl Sync for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl Sync for error",1,["mcaptcha::pages::errors::error"]],["impl Sync for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl Sync for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl Sync for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl Sync for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> Sync for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl Sync for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl Sync for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl Sync for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl Sync for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl Sync for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> Sync for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl Sync for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> Sync for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl Sync for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl Sync for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl Sync for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl Sync for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> Sync for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl Sync for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl Sync for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl Sync for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl Sync for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl Sync for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl Sync for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl Sync for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl Sync for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl Sync for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl Sync for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl Sync for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl Sync for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl Sync for panel",1,["mcaptcha::pages::panel::panel"]],["impl Sync for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl Sync for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl Sync for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl Sync for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl Sync for Server",1,["mcaptcha::settings::Server"]],["impl Sync for Captcha",1,["mcaptcha::settings::Captcha"]],["impl Sync for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl Sync for Smtp",1,["mcaptcha::settings::Smtp"]],["impl Sync for DBType",1,["mcaptcha::settings::DBType"]],["impl Sync for Database",1,["mcaptcha::settings::Database"]],["impl Sync for Redis",1,["mcaptcha::settings::Redis"]],["impl Sync for Survey",1,["mcaptcha::settings::Survey"]],["impl Sync for Settings",1,["mcaptcha::settings::Settings"]],["impl Sync for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl Sync for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl Sync for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl Sync for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl Sync for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl Sync for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl Sync for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl Sync for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl Sync for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl Sync for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl Sync for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl Sync for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl Sync for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl Sync for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl Sync for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl Sync for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl Sync for Real",1,["mcaptcha::stats::Real"]],["impl Sync for Dummy",1,["mcaptcha::stats::Dummy"]],["impl Sync for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl Sync for Survey",1,["mcaptcha::survey::Survey"]],["impl Sync for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl Sync for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl Sync for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl Sync for show_widget",1,["mcaptcha::widget::show_widget"]],["impl Sync for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl Sync for FILES",1,["mcaptcha::FILES"]],["impl Sync for JS",1,["mcaptcha::JS"]],["impl Sync for CSS",1,["mcaptcha::CSS"]],["impl Sync for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl Sync for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl Sync for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl Sync for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/trait.impl/core/marker/trait.Unpin.js b/trait.impl/core/marker/trait.Unpin.js
    index 21cb5b85..47a59227 100644
    --- a/trait.impl/core/marker/trait.Unpin.js
    +++ b/trait.impl/core/marker/trait.Unpin.js
    @@ -1,6 +1,6 @@
     (function() {var implementors = {
    -"db_core":[["impl Unpin for DBError",1,["db_core::errors::DBError"]],["impl<'a> Unpin for Register<'a>",1,["db_core::Register"]],["impl<'a> Unpin for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> Unpin for Login<'a>",1,["db_core::Login"]],["impl Unpin for NameHash",1,["db_core::NameHash"]],["impl Unpin for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl Unpin for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl Unpin for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl Unpin for Notification",1,["db_core::Notification"]],["impl<'a> Unpin for AddNotification<'a>",1,["db_core::AddNotification"]],["impl Unpin for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> Unpin for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl Unpin for Captcha",1,["db_core::Captcha"]],["impl Unpin for Secret",1,["db_core::Secret"]]],
    +"db_core":[["impl Unpin for DBError",1,["db_core::errors::DBError"]],["impl<'a> Unpin for Register<'a>",1,["db_core::Register"]],["impl<'a> Unpin for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> Unpin for Login<'a>",1,["db_core::Login"]],["impl Unpin for NameHash",1,["db_core::NameHash"]],["impl Unpin for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl Unpin for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl Unpin for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl Unpin for Notification",1,["db_core::Notification"]],["impl<'a> Unpin for AddNotification<'a>",1,["db_core::AddNotification"]],["impl Unpin for EasyCaptcha",1,["db_core::EasyCaptcha"]],["impl Unpin for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> Unpin for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl Unpin for Captcha",1,["db_core::Captcha"]],["impl Unpin for Secret",1,["db_core::Secret"]]],
     "db_sqlx_maria":[["impl Unpin for Database",1,["db_sqlx_maria::Database"]],["impl Unpin for Conn",1,["db_sqlx_maria::Conn"]],["impl Unpin for ConnectionOptions",1,["db_sqlx_maria::ConnectionOptions"]],["impl Unpin for Fresh",1,["db_sqlx_maria::Fresh"]],["impl Unpin for InnerNotification",1,["db_sqlx_maria::InnerNotification"]]],
     "db_sqlx_postgres":[["impl Unpin for Database",1,["db_sqlx_postgres::Database"]],["impl Unpin for Conn",1,["db_sqlx_postgres::Conn"]],["impl Unpin for ConnectionOptions",1,["db_sqlx_postgres::ConnectionOptions"]],["impl Unpin for Fresh",1,["db_sqlx_postgres::Fresh"]],["impl Unpin for InnerNotification",1,["db_sqlx_postgres::InnerNotification"]]],
    -"mcaptcha":[["impl Unpin for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl Unpin for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl Unpin for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl Unpin for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl Unpin for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl Unpin for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl Unpin for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl Unpin for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl Unpin for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl Unpin for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl Unpin for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl Unpin for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl Unpin for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl Unpin for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl Unpin for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl Unpin for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl Unpin for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl Unpin for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl Unpin for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl Unpin for register",1,["mcaptcha::api::v1::auth::register"]],["impl Unpin for login",1,["mcaptcha::api::v1::auth::login"]],["impl Unpin for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl Unpin for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl Unpin for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl Unpin for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl Unpin for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl Unpin for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl Unpin for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl Unpin for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl Unpin for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl Unpin for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl Unpin for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl Unpin for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl Unpin for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl Unpin for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl Unpin for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl Unpin for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl Unpin for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl Unpin for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl Unpin for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl Unpin for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl Unpin for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl Unpin for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl Unpin for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl Unpin for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl Unpin for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl Unpin for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl Unpin for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl Unpin for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl Unpin for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl Unpin for health",1,["mcaptcha::api::v1::meta::health"]],["impl Unpin for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl Unpin for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl Unpin for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl Unpin for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl Unpin for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl Unpin for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl Unpin for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl Unpin for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl Unpin for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl Unpin for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl Unpin for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl Unpin for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl Unpin for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl Unpin for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl Unpin for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl Unpin for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl Unpin for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl Unpin for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl Unpin for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl Unpin for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl Unpin for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl Unpin for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl Unpin for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl Unpin for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl Unpin for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl Unpin for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl Unpin for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl Unpin for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl Unpin for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl Unpin for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl Unpin for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl Unpin for download",1,["mcaptcha::api::v1::survey::download"]],["impl Unpin for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl Unpin for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl Unpin for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl Unpin for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl Unpin for Data",1,["mcaptcha::data::Data"]],["impl Unpin for Date",1,["mcaptcha::date::Date"]],["impl Unpin for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl Unpin for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl Unpin for Asset",1,["mcaptcha::docs::Asset"]],["impl Unpin for dist",1,["mcaptcha::docs::dist"]],["impl Unpin for spec",1,["mcaptcha::docs::spec"]],["impl Unpin for index",1,["mcaptcha::docs::index"]],["impl<'a> Unpin for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl Unpin for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl Unpin for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl Unpin for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl Unpin for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl Unpin for PageError",1,["mcaptcha::errors::PageError"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl Unpin for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl Unpin for login",1,["mcaptcha::pages::auth::login::login"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl Unpin for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl Unpin for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> Unpin for SudoPage<'a, K, V>where\n    K: Unpin,\n    V: Unpin,",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl Unpin for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl Unpin for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> Unpin for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl Unpin for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl Unpin for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl Unpin for error",1,["mcaptcha::pages::errors::error"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl Unpin for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl Unpin for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl Unpin for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> Unpin for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl Unpin for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl Unpin for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl Unpin for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl Unpin for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl Unpin for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> Unpin for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl Unpin for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> Unpin for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl Unpin for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl Unpin for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl Unpin for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl Unpin for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> Unpin for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl Unpin for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl Unpin for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl Unpin for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl Unpin for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl Unpin for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl Unpin for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl Unpin for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl Unpin for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl Unpin for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl Unpin for panel",1,["mcaptcha::pages::panel::panel"]],["impl Unpin for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl Unpin for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl Unpin for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl Unpin for Server",1,["mcaptcha::settings::Server"]],["impl Unpin for Captcha",1,["mcaptcha::settings::Captcha"]],["impl Unpin for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl Unpin for Smtp",1,["mcaptcha::settings::Smtp"]],["impl Unpin for DBType",1,["mcaptcha::settings::DBType"]],["impl Unpin for Database",1,["mcaptcha::settings::Database"]],["impl Unpin for Redis",1,["mcaptcha::settings::Redis"]],["impl Unpin for Survey",1,["mcaptcha::settings::Survey"]],["impl Unpin for Settings",1,["mcaptcha::settings::Settings"]],["impl Unpin for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl Unpin for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl Unpin for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl Unpin for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl Unpin for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl Unpin for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl Unpin for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl Unpin for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl Unpin for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl Unpin for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl Unpin for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl Unpin for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl Unpin for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl Unpin for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl Unpin for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl Unpin for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl Unpin for Real",1,["mcaptcha::stats::Real"]],["impl Unpin for Dummy",1,["mcaptcha::stats::Dummy"]],["impl Unpin for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl Unpin for Survey",1,["mcaptcha::survey::Survey"]],["impl Unpin for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl Unpin for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl Unpin for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl Unpin for show_widget",1,["mcaptcha::widget::show_widget"]],["impl Unpin for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl Unpin for FILES",1,["mcaptcha::FILES"]],["impl Unpin for JS",1,["mcaptcha::JS"]],["impl Unpin for CSS",1,["mcaptcha::CSS"]],["impl Unpin for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl Unpin for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl Unpin for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl Unpin for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]]
    +"mcaptcha":[["impl Unpin for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl Unpin for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl Unpin for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl Unpin for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl Unpin for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl Unpin for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl Unpin for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl Unpin for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl Unpin for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl Unpin for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl Unpin for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl Unpin for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl Unpin for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl Unpin for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl Unpin for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl Unpin for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl Unpin for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl Unpin for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl Unpin for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl Unpin for register",1,["mcaptcha::api::v1::auth::register"]],["impl Unpin for login",1,["mcaptcha::api::v1::auth::login"]],["impl Unpin for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl Unpin for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl Unpin for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl Unpin for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl Unpin for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl Unpin for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl Unpin for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl Unpin for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl Unpin for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl Unpin for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl Unpin for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl Unpin for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl Unpin for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl Unpin for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl Unpin for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl Unpin for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl Unpin for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl Unpin for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl Unpin for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl Unpin for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl Unpin for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl Unpin for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl Unpin for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl Unpin for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl Unpin for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl Unpin for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl Unpin for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl Unpin for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl Unpin for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl Unpin for health",1,["mcaptcha::api::v1::meta::health"]],["impl Unpin for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl Unpin for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl Unpin for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl Unpin for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl Unpin for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl Unpin for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl Unpin for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl Unpin for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl Unpin for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl Unpin for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl Unpin for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl Unpin for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl Unpin for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl Unpin for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl Unpin for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl Unpin for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl Unpin for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl Unpin for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl Unpin for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl Unpin for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl Unpin for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl Unpin for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl Unpin for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl Unpin for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl Unpin for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl Unpin for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl Unpin for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl Unpin for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl Unpin for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl Unpin for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl Unpin for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl Unpin for download",1,["mcaptcha::api::v1::survey::download"]],["impl Unpin for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl Unpin for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl Unpin for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl Unpin for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl Unpin for Data",1,["mcaptcha::data::Data"]],["impl Unpin for Date",1,["mcaptcha::date::Date"]],["impl Unpin for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl Unpin for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl Unpin for Asset",1,["mcaptcha::docs::Asset"]],["impl Unpin for dist",1,["mcaptcha::docs::dist"]],["impl Unpin for spec",1,["mcaptcha::docs::spec"]],["impl Unpin for index",1,["mcaptcha::docs::index"]],["impl Unpin for UpdateEasyCaptcha",1,["mcaptcha::easy::UpdateEasyCaptcha"]],["impl<'a> Unpin for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl Unpin for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl Unpin for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl Unpin for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl Unpin for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl Unpin for PageError",1,["mcaptcha::errors::PageError"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl Unpin for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl Unpin for login",1,["mcaptcha::pages::auth::login::login"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl Unpin for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl Unpin for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> Unpin for SudoPage<'a, K, V>where\n    K: Unpin,\n    V: Unpin,",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl Unpin for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl Unpin for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> Unpin for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl Unpin for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl Unpin for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl Unpin for error",1,["mcaptcha::pages::errors::error"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl Unpin for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl Unpin for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl Unpin for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> Unpin for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl Unpin for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl Unpin for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl Unpin for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl Unpin for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl Unpin for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> Unpin for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl Unpin for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> Unpin for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl Unpin for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl Unpin for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl Unpin for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl Unpin for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> Unpin for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl Unpin for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl Unpin for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl Unpin for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl Unpin for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl Unpin for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl Unpin for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl Unpin for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl Unpin for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl Unpin for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl Unpin for panel",1,["mcaptcha::pages::panel::panel"]],["impl Unpin for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl Unpin for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl Unpin for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl Unpin for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl Unpin for Server",1,["mcaptcha::settings::Server"]],["impl Unpin for Captcha",1,["mcaptcha::settings::Captcha"]],["impl Unpin for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl Unpin for Smtp",1,["mcaptcha::settings::Smtp"]],["impl Unpin for DBType",1,["mcaptcha::settings::DBType"]],["impl Unpin for Database",1,["mcaptcha::settings::Database"]],["impl Unpin for Redis",1,["mcaptcha::settings::Redis"]],["impl Unpin for Survey",1,["mcaptcha::settings::Survey"]],["impl Unpin for Settings",1,["mcaptcha::settings::Settings"]],["impl Unpin for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl Unpin for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl Unpin for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl Unpin for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl Unpin for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl Unpin for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl Unpin for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl Unpin for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl Unpin for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl Unpin for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl Unpin for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl Unpin for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl Unpin for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl Unpin for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl Unpin for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl Unpin for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl Unpin for Real",1,["mcaptcha::stats::Real"]],["impl Unpin for Dummy",1,["mcaptcha::stats::Dummy"]],["impl Unpin for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl Unpin for Survey",1,["mcaptcha::survey::Survey"]],["impl Unpin for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl Unpin for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl Unpin for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl Unpin for show_widget",1,["mcaptcha::widget::show_widget"]],["impl Unpin for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl Unpin for FILES",1,["mcaptcha::FILES"]],["impl Unpin for JS",1,["mcaptcha::JS"]],["impl Unpin for CSS",1,["mcaptcha::CSS"]],["impl Unpin for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl Unpin for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl Unpin for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl Unpin for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js
    index 474b41a0..2feb9a74 100644
    --- a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js
    +++ b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js
    @@ -1,6 +1,6 @@
     (function() {var implementors = {
    -"db_core":[["impl !RefUnwindSafe for DBError",1,["db_core::errors::DBError"]],["impl<'a> RefUnwindSafe for Register<'a>",1,["db_core::Register"]],["impl<'a> RefUnwindSafe for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> RefUnwindSafe for Login<'a>",1,["db_core::Login"]],["impl RefUnwindSafe for NameHash",1,["db_core::NameHash"]],["impl RefUnwindSafe for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl RefUnwindSafe for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl RefUnwindSafe for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl RefUnwindSafe for Notification",1,["db_core::Notification"]],["impl<'a> RefUnwindSafe for AddNotification<'a>",1,["db_core::AddNotification"]],["impl RefUnwindSafe for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> RefUnwindSafe for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl RefUnwindSafe for Captcha",1,["db_core::Captcha"]],["impl RefUnwindSafe for Secret",1,["db_core::Secret"]]],
    +"db_core":[["impl !RefUnwindSafe for DBError",1,["db_core::errors::DBError"]],["impl<'a> RefUnwindSafe for Register<'a>",1,["db_core::Register"]],["impl<'a> RefUnwindSafe for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> RefUnwindSafe for Login<'a>",1,["db_core::Login"]],["impl RefUnwindSafe for NameHash",1,["db_core::NameHash"]],["impl RefUnwindSafe for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl RefUnwindSafe for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl RefUnwindSafe for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl RefUnwindSafe for Notification",1,["db_core::Notification"]],["impl<'a> RefUnwindSafe for AddNotification<'a>",1,["db_core::AddNotification"]],["impl RefUnwindSafe for EasyCaptcha",1,["db_core::EasyCaptcha"]],["impl RefUnwindSafe for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> RefUnwindSafe for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl RefUnwindSafe for Captcha",1,["db_core::Captcha"]],["impl RefUnwindSafe for Secret",1,["db_core::Secret"]]],
     "db_sqlx_maria":[["impl !RefUnwindSafe for Database",1,["db_sqlx_maria::Database"]],["impl !RefUnwindSafe for Conn",1,["db_sqlx_maria::Conn"]],["impl !RefUnwindSafe for ConnectionOptions",1,["db_sqlx_maria::ConnectionOptions"]],["impl !RefUnwindSafe for Fresh",1,["db_sqlx_maria::Fresh"]],["impl RefUnwindSafe for InnerNotification",1,["db_sqlx_maria::InnerNotification"]]],
     "db_sqlx_postgres":[["impl !RefUnwindSafe for Database",1,["db_sqlx_postgres::Database"]],["impl !RefUnwindSafe for Conn",1,["db_sqlx_postgres::Conn"]],["impl !RefUnwindSafe for ConnectionOptions",1,["db_sqlx_postgres::ConnectionOptions"]],["impl !RefUnwindSafe for Fresh",1,["db_sqlx_postgres::Fresh"]],["impl RefUnwindSafe for InnerNotification",1,["db_sqlx_postgres::InnerNotification"]]],
    -"mcaptcha":[["impl RefUnwindSafe for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl RefUnwindSafe for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl RefUnwindSafe for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl RefUnwindSafe for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl RefUnwindSafe for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl RefUnwindSafe for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl RefUnwindSafe for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl RefUnwindSafe for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl RefUnwindSafe for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl RefUnwindSafe for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl RefUnwindSafe for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl RefUnwindSafe for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl RefUnwindSafe for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl RefUnwindSafe for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl RefUnwindSafe for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl RefUnwindSafe for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl RefUnwindSafe for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl RefUnwindSafe for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl RefUnwindSafe for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl RefUnwindSafe for register",1,["mcaptcha::api::v1::auth::register"]],["impl RefUnwindSafe for login",1,["mcaptcha::api::v1::auth::login"]],["impl RefUnwindSafe for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl RefUnwindSafe for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl RefUnwindSafe for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl RefUnwindSafe for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl RefUnwindSafe for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl RefUnwindSafe for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl RefUnwindSafe for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl RefUnwindSafe for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl RefUnwindSafe for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl RefUnwindSafe for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl RefUnwindSafe for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl RefUnwindSafe for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl RefUnwindSafe for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl RefUnwindSafe for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl RefUnwindSafe for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl RefUnwindSafe for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl RefUnwindSafe for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl RefUnwindSafe for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl RefUnwindSafe for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl RefUnwindSafe for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl RefUnwindSafe for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl RefUnwindSafe for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl RefUnwindSafe for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl RefUnwindSafe for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl RefUnwindSafe for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl RefUnwindSafe for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl RefUnwindSafe for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl RefUnwindSafe for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl RefUnwindSafe for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl RefUnwindSafe for health",1,["mcaptcha::api::v1::meta::health"]],["impl RefUnwindSafe for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl RefUnwindSafe for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl RefUnwindSafe for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl RefUnwindSafe for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl RefUnwindSafe for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl RefUnwindSafe for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl RefUnwindSafe for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl RefUnwindSafe for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl RefUnwindSafe for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl RefUnwindSafe for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl RefUnwindSafe for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl RefUnwindSafe for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl RefUnwindSafe for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl RefUnwindSafe for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl RefUnwindSafe for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl RefUnwindSafe for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl RefUnwindSafe for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl RefUnwindSafe for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl RefUnwindSafe for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl RefUnwindSafe for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl RefUnwindSafe for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl RefUnwindSafe for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl RefUnwindSafe for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl RefUnwindSafe for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl RefUnwindSafe for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl RefUnwindSafe for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl RefUnwindSafe for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl RefUnwindSafe for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl RefUnwindSafe for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl RefUnwindSafe for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl RefUnwindSafe for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl RefUnwindSafe for download",1,["mcaptcha::api::v1::survey::download"]],["impl RefUnwindSafe for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl RefUnwindSafe for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl RefUnwindSafe for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl !RefUnwindSafe for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl !RefUnwindSafe for Data",1,["mcaptcha::data::Data"]],["impl RefUnwindSafe for Date",1,["mcaptcha::date::Date"]],["impl RefUnwindSafe for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl RefUnwindSafe for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl RefUnwindSafe for Asset",1,["mcaptcha::docs::Asset"]],["impl RefUnwindSafe for dist",1,["mcaptcha::docs::dist"]],["impl RefUnwindSafe for spec",1,["mcaptcha::docs::spec"]],["impl RefUnwindSafe for index",1,["mcaptcha::docs::index"]],["impl<'a> RefUnwindSafe for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl !RefUnwindSafe for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl !RefUnwindSafe for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl !RefUnwindSafe for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl RefUnwindSafe for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl !RefUnwindSafe for PageError",1,["mcaptcha::errors::PageError"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl RefUnwindSafe for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl RefUnwindSafe for login",1,["mcaptcha::pages::auth::login::login"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl RefUnwindSafe for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl RefUnwindSafe for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> RefUnwindSafe for SudoPage<'a, K, V>where\n    K: RefUnwindSafe,\n    V: RefUnwindSafe,",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl RefUnwindSafe for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl RefUnwindSafe for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> RefUnwindSafe for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl RefUnwindSafe for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl RefUnwindSafe for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl RefUnwindSafe for error",1,["mcaptcha::pages::errors::error"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl RefUnwindSafe for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl RefUnwindSafe for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl RefUnwindSafe for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> RefUnwindSafe for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl RefUnwindSafe for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl RefUnwindSafe for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl RefUnwindSafe for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl RefUnwindSafe for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl RefUnwindSafe for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> RefUnwindSafe for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl RefUnwindSafe for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> RefUnwindSafe for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl RefUnwindSafe for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl RefUnwindSafe for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl RefUnwindSafe for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl RefUnwindSafe for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> RefUnwindSafe for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl RefUnwindSafe for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl RefUnwindSafe for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl RefUnwindSafe for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl RefUnwindSafe for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl RefUnwindSafe for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl RefUnwindSafe for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl RefUnwindSafe for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl RefUnwindSafe for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl RefUnwindSafe for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl RefUnwindSafe for panel",1,["mcaptcha::pages::panel::panel"]],["impl RefUnwindSafe for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl RefUnwindSafe for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl RefUnwindSafe for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl RefUnwindSafe for Server",1,["mcaptcha::settings::Server"]],["impl RefUnwindSafe for Captcha",1,["mcaptcha::settings::Captcha"]],["impl RefUnwindSafe for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl RefUnwindSafe for Smtp",1,["mcaptcha::settings::Smtp"]],["impl RefUnwindSafe for DBType",1,["mcaptcha::settings::DBType"]],["impl RefUnwindSafe for Database",1,["mcaptcha::settings::Database"]],["impl RefUnwindSafe for Redis",1,["mcaptcha::settings::Redis"]],["impl RefUnwindSafe for Survey",1,["mcaptcha::settings::Survey"]],["impl RefUnwindSafe for Settings",1,["mcaptcha::settings::Settings"]],["impl RefUnwindSafe for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl RefUnwindSafe for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl RefUnwindSafe for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl RefUnwindSafe for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl RefUnwindSafe for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl RefUnwindSafe for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl RefUnwindSafe for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl RefUnwindSafe for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl RefUnwindSafe for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl RefUnwindSafe for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl RefUnwindSafe for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl RefUnwindSafe for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl RefUnwindSafe for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl RefUnwindSafe for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl RefUnwindSafe for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl RefUnwindSafe for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl RefUnwindSafe for Real",1,["mcaptcha::stats::Real"]],["impl RefUnwindSafe for Dummy",1,["mcaptcha::stats::Dummy"]],["impl RefUnwindSafe for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl !RefUnwindSafe for Survey",1,["mcaptcha::survey::Survey"]],["impl RefUnwindSafe for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl RefUnwindSafe for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl RefUnwindSafe for show_widget",1,["mcaptcha::widget::show_widget"]],["impl RefUnwindSafe for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl RefUnwindSafe for FILES",1,["mcaptcha::FILES"]],["impl RefUnwindSafe for JS",1,["mcaptcha::JS"]],["impl RefUnwindSafe for CSS",1,["mcaptcha::CSS"]],["impl RefUnwindSafe for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl RefUnwindSafe for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl RefUnwindSafe for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl RefUnwindSafe for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]]
    +"mcaptcha":[["impl RefUnwindSafe for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl RefUnwindSafe for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl RefUnwindSafe for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl RefUnwindSafe for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl RefUnwindSafe for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl RefUnwindSafe for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl RefUnwindSafe for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl RefUnwindSafe for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl RefUnwindSafe for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl RefUnwindSafe for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl RefUnwindSafe for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl RefUnwindSafe for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl RefUnwindSafe for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl RefUnwindSafe for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl RefUnwindSafe for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl RefUnwindSafe for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl RefUnwindSafe for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl RefUnwindSafe for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl RefUnwindSafe for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl RefUnwindSafe for register",1,["mcaptcha::api::v1::auth::register"]],["impl RefUnwindSafe for login",1,["mcaptcha::api::v1::auth::login"]],["impl RefUnwindSafe for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl RefUnwindSafe for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl RefUnwindSafe for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl RefUnwindSafe for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl RefUnwindSafe for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl RefUnwindSafe for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl RefUnwindSafe for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl RefUnwindSafe for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl RefUnwindSafe for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl RefUnwindSafe for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl RefUnwindSafe for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl RefUnwindSafe for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl RefUnwindSafe for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl RefUnwindSafe for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl RefUnwindSafe for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl RefUnwindSafe for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl RefUnwindSafe for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl RefUnwindSafe for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl RefUnwindSafe for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl RefUnwindSafe for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl RefUnwindSafe for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl RefUnwindSafe for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl RefUnwindSafe for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl RefUnwindSafe for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl RefUnwindSafe for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl RefUnwindSafe for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl RefUnwindSafe for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl RefUnwindSafe for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl RefUnwindSafe for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl RefUnwindSafe for health",1,["mcaptcha::api::v1::meta::health"]],["impl RefUnwindSafe for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl RefUnwindSafe for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl RefUnwindSafe for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl RefUnwindSafe for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl RefUnwindSafe for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl RefUnwindSafe for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl RefUnwindSafe for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl RefUnwindSafe for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl RefUnwindSafe for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl RefUnwindSafe for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl RefUnwindSafe for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl RefUnwindSafe for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl RefUnwindSafe for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl RefUnwindSafe for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl RefUnwindSafe for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl RefUnwindSafe for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl RefUnwindSafe for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl RefUnwindSafe for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl RefUnwindSafe for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl RefUnwindSafe for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl RefUnwindSafe for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl RefUnwindSafe for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl RefUnwindSafe for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl RefUnwindSafe for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl RefUnwindSafe for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl RefUnwindSafe for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl RefUnwindSafe for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl RefUnwindSafe for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl RefUnwindSafe for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl RefUnwindSafe for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl RefUnwindSafe for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl RefUnwindSafe for download",1,["mcaptcha::api::v1::survey::download"]],["impl RefUnwindSafe for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl RefUnwindSafe for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl RefUnwindSafe for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl !RefUnwindSafe for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl !RefUnwindSafe for Data",1,["mcaptcha::data::Data"]],["impl RefUnwindSafe for Date",1,["mcaptcha::date::Date"]],["impl !RefUnwindSafe for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl RefUnwindSafe for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl RefUnwindSafe for Asset",1,["mcaptcha::docs::Asset"]],["impl RefUnwindSafe for dist",1,["mcaptcha::docs::dist"]],["impl RefUnwindSafe for spec",1,["mcaptcha::docs::spec"]],["impl RefUnwindSafe for index",1,["mcaptcha::docs::index"]],["impl !RefUnwindSafe for UpdateEasyCaptcha",1,["mcaptcha::easy::UpdateEasyCaptcha"]],["impl<'a> RefUnwindSafe for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl !RefUnwindSafe for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl !RefUnwindSafe for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl !RefUnwindSafe for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl RefUnwindSafe for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl !RefUnwindSafe for PageError",1,["mcaptcha::errors::PageError"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl RefUnwindSafe for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl RefUnwindSafe for login",1,["mcaptcha::pages::auth::login::login"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl RefUnwindSafe for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl RefUnwindSafe for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> RefUnwindSafe for SudoPage<'a, K, V>where\n    K: RefUnwindSafe,\n    V: RefUnwindSafe,",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl RefUnwindSafe for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl RefUnwindSafe for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> RefUnwindSafe for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl RefUnwindSafe for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl RefUnwindSafe for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl RefUnwindSafe for error",1,["mcaptcha::pages::errors::error"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl RefUnwindSafe for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl RefUnwindSafe for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl RefUnwindSafe for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> RefUnwindSafe for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl RefUnwindSafe for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl RefUnwindSafe for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl RefUnwindSafe for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl RefUnwindSafe for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl RefUnwindSafe for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> RefUnwindSafe for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl RefUnwindSafe for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> RefUnwindSafe for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl RefUnwindSafe for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl RefUnwindSafe for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl RefUnwindSafe for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl RefUnwindSafe for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> RefUnwindSafe for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl RefUnwindSafe for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl RefUnwindSafe for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl RefUnwindSafe for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl RefUnwindSafe for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl RefUnwindSafe for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl RefUnwindSafe for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl RefUnwindSafe for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl RefUnwindSafe for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl RefUnwindSafe for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl RefUnwindSafe for panel",1,["mcaptcha::pages::panel::panel"]],["impl RefUnwindSafe for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl RefUnwindSafe for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl RefUnwindSafe for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl RefUnwindSafe for Server",1,["mcaptcha::settings::Server"]],["impl RefUnwindSafe for Captcha",1,["mcaptcha::settings::Captcha"]],["impl RefUnwindSafe for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl RefUnwindSafe for Smtp",1,["mcaptcha::settings::Smtp"]],["impl RefUnwindSafe for DBType",1,["mcaptcha::settings::DBType"]],["impl RefUnwindSafe for Database",1,["mcaptcha::settings::Database"]],["impl RefUnwindSafe for Redis",1,["mcaptcha::settings::Redis"]],["impl RefUnwindSafe for Survey",1,["mcaptcha::settings::Survey"]],["impl RefUnwindSafe for Settings",1,["mcaptcha::settings::Settings"]],["impl RefUnwindSafe for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl RefUnwindSafe for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl RefUnwindSafe for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl RefUnwindSafe for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl RefUnwindSafe for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl RefUnwindSafe for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl RefUnwindSafe for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl RefUnwindSafe for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl RefUnwindSafe for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl RefUnwindSafe for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl RefUnwindSafe for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl RefUnwindSafe for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl RefUnwindSafe for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl RefUnwindSafe for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl RefUnwindSafe for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl RefUnwindSafe for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl RefUnwindSafe for Real",1,["mcaptcha::stats::Real"]],["impl RefUnwindSafe for Dummy",1,["mcaptcha::stats::Dummy"]],["impl RefUnwindSafe for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl !RefUnwindSafe for Survey",1,["mcaptcha::survey::Survey"]],["impl RefUnwindSafe for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl RefUnwindSafe for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl RefUnwindSafe for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl RefUnwindSafe for show_widget",1,["mcaptcha::widget::show_widget"]],["impl RefUnwindSafe for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl RefUnwindSafe for FILES",1,["mcaptcha::FILES"]],["impl RefUnwindSafe for JS",1,["mcaptcha::JS"]],["impl RefUnwindSafe for CSS",1,["mcaptcha::CSS"]],["impl RefUnwindSafe for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl RefUnwindSafe for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl RefUnwindSafe for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl RefUnwindSafe for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js
    index 89aaa8aa..e8c439bc 100644
    --- a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js
    +++ b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js
    @@ -1,6 +1,6 @@
     (function() {var implementors = {
    -"db_core":[["impl !UnwindSafe for DBError",1,["db_core::errors::DBError"]],["impl<'a> UnwindSafe for Register<'a>",1,["db_core::Register"]],["impl<'a> UnwindSafe for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> UnwindSafe for Login<'a>",1,["db_core::Login"]],["impl UnwindSafe for NameHash",1,["db_core::NameHash"]],["impl UnwindSafe for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl UnwindSafe for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl UnwindSafe for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl UnwindSafe for Notification",1,["db_core::Notification"]],["impl<'a> UnwindSafe for AddNotification<'a>",1,["db_core::AddNotification"]],["impl UnwindSafe for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> UnwindSafe for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl UnwindSafe for Captcha",1,["db_core::Captcha"]],["impl UnwindSafe for Secret",1,["db_core::Secret"]]],
    +"db_core":[["impl !UnwindSafe for DBError",1,["db_core::errors::DBError"]],["impl<'a> UnwindSafe for Register<'a>",1,["db_core::Register"]],["impl<'a> UnwindSafe for UpdateEmail<'a>",1,["db_core::UpdateEmail"]],["impl<'a> UnwindSafe for Login<'a>",1,["db_core::Login"]],["impl UnwindSafe for NameHash",1,["db_core::NameHash"]],["impl UnwindSafe for CreatePerformanceAnalytics",1,["db_core::CreatePerformanceAnalytics"]],["impl UnwindSafe for PerformanceAnalytics",1,["db_core::PerformanceAnalytics"]],["impl UnwindSafe for StatsUnixTimestamp",1,["db_core::StatsUnixTimestamp"]],["impl UnwindSafe for Notification",1,["db_core::Notification"]],["impl<'a> UnwindSafe for AddNotification<'a>",1,["db_core::AddNotification"]],["impl UnwindSafe for EasyCaptcha",1,["db_core::EasyCaptcha"]],["impl UnwindSafe for TrafficPattern",1,["db_core::TrafficPattern"]],["impl<'a> UnwindSafe for CreateCaptcha<'a>",1,["db_core::CreateCaptcha"]],["impl UnwindSafe for Captcha",1,["db_core::Captcha"]],["impl UnwindSafe for Secret",1,["db_core::Secret"]]],
     "db_sqlx_maria":[["impl !UnwindSafe for Database",1,["db_sqlx_maria::Database"]],["impl !UnwindSafe for Conn",1,["db_sqlx_maria::Conn"]],["impl !UnwindSafe for ConnectionOptions",1,["db_sqlx_maria::ConnectionOptions"]],["impl !UnwindSafe for Fresh",1,["db_sqlx_maria::Fresh"]],["impl UnwindSafe for InnerNotification",1,["db_sqlx_maria::InnerNotification"]]],
     "db_sqlx_postgres":[["impl !UnwindSafe for Database",1,["db_sqlx_postgres::Database"]],["impl !UnwindSafe for Conn",1,["db_sqlx_postgres::Conn"]],["impl !UnwindSafe for ConnectionOptions",1,["db_sqlx_postgres::ConnectionOptions"]],["impl !UnwindSafe for Fresh",1,["db_sqlx_postgres::Fresh"]],["impl UnwindSafe for InnerNotification",1,["db_sqlx_postgres::InnerNotification"]]],
    -"mcaptcha":[["impl UnwindSafe for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl UnwindSafe for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl UnwindSafe for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl UnwindSafe for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl UnwindSafe for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl UnwindSafe for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl UnwindSafe for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl UnwindSafe for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl UnwindSafe for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl UnwindSafe for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl UnwindSafe for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl UnwindSafe for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl UnwindSafe for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl UnwindSafe for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl UnwindSafe for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl UnwindSafe for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl UnwindSafe for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl UnwindSafe for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl UnwindSafe for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl UnwindSafe for register",1,["mcaptcha::api::v1::auth::register"]],["impl UnwindSafe for login",1,["mcaptcha::api::v1::auth::login"]],["impl UnwindSafe for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl UnwindSafe for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl UnwindSafe for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl UnwindSafe for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl UnwindSafe for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl UnwindSafe for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl UnwindSafe for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl UnwindSafe for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl UnwindSafe for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl UnwindSafe for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl UnwindSafe for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl UnwindSafe for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl UnwindSafe for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl UnwindSafe for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl UnwindSafe for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl UnwindSafe for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl UnwindSafe for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl UnwindSafe for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl UnwindSafe for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl UnwindSafe for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl UnwindSafe for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl UnwindSafe for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl UnwindSafe for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl UnwindSafe for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl UnwindSafe for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl UnwindSafe for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl UnwindSafe for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl UnwindSafe for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl UnwindSafe for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl UnwindSafe for health",1,["mcaptcha::api::v1::meta::health"]],["impl UnwindSafe for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl UnwindSafe for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl UnwindSafe for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl UnwindSafe for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl UnwindSafe for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl UnwindSafe for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl UnwindSafe for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl UnwindSafe for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl UnwindSafe for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl UnwindSafe for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl UnwindSafe for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl UnwindSafe for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl UnwindSafe for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl UnwindSafe for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl UnwindSafe for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl UnwindSafe for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl UnwindSafe for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl UnwindSafe for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl UnwindSafe for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl UnwindSafe for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl UnwindSafe for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl UnwindSafe for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl UnwindSafe for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl UnwindSafe for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl UnwindSafe for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl UnwindSafe for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl UnwindSafe for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl UnwindSafe for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl UnwindSafe for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl UnwindSafe for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl UnwindSafe for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl UnwindSafe for download",1,["mcaptcha::api::v1::survey::download"]],["impl UnwindSafe for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl UnwindSafe for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl UnwindSafe for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl !UnwindSafe for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl !UnwindSafe for Data",1,["mcaptcha::data::Data"]],["impl UnwindSafe for Date",1,["mcaptcha::date::Date"]],["impl UnwindSafe for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl UnwindSafe for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl UnwindSafe for Asset",1,["mcaptcha::docs::Asset"]],["impl UnwindSafe for dist",1,["mcaptcha::docs::dist"]],["impl UnwindSafe for spec",1,["mcaptcha::docs::spec"]],["impl UnwindSafe for index",1,["mcaptcha::docs::index"]],["impl<'a> UnwindSafe for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl !UnwindSafe for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl !UnwindSafe for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl !UnwindSafe for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl UnwindSafe for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl !UnwindSafe for PageError",1,["mcaptcha::errors::PageError"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl UnwindSafe for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl UnwindSafe for login",1,["mcaptcha::pages::auth::login::login"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl UnwindSafe for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl UnwindSafe for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> UnwindSafe for SudoPage<'a, K, V>where\n    K: UnwindSafe,\n    V: UnwindSafe,",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl UnwindSafe for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl UnwindSafe for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> UnwindSafe for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl UnwindSafe for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl UnwindSafe for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl UnwindSafe for error",1,["mcaptcha::pages::errors::error"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl UnwindSafe for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl UnwindSafe for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl UnwindSafe for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> UnwindSafe for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl UnwindSafe for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl UnwindSafe for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl UnwindSafe for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl UnwindSafe for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl UnwindSafe for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> UnwindSafe for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl UnwindSafe for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> UnwindSafe for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl UnwindSafe for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl UnwindSafe for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl UnwindSafe for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl UnwindSafe for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> UnwindSafe for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl UnwindSafe for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl UnwindSafe for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl UnwindSafe for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl UnwindSafe for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl UnwindSafe for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl UnwindSafe for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl UnwindSafe for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl UnwindSafe for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl UnwindSafe for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl UnwindSafe for panel",1,["mcaptcha::pages::panel::panel"]],["impl UnwindSafe for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl UnwindSafe for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl UnwindSafe for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl UnwindSafe for Server",1,["mcaptcha::settings::Server"]],["impl UnwindSafe for Captcha",1,["mcaptcha::settings::Captcha"]],["impl UnwindSafe for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl UnwindSafe for Smtp",1,["mcaptcha::settings::Smtp"]],["impl UnwindSafe for DBType",1,["mcaptcha::settings::DBType"]],["impl UnwindSafe for Database",1,["mcaptcha::settings::Database"]],["impl UnwindSafe for Redis",1,["mcaptcha::settings::Redis"]],["impl UnwindSafe for Survey",1,["mcaptcha::settings::Survey"]],["impl UnwindSafe for Settings",1,["mcaptcha::settings::Settings"]],["impl UnwindSafe for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl UnwindSafe for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl UnwindSafe for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl UnwindSafe for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl UnwindSafe for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl UnwindSafe for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl UnwindSafe for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl UnwindSafe for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl UnwindSafe for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl UnwindSafe for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl UnwindSafe for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl UnwindSafe for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl UnwindSafe for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl UnwindSafe for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl UnwindSafe for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl UnwindSafe for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl UnwindSafe for Real",1,["mcaptcha::stats::Real"]],["impl UnwindSafe for Dummy",1,["mcaptcha::stats::Dummy"]],["impl UnwindSafe for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl !UnwindSafe for Survey",1,["mcaptcha::survey::Survey"]],["impl UnwindSafe for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl UnwindSafe for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl UnwindSafe for show_widget",1,["mcaptcha::widget::show_widget"]],["impl UnwindSafe for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl UnwindSafe for FILES",1,["mcaptcha::FILES"]],["impl UnwindSafe for JS",1,["mcaptcha::JS"]],["impl UnwindSafe for CSS",1,["mcaptcha::CSS"]],["impl UnwindSafe for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl UnwindSafe for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl UnwindSafe for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl UnwindSafe for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]]
    +"mcaptcha":[["impl UnwindSafe for delete_account",1,["mcaptcha::api::v1::account::delete::delete_account"]],["impl UnwindSafe for Email",1,["mcaptcha::api::v1::account::email::Email"]],["impl UnwindSafe for email_exists",1,["mcaptcha::api::v1::account::email::email_exists"]],["impl UnwindSafe for set_email",1,["mcaptcha::api::v1::account::email::set_email"]],["impl UnwindSafe for ChangePasswordReqest",1,["mcaptcha::api::v1::account::password::ChangePasswordReqest"]],["impl UnwindSafe for UpdatePassword",1,["mcaptcha::api::v1::account::password::UpdatePassword"]],["impl UnwindSafe for update_user_password",1,["mcaptcha::api::v1::account::password::update_user_password"]],["impl UnwindSafe for get_secret",1,["mcaptcha::api::v1::account::secret::get_secret"]],["impl UnwindSafe for update_user_secret",1,["mcaptcha::api::v1::account::secret::update_user_secret"]],["impl UnwindSafe for username_exists",1,["mcaptcha::api::v1::account::username::username_exists"]],["impl UnwindSafe for Username",1,["mcaptcha::api::v1::account::username::Username"]],["impl UnwindSafe for set_username",1,["mcaptcha::api::v1::account::username::set_username"]],["impl UnwindSafe for Account",1,["mcaptcha::api::v1::account::routes::Account"]],["impl UnwindSafe for AccountCheckPayload",1,["mcaptcha::api::v1::account::AccountCheckPayload"]],["impl UnwindSafe for AccountCheckResp",1,["mcaptcha::api::v1::account::AccountCheckResp"]],["impl UnwindSafe for Auth",1,["mcaptcha::api::v1::auth::routes::Auth"]],["impl UnwindSafe for Register",1,["mcaptcha::api::v1::auth::runners::Register"]],["impl UnwindSafe for Login",1,["mcaptcha::api::v1::auth::runners::Login"]],["impl UnwindSafe for Password",1,["mcaptcha::api::v1::auth::runners::Password"]],["impl UnwindSafe for register",1,["mcaptcha::api::v1::auth::register"]],["impl UnwindSafe for login",1,["mcaptcha::api::v1::auth::login"]],["impl UnwindSafe for signout",1,["mcaptcha::api::v1::auth::signout"]],["impl UnwindSafe for CreateCaptcha",1,["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]],["impl UnwindSafe for MCaptchaDetails",1,["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]],["impl UnwindSafe for create",1,["mcaptcha::api::v1::mcaptcha::create::create"]],["impl UnwindSafe for DeleteCaptcha",1,["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]],["impl UnwindSafe for delete",1,["mcaptcha::api::v1::mcaptcha::delete::delete"]],["impl UnwindSafe for Easy",1,["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]],["impl UnwindSafe for TrafficPatternRequest",1,["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]],["impl UnwindSafe for create",1,["mcaptcha::api::v1::mcaptcha::easy::create"]],["impl UnwindSafe for UpdateTrafficPattern",1,["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]],["impl UnwindSafe for update",1,["mcaptcha::api::v1::mcaptcha::easy::update"]],["impl UnwindSafe for get_captcha",1,["mcaptcha::api::v1::mcaptcha::get::get_captcha"]],["impl UnwindSafe for Levels",1,["mcaptcha::api::v1::mcaptcha::get::Levels"]],["impl UnwindSafe for I32Levels",1,["mcaptcha::api::v1::mcaptcha::get::I32Levels"]],["impl UnwindSafe for Stats",1,["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]],["impl UnwindSafe for StatsPayload",1,["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]],["impl UnwindSafe for get",1,["mcaptcha::api::v1::mcaptcha::stats::get"]],["impl UnwindSafe for update_key",1,["mcaptcha::api::v1::mcaptcha::update::update_key"]],["impl UnwindSafe for UpdateCaptcha",1,["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]],["impl UnwindSafe for update_captcha",1,["mcaptcha::api::v1::mcaptcha::update::update_captcha"]],["impl UnwindSafe for Captcha",1,["mcaptcha::api::v1::mcaptcha::routes::Captcha"]],["impl UnwindSafe for Meta",1,["mcaptcha::api::v1::meta::routes::Meta"]],["impl UnwindSafe for BuildDetails",1,["mcaptcha::api::v1::meta::BuildDetails"]],["impl UnwindSafe for BuildDetailsBuilder",1,["mcaptcha::api::v1::meta::BuildDetailsBuilder"]],["impl UnwindSafe for BuildDetailsBuilderError",1,["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]],["impl UnwindSafe for build_details",1,["mcaptcha::api::v1::meta::build_details"]],["impl UnwindSafe for Health",1,["mcaptcha::api::v1::meta::Health"]],["impl UnwindSafe for HealthBuilder",1,["mcaptcha::api::v1::meta::HealthBuilder"]],["impl UnwindSafe for HealthBuilderError",1,["mcaptcha::api::v1::meta::HealthBuilderError"]],["impl UnwindSafe for health",1,["mcaptcha::api::v1::meta::health"]],["impl UnwindSafe for AddNotificationRequest",1,["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]],["impl UnwindSafe for add_notification",1,["mcaptcha::api::v1::notifications::add::add_notification"]],["impl UnwindSafe for NotificationResp",1,["mcaptcha::api::v1::notifications::get::NotificationResp"]],["impl UnwindSafe for get_notification",1,["mcaptcha::api::v1::notifications::get::get_notification"]],["impl UnwindSafe for MarkReadReq",1,["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]],["impl UnwindSafe for mark_read",1,["mcaptcha::api::v1::notifications::mark_read::mark_read"]],["impl UnwindSafe for Notifications",1,["mcaptcha::api::v1::notifications::routes::Notifications"]],["impl UnwindSafe for GetConfigPayload",1,["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]],["impl UnwindSafe for ApiPoWConfig",1,["mcaptcha::api::v1::pow::get_config::ApiPoWConfig"]],["impl UnwindSafe for get_config",1,["mcaptcha::api::v1::pow::get_config::get_config"]],["impl UnwindSafe for ValidationToken",1,["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]],["impl UnwindSafe for ApiWork",1,["mcaptcha::api::v1::pow::verify_pow::ApiWork"]],["impl UnwindSafe for verify_pow",1,["mcaptcha::api::v1::pow::verify_pow::verify_pow"]],["impl UnwindSafe for CaptchaValidateResp",1,["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]],["impl UnwindSafe for VerifyCaptchaResultPayload",1,["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]],["impl UnwindSafe for validate_captcha_token",1,["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]],["impl UnwindSafe for PoW",1,["mcaptcha::api::v1::pow::routes::PoW"]],["impl UnwindSafe for Routes",1,["mcaptcha::api::v1::routes::Routes"]],["impl UnwindSafe for Stats",1,["mcaptcha::api::v1::stats::routes::Stats"]],["impl UnwindSafe for BuildDetails",1,["mcaptcha::api::v1::stats::BuildDetails"]],["impl UnwindSafe for BuildDetailsBuilder",1,["mcaptcha::api::v1::stats::BuildDetailsBuilder"]],["impl UnwindSafe for BuildDetailsBuilderError",1,["mcaptcha::api::v1::stats::BuildDetailsBuilderError"]],["impl UnwindSafe for percentile_benches",1,["mcaptcha::api::v1::stats::percentile_benches"]],["impl UnwindSafe for PercentileReq",1,["mcaptcha::api::v1::stats::PercentileReq"]],["impl UnwindSafe for PercentileReqBuilder",1,["mcaptcha::api::v1::stats::PercentileReqBuilder"]],["impl UnwindSafe for PercentileReqBuilderError",1,["mcaptcha::api::v1::stats::PercentileReqBuilderError"]],["impl UnwindSafe for PercentileResp",1,["mcaptcha::api::v1::stats::PercentileResp"]],["impl UnwindSafe for PercentileRespBuilder",1,["mcaptcha::api::v1::stats::PercentileRespBuilder"]],["impl UnwindSafe for PercentileRespBuilderError",1,["mcaptcha::api::v1::stats::PercentileRespBuilderError"]],["impl UnwindSafe for Survey",1,["mcaptcha::api::v1::survey::routes::Survey"]],["impl UnwindSafe for Page",1,["mcaptcha::api::v1::survey::Page"]],["impl UnwindSafe for download",1,["mcaptcha::api::v1::survey::download"]],["impl UnwindSafe for SurveySecretUpload",1,["mcaptcha::api::v1::survey::SurveySecretUpload"]],["impl UnwindSafe for secret",1,["mcaptcha::api::v1::survey::secret"]],["impl UnwindSafe for RedirectQuery",1,["mcaptcha::api::v1::RedirectQuery"]],["impl !UnwindSafe for SystemGroup",1,["mcaptcha::data::SystemGroup"]],["impl !UnwindSafe for Data",1,["mcaptcha::data::Data"]],["impl UnwindSafe for Date",1,["mcaptcha::date::Date"]],["impl !UnwindSafe for DemoUser",1,["mcaptcha::demo::DemoUser"]],["impl UnwindSafe for Docs",1,["mcaptcha::docs::routes::Docs"]],["impl UnwindSafe for Asset",1,["mcaptcha::docs::Asset"]],["impl UnwindSafe for dist",1,["mcaptcha::docs::dist"]],["impl UnwindSafe for spec",1,["mcaptcha::docs::spec"]],["impl UnwindSafe for index",1,["mcaptcha::docs::index"]],["impl !UnwindSafe for UpdateEasyCaptcha",1,["mcaptcha::easy::UpdateEasyCaptcha"]],["impl<'a> UnwindSafe for IndexPage<'a>",1,["mcaptcha::email::verification::IndexPage"]],["impl !UnwindSafe for SmtpErrorWrapper",1,["mcaptcha::errors::SmtpErrorWrapper"]],["impl !UnwindSafe for DBErrorWrapper",1,["mcaptcha::errors::DBErrorWrapper"]],["impl !UnwindSafe for ServiceError",1,["mcaptcha::errors::ServiceError"]],["impl UnwindSafe for ErrorToResponse",1,["mcaptcha::errors::ErrorToResponse"]],["impl !UnwindSafe for PageError",1,["mcaptcha::errors::PageError"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::auth::login::IndexPage"]],["impl UnwindSafe for INDEX",1,["mcaptcha::pages::auth::login::INDEX"]],["impl UnwindSafe for login",1,["mcaptcha::pages::auth::login::login"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::auth::register::IndexPage"]],["impl UnwindSafe for INDEX",1,["mcaptcha::pages::auth::register::INDEX"]],["impl UnwindSafe for join",1,["mcaptcha::pages::auth::register::join"]],["impl<'a, K, V> UnwindSafe for SudoPage<'a, K, V>where\n    K: UnwindSafe,\n    V: UnwindSafe,",1,["mcaptcha::pages::auth::sudo::SudoPage"]],["impl UnwindSafe for Auth",1,["mcaptcha::pages::auth::routes::Auth"]],["impl UnwindSafe for Errors",1,["mcaptcha::pages::errors::routes::Errors"]],["impl<'a> UnwindSafe for ErrorPage<'a>",1,["mcaptcha::pages::errors::ErrorPage"]],["impl UnwindSafe for INTERNAL_SERVER_ERROR_BODY",1,["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]],["impl UnwindSafe for UNKNOWN_ERROR_BODY",1,["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]],["impl UnwindSafe for error",1,["mcaptcha::pages::errors::error"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::panel::notifications::IndexPage"]],["impl UnwindSafe for Notification",1,["mcaptcha::pages::panel::notifications::Notification"]],["impl UnwindSafe for notifications",1,["mcaptcha::pages::panel::notifications::notifications"]],["impl UnwindSafe for Settings",1,["mcaptcha::pages::panel::settings::routes::Settings"]],["impl<'a> UnwindSafe for IndexPage<'a>",1,["mcaptcha::pages::panel::settings::IndexPage"]],["impl UnwindSafe for settings",1,["mcaptcha::pages::panel::settings::settings"]],["impl UnwindSafe for delete_account",1,["mcaptcha::pages::panel::settings::delete_account"]],["impl UnwindSafe for update_secret",1,["mcaptcha::pages::panel::settings::update_secret"]],["impl UnwindSafe for ADVANCE_INDEX",1,["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]],["impl UnwindSafe for EASY_INDEX",1,["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]],["impl<'a> UnwindSafe for AdvanceIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]],["impl UnwindSafe for advance",1,["mcaptcha::pages::panel::sitekey::add::advance"]],["impl<'a> UnwindSafe for EasyIndexPage<'a>",1,["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]],["impl UnwindSafe for easy",1,["mcaptcha::pages::panel::sitekey::add::easy"]],["impl UnwindSafe for delete_sitekey",1,["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]],["impl UnwindSafe for AdvanceEditPage",1,["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]],["impl UnwindSafe for advance",1,["mcaptcha::pages::panel::sitekey::edit::advance"]],["impl<'a> UnwindSafe for EasyEditPage<'a>",1,["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]],["impl UnwindSafe for easy",1,["mcaptcha::pages::panel::sitekey::edit::easy"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::panel::sitekey::list::IndexPage"]],["impl UnwindSafe for list_sitekeys",1,["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::panel::sitekey::view::IndexPage"]],["impl UnwindSafe for view_sitekey",1,["mcaptcha::pages::panel::sitekey::view::view_sitekey"]],["impl UnwindSafe for Sitekey",1,["mcaptcha::pages::panel::sitekey::routes::Sitekey"]],["impl UnwindSafe for Utils",1,["mcaptcha::pages::panel::utils::routes::Utils"]],["impl UnwindSafe for PercentilePage",1,["mcaptcha::pages::panel::utils::PercentilePage"]],["impl UnwindSafe for get_percentile",1,["mcaptcha::pages::panel::utils::get_percentile"]],["impl UnwindSafe for post_percentile",1,["mcaptcha::pages::panel::utils::post_percentile"]],["impl UnwindSafe for Panel",1,["mcaptcha::pages::panel::routes::Panel"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::panel::IndexPage"]],["impl UnwindSafe for panel",1,["mcaptcha::pages::panel::panel"]],["impl UnwindSafe for Routes",1,["mcaptcha::pages::routes::Routes"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::pages::sitemap::IndexPage"]],["impl UnwindSafe for INDEX",1,["mcaptcha::pages::sitemap::INDEX"]],["impl UnwindSafe for sitemap",1,["mcaptcha::pages::sitemap::sitemap"]],["impl UnwindSafe for Server",1,["mcaptcha::settings::Server"]],["impl UnwindSafe for Captcha",1,["mcaptcha::settings::Captcha"]],["impl UnwindSafe for DefaultDifficultyStrategy",1,["mcaptcha::settings::DefaultDifficultyStrategy"]],["impl UnwindSafe for Smtp",1,["mcaptcha::settings::Smtp"]],["impl UnwindSafe for DBType",1,["mcaptcha::settings::DBType"]],["impl UnwindSafe for Database",1,["mcaptcha::settings::Database"]],["impl UnwindSafe for Redis",1,["mcaptcha::settings::Redis"]],["impl UnwindSafe for Survey",1,["mcaptcha::settings::Survey"]],["impl UnwindSafe for Settings",1,["mcaptcha::settings::Settings"]],["impl UnwindSafe for FileMap",1,["mcaptcha::static_assets::filemap::FileMap"]],["impl UnwindSafe for KEY",1,["mcaptcha::static_assets::static_files::assets::KEY"]],["impl UnwindSafe for GITHUB",1,["mcaptcha::static_assets::static_files::assets::GITHUB"]],["impl UnwindSafe for HOME",1,["mcaptcha::static_assets::static_files::assets::HOME"]],["impl UnwindSafe for SETTINGS_ICON",1,["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]],["impl UnwindSafe for CREDIT_CARD",1,["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]],["impl UnwindSafe for HELP_CIRCLE",1,["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]],["impl UnwindSafe for MESSAGE",1,["mcaptcha::static_assets::static_files::assets::MESSAGE"]],["impl UnwindSafe for DOCS_ICON",1,["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]],["impl UnwindSafe for MCAPTCHA_TRANS_ICON",1,["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]],["impl UnwindSafe for BAR_CHART",1,["mcaptcha::static_assets::static_files::assets::BAR_CHART"]],["impl UnwindSafe for Asset",1,["mcaptcha::static_assets::static_files::Asset"]],["impl UnwindSafe for static_files",1,["mcaptcha::static_assets::static_files::static_files"]],["impl UnwindSafe for Favicons",1,["mcaptcha::static_assets::static_files::Favicons"]],["impl UnwindSafe for favicons",1,["mcaptcha::static_assets::static_files::favicons"]],["impl UnwindSafe for CaptchaStats",1,["mcaptcha::stats::CaptchaStats"]],["impl UnwindSafe for Real",1,["mcaptcha::stats::Real"]],["impl UnwindSafe for Dummy",1,["mcaptcha::stats::Dummy"]],["impl UnwindSafe for SecretsStore",1,["mcaptcha::survey::SecretsStore"]],["impl !UnwindSafe for Survey",1,["mcaptcha::survey::Survey"]],["impl UnwindSafe for Widget",1,["mcaptcha::widget::routes::Widget"]],["impl UnwindSafe for IndexPage",1,["mcaptcha::widget::IndexPage"]],["impl UnwindSafe for INDEX_PAGE",1,["mcaptcha::widget::INDEX_PAGE"]],["impl UnwindSafe for show_widget",1,["mcaptcha::widget::show_widget"]],["impl UnwindSafe for SETTINGS",1,["mcaptcha::SETTINGS"]],["impl UnwindSafe for FILES",1,["mcaptcha::FILES"]],["impl UnwindSafe for JS",1,["mcaptcha::JS"]],["impl UnwindSafe for CSS",1,["mcaptcha::CSS"]],["impl UnwindSafe for MOBILE_CSS",1,["mcaptcha::MOBILE_CSS"]],["impl UnwindSafe for VERIFICATIN_WIDGET_JS",1,["mcaptcha::VERIFICATIN_WIDGET_JS"]],["impl UnwindSafe for VERIFICATIN_WIDGET_CSS",1,["mcaptcha::VERIFICATIN_WIDGET_CSS"]],["impl UnwindSafe for SOURCE_FILES_OF_INSTANCE",1,["mcaptcha::SOURCE_FILES_OF_INSTANCE"]]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/trait.impl/serde/de/trait.Deserialize.js b/trait.impl/serde/de/trait.Deserialize.js
    index 0fa8750b..bbc2405d 100644
    --- a/trait.impl/serde/de/trait.Deserialize.js
    +++ b/trait.impl/serde/de/trait.Deserialize.js
    @@ -1,4 +1,4 @@
     (function() {var implementors = {
    -"db_core":[["impl<'de: 'a, 'a> Deserialize<'de> for CreateCaptcha<'a>"],["impl<'de> Deserialize<'de> for CreatePerformanceAnalytics"],["impl<'de> Deserialize<'de> for PerformanceAnalytics"],["impl<'de> Deserialize<'de> for NameHash"],["impl<'de: 'a, 'a> Deserialize<'de> for UpdateEmail<'a>"],["impl<'de: 'a, 'a> Deserialize<'de> for Login<'a>"],["impl<'de> Deserialize<'de> for StatsUnixTimestamp"],["impl<'de> Deserialize<'de> for Notification"],["impl<'de: 'a, 'a> Deserialize<'de> for Register<'a>"],["impl<'de> Deserialize<'de> for TrafficPattern"],["impl<'de> Deserialize<'de> for Secret"],["impl<'de> Deserialize<'de> for Captcha"],["impl<'de: 'a, 'a> Deserialize<'de> for AddNotification<'a>"]],
    +"db_core":[["impl<'de> Deserialize<'de> for CreatePerformanceAnalytics"],["impl<'de> Deserialize<'de> for PerformanceAnalytics"],["impl<'de> Deserialize<'de> for TrafficPattern"],["impl<'de> Deserialize<'de> for NameHash"],["impl<'de: 'a, 'a> Deserialize<'de> for UpdateEmail<'a>"],["impl<'de: 'a, 'a> Deserialize<'de> for Login<'a>"],["impl<'de> Deserialize<'de> for StatsUnixTimestamp"],["impl<'de> Deserialize<'de> for Notification"],["impl<'de: 'a, 'a> Deserialize<'de> for Register<'a>"],["impl<'de> Deserialize<'de> for EasyCaptcha"],["impl<'de> Deserialize<'de> for Secret"],["impl<'de> Deserialize<'de> for Captcha"],["impl<'de: 'a, 'a> Deserialize<'de> for CreateCaptcha<'a>"],["impl<'de: 'a, 'a> Deserialize<'de> for AddNotification<'a>"]],
     "mcaptcha":[["impl<'de> Deserialize<'de> for ValidationToken"],["impl<'de> Deserialize<'de> for DBType"],["impl<'de> Deserialize<'de> for AccountCheckPayload"],["impl<'de> Deserialize<'de> for Page"],["impl<'de> Deserialize<'de> for MarkReadReq"],["impl<'de> Deserialize<'de> for Health"],["impl<'de> Deserialize<'de> for ApiWork"],["impl<'de> Deserialize<'de> for TrafficPatternRequest"],["impl<'de> Deserialize<'de> for Redis"],["impl<'de> Deserialize<'de> for UpdateTrafficPattern"],["impl<'de> Deserialize<'de> for ApiPoWConfig"],["impl<'de> Deserialize<'de> for ChangePasswordReqest"],["impl<'de> Deserialize<'de> for VerifyCaptchaResultPayload"],["impl<'de> Deserialize<'de> for MCaptchaDetails"],["impl<'de> Deserialize<'de> for DeleteCaptcha"],["impl<'de> Deserialize<'de> for Email"],["impl<'de> Deserialize<'de> for RedirectQuery"],["impl<'de> Deserialize<'de> for Settings"],["impl<'de> Deserialize<'de> for CaptchaValidateResp"],["impl<'de> Deserialize<'de> for Survey"],["impl<'de> Deserialize<'de> for Password"],["impl<'de> Deserialize<'de> for StatsPayload"],["impl Deserialize<'static> for BuildDetails"],["impl Deserialize<'static> for Stats"],["impl<'de> Deserialize<'de> for Register"],["impl<'de> Deserialize<'de> for CreateCaptcha"],["impl<'de> Deserialize<'de> for DefaultDifficultyStrategy"],["impl<'de> Deserialize<'de> for Server"],["impl<'de> Deserialize<'de> for UpdateCaptcha"],["impl<'de> Deserialize<'de> for GetConfigPayload"],["impl<'de> Deserialize<'de> for AddNotificationRequest"],["impl<'de> Deserialize<'de> for AccountCheckResp"],["impl<'de> Deserialize<'de> for I32Levels"],["impl<'de> Deserialize<'de> for NotificationResp"],["impl<'de> Deserialize<'de> for PercentileResp"],["impl<'de> Deserialize<'de> for Smtp"],["impl<'de> Deserialize<'de> for Login"],["impl<'de> Deserialize<'de> for Database"],["impl<'de> Deserialize<'de> for ErrorToResponse"],["impl<'de> Deserialize<'de> for Levels"],["impl<'de> Deserialize<'de> for CaptchaStats"],["impl<'de> Deserialize<'de> for Username"],["impl<'de> Deserialize<'de> for PercentileReq"],["impl<'de> Deserialize<'de> for Captcha"],["impl Deserialize<'static> for BuildDetails"],["impl<'de> Deserialize<'de> for SurveySecretUpload"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/trait.impl/serde/ser/trait.Serialize.js b/trait.impl/serde/ser/trait.Serialize.js
    index 197b2a50..1f84f163 100644
    --- a/trait.impl/serde/ser/trait.Serialize.js
    +++ b/trait.impl/serde/ser/trait.Serialize.js
    @@ -1,4 +1,4 @@
     (function() {var implementors = {
    -"db_core":[["impl<'a> Serialize for UpdateEmail<'a>"],["impl Serialize for PerformanceAnalytics"],["impl Serialize for Notification"],["impl<'a> Serialize for Register<'a>"],["impl Serialize for TrafficPattern"],["impl Serialize for Captcha"],["impl<'a> Serialize for CreateCaptcha<'a>"],["impl Serialize for CreatePerformanceAnalytics"],["impl Serialize for Secret"],["impl<'a> Serialize for Login<'a>"],["impl Serialize for StatsUnixTimestamp"],["impl<'a> Serialize for AddNotification<'a>"],["impl Serialize for NameHash"]],
    +"db_core":[["impl Serialize for TrafficPattern"],["impl<'a> Serialize for UpdateEmail<'a>"],["impl Serialize for Secret"],["impl Serialize for PerformanceAnalytics"],["impl Serialize for Notification"],["impl<'a> Serialize for Register<'a>"],["impl Serialize for EasyCaptcha"],["impl<'a> Serialize for CreateCaptcha<'a>"],["impl Serialize for CreatePerformanceAnalytics"],["impl Serialize for Captcha"],["impl<'a> Serialize for Login<'a>"],["impl Serialize for StatsUnixTimestamp"],["impl<'a> Serialize for AddNotification<'a>"],["impl Serialize for NameHash"]],
     "mcaptcha":[["impl Serialize for PercentileReq"],["impl Serialize for Health"],["impl Serialize for Register"],["impl Serialize for Levels"],["impl Serialize for MCaptchaDetails"],["impl Serialize for Email"],["impl Serialize for ChangePasswordReqest"],["impl Serialize for GetConfigPayload"],["impl Serialize for AccountCheckResp"],["impl Serialize for DBType"],["impl Serialize for ErrorToResponse"],["impl Serialize for I32Levels"],["impl Serialize for MarkReadReq"],["impl Serialize for ApiPoWConfig"],["impl Serialize for PercentileResp"],["impl Serialize for CaptchaValidateResp"],["impl Serialize for UpdateCaptcha"],["impl Serialize for AccountCheckPayload"],["impl Serialize for UpdateTrafficPattern"],["impl Serialize for CreateCaptcha"],["impl Serialize for StatsPayload"],["impl Serialize for AddNotificationRequest"],["impl Serialize for DeleteCaptcha"],["impl Serialize for Page"],["impl Serialize for ValidationToken"],["impl Serialize for BuildDetails"],["impl Serialize for CaptchaStats"],["impl Serialize for BuildDetails"],["impl Serialize for VerifyCaptchaResultPayload"],["impl Serialize for ApiWork"],["impl Serialize for TrafficPatternRequest"],["impl Serialize for Stats"],["impl Serialize for SurveySecretUpload"],["impl Serialize for NotificationResp"],["impl Serialize for Password"],["impl Serialize for Login"],["impl Serialize for Username"]]
     };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
    \ No newline at end of file
    diff --git a/type.impl/alloc/boxed/struct.Box.js b/type.impl/alloc/boxed/struct.Box.js
    index cacbb42f..8d373e74 100644
    --- a/type.impl/alloc/boxed/struct.Box.js
    +++ b/type.impl/alloc/boxed/struct.Box.js
    @@ -2,5 +2,5 @@
     "db_core":[["
    source§

    impl<T> Box<T>

    1.0.0 · source

    pub fn new(x: T) -> Box<T>

    Allocates memory on the heap and then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    let five = Box::new(5);
    \n
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new box with uninitialized contents.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet mut five = Box::<u32>::new_uninit();\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet zero = Box::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\ndoes the same as Box::into_pin(Box::new(x)). Consider using\ninto_pin if you already have a Box<T>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new.

    \n
    source

    pub fn try_new(x: T) -> Result<Box<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory on the heap then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nlet five = Box::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents on the heap,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet mut five = Box::<u32>::try_new_uninit()?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes on the heap

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet zero = Box::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"db_core::errors::BoxDynError"],["
    source§

    impl<T, A> Box<T, A>where\n A: Allocator,

    source

    pub fn new_in(x: T, alloc: A) -> Box<T, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::new_in(5, System);
    \n
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Box<T, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::try_new_in(5, System)?;
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Box<MaybeUninit<T>, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator,\nreturning an error if the allocation fails,

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Box<T, A>>where\n A: 'static + Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\ndoes the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\ninto_pin if you already have a Box<T, A>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new_in.

    \n
    source

    pub fn into_boxed_slice(boxed: Box<T, A>) -> Box<[T], A>

    🔬This is a nightly-only experimental API. (box_into_boxed_slice)

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Box<T, A>) -> T

    🔬This is a nightly-only experimental API. (box_into_inner)

    Consumes the Box, returning the wrapped value.

    \n
    Examples
    \n
    #![feature(box_into_inner)]\n\nlet c = Box::new(5);\n\nassert_eq!(Box::into_inner(c), 5);
    \n
    ",0,"db_core::errors::BoxDynError"],["
    source§

    impl<T> Box<T>where\n T: ?Sized,

    1.4.0 · source

    pub unsafe fn from_raw(raw: *mut T) -> Box<T>

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n

    The safety conditions are described in the memory layout section.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw:

    \n\n
    let x = Box::new(5);\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manually create a Box from scratch by using the global allocator:

    \n\n
    use std::alloc::{alloc, Layout};\n\nunsafe {\n    let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw(ptr);\n}
    \n
    ",0,"db_core::errors::BoxDynError"],["
    source§

    impl<T, A> Box<T, A>where\n A: Allocator,\n T: ?Sized,

    const: unstable · source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Box<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw_with_allocator:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(5, System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manually create a Box from scratch by using the system allocator:

    \n\n
    #![feature(allocator_api, slice_ptr_get)]\n\nuse std::alloc::{Allocator, Layout, System};\n\nunsafe {\n    let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw_in(ptr, System);\n}
    \n
    1.4.0 · source

    pub fn into_raw(b: Box<T, A>) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw(b) instead of b.into_raw(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw\nfor automatic cleanup:

    \n\n
    let x = Box::new(String::from("Hello"));\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    use std::alloc::{dealloc, Layout};\nuse std::ptr;\n\nlet x = Box::new(String::from("Hello"));\nlet p = Box::into_raw(x);\nunsafe {\n    ptr::drop_in_place(p);\n    dealloc(p as *mut u8, Layout::new::<String>());\n}
    \n
    source

    pub fn into_raw_with_allocator(b: Box<T, A>) -> (*mut T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw_in function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw_with_allocator(b) instead of b.into_raw_with_allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw_in\nfor automatic cleanup:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(String::from("Hello"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{Allocator, Layout, System};\nuse std::ptr::{self, NonNull};\n\nlet x = Box::new_in(String::from("Hello"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    let non_null = NonNull::new_unchecked(ptr);\n    alloc.deallocate(non_null.cast(), Layout::new::<String>());\n}
    \n
    const: unstable · source

    pub fn allocator(b: &Box<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::allocator(&b) instead of b.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.26.0 · source

    pub fn leak<'a>(b: Box<T, A>) -> &'a mut Twhere\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n&'a mut T. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak. If this is not acceptable, the reference should first be wrapped\nwith the Box::from_raw function producing a Box. This Box can\nthen be dropped which will properly destroy T and release the\nallocated memory.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::leak(b) instead of b.leak(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Simple usage:

    \n\n
    let x = Box::new(41);\nlet static_ref: &'static mut usize = Box::leak(x);\n*static_ref += 1;\nassert_eq!(*static_ref, 42);
    \n

    Unsized data:

    \n\n
    let x = vec![1, 2, 3].into_boxed_slice();\nlet static_ref = Box::leak(x);\nstatic_ref[0] = 4;\nassert_eq!(*static_ref, [4, 2, 3]);
    \n
    1.63.0 (const: unstable) · source

    pub fn into_pin(boxed: Box<T, A>) -> Pin<Box<T, A>>where\n A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis into_pin method is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    Notes
    \n

    It’s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\nas it’ll introduce an ambiguity when calling Pin::from.\nA demonstration of such a poor impl is shown below.

    \n\n
    struct Foo; // A type defined in this crate.\nimpl From<Box<()>> for Pin<Foo> {\n    fn from(_: Box<()>) -> Pin<Foo> {\n        Pin::new(Foo)\n    }\n}\n\nlet foo = Box::new(());\nlet bar = Pin::from(foo);
    \n
    ",0,"db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<S> Seek for Box<S>where\n S: Seek + ?Sized,

    source§

    fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>

    Seek to an offset, in bytes, in a stream. Read more
    source§

    fn stream_position(&mut self) -> Result<u64, Error>

    Returns the current seek position from the start of the stream. Read more
    1.55.0 · source§

    fn rewind(&mut self) -> Result<(), Error>

    Rewind to the beginning of a stream. Read more
    source§

    fn stream_len(&mut self) -> Result<u64, Error>

    🔬This is a nightly-only experimental API. (seek_stream_len)
    Returns the length of this stream (in bytes). Read more
    ","Seek","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<W> Write for Box<W>where\n W: Write + ?Sized,

    source§

    fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

    Write a buffer into this writer, returning how many bytes were written. Read more
    source§

    fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

    Like write, except that it writes from a slice of buffers. Read more
    source§

    fn is_write_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Writer has an efficient write_vectored\nimplementation. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes a formatted string into this writer, returning any error\nencountered. Read more
    source§

    fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (write_all_vectored)
    Attempts to write multiple buffers into this writer. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","db_core::errors::BoxDynError"],["
    1.64.0 · source§

    impl<T> AsFd for Box<T>where\n T: AsFd,

    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<B> BufRead for Box<B>where\n B: BufRead + ?Sized,

    source§

    fn fill_buf(&mut self) -> Result<&[u8], Error>

    Returns the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    source§

    fn consume(&mut self, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to read. Read more
    source§

    fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes into buf until the delimiter byte or EOF is reached. Read more
    source§

    fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until a newline (the 0xA byte) is reached, and append\nthem to the provided String buffer. Read more
    source§

    fn has_data_left(&mut self) -> Result<bool, Error>

    🔬This is a nightly-only experimental API. (buf_read_has_data_left)
    Check if the underlying Read has any data left to be read. Read more
    1.0.0 · source§

    fn split(self, byte: u8) -> Split<Self>where\n Self: Sized,

    Returns an iterator over the contents of this reader split on the byte\nbyte. Read more
    1.0.0 · source§

    fn lines(self) -> Lines<Self>where\n Self: Sized,

    Returns an iterator over the lines of this reader. Read more
    ","BufRead","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<R> Read for Box<R>where\n R: Read + ?Sized,

    source§

    fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

    Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read. Read more
    source§

    fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Pull some bytes from this source into the specified buffer. Read more
    source§

    fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

    Like read, except that it reads into a slice of buffers. Read more
    source§

    fn is_read_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Reader has an efficient read_vectored\nimplementation. Read more
    source§

    fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes until EOF in this source, placing them into buf. Read more
    source§

    fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until EOF in this source, appending them to buf. Read more
    source§

    fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

    Read the exact number of bytes required to fill buf. Read more
    source§

    fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Read the exact number of bytes required to fill cursor. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Creates a “by reference” adaptor for this instance of Read. Read more
    1.0.0 · source§

    fn bytes(self) -> Bytes<Self>where\n Self: Sized,

    Transforms this Read instance to an Iterator over its bytes. Read more
    1.0.0 · source§

    fn chain<R>(self, next: R) -> Chain<Self, R>where\n R: Read,\n Self: Sized,

    Creates an adapter which will chain this stream with another. Read more
    1.0.0 · source§

    fn take(self, limit: u64) -> Take<Self>where\n Self: Sized,

    Creates an adapter which will read at most limit bytes from it. Read more
    ","Read","db_core::errors::BoxDynError"],["
    1.63.0 · source§

    impl<T> AsRawFd for Box<T>where\n T: AsRawFd,

    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","db_core::errors::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> Fn<Args> for Box<F, A>where\n Args: Tuple,\n F: Fn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call(\n &self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","Fn","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Pointer for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.
    ","Pointer","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Deref for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> ExactSizeIterator for Box<I, A>where\n I: ExactSizeIterator + ?Sized,\n A: Allocator,

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    ","ExactSizeIterator","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Ord for Box<T, A>where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Box<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","db_core::errors::BoxDynError"],["
    1.22.0 · source§

    impl<T, A> Hasher for Box<T, A>where\n T: Hasher + ?Sized,\n A: Allocator,

    source§

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source§

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source§

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source§

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source§

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source§

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source§

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source§

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source§

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source§

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source§

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source§

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source§

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source§

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source§

    fn write_length_prefix(&mut self, len: usize)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source§

    fn write_str(&mut self, s: &str)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a single str into this hasher. Read more
    ","Hasher","db_core::errors::BoxDynError"],["
    1.8.0 · source§

    impl<T> Error for Box<T>where\n T: Error,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","db_core::errors::BoxDynError"],["
    source§

    impl<G, R, A> Coroutine<R> for Box<G, A>where\n G: Coroutine<R> + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Box<G, A>>,\n arg: R\n) -> CoroutineState<<Box<G, A> as Coroutine<R>>::Yield, <Box<G, A> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","db_core::errors::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> FnMut<Args> for Box<F, A>where\n Args: Tuple,\n F: FnMut<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnMut","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Box<T, A>where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Box<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Box<T, A>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> DoubleEndedIterator for Box<I, A>where\n I: DoubleEndedIterator + ?Sized,\n A: Allocator,

    source§

    fn next_back(&mut self) -> Option<<I as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn nth_back(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\nelements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> Bwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single,\nfinal value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    ","DoubleEndedIterator","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Display for Box<T, A>where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Drop for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","db_core::errors::BoxDynError"],["
    1.26.0 · source§

    impl<I, A> FusedIterator for Box<I, A>where\n I: FusedIterator + ?Sized,\n A: Allocator,

    ","FusedIterator","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Box<T, A>where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Box<T, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source§

    fn lt(&self, other: &Box<T, A>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Box<T, A>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn ge(&self, other: &Box<T, A>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    source§

    fn gt(&self, other: &Box<T, A>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    ","PartialOrd","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Hash for Box<T, A>where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","db_core::errors::BoxDynError"],["
    1.5.0 · source§

    impl<T, A> AsMut<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_mut(&mut self) -> &mut T

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","db_core::errors::BoxDynError"],["
    1.1.0 · source§

    impl<T, A> Borrow<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    ","DerefMut","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T> Default for Box<T>where\n T: Default,

    source§

    fn default() -> Box<T>

    Creates a Box<T>, with the Default value for T.

    \n
    ","Default","db_core::errors::BoxDynError"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","db_core::errors::BoxDynError"],["
    1.36.0 · source§

    impl<F, A> Future for Box<F, A>where\n F: Future + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Box<F, A>>,\n cx: &mut Context<'_>\n) -> Poll<<Box<F, A> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","db_core::errors::BoxDynError"],["
    1.33.0 · source§

    impl<T, A> Unpin for Box<T, A>where\n A: Allocator + 'static,\n T: ?Sized,

    ","Unpin","db_core::errors::BoxDynError"],["
    1.1.0 · source§

    impl<T, A> BorrowMut<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    ","BorrowMut","db_core::errors::BoxDynError"],["
    1.22.0 · source§

    impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a>

    source§

    fn from(err: Cow<'b, str>) -> Box<dyn Error + Send + Sync + 'a>

    Converts a Cow into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\nuse std::borrow::Cow;\n\nlet a_cow_str_error = Cow::from("a str error");\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_cow_str_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From>","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<'a> From<&str> for Box<dyn Error + Send + Sync + 'a>

    source§

    fn from(err: &str) -> Box<dyn Error + Send + Sync + 'a>

    Converts a str into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_str_error = "a str error";\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_str_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From<&str>","db_core::errors::BoxDynError"],["
    1.22.0 · source§

    impl<'a> From<Cow<'a, str>> for Box<dyn Error>

    source§

    fn from(err: Cow<'a, str>) -> Box<dyn Error>

    Converts a Cow into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\nuse std::borrow::Cow;\n\nlet a_cow_str_error = Cow::from("a str error");\nlet a_boxed_error = Box::<dyn Error>::from(a_cow_str_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From>","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<'a, E> From<E> for Box<dyn Error + 'a>where\n E: Error + 'a,

    source§

    fn from(err: E) -> Box<dyn Error + 'a>

    Converts a type of Error into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::fmt;\nuse std::mem;\n\n#[derive(Debug)]\nstruct AnError;\n\nimpl fmt::Display for AnError {\n    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n        write!(f, "An error")\n    }\n}\n\nimpl Error for AnError {}\n\nlet an_error = AnError;\nassert!(0 == mem::size_of_val(&an_error));\nlet a_boxed_error = Box::<dyn Error>::from(an_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_core::errors::BoxDynError"],["
    1.6.0 · source§

    impl From<&str> for Box<dyn Error>

    source§

    fn from(err: &str) -> Box<dyn Error>

    Converts a str into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_str_error = "a str error";\nlet a_boxed_error = Box::<dyn Error>::from(a_str_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From<&str>","db_core::errors::BoxDynError"],["
    1.6.0 · source§

    impl From<String> for Box<dyn Error>

    source§

    fn from(str_err: String) -> Box<dyn Error>

    Converts a String into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_string_error = "a string error".to_string();\nlet a_boxed_error = Box::<dyn Error>::from(a_string_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_core::errors::BoxDynError"],["
    1.6.0 · source§

    impl<T> From<T> for Box<T>

    source§

    fn from(t: T) -> Box<T>

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\nfrom the stack into it.

    \n
    Examples
    \n
    let x = 5;\nlet boxed = Box::new(5);\n\nassert_eq!(Box::from(x), boxed);
    \n
    ","From","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<'a, E> From<E> for Box<dyn Error + Send + Sync + 'a>where\n E: Error + Send + Sync + 'a,

    source§

    fn from(err: E) -> Box<dyn Error + Send + Sync + 'a>

    Converts a type of Error + Send + Sync into a box of\ndyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::fmt;\nuse std::mem;\n\n#[derive(Debug)]\nstruct AnError;\n\nimpl fmt::Display for AnError {\n    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n        write!(f, "An error")\n    }\n}\n\nimpl Error for AnError {}\n\nunsafe impl Send for AnError {}\n\nunsafe impl Sync for AnError {}\n\nlet an_error = AnError;\nassert!(0 == mem::size_of_val(&an_error));\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(an_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl From<String> for Box<dyn Error + Send + Sync>

    source§

    fn from(err: String) -> Box<dyn Error + Send + Sync>

    Converts a String into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_string_error = "a string error".to_string();\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_string_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_core::errors::BoxDynError"],["
    source§

    impl<T, U> DispatchFromDyn<Box<U>> for Box<T>where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","db_core::errors::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> FnOnce<Args> for Box<F, A>where\n Args: Tuple,\n F: FnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source§

    extern "rust-call" fn call_once(\n self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnOnce","db_core::errors::BoxDynError"],["
    source§

    impl<S> AsyncIterator for Box<S>where\n S: AsyncIterator + Unpin + ?Sized,

    §

    type Item = <S as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","db_core::errors::BoxDynError"],["
    source§

    impl<T, U, A> CoerceUnsized<Box<U, A>> for Box<T, A>where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Eq for Box<T, A>where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> Iterator for Box<I, A>where\n I: Iterator + ?Sized,\n A: Allocator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<I as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source§

    fn nth(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn last(self) -> Option<<I as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source§

    fn next_chunk<const N: usize>(\n &mut self\n) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usizewhere\n Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>where\n Self: Sized,

    Creates an iterator starting at the same point, but stepping by\nthe given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>where\n Self: Sized,\n U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where\n Self: Sized,\n U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>where\n Self: Sized,\n G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator\nbetween adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>where\n Self: Sized,\n F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\nelement. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)where\n Self: Sized,\n F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\nshould be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>where\n Self: Sized,

    Creates an iterator which gives the current iteration count as well as\nthe next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>where\n Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\nto look at the next element of the iterator without consuming it. See\ntheir documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>where\n Self: Sized,\n P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>where\n Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>where\n Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\nif the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\nunlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where\n Self: Sized,\n U: IntoIterator,\n F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>where\n Self: Sized,\n F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over\nself and returns an iterator over the outputs of f. Like slice::windows(),\nthe windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>where\n Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>where\n Self: Sized,\n F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> Bwhere\n B: FromIterator<Self::Item>,\n Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut Ewhere\n E: Extend<Self::Item>,\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> boolwhere\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate,\nsuch that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\nsuccessfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(Self::Item) -> R,\n R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\niterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> Bwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\nreturning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\noperation. Read more
    source§

    fn try_reduce<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryTypewhere\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> R,\n R: Try<Output = Self::Item>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\nclosure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\nthe first non-none result. Read more
    source§

    fn try_find<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryTypewhere\n Self: Sized,\n F: FnMut(&Self::Item) -> R,\n R: Try<Output = bool>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns\nthe first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\nspecified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\nspecified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\nspecified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\nspecified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)where\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>where\n T: 'a + Copy,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>where\n T: 'a + Clone,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> Swhere\n Self: Sized,\n S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> Pwhere\n Self: Sized,\n P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Orderingwhere\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Lexicographically compares the PartialOrd elements of\nthis Iterator with those of another. The comparison works like short-circuit\nevaluation, returning a result without comparing the remaining elements.\nAs soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are equal to those of\nanother. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> boolwhere\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of\nanother with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\nanother. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> boolwhere\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> K,\n K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction\nfunction. Read more
    ","Iterator","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Debug for Box<T, A>where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","db_core::errors::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Clone for Box<T, A>where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Box<T, A>

    Returns a new box with a clone() of this box’s contents.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet y = x.clone();\n\n// The value is the same\nassert_eq!(x, y);\n\n// But they are unique objects\nassert_ne!(&*x as *const i32, &*y as *const i32);
    \n
    source§

    fn clone_from(&mut self, source: &Box<T, A>)

    Copies source’s contents into self without creating a new allocation.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet mut y = Box::new(10);\nlet yp: *const i32 = &*y;\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no allocation occurred\nassert_eq!(yp, &*y);
    \n
    ","Clone","db_core::errors::BoxDynError"],["
    source§

    impl<'de, T> Deserialize<'de> for Box<T>where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","db_core::errors::BoxDynError"],["
    source§

    impl<T> Serialize for Box<T>where\n T: Serialize + ?Sized,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncWrite for Box<T>where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers. Read more
    §

    fn is_write_vectored(&self) -> bool

    Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
    ","AsyncWrite","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncBufRead for Box<T>where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempts to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncRead for Box<T>where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut ReadBuf<'_>\n) -> Poll<Result<(), Error>>

    Attempts to read from the AsyncRead into buf. Read more
    ","AsyncRead","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncSeek for Box<T>where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn start_seek(self: Pin<&mut Box<T>>, pos: SeekFrom) -> Result<(), Error>

    Attempts to seek to an offset, in bytes, in a stream. Read more
    §

    fn poll_complete(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<u64, Error>>

    Waits for a seek operation to complete. Read more
    ","AsyncSeek","db_core::errors::BoxDynError"],["
    §

    impl<T> Source for Box<T>where\n T: Source + ?Sized,

    §

    fn register(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Register self with the given Registry instance. Read more
    §

    fn reregister(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Re-register self with the given Registry instance. Read more
    §

    fn deregister(&mut self, registry: &Registry) -> Result<(), Error>

    Deregister self from the given Registry instance. Read more
    ","Source","db_core::errors::BoxDynError"],["
    source§

    impl<T> Log for Box<T>where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records.
    ","Log","db_core::errors::BoxDynError"],["
    §

    impl<T> Buf for Box<T>where\n T: Buf + ?Sized,

    §

    fn remaining(&self) -> usize

    Returns the number of bytes between the current position and the end of\nthe buffer. Read more
    §

    fn chunk(&self) -> &[u8]

    Returns a slice starting at the current position and of length between 0\nand Buf::remaining(). Note that this can return shorter slice (this allows\nnon-continuous internal representation). Read more
    §

    fn chunks_vectored<'b>(&'b self, dst: &mut [IoSlice<'b>]) -> usize

    Fills dst with potentially multiple slices starting at self’s\ncurrent position. Read more
    §

    fn advance(&mut self, cnt: usize)

    Advance the internal cursor of the Buf Read more
    §

    fn has_remaining(&self) -> bool

    Returns true if there are any more bytes to consume Read more
    §

    fn copy_to_slice(&mut self, dst: &mut [u8])

    Copies bytes from self into dst. Read more
    §

    fn get_u8(&mut self) -> u8

    Gets an unsigned 8 bit integer from self. Read more
    §

    fn get_i8(&mut self) -> i8

    Gets a signed 8 bit integer from self. Read more
    §

    fn get_u16(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_u16_le(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_u16_ne(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_i16(&mut self) -> i16

    Gets a signed 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_i16_le(&mut self) -> i16

    Gets a signed 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_i16_ne(&mut self) -> i16

    Gets a signed 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_u32(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the big-endian byte order. Read more
    §

    fn get_u32_le(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the little-endian byte order. Read more
    §

    fn get_u32_ne(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_i32(&mut self) -> i32

    Gets a signed 32 bit integer from self in big-endian byte order. Read more
    §

    fn get_i32_le(&mut self) -> i32

    Gets a signed 32 bit integer from self in little-endian byte order. Read more
    §

    fn get_i32_ne(&mut self) -> i32

    Gets a signed 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_u64(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_u64_le(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_u64_ne(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_i64(&mut self) -> i64

    Gets a signed 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_i64_le(&mut self) -> i64

    Gets a signed 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_i64_ne(&mut self) -> i64

    Gets a signed 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_uint(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in big-endian byte order. Read more
    §

    fn get_uint_le(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in little-endian byte order. Read more
    §

    fn get_uint_ne(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in native-endian byte order. Read more
    §

    fn get_int(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in big-endian byte order. Read more
    §

    fn get_int_le(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in little-endian byte order. Read more
    §

    fn get_int_ne(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in native-endian byte order. Read more
    §

    fn copy_to_bytes(&mut self, len: usize) -> Bytes

    Consumes len bytes inside self and returns new instance of Bytes\nwith this data. Read more
    §

    fn get_u128(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_u128_le(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_u128_ne(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_i128(&mut self) -> i128

    Gets a signed 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_i128_le(&mut self) -> i128

    Gets a signed 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_i128_ne(&mut self) -> i128

    Gets a signed 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_f32(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f32_le(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f32_ne(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn get_f64(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f64_le(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f64_ne(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn take(self, limit: usize) -> Take<Self>where\n Self: Sized,

    Creates an adaptor which will read at most limit bytes from self. Read more
    §

    fn chain<U>(self, next: U) -> Chain<Self, U>where\n U: Buf,\n Self: Sized,

    Creates an adaptor which will chain this buffer with another. Read more
    §

    fn reader(self) -> Reader<Self>where\n Self: Sized,

    Creates an adaptor which implements the Read trait for self. Read more
    ","Buf","db_core::errors::BoxDynError"],["
    §

    impl<T> BufMut for Box<T>where\n T: BufMut + ?Sized,

    §

    fn remaining_mut(&self) -> usize

    Returns the number of bytes that can be written from the current\nposition until the end of the buffer is reached. Read more
    §

    fn chunk_mut(&mut self) -> &mut UninitSlice

    Returns a mutable slice starting at the current BufMut position and of\nlength between 0 and BufMut::remaining_mut(). Note that this can be shorter than the\nwhole remainder of the buffer (this allows non-continuous implementation). Read more
    §

    unsafe fn advance_mut(&mut self, cnt: usize)

    Advance the internal cursor of the BufMut Read more
    §

    fn put_slice(&mut self, src: &[u8])

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_u8(&mut self, n: u8)

    Writes an unsigned 8 bit integer to self. Read more
    §

    fn put_i8(&mut self, n: i8)

    Writes a signed 8 bit integer to self. Read more
    §

    fn put_u16(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_u16_le(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_u16_ne(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_i16(&mut self, n: i16)

    Writes a signed 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_i16_le(&mut self, n: i16)

    Writes a signed 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_i16_ne(&mut self, n: i16)

    Writes a signed 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_u32(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_u32_le(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_u32_ne(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_i32(&mut self, n: i32)

    Writes a signed 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_i32_le(&mut self, n: i32)

    Writes a signed 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_i32_ne(&mut self, n: i32)

    Writes a signed 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_u64(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u64_le(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_u64_ne(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in native-endian byte order. Read more
    §

    fn put_i64(&mut self, n: i64)

    Writes a signed 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i64_le(&mut self, n: i64)

    Writes a signed 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_i64_ne(&mut self, n: i64)

    Writes a signed 64 bit integer to self in native-endian byte order. Read more
    §

    fn has_remaining_mut(&self) -> bool

    Returns true if there is space in self for more bytes. Read more
    §

    fn put<T>(&mut self, src: T)where\n T: Buf,\n Self: Sized,

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_bytes(&mut self, val: u8, cnt: usize)

    Put cnt bytes val into self. Read more
    §

    fn put_u128(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u128_le(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_u128_ne(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_i128(&mut self, n: i128)

    Writes a signed 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i128_le(&mut self, n: i128)

    Writes a signed 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_i128_ne(&mut self, n: i128)

    Writes a signed 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_uint(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in big-endian byte order. Read more
    §

    fn put_uint_le(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the little-endian byte order. Read more
    §

    fn put_uint_ne(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the native-endian byte order. Read more
    §

    fn put_int(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in big-endian byte order. Read more
    §

    fn put_int_le(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in little-endian byte order. Read more
    §

    fn put_int_ne(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in native-endian byte order. Read more
    §

    fn put_f32(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f32_le(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f32_ne(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn put_f64(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f64_le(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f64_ne(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn limit(self, limit: usize) -> Limit<Self>where\n Self: Sized,

    Creates an adaptor which can write at most limit bytes to self. Read more
    §

    fn writer(self) -> Writer<Self>where\n Self: Sized,

    Creates an adaptor which implements the Write trait for self. Read more
    §

    fn chain_mut<U>(self, next: U) -> Chain<Self, U>where\n U: BufMut,\n Self: Sized,

    Creates an adapter which will chain this buffer with another. Read more
    ","BufMut","db_core::errors::BoxDynError"],["
    §

    impl<S> Stream for Box<S>where\n S: Stream + Unpin + ?Sized,

    §

    type Item = <S as Stream>::Item

    Values yielded by the stream.
    §

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as Stream>::Item>>

    Attempt to pull out the next value of this stream, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the stream is exhausted. Read more
    §

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the stream. Read more
    ","Stream","db_core::errors::BoxDynError"],["
    §

    impl<F> FusedFuture for Box<F>where\n F: FusedFuture + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the underlying future should no longer be polled.
    ","FusedFuture","db_core::errors::BoxDynError"],["
    §

    impl<S> FusedStream for Box<S>where\n S: FusedStream + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the stream should no longer be polled.
    ","FusedStream","db_core::errors::BoxDynError"],["
    §

    impl<'a, T, F> UnsafeFutureObj<'a, T> for Box<F>where\n F: Future<Output = T> + 'a,

    §

    fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

    Convert an owned instance into a (conceptually owned) fat pointer. Read more
    §

    unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

    Drops the future represented by the given fat pointer. Read more
    ","UnsafeFutureObj<'a, T>","db_core::errors::BoxDynError"],["
    §

    impl<Sp> LocalSpawn for Box<Sp>where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","db_core::errors::BoxDynError"],["
    §

    impl<Sp> Spawn for Box<Sp>where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","db_core::errors::BoxDynError"],["
    §

    impl<S, Item> Sink<Item> for Box<S>where\n S: Sink<Item> + Unpin + ?Sized,

    §

    type Error = <S as Sink<Item>>::Error

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Box<S>>,\n item: Item\n) -> Result<(), <Box<S> as Sink<Item>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncWrite for Box<T>where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to close the object. Read more
    ","AsyncWrite","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncRead for Box<T>where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut [u8]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into buf. Read more
    §

    fn poll_read_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &mut [IoSliceMut<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into bufs using vectored\nIO operations. Read more
    ","AsyncRead","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncSeek for Box<T>where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn poll_seek(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n pos: SeekFrom\n) -> Poll<Result<u64, Error>>

    Attempt to seek to an offset, in bytes, in a stream. Read more
    ","AsyncSeek","db_core::errors::BoxDynError"],["
    §

    impl<T> AsyncBufRead for Box<T>where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempt to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","db_core::errors::BoxDynError"],["
    §

    impl<P, Input> Parser<Input> for Box<P>where\n P: Parser<Input> + ?Sized,\n Input: Stream,

    §

    type Output = <P as Parser<Input>>::Output

    The type which is returned if the parser is successful.
    §

    type PartialState = <P as Parser<Input>>::PartialState

    Determines the state necessary to resume parsing after more input is supplied. Read more
    §

    fn add_error(&mut self, error: &mut Tracked<<Input as StreamOnce>::Error>)

    Adds the first error that would normally be returned by this parser if it failed with an\nPeekErr result. Read more
    §

    fn parse(\n &mut self,\n input: Input\n) -> Result<(Self::Output, Input), <Input as StreamOnce>::Error>

    Entry point of the parser. Takes some input and tries to parse it. Read more
    §

    fn parse_with_state(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> Result<Self::Output, <Input as StreamOnce>::Error>

    Entry point of the parser when using partial parsing.\nTakes some input and tries to parse it. Read more
    §

    fn parse_stream(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_lazy(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_stream_partial(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Like parse_stream but supports partial parsing.
    §

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Borrows a parser instead of consuming it. Read more
    §

    fn with<P2>(self, p: P2) -> With<Self, P2>where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the self parser and returns the value of p.\nFails if any of the parsers fails. Read more
    §

    fn skip<P2>(self, p: P2) -> Skip<Self, P2>where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the p parser and returns the value of self.\nFails if any of the parsers fails. Read more
    §

    fn and<P2>(self, p: P2) -> (Self, P2)where\n Self: Sized,\n P2: Parser<Input>,

    Parses with self followed by p.\nSucceeds if both parsers succeed, otherwise fails.\nReturns a tuple with both values on success. Read more
    §

    fn or<P2>(self, p: P2) -> Or<Self, P2>where\n Self: Sized,\n P2: Parser<Input, Output = Self::Output>,

    Returns a parser which attempts to parse using self. If self fails without committing\nit tries to consume the same input using p. Read more
    §

    fn then<N, F>(self, f: F) -> Then<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes the value to f which returns a parser used to parse\nthe rest of the input. Read more
    §

    fn then_partial<N, F>(self, f: F) -> ThenPartial<Self, F>where\n Self: Sized,\n F: FnMut(&mut Self::Output) -> N,\n N: Parser<Input>,

    Variant of then which parses using self and then passes the value to f as a &mut reference. Read more
    §

    fn then_ref<N, F>(self, f: F) -> ThenRef<Self, F>where\n Self: Sized,\n F: FnMut(&Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes a reference to the value to f which returns a parser\nused to parse the rest of the input. The value is then combined with the output of f. Read more
    §

    fn map<F, B>(self, f: F) -> Map<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> B,

    Uses f to map over the parsed value. Read more
    §

    fn map_input<F, B>(self, f: F) -> MapInput<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output, &mut Input) -> B,

    §

    fn flat_map<F, B>(self, f: F) -> FlatMap<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> Result<B, <Input as StreamOnce>::Error>,

    Uses f to map over the output of self. If f returns an error the parser fails. Read more
    §

    fn message<S>(self, msg: S) -> Message<Self, S>where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails, adds the message msg to the error. Read more
    §

    fn expected<S>(self, msg: S) -> Expected<Self, S>where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails without consuming any input any expected errors are\nreplaced by msg. msg is then used in error messages as “Expected msg”. Read more
    §

    fn silent(self) -> Silent<Self>where\n Self: Sized,

    Parses with self, if it fails without consuming any input any expected errors that would\notherwise be emitted by self are suppressed. Read more
    §

    fn and_then<F, O, E>(self, f: F) -> AndThen<Self, F>where\n Self: Parser<Input> + Sized,\n F: FnMut(Self::Output) -> Result<O, E>,\n E: Into<<<Input as StreamOnce>::Error as ParseError<<Input as StreamOnce>::Token, <Input as StreamOnce>::Range, <Input as StreamOnce>::Position>>::StreamError>,

    Parses with self and applies f on the result if self parses successfully.\nf may optionally fail with an error which is automatically converted to a ParseError. Read more
    §

    fn iter(\n self,\n input: &mut Input\n) -> Iter<'_, Input, Self, Self::PartialState, FirstMode>where\n Self: Parser<Input> + Sized,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn partial_iter<M, 'a, 's>(\n self,\n mode: M,\n input: &'a mut Input,\n partial_state: &'s mut Self::PartialState\n) -> Iter<'a, Input, Self, &'s mut Self::PartialState, M>where\n Self: Parser<Input> + Sized,\n M: ParseMode,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn boxed<'a>(\n self\n) -> Box<dyn Parser<Input, Output = Self::Output, PartialState = Self::PartialState> + 'a>where\n Self: Sized + 'a,

    Turns the parser into a trait object by putting it in a Box. Can be used to easily\nreturn parsers from functions without naming the type. Read more
    §

    fn left<R>(self) -> Either<Self, R>where\n Self: Sized,\n R: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn right<L>(self) -> Either<L, Self>where\n Self: Sized,\n L: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn spanned(self) -> Spanned<Self>where\n Self: Sized,

    Marks errors produced inside the self parser with the span from the start of the parse to\nthe end of it. Read more
    ","Parser","db_core::errors::BoxDynError"],["
    §

    impl<T> Value for Box<T>where\n T: Value + ?Sized,

    §

    fn record(&self, key: &Field, visitor: &mut dyn Visit)

    Visits this value with the given Visitor.
    ","Value","db_core::errors::BoxDynError"],["
    §

    impl<S> Subscriber for Box<S>where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","db_core::errors::BoxDynError"],["
    source§

    impl<R> CryptoRng for Box<R>where\n R: CryptoRng + ?Sized,

    ","CryptoRng","db_core::errors::BoxDynError"],["
    source§

    impl<R> RngCore for Box<R>where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","db_core::errors::BoxDynError"],["
    §

    impl<F, A> ActorFuture<A> for Box<F>where\n F: ActorFuture<A> + Unpin + ?Sized,\n A: Actor,

    §

    type Output = <F as ActorFuture<A>>::Output

    The type of value that this future will resolved with if it is\nsuccessful.
    §

    fn poll(\n self: Pin<&mut Box<F>>,\n srv: &mut A,\n ctx: &mut <A as Actor>::Context,\n task: &mut Context<'_>\n) -> Poll<<Box<F> as ActorFuture<A>>::Output>

    ","ActorFuture","db_core::errors::BoxDynError"],["
    §

    impl<M> Message for Box<M>where\n M: Message,

    Allow users to use Box<M> as a message without having to re-impl Message

    \n
    §

    type Result = <M as Message>::Result

    The type of value that this message will resolved with if it is\nsuccessful.
    ","Message","db_core::errors::BoxDynError"]], "db_sqlx_maria":[["
    source§

    impl<T> Box<T>

    1.0.0 · source

    pub fn new(x: T) -> Box<T>

    Allocates memory on the heap and then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    let five = Box::new(5);
    \n
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new box with uninitialized contents.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet mut five = Box::<u32>::new_uninit();\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet zero = Box::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\ndoes the same as Box::into_pin(Box::new(x)). Consider using\ninto_pin if you already have a Box<T>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new.

    \n
    source

    pub fn try_new(x: T) -> Result<Box<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory on the heap then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nlet five = Box::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents on the heap,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet mut five = Box::<u32>::try_new_uninit()?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes on the heap

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet zero = Box::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, A> Box<T, A>where\n A: Allocator,

    source

    pub fn new_in(x: T, alloc: A) -> Box<T, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::new_in(5, System);
    \n
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Box<T, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::try_new_in(5, System)?;
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Box<MaybeUninit<T>, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator,\nreturning an error if the allocation fails,

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Box<T, A>>where\n A: 'static + Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\ndoes the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\ninto_pin if you already have a Box<T, A>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new_in.

    \n
    source

    pub fn into_boxed_slice(boxed: Box<T, A>) -> Box<[T], A>

    🔬This is a nightly-only experimental API. (box_into_boxed_slice)

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Box<T, A>) -> T

    🔬This is a nightly-only experimental API. (box_into_inner)

    Consumes the Box, returning the wrapped value.

    \n
    Examples
    \n
    #![feature(box_into_inner)]\n\nlet c = Box::new(5);\n\nassert_eq!(Box::into_inner(c), 5);
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T> Box<T>where\n T: ?Sized,

    1.4.0 · source

    pub unsafe fn from_raw(raw: *mut T) -> Box<T>

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n

    The safety conditions are described in the memory layout section.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw:

    \n\n
    let x = Box::new(5);\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manually create a Box from scratch by using the global allocator:

    \n\n
    use std::alloc::{alloc, Layout};\n\nunsafe {\n    let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw(ptr);\n}
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, A> Box<T, A>where\n A: Allocator,\n T: ?Sized,

    const: unstable · source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Box<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw_with_allocator:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(5, System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manually create a Box from scratch by using the system allocator:

    \n\n
    #![feature(allocator_api, slice_ptr_get)]\n\nuse std::alloc::{Allocator, Layout, System};\n\nunsafe {\n    let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw_in(ptr, System);\n}
    \n
    1.4.0 · source

    pub fn into_raw(b: Box<T, A>) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw(b) instead of b.into_raw(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw\nfor automatic cleanup:

    \n\n
    let x = Box::new(String::from("Hello"));\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    use std::alloc::{dealloc, Layout};\nuse std::ptr;\n\nlet x = Box::new(String::from("Hello"));\nlet p = Box::into_raw(x);\nunsafe {\n    ptr::drop_in_place(p);\n    dealloc(p as *mut u8, Layout::new::<String>());\n}
    \n
    source

    pub fn into_raw_with_allocator(b: Box<T, A>) -> (*mut T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw_in function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw_with_allocator(b) instead of b.into_raw_with_allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw_in\nfor automatic cleanup:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(String::from("Hello"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{Allocator, Layout, System};\nuse std::ptr::{self, NonNull};\n\nlet x = Box::new_in(String::from("Hello"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    let non_null = NonNull::new_unchecked(ptr);\n    alloc.deallocate(non_null.cast(), Layout::new::<String>());\n}
    \n
    const: unstable · source

    pub fn allocator(b: &Box<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::allocator(&b) instead of b.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.26.0 · source

    pub fn leak<'a>(b: Box<T, A>) -> &'a mut Twhere\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n&'a mut T. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak. If this is not acceptable, the reference should first be wrapped\nwith the Box::from_raw function producing a Box. This Box can\nthen be dropped which will properly destroy T and release the\nallocated memory.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::leak(b) instead of b.leak(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Simple usage:

    \n\n
    let x = Box::new(41);\nlet static_ref: &'static mut usize = Box::leak(x);\n*static_ref += 1;\nassert_eq!(*static_ref, 42);
    \n

    Unsized data:

    \n\n
    let x = vec![1, 2, 3].into_boxed_slice();\nlet static_ref = Box::leak(x);\nstatic_ref[0] = 4;\nassert_eq!(*static_ref, [4, 2, 3]);
    \n
    1.63.0 (const: unstable) · source

    pub fn into_pin(boxed: Box<T, A>) -> Pin<Box<T, A>>where\n A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis into_pin method is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    Notes
    \n

    It’s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\nas it’ll introduce an ambiguity when calling Pin::from.\nA demonstration of such a poor impl is shown below.

    \n\n
    struct Foo; // A type defined in this crate.\nimpl From<Box<()>> for Pin<Foo> {\n    fn from(_: Box<()>) -> Pin<Foo> {\n        Pin::new(Foo)\n    }\n}\n\nlet foo = Box::new(());\nlet bar = Pin::from(foo);
    \n
    ",0,"db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<S> Seek for Box<S>where\n S: Seek + ?Sized,

    source§

    fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>

    Seek to an offset, in bytes, in a stream. Read more
    source§

    fn stream_position(&mut self) -> Result<u64, Error>

    Returns the current seek position from the start of the stream. Read more
    1.55.0 · source§

    fn rewind(&mut self) -> Result<(), Error>

    Rewind to the beginning of a stream. Read more
    source§

    fn stream_len(&mut self) -> Result<u64, Error>

    🔬This is a nightly-only experimental API. (seek_stream_len)
    Returns the length of this stream (in bytes). Read more
    ","Seek","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<W> Write for Box<W>where\n W: Write + ?Sized,

    source§

    fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

    Write a buffer into this writer, returning how many bytes were written. Read more
    source§

    fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

    Like write, except that it writes from a slice of buffers. Read more
    source§

    fn is_write_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Writer has an efficient write_vectored\nimplementation. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes a formatted string into this writer, returning any error\nencountered. Read more
    source§

    fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (write_all_vectored)
    Attempts to write multiple buffers into this writer. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.64.0 · source§

    impl<T> AsFd for Box<T>where\n T: AsFd,

    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<B> BufRead for Box<B>where\n B: BufRead + ?Sized,

    source§

    fn fill_buf(&mut self) -> Result<&[u8], Error>

    Returns the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    source§

    fn consume(&mut self, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to read. Read more
    source§

    fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes into buf until the delimiter byte or EOF is reached. Read more
    source§

    fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until a newline (the 0xA byte) is reached, and append\nthem to the provided String buffer. Read more
    source§

    fn has_data_left(&mut self) -> Result<bool, Error>

    🔬This is a nightly-only experimental API. (buf_read_has_data_left)
    Check if the underlying Read has any data left to be read. Read more
    1.0.0 · source§

    fn split(self, byte: u8) -> Split<Self>where\n Self: Sized,

    Returns an iterator over the contents of this reader split on the byte\nbyte. Read more
    1.0.0 · source§

    fn lines(self) -> Lines<Self>where\n Self: Sized,

    Returns an iterator over the lines of this reader. Read more
    ","BufRead","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<R> Read for Box<R>where\n R: Read + ?Sized,

    source§

    fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

    Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read. Read more
    source§

    fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Pull some bytes from this source into the specified buffer. Read more
    source§

    fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

    Like read, except that it reads into a slice of buffers. Read more
    source§

    fn is_read_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Reader has an efficient read_vectored\nimplementation. Read more
    source§

    fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes until EOF in this source, placing them into buf. Read more
    source§

    fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until EOF in this source, appending them to buf. Read more
    source§

    fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

    Read the exact number of bytes required to fill buf. Read more
    source§

    fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Read the exact number of bytes required to fill cursor. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Creates a “by reference” adaptor for this instance of Read. Read more
    1.0.0 · source§

    fn bytes(self) -> Bytes<Self>where\n Self: Sized,

    Transforms this Read instance to an Iterator over its bytes. Read more
    1.0.0 · source§

    fn chain<R>(self, next: R) -> Chain<Self, R>where\n R: Read,\n Self: Sized,

    Creates an adapter which will chain this stream with another. Read more
    1.0.0 · source§

    fn take(self, limit: u64) -> Take<Self>where\n Self: Sized,

    Creates an adapter which will read at most limit bytes from it. Read more
    ","Read","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.63.0 · source§

    impl<T> AsRawFd for Box<T>where\n T: AsRawFd,

    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> Fn<Args> for Box<F, A>where\n Args: Tuple,\n F: Fn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call(\n &self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","Fn","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Pointer for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.
    ","Pointer","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Deref for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> ExactSizeIterator for Box<I, A>where\n I: ExactSizeIterator + ?Sized,\n A: Allocator,

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    ","ExactSizeIterator","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Ord for Box<T, A>where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Box<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.22.0 · source§

    impl<T, A> Hasher for Box<T, A>where\n T: Hasher + ?Sized,\n A: Allocator,

    source§

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source§

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source§

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source§

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source§

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source§

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source§

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source§

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source§

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source§

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source§

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source§

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source§

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source§

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source§

    fn write_length_prefix(&mut self, len: usize)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source§

    fn write_str(&mut self, s: &str)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a single str into this hasher. Read more
    ","Hasher","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.8.0 · source§

    impl<T> Error for Box<T>where\n T: Error,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<G, R, A> Coroutine<R> for Box<G, A>where\n G: Coroutine<R> + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Box<G, A>>,\n arg: R\n) -> CoroutineState<<Box<G, A> as Coroutine<R>>::Yield, <Box<G, A> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> FnMut<Args> for Box<F, A>where\n Args: Tuple,\n F: FnMut<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnMut","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Box<T, A>where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Box<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Box<T, A>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> DoubleEndedIterator for Box<I, A>where\n I: DoubleEndedIterator + ?Sized,\n A: Allocator,

    source§

    fn next_back(&mut self) -> Option<<I as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn nth_back(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\nelements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> Bwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single,\nfinal value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    ","DoubleEndedIterator","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Display for Box<T, A>where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Drop for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.26.0 · source§

    impl<I, A> FusedIterator for Box<I, A>where\n I: FusedIterator + ?Sized,\n A: Allocator,

    ","FusedIterator","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Box<T, A>where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Box<T, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source§

    fn lt(&self, other: &Box<T, A>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Box<T, A>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn ge(&self, other: &Box<T, A>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    source§

    fn gt(&self, other: &Box<T, A>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    ","PartialOrd","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Hash for Box<T, A>where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.5.0 · source§

    impl<T, A> AsMut<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_mut(&mut self) -> &mut T

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.1.0 · source§

    impl<T, A> Borrow<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    ","DerefMut","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T> Default for Box<T>where\n T: Default,

    source§

    fn default() -> Box<T>

    Creates a Box<T>, with the Default value for T.

    \n
    ","Default","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.36.0 · source§

    impl<F, A> Future for Box<F, A>where\n F: Future + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Box<F, A>>,\n cx: &mut Context<'_>\n) -> Poll<<Box<F, A> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.33.0 · source§

    impl<T, A> Unpin for Box<T, A>where\n A: Allocator + 'static,\n T: ?Sized,

    ","Unpin","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.1.0 · source§

    impl<T, A> BorrowMut<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    ","BorrowMut","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.22.0 · source§

    impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a>

    source§

    fn from(err: Cow<'b, str>) -> Box<dyn Error + Send + Sync + 'a>

    Converts a Cow into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\nuse std::borrow::Cow;\n\nlet a_cow_str_error = Cow::from("a str error");\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_cow_str_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<'a> From<&str> for Box<dyn Error + Send + Sync + 'a>

    source§

    fn from(err: &str) -> Box<dyn Error + Send + Sync + 'a>

    Converts a str into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_str_error = "a str error";\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_str_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From<&str>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.22.0 · source§

    impl<'a> From<Cow<'a, str>> for Box<dyn Error>

    source§

    fn from(err: Cow<'a, str>) -> Box<dyn Error>

    Converts a Cow into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\nuse std::borrow::Cow;\n\nlet a_cow_str_error = Cow::from("a str error");\nlet a_boxed_error = Box::<dyn Error>::from(a_cow_str_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<'a, E> From<E> for Box<dyn Error + 'a>where\n E: Error + 'a,

    source§

    fn from(err: E) -> Box<dyn Error + 'a>

    Converts a type of Error into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::fmt;\nuse std::mem;\n\n#[derive(Debug)]\nstruct AnError;\n\nimpl fmt::Display for AnError {\n    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n        write!(f, "An error")\n    }\n}\n\nimpl Error for AnError {}\n\nlet an_error = AnError;\nassert!(0 == mem::size_of_val(&an_error));\nlet a_boxed_error = Box::<dyn Error>::from(an_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.6.0 · source§

    impl From<&str> for Box<dyn Error>

    source§

    fn from(err: &str) -> Box<dyn Error>

    Converts a str into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_str_error = "a str error";\nlet a_boxed_error = Box::<dyn Error>::from(a_str_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From<&str>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.6.0 · source§

    impl From<String> for Box<dyn Error>

    source§

    fn from(str_err: String) -> Box<dyn Error>

    Converts a String into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_string_error = "a string error".to_string();\nlet a_boxed_error = Box::<dyn Error>::from(a_string_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.6.0 · source§

    impl<T> From<T> for Box<T>

    source§

    fn from(t: T) -> Box<T>

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\nfrom the stack into it.

    \n
    Examples
    \n
    let x = 5;\nlet boxed = Box::new(5);\n\nassert_eq!(Box::from(x), boxed);
    \n
    ","From","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<'a, E> From<E> for Box<dyn Error + Send + Sync + 'a>where\n E: Error + Send + Sync + 'a,

    source§

    fn from(err: E) -> Box<dyn Error + Send + Sync + 'a>

    Converts a type of Error + Send + Sync into a box of\ndyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::fmt;\nuse std::mem;\n\n#[derive(Debug)]\nstruct AnError;\n\nimpl fmt::Display for AnError {\n    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n        write!(f, "An error")\n    }\n}\n\nimpl Error for AnError {}\n\nunsafe impl Send for AnError {}\n\nunsafe impl Sync for AnError {}\n\nlet an_error = AnError;\nassert!(0 == mem::size_of_val(&an_error));\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(an_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl From<String> for Box<dyn Error + Send + Sync>

    source§

    fn from(err: String) -> Box<dyn Error + Send + Sync>

    Converts a String into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_string_error = "a string error".to_string();\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_string_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, U> DispatchFromDyn<Box<U>> for Box<T>where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> FnOnce<Args> for Box<F, A>where\n Args: Tuple,\n F: FnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source§

    extern "rust-call" fn call_once(\n self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnOnce","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<S> AsyncIterator for Box<S>where\n S: AsyncIterator + Unpin + ?Sized,

    §

    type Item = <S as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, U, A> CoerceUnsized<Box<U, A>> for Box<T, A>where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Eq for Box<T, A>where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> Iterator for Box<I, A>where\n I: Iterator + ?Sized,\n A: Allocator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<I as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source§

    fn nth(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn last(self) -> Option<<I as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source§

    fn next_chunk<const N: usize>(\n &mut self\n) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usizewhere\n Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>where\n Self: Sized,

    Creates an iterator starting at the same point, but stepping by\nthe given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>where\n Self: Sized,\n U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where\n Self: Sized,\n U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>where\n Self: Sized,\n G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator\nbetween adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>where\n Self: Sized,\n F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\nelement. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)where\n Self: Sized,\n F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\nshould be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>where\n Self: Sized,

    Creates an iterator which gives the current iteration count as well as\nthe next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>where\n Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\nto look at the next element of the iterator without consuming it. See\ntheir documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>where\n Self: Sized,\n P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>where\n Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>where\n Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\nif the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\nunlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where\n Self: Sized,\n U: IntoIterator,\n F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>where\n Self: Sized,\n F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over\nself and returns an iterator over the outputs of f. Like slice::windows(),\nthe windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>where\n Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>where\n Self: Sized,\n F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> Bwhere\n B: FromIterator<Self::Item>,\n Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut Ewhere\n E: Extend<Self::Item>,\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> boolwhere\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate,\nsuch that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\nsuccessfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(Self::Item) -> R,\n R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\niterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> Bwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\nreturning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\noperation. Read more
    source§

    fn try_reduce<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryTypewhere\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> R,\n R: Try<Output = Self::Item>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\nclosure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\nthe first non-none result. Read more
    source§

    fn try_find<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryTypewhere\n Self: Sized,\n F: FnMut(&Self::Item) -> R,\n R: Try<Output = bool>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns\nthe first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\nspecified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\nspecified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\nspecified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\nspecified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)where\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>where\n T: 'a + Copy,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>where\n T: 'a + Clone,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> Swhere\n Self: Sized,\n S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> Pwhere\n Self: Sized,\n P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Orderingwhere\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Lexicographically compares the PartialOrd elements of\nthis Iterator with those of another. The comparison works like short-circuit\nevaluation, returning a result without comparing the remaining elements.\nAs soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are equal to those of\nanother. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> boolwhere\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of\nanother with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\nanother. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> boolwhere\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> K,\n K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction\nfunction. Read more
    ","Iterator","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Debug for Box<T, A>where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Clone for Box<T, A>where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Box<T, A>

    Returns a new box with a clone() of this box’s contents.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet y = x.clone();\n\n// The value is the same\nassert_eq!(x, y);\n\n// But they are unique objects\nassert_ne!(&*x as *const i32, &*y as *const i32);
    \n
    source§

    fn clone_from(&mut self, source: &Box<T, A>)

    Copies source’s contents into self without creating a new allocation.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet mut y = Box::new(10);\nlet yp: *const i32 = &*y;\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no allocation occurred\nassert_eq!(yp, &*y);
    \n
    ","Clone","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<'de, T> Deserialize<'de> for Box<T>where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T> Serialize for Box<T>where\n T: Serialize + ?Sized,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncWrite for Box<T>where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers. Read more
    §

    fn is_write_vectored(&self) -> bool

    Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
    ","AsyncWrite","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncBufRead for Box<T>where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempts to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncRead for Box<T>where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut ReadBuf<'_>\n) -> Poll<Result<(), Error>>

    Attempts to read from the AsyncRead into buf. Read more
    ","AsyncRead","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncSeek for Box<T>where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn start_seek(self: Pin<&mut Box<T>>, pos: SeekFrom) -> Result<(), Error>

    Attempts to seek to an offset, in bytes, in a stream. Read more
    §

    fn poll_complete(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<u64, Error>>

    Waits for a seek operation to complete. Read more
    ","AsyncSeek","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> Source for Box<T>where\n T: Source + ?Sized,

    §

    fn register(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Register self with the given Registry instance. Read more
    §

    fn reregister(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Re-register self with the given Registry instance. Read more
    §

    fn deregister(&mut self, registry: &Registry) -> Result<(), Error>

    Deregister self from the given Registry instance. Read more
    ","Source","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T> Log for Box<T>where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records.
    ","Log","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> Buf for Box<T>where\n T: Buf + ?Sized,

    §

    fn remaining(&self) -> usize

    Returns the number of bytes between the current position and the end of\nthe buffer. Read more
    §

    fn chunk(&self) -> &[u8]

    Returns a slice starting at the current position and of length between 0\nand Buf::remaining(). Note that this can return shorter slice (this allows\nnon-continuous internal representation). Read more
    §

    fn chunks_vectored<'b>(&'b self, dst: &mut [IoSlice<'b>]) -> usize

    Fills dst with potentially multiple slices starting at self’s\ncurrent position. Read more
    §

    fn advance(&mut self, cnt: usize)

    Advance the internal cursor of the Buf Read more
    §

    fn has_remaining(&self) -> bool

    Returns true if there are any more bytes to consume Read more
    §

    fn copy_to_slice(&mut self, dst: &mut [u8])

    Copies bytes from self into dst. Read more
    §

    fn get_u8(&mut self) -> u8

    Gets an unsigned 8 bit integer from self. Read more
    §

    fn get_i8(&mut self) -> i8

    Gets a signed 8 bit integer from self. Read more
    §

    fn get_u16(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_u16_le(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_u16_ne(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_i16(&mut self) -> i16

    Gets a signed 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_i16_le(&mut self) -> i16

    Gets a signed 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_i16_ne(&mut self) -> i16

    Gets a signed 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_u32(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the big-endian byte order. Read more
    §

    fn get_u32_le(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the little-endian byte order. Read more
    §

    fn get_u32_ne(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_i32(&mut self) -> i32

    Gets a signed 32 bit integer from self in big-endian byte order. Read more
    §

    fn get_i32_le(&mut self) -> i32

    Gets a signed 32 bit integer from self in little-endian byte order. Read more
    §

    fn get_i32_ne(&mut self) -> i32

    Gets a signed 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_u64(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_u64_le(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_u64_ne(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_i64(&mut self) -> i64

    Gets a signed 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_i64_le(&mut self) -> i64

    Gets a signed 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_i64_ne(&mut self) -> i64

    Gets a signed 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_uint(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in big-endian byte order. Read more
    §

    fn get_uint_le(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in little-endian byte order. Read more
    §

    fn get_uint_ne(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in native-endian byte order. Read more
    §

    fn get_int(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in big-endian byte order. Read more
    §

    fn get_int_le(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in little-endian byte order. Read more
    §

    fn get_int_ne(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in native-endian byte order. Read more
    §

    fn copy_to_bytes(&mut self, len: usize) -> Bytes

    Consumes len bytes inside self and returns new instance of Bytes\nwith this data. Read more
    §

    fn get_u128(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_u128_le(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_u128_ne(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_i128(&mut self) -> i128

    Gets a signed 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_i128_le(&mut self) -> i128

    Gets a signed 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_i128_ne(&mut self) -> i128

    Gets a signed 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_f32(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f32_le(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f32_ne(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn get_f64(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f64_le(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f64_ne(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn take(self, limit: usize) -> Take<Self>where\n Self: Sized,

    Creates an adaptor which will read at most limit bytes from self. Read more
    §

    fn chain<U>(self, next: U) -> Chain<Self, U>where\n U: Buf,\n Self: Sized,

    Creates an adaptor which will chain this buffer with another. Read more
    §

    fn reader(self) -> Reader<Self>where\n Self: Sized,

    Creates an adaptor which implements the Read trait for self. Read more
    ","Buf","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> BufMut for Box<T>where\n T: BufMut + ?Sized,

    §

    fn remaining_mut(&self) -> usize

    Returns the number of bytes that can be written from the current\nposition until the end of the buffer is reached. Read more
    §

    fn chunk_mut(&mut self) -> &mut UninitSlice

    Returns a mutable slice starting at the current BufMut position and of\nlength between 0 and BufMut::remaining_mut(). Note that this can be shorter than the\nwhole remainder of the buffer (this allows non-continuous implementation). Read more
    §

    unsafe fn advance_mut(&mut self, cnt: usize)

    Advance the internal cursor of the BufMut Read more
    §

    fn put_slice(&mut self, src: &[u8])

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_u8(&mut self, n: u8)

    Writes an unsigned 8 bit integer to self. Read more
    §

    fn put_i8(&mut self, n: i8)

    Writes a signed 8 bit integer to self. Read more
    §

    fn put_u16(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_u16_le(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_u16_ne(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_i16(&mut self, n: i16)

    Writes a signed 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_i16_le(&mut self, n: i16)

    Writes a signed 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_i16_ne(&mut self, n: i16)

    Writes a signed 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_u32(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_u32_le(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_u32_ne(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_i32(&mut self, n: i32)

    Writes a signed 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_i32_le(&mut self, n: i32)

    Writes a signed 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_i32_ne(&mut self, n: i32)

    Writes a signed 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_u64(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u64_le(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_u64_ne(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in native-endian byte order. Read more
    §

    fn put_i64(&mut self, n: i64)

    Writes a signed 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i64_le(&mut self, n: i64)

    Writes a signed 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_i64_ne(&mut self, n: i64)

    Writes a signed 64 bit integer to self in native-endian byte order. Read more
    §

    fn has_remaining_mut(&self) -> bool

    Returns true if there is space in self for more bytes. Read more
    §

    fn put<T>(&mut self, src: T)where\n T: Buf,\n Self: Sized,

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_bytes(&mut self, val: u8, cnt: usize)

    Put cnt bytes val into self. Read more
    §

    fn put_u128(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u128_le(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_u128_ne(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_i128(&mut self, n: i128)

    Writes a signed 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i128_le(&mut self, n: i128)

    Writes a signed 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_i128_ne(&mut self, n: i128)

    Writes a signed 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_uint(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in big-endian byte order. Read more
    §

    fn put_uint_le(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the little-endian byte order. Read more
    §

    fn put_uint_ne(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the native-endian byte order. Read more
    §

    fn put_int(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in big-endian byte order. Read more
    §

    fn put_int_le(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in little-endian byte order. Read more
    §

    fn put_int_ne(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in native-endian byte order. Read more
    §

    fn put_f32(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f32_le(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f32_ne(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn put_f64(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f64_le(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f64_ne(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn limit(self, limit: usize) -> Limit<Self>where\n Self: Sized,

    Creates an adaptor which can write at most limit bytes to self. Read more
    §

    fn writer(self) -> Writer<Self>where\n Self: Sized,

    Creates an adaptor which implements the Write trait for self. Read more
    §

    fn chain_mut<U>(self, next: U) -> Chain<Self, U>where\n U: BufMut,\n Self: Sized,

    Creates an adapter which will chain this buffer with another. Read more
    ","BufMut","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> Stream for Box<S>where\n S: Stream + Unpin + ?Sized,

    §

    type Item = <S as Stream>::Item

    Values yielded by the stream.
    §

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as Stream>::Item>>

    Attempt to pull out the next value of this stream, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the stream is exhausted. Read more
    §

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the stream. Read more
    ","Stream","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<F> FusedFuture for Box<F>where\n F: FusedFuture + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the underlying future should no longer be polled.
    ","FusedFuture","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> FusedStream for Box<S>where\n S: FusedStream + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the stream should no longer be polled.
    ","FusedStream","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<'a, T, F> UnsafeFutureObj<'a, T> for Box<F>where\n F: Future<Output = T> + 'a,

    §

    fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

    Convert an owned instance into a (conceptually owned) fat pointer. Read more
    §

    unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

    Drops the future represented by the given fat pointer. Read more
    ","UnsafeFutureObj<'a, T>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<Sp> LocalSpawn for Box<Sp>where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<Sp> Spawn for Box<Sp>where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<S, Item> Sink<Item> for Box<S>where\n S: Sink<Item> + Unpin + ?Sized,

    §

    type Error = <S as Sink<Item>>::Error

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Box<S>>,\n item: Item\n) -> Result<(), <Box<S> as Sink<Item>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncWrite for Box<T>where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to close the object. Read more
    ","AsyncWrite","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncRead for Box<T>where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut [u8]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into buf. Read more
    §

    fn poll_read_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &mut [IoSliceMut<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into bufs using vectored\nIO operations. Read more
    ","AsyncRead","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncSeek for Box<T>where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn poll_seek(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n pos: SeekFrom\n) -> Poll<Result<u64, Error>>

    Attempt to seek to an offset, in bytes, in a stream. Read more
    ","AsyncSeek","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncBufRead for Box<T>where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempt to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<P, Input> Parser<Input> for Box<P>where\n P: Parser<Input> + ?Sized,\n Input: Stream,

    §

    type Output = <P as Parser<Input>>::Output

    The type which is returned if the parser is successful.
    §

    type PartialState = <P as Parser<Input>>::PartialState

    Determines the state necessary to resume parsing after more input is supplied. Read more
    §

    fn add_error(&mut self, error: &mut Tracked<<Input as StreamOnce>::Error>)

    Adds the first error that would normally be returned by this parser if it failed with an\nPeekErr result. Read more
    §

    fn parse(\n &mut self,\n input: Input\n) -> Result<(Self::Output, Input), <Input as StreamOnce>::Error>

    Entry point of the parser. Takes some input and tries to parse it. Read more
    §

    fn parse_with_state(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> Result<Self::Output, <Input as StreamOnce>::Error>

    Entry point of the parser when using partial parsing.\nTakes some input and tries to parse it. Read more
    §

    fn parse_stream(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_lazy(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_stream_partial(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Like parse_stream but supports partial parsing.
    §

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Borrows a parser instead of consuming it. Read more
    §

    fn with<P2>(self, p: P2) -> With<Self, P2>where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the self parser and returns the value of p.\nFails if any of the parsers fails. Read more
    §

    fn skip<P2>(self, p: P2) -> Skip<Self, P2>where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the p parser and returns the value of self.\nFails if any of the parsers fails. Read more
    §

    fn and<P2>(self, p: P2) -> (Self, P2)where\n Self: Sized,\n P2: Parser<Input>,

    Parses with self followed by p.\nSucceeds if both parsers succeed, otherwise fails.\nReturns a tuple with both values on success. Read more
    §

    fn or<P2>(self, p: P2) -> Or<Self, P2>where\n Self: Sized,\n P2: Parser<Input, Output = Self::Output>,

    Returns a parser which attempts to parse using self. If self fails without committing\nit tries to consume the same input using p. Read more
    §

    fn then<N, F>(self, f: F) -> Then<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes the value to f which returns a parser used to parse\nthe rest of the input. Read more
    §

    fn then_partial<N, F>(self, f: F) -> ThenPartial<Self, F>where\n Self: Sized,\n F: FnMut(&mut Self::Output) -> N,\n N: Parser<Input>,

    Variant of then which parses using self and then passes the value to f as a &mut reference. Read more
    §

    fn then_ref<N, F>(self, f: F) -> ThenRef<Self, F>where\n Self: Sized,\n F: FnMut(&Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes a reference to the value to f which returns a parser\nused to parse the rest of the input. The value is then combined with the output of f. Read more
    §

    fn map<F, B>(self, f: F) -> Map<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> B,

    Uses f to map over the parsed value. Read more
    §

    fn map_input<F, B>(self, f: F) -> MapInput<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output, &mut Input) -> B,

    §

    fn flat_map<F, B>(self, f: F) -> FlatMap<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> Result<B, <Input as StreamOnce>::Error>,

    Uses f to map over the output of self. If f returns an error the parser fails. Read more
    §

    fn message<S>(self, msg: S) -> Message<Self, S>where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails, adds the message msg to the error. Read more
    §

    fn expected<S>(self, msg: S) -> Expected<Self, S>where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails without consuming any input any expected errors are\nreplaced by msg. msg is then used in error messages as “Expected msg”. Read more
    §

    fn silent(self) -> Silent<Self>where\n Self: Sized,

    Parses with self, if it fails without consuming any input any expected errors that would\notherwise be emitted by self are suppressed. Read more
    §

    fn and_then<F, O, E>(self, f: F) -> AndThen<Self, F>where\n Self: Parser<Input> + Sized,\n F: FnMut(Self::Output) -> Result<O, E>,\n E: Into<<<Input as StreamOnce>::Error as ParseError<<Input as StreamOnce>::Token, <Input as StreamOnce>::Range, <Input as StreamOnce>::Position>>::StreamError>,

    Parses with self and applies f on the result if self parses successfully.\nf may optionally fail with an error which is automatically converted to a ParseError. Read more
    §

    fn iter(\n self,\n input: &mut Input\n) -> Iter<'_, Input, Self, Self::PartialState, FirstMode>where\n Self: Parser<Input> + Sized,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn partial_iter<M, 'a, 's>(\n self,\n mode: M,\n input: &'a mut Input,\n partial_state: &'s mut Self::PartialState\n) -> Iter<'a, Input, Self, &'s mut Self::PartialState, M>where\n Self: Parser<Input> + Sized,\n M: ParseMode,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn boxed<'a>(\n self\n) -> Box<dyn Parser<Input, Output = Self::Output, PartialState = Self::PartialState> + 'a>where\n Self: Sized + 'a,

    Turns the parser into a trait object by putting it in a Box. Can be used to easily\nreturn parsers from functions without naming the type. Read more
    §

    fn left<R>(self) -> Either<Self, R>where\n Self: Sized,\n R: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn right<L>(self) -> Either<L, Self>where\n Self: Sized,\n L: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn spanned(self) -> Spanned<Self>where\n Self: Sized,

    Marks errors produced inside the self parser with the span from the start of the parse to\nthe end of it. Read more
    ","Parser","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> Value for Box<T>where\n T: Value + ?Sized,

    §

    fn record(&self, key: &Field, visitor: &mut dyn Visit)

    Visits this value with the given Visitor.
    ","Value","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> Subscriber for Box<S>where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<R> CryptoRng for Box<R>where\n R: CryptoRng + ?Sized,

    ","CryptoRng","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    source§

    impl<R> RngCore for Box<R>where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<F, A> ActorFuture<A> for Box<F>where\n F: ActorFuture<A> + Unpin + ?Sized,\n A: Actor,

    §

    type Output = <F as ActorFuture<A>>::Output

    The type of value that this future will resolved with if it is\nsuccessful.
    §

    fn poll(\n self: Pin<&mut Box<F>>,\n srv: &mut A,\n ctx: &mut <A as Actor>::Context,\n task: &mut Context<'_>\n) -> Poll<<Box<F> as ActorFuture<A>>::Output>

    ","ActorFuture","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<M> Message for Box<M>where\n M: Message,

    Allow users to use Box<M> as a message without having to re-impl Message

    \n
    §

    type Result = <M as Message>::Result

    The type of value that this message will resolved with if it is\nsuccessful.
    ","Message","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> Socket for Box<S>where\n S: Socket + ?Sized,

    §

    fn try_read(&mut self, buf: &mut dyn ReadBuf) -> Result<usize, Error>

    §

    fn try_write(&mut self, buf: &[u8]) -> Result<usize, Error>

    §

    fn poll_read_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_write_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_flush(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_shutdown(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn read<B, 'a>(&'a mut self, buf: &'a mut B) -> Read<'a, Self, B>where\n B: ReadBuf,\n Self: Sized,

    §

    fn write<'a>(&'a mut self, buf: &'a [u8]) -> Write<'a, Self>where\n Self: Sized,

    §

    fn flush(&mut self) -> Flush<'_, Self>where\n Self: Sized,

    §

    fn shutdown(&mut self) -> Shutdown<'_, Self>where\n Self: Sized,

    ","Socket","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<'a, T> DecodeValue<'a> for Box<T>where\n T: DecodeValue<'a>,

    §

    fn decode_value<R>(reader: &mut R, header: Header) -> Result<Box<T>, Error>where\n R: Reader<'a>,

    Attempt to decode this message using the provided [Reader].
    ","DecodeValue<'a>","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> EncodeValue for Box<T>where\n T: EncodeValue,

    §

    fn value_len(&self) -> Result<Length, Error>

    Compute the length of this value (sans [Tag]+[Length] header) when\nencoded as ASN.1 DER.
    §

    fn encode_value(&self, writer: &mut impl Writer) -> Result<(), Error>

    Encode value (sans [Tag]+[Length] header) as ASN.1 DER using the\nprovided [Writer].
    ","EncodeValue","db_sqlx_maria::dev::prelude::dev::BoxDynError"],["
    §

    impl<'a, T> Sequence<'a> for Box<T>where\n T: Sequence<'a>,

    ","Sequence<'a>","db_sqlx_maria::dev::prelude::dev::BoxDynError"]], "db_sqlx_postgres":[["
    source§

    impl<T> Box<T>

    1.0.0 · source

    pub fn new(x: T) -> Box<T>

    Allocates memory on the heap and then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    let five = Box::new(5);
    \n
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new box with uninitialized contents.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet mut five = Box::<u32>::new_uninit();\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet zero = Box::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\ndoes the same as Box::into_pin(Box::new(x)). Consider using\ninto_pin if you already have a Box<T>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new.

    \n
    source

    pub fn try_new(x: T) -> Result<Box<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory on the heap then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nlet five = Box::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents on the heap,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet mut five = Box::<u32>::try_new_uninit()?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes on the heap

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet zero = Box::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, A> Box<T, A>where\n A: Allocator,

    source

    pub fn new_in(x: T, alloc: A) -> Box<T, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::new_in(5, System);
    \n
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Box<T, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::try_new_in(5, System)?;
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Box<MaybeUninit<T>, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator,\nreturning an error if the allocation fails,

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Box<T, A>>where\n A: 'static + Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\ndoes the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\ninto_pin if you already have a Box<T, A>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new_in.

    \n
    source

    pub fn into_boxed_slice(boxed: Box<T, A>) -> Box<[T], A>

    🔬This is a nightly-only experimental API. (box_into_boxed_slice)

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Box<T, A>) -> T

    🔬This is a nightly-only experimental API. (box_into_inner)

    Consumes the Box, returning the wrapped value.

    \n
    Examples
    \n
    #![feature(box_into_inner)]\n\nlet c = Box::new(5);\n\nassert_eq!(Box::into_inner(c), 5);
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T> Box<T>where\n T: ?Sized,

    1.4.0 · source

    pub unsafe fn from_raw(raw: *mut T) -> Box<T>

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n

    The safety conditions are described in the memory layout section.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw:

    \n\n
    let x = Box::new(5);\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manually create a Box from scratch by using the global allocator:

    \n\n
    use std::alloc::{alloc, Layout};\n\nunsafe {\n    let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw(ptr);\n}
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, A> Box<T, A>where\n A: Allocator,\n T: ?Sized,

    const: unstable · source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Box<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw_with_allocator:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(5, System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manually create a Box from scratch by using the system allocator:

    \n\n
    #![feature(allocator_api, slice_ptr_get)]\n\nuse std::alloc::{Allocator, Layout, System};\n\nunsafe {\n    let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw_in(ptr, System);\n}
    \n
    1.4.0 · source

    pub fn into_raw(b: Box<T, A>) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw(b) instead of b.into_raw(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw\nfor automatic cleanup:

    \n\n
    let x = Box::new(String::from("Hello"));\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    use std::alloc::{dealloc, Layout};\nuse std::ptr;\n\nlet x = Box::new(String::from("Hello"));\nlet p = Box::into_raw(x);\nunsafe {\n    ptr::drop_in_place(p);\n    dealloc(p as *mut u8, Layout::new::<String>());\n}
    \n
    source

    pub fn into_raw_with_allocator(b: Box<T, A>) -> (*mut T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw_in function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw_with_allocator(b) instead of b.into_raw_with_allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw_in\nfor automatic cleanup:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(String::from("Hello"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{Allocator, Layout, System};\nuse std::ptr::{self, NonNull};\n\nlet x = Box::new_in(String::from("Hello"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    let non_null = NonNull::new_unchecked(ptr);\n    alloc.deallocate(non_null.cast(), Layout::new::<String>());\n}
    \n
    const: unstable · source

    pub fn allocator(b: &Box<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::allocator(&b) instead of b.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.26.0 · source

    pub fn leak<'a>(b: Box<T, A>) -> &'a mut Twhere\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n&'a mut T. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak. If this is not acceptable, the reference should first be wrapped\nwith the Box::from_raw function producing a Box. This Box can\nthen be dropped which will properly destroy T and release the\nallocated memory.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::leak(b) instead of b.leak(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Simple usage:

    \n\n
    let x = Box::new(41);\nlet static_ref: &'static mut usize = Box::leak(x);\n*static_ref += 1;\nassert_eq!(*static_ref, 42);
    \n

    Unsized data:

    \n\n
    let x = vec![1, 2, 3].into_boxed_slice();\nlet static_ref = Box::leak(x);\nstatic_ref[0] = 4;\nassert_eq!(*static_ref, [4, 2, 3]);
    \n
    1.63.0 (const: unstable) · source

    pub fn into_pin(boxed: Box<T, A>) -> Pin<Box<T, A>>where\n A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis into_pin method is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    Notes
    \n

    It’s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\nas it’ll introduce an ambiguity when calling Pin::from.\nA demonstration of such a poor impl is shown below.

    \n\n
    struct Foo; // A type defined in this crate.\nimpl From<Box<()>> for Pin<Foo> {\n    fn from(_: Box<()>) -> Pin<Foo> {\n        Pin::new(Foo)\n    }\n}\n\nlet foo = Box::new(());\nlet bar = Pin::from(foo);
    \n
    ",0,"db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<S> Seek for Box<S>where\n S: Seek + ?Sized,

    source§

    fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>

    Seek to an offset, in bytes, in a stream. Read more
    source§

    fn stream_position(&mut self) -> Result<u64, Error>

    Returns the current seek position from the start of the stream. Read more
    1.55.0 · source§

    fn rewind(&mut self) -> Result<(), Error>

    Rewind to the beginning of a stream. Read more
    source§

    fn stream_len(&mut self) -> Result<u64, Error>

    🔬This is a nightly-only experimental API. (seek_stream_len)
    Returns the length of this stream (in bytes). Read more
    ","Seek","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<W> Write for Box<W>where\n W: Write + ?Sized,

    source§

    fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

    Write a buffer into this writer, returning how many bytes were written. Read more
    source§

    fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

    Like write, except that it writes from a slice of buffers. Read more
    source§

    fn is_write_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Writer has an efficient write_vectored\nimplementation. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes a formatted string into this writer, returning any error\nencountered. Read more
    source§

    fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (write_all_vectored)
    Attempts to write multiple buffers into this writer. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.64.0 · source§

    impl<T> AsFd for Box<T>where\n T: AsFd,

    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<B> BufRead for Box<B>where\n B: BufRead + ?Sized,

    source§

    fn fill_buf(&mut self) -> Result<&[u8], Error>

    Returns the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    source§

    fn consume(&mut self, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to read. Read more
    source§

    fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes into buf until the delimiter byte or EOF is reached. Read more
    source§

    fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until a newline (the 0xA byte) is reached, and append\nthem to the provided String buffer. Read more
    source§

    fn has_data_left(&mut self) -> Result<bool, Error>

    🔬This is a nightly-only experimental API. (buf_read_has_data_left)
    Check if the underlying Read has any data left to be read. Read more
    1.0.0 · source§

    fn split(self, byte: u8) -> Split<Self>where\n Self: Sized,

    Returns an iterator over the contents of this reader split on the byte\nbyte. Read more
    1.0.0 · source§

    fn lines(self) -> Lines<Self>where\n Self: Sized,

    Returns an iterator over the lines of this reader. Read more
    ","BufRead","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<R> Read for Box<R>where\n R: Read + ?Sized,

    source§

    fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

    Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read. Read more
    source§

    fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Pull some bytes from this source into the specified buffer. Read more
    source§

    fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

    Like read, except that it reads into a slice of buffers. Read more
    source§

    fn is_read_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Reader has an efficient read_vectored\nimplementation. Read more
    source§

    fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes until EOF in this source, placing them into buf. Read more
    source§

    fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until EOF in this source, appending them to buf. Read more
    source§

    fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

    Read the exact number of bytes required to fill buf. Read more
    source§

    fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Read the exact number of bytes required to fill cursor. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Creates a “by reference” adaptor for this instance of Read. Read more
    1.0.0 · source§

    fn bytes(self) -> Bytes<Self>where\n Self: Sized,

    Transforms this Read instance to an Iterator over its bytes. Read more
    1.0.0 · source§

    fn chain<R>(self, next: R) -> Chain<Self, R>where\n R: Read,\n Self: Sized,

    Creates an adapter which will chain this stream with another. Read more
    1.0.0 · source§

    fn take(self, limit: u64) -> Take<Self>where\n Self: Sized,

    Creates an adapter which will read at most limit bytes from it. Read more
    ","Read","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.63.0 · source§

    impl<T> AsRawFd for Box<T>where\n T: AsRawFd,

    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> Fn<Args> for Box<F, A>where\n Args: Tuple,\n F: Fn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call(\n &self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","Fn","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Pointer for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.
    ","Pointer","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Deref for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> ExactSizeIterator for Box<I, A>where\n I: ExactSizeIterator + ?Sized,\n A: Allocator,

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    ","ExactSizeIterator","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Ord for Box<T, A>where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Box<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.22.0 · source§

    impl<T, A> Hasher for Box<T, A>where\n T: Hasher + ?Sized,\n A: Allocator,

    source§

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source§

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source§

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source§

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source§

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source§

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source§

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source§

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source§

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source§

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source§

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source§

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source§

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source§

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source§

    fn write_length_prefix(&mut self, len: usize)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source§

    fn write_str(&mut self, s: &str)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a single str into this hasher. Read more
    ","Hasher","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.8.0 · source§

    impl<T> Error for Box<T>where\n T: Error,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<G, R, A> Coroutine<R> for Box<G, A>where\n G: Coroutine<R> + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Box<G, A>>,\n arg: R\n) -> CoroutineState<<Box<G, A> as Coroutine<R>>::Yield, <Box<G, A> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> FnMut<Args> for Box<F, A>where\n Args: Tuple,\n F: FnMut<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnMut","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Box<T, A>where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Box<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Box<T, A>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> DoubleEndedIterator for Box<I, A>where\n I: DoubleEndedIterator + ?Sized,\n A: Allocator,

    source§

    fn next_back(&mut self) -> Option<<I as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn nth_back(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\nelements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> Bwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single,\nfinal value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    ","DoubleEndedIterator","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Display for Box<T, A>where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Drop for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.26.0 · source§

    impl<I, A> FusedIterator for Box<I, A>where\n I: FusedIterator + ?Sized,\n A: Allocator,

    ","FusedIterator","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Box<T, A>where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Box<T, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source§

    fn lt(&self, other: &Box<T, A>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Box<T, A>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn ge(&self, other: &Box<T, A>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    source§

    fn gt(&self, other: &Box<T, A>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    ","PartialOrd","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Hash for Box<T, A>where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.5.0 · source§

    impl<T, A> AsMut<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_mut(&mut self) -> &mut T

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.1.0 · source§

    impl<T, A> Borrow<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    ","DerefMut","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T> Default for Box<T>where\n T: Default,

    source§

    fn default() -> Box<T>

    Creates a Box<T>, with the Default value for T.

    \n
    ","Default","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.36.0 · source§

    impl<F, A> Future for Box<F, A>where\n F: Future + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Box<F, A>>,\n cx: &mut Context<'_>\n) -> Poll<<Box<F, A> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.33.0 · source§

    impl<T, A> Unpin for Box<T, A>where\n A: Allocator + 'static,\n T: ?Sized,

    ","Unpin","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.1.0 · source§

    impl<T, A> BorrowMut<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    ","BorrowMut","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.22.0 · source§

    impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a>

    source§

    fn from(err: Cow<'b, str>) -> Box<dyn Error + Send + Sync + 'a>

    Converts a Cow into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\nuse std::borrow::Cow;\n\nlet a_cow_str_error = Cow::from("a str error");\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_cow_str_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<'a> From<&str> for Box<dyn Error + Send + Sync + 'a>

    source§

    fn from(err: &str) -> Box<dyn Error + Send + Sync + 'a>

    Converts a str into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_str_error = "a str error";\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_str_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From<&str>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.22.0 · source§

    impl<'a> From<Cow<'a, str>> for Box<dyn Error>

    source§

    fn from(err: Cow<'a, str>) -> Box<dyn Error>

    Converts a Cow into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\nuse std::borrow::Cow;\n\nlet a_cow_str_error = Cow::from("a str error");\nlet a_boxed_error = Box::<dyn Error>::from(a_cow_str_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<'a, E> From<E> for Box<dyn Error + 'a>where\n E: Error + 'a,

    source§

    fn from(err: E) -> Box<dyn Error + 'a>

    Converts a type of Error into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::fmt;\nuse std::mem;\n\n#[derive(Debug)]\nstruct AnError;\n\nimpl fmt::Display for AnError {\n    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n        write!(f, "An error")\n    }\n}\n\nimpl Error for AnError {}\n\nlet an_error = AnError;\nassert!(0 == mem::size_of_val(&an_error));\nlet a_boxed_error = Box::<dyn Error>::from(an_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.6.0 · source§

    impl From<&str> for Box<dyn Error>

    source§

    fn from(err: &str) -> Box<dyn Error>

    Converts a str into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_str_error = "a str error";\nlet a_boxed_error = Box::<dyn Error>::from(a_str_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From<&str>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.6.0 · source§

    impl From<String> for Box<dyn Error>

    source§

    fn from(str_err: String) -> Box<dyn Error>

    Converts a String into a box of dyn Error.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_string_error = "a string error".to_string();\nlet a_boxed_error = Box::<dyn Error>::from(a_string_error);\nassert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.6.0 · source§

    impl<T> From<T> for Box<T>

    source§

    fn from(t: T) -> Box<T>

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\nfrom the stack into it.

    \n
    Examples
    \n
    let x = 5;\nlet boxed = Box::new(5);\n\nassert_eq!(Box::from(x), boxed);
    \n
    ","From","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<'a, E> From<E> for Box<dyn Error + Send + Sync + 'a>where\n E: Error + Send + Sync + 'a,

    source§

    fn from(err: E) -> Box<dyn Error + Send + Sync + 'a>

    Converts a type of Error + Send + Sync into a box of\ndyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::fmt;\nuse std::mem;\n\n#[derive(Debug)]\nstruct AnError;\n\nimpl fmt::Display for AnError {\n    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n        write!(f, "An error")\n    }\n}\n\nimpl Error for AnError {}\n\nunsafe impl Send for AnError {}\n\nunsafe impl Sync for AnError {}\n\nlet an_error = AnError;\nassert!(0 == mem::size_of_val(&an_error));\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(an_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl From<String> for Box<dyn Error + Send + Sync>

    source§

    fn from(err: String) -> Box<dyn Error + Send + Sync>

    Converts a String into a box of dyn Error + Send + Sync.

    \n
    Examples
    \n
    use std::error::Error;\nuse std::mem;\n\nlet a_string_error = "a string error".to_string();\nlet a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_string_error);\nassert!(\n    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    \n
    ","From","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, U> DispatchFromDyn<Box<U>> for Box<T>where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.35.0 · source§

    impl<Args, F, A> FnOnce<Args> for Box<F, A>where\n Args: Tuple,\n F: FnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source§

    extern "rust-call" fn call_once(\n self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnOnce","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<S> AsyncIterator for Box<S>where\n S: AsyncIterator + Unpin + ?Sized,

    §

    type Item = <S as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T, U, A> CoerceUnsized<Box<U, A>> for Box<T, A>where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Eq for Box<T, A>where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<I, A> Iterator for Box<I, A>where\n I: Iterator + ?Sized,\n A: Allocator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<I as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source§

    fn nth(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn last(self) -> Option<<I as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source§

    fn next_chunk<const N: usize>(\n &mut self\n) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usizewhere\n Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>where\n Self: Sized,

    Creates an iterator starting at the same point, but stepping by\nthe given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>where\n Self: Sized,\n U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where\n Self: Sized,\n U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>where\n Self: Sized,\n G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator\nbetween adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>where\n Self: Sized,\n F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\nelement. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)where\n Self: Sized,\n F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\nshould be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>where\n Self: Sized,

    Creates an iterator which gives the current iteration count as well as\nthe next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>where\n Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\nto look at the next element of the iterator without consuming it. See\ntheir documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>where\n Self: Sized,\n P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>where\n Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>where\n Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\nif the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\nunlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where\n Self: Sized,\n U: IntoIterator,\n F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>where\n Self: Sized,\n F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over\nself and returns an iterator over the outputs of f. Like slice::windows(),\nthe windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>where\n Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>where\n Self: Sized,\n F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> Bwhere\n B: FromIterator<Self::Item>,\n Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut Ewhere\n E: Extend<Self::Item>,\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> boolwhere\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate,\nsuch that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\nsuccessfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(Self::Item) -> R,\n R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\niterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> Bwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\nreturning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\noperation. Read more
    source§

    fn try_reduce<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryTypewhere\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> R,\n R: Try<Output = Self::Item>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\nclosure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\nthe first non-none result. Read more
    source§

    fn try_find<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryTypewhere\n Self: Sized,\n F: FnMut(&Self::Item) -> R,\n R: Try<Output = bool>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns\nthe first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\nspecified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\nspecified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\nspecified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\nspecified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)where\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>where\n T: 'a + Copy,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>where\n T: 'a + Clone,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> Swhere\n Self: Sized,\n S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> Pwhere\n Self: Sized,\n P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Orderingwhere\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Lexicographically compares the PartialOrd elements of\nthis Iterator with those of another. The comparison works like short-circuit\nevaluation, returning a result without comparing the remaining elements.\nAs soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are equal to those of\nanother. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> boolwhere\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of\nanother with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\nanother. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> boolwhere\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> K,\n K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction\nfunction. Read more
    ","Iterator","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Debug for Box<T, A>where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    1.0.0 · source§

    impl<T, A> Clone for Box<T, A>where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Box<T, A>

    Returns a new box with a clone() of this box’s contents.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet y = x.clone();\n\n// The value is the same\nassert_eq!(x, y);\n\n// But they are unique objects\nassert_ne!(&*x as *const i32, &*y as *const i32);
    \n
    source§

    fn clone_from(&mut self, source: &Box<T, A>)

    Copies source’s contents into self without creating a new allocation.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet mut y = Box::new(10);\nlet yp: *const i32 = &*y;\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no allocation occurred\nassert_eq!(yp, &*y);
    \n
    ","Clone","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<'de, T> Deserialize<'de> for Box<T>where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T> Serialize for Box<T>where\n T: Serialize + ?Sized,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncWrite for Box<T>where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers. Read more
    §

    fn is_write_vectored(&self) -> bool

    Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
    ","AsyncWrite","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncBufRead for Box<T>where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempts to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncRead for Box<T>where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut ReadBuf<'_>\n) -> Poll<Result<(), Error>>

    Attempts to read from the AsyncRead into buf. Read more
    ","AsyncRead","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncSeek for Box<T>where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn start_seek(self: Pin<&mut Box<T>>, pos: SeekFrom) -> Result<(), Error>

    Attempts to seek to an offset, in bytes, in a stream. Read more
    §

    fn poll_complete(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<u64, Error>>

    Waits for a seek operation to complete. Read more
    ","AsyncSeek","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> Source for Box<T>where\n T: Source + ?Sized,

    §

    fn register(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Register self with the given Registry instance. Read more
    §

    fn reregister(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Re-register self with the given Registry instance. Read more
    §

    fn deregister(&mut self, registry: &Registry) -> Result<(), Error>

    Deregister self from the given Registry instance. Read more
    ","Source","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<T> Log for Box<T>where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records.
    ","Log","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> Buf for Box<T>where\n T: Buf + ?Sized,

    §

    fn remaining(&self) -> usize

    Returns the number of bytes between the current position and the end of\nthe buffer. Read more
    §

    fn chunk(&self) -> &[u8]

    Returns a slice starting at the current position and of length between 0\nand Buf::remaining(). Note that this can return shorter slice (this allows\nnon-continuous internal representation). Read more
    §

    fn chunks_vectored<'b>(&'b self, dst: &mut [IoSlice<'b>]) -> usize

    Fills dst with potentially multiple slices starting at self’s\ncurrent position. Read more
    §

    fn advance(&mut self, cnt: usize)

    Advance the internal cursor of the Buf Read more
    §

    fn has_remaining(&self) -> bool

    Returns true if there are any more bytes to consume Read more
    §

    fn copy_to_slice(&mut self, dst: &mut [u8])

    Copies bytes from self into dst. Read more
    §

    fn get_u8(&mut self) -> u8

    Gets an unsigned 8 bit integer from self. Read more
    §

    fn get_i8(&mut self) -> i8

    Gets a signed 8 bit integer from self. Read more
    §

    fn get_u16(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_u16_le(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_u16_ne(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_i16(&mut self) -> i16

    Gets a signed 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_i16_le(&mut self) -> i16

    Gets a signed 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_i16_ne(&mut self) -> i16

    Gets a signed 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_u32(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the big-endian byte order. Read more
    §

    fn get_u32_le(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the little-endian byte order. Read more
    §

    fn get_u32_ne(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_i32(&mut self) -> i32

    Gets a signed 32 bit integer from self in big-endian byte order. Read more
    §

    fn get_i32_le(&mut self) -> i32

    Gets a signed 32 bit integer from self in little-endian byte order. Read more
    §

    fn get_i32_ne(&mut self) -> i32

    Gets a signed 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_u64(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_u64_le(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_u64_ne(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_i64(&mut self) -> i64

    Gets a signed 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_i64_le(&mut self) -> i64

    Gets a signed 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_i64_ne(&mut self) -> i64

    Gets a signed 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_uint(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in big-endian byte order. Read more
    §

    fn get_uint_le(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in little-endian byte order. Read more
    §

    fn get_uint_ne(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in native-endian byte order. Read more
    §

    fn get_int(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in big-endian byte order. Read more
    §

    fn get_int_le(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in little-endian byte order. Read more
    §

    fn get_int_ne(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in native-endian byte order. Read more
    §

    fn copy_to_bytes(&mut self, len: usize) -> Bytes

    Consumes len bytes inside self and returns new instance of Bytes\nwith this data. Read more
    §

    fn get_u128(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_u128_le(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_u128_ne(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_i128(&mut self) -> i128

    Gets a signed 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_i128_le(&mut self) -> i128

    Gets a signed 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_i128_ne(&mut self) -> i128

    Gets a signed 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_f32(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f32_le(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f32_ne(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn get_f64(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f64_le(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f64_ne(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn take(self, limit: usize) -> Take<Self>where\n Self: Sized,

    Creates an adaptor which will read at most limit bytes from self. Read more
    §

    fn chain<U>(self, next: U) -> Chain<Self, U>where\n U: Buf,\n Self: Sized,

    Creates an adaptor which will chain this buffer with another. Read more
    §

    fn reader(self) -> Reader<Self>where\n Self: Sized,

    Creates an adaptor which implements the Read trait for self. Read more
    ","Buf","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> BufMut for Box<T>where\n T: BufMut + ?Sized,

    §

    fn remaining_mut(&self) -> usize

    Returns the number of bytes that can be written from the current\nposition until the end of the buffer is reached. Read more
    §

    fn chunk_mut(&mut self) -> &mut UninitSlice

    Returns a mutable slice starting at the current BufMut position and of\nlength between 0 and BufMut::remaining_mut(). Note that this can be shorter than the\nwhole remainder of the buffer (this allows non-continuous implementation). Read more
    §

    unsafe fn advance_mut(&mut self, cnt: usize)

    Advance the internal cursor of the BufMut Read more
    §

    fn put_slice(&mut self, src: &[u8])

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_u8(&mut self, n: u8)

    Writes an unsigned 8 bit integer to self. Read more
    §

    fn put_i8(&mut self, n: i8)

    Writes a signed 8 bit integer to self. Read more
    §

    fn put_u16(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_u16_le(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_u16_ne(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_i16(&mut self, n: i16)

    Writes a signed 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_i16_le(&mut self, n: i16)

    Writes a signed 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_i16_ne(&mut self, n: i16)

    Writes a signed 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_u32(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_u32_le(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_u32_ne(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_i32(&mut self, n: i32)

    Writes a signed 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_i32_le(&mut self, n: i32)

    Writes a signed 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_i32_ne(&mut self, n: i32)

    Writes a signed 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_u64(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u64_le(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_u64_ne(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in native-endian byte order. Read more
    §

    fn put_i64(&mut self, n: i64)

    Writes a signed 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i64_le(&mut self, n: i64)

    Writes a signed 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_i64_ne(&mut self, n: i64)

    Writes a signed 64 bit integer to self in native-endian byte order. Read more
    §

    fn has_remaining_mut(&self) -> bool

    Returns true if there is space in self for more bytes. Read more
    §

    fn put<T>(&mut self, src: T)where\n T: Buf,\n Self: Sized,

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_bytes(&mut self, val: u8, cnt: usize)

    Put cnt bytes val into self. Read more
    §

    fn put_u128(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u128_le(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_u128_ne(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_i128(&mut self, n: i128)

    Writes a signed 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i128_le(&mut self, n: i128)

    Writes a signed 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_i128_ne(&mut self, n: i128)

    Writes a signed 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_uint(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in big-endian byte order. Read more
    §

    fn put_uint_le(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the little-endian byte order. Read more
    §

    fn put_uint_ne(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the native-endian byte order. Read more
    §

    fn put_int(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in big-endian byte order. Read more
    §

    fn put_int_le(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in little-endian byte order. Read more
    §

    fn put_int_ne(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in native-endian byte order. Read more
    §

    fn put_f32(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f32_le(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f32_ne(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn put_f64(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f64_le(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f64_ne(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn limit(self, limit: usize) -> Limit<Self>where\n Self: Sized,

    Creates an adaptor which can write at most limit bytes to self. Read more
    §

    fn writer(self) -> Writer<Self>where\n Self: Sized,

    Creates an adaptor which implements the Write trait for self. Read more
    §

    fn chain_mut<U>(self, next: U) -> Chain<Self, U>where\n U: BufMut,\n Self: Sized,

    Creates an adapter which will chain this buffer with another. Read more
    ","BufMut","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> Stream for Box<S>where\n S: Stream + Unpin + ?Sized,

    §

    type Item = <S as Stream>::Item

    Values yielded by the stream.
    §

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as Stream>::Item>>

    Attempt to pull out the next value of this stream, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the stream is exhausted. Read more
    §

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the stream. Read more
    ","Stream","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<F> FusedFuture for Box<F>where\n F: FusedFuture + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the underlying future should no longer be polled.
    ","FusedFuture","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> FusedStream for Box<S>where\n S: FusedStream + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the stream should no longer be polled.
    ","FusedStream","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<'a, T, F> UnsafeFutureObj<'a, T> for Box<F>where\n F: Future<Output = T> + 'a,

    §

    fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

    Convert an owned instance into a (conceptually owned) fat pointer. Read more
    §

    unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

    Drops the future represented by the given fat pointer. Read more
    ","UnsafeFutureObj<'a, T>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<Sp> LocalSpawn for Box<Sp>where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<Sp> Spawn for Box<Sp>where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<S, Item> Sink<Item> for Box<S>where\n S: Sink<Item> + Unpin + ?Sized,

    §

    type Error = <S as Sink<Item>>::Error

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Box<S>>,\n item: Item\n) -> Result<(), <Box<S> as Sink<Item>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncWrite for Box<T>where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to close the object. Read more
    ","AsyncWrite","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncRead for Box<T>where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut [u8]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into buf. Read more
    §

    fn poll_read_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &mut [IoSliceMut<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into bufs using vectored\nIO operations. Read more
    ","AsyncRead","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncSeek for Box<T>where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn poll_seek(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n pos: SeekFrom\n) -> Poll<Result<u64, Error>>

    Attempt to seek to an offset, in bytes, in a stream. Read more
    ","AsyncSeek","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> AsyncBufRead for Box<T>where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempt to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<P, Input> Parser<Input> for Box<P>where\n P: Parser<Input> + ?Sized,\n Input: Stream,

    §

    type Output = <P as Parser<Input>>::Output

    The type which is returned if the parser is successful.
    §

    type PartialState = <P as Parser<Input>>::PartialState

    Determines the state necessary to resume parsing after more input is supplied. Read more
    §

    fn add_error(&mut self, error: &mut Tracked<<Input as StreamOnce>::Error>)

    Adds the first error that would normally be returned by this parser if it failed with an\nPeekErr result. Read more
    §

    fn parse(\n &mut self,\n input: Input\n) -> Result<(Self::Output, Input), <Input as StreamOnce>::Error>

    Entry point of the parser. Takes some input and tries to parse it. Read more
    §

    fn parse_with_state(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> Result<Self::Output, <Input as StreamOnce>::Error>

    Entry point of the parser when using partial parsing.\nTakes some input and tries to parse it. Read more
    §

    fn parse_stream(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_lazy(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_stream_partial(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Like parse_stream but supports partial parsing.
    §

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Borrows a parser instead of consuming it. Read more
    §

    fn with<P2>(self, p: P2) -> With<Self, P2>where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the self parser and returns the value of p.\nFails if any of the parsers fails. Read more
    §

    fn skip<P2>(self, p: P2) -> Skip<Self, P2>where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the p parser and returns the value of self.\nFails if any of the parsers fails. Read more
    §

    fn and<P2>(self, p: P2) -> (Self, P2)where\n Self: Sized,\n P2: Parser<Input>,

    Parses with self followed by p.\nSucceeds if both parsers succeed, otherwise fails.\nReturns a tuple with both values on success. Read more
    §

    fn or<P2>(self, p: P2) -> Or<Self, P2>where\n Self: Sized,\n P2: Parser<Input, Output = Self::Output>,

    Returns a parser which attempts to parse using self. If self fails without committing\nit tries to consume the same input using p. Read more
    §

    fn then<N, F>(self, f: F) -> Then<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes the value to f which returns a parser used to parse\nthe rest of the input. Read more
    §

    fn then_partial<N, F>(self, f: F) -> ThenPartial<Self, F>where\n Self: Sized,\n F: FnMut(&mut Self::Output) -> N,\n N: Parser<Input>,

    Variant of then which parses using self and then passes the value to f as a &mut reference. Read more
    §

    fn then_ref<N, F>(self, f: F) -> ThenRef<Self, F>where\n Self: Sized,\n F: FnMut(&Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes a reference to the value to f which returns a parser\nused to parse the rest of the input. The value is then combined with the output of f. Read more
    §

    fn map<F, B>(self, f: F) -> Map<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> B,

    Uses f to map over the parsed value. Read more
    §

    fn map_input<F, B>(self, f: F) -> MapInput<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output, &mut Input) -> B,

    §

    fn flat_map<F, B>(self, f: F) -> FlatMap<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> Result<B, <Input as StreamOnce>::Error>,

    Uses f to map over the output of self. If f returns an error the parser fails. Read more
    §

    fn message<S>(self, msg: S) -> Message<Self, S>where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails, adds the message msg to the error. Read more
    §

    fn expected<S>(self, msg: S) -> Expected<Self, S>where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails without consuming any input any expected errors are\nreplaced by msg. msg is then used in error messages as “Expected msg”. Read more
    §

    fn silent(self) -> Silent<Self>where\n Self: Sized,

    Parses with self, if it fails without consuming any input any expected errors that would\notherwise be emitted by self are suppressed. Read more
    §

    fn and_then<F, O, E>(self, f: F) -> AndThen<Self, F>where\n Self: Parser<Input> + Sized,\n F: FnMut(Self::Output) -> Result<O, E>,\n E: Into<<<Input as StreamOnce>::Error as ParseError<<Input as StreamOnce>::Token, <Input as StreamOnce>::Range, <Input as StreamOnce>::Position>>::StreamError>,

    Parses with self and applies f on the result if self parses successfully.\nf may optionally fail with an error which is automatically converted to a ParseError. Read more
    §

    fn iter(\n self,\n input: &mut Input\n) -> Iter<'_, Input, Self, Self::PartialState, FirstMode>where\n Self: Parser<Input> + Sized,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn partial_iter<M, 'a, 's>(\n self,\n mode: M,\n input: &'a mut Input,\n partial_state: &'s mut Self::PartialState\n) -> Iter<'a, Input, Self, &'s mut Self::PartialState, M>where\n Self: Parser<Input> + Sized,\n M: ParseMode,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn boxed<'a>(\n self\n) -> Box<dyn Parser<Input, Output = Self::Output, PartialState = Self::PartialState> + 'a>where\n Self: Sized + 'a,

    Turns the parser into a trait object by putting it in a Box. Can be used to easily\nreturn parsers from functions without naming the type. Read more
    §

    fn left<R>(self) -> Either<Self, R>where\n Self: Sized,\n R: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn right<L>(self) -> Either<L, Self>where\n Self: Sized,\n L: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn spanned(self) -> Spanned<Self>where\n Self: Sized,

    Marks errors produced inside the self parser with the span from the start of the parse to\nthe end of it. Read more
    ","Parser","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> Value for Box<T>where\n T: Value + ?Sized,

    §

    fn record(&self, key: &Field, visitor: &mut dyn Visit)

    Visits this value with the given Visitor.
    ","Value","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> Subscriber for Box<S>where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<R> CryptoRng for Box<R>where\n R: CryptoRng + ?Sized,

    ","CryptoRng","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    source§

    impl<R> RngCore for Box<R>where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<F, A> ActorFuture<A> for Box<F>where\n F: ActorFuture<A> + Unpin + ?Sized,\n A: Actor,

    §

    type Output = <F as ActorFuture<A>>::Output

    The type of value that this future will resolved with if it is\nsuccessful.
    §

    fn poll(\n self: Pin<&mut Box<F>>,\n srv: &mut A,\n ctx: &mut <A as Actor>::Context,\n task: &mut Context<'_>\n) -> Poll<<Box<F> as ActorFuture<A>>::Output>

    ","ActorFuture","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<M> Message for Box<M>where\n M: Message,

    Allow users to use Box<M> as a message without having to re-impl Message

    \n
    §

    type Result = <M as Message>::Result

    The type of value that this message will resolved with if it is\nsuccessful.
    ","Message","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<S> Socket for Box<S>where\n S: Socket + ?Sized,

    §

    fn try_read(&mut self, buf: &mut dyn ReadBuf) -> Result<usize, Error>

    §

    fn try_write(&mut self, buf: &[u8]) -> Result<usize, Error>

    §

    fn poll_read_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_write_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_flush(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_shutdown(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn read<B, 'a>(&'a mut self, buf: &'a mut B) -> Read<'a, Self, B>where\n B: ReadBuf,\n Self: Sized,

    §

    fn write<'a>(&'a mut self, buf: &'a [u8]) -> Write<'a, Self>where\n Self: Sized,

    §

    fn flush(&mut self) -> Flush<'_, Self>where\n Self: Sized,

    §

    fn shutdown(&mut self) -> Shutdown<'_, Self>where\n Self: Sized,

    ","Socket","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<'a, T> DecodeValue<'a> for Box<T>where\n T: DecodeValue<'a>,

    §

    fn decode_value<R>(reader: &mut R, header: Header) -> Result<Box<T>, Error>where\n R: Reader<'a>,

    Attempt to decode this message using the provided [Reader].
    ","DecodeValue<'a>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<T> EncodeValue for Box<T>where\n T: EncodeValue,

    §

    fn value_len(&self) -> Result<Length, Error>

    Compute the length of this value (sans [Tag]+[Length] header) when\nencoded as ASN.1 DER.
    §

    fn encode_value(&self, writer: &mut impl Writer) -> Result<(), Error>

    Encode value (sans [Tag]+[Length] header) as ASN.1 DER using the\nprovided [Writer].
    ","EncodeValue","db_sqlx_postgres::dev::prelude::dev::BoxDynError"],["
    §

    impl<'a, T> Sequence<'a> for Box<T>where\n T: Sequence<'a>,

    ","Sequence<'a>","db_sqlx_postgres::dev::prelude::dev::BoxDynError"]], -"mcaptcha":[["
    source§

    impl<T> Box<T>

    1.0.0 · source

    pub fn new(x: T) -> Box<T>

    Allocates memory on the heap and then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    let five = Box::new(5);
    \n
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new box with uninitialized contents.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet mut five = Box::<u32>::new_uninit();\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet zero = Box::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\ndoes the same as Box::into_pin(Box::new(x)). Consider using\ninto_pin if you already have a Box<T>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new.

    \n
    source

    pub fn try_new(x: T) -> Result<Box<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory on the heap then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nlet five = Box::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents on the heap,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet mut five = Box::<u32>::try_new_uninit()?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes on the heap

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet zero = Box::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"mcaptcha::db::BoxDB"],["
    source§

    impl<T, A> Box<T, A>where\n A: Allocator,

    source

    pub fn new_in(x: T, alloc: A) -> Box<T, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::new_in(5, System);
    \n
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Box<T, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::try_new_in(5, System)?;
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Box<MaybeUninit<T>, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator,\nreturning an error if the allocation fails,

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Box<T, A>>where\n A: 'static + Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\ndoes the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\ninto_pin if you already have a Box<T, A>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new_in.

    \n
    source

    pub fn into_boxed_slice(boxed: Box<T, A>) -> Box<[T], A>

    🔬This is a nightly-only experimental API. (box_into_boxed_slice)

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Box<T, A>) -> T

    🔬This is a nightly-only experimental API. (box_into_inner)

    Consumes the Box, returning the wrapped value.

    \n
    Examples
    \n
    #![feature(box_into_inner)]\n\nlet c = Box::new(5);\n\nassert_eq!(Box::into_inner(c), 5);
    \n
    ",0,"mcaptcha::db::BoxDB"],["
    source§

    impl<T> Box<T>where\n T: ?Sized,

    1.4.0 · source

    pub unsafe fn from_raw(raw: *mut T) -> Box<T>

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n

    The safety conditions are described in the memory layout section.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw:

    \n\n
    let x = Box::new(5);\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manually create a Box from scratch by using the global allocator:

    \n\n
    use std::alloc::{alloc, Layout};\n\nunsafe {\n    let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw(ptr);\n}
    \n
    ",0,"mcaptcha::db::BoxDB"],["
    source§

    impl<T, A> Box<T, A>where\n A: Allocator,\n T: ?Sized,

    const: unstable · source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Box<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw_with_allocator:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(5, System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manually create a Box from scratch by using the system allocator:

    \n\n
    #![feature(allocator_api, slice_ptr_get)]\n\nuse std::alloc::{Allocator, Layout, System};\n\nunsafe {\n    let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw_in(ptr, System);\n}
    \n
    1.4.0 · source

    pub fn into_raw(b: Box<T, A>) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw(b) instead of b.into_raw(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw\nfor automatic cleanup:

    \n\n
    let x = Box::new(String::from("Hello"));\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    use std::alloc::{dealloc, Layout};\nuse std::ptr;\n\nlet x = Box::new(String::from("Hello"));\nlet p = Box::into_raw(x);\nunsafe {\n    ptr::drop_in_place(p);\n    dealloc(p as *mut u8, Layout::new::<String>());\n}
    \n
    source

    pub fn into_raw_with_allocator(b: Box<T, A>) -> (*mut T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw_in function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw_with_allocator(b) instead of b.into_raw_with_allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw_in\nfor automatic cleanup:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(String::from("Hello"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{Allocator, Layout, System};\nuse std::ptr::{self, NonNull};\n\nlet x = Box::new_in(String::from("Hello"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    let non_null = NonNull::new_unchecked(ptr);\n    alloc.deallocate(non_null.cast(), Layout::new::<String>());\n}
    \n
    const: unstable · source

    pub fn allocator(b: &Box<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::allocator(&b) instead of b.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.26.0 · source

    pub fn leak<'a>(b: Box<T, A>) -> &'a mut Twhere\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n&'a mut T. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak. If this is not acceptable, the reference should first be wrapped\nwith the Box::from_raw function producing a Box. This Box can\nthen be dropped which will properly destroy T and release the\nallocated memory.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::leak(b) instead of b.leak(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Simple usage:

    \n\n
    let x = Box::new(41);\nlet static_ref: &'static mut usize = Box::leak(x);\n*static_ref += 1;\nassert_eq!(*static_ref, 42);
    \n

    Unsized data:

    \n\n
    let x = vec![1, 2, 3].into_boxed_slice();\nlet static_ref = Box::leak(x);\nstatic_ref[0] = 4;\nassert_eq!(*static_ref, [4, 2, 3]);
    \n
    1.63.0 (const: unstable) · source

    pub fn into_pin(boxed: Box<T, A>) -> Pin<Box<T, A>>where\n A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis into_pin method is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    Notes
    \n

    It’s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\nas it’ll introduce an ambiguity when calling Pin::from.\nA demonstration of such a poor impl is shown below.

    \n\n
    struct Foo; // A type defined in this crate.\nimpl From<Box<()>> for Pin<Foo> {\n    fn from(_: Box<()>) -> Pin<Foo> {\n        Pin::new(Foo)\n    }\n}\n\nlet foo = Box::new(());\nlet bar = Pin::from(foo);
    \n
    ",0,"mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<S> Seek for Box<S>where\n S: Seek + ?Sized,

    source§

    fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>

    Seek to an offset, in bytes, in a stream. Read more
    source§

    fn stream_position(&mut self) -> Result<u64, Error>

    Returns the current seek position from the start of the stream. Read more
    1.55.0 · source§

    fn rewind(&mut self) -> Result<(), Error>

    Rewind to the beginning of a stream. Read more
    source§

    fn stream_len(&mut self) -> Result<u64, Error>

    🔬This is a nightly-only experimental API. (seek_stream_len)
    Returns the length of this stream (in bytes). Read more
    ","Seek","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<W> Write for Box<W>where\n W: Write + ?Sized,

    source§

    fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

    Write a buffer into this writer, returning how many bytes were written. Read more
    source§

    fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

    Like write, except that it writes from a slice of buffers. Read more
    source§

    fn is_write_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Writer has an efficient write_vectored\nimplementation. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes a formatted string into this writer, returning any error\nencountered. Read more
    source§

    fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (write_all_vectored)
    Attempts to write multiple buffers into this writer. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","mcaptcha::db::BoxDB"],["
    1.64.0 · source§

    impl<T> AsFd for Box<T>where\n T: AsFd,

    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<B> BufRead for Box<B>where\n B: BufRead + ?Sized,

    source§

    fn fill_buf(&mut self) -> Result<&[u8], Error>

    Returns the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    source§

    fn consume(&mut self, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to read. Read more
    source§

    fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes into buf until the delimiter byte or EOF is reached. Read more
    source§

    fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until a newline (the 0xA byte) is reached, and append\nthem to the provided String buffer. Read more
    source§

    fn has_data_left(&mut self) -> Result<bool, Error>

    🔬This is a nightly-only experimental API. (buf_read_has_data_left)
    Check if the underlying Read has any data left to be read. Read more
    1.0.0 · source§

    fn split(self, byte: u8) -> Split<Self>where\n Self: Sized,

    Returns an iterator over the contents of this reader split on the byte\nbyte. Read more
    1.0.0 · source§

    fn lines(self) -> Lines<Self>where\n Self: Sized,

    Returns an iterator over the lines of this reader. Read more
    ","BufRead","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<R> Read for Box<R>where\n R: Read + ?Sized,

    source§

    fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

    Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read. Read more
    source§

    fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Pull some bytes from this source into the specified buffer. Read more
    source§

    fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

    Like read, except that it reads into a slice of buffers. Read more
    source§

    fn is_read_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Reader has an efficient read_vectored\nimplementation. Read more
    source§

    fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes until EOF in this source, placing them into buf. Read more
    source§

    fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until EOF in this source, appending them to buf. Read more
    source§

    fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

    Read the exact number of bytes required to fill buf. Read more
    source§

    fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Read the exact number of bytes required to fill cursor. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Creates a “by reference” adaptor for this instance of Read. Read more
    1.0.0 · source§

    fn bytes(self) -> Bytes<Self>where\n Self: Sized,

    Transforms this Read instance to an Iterator over its bytes. Read more
    1.0.0 · source§

    fn chain<R>(self, next: R) -> Chain<Self, R>where\n R: Read,\n Self: Sized,

    Creates an adapter which will chain this stream with another. Read more
    1.0.0 · source§

    fn take(self, limit: u64) -> Take<Self>where\n Self: Sized,

    Creates an adapter which will read at most limit bytes from it. Read more
    ","Read","mcaptcha::db::BoxDB"],["
    1.63.0 · source§

    impl<T> AsRawFd for Box<T>where\n T: AsRawFd,

    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","mcaptcha::db::BoxDB"],["
    1.35.0 · source§

    impl<Args, F, A> Fn<Args> for Box<F, A>where\n Args: Tuple,\n F: Fn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call(\n &self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","Fn","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Pointer for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.
    ","Pointer","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Deref for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<I, A> ExactSizeIterator for Box<I, A>where\n I: ExactSizeIterator + ?Sized,\n A: Allocator,

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    ","ExactSizeIterator","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Ord for Box<T, A>where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Box<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","mcaptcha::db::BoxDB"],["
    1.22.0 · source§

    impl<T, A> Hasher for Box<T, A>where\n T: Hasher + ?Sized,\n A: Allocator,

    source§

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source§

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source§

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source§

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source§

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source§

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source§

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source§

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source§

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source§

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source§

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source§

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source§

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source§

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source§

    fn write_length_prefix(&mut self, len: usize)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source§

    fn write_str(&mut self, s: &str)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a single str into this hasher. Read more
    ","Hasher","mcaptcha::db::BoxDB"],["
    1.8.0 · source§

    impl<T> Error for Box<T>where\n T: Error,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","mcaptcha::db::BoxDB"],["
    source§

    impl<G, R, A> Coroutine<R> for Box<G, A>where\n G: Coroutine<R> + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Box<G, A>>,\n arg: R\n) -> CoroutineState<<Box<G, A> as Coroutine<R>>::Yield, <Box<G, A> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","mcaptcha::db::BoxDB"],["
    1.35.0 · source§

    impl<Args, F, A> FnMut<Args> for Box<F, A>where\n Args: Tuple,\n F: FnMut<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnMut","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Box<T, A>where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Box<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Box<T, A>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<I, A> DoubleEndedIterator for Box<I, A>where\n I: DoubleEndedIterator + ?Sized,\n A: Allocator,

    source§

    fn next_back(&mut self) -> Option<<I as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn nth_back(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\nelements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> Bwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single,\nfinal value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    ","DoubleEndedIterator","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Display for Box<T, A>where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Drop for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","mcaptcha::db::BoxDB"],["
    1.26.0 · source§

    impl<I, A> FusedIterator for Box<I, A>where\n I: FusedIterator + ?Sized,\n A: Allocator,

    ","FusedIterator","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Box<T, A>where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Box<T, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source§

    fn lt(&self, other: &Box<T, A>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Box<T, A>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn ge(&self, other: &Box<T, A>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    source§

    fn gt(&self, other: &Box<T, A>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    ","PartialOrd","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Hash for Box<T, A>where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","mcaptcha::db::BoxDB"],["
    1.5.0 · source§

    impl<T, A> AsMut<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_mut(&mut self) -> &mut T

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","mcaptcha::db::BoxDB"],["
    1.1.0 · source§

    impl<T, A> Borrow<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    ","DerefMut","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T> Default for Box<T>where\n T: Default,

    source§

    fn default() -> Box<T>

    Creates a Box<T>, with the Default value for T.

    \n
    ","Default","mcaptcha::db::BoxDB"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","mcaptcha::db::BoxDB"],["
    1.36.0 · source§

    impl<F, A> Future for Box<F, A>where\n F: Future + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Box<F, A>>,\n cx: &mut Context<'_>\n) -> Poll<<Box<F, A> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","mcaptcha::db::BoxDB"],["
    1.33.0 · source§

    impl<T, A> Unpin for Box<T, A>where\n A: Allocator + 'static,\n T: ?Sized,

    ","Unpin","mcaptcha::db::BoxDB"],["
    1.1.0 · source§

    impl<T, A> BorrowMut<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    ","BorrowMut","mcaptcha::db::BoxDB"],["
    1.6.0 · source§

    impl<T> From<T> for Box<T>

    source§

    fn from(t: T) -> Box<T>

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\nfrom the stack into it.

    \n
    Examples
    \n
    let x = 5;\nlet boxed = Box::new(5);\n\nassert_eq!(Box::from(x), boxed);
    \n
    ","From","mcaptcha::db::BoxDB"],["
    source§

    impl<T, U> DispatchFromDyn<Box<U>> for Box<T>where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","mcaptcha::db::BoxDB"],["
    1.35.0 · source§

    impl<Args, F, A> FnOnce<Args> for Box<F, A>where\n Args: Tuple,\n F: FnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source§

    extern "rust-call" fn call_once(\n self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnOnce","mcaptcha::db::BoxDB"],["
    source§

    impl<S> AsyncIterator for Box<S>where\n S: AsyncIterator + Unpin + ?Sized,

    §

    type Item = <S as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","mcaptcha::db::BoxDB"],["
    source§

    impl<T, U, A> CoerceUnsized<Box<U, A>> for Box<T, A>where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Eq for Box<T, A>where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<I, A> Iterator for Box<I, A>where\n I: Iterator + ?Sized,\n A: Allocator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<I as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source§

    fn nth(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn last(self) -> Option<<I as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source§

    fn next_chunk<const N: usize>(\n &mut self\n) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usizewhere\n Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>where\n Self: Sized,

    Creates an iterator starting at the same point, but stepping by\nthe given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>where\n Self: Sized,\n U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where\n Self: Sized,\n U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>where\n Self: Sized,\n G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator\nbetween adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>where\n Self: Sized,\n F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\nelement. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)where\n Self: Sized,\n F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\nshould be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>where\n Self: Sized,

    Creates an iterator which gives the current iteration count as well as\nthe next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>where\n Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\nto look at the next element of the iterator without consuming it. See\ntheir documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>where\n Self: Sized,\n P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>where\n Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>where\n Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\nif the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\nunlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where\n Self: Sized,\n U: IntoIterator,\n F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>where\n Self: Sized,\n F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over\nself and returns an iterator over the outputs of f. Like slice::windows(),\nthe windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>where\n Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>where\n Self: Sized,\n F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> Bwhere\n B: FromIterator<Self::Item>,\n Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut Ewhere\n E: Extend<Self::Item>,\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> boolwhere\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate,\nsuch that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\nsuccessfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(Self::Item) -> R,\n R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\niterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> Bwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\nreturning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\noperation. Read more
    source§

    fn try_reduce<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryTypewhere\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> R,\n R: Try<Output = Self::Item>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\nclosure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\nthe first non-none result. Read more
    source§

    fn try_find<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryTypewhere\n Self: Sized,\n F: FnMut(&Self::Item) -> R,\n R: Try<Output = bool>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns\nthe first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\nspecified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\nspecified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\nspecified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\nspecified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)where\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>where\n T: 'a + Copy,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>where\n T: 'a + Clone,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> Swhere\n Self: Sized,\n S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> Pwhere\n Self: Sized,\n P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Orderingwhere\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Lexicographically compares the PartialOrd elements of\nthis Iterator with those of another. The comparison works like short-circuit\nevaluation, returning a result without comparing the remaining elements.\nAs soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are equal to those of\nanother. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> boolwhere\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of\nanother with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\nanother. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> boolwhere\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> K,\n K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction\nfunction. Read more
    ","Iterator","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Debug for Box<T, A>where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Clone for Box<T, A>where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Box<T, A>

    Returns a new box with a clone() of this box’s contents.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet y = x.clone();\n\n// The value is the same\nassert_eq!(x, y);\n\n// But they are unique objects\nassert_ne!(&*x as *const i32, &*y as *const i32);
    \n
    source§

    fn clone_from(&mut self, source: &Box<T, A>)

    Copies source’s contents into self without creating a new allocation.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet mut y = Box::new(10);\nlet yp: *const i32 = &*y;\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no allocation occurred\nassert_eq!(yp, &*y);
    \n
    ","Clone","mcaptcha::db::BoxDB"],["
    §

    impl<B> MessageBody for Box<B>where\n B: MessageBody + Unpin + ?Sized,

    §

    type Error = <B as MessageBody>::Error

    The type of error that will be returned if streaming body fails. Read more
    §

    fn size(&self) -> BodySize

    Body size hint. Read more
    §

    fn poll_next(\n self: Pin<&mut Box<B>>,\n cx: &mut Context<'_>\n) -> Poll<Option<Result<Bytes, <Box<B> as MessageBody>::Error>>>

    Attempt to pull out the next chunk of body bytes. Read more
    §

    fn try_into_bytes(self) -> Result<Bytes, Self>where\n Self: Sized,

    Try to convert into the complete chunk of body bytes. Read more
    §

    fn boxed(self) -> BoxBodywhere\n Self: Sized + 'static,

    Wraps this body into a BoxBody. Read more
    ","MessageBody","mcaptcha::db::BoxDB"],["
    §

    impl<T> Buf for Box<T>where\n T: Buf + ?Sized,

    §

    fn remaining(&self) -> usize

    Returns the number of bytes between the current position and the end of\nthe buffer. Read more
    §

    fn chunk(&self) -> &[u8]

    Returns a slice starting at the current position and of length between 0\nand Buf::remaining(). Note that this can return shorter slice (this allows\nnon-continuous internal representation). Read more
    §

    fn chunks_vectored<'b>(&'b self, dst: &mut [IoSlice<'b>]) -> usize

    Fills dst with potentially multiple slices starting at self’s\ncurrent position. Read more
    §

    fn advance(&mut self, cnt: usize)

    Advance the internal cursor of the Buf Read more
    §

    fn has_remaining(&self) -> bool

    Returns true if there are any more bytes to consume Read more
    §

    fn copy_to_slice(&mut self, dst: &mut [u8])

    Copies bytes from self into dst. Read more
    §

    fn get_u8(&mut self) -> u8

    Gets an unsigned 8 bit integer from self. Read more
    §

    fn get_i8(&mut self) -> i8

    Gets a signed 8 bit integer from self. Read more
    §

    fn get_u16(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_u16_le(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_u16_ne(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_i16(&mut self) -> i16

    Gets a signed 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_i16_le(&mut self) -> i16

    Gets a signed 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_i16_ne(&mut self) -> i16

    Gets a signed 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_u32(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the big-endian byte order. Read more
    §

    fn get_u32_le(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the little-endian byte order. Read more
    §

    fn get_u32_ne(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_i32(&mut self) -> i32

    Gets a signed 32 bit integer from self in big-endian byte order. Read more
    §

    fn get_i32_le(&mut self) -> i32

    Gets a signed 32 bit integer from self in little-endian byte order. Read more
    §

    fn get_i32_ne(&mut self) -> i32

    Gets a signed 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_u64(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_u64_le(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_u64_ne(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_i64(&mut self) -> i64

    Gets a signed 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_i64_le(&mut self) -> i64

    Gets a signed 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_i64_ne(&mut self) -> i64

    Gets a signed 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_uint(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in big-endian byte order. Read more
    §

    fn get_uint_le(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in little-endian byte order. Read more
    §

    fn get_uint_ne(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in native-endian byte order. Read more
    §

    fn get_int(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in big-endian byte order. Read more
    §

    fn get_int_le(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in little-endian byte order. Read more
    §

    fn get_int_ne(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in native-endian byte order. Read more
    §

    fn copy_to_bytes(&mut self, len: usize) -> Bytes

    Consumes len bytes inside self and returns new instance of Bytes\nwith this data. Read more
    §

    fn get_u128(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_u128_le(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_u128_ne(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_i128(&mut self) -> i128

    Gets a signed 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_i128_le(&mut self) -> i128

    Gets a signed 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_i128_ne(&mut self) -> i128

    Gets a signed 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_f32(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f32_le(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f32_ne(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn get_f64(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f64_le(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f64_ne(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn take(self, limit: usize) -> Take<Self>where\n Self: Sized,

    Creates an adaptor which will read at most limit bytes from self. Read more
    §

    fn chain<U>(self, next: U) -> Chain<Self, U>where\n U: Buf,\n Self: Sized,

    Creates an adaptor which will chain this buffer with another. Read more
    §

    fn reader(self) -> Reader<Self>where\n Self: Sized,

    Creates an adaptor which implements the Read trait for self. Read more
    ","Buf","mcaptcha::db::BoxDB"],["
    §

    impl<T> BufMut for Box<T>where\n T: BufMut + ?Sized,

    §

    fn remaining_mut(&self) -> usize

    Returns the number of bytes that can be written from the current\nposition until the end of the buffer is reached. Read more
    §

    fn chunk_mut(&mut self) -> &mut UninitSlice

    Returns a mutable slice starting at the current BufMut position and of\nlength between 0 and BufMut::remaining_mut(). Note that this can be shorter than the\nwhole remainder of the buffer (this allows non-continuous implementation). Read more
    §

    unsafe fn advance_mut(&mut self, cnt: usize)

    Advance the internal cursor of the BufMut Read more
    §

    fn put_slice(&mut self, src: &[u8])

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_u8(&mut self, n: u8)

    Writes an unsigned 8 bit integer to self. Read more
    §

    fn put_i8(&mut self, n: i8)

    Writes a signed 8 bit integer to self. Read more
    §

    fn put_u16(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_u16_le(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_u16_ne(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_i16(&mut self, n: i16)

    Writes a signed 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_i16_le(&mut self, n: i16)

    Writes a signed 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_i16_ne(&mut self, n: i16)

    Writes a signed 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_u32(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_u32_le(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_u32_ne(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_i32(&mut self, n: i32)

    Writes a signed 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_i32_le(&mut self, n: i32)

    Writes a signed 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_i32_ne(&mut self, n: i32)

    Writes a signed 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_u64(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u64_le(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_u64_ne(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in native-endian byte order. Read more
    §

    fn put_i64(&mut self, n: i64)

    Writes a signed 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i64_le(&mut self, n: i64)

    Writes a signed 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_i64_ne(&mut self, n: i64)

    Writes a signed 64 bit integer to self in native-endian byte order. Read more
    §

    fn has_remaining_mut(&self) -> bool

    Returns true if there is space in self for more bytes. Read more
    §

    fn put<T>(&mut self, src: T)where\n T: Buf,\n Self: Sized,

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_bytes(&mut self, val: u8, cnt: usize)

    Put cnt bytes val into self. Read more
    §

    fn put_u128(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u128_le(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_u128_ne(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_i128(&mut self, n: i128)

    Writes a signed 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i128_le(&mut self, n: i128)

    Writes a signed 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_i128_ne(&mut self, n: i128)

    Writes a signed 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_uint(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in big-endian byte order. Read more
    §

    fn put_uint_le(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the little-endian byte order. Read more
    §

    fn put_uint_ne(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the native-endian byte order. Read more
    §

    fn put_int(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in big-endian byte order. Read more
    §

    fn put_int_le(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in little-endian byte order. Read more
    §

    fn put_int_ne(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in native-endian byte order. Read more
    §

    fn put_f32(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f32_le(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f32_ne(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn put_f64(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f64_le(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f64_ne(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn limit(self, limit: usize) -> Limit<Self>where\n Self: Sized,

    Creates an adaptor which can write at most limit bytes to self. Read more
    §

    fn writer(self) -> Writer<Self>where\n Self: Sized,

    Creates an adaptor which implements the Write trait for self. Read more
    §

    fn chain_mut<U>(self, next: U) -> Chain<Self, U>where\n U: BufMut,\n Self: Sized,

    Creates an adapter which will chain this buffer with another. Read more
    ","BufMut","mcaptcha::db::BoxDB"],["
    §

    impl<S> Stream for Box<S>where\n S: Stream + Unpin + ?Sized,

    §

    type Item = <S as Stream>::Item

    Values yielded by the stream.
    §

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as Stream>::Item>>

    Attempt to pull out the next value of this stream, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the stream is exhausted. Read more
    §

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the stream. Read more
    ","Stream","mcaptcha::db::BoxDB"],["
    §

    impl<F> FusedFuture for Box<F>where\n F: FusedFuture + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the underlying future should no longer be polled.
    ","FusedFuture","mcaptcha::db::BoxDB"],["
    §

    impl<S> FusedStream for Box<S>where\n S: FusedStream + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the stream should no longer be polled.
    ","FusedStream","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncWrite for Box<T>where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers. Read more
    §

    fn is_write_vectored(&self) -> bool

    Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
    ","AsyncWrite","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncBufRead for Box<T>where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempts to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncRead for Box<T>where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut ReadBuf<'_>\n) -> Poll<Result<(), Error>>

    Attempts to read from the AsyncRead into buf. Read more
    ","AsyncRead","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncSeek for Box<T>where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn start_seek(self: Pin<&mut Box<T>>, pos: SeekFrom) -> Result<(), Error>

    Attempts to seek to an offset, in bytes, in a stream. Read more
    §

    fn poll_complete(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<u64, Error>>

    Waits for a seek operation to complete. Read more
    ","AsyncSeek","mcaptcha::db::BoxDB"],["
    §

    impl<T> Source for Box<T>where\n T: Source + ?Sized,

    §

    fn register(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Register self with the given Registry instance. Read more
    §

    fn reregister(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Re-register self with the given Registry instance. Read more
    §

    fn deregister(&mut self, registry: &Registry) -> Result<(), Error>

    Deregister self from the given Registry instance. Read more
    ","Source","mcaptcha::db::BoxDB"],["
    source§

    impl<T> Log for Box<T>where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records.
    ","Log","mcaptcha::db::BoxDB"],["
    §

    impl<S, Item> Sink<Item> for Box<S>where\n S: Sink<Item> + Unpin + ?Sized,

    §

    type Error = <S as Sink<Item>>::Error

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Box<S>>,\n item: Item\n) -> Result<(), <Box<S> as Sink<Item>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","mcaptcha::db::BoxDB"],["
    §

    impl<T> Value for Box<T>where\n T: Value + ?Sized,

    §

    fn record(&self, key: &Field, visitor: &mut dyn Visit)

    Visits this value with the given Visitor.
    ","Value","mcaptcha::db::BoxDB"],["
    §

    impl<S> Subscriber for Box<S>where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","mcaptcha::db::BoxDB"],["
    §

    impl<S, Req> Service<Req> for Box<S>where\n S: Service<Req> + ?Sized,

    §

    type Response = <S as Service<Req>>::Response

    Responses given by the service.
    §

    type Error = <S as Service<Req>>::Error

    Errors produced by the service when polling readiness or executing call.
    §

    type Future = <S as Service<Req>>::Future

    The future response value.
    §

    fn poll_ready(\n &self,\n ctx: &mut Context<'_>\n) -> Poll<Result<(), <S as Service<Req>>::Error>>

    Returns Ready when the service is able to process requests. Read more
    §

    fn call(&self, request: Req) -> <S as Service<Req>>::Future

    Process the request and return the response asynchronously. Read more
    ","Service","mcaptcha::db::BoxDB"],["
    §

    impl<'a, T, F> UnsafeFutureObj<'a, T> for Box<F>where\n F: Future<Output = T> + 'a,

    §

    fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

    Convert an owned instance into a (conceptually owned) fat pointer. Read more
    §

    unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

    Drops the future represented by the given fat pointer. Read more
    ","UnsafeFutureObj<'a, T>","mcaptcha::db::BoxDB"],["
    §

    impl<Sp> LocalSpawn for Box<Sp>where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","mcaptcha::db::BoxDB"],["
    §

    impl<Sp> Spawn for Box<Sp>where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncWrite for Box<T>where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to close the object. Read more
    ","AsyncWrite","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncRead for Box<T>where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut [u8]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into buf. Read more
    §

    fn poll_read_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &mut [IoSliceMut<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into bufs using vectored\nIO operations. Read more
    ","AsyncRead","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncSeek for Box<T>where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn poll_seek(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n pos: SeekFrom\n) -> Poll<Result<u64, Error>>

    Attempt to seek to an offset, in bytes, in a stream. Read more
    ","AsyncSeek","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncBufRead for Box<T>where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempt to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","mcaptcha::db::BoxDB"],["
    source§

    impl<R> CryptoRng for Box<R>where\n R: CryptoRng + ?Sized,

    ","CryptoRng","mcaptcha::db::BoxDB"],["
    source§

    impl<R> RngCore for Box<R>where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","mcaptcha::db::BoxDB"],["
    source§

    impl<'de, T> Deserialize<'de> for Box<T>where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","mcaptcha::db::BoxDB"],["
    source§

    impl<T> Serialize for Box<T>where\n T: Serialize + ?Sized,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","mcaptcha::db::BoxDB"],["
    source§

    impl Clone for Box<dyn MCDatabase>

    source§

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","mcaptcha::db::BoxDB"],["
    §

    impl<P, Input> Parser<Input> for Box<P>where\n P: Parser<Input> + ?Sized,\n Input: Stream,

    §

    type Output = <P as Parser<Input>>::Output

    The type which is returned if the parser is successful.
    §

    type PartialState = <P as Parser<Input>>::PartialState

    Determines the state necessary to resume parsing after more input is supplied. Read more
    §

    fn add_error(&mut self, error: &mut Tracked<<Input as StreamOnce>::Error>)

    Adds the first error that would normally be returned by this parser if it failed with an\nPeekErr result. Read more
    §

    fn parse(\n &mut self,\n input: Input\n) -> Result<(Self::Output, Input), <Input as StreamOnce>::Error>

    Entry point of the parser. Takes some input and tries to parse it. Read more
    §

    fn parse_with_state(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> Result<Self::Output, <Input as StreamOnce>::Error>

    Entry point of the parser when using partial parsing.\nTakes some input and tries to parse it. Read more
    §

    fn parse_stream(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_lazy(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_stream_partial(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Like parse_stream but supports partial parsing.
    §

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Borrows a parser instead of consuming it. Read more
    §

    fn with<P2>(self, p: P2) -> With<Self, P2>where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the self parser and returns the value of p.\nFails if any of the parsers fails. Read more
    §

    fn skip<P2>(self, p: P2) -> Skip<Self, P2>where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the p parser and returns the value of self.\nFails if any of the parsers fails. Read more
    §

    fn and<P2>(self, p: P2) -> (Self, P2)where\n Self: Sized,\n P2: Parser<Input>,

    Parses with self followed by p.\nSucceeds if both parsers succeed, otherwise fails.\nReturns a tuple with both values on success. Read more
    §

    fn or<P2>(self, p: P2) -> Or<Self, P2>where\n Self: Sized,\n P2: Parser<Input, Output = Self::Output>,

    Returns a parser which attempts to parse using self. If self fails without committing\nit tries to consume the same input using p. Read more
    §

    fn then<N, F>(self, f: F) -> Then<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes the value to f which returns a parser used to parse\nthe rest of the input. Read more
    §

    fn then_partial<N, F>(self, f: F) -> ThenPartial<Self, F>where\n Self: Sized,\n F: FnMut(&mut Self::Output) -> N,\n N: Parser<Input>,

    Variant of then which parses using self and then passes the value to f as a &mut reference. Read more
    §

    fn then_ref<N, F>(self, f: F) -> ThenRef<Self, F>where\n Self: Sized,\n F: FnMut(&Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes a reference to the value to f which returns a parser\nused to parse the rest of the input. The value is then combined with the output of f. Read more
    §

    fn map<F, B>(self, f: F) -> Map<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> B,

    Uses f to map over the parsed value. Read more
    §

    fn map_input<F, B>(self, f: F) -> MapInput<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output, &mut Input) -> B,

    §

    fn flat_map<F, B>(self, f: F) -> FlatMap<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> Result<B, <Input as StreamOnce>::Error>,

    Uses f to map over the output of self. If f returns an error the parser fails. Read more
    §

    fn message<S>(self, msg: S) -> Message<Self, S>where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails, adds the message msg to the error. Read more
    §

    fn expected<S>(self, msg: S) -> Expected<Self, S>where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails without consuming any input any expected errors are\nreplaced by msg. msg is then used in error messages as “Expected msg”. Read more
    §

    fn silent(self) -> Silent<Self>where\n Self: Sized,

    Parses with self, if it fails without consuming any input any expected errors that would\notherwise be emitted by self are suppressed. Read more
    §

    fn and_then<F, O, E>(self, f: F) -> AndThen<Self, F>where\n Self: Parser<Input> + Sized,\n F: FnMut(Self::Output) -> Result<O, E>,\n E: Into<<<Input as StreamOnce>::Error as ParseError<<Input as StreamOnce>::Token, <Input as StreamOnce>::Range, <Input as StreamOnce>::Position>>::StreamError>,

    Parses with self and applies f on the result if self parses successfully.\nf may optionally fail with an error which is automatically converted to a ParseError. Read more
    §

    fn iter(\n self,\n input: &mut Input\n) -> Iter<'_, Input, Self, Self::PartialState, FirstMode>where\n Self: Parser<Input> + Sized,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn partial_iter<M, 'a, 's>(\n self,\n mode: M,\n input: &'a mut Input,\n partial_state: &'s mut Self::PartialState\n) -> Iter<'a, Input, Self, &'s mut Self::PartialState, M>where\n Self: Parser<Input> + Sized,\n M: ParseMode,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn boxed<'a>(\n self\n) -> Box<dyn Parser<Input, Output = Self::Output, PartialState = Self::PartialState> + 'a>where\n Self: Sized + 'a,

    Turns the parser into a trait object by putting it in a Box. Can be used to easily\nreturn parsers from functions without naming the type. Read more
    §

    fn left<R>(self) -> Either<Self, R>where\n Self: Sized,\n R: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn right<L>(self) -> Either<L, Self>where\n Self: Sized,\n L: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn spanned(self) -> Spanned<Self>where\n Self: Sized,

    Marks errors produced inside the self parser with the span from the start of the parse to\nthe end of it. Read more
    ","Parser","mcaptcha::db::BoxDB"],["
    §

    impl<F, A> ActorFuture<A> for Box<F>where\n F: ActorFuture<A> + Unpin + ?Sized,\n A: Actor,

    §

    type Output = <F as ActorFuture<A>>::Output

    The type of value that this future will resolved with if it is\nsuccessful.
    §

    fn poll(\n self: Pin<&mut Box<F>>,\n srv: &mut A,\n ctx: &mut <A as Actor>::Context,\n task: &mut Context<'_>\n) -> Poll<<Box<F> as ActorFuture<A>>::Output>

    ","ActorFuture","mcaptcha::db::BoxDB"],["
    §

    impl<M> Message for Box<M>where\n M: Message,

    Allow users to use Box<M> as a message without having to re-impl Message

    \n
    §

    type Result = <M as Message>::Result

    The type of value that this message will resolved with if it is\nsuccessful.
    ","Message","mcaptcha::db::BoxDB"],["
    source§

    impl<T> Body for Box<T>where\n T: Body + Unpin + ?Sized,

    §

    type Data = <T as Body>::Data

    Values yielded by the Body.
    §

    type Error = <T as Body>::Error

    The error type this Body might generate.
    source§

    fn poll_data(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Option<Result<<Box<T> as Body>::Data, <Box<T> as Body>::Error>>>

    Attempt to pull out the next data buffer of this stream.
    source§

    fn poll_trailers(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<Option<HeaderMap>, <Box<T> as Body>::Error>>

    Poll for an optional single HeaderMap of trailers. Read more
    source§

    fn is_end_stream(&self) -> bool

    Returns true when the end of stream has been reached. Read more
    source§

    fn size_hint(&self) -> SizeHint

    Returns the bounds on the remaining length of the stream. Read more
    source§

    fn data(&mut self) -> Data<'_, Self>where\n Self: Unpin + Sized,

    Returns future that resolves to next data chunk, if any.
    source§

    fn trailers(&mut self) -> Trailers<'_, Self>where\n Self: Unpin + Sized,

    Returns future that resolves to trailers, if any.
    source§

    fn map_data<F, B>(self, f: F) -> MapData<Self, F>where\n Self: Sized,\n F: FnMut(Self::Data) -> B,\n B: Buf,

    Maps this body’s data value to a different value.
    source§

    fn map_err<F, E>(self, f: F) -> MapErr<Self, F>where\n Self: Sized,\n F: FnMut(Self::Error) -> E,

    Maps this body’s error value to a different value.
    ","Body","mcaptcha::db::BoxDB"],["
    §

    impl<S, Request> Service<Request> for Box<S>where\n S: Service<Request> + ?Sized,

    §

    type Response = <S as Service<Request>>::Response

    Responses given by the service.
    §

    type Error = <S as Service<Request>>::Error

    Errors produced by the service.
    §

    type Future = <S as Service<Request>>::Future

    The future response value.
    §

    fn poll_ready(\n &mut self,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <S as Service<Request>>::Error>>

    Returns Poll::Ready(Ok(())) when the service is able to process requests. Read more
    §

    fn call(&mut self, request: Request) -> <S as Service<Request>>::Future

    Process the request and return the response asynchronously. Read more
    ","Service","mcaptcha::db::BoxDB"],["
    §

    impl<S> Socket for Box<S>where\n S: Socket + ?Sized,

    §

    fn try_read(&mut self, buf: &mut dyn ReadBuf) -> Result<usize, Error>

    §

    fn try_write(&mut self, buf: &[u8]) -> Result<usize, Error>

    §

    fn poll_read_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_write_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_flush(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_shutdown(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn read<B, 'a>(&'a mut self, buf: &'a mut B) -> Read<'a, Self, B>where\n B: ReadBuf,\n Self: Sized,

    §

    fn write<'a>(&'a mut self, buf: &'a [u8]) -> Write<'a, Self>where\n Self: Sized,

    §

    fn flush(&mut self) -> Flush<'_, Self>where\n Self: Sized,

    §

    fn shutdown(&mut self) -> Shutdown<'_, Self>where\n Self: Sized,

    ","Socket","mcaptcha::db::BoxDB"],["
    §

    impl<'a, T> DecodeValue<'a> for Box<T>where\n T: DecodeValue<'a>,

    §

    fn decode_value<R>(reader: &mut R, header: Header) -> Result<Box<T>, Error>where\n R: Reader<'a>,

    Attempt to decode this message using the provided [Reader].
    ","DecodeValue<'a>","mcaptcha::db::BoxDB"],["
    §

    impl<T> EncodeValue for Box<T>where\n T: EncodeValue,

    §

    fn value_len(&self) -> Result<Length, Error>

    Compute the length of this value (sans [Tag]+[Length] header) when\nencoded as ASN.1 DER.
    §

    fn encode_value(&self, writer: &mut impl Writer) -> Result<(), Error>

    Encode value (sans [Tag]+[Length] header) as ASN.1 DER using the\nprovided [Writer].
    ","EncodeValue","mcaptcha::db::BoxDB"],["
    §

    impl<'a, T> Sequence<'a> for Box<T>where\n T: Sequence<'a>,

    ","Sequence<'a>","mcaptcha::db::BoxDB"],["
    §

    impl<T> Render for Box<T>where\n T: Render + ?Sized,

    §

    fn render(&self, b: &mut Buffer) -> Result<(), RenderError>

    render to Buffer without escaping
    §

    fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>

    render to Buffer with HTML escaping
    ","Render","mcaptcha::db::BoxDB"],["
    §

    impl<T> WriteColor for Box<T>where\n T: WriteColor + ?Sized,

    §

    fn supports_color(&self) -> bool

    Returns true if and only if the underlying writer supports colors.
    §

    fn set_color(&mut self, spec: &ColorSpec) -> Result<(), Error>

    Set the color settings of the writer. Read more
    §

    fn reset(&mut self) -> Result<(), Error>

    Reset the current color settings to their original settings. Read more
    §

    fn is_synchronous(&self) -> bool

    Returns true if and only if the underlying writer must synchronously\ninteract with an end user’s device in order to control colors. By\ndefault, this always returns false. Read more
    ","WriteColor","mcaptcha::db::BoxDB"]] +"mcaptcha":[["
    source§

    impl<T> Box<T>

    1.0.0 · source

    pub fn new(x: T) -> Box<T>

    Allocates memory on the heap and then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    let five = Box::new(5);
    \n
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new box with uninitialized contents.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet mut five = Box::<u32>::new_uninit();\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(new_uninit)]\n\nlet zero = Box::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\ndoes the same as Box::into_pin(Box::new(x)). Consider using\ninto_pin if you already have a Box<T>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new.

    \n
    source

    pub fn try_new(x: T) -> Result<Box<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory on the heap then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nlet five = Box::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents on the heap,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet mut five = Box::<u32>::try_new_uninit()?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes on the heap

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet zero = Box::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"mcaptcha::db::BoxDB"],["
    source§

    impl<T, A> Box<T, A>where\n A: Allocator,

    source

    pub fn new_in(x: T, alloc: A) -> Box<T, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::new_in(5, System);
    \n
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Box<T, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::try_new_in(5, System)?;
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator,\nreturning an error if the allocation fails

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Box<MaybeUninit<T>, A>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator,\nreturning an error if the allocation fails,

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Box<T, A>>where\n A: 'static + Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\ndoes the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\ninto_pin if you already have a Box<T, A>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new_in.

    \n
    source

    pub fn into_boxed_slice(boxed: Box<T, A>) -> Box<[T], A>

    🔬This is a nightly-only experimental API. (box_into_boxed_slice)

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Box<T, A>) -> T

    🔬This is a nightly-only experimental API. (box_into_inner)

    Consumes the Box, returning the wrapped value.

    \n
    Examples
    \n
    #![feature(box_into_inner)]\n\nlet c = Box::new(5);\n\nassert_eq!(Box::into_inner(c), 5);
    \n
    ",0,"mcaptcha::db::BoxDB"],["
    source§

    impl<T> Box<T>where\n T: ?Sized,

    1.4.0 · source

    pub unsafe fn from_raw(raw: *mut T) -> Box<T>

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n

    The safety conditions are described in the memory layout section.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw:

    \n\n
    let x = Box::new(5);\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manually create a Box from scratch by using the global allocator:

    \n\n
    use std::alloc::{alloc, Layout};\n\nunsafe {\n    let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw(ptr);\n}
    \n
    ",0,"mcaptcha::db::BoxDB"],["
    source§

    impl<T, A> Box<T, A>where\n A: Allocator,\n T: ?Sized,

    const: unstable · source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Box<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n
    Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw_with_allocator:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(5, System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manually create a Box from scratch by using the system allocator:

    \n\n
    #![feature(allocator_api, slice_ptr_get)]\n\nuse std::alloc::{Allocator, Layout, System};\n\nunsafe {\n    let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw_in(ptr, System);\n}
    \n
    1.4.0 · source

    pub fn into_raw(b: Box<T, A>) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw(b) instead of b.into_raw(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw\nfor automatic cleanup:

    \n\n
    let x = Box::new(String::from("Hello"));\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    use std::alloc::{dealloc, Layout};\nuse std::ptr;\n\nlet x = Box::new(String::from("Hello"));\nlet p = Box::into_raw(x);\nunsafe {\n    ptr::drop_in_place(p);\n    dealloc(p as *mut u8, Layout::new::<String>());\n}
    \n
    source

    pub fn into_raw_with_allocator(b: Box<T, A>) -> (*mut T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw_in function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw_with_allocator(b) instead of b.into_raw_with_allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw_in\nfor automatic cleanup:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(String::from("Hello"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{Allocator, Layout, System};\nuse std::ptr::{self, NonNull};\n\nlet x = Box::new_in(String::from("Hello"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    let non_null = NonNull::new_unchecked(ptr);\n    alloc.deallocate(non_null.cast(), Layout::new::<String>());\n}
    \n
    const: unstable · source

    pub fn allocator(b: &Box<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::allocator(&b) instead of b.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.26.0 · source

    pub fn leak<'a>(b: Box<T, A>) -> &'a mut Twhere\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n&'a mut T. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak. If this is not acceptable, the reference should first be wrapped\nwith the Box::from_raw function producing a Box. This Box can\nthen be dropped which will properly destroy T and release the\nallocated memory.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::leak(b) instead of b.leak(). This\nis so that there is no conflict with a method on the inner type.

    \n
    Examples
    \n

    Simple usage:

    \n\n
    let x = Box::new(41);\nlet static_ref: &'static mut usize = Box::leak(x);\n*static_ref += 1;\nassert_eq!(*static_ref, 42);
    \n

    Unsized data:

    \n\n
    let x = vec![1, 2, 3].into_boxed_slice();\nlet static_ref = Box::leak(x);\nstatic_ref[0] = 4;\nassert_eq!(*static_ref, [4, 2, 3]);
    \n
    1.63.0 (const: unstable) · source

    pub fn into_pin(boxed: Box<T, A>) -> Pin<Box<T, A>>where\n A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis into_pin method is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    Notes
    \n

    It’s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\nas it’ll introduce an ambiguity when calling Pin::from.\nA demonstration of such a poor impl is shown below.

    \n\n
    struct Foo; // A type defined in this crate.\nimpl From<Box<()>> for Pin<Foo> {\n    fn from(_: Box<()>) -> Pin<Foo> {\n        Pin::new(Foo)\n    }\n}\n\nlet foo = Box::new(());\nlet bar = Pin::from(foo);
    \n
    ",0,"mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<S> Seek for Box<S>where\n S: Seek + ?Sized,

    source§

    fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>

    Seek to an offset, in bytes, in a stream. Read more
    source§

    fn stream_position(&mut self) -> Result<u64, Error>

    Returns the current seek position from the start of the stream. Read more
    1.55.0 · source§

    fn rewind(&mut self) -> Result<(), Error>

    Rewind to the beginning of a stream. Read more
    source§

    fn stream_len(&mut self) -> Result<u64, Error>

    🔬This is a nightly-only experimental API. (seek_stream_len)
    Returns the length of this stream (in bytes). Read more
    ","Seek","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<W> Write for Box<W>where\n W: Write + ?Sized,

    source§

    fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

    Write a buffer into this writer, returning how many bytes were written. Read more
    source§

    fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

    Like write, except that it writes from a slice of buffers. Read more
    source§

    fn is_write_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Writer has an efficient write_vectored\nimplementation. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes a formatted string into this writer, returning any error\nencountered. Read more
    source§

    fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (write_all_vectored)
    Attempts to write multiple buffers into this writer. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","mcaptcha::db::BoxDB"],["
    1.64.0 · source§

    impl<T> AsFd for Box<T>where\n T: AsFd,

    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<B> BufRead for Box<B>where\n B: BufRead + ?Sized,

    source§

    fn fill_buf(&mut self) -> Result<&[u8], Error>

    Returns the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    source§

    fn consume(&mut self, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to read. Read more
    source§

    fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes into buf until the delimiter byte or EOF is reached. Read more
    source§

    fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until a newline (the 0xA byte) is reached, and append\nthem to the provided String buffer. Read more
    source§

    fn has_data_left(&mut self) -> Result<bool, Error>

    🔬This is a nightly-only experimental API. (buf_read_has_data_left)
    Check if the underlying Read has any data left to be read. Read more
    1.0.0 · source§

    fn split(self, byte: u8) -> Split<Self>where\n Self: Sized,

    Returns an iterator over the contents of this reader split on the byte\nbyte. Read more
    1.0.0 · source§

    fn lines(self) -> Lines<Self>where\n Self: Sized,

    Returns an iterator over the lines of this reader. Read more
    ","BufRead","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<R> Read for Box<R>where\n R: Read + ?Sized,

    source§

    fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

    Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read. Read more
    source§

    fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Pull some bytes from this source into the specified buffer. Read more
    source§

    fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

    Like read, except that it reads into a slice of buffers. Read more
    source§

    fn is_read_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Reader has an efficient read_vectored\nimplementation. Read more
    source§

    fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes until EOF in this source, placing them into buf. Read more
    source§

    fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until EOF in this source, appending them to buf. Read more
    source§

    fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

    Read the exact number of bytes required to fill buf. Read more
    source§

    fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Read the exact number of bytes required to fill cursor. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Creates a “by reference” adaptor for this instance of Read. Read more
    1.0.0 · source§

    fn bytes(self) -> Bytes<Self>where\n Self: Sized,

    Transforms this Read instance to an Iterator over its bytes. Read more
    1.0.0 · source§

    fn chain<R>(self, next: R) -> Chain<Self, R>where\n R: Read,\n Self: Sized,

    Creates an adapter which will chain this stream with another. Read more
    1.0.0 · source§

    fn take(self, limit: u64) -> Take<Self>where\n Self: Sized,

    Creates an adapter which will read at most limit bytes from it. Read more
    ","Read","mcaptcha::db::BoxDB"],["
    1.63.0 · source§

    impl<T> AsRawFd for Box<T>where\n T: AsRawFd,

    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","mcaptcha::db::BoxDB"],["
    1.35.0 · source§

    impl<Args, F, A> Fn<Args> for Box<F, A>where\n Args: Tuple,\n F: Fn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call(\n &self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","Fn","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Pointer for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.
    ","Pointer","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Deref for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<I, A> ExactSizeIterator for Box<I, A>where\n I: ExactSizeIterator + ?Sized,\n A: Allocator,

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    ","ExactSizeIterator","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Ord for Box<T, A>where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Box<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Selfwhere\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Selfwhere\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","mcaptcha::db::BoxDB"],["
    1.22.0 · source§

    impl<T, A> Hasher for Box<T, A>where\n T: Hasher + ?Sized,\n A: Allocator,

    source§

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source§

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source§

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source§

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source§

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source§

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source§

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source§

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source§

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source§

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source§

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source§

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source§

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source§

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source§

    fn write_length_prefix(&mut self, len: usize)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source§

    fn write_str(&mut self, s: &str)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a single str into this hasher. Read more
    ","Hasher","mcaptcha::db::BoxDB"],["
    1.8.0 · source§

    impl<T> Error for Box<T>where\n T: Error,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","mcaptcha::db::BoxDB"],["
    source§

    impl<G, R, A> Coroutine<R> for Box<G, A>where\n G: Coroutine<R> + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Box<G, A>>,\n arg: R\n) -> CoroutineState<<Box<G, A> as Coroutine<R>>::Yield, <Box<G, A> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","mcaptcha::db::BoxDB"],["
    1.35.0 · source§

    impl<Args, F, A> FnMut<Args> for Box<F, A>where\n Args: Tuple,\n F: FnMut<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnMut","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Box<T, A>where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Box<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Box<T, A>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<I, A> DoubleEndedIterator for Box<I, A>where\n I: DoubleEndedIterator + ?Sized,\n A: Allocator,

    source§

    fn next_back(&mut self) -> Option<<I as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn nth_back(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\nelements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> Bwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single,\nfinal value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    ","DoubleEndedIterator","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Display for Box<T, A>where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Drop for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","mcaptcha::db::BoxDB"],["
    1.26.0 · source§

    impl<I, A> FusedIterator for Box<I, A>where\n I: FusedIterator + ?Sized,\n A: Allocator,

    ","FusedIterator","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Box<T, A>where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Box<T, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source§

    fn lt(&self, other: &Box<T, A>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Box<T, A>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn ge(&self, other: &Box<T, A>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    source§

    fn gt(&self, other: &Box<T, A>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    ","PartialOrd","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Hash for Box<T, A>where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","mcaptcha::db::BoxDB"],["
    1.5.0 · source§

    impl<T, A> AsMut<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_mut(&mut self) -> &mut T

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","mcaptcha::db::BoxDB"],["
    1.1.0 · source§

    impl<T, A> Borrow<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    ","DerefMut","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T> Default for Box<T>where\n T: Default,

    source§

    fn default() -> Box<T>

    Creates a Box<T>, with the Default value for T.

    \n
    ","Default","mcaptcha::db::BoxDB"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","mcaptcha::db::BoxDB"],["
    1.36.0 · source§

    impl<F, A> Future for Box<F, A>where\n F: Future + Unpin + ?Sized,\n A: Allocator + 'static,

    §

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Box<F, A>>,\n cx: &mut Context<'_>\n) -> Poll<<Box<F, A> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","mcaptcha::db::BoxDB"],["
    1.33.0 · source§

    impl<T, A> Unpin for Box<T, A>where\n A: Allocator + 'static,\n T: ?Sized,

    ","Unpin","mcaptcha::db::BoxDB"],["
    1.1.0 · source§

    impl<T, A> BorrowMut<T> for Box<T, A>where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    ","BorrowMut","mcaptcha::db::BoxDB"],["
    1.6.0 · source§

    impl<T> From<T> for Box<T>

    source§

    fn from(t: T) -> Box<T>

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\nfrom the stack into it.

    \n
    Examples
    \n
    let x = 5;\nlet boxed = Box::new(5);\n\nassert_eq!(Box::from(x), boxed);
    \n
    ","From","mcaptcha::db::BoxDB"],["
    source§

    impl<T, U> DispatchFromDyn<Box<U>> for Box<T>where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","mcaptcha::db::BoxDB"],["
    1.35.0 · source§

    impl<Args, F, A> FnOnce<Args> for Box<F, A>where\n Args: Tuple,\n F: FnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source§

    extern "rust-call" fn call_once(\n self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnOnce","mcaptcha::db::BoxDB"],["
    source§

    impl<S> AsyncIterator for Box<S>where\n S: AsyncIterator + Unpin + ?Sized,

    §

    type Item = <S as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","mcaptcha::db::BoxDB"],["
    source§

    impl<T, U, A> CoerceUnsized<Box<U, A>> for Box<T, A>where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Eq for Box<T, A>where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<I, A> Iterator for Box<I, A>where\n I: Iterator + ?Sized,\n A: Allocator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<I as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source§

    fn nth(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn last(self) -> Option<<I as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source§

    fn next_chunk<const N: usize>(\n &mut self\n) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usizewhere\n Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>where\n Self: Sized,

    Creates an iterator starting at the same point, but stepping by\nthe given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>where\n Self: Sized,\n U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where\n Self: Sized,\n U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>where\n Self: Sized,\n G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator\nbetween adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>where\n Self: Sized,\n F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\nelement. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)where\n Self: Sized,\n F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\nshould be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>where\n Self: Sized,

    Creates an iterator which gives the current iteration count as well as\nthe next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>where\n Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\nto look at the next element of the iterator without consuming it. See\ntheir documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>where\n Self: Sized,\n P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>where\n Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>where\n Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\nif the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\nunlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where\n Self: Sized,\n U: IntoIterator,\n F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>where\n Self: Sized,\n F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over\nself and returns an iterator over the outputs of f. Like slice::windows(),\nthe windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>where\n Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>where\n Self: Sized,\n F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> Bwhere\n B: FromIterator<Self::Item>,\n Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut Ewhere\n E: Extend<Self::Item>,\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> boolwhere\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate,\nsuch that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\nsuccessfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> Rwhere\n Self: Sized,\n F: FnMut(Self::Item) -> R,\n R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\niterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> Bwhere\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\nreturning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\noperation. Read more
    source§

    fn try_reduce<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryTypewhere\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> R,\n R: Try<Output = Self::Item>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\nclosure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\nthe first non-none result. Read more
    source§

    fn try_find<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryTypewhere\n Self: Sized,\n F: FnMut(&Self::Item) -> R,\n R: Try<Output = bool>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns\nthe first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\nspecified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\nspecified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\nspecified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\nspecified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)where\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>where\n T: 'a + Copy,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>where\n T: 'a + Clone,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> Swhere\n Self: Sized,\n S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> Pwhere\n Self: Sized,\n P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Orderingwhere\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Lexicographically compares the PartialOrd elements of\nthis Iterator with those of another. The comparison works like short-circuit\nevaluation, returning a result without comparing the remaining elements.\nAs soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are equal to those of\nanother. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> boolwhere\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of\nanother with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\nanother. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> boolwhere\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> boolwhere\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> boolwhere\n Self: Sized,\n F: FnMut(Self::Item) -> K,\n K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction\nfunction. Read more
    ","Iterator","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Debug for Box<T, A>where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","mcaptcha::db::BoxDB"],["
    1.0.0 · source§

    impl<T, A> Clone for Box<T, A>where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Box<T, A>

    Returns a new box with a clone() of this box’s contents.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet y = x.clone();\n\n// The value is the same\nassert_eq!(x, y);\n\n// But they are unique objects\nassert_ne!(&*x as *const i32, &*y as *const i32);
    \n
    source§

    fn clone_from(&mut self, source: &Box<T, A>)

    Copies source’s contents into self without creating a new allocation.

    \n
    Examples
    \n
    let x = Box::new(5);\nlet mut y = Box::new(10);\nlet yp: *const i32 = &*y;\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no allocation occurred\nassert_eq!(yp, &*y);
    \n
    ","Clone","mcaptcha::db::BoxDB"],["
    §

    impl<B> MessageBody for Box<B>where\n B: MessageBody + Unpin + ?Sized,

    §

    type Error = <B as MessageBody>::Error

    The type of error that will be returned if streaming body fails. Read more
    §

    fn size(&self) -> BodySize

    Body size hint. Read more
    §

    fn poll_next(\n self: Pin<&mut Box<B>>,\n cx: &mut Context<'_>\n) -> Poll<Option<Result<Bytes, <Box<B> as MessageBody>::Error>>>

    Attempt to pull out the next chunk of body bytes. Read more
    §

    fn try_into_bytes(self) -> Result<Bytes, Self>where\n Self: Sized,

    Try to convert into the complete chunk of body bytes. Read more
    §

    fn boxed(self) -> BoxBodywhere\n Self: Sized + 'static,

    Wraps this body into a BoxBody. Read more
    ","MessageBody","mcaptcha::db::BoxDB"],["
    §

    impl<T> Buf for Box<T>where\n T: Buf + ?Sized,

    §

    fn remaining(&self) -> usize

    Returns the number of bytes between the current position and the end of\nthe buffer. Read more
    §

    fn chunk(&self) -> &[u8]

    Returns a slice starting at the current position and of length between 0\nand Buf::remaining(). Note that this can return shorter slice (this allows\nnon-continuous internal representation). Read more
    §

    fn chunks_vectored<'b>(&'b self, dst: &mut [IoSlice<'b>]) -> usize

    Fills dst with potentially multiple slices starting at self’s\ncurrent position. Read more
    §

    fn advance(&mut self, cnt: usize)

    Advance the internal cursor of the Buf Read more
    §

    fn has_remaining(&self) -> bool

    Returns true if there are any more bytes to consume Read more
    §

    fn copy_to_slice(&mut self, dst: &mut [u8])

    Copies bytes from self into dst. Read more
    §

    fn get_u8(&mut self) -> u8

    Gets an unsigned 8 bit integer from self. Read more
    §

    fn get_i8(&mut self) -> i8

    Gets a signed 8 bit integer from self. Read more
    §

    fn get_u16(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_u16_le(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_u16_ne(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_i16(&mut self) -> i16

    Gets a signed 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_i16_le(&mut self) -> i16

    Gets a signed 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_i16_ne(&mut self) -> i16

    Gets a signed 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_u32(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the big-endian byte order. Read more
    §

    fn get_u32_le(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the little-endian byte order. Read more
    §

    fn get_u32_ne(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_i32(&mut self) -> i32

    Gets a signed 32 bit integer from self in big-endian byte order. Read more
    §

    fn get_i32_le(&mut self) -> i32

    Gets a signed 32 bit integer from self in little-endian byte order. Read more
    §

    fn get_i32_ne(&mut self) -> i32

    Gets a signed 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_u64(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_u64_le(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_u64_ne(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_i64(&mut self) -> i64

    Gets a signed 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_i64_le(&mut self) -> i64

    Gets a signed 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_i64_ne(&mut self) -> i64

    Gets a signed 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_uint(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in big-endian byte order. Read more
    §

    fn get_uint_le(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in little-endian byte order. Read more
    §

    fn get_uint_ne(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in native-endian byte order. Read more
    §

    fn get_int(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in big-endian byte order. Read more
    §

    fn get_int_le(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in little-endian byte order. Read more
    §

    fn get_int_ne(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in native-endian byte order. Read more
    §

    fn copy_to_bytes(&mut self, len: usize) -> Bytes

    Consumes len bytes inside self and returns new instance of Bytes\nwith this data. Read more
    §

    fn get_u128(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_u128_le(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_u128_ne(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_i128(&mut self) -> i128

    Gets a signed 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_i128_le(&mut self) -> i128

    Gets a signed 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_i128_ne(&mut self) -> i128

    Gets a signed 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_f32(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f32_le(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f32_ne(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn get_f64(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f64_le(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f64_ne(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn take(self, limit: usize) -> Take<Self>where\n Self: Sized,

    Creates an adaptor which will read at most limit bytes from self. Read more
    §

    fn chain<U>(self, next: U) -> Chain<Self, U>where\n U: Buf,\n Self: Sized,

    Creates an adaptor which will chain this buffer with another. Read more
    §

    fn reader(self) -> Reader<Self>where\n Self: Sized,

    Creates an adaptor which implements the Read trait for self. Read more
    ","Buf","mcaptcha::db::BoxDB"],["
    §

    impl<T> BufMut for Box<T>where\n T: BufMut + ?Sized,

    §

    fn remaining_mut(&self) -> usize

    Returns the number of bytes that can be written from the current\nposition until the end of the buffer is reached. Read more
    §

    fn chunk_mut(&mut self) -> &mut UninitSlice

    Returns a mutable slice starting at the current BufMut position and of\nlength between 0 and BufMut::remaining_mut(). Note that this can be shorter than the\nwhole remainder of the buffer (this allows non-continuous implementation). Read more
    §

    unsafe fn advance_mut(&mut self, cnt: usize)

    Advance the internal cursor of the BufMut Read more
    §

    fn put_slice(&mut self, src: &[u8])

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_u8(&mut self, n: u8)

    Writes an unsigned 8 bit integer to self. Read more
    §

    fn put_i8(&mut self, n: i8)

    Writes a signed 8 bit integer to self. Read more
    §

    fn put_u16(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_u16_le(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_u16_ne(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_i16(&mut self, n: i16)

    Writes a signed 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_i16_le(&mut self, n: i16)

    Writes a signed 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_i16_ne(&mut self, n: i16)

    Writes a signed 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_u32(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_u32_le(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_u32_ne(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_i32(&mut self, n: i32)

    Writes a signed 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_i32_le(&mut self, n: i32)

    Writes a signed 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_i32_ne(&mut self, n: i32)

    Writes a signed 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_u64(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u64_le(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_u64_ne(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in native-endian byte order. Read more
    §

    fn put_i64(&mut self, n: i64)

    Writes a signed 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i64_le(&mut self, n: i64)

    Writes a signed 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_i64_ne(&mut self, n: i64)

    Writes a signed 64 bit integer to self in native-endian byte order. Read more
    §

    fn has_remaining_mut(&self) -> bool

    Returns true if there is space in self for more bytes. Read more
    §

    fn put<T>(&mut self, src: T)where\n T: Buf,\n Self: Sized,

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_bytes(&mut self, val: u8, cnt: usize)

    Put cnt bytes val into self. Read more
    §

    fn put_u128(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u128_le(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_u128_ne(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_i128(&mut self, n: i128)

    Writes a signed 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i128_le(&mut self, n: i128)

    Writes a signed 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_i128_ne(&mut self, n: i128)

    Writes a signed 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_uint(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in big-endian byte order. Read more
    §

    fn put_uint_le(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the little-endian byte order. Read more
    §

    fn put_uint_ne(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the native-endian byte order. Read more
    §

    fn put_int(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in big-endian byte order. Read more
    §

    fn put_int_le(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in little-endian byte order. Read more
    §

    fn put_int_ne(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in native-endian byte order. Read more
    §

    fn put_f32(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f32_le(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f32_ne(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn put_f64(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f64_le(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f64_ne(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn limit(self, limit: usize) -> Limit<Self>where\n Self: Sized,

    Creates an adaptor which can write at most limit bytes to self. Read more
    §

    fn writer(self) -> Writer<Self>where\n Self: Sized,

    Creates an adaptor which implements the Write trait for self. Read more
    §

    fn chain_mut<U>(self, next: U) -> Chain<Self, U>where\n U: BufMut,\n Self: Sized,

    Creates an adapter which will chain this buffer with another. Read more
    ","BufMut","mcaptcha::db::BoxDB"],["
    §

    impl<S> Stream for Box<S>where\n S: Stream + Unpin + ?Sized,

    §

    type Item = <S as Stream>::Item

    Values yielded by the stream.
    §

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as Stream>::Item>>

    Attempt to pull out the next value of this stream, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the stream is exhausted. Read more
    §

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the stream. Read more
    ","Stream","mcaptcha::db::BoxDB"],["
    §

    impl<F> FusedFuture for Box<F>where\n F: FusedFuture + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the underlying future should no longer be polled.
    ","FusedFuture","mcaptcha::db::BoxDB"],["
    §

    impl<S> FusedStream for Box<S>where\n S: FusedStream + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the stream should no longer be polled.
    ","FusedStream","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncWrite for Box<T>where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers. Read more
    §

    fn is_write_vectored(&self) -> bool

    Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
    ","AsyncWrite","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncBufRead for Box<T>where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempts to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncRead for Box<T>where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut ReadBuf<'_>\n) -> Poll<Result<(), Error>>

    Attempts to read from the AsyncRead into buf. Read more
    ","AsyncRead","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncSeek for Box<T>where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn start_seek(self: Pin<&mut Box<T>>, pos: SeekFrom) -> Result<(), Error>

    Attempts to seek to an offset, in bytes, in a stream. Read more
    §

    fn poll_complete(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<u64, Error>>

    Waits for a seek operation to complete. Read more
    ","AsyncSeek","mcaptcha::db::BoxDB"],["
    §

    impl<T> Source for Box<T>where\n T: Source + ?Sized,

    §

    fn register(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Register self with the given Registry instance. Read more
    §

    fn reregister(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Re-register self with the given Registry instance. Read more
    §

    fn deregister(&mut self, registry: &Registry) -> Result<(), Error>

    Deregister self from the given Registry instance. Read more
    ","Source","mcaptcha::db::BoxDB"],["
    source§

    impl<T> Log for Box<T>where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records.
    ","Log","mcaptcha::db::BoxDB"],["
    §

    impl<S, Item> Sink<Item> for Box<S>where\n S: Sink<Item> + Unpin + ?Sized,

    §

    type Error = <S as Sink<Item>>::Error

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Box<S>>,\n item: Item\n) -> Result<(), <Box<S> as Sink<Item>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","mcaptcha::db::BoxDB"],["
    §

    impl<T> Value for Box<T>where\n T: Value + ?Sized,

    §

    fn record(&self, key: &Field, visitor: &mut dyn Visit)

    Visits this value with the given Visitor.
    ","Value","mcaptcha::db::BoxDB"],["
    §

    impl<S> Subscriber for Box<S>where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","mcaptcha::db::BoxDB"],["
    §

    impl<S, Req> Service<Req> for Box<S>where\n S: Service<Req> + ?Sized,

    §

    type Response = <S as Service<Req>>::Response

    Responses given by the service.
    §

    type Error = <S as Service<Req>>::Error

    Errors produced by the service when polling readiness or executing call.
    §

    type Future = <S as Service<Req>>::Future

    The future response value.
    §

    fn poll_ready(\n &self,\n ctx: &mut Context<'_>\n) -> Poll<Result<(), <S as Service<Req>>::Error>>

    Returns Ready when the service is able to process requests. Read more
    §

    fn call(&self, request: Req) -> <S as Service<Req>>::Future

    Process the request and return the response asynchronously. Read more
    ","Service","mcaptcha::db::BoxDB"],["
    §

    impl<'a, T, F> UnsafeFutureObj<'a, T> for Box<F>where\n F: Future<Output = T> + 'a,

    §

    fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

    Convert an owned instance into a (conceptually owned) fat pointer. Read more
    §

    unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

    Drops the future represented by the given fat pointer. Read more
    ","UnsafeFutureObj<'a, T>","mcaptcha::db::BoxDB"],["
    §

    impl<Sp> LocalSpawn for Box<Sp>where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","mcaptcha::db::BoxDB"],["
    §

    impl<Sp> Spawn for Box<Sp>where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncWrite for Box<T>where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to close the object. Read more
    ","AsyncWrite","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncRead for Box<T>where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut [u8]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into buf. Read more
    §

    fn poll_read_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &mut [IoSliceMut<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into bufs using vectored\nIO operations. Read more
    ","AsyncRead","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncSeek for Box<T>where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn poll_seek(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n pos: SeekFrom\n) -> Poll<Result<u64, Error>>

    Attempt to seek to an offset, in bytes, in a stream. Read more
    ","AsyncSeek","mcaptcha::db::BoxDB"],["
    §

    impl<T> AsyncBufRead for Box<T>where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempt to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","mcaptcha::db::BoxDB"],["
    source§

    impl<R> CryptoRng for Box<R>where\n R: CryptoRng + ?Sized,

    ","CryptoRng","mcaptcha::db::BoxDB"],["
    source§

    impl<R> RngCore for Box<R>where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","mcaptcha::db::BoxDB"],["
    source§

    impl<'de, T> Deserialize<'de> for Box<T>where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","mcaptcha::db::BoxDB"],["
    source§

    impl<T> Serialize for Box<T>where\n T: Serialize + ?Sized,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","mcaptcha::db::BoxDB"],["
    source§

    impl Clone for Box<dyn MCDatabase>

    source§

    fn clone(&self) -> Box<dyn MCDatabase>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","mcaptcha::db::BoxDB"],["
    §

    impl<P, Input> Parser<Input> for Box<P>where\n P: Parser<Input> + ?Sized,\n Input: Stream,

    §

    type Output = <P as Parser<Input>>::Output

    The type which is returned if the parser is successful.
    §

    type PartialState = <P as Parser<Input>>::PartialState

    Determines the state necessary to resume parsing after more input is supplied. Read more
    §

    fn add_error(&mut self, error: &mut Tracked<<Input as StreamOnce>::Error>)

    Adds the first error that would normally be returned by this parser if it failed with an\nPeekErr result. Read more
    §

    fn parse(\n &mut self,\n input: Input\n) -> Result<(Self::Output, Input), <Input as StreamOnce>::Error>

    Entry point of the parser. Takes some input and tries to parse it. Read more
    §

    fn parse_with_state(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> Result<Self::Output, <Input as StreamOnce>::Error>

    Entry point of the parser when using partial parsing.\nTakes some input and tries to parse it. Read more
    §

    fn parse_stream(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_lazy(\n &mut self,\n input: &mut Input\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Parses using the stream input by calling Stream::uncons one or more times. Read more
    §

    fn parse_stream_partial(\n &mut self,\n input: &mut Input,\n state: &mut Self::PartialState\n) -> ParseResult<Self::Output, <Input as StreamOnce>::Error>

    Like parse_stream but supports partial parsing.
    §

    fn by_ref(&mut self) -> &mut Selfwhere\n Self: Sized,

    Borrows a parser instead of consuming it. Read more
    §

    fn with<P2>(self, p: P2) -> With<Self, P2>where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the self parser and returns the value of p.\nFails if any of the parsers fails. Read more
    §

    fn skip<P2>(self, p: P2) -> Skip<Self, P2>where\n Self: Sized,\n P2: Parser<Input>,

    Discards the value of the p parser and returns the value of self.\nFails if any of the parsers fails. Read more
    §

    fn and<P2>(self, p: P2) -> (Self, P2)where\n Self: Sized,\n P2: Parser<Input>,

    Parses with self followed by p.\nSucceeds if both parsers succeed, otherwise fails.\nReturns a tuple with both values on success. Read more
    §

    fn or<P2>(self, p: P2) -> Or<Self, P2>where\n Self: Sized,\n P2: Parser<Input, Output = Self::Output>,

    Returns a parser which attempts to parse using self. If self fails without committing\nit tries to consume the same input using p. Read more
    §

    fn then<N, F>(self, f: F) -> Then<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes the value to f which returns a parser used to parse\nthe rest of the input. Read more
    §

    fn then_partial<N, F>(self, f: F) -> ThenPartial<Self, F>where\n Self: Sized,\n F: FnMut(&mut Self::Output) -> N,\n N: Parser<Input>,

    Variant of then which parses using self and then passes the value to f as a &mut reference. Read more
    §

    fn then_ref<N, F>(self, f: F) -> ThenRef<Self, F>where\n Self: Sized,\n F: FnMut(&Self::Output) -> N,\n N: Parser<Input>,

    Parses using self and then passes a reference to the value to f which returns a parser\nused to parse the rest of the input. The value is then combined with the output of f. Read more
    §

    fn map<F, B>(self, f: F) -> Map<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> B,

    Uses f to map over the parsed value. Read more
    §

    fn map_input<F, B>(self, f: F) -> MapInput<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output, &mut Input) -> B,

    §

    fn flat_map<F, B>(self, f: F) -> FlatMap<Self, F>where\n Self: Sized,\n F: FnMut(Self::Output) -> Result<B, <Input as StreamOnce>::Error>,

    Uses f to map over the output of self. If f returns an error the parser fails. Read more
    §

    fn message<S>(self, msg: S) -> Message<Self, S>where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails, adds the message msg to the error. Read more
    §

    fn expected<S>(self, msg: S) -> Expected<Self, S>where\n Self: Sized,\n S: for<'s> ErrorInfo<'s, <Input as StreamOnce>::Token, <Input as StreamOnce>::Range>,

    Parses with self and if it fails without consuming any input any expected errors are\nreplaced by msg. msg is then used in error messages as “Expected msg”. Read more
    §

    fn silent(self) -> Silent<Self>where\n Self: Sized,

    Parses with self, if it fails without consuming any input any expected errors that would\notherwise be emitted by self are suppressed. Read more
    §

    fn and_then<F, O, E>(self, f: F) -> AndThen<Self, F>where\n Self: Parser<Input> + Sized,\n F: FnMut(Self::Output) -> Result<O, E>,\n E: Into<<<Input as StreamOnce>::Error as ParseError<<Input as StreamOnce>::Token, <Input as StreamOnce>::Range, <Input as StreamOnce>::Position>>::StreamError>,

    Parses with self and applies f on the result if self parses successfully.\nf may optionally fail with an error which is automatically converted to a ParseError. Read more
    §

    fn iter(\n self,\n input: &mut Input\n) -> Iter<'_, Input, Self, Self::PartialState, FirstMode>where\n Self: Parser<Input> + Sized,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn partial_iter<M, 'a, 's>(\n self,\n mode: M,\n input: &'a mut Input,\n partial_state: &'s mut Self::PartialState\n) -> Iter<'a, Input, Self, &'s mut Self::PartialState, M>where\n Self: Parser<Input> + Sized,\n M: ParseMode,

    Creates an iterator from a parser and a state. Can be used as an alternative to many\nwhen collecting directly into a Extend type is not desirable. Read more
    §

    fn boxed<'a>(\n self\n) -> Box<dyn Parser<Input, Output = Self::Output, PartialState = Self::PartialState> + 'a>where\n Self: Sized + 'a,

    Turns the parser into a trait object by putting it in a Box. Can be used to easily\nreturn parsers from functions without naming the type. Read more
    §

    fn left<R>(self) -> Either<Self, R>where\n Self: Sized,\n R: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn right<L>(self) -> Either<L, Self>where\n Self: Sized,\n L: Parser<Input, Output = Self::Output>,

    Wraps the parser into the Either enum which allows combinators such as then to return\nmultiple different parser types (merging them to one) Read more
    §

    fn spanned(self) -> Spanned<Self>where\n Self: Sized,

    Marks errors produced inside the self parser with the span from the start of the parse to\nthe end of it. Read more
    ","Parser","mcaptcha::db::BoxDB"],["
    §

    impl<F, A> ActorFuture<A> for Box<F>where\n F: ActorFuture<A> + Unpin + ?Sized,\n A: Actor,

    §

    type Output = <F as ActorFuture<A>>::Output

    The type of value that this future will resolved with if it is\nsuccessful.
    §

    fn poll(\n self: Pin<&mut Box<F>>,\n srv: &mut A,\n ctx: &mut <A as Actor>::Context,\n task: &mut Context<'_>\n) -> Poll<<Box<F> as ActorFuture<A>>::Output>

    ","ActorFuture","mcaptcha::db::BoxDB"],["
    §

    impl<M> Message for Box<M>where\n M: Message,

    Allow users to use Box<M> as a message without having to re-impl Message

    \n
    §

    type Result = <M as Message>::Result

    The type of value that this message will resolved with if it is\nsuccessful.
    ","Message","mcaptcha::db::BoxDB"],["
    source§

    impl<T> Body for Box<T>where\n T: Body + Unpin + ?Sized,

    §

    type Data = <T as Body>::Data

    Values yielded by the Body.
    §

    type Error = <T as Body>::Error

    The error type this Body might generate.
    source§

    fn poll_data(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Option<Result<<Box<T> as Body>::Data, <Box<T> as Body>::Error>>>

    Attempt to pull out the next data buffer of this stream.
    source§

    fn poll_trailers(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<Option<HeaderMap>, <Box<T> as Body>::Error>>

    Poll for an optional single HeaderMap of trailers. Read more
    source§

    fn is_end_stream(&self) -> bool

    Returns true when the end of stream has been reached. Read more
    source§

    fn size_hint(&self) -> SizeHint

    Returns the bounds on the remaining length of the stream. Read more
    source§

    fn data(&mut self) -> Data<'_, Self>where\n Self: Unpin + Sized,

    Returns future that resolves to next data chunk, if any.
    source§

    fn trailers(&mut self) -> Trailers<'_, Self>where\n Self: Unpin + Sized,

    Returns future that resolves to trailers, if any.
    source§

    fn map_data<F, B>(self, f: F) -> MapData<Self, F>where\n Self: Sized,\n F: FnMut(Self::Data) -> B,\n B: Buf,

    Maps this body’s data value to a different value.
    source§

    fn map_err<F, E>(self, f: F) -> MapErr<Self, F>where\n Self: Sized,\n F: FnMut(Self::Error) -> E,

    Maps this body’s error value to a different value.
    ","Body","mcaptcha::db::BoxDB"],["
    §

    impl<S, Request> Service<Request> for Box<S>where\n S: Service<Request> + ?Sized,

    §

    type Response = <S as Service<Request>>::Response

    Responses given by the service.
    §

    type Error = <S as Service<Request>>::Error

    Errors produced by the service.
    §

    type Future = <S as Service<Request>>::Future

    The future response value.
    §

    fn poll_ready(\n &mut self,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <S as Service<Request>>::Error>>

    Returns Poll::Ready(Ok(())) when the service is able to process requests. Read more
    §

    fn call(&mut self, request: Request) -> <S as Service<Request>>::Future

    Process the request and return the response asynchronously. Read more
    ","Service","mcaptcha::db::BoxDB"],["
    §

    impl<S> Socket for Box<S>where\n S: Socket + ?Sized,

    §

    fn try_read(&mut self, buf: &mut dyn ReadBuf) -> Result<usize, Error>

    §

    fn try_write(&mut self, buf: &[u8]) -> Result<usize, Error>

    §

    fn poll_read_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_write_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_flush(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn poll_shutdown(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>

    §

    fn read<B, 'a>(&'a mut self, buf: &'a mut B) -> Read<'a, Self, B>where\n B: ReadBuf,\n Self: Sized,

    §

    fn write<'a>(&'a mut self, buf: &'a [u8]) -> Write<'a, Self>where\n Self: Sized,

    §

    fn flush(&mut self) -> Flush<'_, Self>where\n Self: Sized,

    §

    fn shutdown(&mut self) -> Shutdown<'_, Self>where\n Self: Sized,

    ","Socket","mcaptcha::db::BoxDB"],["
    §

    impl<'a, T> DecodeValue<'a> for Box<T>where\n T: DecodeValue<'a>,

    §

    fn decode_value<R>(reader: &mut R, header: Header) -> Result<Box<T>, Error>where\n R: Reader<'a>,

    Attempt to decode this message using the provided [Reader].
    ","DecodeValue<'a>","mcaptcha::db::BoxDB"],["
    §

    impl<T> EncodeValue for Box<T>where\n T: EncodeValue,

    §

    fn value_len(&self) -> Result<Length, Error>

    Compute the length of this value (sans [Tag]+[Length] header) when\nencoded as ASN.1 DER.
    §

    fn encode_value(&self, writer: &mut impl Writer) -> Result<(), Error>

    Encode value (sans [Tag]+[Length] header) as ASN.1 DER using the\nprovided [Writer].
    ","EncodeValue","mcaptcha::db::BoxDB"],["
    §

    impl<'a, T> Sequence<'a> for Box<T>where\n T: Sequence<'a>,

    ","Sequence<'a>","mcaptcha::db::BoxDB"],["
    §

    impl<T> Render for Box<T>where\n T: Render + ?Sized,

    §

    fn render(&self, b: &mut Buffer) -> Result<(), RenderError>

    render to Buffer without escaping
    §

    fn render_escaped(&self, b: &mut Buffer) -> Result<(), RenderError>

    render to Buffer with HTML escaping
    ","Render","mcaptcha::db::BoxDB"],["
    §

    impl<T> WriteColor for Box<T>where\n T: WriteColor + ?Sized,

    §

    fn supports_color(&self) -> bool

    Returns true if and only if the underlying writer supports colors.
    §

    fn set_color(&mut self, spec: &ColorSpec) -> Result<(), Error>

    Set the color settings of the writer. Read more
    §

    fn reset(&mut self) -> Result<(), Error>

    Reset the current color settings to their original settings. Read more
    §

    fn is_synchronous(&self) -> bool

    Returns true if and only if the underlying writer must synchronously\ninteract with an end user’s device in order to control colors. By\ndefault, this always returns false. Read more
    ","WriteColor","mcaptcha::db::BoxDB"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file