From 6f2ad971fa5e6e01a24933122bce0134594ab171 Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Wed, 6 Nov 2024 13:59:11 +0100 Subject: [PATCH] Version 3.0.0-beta3 updated. Non-versioned pages updated --- 3.0.0-beta3/account/index.html | 3964 +-------------- 3.0.0-beta3/blog/index.html | 3911 +------------- .../conditions/cookie-policy/index.html | 4006 +-------------- .../conditions/privacy-policy/index.html | 3950 +-------------- .../conditions/terms-of-service/index.html | 4263 +--------------- 3.0.0-beta3/index.html | 4215 +--------------- 3.0.0-beta3/pricing/index.html | 4477 +---------------- 3.0.0-beta3/support/index.html | 4118 +-------------- account/index.html | 71 +- .../create-configure-cert/create-lbrecord.png | Bin 0 -> 53624 bytes .../create-record-page.png | Bin 0 -> 160600 bytes .../create-record-route53.png | Bin 0 -> 18323 bytes .../domain-arn-location.png | Bin 0 -> 138934 bytes .../domain-name-for-certificate.png | Bin 0 -> 40040 bytes .../load-balancer-config.png | Bin 0 -> 44654 bytes assets/javascripts/bundle.83f73b43.min.js | 16 - assets/javascripts/bundle.83f73b43.min.js.map | 7 - assets/javascripts/bundle.ad660dcc.min.js | 29 + assets/javascripts/bundle.ad660dcc.min.js.map | 7 + ...6ce7567c.min.js => search.b8dbb3d2.min.js} | 6 +- ....min.js.map => search.b8dbb3d2.min.js.map} | 4 +- assets/stylesheets/main.0253249f.min.css | 1 - assets/stylesheets/main.0253249f.min.css.map | 1 - assets/stylesheets/main.6543a935.min.css | 1 + assets/stylesheets/main.6543a935.min.css.map | 1 + blog/index.html | 71 +- conditions/cookie-policy/index.html | 71 +- conditions/privacy-policy/index.html | 71 +- conditions/terms-of-service/index.html | 71 +- .../index.html | 0 .../android}/index.html | 0 .../angular}/index.html | 0 .../application-client-tabs}/index.html | 0 .../electron}/index.html | 0 .../ionic}/index.html | 0 .../ios}/index.html | 0 .../javascript}/index.html | 0 .../react}/index.html | 0 .../vue}/index.html | 0 .../application-server-tabs/index.html | 27 + .../application-server/dotnet/index.html | 27 + .../shared/application-server/go/index.html | 27 + .../shared/application-server/java/index.html | 27 + .../shared/application-server/node/index.html | 27 + .../shared/application-server/php/index.html | 27 + .../application-server/python/index.html | 27 + .../shared/application-server/ruby/index.html | 27 + .../shared/application-server/rust/index.html | 27 + index.html | 4210 +++++++++++++++- pricing/index.html | 103 +- search/search_index.json | 2 +- support/index.html | 77 +- 52 files changed, 5027 insertions(+), 32940 deletions(-) create mode 100644 assets/images/self-hosting/how-to-guides/create-configure-cert/create-lbrecord.png create mode 100644 assets/images/self-hosting/how-to-guides/create-configure-cert/create-record-page.png create mode 100644 assets/images/self-hosting/how-to-guides/create-configure-cert/create-record-route53.png create mode 100644 assets/images/self-hosting/how-to-guides/create-configure-cert/domain-arn-location.png create mode 100644 assets/images/self-hosting/how-to-guides/create-configure-cert/domain-name-for-certificate.png create mode 100644 assets/images/self-hosting/how-to-guides/create-configure-cert/load-balancer-config.png delete mode 100644 assets/javascripts/bundle.83f73b43.min.js delete mode 100644 assets/javascripts/bundle.83f73b43.min.js.map create mode 100644 assets/javascripts/bundle.ad660dcc.min.js create mode 100644 assets/javascripts/bundle.ad660dcc.min.js.map rename assets/javascripts/workers/{search.6ce7567c.min.js => search.b8dbb3d2.min.js} (94%) rename assets/javascripts/workers/{search.6ce7567c.min.js.map => search.b8dbb3d2.min.js.map} (76%) delete mode 100644 assets/stylesheets/main.0253249f.min.css delete mode 100644 assets/stylesheets/main.0253249f.min.css.map create mode 100644 assets/stylesheets/main.6543a935.min.css create mode 100644 assets/stylesheets/main.6543a935.min.css.map rename docs/{tutorials/shared/application-server-tabs => self-hosting/how-to-guides/create-configure-AWS-certificate}/index.html (100%) rename docs/tutorials/shared/{dotnet => application-client/android}/index.html (100%) rename docs/tutorials/shared/{go => application-client/angular}/index.html (100%) rename docs/tutorials/shared/{java => application-client/application-client-tabs}/index.html (100%) rename docs/tutorials/shared/{node => application-client/electron}/index.html (100%) rename docs/tutorials/shared/{php => application-client/ionic}/index.html (100%) rename docs/tutorials/shared/{python => application-client/ios}/index.html (100%) rename docs/tutorials/shared/{ruby => application-client/javascript}/index.html (100%) rename docs/tutorials/shared/{run-application-server => application-client/react}/index.html (100%) rename docs/tutorials/shared/{rust => application-client/vue}/index.html (100%) create mode 100644 docs/tutorials/shared/application-server/application-server-tabs/index.html create mode 100644 docs/tutorials/shared/application-server/dotnet/index.html create mode 100644 docs/tutorials/shared/application-server/go/index.html create mode 100644 docs/tutorials/shared/application-server/java/index.html create mode 100644 docs/tutorials/shared/application-server/node/index.html create mode 100644 docs/tutorials/shared/application-server/php/index.html create mode 100644 docs/tutorials/shared/application-server/python/index.html create mode 100644 docs/tutorials/shared/application-server/ruby/index.html create mode 100644 docs/tutorials/shared/application-server/rust/index.html diff --git a/3.0.0-beta3/account/index.html b/3.0.0-beta3/account/index.html index 442f146d..497f74b1 100644 --- a/3.0.0-beta3/account/index.html +++ b/3.0.0-beta3/account/index.html @@ -1,3941 +1,27 @@ - - - - + + - - - - - - - - - - - - - - - - - - - Account - openVidu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - -
- - - - - - - - - - - - - - - - - - - -
- - - - - -
- - - - -
- - - - - - - - - -
-
- - - - - - - - - - - - - - - -
-
- - - - - - - -

Account

- - -

- - -
-
-
- -
-
-
- - - - - - - - - - - - - - - - - - - - -
-
- - - - - -
- - - -
- - - - - - - - -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + window.location.replace( + removeFirstPathSectionFromUrl(window.location.href) + ); + + + + Redirecting to /... + + diff --git a/3.0.0-beta3/blog/index.html b/3.0.0-beta3/blog/index.html index e6908ebd..497f74b1 100644 --- a/3.0.0-beta3/blog/index.html +++ b/3.0.0-beta3/blog/index.html @@ -1,3888 +1,27 @@ - - - - + + - - - - - - - - - - - - - - - - - - - Blog - openVidu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- - - -
- - - - - - - - - - - - - - - - - - - -
- - - - - -
- - - - - - -
- - - - - - - - - -
-
- - - -
-
-
- - - - - - - -
-
-
- - - -
-
-
- - - -
-
-
- - - -
-
-
-

Blog#

-
- - -
-
- - - - - -
- - - -
- - - - - - - - -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + window.location.replace( + removeFirstPathSectionFromUrl(window.location.href) + ); + + + + Redirecting to /... + + diff --git a/3.0.0-beta3/conditions/cookie-policy/index.html b/3.0.0-beta3/conditions/cookie-policy/index.html index baeb6ff6..497f74b1 100644 --- a/3.0.0-beta3/conditions/cookie-policy/index.html +++ b/3.0.0-beta3/conditions/cookie-policy/index.html @@ -1,3983 +1,27 @@ - - - - + + - - - - - - - - - - - - - - - - - - - Cookie Policy - openVidu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- - - -
- - - - - - - - - - - - - - - - - - - -
- - - - - -
- - - - - - -
- - - - - - - - - -
-
- - - - - - - - - - - - - - - -
-
- - - - - - - -

Cookie Policy

- -

What are cookies?#

-

TIKAL TECHNOLOGIES SL web page uses cookies, which are small files that it exchanges with the visitor's web browser for different purposes. That is done in a totally "invisible" and harmless way for the visitor, so your visit to the page is more fluid and you are not interrupted by some functions. The following explains which is the usage of cookies in TIKAL TECHNOLOGIES SL website and how you can disable them if you don't agree.

-

What kind of information do we collect?#

-

TIKAL TECHNOLOGIES SL web page uses cookies for the following purposes

-
    -
  • Functional cookies: they are used to improve the visitor's navigation through the website, making it more user-friendly. It is important to understand that cookies do not contain any kind of specific personal information, and most of them are deleted from the hard disk at the end of the browser session.
  • -
  • Analytical Cookies: TIKAL TECHNOLOGIES SL website uses cookies from Google Analytics, to analyze how visitors use the page. This way, TIKAL TECHNOLOGIES SL can offer improvements in the usability of the webpage. Google Analytics only collects and processes anonymous data through the TIKAL TECHNOLOGIES SL website. There is further information about the management of Google Analytics' web analysis services at www.google.com/analytics.
  • -
-

How are users able to change the cookies configuration in their browsers?#

-

Any browser allows you to make adjustments on the actions to perform whenever a website asks you to store a cookie. You can:

-
    -
  • Allow web pages to deposit cookies in the browser.
  • -
  • Allow the cookies of the visited web pages only to remain in the browser as long as the page remains open.
  • -
  • Do not allow web pages to deposit cookies in the browser. Please note that in this case, some website functions will not be operational or the full page could even not work at all.
  • -
  • Allow one by one which web pages will be able to deposit cookies in the browser. Please note that in unauthorized pages some website functions will not be operational or the full page could even not work at all.
  • -
-

The modification of the cookies configuration can be done in the option "Configuration" of the browser, in the "Privacy" section.

- - - - - - - - - - - - - - - - - - - - -
-
- - - - - -
- - - -
- - - - - - - - -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + window.location.replace( + removeFirstPathSectionFromUrl(window.location.href) + ); + + + + Redirecting to /... + + diff --git a/3.0.0-beta3/conditions/privacy-policy/index.html b/3.0.0-beta3/conditions/privacy-policy/index.html index 296902d2..497f74b1 100644 --- a/3.0.0-beta3/conditions/privacy-policy/index.html +++ b/3.0.0-beta3/conditions/privacy-policy/index.html @@ -1,3927 +1,27 @@ - - - - + + - - - - - - - - - - - - - - - - - - - Privacy Policy - openVidu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - -
- - - - - - - - - - - - - - - - - - - -
- - - - - -
- - - - - - -
- - - - - - - - - -
-
- - - - - - - - - - - - - - - -
-
- - - - - - - -

Privacy Policy

- -

In accordance with the provisions of Regulation (EU) 2016/679 and the Organic Law 3/2018 of 5 December, on the protection of personal data and guarantee of digital rights, we inform you that the data you provide will be incorporated to the treatment system owned by TIKAL TECHNOLOGIES SL with CIF B85986669 and address at Calle Chile, Nº 10, 28290 - Las Rozas de Madrid (Madrid), for the purpose of ELECTRONIC COMMERCE, CUSTOMER MANAGEMENT, AND OTHER PURPOSES. Your data may be processed by third parties (they will be data processors recipients of your data for contractual purposes for example, our computer maintenance company) requiring the same level of established rights, obligations and responsibilities. Your details will be kept for the time only strictly necessary. They will be deleted when a period of time has elapsed without any use being made of it. You agree to notify us of any changes in the data. You will be able to exercise your access rights, rectification, limitation of treatment, deletion, portability and opposition to processing of your personal data by addressing your request to the management or to the e-mail info@naevatec.com. You can contact the appropriate supervisory authority to make any complaint you may consider necessary.

- - - - - - - - - - - - - - - - - - - - -
-
- - - - - -
- - - -
- - - - - - - - -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + window.location.replace( + removeFirstPathSectionFromUrl(window.location.href) + ); + + + + Redirecting to /... + + diff --git a/3.0.0-beta3/conditions/terms-of-service/index.html b/3.0.0-beta3/conditions/terms-of-service/index.html index fd70df52..497f74b1 100644 --- a/3.0.0-beta3/conditions/terms-of-service/index.html +++ b/3.0.0-beta3/conditions/terms-of-service/index.html @@ -1,4240 +1,27 @@ - - - - + + - - - - - - - - - - - - - - - - - - - Terms of Service - openVidu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- - - -
- - - - - - - - - - - - - - - - - - - -
- - - - - -
- - - - - - -
- - - - - - - - - -
-
- - - - - - - - - - - - - - - -
-
- - - - - - - -

Terms of Service

- -

The purpose of the following terms and conditions is to explain our obligations as providers of the service, as well as your obligations as a client. Please read them carefully.

-

The aforementioned terms and conditions shall be applied from the moment TIKAL TECHNOLOGIES provides you with access to the service, thus it is understood that you have voluntarily accepted them as part of the contractual obligations between the parties involved, that is, between TIKAL TECHNOLOGIES (TIKAL form now on) and you as client. OpenVidu PRO is a service which will vary with time, so as to adapt to its clients and users´ new requirements, which in turn, will likely affect the terms and conditions so that they suit the changes and variations made to TIKAL.

-

TIKAL reserves the right to change the terms and conditions at any given moment, notwithstanding, it shall always endeavour to communicate these via e-mail or through the application itself; consequently, we strongly advise you to ensure that you have read and understood the terms and conditions whose most recent, updated version, is available on our website.

-

First. Definitions.#

-

For the legal purposes of this contract, the following definitions will apply:

-
    -
  1. Software application: a set of instructions which will be interpreted, utilized and executed by a computer system. Even when there may be many of them, the present contract may refer to them in singular, and likewise when pertaining to its backup files.
  2. -
  3. Telematics application: a software application within a server which is connected to the Internet such that it can be accessed remotely through electronic networks. The assignment of the license to use the telematics application OpenVidu PRO is the subject of the present contract.
  4. -
  5. Client of the telematics application: the natural or legal person who benefits from the licence to use the telematics application, thus assuming all obligations arising from the present contract.
  6. -
  7. User of the telematics application: the natural person authorized by the client to use the telematics application, who in turn assumes all obligations arising from the present contract and said utilization.
  8. -
  9. Parties: TIKAL and the client.
  10. -
  11. Exploitation rights over the telematics application: TIKAL TECHNOLOGIES SL
  12. -
  13. Third parties: any natural or legal person alien to the present contractual relation, who, for any reason, enters into a formal, legally binding agreement with either TIKAL or the client.
  14. -
  15. The service, all supporting infrastructure provided by TIKAL that allows the client to register, download, provision bill, and operate its instance of the telematics application
  16. -
  17. Hardware: electronic, mechanic or magnetic devices necessary for the telematics application, and its complementary parts, to work properly.
  18. -
  19. Personal data: any information regarding an identified or identifiable natural person.
  20. -
  21. Updates: new versions of the telematics application and/or its modules, which include new functionalities and improvements when compared to earlier versions.
  22. -
  23. Telematics application modules: parts of the telematics application which manage specific functionalities, and whose licence to use them, the client must acquire separately.
  24. -
-

Second. Purpose#

-
    -
  1. The purpose of the present contract is the licensing of the right to use the telematics application OpenVidu PRO by TIKAL TECHNOLOGIES SL. to the client, so that it may be use in the management of their business. Subject to the terms and conditions provided in this agreement, TIKAL hereby grants to the client a non-exclusive, non-sublicensable, non-transferable license to use the telematics application OpenVidu PRO (from now on “telematics application”). Under no circumstances however, does said licence grant the client sales rights over the telematics application whose ownership remains entirely with TIKAL TECHNOLOGIES SL.
  2. -
  3. The client´s rights to use the telematics application are subjected and limited by both the duration, and the terms and conditions established in the present contract.
  4. -
  5. Hereby the client agrees to use the telematics application in compliance with the law, the present contract, and the good and rational will inherently present in any civilized society.
  6. -
  7. The client acknowledges having examined that OpenVidu PRO features fulfil their needs, and that it has been appropriately informed by TIKAL about them.
  8. -
-

Third. Use limitations and duty of care.#

-
    -
  1. The client must protect and guard the telematics application; thus, it may not share any information whatsoever with third parties. It is specifically forbidden the use of the telematics application outside the business sphere for which it has been acquired, or outside any of the dispositions stipulated in this contract. The client may not sell, lease, transfer, or otherwise sublicense the telematics application or take part in any act which may result in the violation of their duty of care and protection. The client may not assign, transfer, pledge or make any other disposition of the rights acquired through this contract, of any part of the contract, or of any of the rights, claims or obligations under the contract.
  2. -
  3. The client is obligated to refrain from using the telematics application for illegal purposes or any other purposes contrary to what is established in the present contract, or any action that may be injurious to TIKAL´s rights and interests, to the owner of the telematics application, as well as to any third parties involved. Said actions include, but are not limited to, any deed that may harm, overload, disrupt, or otherwise render useless the telematics application, thus preventing other clients and users from making use of it.
  4. -
  5. Changes to the telematics application are strictly forbidden. These include, but are not limited to, such things as reverse engineering, decompiling, disassembling, reproducing, translating, modifying, commercializing, cloning, transforming or transmitting to any natural or legal person, partially or entirely, by any means, whether mechanic, magnetic, photocopies, etc… or to eliminate or block any proprietary notice or logos pertaining to the telematics application. The components and elements subject to the aforementioned restrictions include, but are not limited to, such things as the logical diagrams, source codes, object and/or data model; except prior, written authorization from TIKAL. These restrictions stand, even when said actions where needed for the interoperability with other computer programs or telematics applications.
  6. -
  7. The client or the user must protect and safeguard, both physically and intellectually, the telematics application, namely, its contents, logical procedures, and access protocols, by establishing the necessary means in order to guarantee the non-disclosure, cloning, reproduction, altering, translation, transformation, access by third parties, or any other action that shall imply a violation of the duty of care or of any intellectual and industrial property right.
  8. -
  9. The telematics application may only be used by the client or authorized user, for processing the client´s own data and their products, but under no circumstances shall it be used to process third parties ‘data.
  10. -
  11. TIKAL cannot guarantee uninterrupted access to the service throughout the entire validity period of this contract due to unforeseeable factors such as network issues, telecommunications service providers, breakdown in computers, as well as other contingencies such as repair and maintenance work, and software updates. Notwithstanding this, TIKAL reserves the right to adopt any necessary measures to limit the service, should it be considered that improper and/or irresponsible use of the telematics application is occurring, specially when said uses run counter to the terms and conditions provided in the present contract.
  12. -
  13. Should the client or user breach the terms of contract, in a continuous and sustained fashion, or acting in bad faith, TIKAL shall terminate the provision of the service, without reimbursing any amount, on the grounds of abusive and improper use.
  14. -
  15. Interpretation and scope. Any other right which has not been stated or directly mentioned in the present contract, remains reserved to TIKAL. Under no circumstances shall the terms and conditions of this contract be interpreted or applied in such a fashion that could be injurious to TIKAL or in any manner that runs counter to the regular exploitation framework of a telematics application.
  16. -
-

Fourth. Liability.#

-
    -
  1. TIKAL´s telematics application is access-ready in its current state and configuration. Should the application contain any deficiency attributable to TIKAL TECHNOLOGIES SL, the latter pledges to make use of all the resources available to them in order to solve the issue as promptly as possible. Nonetheless, it declines any liability and does not give any guarantee regarding violations perpetrated by third parties, marketability, satisfactory quality or suitability for a specific purpose.
  2. -
  3. TIKAL shall act with due diligence and professionalism by making use of all its resources available so as to ensure the quality, reliability, and security of the telematics application. In any case, TIKAL´s assumes no liability for any damages, direct or indirect, incidental or special, including, but not limited to, such things as damages or financial loss, work disruptions, failure, breakdown, or any losses, even when the possibility of such inconveniences occurring, which include third-party complaints, were previously notified to a member of TIKAL´s staff.
  4. -
  5. The client accepts, within reason, to tolerate specific, isolated disruptions in connectivity and hereby forfeits the right to claim any liability, contractual or otherwise, as well as damages owing to possible failures, slowness or access errors. TIKAL declines any liability concerning data loss, accidental or otherwise, resulting from the client´s actions or activities.
  6. -
  7. The client or user is solely responsible for the provision and payment of the costs necessary to ensure compatibility between the telematics application and their equipment, including all hardware, software, electronic components, and any other component required to access the telematics application, these include, but are not limited to, such things as telecommunication services, Internet access and connectivity, operating systems, or any other program, equipment or services, required to access and use the telematics application.
  8. -
  9. TIKAL declines any liability regarding any content that the client or user may host within the telematics application OpenVidu PRO, since at no moment, does TIKAL intervene in the internal processing of said content. Therefore, and in accordance with art.16 of LSSI-CE, TIKAL is not legally bound to remove any content from the server, provided there is no “actual knowledge” that the activity or information stored is illegal, libellous, or injurious to third-party rights or assets. In this regard, it shall be understood that “actual knowledge” exits, when there is a court or administrative decision, ordering to block or remove content and that the contractor (TIKAL) has been made aware of it. Notwithstanding, TIKAL reserves the right to remove this type of content out of its own volition, once it has been detected, whilst the client waives any right to claim or demand compensation. Should the application be in any way damaged due to the introduction of malign software or content (virus, trojan,…) TIKAL reserves the right to automatically terminate the contract without having to pay any compensation whatsoever. On the other hand, TIKAL hereby reserves the right to demand compensation from the client or user for any damages caused to the system.
  10. -
  11. The client or user shall burden all legal costs incurred when the cause is attributable to them, these include TIKAL lawyers’ fees, even when a final court decision has yet to be reached.
  12. -
  13. TIKAL uses information security protocols which are broadly accepted and observed by the industry such as firewalls, access-control procedures, and crypto mechanisms in order to avoid any unauthorized access to the data. For this purpose, the client hereby grants TIKAL access to data so that it can perform access-control authentication. The licensing process or any process which entails the introduction of personal data shall always conducted under a rigorous communication protocol so as to ensure no third parties have access to data transmitted electronically.
  14. -
-

Fifth. Intellectual and industrial property rights.#

-
    -
  1. The exploitation rights of the telematics application are owned by TIKAL and protected by Spanish Intellectual Property Laws applicable in any country where it is used. The structure, organization and coding of the telematics application constitute confidential and valuable industrial and commercial secrets which belong to TIKAL. Therefore, the client must treat the telematics application in the same fashion they would when utilizing any material protected by intellectual property rights, thus copying, duplicating, or cloning the application is strictly forbidden.
  2. -
  3. The present licence to use the telematics application does not imply, either explicitly or implicitly, the assignment of the intellectual and industrial rights over said application, the hardware, or the data model.
  4. -
  5. Brands must be utilized in accordance with the commercial uses of brands, including acknowledging the proprietor’s name of the brand. Brands may only be used in order identify those printouts produced by the telematics application. Said utilization does not imply or grant any property rights over the application.
  6. -
  7. The knowledge and expertise intrinsic to the telematics application, as well as the knowledge utilized to configure it, is confidential information which belongs to the owner of the telematics application TIKAL. The client acknowledges this and assumes all liability regarding fraudulent use, or illegal copy or duplication of said application, or complementary programs, or utilization of this information by third parties, being liable for any breach of the present contract, by them or by any person or persons depending or associated with the client, or when these individuals have been granted access, directly or indirectly, to the telematics application by the client.
  8. -
  9. Updates: For the entire validity period of the present contract, and in accordance with the terms and conditions stipulated in the next paragraph, the client is entitled to have access to the updates of the telematics application as they arise. The client assumes all legal liability for the updates, regarding limitations and duty of care, in the same fashion as with the original computer application. Updates to additional modules of the telematics application shall be given to those clients who have acquired from TIKAL the licence to use said modules.
  10. -
  11. Hereby the client gives TIKAL consent to incorporate them as such into their business portfolio, thus allowing TIKAL to use their brand and logo on its website as well as in documents which may be given to other potential clients, for the sole purpose of said portfolio, and provided that the client does not express opposition to them being used in such a fashion.
  12. -
-

Sixth. Right to amend.#

-

TIKAL reserves the right to update the telematics application to the latest version available on the market. Said updates may include, but are not limited to, such things as new functionalities, improvements, and modifications and legal updates to the telematics application, which may vary, at any moment such things as its features, performance, and configuration of the telematics application content.

-

TIKAL pledges to evaluate and take into consideration suggestions and requests made by clients and users of the telematics application so that they may be incorporated in the new versions of said application; however, it is TIKAL´s right, not the client´s to decide which modifications or improvements may be included in the aforementioned versions.

-

TIKAL reserves the right to modify, at any moment, the characteristics, features, and conditions of TIKAL for the benefit and development of the service. With this in mind, TIKAL may only have to observe the formality of having to notify the client via an on-line notice, or by modifying any clause in this contract. Notwithstanding the foregoing, TIKAL shall endeavour to promptly notify the client so that the latter may adapt them.

-

Seventh. Exclusion and termination of licensing.#

-
    -
  1. TIKAL reserves the right to exclude and/or terminate, temporarily or in a definite manner, the client´s right to use the telematics application, in case the following occurring:
      -
    • Breach of any of the terms and conditions of the present contract.
    • -
    • Breach of law and order and/or improper, illegal, or negligent professional behavior.
    • -
    • When a court, administrative, or official decision is made to do so.
    • -
    -
  2. -
  3. The exclusion clause, or termination of this contract, does not imply that TIKAL forfeits the right to take legal actions or file for financial compensation when the client has acted in bad faith to damage, directly or indirectly, the telematics application.
  4. -
-

Eighth. Communications.#

-
    -
  1. For the purposes of establishing a line of communication regarding the present contract both parties agree to use the place of residence which appears in it. The client pledges to keep the e-mail account provided in this licensing agreement, operational, activated and updated for the purposes of communications with TIKAL, which constitutes TIKAL´s preferred line of communication (albeit not the only one). In general terms, the client pledges to keep their personal details updated, and must communicate TIKAL, in a clear, unambiguous manner, of any changes.
  2. -
  3. Should the client fail to notify said changes, notifications or notices delivered to the address(es) given by the client in the licensing agreement, shall be considered valid.
  4. -
  5. The client consents that telephone conversations with TIKAL may be recorded with the intent to improve the quality and security of the service.
  6. -
-

Ninth. Duration.#

-
    -
  1. The contract shall be valid indefinitely from the moment the client requests it. The client can also put the end to the contract at any time he wishes, being obliged to pay the pending consumed service.
  2. -
  3. As long as the period contract holds it is understood that the validity of the contract published on TIKAL´s website and containing all updates, prevails.
  4. -
-

Tenth. Terms of payment.#

-
    -
  1. The price, payment method, billing and payment of the telematics application licensing, object of the present contract, is stipulated in the Current Official Rates Section published on TIKAL´s website (https://openvidu.io at the time of writing), which are considered part of a whole to all intents and purposes.
  2. -
  3. The price stipulated in the aforementioned Current Official Rates Section, do not include valued added tax (VAT), nor does it include any other taxes or fees established by law whose current rates shall be applied for the provision of the service when signing the present contract. Therefore, said amounts may be increased according to current tax rates.
  4. -
  5. Payment will be done monthly and will cover the whole amount of the service consumed during last month period according to the currently published rates from TIKAL.
  6. -
  7. Monthly payments include both the basic rate for the provision of the service, and the corresponding rate(s) for any optional or additional service hired.
  8. -
  9. Payments must be made effective by the credit or debit card that the client has agreed with TIKAL when first hiring the service. Visa and MasterCard shall be the accepted cards.
  10. -
  11. Total or partial delay in payment by the client for the amount(s) TIKAL has billed them shall grant TIKAL the right to cancel or terminate all contracted obligations in accordance with the present contract. Suspension of the service provision shall be realized within the next fifteen natural days after the contract has reached its expiry date, prior notice to the client. After said fifteen natural days from the day the service was suspended, and prior notification to the client, TIKAL may terminate the contract. If the client pays the full amount owed to TIKAL during said period, the latter shall re-establish the service as promptly as possible from the moment it is notified that the debt has been settled. Notwithstanding the foregoing, TIKAL reserves the right to ask for a two-month deposit as a guarantee before re-establishing the service. The client accepts all liability for any legal costs incurred due to claims made by TIKAL regarding breach of payment after the contract has reached its expiry date, including, but not limited to, such things as the return of invoices and late-payment interest. - When the client returns, for any cause alien to TIKAL, two or more direct-debit invoices, TIKAL shall be entitled to unilaterally opt for the annual hiring and billing of the service.
  12. -
  13. When the client has defaulted on a payment, either totally or partially, during three months, for the amount owed to TIKAL, the latter has the right to rescind the contract between the two parties, as well as the direct and definite termination and cancellation of the service hired by the client, including the database linked to the client´s services, without prior notice from TIKAL.
  14. -
  15. TIKAL shall apply upon its rates any current deals and offers existing at the time the client hires the service, provided they comply with the terms and conditions of said deals and offers so that they may benefit from them. The client acknowledges and accepts the fact they may obtain detailed information, at any given time, regarding said deals and offers on TIKAL´s website or through the habitual communication channels with which TIKAL provides its clients.
  16. -
-

Eleventh. Data Protection.#

-

The parties involved agree that they know, comply with, and are subject to, the Spanish and European laws and legislation regarding Personal Data Protection, thus they must give proper use and treatment to all data arising from any activity subjected to the terms and conditions of this contract.

-

Data Controller agreement between the client and TIKAL.#

-

In accordance with the Spanish Data Protection Laws, TIKAL´s access to the client´s personal files shall not be considered a violation of said laws, insofar as TIKAL is effectively the Data Controller and said access is necessary for the provision of the service which is the subject of this contract.

-

In this regard, and for the purposes of Data Protection regulation, TIKAL shall be regarded as the “Data Controller” of the client´s data. Notwithstanding the foregoing, TIKAL pledges that it shall treat said data in conformity with the client´s instructions provided in this contract, and that under no circumstances shall it utilise them for any other purposes outside of what the parties have agreed in this contract, nor shall it transfer or communicate them to a third party, not even for back-up or storage purposes. At the same time, the duration and validity of this agreement shall correspond to the type of service hired by the client.

-

Once the provision of said service terminates and the data shall no longer be necessary to perform the aforementioned Data Controller role, all personal data shall be either destroyed or returned to the person, persons or entity responsible for it, as well as any storage medium, documents or files containing personal data.

-

In order to provide the service and what said provision entails, TIKAL shall be granted access to the following information:

-
    -
  1. Contact details
  2. -
  3. Company profile data
  4. -
  5. Assets and billed services data
  6. -
  7. Tax identification data
  8. -
-

TIKAL´s obligations as Data Controller are described as follows:

-
    -
  1. Treat all data in accordance with the instructions received by the person, persons or entity in charge of its treatment and only for the purposes provided in this contract.
  2. -
  3. To not communicate or transfer any data to third parties, except prior consent by the body in charge of its treatment, or in cases provided for by the law.
  4. -
  5. TIKAL may not outsource, either totally or partially, the provision of the service(s) described in the present contract, except prior authorization from the client whom shall be informed with due notice about the outsourcing entity as well as the services being outsourced. In this case, TIKAL shall draft and execute a new contract with said outsourcing entity, always in accordance with the current Data Protection laws.
  6. -
  7. To not disclose any personal data to which TIKAL may have had access, even after the termination of this contract.
  8. -
  9. To guarantee that the staff managing personal data pledge to keep the confidentiality which said data entails and that they comply with the proper security protocols.
  10. -
  11. To assist the person or body responsible for data treatment regarding data protection.
  12. -
  13. To provide the person or body responsible for data protection with support and assistance when performing an impact assessment, or when consulting the regulatory authorities, if applicable. Additionally, to provide said person or body with the necessary information so that it may prove their compliance with the rules and regulations.
  14. -
  15. Notwithstanding the foregoing, said person or body has mechanisms in place so as to guarantee the confidentiality, integrity, and availability of the systems and services concerning data protection, as well as to restore the access and availability to data in case of system failure. Additionally, it is endowed with capabilities so as to regularly verify and assess the efficacy of the security protocol.
  16. -
-

Duties of the responsible for data treatment:

-
    -
  1. To guarantee, at all times, compliance with the Data Protection Laws.
  2. -
  3. Make all necessary enquiries beforehand.
  4. -
  5. To supervise that proper data treatment is occurring.
  6. -
  7. To provide the data controller with all necessary data for the provision of the service.
  8. -
-

TIKAL´s duties as Data Controller:

-
    -
  1. To guarantee, at all times, compliance with the Data Protection Laws.
  2. -
  3. Make all necessary enquiries beforehand.
  4. -
  5. To supervise that proper data treatment is occurring.
  6. -
  7. To provide the data controller with all necessary data for the provision of the service.
  8. -
-

Twelfth. Confidentiality.#

-
    -
  1. All data and information transmitted between the parties is strictly confidential and property of TIKAL and the client, and its protection is of the utmost importance. To this intent, both parties hereby contract the obligation to safeguard said data and information by adopting all appropriate measures to ensure that only authorized individuals shall have access to it; authorized individuals being understood as those employees which are needed by the parties involved so as to keep the provision of the service, which is the object of this contract, in good working order.
  2. -
  3. In this regard, the signatory parties are hereby subject to the following confidential agreement:
      -
    • Hereby TIKAL pledges to keep confidential all data and information supplied by, and concerning the client, as well as the output arisen from the service provided. In this regard, TIKAL possesses strict internal controls whose objective and end are to guarantee the integrity of the present confidential agreement.
    • -
    • The client therefore agrees to keep confidential all data and information arising from TIKAL´s internal processes, specially the existence, utilization, and functionalities of any process used in the provision of the service.
    • -
    • The present confidential agreement shall remain valid even after the termination of the present contractual relation and extends indefinitely to all members of staff that have been granted access to said confidential information.
    • -
    -
  4. -
-

Thirteenth. Termination. Rescission. Nullity.#

-
    -
  1. The present contract shall be considered void for infringement, committed by any of the parties involved, of the Spanish Civil Code, and in particular, of the Spanish Commercial Code, and the obligations arising from the following:
      -
    • Mutual consent of the parties involved.
    • -
    • When the present contract has reached its expiry date which is specified in clause tenth, or within the subsequent extensions thereof.
    • -
    • By unilateral rescission provided that the party wishing to rescind communicates this at least one month in advance.
    • -
    • When any of the parties has been officially put into administration, has filed for bankruptcy protection, is under bankruptcy or insolvency proceedings, or is under liquidation or dissolution.
    • -
    • Due to any other reason(s) provided for in law.
    • -
    • Should any of the parties involved breach the contracted obligations provided in the present contract, the other party may consider it as void. Said consideration warrants no prior notice or compensation of any kind, but for the need to communicate the decision to the other party; unless the unaccrued obligations owed by the party are performed within the next fifteen days, counting from the moment said party was notified that they are in breach of the contract . Notwithstanding the foregoing, the other party reserves the right to claim or file for damages caused by this infringement.
    • -
    -
  2. -
  3. TIKAL pledges to destroy all data provided by the client once the contractual relation is extinguished. Likewise, TIKAL shall destroy or return any document or storage medium containing any IT-related data arising from said contractual relation. Once said contractual relation terminates, the client may request TIKAL to supply them with a hard, back-up copy of all data pertaining to and arising from said relation, to any address the client wishes, prior to a written request to do so, which must be sent within the week after the end of the contract. The client shall burden the costs incurred arising from the handling and mailing of said request.
  4. -
  5. The client may cease or cancel the use of the telematics application whenever they wish to do so. Should the client or any authorized user by them request the cancellation of the service at TIKAL´s offices, it shall become effective on the same day said request was made. Therefore, it is advised to carefully observe said process to avoid any resources or data loss that the client or user may have in their TIKAL´s account. Should it not be possible for them to initiate said cancellation process at TIKAL´s offices, the client may request it by contacting TIKAL´s customer service via any of the channels provided in this contract. Said cancellation shall become effective on the day stipulated by the client, provided that the request has been made with enough time to be processed correctly.
  6. -
-

Fourteenth. Applicable legislation and jurisdiction.#

-

The present is a business contract regulated by Spanish laws. The parties involved agree that any discrepancy, legal or civil action, claim or complain arising from the interpretation and execution of the present contract, shall be, directly or indirectly, taken to the Court of Madrid, thus all parties involved hereby renounce to take any matters pertaining to this agreement to any other jurisdiction.

-

The present document constitutes the total agreement of the parties in relation to the matters covered in this agreement, thus substitutes all previous obligations, liabilities, and agreements, both written and verbal, existing prior to the signature and execution of this contract.

-

The following website (www.naevatec.com) belongs to:
-TIKAL TECHNOLOGIES SL TAX ID: B85986669 10 Chile Rd/St 28290 – Las Rozas de Madrid (Madrid City) Spain. Registered in the Madrid´s Trade Register, volume/tome 28043. Book 0 Section 8th of the Registry Book, Page 37, Sheet M-505315.

- - - - - - - - - - - - - - - - - - - - -
-
- - - - - -
- - - -
- - - - - - - - -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + window.location.replace( + removeFirstPathSectionFromUrl(window.location.href) + ); + + + + Redirecting to /... + + diff --git a/3.0.0-beta3/index.html b/3.0.0-beta3/index.html index 29c89f53..497f74b1 100644 --- a/3.0.0-beta3/index.html +++ b/3.0.0-beta3/index.html @@ -1,4192 +1,27 @@ - - - - + + - - - - - - - - - - - - - - - - - - - - - openVidu - openVidu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- - - -
- - - - - - - - - - - - - - - - - - - -
- - - - - -
- - - - - - -
- - - - - - - - - - - - -
-
- -
-

A powerful platform to develop WebRTC real-time applications.
Self-hosted. Performant. Fault Tolerant. Scalable. Observable.

-

- OpenVidu allows you to implement ultra-low latency video - and audio applications with ease: one-to-one calls, videoconference rooms of - any size, massive live streamings with thousands of viewers... It is built - on the best open source WebRTC stacks with all the - features you need: multi-platform, recording, broadcasting, screen sharing - and more. From an operations perspective we aim to make it easy to - self-host a performant, fault-tolerant, scalable and - observable cluster, reducing DevOps efforts. -

- -
- - -
-
- - - - - - - - - - - - - - - -
-
- - - - - - - -

Home#

-
-

- Create your real-time video and audio application with ease -

-
- -
-
-
    -
  • -

    Ready to use app

    -
    -

    You get OpenVidu Call with every OpenVidu installation.
    A fully-fledged videoconference application with all the features you expect: multiparty, device selection, screen share, chat, recording, virtual background and more!

    -
  • -
  • -

    All is customizable

    -
    -

    If you want to integrate OpenVidu into your own application, there are UI Components that are quickly to setup but also highly customizable. If you want total control, you can use SDKs to fine-tune the integration of OpenVidu in your app. Learn more at Developing your OpenVidu app.

    -
  • -
  • -

    Self-hosted

    -
    -

    OpenVidu is designed from the ground up to be self-hosted in your own servers. With OpenVidu you can easily deploy and manage a production-ready live-video solution in your own infrastructure, whether it is on premises or in your favorite cloud provider. Leverage your hardware and regain control of your users' data!

    -
  • -
  • -

    Professional support

    -
    -

    We are experts in WebRTC. We have been developing real time tools and supporting customers building their solutions for over a decade. Let's work together to make your project a success! Contact us now.

    -
  • -
-
-
-
- -
-

- Self-host a production-ready live-video platform with advanced capabilities typically reserved for SaaS solutions -

-
- -
-
-
    -
  • -

    Easy to deploy

    -
    -

    What could take a whole DevOps team days of work, with OpenVidu you can have it ready in minutes: an easy installation, configuration and administration experience to your self-hosted, production grade, real-time solution. Install now.

    -
  • -
  • -

    Cost effective

    -
    -

    OpenVidu COMMUNITY is open source, free and can handle a significant user load. With OpenVidu PRO you can handle more simultaneous Rooms in the same hardware thanks to mediasoup integration. This allows reducing the cost of each Room, making OpenVidu PRO truly cost-effective as a self-hosted solution. See Pricing.

    -
  • -
  • -

    Performant

    -
    -

    OpenVidu is built to be incredibly powerful. It is based on the best open source WebRTC stacks: LiveKit and mediasoup. By combining the best of both worlds, OpenVidu provides outstanding performance.

    -
  • -
  • -

    Scalable

    -
    -

    OpenVidu has been designed from the outset with scalability in mind. Host videoconference rooms and large live streams with hundreds of participants. Autoscale your cluster to adapt to the demand and optimize your resources.

    -
  • -
  • -

    Fault tolerant

    -
    -

    OpenVidu offers fault tolerance in all its components. Deploy a reliable cluster knowing that if one of your node goes down, others will be able to continue working with no downtime.

    -
  • -
  • -

    Observable

    -
    -

    OpenVidu brings everything necessary to monitor the status, health, load and history of your deployment. It automatically collects events, metrics and logs and provides OpenVidu Dashboard and a Grafana stack to navigate them.

    -
  • -
-
-
-
- -
-

- All the features you need to quickly build your perfect real-time application -

-
- -
-
-
    -
  • -

    WebRTC

    -
    -

    Achieve ultra-low latency in your videoconference or live streaming app thanks to WebRTC.

    -
  • -
- -
    -
  • -

    Security at all levels

    -
    -

    E2E encryption, fine-grained access control and highly secure deployments for the most demanding security requirements.

    -
  • -
  • -

    Multiplatform

    -
    -

    Chrome, Firefox, Safari, Android, iOS, Unity, Windows, MacOS, Linux... OpenVidu is compatible with all of them.

    -
  • -
  • -

    Up to 4K video and HQ audio

    -
    -

    HD up to 4K video resolution, and crisp audio quality with noise cancellation and echo suppression.

    -
  • -
  • -

    Recording

    -
    -

    Record your videocalls with complete freedom. You can use predefined layouts or easily build your own.

    -
  • -
  • -

    Broadcast to YouTube/Twitch

    -
    -

    OpenVidu allows you to easily broadcast your sessions to live-streaming platforms such as YouTube or Twitch.

    -
  • -
  • -

    Screen sharing

    -
    -

    Screen share from browsers or native applications with ease, always with the best quality.

    -
  • -
  • -

    Virtual Backgrounds

    -
    -

    Apply effects to your videos, blurring the background or replacing it with an image.

    -
  • -
  • -

    Server side processing

    -
    -

    For the most advanced use cases: you can add pipelines to process video and audio streams in real time in your servers.

    -
  • -
-
-
-
- -
-

Build, deploy on-premises and scale your videoconferencing or live streaming app with ease. Contact us if you need it : we are here to help!

- -
- - - - - - - - - - - - - - - - - - - - -
-
- - - - - -
- - - -
- - - - - - - - -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + window.location.replace( + removeFirstPathSectionFromUrl(window.location.href) + ); + + + + Redirecting to /... + + diff --git a/3.0.0-beta3/pricing/index.html b/3.0.0-beta3/pricing/index.html index 5b12108f..497f74b1 100644 --- a/3.0.0-beta3/pricing/index.html +++ b/3.0.0-beta3/pricing/index.html @@ -1,4454 +1,27 @@ - - - - + + - - - - - - - - - - - - - - - - - - - - - Pricing - openVidu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- - - -
- - - - - - - - - - - - - - - - - - - -
- - - - - -
- - - - - - -
- - - - - - - - - -
-
- - - - - - - - - - - - - - - -
-
- - - - - - - - - -

Pricing#

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OpenVidu COMMUNITYOpenVidu PRO
PriceFree
0.0006$ core/minute
Free while in beta! *
Type of deploymentOpenVidu Single NodeOpenVidu ElasticOpenVidu High Availability
SuitabilityFor applications with medium user loadFor applications with dynamic user load that require scalabilityFor applications where both scalability and fault tolerance are critical
FeaturesCustom LiveKit distribution with Redis, Egress, Ingress, S3 storage and observabilitySame benefits as OpenVidu Single Node plus 2x performance, scalability and advanced observabilitySame benefits as OpenVidu Single Node and OpenVidu Elastic plus fault tolerance
Number of servers1 Node1 Master Node +
N Media Nodes
4 Master Nodes +
N Media Nodes
Installation instructionsInstallInstallInstall
- -
-
-

About OpenVidu Pro free beta period

-
    -
  • OpenVidu Pro is currently in beta and will remain completely free until GA.
  • -
  • All users running a beta version of OpenVidu Pro will be notified weeks before the free beta period ends, giving time to upgrade to the final GA version if desired.
  • -
  • Active OpenVidu Pro clusters in beta version will eventually shut down automatically after the free beta period ends.
  • -
-
-
-

How is OpenVidu Pro priced?#

-

OpenVidu Pro follows a simple pricing model based on the number of cores used by the OpenVidu Pro cluster:

-
-
$0.0006
-per core per minute available
-for your OpenVidu PRO cluster -
- -

Taking into account the following points:

-
    -
  • You only pay for your OpenVidu Pro cluster(s) for the time they are running. Usage will be registered the moment you start your cluster and will stop as soon as you shut your cluster down. When turned on, your cluster will be charged even in idle state (without active Rooms).
  • -
  • You pay for every available core at any given time: if you cluster grows for one hour, that hour you will pay more. If your cluster decreases the next hour, next hour will be cheaper. Master Nodes and Media Nodes have the same core per minute price.
  • -
  • Your OpenVidu Pro cluster(s) need to allow outbound traffic to domain accounts.openvidu.io port 443. If you are behind a very restrictive corporate firewall that doesn't allow this, please contact us through commercial@openvidu.io.
  • -
-
-

There is a 15-day free trial period waiting for you!

- -
- -
-

Why is OpenVidu Pro priced like this?#

-

There are deliberate reasons for this pricing model in OpenVidu Pro:

-
    -
  • We believe that a platform specifically designed to be self-hosted should have a pricing model that is as close to hardware as possible: that is the total number of cores available to the cluster over time.
  • -
  • This pricing model is simple, transparent and easy to predict: you pay only for the time the cluster is running and always according to its size.
  • -
  • The cost is directly proportional to the size of your cluster: larger clusters pay more, smaller clusters pay less.
  • -
  • Elasticity is encouraged: adjust the size of your cluster according to the load at any given time to minimize costs.
  • -
-

When and how are you charged?#

-

Users must create an OpenVidu account and get an OpenVidu License. This license will be required to deploy an OpenVidu Pro cluster (OpenVidu Elastic or OpenVidu High Availability).

-

When purchasing an OpenVidu License, you will have to indicate your billing address and a credit card. You will receive a 15-day free trial period during which you will not be charged at all.

-

After the free trial period, a monthly billing cycle will charge all your expenses to your credit card. Therefore, you will receive an invoice each month. You can review your upcoming expenses and your past invoices in your OpenVidu account page. And don't worry: we don't store any credit card data. The entire billing process is securely done via Stripe.

-

OpenVidu Pro clusters will automatically report their usage on a recurring basis. That's why they need outbound access to domain accounts.openvidu.io port 443. If you are behind a very restrictive corporate firewall that doesn't allow this, please contact us through commercial@openvidu.io.

-

Pricing examples#

-

As explained above, every minute of an OpenVidu Pro cluster is charged according to the number of cores available for the cluster. So let's see some actual examples, first noting the following points:

-
    -
  • The examples represent a continuous usage of the cluster, but remember that you can shut it down whenever you are not using it and that you can drop nodes to save resources.
  • -
  • Each example shows in a table the price for 8 hours, 1 day and 1 month of continuous usage, as well as the approximated amount of video Tracks and Rooms of 8 participants the cluster would support. This is done to provide a basic insight into the capacity of each cluster. These 8-to-8 Rooms assume 64 video Tracks (640x480) and 64 audio Tracks in them (2 tracks published and 14 tracks subscribed per Participant), with no Egress, Ingress or other additional features.
  • -
-
-
-

OpenVidu Elastic with 12 cores in total#

-

This OpenVidu Pro Elastic cluster has 1 Master Node of 4 cores and 2 Media Nodes of 4 cores each.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Number of video Tracks2000
Number of Rooms with 8 Participants250
8 hours$3.46
24 hours (1 day of uninterrupted use)$10.37
720 hours (1 month of uninterrupted use)$311.04
-
-
-
- -
-
-
-
-

OpenVidu Elastic with 20 cores in total#

-

This OpenVidu Pro Elastic cluster has 1 Master Node of 4 cores and 4 Media Nodes of 4 cores each.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Number of video Tracks4000
Number of Rooms with 8 Participants500
8 hours$5.76
24 hours (1 day of uninterrupted use)$17.28
720 hours (1 month of uninterrupted use)$518.40
-
-
-
- -
-
-
-
-

OpenVidu High Availability with 32 cores in total#

-

This OpenVidu Pro HA cluster has 4 Master Nodes of 4 cores each and 4 Media Nodes of 4 cores each. The number of simultaneous Rooms and Tracks will be the same as in the previous example, but this cluster will provide fault tolerance thanks to the replication of the Master Nodes.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Number of video Tracks4000
Number of Rooms with 8 Participants500
8 hours$9.21
24 hours (1 day of uninterrupted use)$27.65
720 hours (1 month of uninterrupted use)$829.44
-
-
-
- -
-
-
-
-

OpenVidu Elastic with a variable number of cores#

-

This OpenVidu Pro Elastic cluster takes advantage of the elasticity of the platform. It has a fixed Master Node of 4 cores, but a variable number of Media Nodes. Let's imagine a scenario where our days are divided in three phases according to the user load:

-
    -
  • First 8 hours of the day the demand is low. 1 Media Node of 4 cores is enough to handle it.
  • -
  • The next 8 hours of the day the user load increases significantly (this is very typical if our application is used more during working hours). We add another Media Node of 8 cores to handle this new demand.
  • -
  • The last 8 hours of the day the demand decreases, and we are able to remove the Media Node of 8 cores and keep only the Media Node of 4 cores.
  • -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
First 8 hours of the day with low demand
(8 cores in total)
Video Tracks1000
8x8 Rooms125
Price$2.30
Next 8 hours of the day with high demand
(16 cores in total)
Price$4.61
Video Tracks3000
8x8 Rooms375
Last 8 hours of the day with low demand
(8 cores in total)
Price$2.30
Video Tracks1000
8x8 Rooms125
Total for 1 day$9.21
Total for 1 month$276.30
-
-
-
- -
-
-
-
-
-

There is a 15-day free trial period waiting for you!

- -
- - - - - - - - - - - - - - - - - - - - -
-
- - - - - -
- - - -
- - - - - - - - -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + window.location.replace( + removeFirstPathSectionFromUrl(window.location.href) + ); + + + + Redirecting to /... + + diff --git a/3.0.0-beta3/support/index.html b/3.0.0-beta3/support/index.html index b678fa59..497f74b1 100644 --- a/3.0.0-beta3/support/index.html +++ b/3.0.0-beta3/support/index.html @@ -1,4095 +1,27 @@ - - - - + + - - - - - - - - - - - - - - - - - - - - - - - Support - openVidu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- - - -
- - - - - - - - - - - - - - - - - - - -
- - - - - -
- - - - - - -
- - - - - - - - - -
-
- - - - - - - - - - - - - - - -
-
- - - - - - - -

Support#

-
-

Self-hosting your own solutions can be challenging. We have built OpenVidu to make this task as easy as possible. But of course you may encounter difficulties in the process, or your particular use case may require customized assistance. The OpenVidu team specializes in customer support. Together we will make your project a success!

-
-

Commercial support#

-

Do not hesitate to contact us at commercial@openvidu.io. We provide consultancy, prioritizing bug fixes or new features, custom app development, etc.

-

Let's work together and build something great!

-
-

Info

-

Do you need help updating from OpenVidu 2 to OpenVidu 3? Write us to pro.support.v2apps@openvidu.io and we will be happy to guide you through the process.

-
-

Community support#

-

The public forum is the right place to ask any questions that do not involve private information, so that the whole community can benefit from the exchange of ideas.

- - - - - - - - - - - - - - - - - - - - -
-
- - - - - -
- - - -
- - - - - - - - -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + window.location.replace( + removeFirstPathSectionFromUrl(window.location.href) + ); + + + + Redirecting to /... + + diff --git a/account/index.html b/account/index.html index aef4ec31..442f146d 100644 --- a/account/index.html +++ b/account/index.html @@ -17,7 +17,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -155,7 +155,7 @@ - + @@ -164,9 +164,9 @@ - + - + @@ -215,7 +215,7 @@ @@ -223,7 +223,7 @@ - + @@ -325,7 +325,7 @@ @@ -357,7 +357,7 @@ @@ -367,7 +367,7 @@ @@ -377,7 +377,7 @@ - + @@ -387,7 +387,7 @@ @@ -398,15 +398,15 @@ @@ -433,7 +433,7 @@
- +
openvidu/openvidu @@ -579,7 +579,7 @@
- +
- +
@@ -3768,7 +3791,7 @@

Account

- + @@ -3779,7 +3802,7 @@

Account

- + @@ -3894,14 +3917,14 @@

Cookie consent

- + - + - + diff --git a/assets/images/self-hosting/how-to-guides/create-configure-cert/create-lbrecord.png b/assets/images/self-hosting/how-to-guides/create-configure-cert/create-lbrecord.png new file mode 100644 index 0000000000000000000000000000000000000000..9a8bc6e28aeb332b139d58fe2a87251be0a98dc4 GIT binary patch literal 53624 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 C0}oc57a3)pLI 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 z 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 literal 0 HcmV?d00001 diff --git a/assets/images/self-hosting/how-to-guides/create-configure-cert/create-record-page.png b/assets/images/self-hosting/how-to-guides/create-configure-cert/create-record-page.png new file mode 100644 index 0000000000000000000000000000000000000000..9c66acaba9c75a7c72a9e28b9936eb79138fae63 GIT binary patch literal 160600 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 literal 0 HcmV?d00001 diff --git a/assets/images/self-hosting/how-to-guides/create-configure-cert/domain-arn-location.png b/assets/images/self-hosting/how-to-guides/create-configure-cert/domain-arn-location.png new file mode 100644 index 0000000000000000000000000000000000000000..9d301b9b97a8f4ffde3c8b97be5d12f9bec1ed9a GIT binary patch literal 138934 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 literal 0 HcmV?d00001 diff --git a/assets/javascripts/bundle.83f73b43.min.js b/assets/javascripts/bundle.83f73b43.min.js deleted file mode 100644 index 43d8b70f..00000000 --- a/assets/javascripts/bundle.83f73b43.min.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict";(()=>{var Wi=Object.create;var gr=Object.defineProperty;var Di=Object.getOwnPropertyDescriptor;var Vi=Object.getOwnPropertyNames,Vt=Object.getOwnPropertySymbols,Ni=Object.getPrototypeOf,yr=Object.prototype.hasOwnProperty,ao=Object.prototype.propertyIsEnumerable;var io=(e,t,r)=>t in e?gr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,$=(e,t)=>{for(var r in t||(t={}))yr.call(t,r)&&io(e,r,t[r]);if(Vt)for(var r of Vt(t))ao.call(t,r)&&io(e,r,t[r]);return e};var so=(e,t)=>{var r={};for(var o in e)yr.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&Vt)for(var o of Vt(e))t.indexOf(o)<0&&ao.call(e,o)&&(r[o]=e[o]);return r};var xr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var zi=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Vi(t))!yr.call(e,n)&&n!==r&&gr(e,n,{get:()=>t[n],enumerable:!(o=Di(t,n))||o.enumerable});return e};var Mt=(e,t,r)=>(r=e!=null?Wi(Ni(e)):{},zi(t||!e||!e.__esModule?gr(r,"default",{value:e,enumerable:!0}):r,e));var co=(e,t,r)=>new Promise((o,n)=>{var i=p=>{try{s(r.next(p))}catch(c){n(c)}},a=p=>{try{s(r.throw(p))}catch(c){n(c)}},s=p=>p.done?o(p.value):Promise.resolve(p.value).then(i,a);s((r=r.apply(e,t)).next())});var lo=xr((Er,po)=>{(function(e,t){typeof Er=="object"&&typeof po!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(Er,function(){"use strict";function e(r){var o=!0,n=!1,i=null,a={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function s(k){return!!(k&&k!==document&&k.nodeName!=="HTML"&&k.nodeName!=="BODY"&&"classList"in k&&"contains"in k.classList)}function p(k){var ft=k.type,qe=k.tagName;return!!(qe==="INPUT"&&a[ft]&&!k.readOnly||qe==="TEXTAREA"&&!k.readOnly||k.isContentEditable)}function c(k){k.classList.contains("focus-visible")||(k.classList.add("focus-visible"),k.setAttribute("data-focus-visible-added",""))}function l(k){k.hasAttribute("data-focus-visible-added")&&(k.classList.remove("focus-visible"),k.removeAttribute("data-focus-visible-added"))}function f(k){k.metaKey||k.altKey||k.ctrlKey||(s(r.activeElement)&&c(r.activeElement),o=!0)}function u(k){o=!1}function d(k){s(k.target)&&(o||p(k.target))&&c(k.target)}function y(k){s(k.target)&&(k.target.classList.contains("focus-visible")||k.target.hasAttribute("data-focus-visible-added"))&&(n=!0,window.clearTimeout(i),i=window.setTimeout(function(){n=!1},100),l(k.target))}function L(k){document.visibilityState==="hidden"&&(n&&(o=!0),X())}function X(){document.addEventListener("mousemove",J),document.addEventListener("mousedown",J),document.addEventListener("mouseup",J),document.addEventListener("pointermove",J),document.addEventListener("pointerdown",J),document.addEventListener("pointerup",J),document.addEventListener("touchmove",J),document.addEventListener("touchstart",J),document.addEventListener("touchend",J)}function te(){document.removeEventListener("mousemove",J),document.removeEventListener("mousedown",J),document.removeEventListener("mouseup",J),document.removeEventListener("pointermove",J),document.removeEventListener("pointerdown",J),document.removeEventListener("pointerup",J),document.removeEventListener("touchmove",J),document.removeEventListener("touchstart",J),document.removeEventListener("touchend",J)}function J(k){k.target.nodeName&&k.target.nodeName.toLowerCase()==="html"||(o=!1,te())}document.addEventListener("keydown",f,!0),document.addEventListener("mousedown",u,!0),document.addEventListener("pointerdown",u,!0),document.addEventListener("touchstart",u,!0),document.addEventListener("visibilitychange",L,!0),X(),r.addEventListener("focus",d,!0),r.addEventListener("blur",y,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)})});var qr=xr((hy,On)=>{"use strict";/*! - * escape-html - * Copyright(c) 2012-2013 TJ Holowaychuk - * Copyright(c) 2015 Andreas Lubbe - * Copyright(c) 2015 Tiancheng "Timothy" Gu - * MIT Licensed - */var $a=/["'&<>]/;On.exports=Pa;function Pa(e){var t=""+e,r=$a.exec(t);if(!r)return t;var o,n="",i=0,a=0;for(i=r.index;i{/*! - * clipboard.js v2.0.11 - * https://clipboardjs.com/ - * - * Licensed MIT © Zeno Rocha - */(function(t,r){typeof It=="object"&&typeof Yr=="object"?Yr.exports=r():typeof define=="function"&&define.amd?define([],r):typeof It=="object"?It.ClipboardJS=r():t.ClipboardJS=r()})(It,function(){return function(){var e={686:function(o,n,i){"use strict";i.d(n,{default:function(){return Ui}});var a=i(279),s=i.n(a),p=i(370),c=i.n(p),l=i(817),f=i.n(l);function u(V){try{return document.execCommand(V)}catch(A){return!1}}var d=function(A){var M=f()(A);return u("cut"),M},y=d;function L(V){var A=document.documentElement.getAttribute("dir")==="rtl",M=document.createElement("textarea");M.style.fontSize="12pt",M.style.border="0",M.style.padding="0",M.style.margin="0",M.style.position="absolute",M.style[A?"right":"left"]="-9999px";var F=window.pageYOffset||document.documentElement.scrollTop;return M.style.top="".concat(F,"px"),M.setAttribute("readonly",""),M.value=V,M}var X=function(A,M){var F=L(A);M.container.appendChild(F);var D=f()(F);return u("copy"),F.remove(),D},te=function(A){var M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},F="";return typeof A=="string"?F=X(A,M):A instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(A==null?void 0:A.type)?F=X(A.value,M):(F=f()(A),u("copy")),F},J=te;function k(V){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?k=function(M){return typeof M}:k=function(M){return M&&typeof Symbol=="function"&&M.constructor===Symbol&&M!==Symbol.prototype?"symbol":typeof M},k(V)}var ft=function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},M=A.action,F=M===void 0?"copy":M,D=A.container,Y=A.target,$e=A.text;if(F!=="copy"&&F!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(Y!==void 0)if(Y&&k(Y)==="object"&&Y.nodeType===1){if(F==="copy"&&Y.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(F==="cut"&&(Y.hasAttribute("readonly")||Y.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if($e)return J($e,{container:D});if(Y)return F==="cut"?y(Y):J(Y,{container:D})},qe=ft;function Fe(V){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Fe=function(M){return typeof M}:Fe=function(M){return M&&typeof Symbol=="function"&&M.constructor===Symbol&&M!==Symbol.prototype?"symbol":typeof M},Fe(V)}function ki(V,A){if(!(V instanceof A))throw new TypeError("Cannot call a class as a function")}function no(V,A){for(var M=0;M0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof D.action=="function"?D.action:this.defaultAction,this.target=typeof D.target=="function"?D.target:this.defaultTarget,this.text=typeof D.text=="function"?D.text:this.defaultText,this.container=Fe(D.container)==="object"?D.container:document.body}},{key:"listenClick",value:function(D){var Y=this;this.listener=c()(D,"click",function($e){return Y.onClick($e)})}},{key:"onClick",value:function(D){var Y=D.delegateTarget||D.currentTarget,$e=this.action(Y)||"copy",Dt=qe({action:$e,container:this.container,target:this.target(Y),text:this.text(Y)});this.emit(Dt?"success":"error",{action:$e,text:Dt,trigger:Y,clearSelection:function(){Y&&Y.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(D){return vr("action",D)}},{key:"defaultTarget",value:function(D){var Y=vr("target",D);if(Y)return document.querySelector(Y)}},{key:"defaultText",value:function(D){return vr("text",D)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(D){var Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return J(D,Y)}},{key:"cut",value:function(D){return y(D)}},{key:"isSupported",value:function(){var D=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],Y=typeof D=="string"?[D]:D,$e=!!document.queryCommandSupported;return Y.forEach(function(Dt){$e=$e&&!!document.queryCommandSupported(Dt)}),$e}}]),M}(s()),Ui=Fi},828:function(o){var n=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function a(s,p){for(;s&&s.nodeType!==n;){if(typeof s.matches=="function"&&s.matches(p))return s;s=s.parentNode}}o.exports=a},438:function(o,n,i){var a=i(828);function s(l,f,u,d,y){var L=c.apply(this,arguments);return l.addEventListener(u,L,y),{destroy:function(){l.removeEventListener(u,L,y)}}}function p(l,f,u,d,y){return typeof l.addEventListener=="function"?s.apply(null,arguments):typeof u=="function"?s.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(L){return s(L,f,u,d,y)}))}function c(l,f,u,d){return function(y){y.delegateTarget=a(y.target,f),y.delegateTarget&&d.call(l,y)}}o.exports=p},879:function(o,n){n.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},n.nodeList=function(i){var a=Object.prototype.toString.call(i);return i!==void 0&&(a==="[object NodeList]"||a==="[object HTMLCollection]")&&"length"in i&&(i.length===0||n.node(i[0]))},n.string=function(i){return typeof i=="string"||i instanceof String},n.fn=function(i){var a=Object.prototype.toString.call(i);return a==="[object Function]"}},370:function(o,n,i){var a=i(879),s=i(438);function p(u,d,y){if(!u&&!d&&!y)throw new Error("Missing required arguments");if(!a.string(d))throw new TypeError("Second argument must be a String");if(!a.fn(y))throw new TypeError("Third argument must be a Function");if(a.node(u))return c(u,d,y);if(a.nodeList(u))return l(u,d,y);if(a.string(u))return f(u,d,y);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function c(u,d,y){return u.addEventListener(d,y),{destroy:function(){u.removeEventListener(d,y)}}}function l(u,d,y){return Array.prototype.forEach.call(u,function(L){L.addEventListener(d,y)}),{destroy:function(){Array.prototype.forEach.call(u,function(L){L.removeEventListener(d,y)})}}}function f(u,d,y){return s(document.body,u,d,y)}o.exports=p},817:function(o){function n(i){var a;if(i.nodeName==="SELECT")i.focus(),a=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var s=i.hasAttribute("readonly");s||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),s||i.removeAttribute("readonly"),a=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var p=window.getSelection(),c=document.createRange();c.selectNodeContents(i),p.removeAllRanges(),p.addRange(c),a=p.toString()}return a}o.exports=n},279:function(o){function n(){}n.prototype={on:function(i,a,s){var p=this.e||(this.e={});return(p[i]||(p[i]=[])).push({fn:a,ctx:s}),this},once:function(i,a,s){var p=this;function c(){p.off(i,c),a.apply(s,arguments)}return c._=a,this.on(i,c,s)},emit:function(i){var a=[].slice.call(arguments,1),s=((this.e||(this.e={}))[i]||[]).slice(),p=0,c=s.length;for(p;p0&&i[i.length-1])&&(c[0]===6||c[0]===2)){r=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function N(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var o=r.call(e),n,i=[],a;try{for(;(t===void 0||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(s){a={error:s}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(a)throw a.error}}return i}function q(e,t,r){if(r||arguments.length===2)for(var o=0,n=t.length,i;o1||p(d,L)})},y&&(n[d]=y(n[d])))}function p(d,y){try{c(o[d](y))}catch(L){u(i[0][3],L)}}function c(d){d.value instanceof nt?Promise.resolve(d.value.v).then(l,f):u(i[0][2],d)}function l(d){p("next",d)}function f(d){p("throw",d)}function u(d,y){d(y),i.shift(),i.length&&p(i[0][0],i[0][1])}}function uo(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof he=="function"?he(e):e[Symbol.iterator](),r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r);function o(i){r[i]=e[i]&&function(a){return new Promise(function(s,p){a=e[i](a),n(s,p,a.done,a.value)})}}function n(i,a,s,p){Promise.resolve(p).then(function(c){i({value:c,done:s})},a)}}function H(e){return typeof e=="function"}function ut(e){var t=function(o){Error.call(o),o.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var zt=ut(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription: -`+r.map(function(o,n){return n+1+") "+o.toString()}).join(` - `):"",this.name="UnsubscriptionError",this.errors=r}});function Qe(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var Ue=function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,o,n,i;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var s=he(a),p=s.next();!p.done;p=s.next()){var c=p.value;c.remove(this)}}catch(L){t={error:L}}finally{try{p&&!p.done&&(r=s.return)&&r.call(s)}finally{if(t)throw t.error}}else a.remove(this);var l=this.initialTeardown;if(H(l))try{l()}catch(L){i=L instanceof zt?L.errors:[L]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var u=he(f),d=u.next();!d.done;d=u.next()){var y=d.value;try{ho(y)}catch(L){i=i!=null?i:[],L instanceof zt?i=q(q([],N(i)),N(L.errors)):i.push(L)}}}catch(L){o={error:L}}finally{try{d&&!d.done&&(n=u.return)&&n.call(u)}finally{if(o)throw o.error}}}if(i)throw new zt(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)ho(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&Qe(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&Qe(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();var Tr=Ue.EMPTY;function qt(e){return e instanceof Ue||e&&"closed"in e&&H(e.remove)&&H(e.add)&&H(e.unsubscribe)}function ho(e){H(e)?e():e.unsubscribe()}var Pe={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var dt={setTimeout:function(e,t){for(var r=[],o=2;o0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var o=this,n=this,i=n.hasError,a=n.isStopped,s=n.observers;return i||a?Tr:(this.currentObservers=null,s.push(r),new Ue(function(){o.currentObservers=null,Qe(s,r)}))},t.prototype._checkFinalizedStatuses=function(r){var o=this,n=o.hasError,i=o.thrownError,a=o.isStopped;n?r.error(i):a&&r.complete()},t.prototype.asObservable=function(){var r=new j;return r.source=this,r},t.create=function(r,o){return new To(r,o)},t}(j);var To=function(e){oe(t,e);function t(r,o){var n=e.call(this)||this;return n.destination=r,n.source=o,n}return t.prototype.next=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.next)===null||n===void 0||n.call(o,r)},t.prototype.error=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.error)===null||n===void 0||n.call(o,r)},t.prototype.complete=function(){var r,o;(o=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||o===void 0||o.call(r)},t.prototype._subscribe=function(r){var o,n;return(n=(o=this.source)===null||o===void 0?void 0:o.subscribe(r))!==null&&n!==void 0?n:Tr},t}(g);var _r=function(e){oe(t,e);function t(r){var o=e.call(this)||this;return o._value=r,o}return Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(r){var o=e.prototype._subscribe.call(this,r);return!o.closed&&r.next(this._value),o},t.prototype.getValue=function(){var r=this,o=r.hasError,n=r.thrownError,i=r._value;if(o)throw n;return this._throwIfClosed(),i},t.prototype.next=function(r){e.prototype.next.call(this,this._value=r)},t}(g);var At={now:function(){return(At.delegate||Date).now()},delegate:void 0};var Ct=function(e){oe(t,e);function t(r,o,n){r===void 0&&(r=1/0),o===void 0&&(o=1/0),n===void 0&&(n=At);var i=e.call(this)||this;return i._bufferSize=r,i._windowTime=o,i._timestampProvider=n,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=o===1/0,i._bufferSize=Math.max(1,r),i._windowTime=Math.max(1,o),i}return t.prototype.next=function(r){var o=this,n=o.isStopped,i=o._buffer,a=o._infiniteTimeWindow,s=o._timestampProvider,p=o._windowTime;n||(i.push(r),!a&&i.push(s.now()+p)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var o=this._innerSubscribe(r),n=this,i=n._infiniteTimeWindow,a=n._buffer,s=a.slice(),p=0;p0?e.prototype.schedule.call(this,r,o):(this.delay=o,this.state=r,this.scheduler.flush(this),this)},t.prototype.execute=function(r,o){return o>0||this.closed?e.prototype.execute.call(this,r,o):this._execute(r,o)},t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!=null&&n>0||n==null&&this.delay>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.flush(this),0)},t}(gt);var Lo=function(e){oe(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(yt);var kr=new Lo(Oo);var Mo=function(e){oe(t,e);function t(r,o){var n=e.call(this,r,o)||this;return n.scheduler=r,n.work=o,n}return t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!==null&&n>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.actions.push(this),r._scheduled||(r._scheduled=vt.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,o,n){var i;if(n===void 0&&(n=0),n!=null?n>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,o,n);var a=r.actions;o!=null&&((i=a[a.length-1])===null||i===void 0?void 0:i.id)!==o&&(vt.cancelAnimationFrame(o),r._scheduled=void 0)},t}(gt);var _o=function(e){oe(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var o=this._scheduled;this._scheduled=void 0;var n=this.actions,i;r=r||n.shift();do if(i=r.execute(r.state,r.delay))break;while((r=n[0])&&r.id===o&&n.shift());if(this._active=!1,i){for(;(r=n[0])&&r.id===o&&n.shift();)r.unsubscribe();throw i}},t}(yt);var me=new _o(Mo);var S=new j(function(e){return e.complete()});function Yt(e){return e&&H(e.schedule)}function Hr(e){return e[e.length-1]}function Xe(e){return H(Hr(e))?e.pop():void 0}function ke(e){return Yt(Hr(e))?e.pop():void 0}function Bt(e,t){return typeof Hr(e)=="number"?e.pop():t}var xt=function(e){return e&&typeof e.length=="number"&&typeof e!="function"};function Gt(e){return H(e==null?void 0:e.then)}function Jt(e){return H(e[bt])}function Xt(e){return Symbol.asyncIterator&&H(e==null?void 0:e[Symbol.asyncIterator])}function Zt(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function Zi(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var er=Zi();function tr(e){return H(e==null?void 0:e[er])}function rr(e){return fo(this,arguments,function(){var r,o,n,i;return Nt(this,function(a){switch(a.label){case 0:r=e.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,nt(r.read())];case 3:return o=a.sent(),n=o.value,i=o.done,i?[4,nt(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,nt(n)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function or(e){return H(e==null?void 0:e.getReader)}function U(e){if(e instanceof j)return e;if(e!=null){if(Jt(e))return ea(e);if(xt(e))return ta(e);if(Gt(e))return ra(e);if(Xt(e))return Ao(e);if(tr(e))return oa(e);if(or(e))return na(e)}throw Zt(e)}function ea(e){return new j(function(t){var r=e[bt]();if(H(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function ta(e){return new j(function(t){for(var r=0;r=2;return function(o){return o.pipe(e?b(function(n,i){return e(n,i,o)}):le,Te(1),r?De(t):Qo(function(){return new ir}))}}function jr(e){return e<=0?function(){return S}:E(function(t,r){var o=[];t.subscribe(T(r,function(n){o.push(n),e=2,!0))}function pe(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new g}:t,o=e.resetOnError,n=o===void 0?!0:o,i=e.resetOnComplete,a=i===void 0?!0:i,s=e.resetOnRefCountZero,p=s===void 0?!0:s;return function(c){var l,f,u,d=0,y=!1,L=!1,X=function(){f==null||f.unsubscribe(),f=void 0},te=function(){X(),l=u=void 0,y=L=!1},J=function(){var k=l;te(),k==null||k.unsubscribe()};return E(function(k,ft){d++,!L&&!y&&X();var qe=u=u!=null?u:r();ft.add(function(){d--,d===0&&!L&&!y&&(f=Ur(J,p))}),qe.subscribe(ft),!l&&d>0&&(l=new at({next:function(Fe){return qe.next(Fe)},error:function(Fe){L=!0,X(),f=Ur(te,n,Fe),qe.error(Fe)},complete:function(){y=!0,X(),f=Ur(te,a),qe.complete()}}),U(k).subscribe(l))})(c)}}function Ur(e,t){for(var r=[],o=2;oe.next(document)),e}function P(e,t=document){return Array.from(t.querySelectorAll(e))}function R(e,t=document){let r=fe(e,t);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${e}" to be present`);return r}function fe(e,t=document){return t.querySelector(e)||void 0}function Ie(){var e,t,r,o;return(o=(r=(t=(e=document.activeElement)==null?void 0:e.shadowRoot)==null?void 0:t.activeElement)!=null?r:document.activeElement)!=null?o:void 0}var wa=O(h(document.body,"focusin"),h(document.body,"focusout")).pipe(_e(1),Q(void 0),m(()=>Ie()||document.body),G(1));function et(e){return wa.pipe(m(t=>e.contains(t)),K())}function $t(e,t){return C(()=>O(h(e,"mouseenter").pipe(m(()=>!0)),h(e,"mouseleave").pipe(m(()=>!1))).pipe(t?Ht(r=>Le(+!r*t)):le,Q(e.matches(":hover"))))}function Jo(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)Jo(e,r)}function x(e,t,...r){let o=document.createElement(e);if(t)for(let n of Object.keys(t))typeof t[n]!="undefined"&&(typeof t[n]!="boolean"?o.setAttribute(n,t[n]):o.setAttribute(n,""));for(let n of r)Jo(o,n);return o}function sr(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function Tt(e){let t=x("script",{src:e});return C(()=>(document.head.appendChild(t),O(h(t,"load"),h(t,"error").pipe(v(()=>$r(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(m(()=>{}),_(()=>document.head.removeChild(t)),Te(1))))}var Xo=new g,Ta=C(()=>typeof ResizeObserver=="undefined"?Tt("https://unpkg.com/resize-observer-polyfill"):I(void 0)).pipe(m(()=>new ResizeObserver(e=>e.forEach(t=>Xo.next(t)))),v(e=>O(Ye,I(e)).pipe(_(()=>e.disconnect()))),G(1));function ce(e){return{width:e.offsetWidth,height:e.offsetHeight}}function ge(e){let t=e;for(;t.clientWidth===0&&t.parentElement;)t=t.parentElement;return Ta.pipe(w(r=>r.observe(t)),v(r=>Xo.pipe(b(o=>o.target===t),_(()=>r.unobserve(t)))),m(()=>ce(e)),Q(ce(e)))}function St(e){return{width:e.scrollWidth,height:e.scrollHeight}}function cr(e){let t=e.parentElement;for(;t&&(e.scrollWidth<=t.scrollWidth&&e.scrollHeight<=t.scrollHeight);)t=(e=t).parentElement;return t?e:void 0}function Zo(e){let t=[],r=e.parentElement;for(;r;)(e.clientWidth>r.clientWidth||e.clientHeight>r.clientHeight)&&t.push(r),r=(e=r).parentElement;return t.length===0&&t.push(document.documentElement),t}function Ve(e){return{x:e.offsetLeft,y:e.offsetTop}}function en(e){let t=e.getBoundingClientRect();return{x:t.x+window.scrollX,y:t.y+window.scrollY}}function tn(e){return O(h(window,"load"),h(window,"resize")).pipe(Me(0,me),m(()=>Ve(e)),Q(Ve(e)))}function pr(e){return{x:e.scrollLeft,y:e.scrollTop}}function Ne(e){return O(h(e,"scroll"),h(window,"scroll"),h(window,"resize")).pipe(Me(0,me),m(()=>pr(e)),Q(pr(e)))}var rn=new g,Sa=C(()=>I(new IntersectionObserver(e=>{for(let t of e)rn.next(t)},{threshold:0}))).pipe(v(e=>O(Ye,I(e)).pipe(_(()=>e.disconnect()))),G(1));function tt(e){return Sa.pipe(w(t=>t.observe(e)),v(t=>rn.pipe(b(({target:r})=>r===e),_(()=>t.unobserve(e)),m(({isIntersecting:r})=>r))))}function on(e,t=16){return Ne(e).pipe(m(({y:r})=>{let o=ce(e),n=St(e);return r>=n.height-o.height-t}),K())}var lr={drawer:R("[data-md-toggle=drawer]"),search:R("[data-md-toggle=search]")};function nn(e){return lr[e].checked}function Je(e,t){lr[e].checked!==t&&lr[e].click()}function ze(e){let t=lr[e];return h(t,"change").pipe(m(()=>t.checked),Q(t.checked))}function Oa(e,t){switch(e.constructor){case HTMLInputElement:return e.type==="radio"?/^Arrow/.test(t):!0;case HTMLSelectElement:case HTMLTextAreaElement:return!0;default:return e.isContentEditable}}function La(){return O(h(window,"compositionstart").pipe(m(()=>!0)),h(window,"compositionend").pipe(m(()=>!1))).pipe(Q(!1))}function an(){let e=h(window,"keydown").pipe(b(t=>!(t.metaKey||t.ctrlKey)),m(t=>({mode:nn("search")?"search":"global",type:t.key,claim(){t.preventDefault(),t.stopPropagation()}})),b(({mode:t,type:r})=>{if(t==="global"){let o=Ie();if(typeof o!="undefined")return!Oa(o,r)}return!0}),pe());return La().pipe(v(t=>t?S:e))}function ye(){return new URL(location.href)}function lt(e,t=!1){if(B("navigation.instant")&&!t){let r=x("a",{href:e.href});document.body.appendChild(r),r.click(),r.remove()}else location.href=e.href}function sn(){return new g}function cn(){return location.hash.slice(1)}function pn(e){let t=x("a",{href:e});t.addEventListener("click",r=>r.stopPropagation()),t.click()}function Ma(e){return O(h(window,"hashchange"),e).pipe(m(cn),Q(cn()),b(t=>t.length>0),G(1))}function ln(e){return Ma(e).pipe(m(t=>fe(`[id="${t}"]`)),b(t=>typeof t!="undefined"))}function Pt(e){let t=matchMedia(e);return ar(r=>t.addListener(()=>r(t.matches))).pipe(Q(t.matches))}function mn(){let e=matchMedia("print");return O(h(window,"beforeprint").pipe(m(()=>!0)),h(window,"afterprint").pipe(m(()=>!1))).pipe(Q(e.matches))}function Nr(e,t){return e.pipe(v(r=>r?t():S))}function zr(e,t){return new j(r=>{let o=new XMLHttpRequest;return o.open("GET",`${e}`),o.responseType="blob",o.addEventListener("load",()=>{o.status>=200&&o.status<300?(r.next(o.response),r.complete()):r.error(new Error(o.statusText))}),o.addEventListener("error",()=>{r.error(new Error("Network error"))}),o.addEventListener("abort",()=>{r.complete()}),typeof(t==null?void 0:t.progress$)!="undefined"&&(o.addEventListener("progress",n=>{var i;if(n.lengthComputable)t.progress$.next(n.loaded/n.total*100);else{let a=(i=o.getResponseHeader("Content-Length"))!=null?i:0;t.progress$.next(n.loaded/+a*100)}}),t.progress$.next(5)),o.send(),()=>o.abort()})}function je(e,t){return zr(e,t).pipe(v(r=>r.text()),m(r=>JSON.parse(r)),G(1))}function fn(e,t){let r=new DOMParser;return zr(e,t).pipe(v(o=>o.text()),m(o=>r.parseFromString(o,"text/html")),G(1))}function un(e,t){let r=new DOMParser;return zr(e,t).pipe(v(o=>o.text()),m(o=>r.parseFromString(o,"text/xml")),G(1))}function dn(){return{x:Math.max(0,scrollX),y:Math.max(0,scrollY)}}function hn(){return O(h(window,"scroll",{passive:!0}),h(window,"resize",{passive:!0})).pipe(m(dn),Q(dn()))}function bn(){return{width:innerWidth,height:innerHeight}}function vn(){return h(window,"resize",{passive:!0}).pipe(m(bn),Q(bn()))}function gn(){return z([hn(),vn()]).pipe(m(([e,t])=>({offset:e,size:t})),G(1))}function mr(e,{viewport$:t,header$:r}){let o=t.pipe(ee("size")),n=z([o,r]).pipe(m(()=>Ve(e)));return z([r,t,n]).pipe(m(([{height:i},{offset:a,size:s},{x:p,y:c}])=>({offset:{x:a.x-p,y:a.y-c+i},size:s})))}function _a(e){return h(e,"message",t=>t.data)}function Aa(e){let t=new g;return t.subscribe(r=>e.postMessage(r)),t}function yn(e,t=new Worker(e)){let r=_a(t),o=Aa(t),n=new g;n.subscribe(o);let i=o.pipe(Z(),ie(!0));return n.pipe(Z(),Re(r.pipe(W(i))),pe())}var Ca=R("#__config"),Ot=JSON.parse(Ca.textContent);Ot.base=`${new URL(Ot.base,ye())}`;function xe(){return Ot}function B(e){return Ot.features.includes(e)}function Ee(e,t){return typeof t!="undefined"?Ot.translations[e].replace("#",t.toString()):Ot.translations[e]}function Se(e,t=document){return R(`[data-md-component=${e}]`,t)}function ae(e,t=document){return P(`[data-md-component=${e}]`,t)}function ka(e){let t=R(".md-typeset > :first-child",e);return h(t,"click",{once:!0}).pipe(m(()=>R(".md-typeset",e)),m(r=>({hash:__md_hash(r.innerHTML)})))}function xn(e){if(!B("announce.dismiss")||!e.childElementCount)return S;if(!e.hidden){let t=R(".md-typeset",e);__md_hash(t.innerHTML)===__md_get("__announce")&&(e.hidden=!0)}return C(()=>{let t=new g;return t.subscribe(({hash:r})=>{e.hidden=!0,__md_set("__announce",r)}),ka(e).pipe(w(r=>t.next(r)),_(()=>t.complete()),m(r=>$({ref:e},r)))})}function Ha(e,{target$:t}){return t.pipe(m(r=>({hidden:r!==e})))}function En(e,t){let r=new g;return r.subscribe(({hidden:o})=>{e.hidden=o}),Ha(e,t).pipe(w(o=>r.next(o)),_(()=>r.complete()),m(o=>$({ref:e},o)))}function Rt(e,t){return t==="inline"?x("div",{class:"md-tooltip md-tooltip--inline",id:e,role:"tooltip"},x("div",{class:"md-tooltip__inner md-typeset"})):x("div",{class:"md-tooltip",id:e,role:"tooltip"},x("div",{class:"md-tooltip__inner md-typeset"}))}function wn(...e){return x("div",{class:"md-tooltip2",role:"tooltip"},x("div",{class:"md-tooltip2__inner md-typeset"},e))}function Tn(e,t){if(t=t?`${t}_annotation_${e}`:void 0,t){let r=t?`#${t}`:void 0;return x("aside",{class:"md-annotation",tabIndex:0},Rt(t),x("a",{href:r,class:"md-annotation__index",tabIndex:-1},x("span",{"data-md-annotation-id":e})))}else return x("aside",{class:"md-annotation",tabIndex:0},Rt(t),x("span",{class:"md-annotation__index",tabIndex:-1},x("span",{"data-md-annotation-id":e})))}function Sn(e){return x("button",{class:"md-clipboard md-icon",title:Ee("clipboard.copy"),"data-clipboard-target":`#${e} > code`})}var Ln=Mt(qr());function Qr(e,t){let r=t&2,o=t&1,n=Object.keys(e.terms).filter(p=>!e.terms[p]).reduce((p,c)=>[...p,x("del",null,(0,Ln.default)(c))," "],[]).slice(0,-1),i=xe(),a=new URL(e.location,i.base);B("search.highlight")&&a.searchParams.set("h",Object.entries(e.terms).filter(([,p])=>p).reduce((p,[c])=>`${p} ${c}`.trim(),""));let{tags:s}=xe();return x("a",{href:`${a}`,class:"md-search-result__link",tabIndex:-1},x("article",{class:"md-search-result__article md-typeset","data-md-score":e.score.toFixed(2)},r>0&&x("div",{class:"md-search-result__icon md-icon"}),r>0&&x("h1",null,e.title),r<=0&&x("h2",null,e.title),o>0&&e.text.length>0&&e.text,e.tags&&x("nav",{class:"md-tags"},e.tags.map(p=>{let c=s?p in s?`md-tag-icon md-tag--${s[p]}`:"md-tag-icon":"";return x("span",{class:`md-tag ${c}`},p)})),o>0&&n.length>0&&x("p",{class:"md-search-result__terms"},Ee("search.result.term.missing"),": ",...n)))}function Mn(e){let t=e[0].score,r=[...e],o=xe(),n=r.findIndex(l=>!`${new URL(l.location,o.base)}`.includes("#")),[i]=r.splice(n,1),a=r.findIndex(l=>l.scoreQr(l,1)),...p.length?[x("details",{class:"md-search-result__more"},x("summary",{tabIndex:-1},x("div",null,p.length>0&&p.length===1?Ee("search.result.more.one"):Ee("search.result.more.other",p.length))),...p.map(l=>Qr(l,1)))]:[]];return x("li",{class:"md-search-result__item"},c)}function _n(e){return x("ul",{class:"md-source__facts"},Object.entries(e).map(([t,r])=>x("li",{class:`md-source__fact md-source__fact--${t}`},typeof r=="number"?sr(r):r)))}function Kr(e){let t=`tabbed-control tabbed-control--${e}`;return x("div",{class:t,hidden:!0},x("button",{class:"tabbed-button",tabIndex:-1,"aria-hidden":"true"}))}function An(e){return x("div",{class:"md-typeset__scrollwrap"},x("div",{class:"md-typeset__table"},e))}function Ra(e){var o;let t=xe(),r=new URL(`../${e.version}/`,t.base);return x("li",{class:"md-version__item"},x("a",{href:`${r}`,class:"md-version__link"},e.title,((o=t.version)==null?void 0:o.alias)&&e.aliases.length>0&&x("span",{class:"md-version__alias"},e.aliases[0])))}function Cn(e,t){var o;let r=xe();return e=e.filter(n=>{var i;return!((i=n.properties)!=null&&i.hidden)}),x("div",{class:"md-version"},x("button",{class:"md-version__current","aria-label":Ee("select.version")},t.title,((o=r.version)==null?void 0:o.alias)&&t.aliases.length>0&&x("span",{class:"md-version__alias"},t.aliases[0])),x("ul",{class:"md-version__list"},e.map(Ra)))}var Ia=0;function ja(e){let t=z([et(e),$t(e)]).pipe(m(([o,n])=>o||n),K()),r=C(()=>Zo(e)).pipe(ne(Ne),pt(1),He(t),m(()=>en(e)));return t.pipe(Ae(o=>o),v(()=>z([t,r])),m(([o,n])=>({active:o,offset:n})),pe())}function Fa(e,t){let{content$:r,viewport$:o}=t,n=`__tooltip2_${Ia++}`;return C(()=>{let i=new g,a=new _r(!1);i.pipe(Z(),ie(!1)).subscribe(a);let s=a.pipe(Ht(c=>Le(+!c*250,kr)),K(),v(c=>c?r:S),w(c=>c.id=n),pe());z([i.pipe(m(({active:c})=>c)),s.pipe(v(c=>$t(c,250)),Q(!1))]).pipe(m(c=>c.some(l=>l))).subscribe(a);let p=a.pipe(b(c=>c),re(s,o),m(([c,l,{size:f}])=>{let u=e.getBoundingClientRect(),d=u.width/2;if(l.role==="tooltip")return{x:d,y:8+u.height};if(u.y>=f.height/2){let{height:y}=ce(l);return{x:d,y:-16-y}}else return{x:d,y:16+u.height}}));return z([s,i,p]).subscribe(([c,{offset:l},f])=>{c.style.setProperty("--md-tooltip-host-x",`${l.x}px`),c.style.setProperty("--md-tooltip-host-y",`${l.y}px`),c.style.setProperty("--md-tooltip-x",`${f.x}px`),c.style.setProperty("--md-tooltip-y",`${f.y}px`),c.classList.toggle("md-tooltip2--top",f.y<0),c.classList.toggle("md-tooltip2--bottom",f.y>=0)}),a.pipe(b(c=>c),re(s,(c,l)=>l),b(c=>c.role==="tooltip")).subscribe(c=>{let l=ce(R(":scope > *",c));c.style.setProperty("--md-tooltip-width",`${l.width}px`),c.style.setProperty("--md-tooltip-tail","0px")}),a.pipe(K(),ve(me),re(s)).subscribe(([c,l])=>{l.classList.toggle("md-tooltip2--active",c)}),z([a.pipe(b(c=>c)),s]).subscribe(([c,l])=>{l.role==="dialog"?(e.setAttribute("aria-controls",n),e.setAttribute("aria-haspopup","dialog")):e.setAttribute("aria-describedby",n)}),a.pipe(b(c=>!c)).subscribe(()=>{e.removeAttribute("aria-controls"),e.removeAttribute("aria-describedby"),e.removeAttribute("aria-haspopup")}),ja(e).pipe(w(c=>i.next(c)),_(()=>i.complete()),m(c=>$({ref:e},c)))})}function mt(e,{viewport$:t},r=document.body){return Fa(e,{content$:new j(o=>{let n=e.title,i=wn(n);return o.next(i),e.removeAttribute("title"),r.append(i),()=>{i.remove(),e.setAttribute("title",n)}}),viewport$:t})}function Ua(e,t){let r=C(()=>z([tn(e),Ne(t)])).pipe(m(([{x:o,y:n},i])=>{let{width:a,height:s}=ce(e);return{x:o-i.x+a/2,y:n-i.y+s/2}}));return et(e).pipe(v(o=>r.pipe(m(n=>({active:o,offset:n})),Te(+!o||1/0))))}function kn(e,t,{target$:r}){let[o,n]=Array.from(e.children);return C(()=>{let i=new g,a=i.pipe(Z(),ie(!0));return i.subscribe({next({offset:s}){e.style.setProperty("--md-tooltip-x",`${s.x}px`),e.style.setProperty("--md-tooltip-y",`${s.y}px`)},complete(){e.style.removeProperty("--md-tooltip-x"),e.style.removeProperty("--md-tooltip-y")}}),tt(e).pipe(W(a)).subscribe(s=>{e.toggleAttribute("data-md-visible",s)}),O(i.pipe(b(({active:s})=>s)),i.pipe(_e(250),b(({active:s})=>!s))).subscribe({next({active:s}){s?e.prepend(o):o.remove()},complete(){e.prepend(o)}}),i.pipe(Me(16,me)).subscribe(({active:s})=>{o.classList.toggle("md-tooltip--active",s)}),i.pipe(pt(125,me),b(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:s})=>s)).subscribe({next(s){s?e.style.setProperty("--md-tooltip-0",`${-s}px`):e.style.removeProperty("--md-tooltip-0")},complete(){e.style.removeProperty("--md-tooltip-0")}}),h(n,"click").pipe(W(a),b(s=>!(s.metaKey||s.ctrlKey))).subscribe(s=>{s.stopPropagation(),s.preventDefault()}),h(n,"mousedown").pipe(W(a),re(i)).subscribe(([s,{active:p}])=>{var c;if(s.button!==0||s.metaKey||s.ctrlKey)s.preventDefault();else if(p){s.preventDefault();let l=e.parentElement.closest(".md-annotation");l instanceof HTMLElement?l.focus():(c=Ie())==null||c.blur()}}),r.pipe(W(a),b(s=>s===o),Ge(125)).subscribe(()=>e.focus()),Ua(e,t).pipe(w(s=>i.next(s)),_(()=>i.complete()),m(s=>$({ref:e},s)))})}function Wa(e){return e.tagName==="CODE"?P(".c, .c1, .cm",e):[e]}function Da(e){let t=[];for(let r of Wa(e)){let o=[],n=document.createNodeIterator(r,NodeFilter.SHOW_TEXT);for(let i=n.nextNode();i;i=n.nextNode())o.push(i);for(let i of o){let a;for(;a=/(\(\d+\))(!)?/.exec(i.textContent);){let[,s,p]=a;if(typeof p=="undefined"){let c=i.splitText(a.index);i=c.splitText(s.length),t.push(c)}else{i.textContent=s,t.push(i);break}}}}return t}function Hn(e,t){t.append(...Array.from(e.childNodes))}function fr(e,t,{target$:r,print$:o}){let n=t.closest("[id]"),i=n==null?void 0:n.id,a=new Map;for(let s of Da(t)){let[,p]=s.textContent.match(/\((\d+)\)/);fe(`:scope > li:nth-child(${p})`,e)&&(a.set(p,Tn(p,i)),s.replaceWith(a.get(p)))}return a.size===0?S:C(()=>{let s=new g,p=s.pipe(Z(),ie(!0)),c=[];for(let[l,f]of a)c.push([R(".md-typeset",f),R(`:scope > li:nth-child(${l})`,e)]);return o.pipe(W(p)).subscribe(l=>{e.hidden=!l,e.classList.toggle("md-annotation-list",l);for(let[f,u]of c)l?Hn(f,u):Hn(u,f)}),O(...[...a].map(([,l])=>kn(l,t,{target$:r}))).pipe(_(()=>s.complete()),pe())})}function $n(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return $n(t)}}function Pn(e,t){return C(()=>{let r=$n(e);return typeof r!="undefined"?fr(r,e,t):S})}var Rn=Mt(Br());var Va=0;function In(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return In(t)}}function Na(e){return ge(e).pipe(m(({width:t})=>({scrollable:St(e).width>t})),ee("scrollable"))}function jn(e,t){let{matches:r}=matchMedia("(hover)"),o=C(()=>{let n=new g,i=n.pipe(jr(1));n.subscribe(({scrollable:c})=>{c&&r?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")});let a=[];if(Rn.default.isSupported()&&(e.closest(".copy")||B("content.code.copy")&&!e.closest(".no-copy"))){let c=e.closest("pre");c.id=`__code_${Va++}`;let l=Sn(c.id);c.insertBefore(l,e),B("content.tooltips")&&a.push(mt(l,{viewport$}))}let s=e.closest(".highlight");if(s instanceof HTMLElement){let c=In(s);if(typeof c!="undefined"&&(s.classList.contains("annotate")||B("content.code.annotate"))){let l=fr(c,e,t);a.push(ge(s).pipe(W(i),m(({width:f,height:u})=>f&&u),K(),v(f=>f?l:S)))}}return P(":scope > span[id]",e).length&&e.classList.add("md-code__content"),Na(e).pipe(w(c=>n.next(c)),_(()=>n.complete()),m(c=>$({ref:e},c)),Re(...a))});return B("content.lazy")?tt(e).pipe(b(n=>n),Te(1),v(()=>o)):o}function za(e,{target$:t,print$:r}){let o=!0;return O(t.pipe(m(n=>n.closest("details:not([open])")),b(n=>e===n),m(()=>({action:"open",reveal:!0}))),r.pipe(b(n=>n||!o),w(()=>o=e.open),m(n=>({action:n?"open":"close"}))))}function Fn(e,t){return C(()=>{let r=new g;return r.subscribe(({action:o,reveal:n})=>{e.toggleAttribute("open",o==="open"),n&&e.scrollIntoView()}),za(e,t).pipe(w(o=>r.next(o)),_(()=>r.complete()),m(o=>$({ref:e},o)))})}var Un=".node circle,.node ellipse,.node path,.node polygon,.node rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}marker{fill:var(--md-mermaid-edge-color)!important}.edgeLabel .label rect{fill:#0000}.label{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.label foreignObject{line-height:normal;overflow:visible}.label div .edgeLabel{color:var(--md-mermaid-label-fg-color)}.edgeLabel,.edgeLabel p,.label div .edgeLabel{background-color:var(--md-mermaid-label-bg-color)}.edgeLabel,.edgeLabel p{fill:var(--md-mermaid-label-bg-color);color:var(--md-mermaid-edge-color)}.edgePath .path,.flowchart-link{stroke:var(--md-mermaid-edge-color);stroke-width:.05rem}.edgePath .arrowheadPath{fill:var(--md-mermaid-edge-color);stroke:none}.cluster rect{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}.cluster span{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}g #flowchart-circleEnd,g #flowchart-circleStart,g #flowchart-crossEnd,g #flowchart-crossStart,g #flowchart-pointEnd,g #flowchart-pointStart{stroke:none}g.classGroup line,g.classGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.classGroup text{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.classLabel .box{fill:var(--md-mermaid-label-bg-color);background-color:var(--md-mermaid-label-bg-color);opacity:1}.classLabel .label{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node .divider{stroke:var(--md-mermaid-node-fg-color)}.relation{stroke:var(--md-mermaid-edge-color)}.cardinality{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.cardinality text{fill:inherit!important}defs #classDiagram-compositionEnd,defs #classDiagram-compositionStart,defs #classDiagram-dependencyEnd,defs #classDiagram-dependencyStart,defs #classDiagram-extensionEnd,defs #classDiagram-extensionStart{fill:var(--md-mermaid-edge-color)!important;stroke:var(--md-mermaid-edge-color)!important}defs #classDiagram-aggregationEnd,defs #classDiagram-aggregationStart{fill:var(--md-mermaid-label-bg-color)!important;stroke:var(--md-mermaid-edge-color)!important}g.stateGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.stateGroup .state-title{fill:var(--md-mermaid-label-fg-color)!important;font-family:var(--md-mermaid-font-family)}g.stateGroup .composit{fill:var(--md-mermaid-label-bg-color)}.nodeLabel,.nodeLabel p{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}a .nodeLabel{text-decoration:underline}.node circle.state-end,.node circle.state-start,.start-state{fill:var(--md-mermaid-edge-color);stroke:none}.end-state-inner,.end-state-outer{fill:var(--md-mermaid-edge-color)}.end-state-inner,.node circle.state-end{stroke:var(--md-mermaid-label-bg-color)}.transition{stroke:var(--md-mermaid-edge-color)}[id^=state-fork] rect,[id^=state-join] rect{fill:var(--md-mermaid-edge-color)!important;stroke:none!important}.statediagram-cluster.statediagram-cluster .inner{fill:var(--md-default-bg-color)}.statediagram-cluster rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.statediagram-state rect.divider{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}defs #statediagram-barbEnd{stroke:var(--md-mermaid-edge-color)}.attributeBoxEven,.attributeBoxOdd{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityBox{fill:var(--md-mermaid-label-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityLabel{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.relationshipLabelBox{fill:var(--md-mermaid-label-bg-color);fill-opacity:1;background-color:var(--md-mermaid-label-bg-color);opacity:1}.relationshipLabel{fill:var(--md-mermaid-label-fg-color)}.relationshipLine{stroke:var(--md-mermaid-edge-color)}defs #ONE_OR_MORE_END *,defs #ONE_OR_MORE_START *,defs #ONLY_ONE_END *,defs #ONLY_ONE_START *,defs #ZERO_OR_MORE_END *,defs #ZERO_OR_MORE_START *,defs #ZERO_OR_ONE_END *,defs #ZERO_OR_ONE_START *{stroke:var(--md-mermaid-edge-color)!important}defs #ZERO_OR_MORE_END circle,defs #ZERO_OR_MORE_START circle{fill:var(--md-mermaid-label-bg-color)}.actor{fill:var(--md-mermaid-sequence-actor-bg-color);stroke:var(--md-mermaid-sequence-actor-border-color)}text.actor>tspan{fill:var(--md-mermaid-sequence-actor-fg-color);font-family:var(--md-mermaid-font-family)}line{stroke:var(--md-mermaid-sequence-actor-line-color)}.actor-man circle,.actor-man line{fill:var(--md-mermaid-sequence-actorman-bg-color);stroke:var(--md-mermaid-sequence-actorman-line-color)}.messageLine0,.messageLine1{stroke:var(--md-mermaid-sequence-message-line-color)}.note{fill:var(--md-mermaid-sequence-note-bg-color);stroke:var(--md-mermaid-sequence-note-border-color)}.loopText,.loopText>tspan,.messageText,.noteText>tspan{stroke:none;font-family:var(--md-mermaid-font-family)!important}.messageText{fill:var(--md-mermaid-sequence-message-fg-color)}.loopText,.loopText>tspan{fill:var(--md-mermaid-sequence-loop-fg-color)}.noteText>tspan{fill:var(--md-mermaid-sequence-note-fg-color)}#arrowhead path{fill:var(--md-mermaid-sequence-message-line-color);stroke:none}.loopLine{fill:var(--md-mermaid-sequence-loop-bg-color);stroke:var(--md-mermaid-sequence-loop-border-color)}.labelBox{fill:var(--md-mermaid-sequence-label-bg-color);stroke:none}.labelText,.labelText>span{fill:var(--md-mermaid-sequence-label-fg-color);font-family:var(--md-mermaid-font-family)}.sequenceNumber{fill:var(--md-mermaid-sequence-number-fg-color)}rect.rect{fill:var(--md-mermaid-sequence-box-bg-color);stroke:none}rect.rect+text.text{fill:var(--md-mermaid-sequence-box-fg-color)}defs #sequencenumber{fill:var(--md-mermaid-sequence-number-bg-color)!important}";var Gr,Qa=0;function Ka(){return typeof mermaid=="undefined"||mermaid instanceof Element?Tt("https://unpkg.com/mermaid@11/dist/mermaid.min.js"):I(void 0)}function Wn(e){return e.classList.remove("mermaid"),Gr||(Gr=Ka().pipe(w(()=>mermaid.initialize({startOnLoad:!1,themeCSS:Un,sequence:{actorFontSize:"16px",messageFontSize:"16px",noteFontSize:"16px"}})),m(()=>{}),G(1))),Gr.subscribe(()=>co(this,null,function*(){e.classList.add("mermaid");let t=`__mermaid_${Qa++}`,r=x("div",{class:"mermaid"}),o=e.textContent,{svg:n,fn:i}=yield mermaid.render(t,o),a=r.attachShadow({mode:"closed"});a.innerHTML=n,e.replaceWith(r),i==null||i(a)})),Gr.pipe(m(()=>({ref:e})))}var Dn=x("table");function Vn(e){return e.replaceWith(Dn),Dn.replaceWith(An(e)),I({ref:e})}function Ya(e){let t=e.find(r=>r.checked)||e[0];return O(...e.map(r=>h(r,"change").pipe(m(()=>R(`label[for="${r.id}"]`))))).pipe(Q(R(`label[for="${t.id}"]`)),m(r=>({active:r})))}function Nn(e,{viewport$:t,target$:r}){let o=R(".tabbed-labels",e),n=P(":scope > input",e),i=Kr("prev");e.append(i);let a=Kr("next");return e.append(a),C(()=>{let s=new g,p=s.pipe(Z(),ie(!0));z([s,ge(e),tt(e)]).pipe(W(p),Me(1,me)).subscribe({next([{active:c},l]){let f=Ve(c),{width:u}=ce(c);e.style.setProperty("--md-indicator-x",`${f.x}px`),e.style.setProperty("--md-indicator-width",`${u}px`);let d=pr(o);(f.xd.x+l.width)&&o.scrollTo({left:Math.max(0,f.x-16),behavior:"smooth"})},complete(){e.style.removeProperty("--md-indicator-x"),e.style.removeProperty("--md-indicator-width")}}),z([Ne(o),ge(o)]).pipe(W(p)).subscribe(([c,l])=>{let f=St(o);i.hidden=c.x<16,a.hidden=c.x>f.width-l.width-16}),O(h(i,"click").pipe(m(()=>-1)),h(a,"click").pipe(m(()=>1))).pipe(W(p)).subscribe(c=>{let{width:l}=ce(o);o.scrollBy({left:l*c,behavior:"smooth"})}),r.pipe(W(p),b(c=>n.includes(c))).subscribe(c=>c.click()),o.classList.add("tabbed-labels--linked");for(let c of n){let l=R(`label[for="${c.id}"]`);l.replaceChildren(x("a",{href:`#${l.htmlFor}`,tabIndex:-1},...Array.from(l.childNodes))),h(l.firstElementChild,"click").pipe(W(p),b(f=>!(f.metaKey||f.ctrlKey)),w(f=>{f.preventDefault(),f.stopPropagation()})).subscribe(()=>{history.replaceState({},"",`#${l.htmlFor}`),l.click()})}return B("content.tabs.link")&&s.pipe(Ce(1),re(t)).subscribe(([{active:c},{offset:l}])=>{let f=c.innerText.trim();if(c.hasAttribute("data-md-switching"))c.removeAttribute("data-md-switching");else{let u=e.offsetTop-l.y;for(let y of P("[data-tabs]"))for(let L of P(":scope > input",y)){let X=R(`label[for="${L.id}"]`);if(X!==c&&X.innerText.trim()===f){X.setAttribute("data-md-switching",""),L.click();break}}window.scrollTo({top:e.offsetTop-u});let d=__md_get("__tabs")||[];__md_set("__tabs",[...new Set([f,...d])])}}),s.pipe(W(p)).subscribe(()=>{for(let c of P("audio, video",e))c.pause()}),Ya(n).pipe(w(c=>s.next(c)),_(()=>s.complete()),m(c=>$({ref:e},c)))}).pipe(Ke(se))}function zn(e,{viewport$:t,target$:r,print$:o}){return O(...P(".annotate:not(.highlight)",e).map(n=>Pn(n,{target$:r,print$:o})),...P("pre:not(.mermaid) > code",e).map(n=>jn(n,{target$:r,print$:o})),...P("pre.mermaid",e).map(n=>Wn(n)),...P("table:not([class])",e).map(n=>Vn(n)),...P("details",e).map(n=>Fn(n,{target$:r,print$:o})),...P("[data-tabs]",e).map(n=>Nn(n,{viewport$:t,target$:r})),...P("[title]",e).filter(()=>B("content.tooltips")).map(n=>mt(n,{viewport$:t})))}function Ba(e,{alert$:t}){return t.pipe(v(r=>O(I(!0),I(!1).pipe(Ge(2e3))).pipe(m(o=>({message:r,active:o})))))}function qn(e,t){let r=R(".md-typeset",e);return C(()=>{let o=new g;return o.subscribe(({message:n,active:i})=>{e.classList.toggle("md-dialog--active",i),r.textContent=n}),Ba(e,t).pipe(w(n=>o.next(n)),_(()=>o.complete()),m(n=>$({ref:e},n)))})}var Ga=0;function Ja(e,t){document.body.append(e);let{width:r}=ce(e);e.style.setProperty("--md-tooltip-width",`${r}px`),e.remove();let o=cr(t),n=typeof o!="undefined"?Ne(o):I({x:0,y:0}),i=O(et(t),$t(t)).pipe(K());return z([i,n]).pipe(m(([a,s])=>{let{x:p,y:c}=Ve(t),l=ce(t),f=t.closest("table");return f&&t.parentElement&&(p+=f.offsetLeft+t.parentElement.offsetLeft,c+=f.offsetTop+t.parentElement.offsetTop),{active:a,offset:{x:p-s.x+l.width/2-r/2,y:c-s.y+l.height+8}}}))}function Qn(e){let t=e.title;if(!t.length)return S;let r=`__tooltip_${Ga++}`,o=Rt(r,"inline"),n=R(".md-typeset",o);return n.innerHTML=t,C(()=>{let i=new g;return i.subscribe({next({offset:a}){o.style.setProperty("--md-tooltip-x",`${a.x}px`),o.style.setProperty("--md-tooltip-y",`${a.y}px`)},complete(){o.style.removeProperty("--md-tooltip-x"),o.style.removeProperty("--md-tooltip-y")}}),O(i.pipe(b(({active:a})=>a)),i.pipe(_e(250),b(({active:a})=>!a))).subscribe({next({active:a}){a?(e.insertAdjacentElement("afterend",o),e.setAttribute("aria-describedby",r),e.removeAttribute("title")):(o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t))},complete(){o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t)}}),i.pipe(Me(16,me)).subscribe(({active:a})=>{o.classList.toggle("md-tooltip--active",a)}),i.pipe(pt(125,me),b(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:a})=>a)).subscribe({next(a){a?o.style.setProperty("--md-tooltip-0",`${-a}px`):o.style.removeProperty("--md-tooltip-0")},complete(){o.style.removeProperty("--md-tooltip-0")}}),Ja(o,e).pipe(w(a=>i.next(a)),_(()=>i.complete()),m(a=>$({ref:e},a)))}).pipe(Ke(se))}function Xa({viewport$:e}){if(!B("header.autohide"))return I(!1);let t=e.pipe(m(({offset:{y:n}})=>n),Be(2,1),m(([n,i])=>[nMath.abs(i-n.y)>100),m(([,[n]])=>n),K()),o=ze("search");return z([e,o]).pipe(m(([{offset:n},i])=>n.y>400&&!i),K(),v(n=>n?r:I(!1)),Q(!1))}function Kn(e,t){return C(()=>z([ge(e),Xa(t)])).pipe(m(([{height:r},o])=>({height:r,hidden:o})),K((r,o)=>r.height===o.height&&r.hidden===o.hidden),G(1))}function Yn(e,{header$:t,main$:r}){return C(()=>{let o=new g,n=o.pipe(Z(),ie(!0));o.pipe(ee("active"),He(t)).subscribe(([{active:a},{hidden:s}])=>{e.classList.toggle("md-header--shadow",a&&!s),e.hidden=s});let i=ue(P("[title]",e)).pipe(b(()=>B("content.tooltips")),ne(a=>Qn(a)));return r.subscribe(o),t.pipe(W(n),m(a=>$({ref:e},a)),Re(i.pipe(W(n))))})}function Za(e,{viewport$:t,header$:r}){return mr(e,{viewport$:t,header$:r}).pipe(m(({offset:{y:o}})=>{let{height:n}=ce(e);return{active:o>=n}}),ee("active"))}function Bn(e,t){return C(()=>{let r=new g;r.subscribe({next({active:n}){e.classList.toggle("md-header__title--active",n)},complete(){e.classList.remove("md-header__title--active")}});let o=fe(".md-content h1");return typeof o=="undefined"?S:Za(o,t).pipe(w(n=>r.next(n)),_(()=>r.complete()),m(n=>$({ref:e},n)))})}function Gn(e,{viewport$:t,header$:r}){let o=r.pipe(m(({height:i})=>i),K()),n=o.pipe(v(()=>ge(e).pipe(m(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),ee("bottom"))));return z([o,n,t]).pipe(m(([i,{top:a,bottom:s},{offset:{y:p},size:{height:c}}])=>(c=Math.max(0,c-Math.max(0,a-p,i)-Math.max(0,c+p-s)),{offset:a-i,height:c,active:a-i<=p})),K((i,a)=>i.offset===a.offset&&i.height===a.height&&i.active===a.active))}function es(e){let t=__md_get("__palette")||{index:e.findIndex(o=>matchMedia(o.getAttribute("data-md-color-media")).matches)},r=Math.max(0,Math.min(t.index,e.length-1));return I(...e).pipe(ne(o=>h(o,"change").pipe(m(()=>o))),Q(e[r]),m(o=>({index:e.indexOf(o),color:{media:o.getAttribute("data-md-color-media"),scheme:o.getAttribute("data-md-color-scheme"),primary:o.getAttribute("data-md-color-primary"),accent:o.getAttribute("data-md-color-accent")}})),G(1))}function Jn(e){let t=P("input",e),r=x("meta",{name:"theme-color"});document.head.appendChild(r);let o=x("meta",{name:"color-scheme"});document.head.appendChild(o);let n=Pt("(prefers-color-scheme: light)");return C(()=>{let i=new g;return i.subscribe(a=>{if(document.body.setAttribute("data-md-color-switching",""),a.color.media==="(prefers-color-scheme)"){let s=matchMedia("(prefers-color-scheme: light)"),p=document.querySelector(s.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");a.color.scheme=p.getAttribute("data-md-color-scheme"),a.color.primary=p.getAttribute("data-md-color-primary"),a.color.accent=p.getAttribute("data-md-color-accent")}for(let[s,p]of Object.entries(a.color))document.body.setAttribute(`data-md-color-${s}`,p);for(let s=0;sa.key==="Enter"),re(i,(a,s)=>s)).subscribe(({index:a})=>{a=(a+1)%t.length,t[a].click(),t[a].focus()}),i.pipe(m(()=>{let a=Se("header"),s=window.getComputedStyle(a);return o.content=s.colorScheme,s.backgroundColor.match(/\d+/g).map(p=>(+p).toString(16).padStart(2,"0")).join("")})).subscribe(a=>r.content=`#${a}`),i.pipe(ve(se)).subscribe(()=>{document.body.removeAttribute("data-md-color-switching")}),es(t).pipe(W(n.pipe(Ce(1))),ct(),w(a=>i.next(a)),_(()=>i.complete()),m(a=>$({ref:e},a)))})}function Xn(e,{progress$:t}){return C(()=>{let r=new g;return r.subscribe(({value:o})=>{e.style.setProperty("--md-progress-value",`${o}`)}),t.pipe(w(o=>r.next({value:o})),_(()=>r.complete()),m(o=>({ref:e,value:o})))})}var Jr=Mt(Br());function ts(e){e.setAttribute("data-md-copying","");let t=e.closest("[data-copy]"),r=t?t.getAttribute("data-copy"):e.innerText;return e.removeAttribute("data-md-copying"),r.trimEnd()}function Zn({alert$:e}){Jr.default.isSupported()&&new j(t=>{new Jr.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||ts(R(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).pipe(w(t=>{t.trigger.focus()}),m(()=>Ee("clipboard.copied"))).subscribe(e)}function ei(e,t){return e.protocol=t.protocol,e.hostname=t.hostname,e}function rs(e,t){let r=new Map;for(let o of P("url",e)){let n=R("loc",o),i=[ei(new URL(n.textContent),t)];r.set(`${i[0]}`,i);for(let a of P("[rel=alternate]",o)){let s=a.getAttribute("href");s!=null&&i.push(ei(new URL(s),t))}}return r}function ur(e){return un(new URL("sitemap.xml",e)).pipe(m(t=>rs(t,new URL(e))),de(()=>I(new Map)))}function os(e,t){if(!(e.target instanceof Element))return S;let r=e.target.closest("a");if(r===null)return S;if(r.target||e.metaKey||e.ctrlKey)return S;let o=new URL(r.href);return o.search=o.hash="",t.has(`${o}`)?(e.preventDefault(),I(new URL(r.href))):S}function ti(e){let t=new Map;for(let r of P(":scope > *",e.head))t.set(r.outerHTML,r);return t}function ri(e){for(let t of P("[href], [src]",e))for(let r of["href","src"]){let o=t.getAttribute(r);if(o&&!/^(?:[a-z]+:)?\/\//i.test(o)){t[r]=t[r];break}}return I(e)}function ns(e){for(let o of["[data-md-component=announce]","[data-md-component=container]","[data-md-component=header-topic]","[data-md-component=outdated]","[data-md-component=logo]","[data-md-component=skip]",...B("navigation.tabs.sticky")?["[data-md-component=tabs]"]:[]]){let n=fe(o),i=fe(o,e);typeof n!="undefined"&&typeof i!="undefined"&&n.replaceWith(i)}let t=ti(document);for(let[o,n]of ti(e))t.has(o)?t.delete(o):document.head.appendChild(n);for(let o of t.values()){let n=o.getAttribute("name");n!=="theme-color"&&n!=="color-scheme"&&o.remove()}let r=Se("container");return We(P("script",r)).pipe(v(o=>{let n=e.createElement("script");if(o.src){for(let i of o.getAttributeNames())n.setAttribute(i,o.getAttribute(i));return o.replaceWith(n),new j(i=>{n.onload=()=>i.complete()})}else return n.textContent=o.textContent,o.replaceWith(n),S}),Z(),ie(document))}function oi({location$:e,viewport$:t,progress$:r}){let o=xe();if(location.protocol==="file:")return S;let n=ur(o.base);I(document).subscribe(ri);let i=h(document.body,"click").pipe(He(n),v(([p,c])=>os(p,c)),pe()),a=h(window,"popstate").pipe(m(ye),pe());i.pipe(re(t)).subscribe(([p,{offset:c}])=>{history.replaceState(c,""),history.pushState(null,"",p)}),O(i,a).subscribe(e);let s=e.pipe(ee("pathname"),v(p=>fn(p,{progress$:r}).pipe(de(()=>(lt(p,!0),S)))),v(ri),v(ns),pe());return O(s.pipe(re(e,(p,c)=>c)),s.pipe(v(()=>e),ee("pathname"),v(()=>e),ee("hash")),e.pipe(K((p,c)=>p.pathname===c.pathname&&p.hash===c.hash),v(()=>i),w(()=>history.back()))).subscribe(p=>{var c,l;history.state!==null||!p.hash?window.scrollTo(0,(l=(c=history.state)==null?void 0:c.y)!=null?l:0):(history.scrollRestoration="auto",pn(p.hash),history.scrollRestoration="manual")}),e.subscribe(()=>{history.scrollRestoration="manual"}),h(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}),t.pipe(ee("offset"),_e(100)).subscribe(({offset:p})=>{history.replaceState(p,"")}),s}var ni=Mt(qr());function ii(e){let t=e.separator.split("|").map(n=>n.replace(/(\(\?[!=<][^)]+\))/g,"").length===0?"\uFFFD":n).join("|"),r=new RegExp(t,"img"),o=(n,i,a)=>`${i}${a}`;return n=>{n=n.replace(/[\s*+\-:~^]+/g," ").trim();let i=new RegExp(`(^|${e.separator}|)(${n.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(r,"|")})`,"img");return a=>(0,ni.default)(a).replace(i,o).replace(/<\/mark>(\s+)]*>/img,"$1")}}function jt(e){return e.type===1}function dr(e){return e.type===3}function ai(e,t){let r=yn(e);return O(I(location.protocol!=="file:"),ze("search")).pipe(Ae(o=>o),v(()=>t)).subscribe(({config:o,docs:n})=>r.next({type:0,data:{config:o,docs:n,options:{suggest:B("search.suggest")}}})),r}function si(e){var l;let{selectedVersionSitemap:t,selectedVersionBaseURL:r,currentLocation:o,currentBaseURL:n}=e,i=(l=Xr(n))==null?void 0:l.pathname;if(i===void 0)return;let a=ss(o.pathname,i);if(a===void 0)return;let s=ps(t.keys());if(!t.has(s))return;let p=Xr(a,s);if(!p||!t.has(p.href))return;let c=Xr(a,r);if(c)return c.hash=o.hash,c.search=o.search,c}function Xr(e,t){try{return new URL(e,t)}catch(r){return}}function ss(e,t){if(e.startsWith(t))return e.slice(t.length)}function cs(e,t){let r=Math.min(e.length,t.length),o;for(o=0;oS)),o=r.pipe(m(n=>{let[,i]=t.base.match(/([^/]+)\/?$/);return n.find(({version:a,aliases:s})=>a===i||s.includes(i))||n[0]}));r.pipe(m(n=>new Map(n.map(i=>[`${new URL(`../${i.version}/`,t.base)}`,i]))),v(n=>h(document.body,"click").pipe(b(i=>!i.metaKey&&!i.ctrlKey),re(o),v(([i,a])=>{if(i.target instanceof Element){let s=i.target.closest("a");if(s&&!s.target&&n.has(s.href)){let p=s.href;return!i.target.closest(".md-version")&&n.get(p)===a?S:(i.preventDefault(),I(new URL(p)))}}return S}),v(i=>ur(i).pipe(m(a=>{var s;return(s=si({selectedVersionSitemap:a,selectedVersionBaseURL:i,currentLocation:ye(),currentBaseURL:t.base}))!=null?s:i})))))).subscribe(n=>lt(n,!0)),z([r,o]).subscribe(([n,i])=>{R(".md-header__topic").appendChild(Cn(n,i))}),e.pipe(v(()=>o)).subscribe(n=>{var a;let i=__md_get("__outdated",sessionStorage);if(i===null){i=!0;let s=((a=t.version)==null?void 0:a.default)||"latest";Array.isArray(s)||(s=[s]);e:for(let p of s)for(let c of n.aliases.concat(n.version))if(new RegExp(p,"i").test(c)){i=!1;break e}__md_set("__outdated",i,sessionStorage)}if(i)for(let s of ae("outdated"))s.hidden=!1})}function ls(e,{worker$:t}){let{searchParams:r}=ye();r.has("q")&&(Je("search",!0),e.value=r.get("q"),e.focus(),ze("search").pipe(Ae(i=>!i)).subscribe(()=>{let i=ye();i.searchParams.delete("q"),history.replaceState({},"",`${i}`)}));let o=et(e),n=O(t.pipe(Ae(jt)),h(e,"keyup"),o).pipe(m(()=>e.value),K());return z([n,o]).pipe(m(([i,a])=>({value:i,focus:a})),G(1))}function pi(e,{worker$:t}){let r=new g,o=r.pipe(Z(),ie(!0));z([t.pipe(Ae(jt)),r],(i,a)=>a).pipe(ee("value")).subscribe(({value:i})=>t.next({type:2,data:i})),r.pipe(ee("focus")).subscribe(({focus:i})=>{i&&Je("search",i)}),h(e.form,"reset").pipe(W(o)).subscribe(()=>e.focus());let n=R("header [for=__search]");return h(n,"click").subscribe(()=>e.focus()),ls(e,{worker$:t}).pipe(w(i=>r.next(i)),_(()=>r.complete()),m(i=>$({ref:e},i)),G(1))}function li(e,{worker$:t,query$:r}){let o=new g,n=on(e.parentElement).pipe(b(Boolean)),i=e.parentElement,a=R(":scope > :first-child",e),s=R(":scope > :last-child",e);ze("search").subscribe(l=>s.setAttribute("role",l?"list":"presentation")),o.pipe(re(r),Wr(t.pipe(Ae(jt)))).subscribe(([{items:l},{value:f}])=>{switch(l.length){case 0:a.textContent=f.length?Ee("search.result.none"):Ee("search.result.placeholder");break;case 1:a.textContent=Ee("search.result.one");break;default:let u=sr(l.length);a.textContent=Ee("search.result.other",u)}});let p=o.pipe(w(()=>s.innerHTML=""),v(({items:l})=>O(I(...l.slice(0,10)),I(...l.slice(10)).pipe(Be(4),Vr(n),v(([f])=>f)))),m(Mn),pe());return p.subscribe(l=>s.appendChild(l)),p.pipe(ne(l=>{let f=fe("details",l);return typeof f=="undefined"?S:h(f,"toggle").pipe(W(o),m(()=>f))})).subscribe(l=>{l.open===!1&&l.offsetTop<=i.scrollTop&&i.scrollTo({top:l.offsetTop})}),t.pipe(b(dr),m(({data:l})=>l)).pipe(w(l=>o.next(l)),_(()=>o.complete()),m(l=>$({ref:e},l)))}function ms(e,{query$:t}){return t.pipe(m(({value:r})=>{let o=ye();return o.hash="",r=r.replace(/\s+/g,"+").replace(/&/g,"%26").replace(/=/g,"%3D"),o.search=`q=${r}`,{url:o}}))}function mi(e,t){let r=new g,o=r.pipe(Z(),ie(!0));return r.subscribe(({url:n})=>{e.setAttribute("data-clipboard-text",e.href),e.href=`${n}`}),h(e,"click").pipe(W(o)).subscribe(n=>n.preventDefault()),ms(e,t).pipe(w(n=>r.next(n)),_(()=>r.complete()),m(n=>$({ref:e},n)))}function fi(e,{worker$:t,keyboard$:r}){let o=new g,n=Se("search-query"),i=O(h(n,"keydown"),h(n,"focus")).pipe(ve(se),m(()=>n.value),K());return o.pipe(He(i),m(([{suggest:s},p])=>{let c=p.split(/([\s-]+)/);if(s!=null&&s.length&&c[c.length-1]){let l=s[s.length-1];l.startsWith(c[c.length-1])&&(c[c.length-1]=l)}else c.length=0;return c})).subscribe(s=>e.innerHTML=s.join("").replace(/\s/g," ")),r.pipe(b(({mode:s})=>s==="search")).subscribe(s=>{switch(s.type){case"ArrowRight":e.innerText.length&&n.selectionStart===n.value.length&&(n.value=e.innerText);break}}),t.pipe(b(dr),m(({data:s})=>s)).pipe(w(s=>o.next(s)),_(()=>o.complete()),m(()=>({ref:e})))}function ui(e,{index$:t,keyboard$:r}){let o=xe();try{let n=ai(o.search,t),i=Se("search-query",e),a=Se("search-result",e);h(e,"click").pipe(b(({target:p})=>p instanceof Element&&!!p.closest("a"))).subscribe(()=>Je("search",!1)),r.pipe(b(({mode:p})=>p==="search")).subscribe(p=>{let c=Ie();switch(p.type){case"Enter":if(c===i){let l=new Map;for(let f of P(":first-child [href]",a)){let u=f.firstElementChild;l.set(f,parseFloat(u.getAttribute("data-md-score")))}if(l.size){let[[f]]=[...l].sort(([,u],[,d])=>d-u);f.click()}p.claim()}break;case"Escape":case"Tab":Je("search",!1),i.blur();break;case"ArrowUp":case"ArrowDown":if(typeof c=="undefined")i.focus();else{let l=[i,...P(":not(details) > [href], summary, details[open] [href]",a)],f=Math.max(0,(Math.max(0,l.indexOf(c))+l.length+(p.type==="ArrowUp"?-1:1))%l.length);l[f].focus()}p.claim();break;default:i!==Ie()&&i.focus()}}),r.pipe(b(({mode:p})=>p==="global")).subscribe(p=>{switch(p.type){case"f":case"s":case"/":i.focus(),i.select(),p.claim();break}});let s=pi(i,{worker$:n});return O(s,li(a,{worker$:n,query$:s})).pipe(Re(...ae("search-share",e).map(p=>mi(p,{query$:s})),...ae("search-suggest",e).map(p=>fi(p,{worker$:n,keyboard$:r}))))}catch(n){return e.hidden=!0,Ye}}function di(e,{index$:t,location$:r}){return z([t,r.pipe(Q(ye()),b(o=>!!o.searchParams.get("h")))]).pipe(m(([o,n])=>ii(o.config)(n.searchParams.get("h"))),m(o=>{var a;let n=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let s=i.nextNode();s;s=i.nextNode())if((a=s.parentElement)!=null&&a.offsetHeight){let p=s.textContent,c=o(p);c.length>p.length&&n.set(s,c)}for(let[s,p]of n){let{childNodes:c}=x("span",null,p);s.replaceWith(...Array.from(c))}return{ref:e,nodes:n}}))}function fs(e,{viewport$:t,main$:r}){let o=e.closest(".md-grid"),n=o.offsetTop-o.parentElement.offsetTop;return z([r,t]).pipe(m(([{offset:i,height:a},{offset:{y:s}}])=>(a=a+Math.min(n,Math.max(0,s-i))-n,{height:a,locked:s>=i+n})),K((i,a)=>i.height===a.height&&i.locked===a.locked))}function Zr(e,o){var n=o,{header$:t}=n,r=so(n,["header$"]);let i=R(".md-sidebar__scrollwrap",e),{y:a}=Ve(i);return C(()=>{let s=new g,p=s.pipe(Z(),ie(!0)),c=s.pipe(Me(0,me));return c.pipe(re(t)).subscribe({next([{height:l},{height:f}]){i.style.height=`${l-2*a}px`,e.style.top=`${f}px`},complete(){i.style.height="",e.style.top=""}}),c.pipe(Ae()).subscribe(()=>{for(let l of P(".md-nav__link--active[href]",e)){if(!l.clientHeight)continue;let f=l.closest(".md-sidebar__scrollwrap");if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:d}=ce(f);f.scrollTo({top:u-d/2})}}}),ue(P("label[tabindex]",e)).pipe(ne(l=>h(l,"click").pipe(ve(se),m(()=>l),W(p)))).subscribe(l=>{let f=R(`[id="${l.htmlFor}"]`);R(`[aria-labelledby="${l.id}"]`).setAttribute("aria-expanded",`${f.checked}`)}),fs(e,r).pipe(w(l=>s.next(l)),_(()=>s.complete()),m(l=>$({ref:e},l)))})}function hi(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return st(je(`${r}/releases/latest`).pipe(de(()=>S),m(o=>({version:o.tag_name})),De({})),je(r).pipe(de(()=>S),m(o=>({stars:o.stargazers_count,forks:o.forks_count})),De({}))).pipe(m(([o,n])=>$($({},o),n)))}else{let r=`https://api.github.com/users/${e}`;return je(r).pipe(m(o=>({repositories:o.public_repos})),De({}))}}function bi(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return st(je(`${r}/releases/permalink/latest`).pipe(de(()=>S),m(({tag_name:o})=>({version:o})),De({})),je(r).pipe(de(()=>S),m(({star_count:o,forks_count:n})=>({stars:o,forks:n})),De({}))).pipe(m(([o,n])=>$($({},o),n)))}function vi(e){let t=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);if(t){let[,r,o]=t;return hi(r,o)}if(t=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i),t){let[,r,o]=t;return bi(r,o)}return S}var us;function ds(e){return us||(us=C(()=>{let t=__md_get("__source",sessionStorage);if(t)return I(t);if(ae("consent").length){let o=__md_get("__consent");if(!(o&&o.github))return S}return vi(e.href).pipe(w(o=>__md_set("__source",o,sessionStorage)))}).pipe(de(()=>S),b(t=>Object.keys(t).length>0),m(t=>({facts:t})),G(1)))}function gi(e){let t=R(":scope > :last-child",e);return C(()=>{let r=new g;return r.subscribe(({facts:o})=>{t.appendChild(_n(o)),t.classList.add("md-source__repository--active")}),ds(e).pipe(w(o=>r.next(o)),_(()=>r.complete()),m(o=>$({ref:e},o)))})}function hs(e,{viewport$:t,header$:r}){return ge(document.body).pipe(v(()=>mr(e,{header$:r,viewport$:t})),m(({offset:{y:o}})=>({hidden:o>=10})),ee("hidden"))}function yi(e,t){return C(()=>{let r=new g;return r.subscribe({next({hidden:o}){e.hidden=o},complete(){e.hidden=!1}}),(B("navigation.tabs.sticky")?I({hidden:!1}):hs(e,t)).pipe(w(o=>r.next(o)),_(()=>r.complete()),m(o=>$({ref:e},o)))})}function bs(e,{viewport$:t,header$:r}){let o=new Map,n=P(".md-nav__link",e);for(let s of n){let p=decodeURIComponent(s.hash.substring(1)),c=fe(`[id="${p}"]`);typeof c!="undefined"&&o.set(s,c)}let i=r.pipe(ee("height"),m(({height:s})=>{let p=Se("main"),c=R(":scope > :first-child",p);return s+.8*(c.offsetTop-p.offsetTop)}),pe());return ge(document.body).pipe(ee("height"),v(s=>C(()=>{let p=[];return I([...o].reduce((c,[l,f])=>{for(;p.length&&o.get(p[p.length-1]).tagName>=f.tagName;)p.pop();let u=f.offsetTop;for(;!u&&f.parentElement;)f=f.parentElement,u=f.offsetTop;let d=f.offsetParent;for(;d;d=d.offsetParent)u+=d.offsetTop;return c.set([...p=[...p,l]].reverse(),u)},new Map))}).pipe(m(p=>new Map([...p].sort(([,c],[,l])=>c-l))),He(i),v(([p,c])=>t.pipe(Fr(([l,f],{offset:{y:u},size:d})=>{let y=u+d.height>=Math.floor(s.height);for(;f.length;){let[,L]=f[0];if(L-c=u&&!y)f=[l.pop(),...f];else break}return[l,f]},[[],[...p]]),K((l,f)=>l[0]===f[0]&&l[1]===f[1])))))).pipe(m(([s,p])=>({prev:s.map(([c])=>c),next:p.map(([c])=>c)})),Q({prev:[],next:[]}),Be(2,1),m(([s,p])=>s.prev.length{let i=new g,a=i.pipe(Z(),ie(!0));if(i.subscribe(({prev:s,next:p})=>{for(let[c]of p)c.classList.remove("md-nav__link--passed"),c.classList.remove("md-nav__link--active");for(let[c,[l]]of s.entries())l.classList.add("md-nav__link--passed"),l.classList.toggle("md-nav__link--active",c===s.length-1)}),B("toc.follow")){let s=O(t.pipe(_e(1),m(()=>{})),t.pipe(_e(250),m(()=>"smooth")));i.pipe(b(({prev:p})=>p.length>0),He(o.pipe(ve(se))),re(s)).subscribe(([[{prev:p}],c])=>{let[l]=p[p.length-1];if(l.offsetHeight){let f=cr(l);if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:d}=ce(f);f.scrollTo({top:u-d/2,behavior:c})}}})}return B("navigation.tracking")&&t.pipe(W(a),ee("offset"),_e(250),Ce(1),W(n.pipe(Ce(1))),ct({delay:250}),re(i)).subscribe(([,{prev:s}])=>{let p=ye(),c=s[s.length-1];if(c&&c.length){let[l]=c,{hash:f}=new URL(l.href);p.hash!==f&&(p.hash=f,history.replaceState({},"",`${p}`))}else p.hash="",history.replaceState({},"",`${p}`)}),bs(e,{viewport$:t,header$:r}).pipe(w(s=>i.next(s)),_(()=>i.complete()),m(s=>$({ref:e},s)))})}function vs(e,{viewport$:t,main$:r,target$:o}){let n=t.pipe(m(({offset:{y:a}})=>a),Be(2,1),m(([a,s])=>a>s&&s>0),K()),i=r.pipe(m(({active:a})=>a));return z([i,n]).pipe(m(([a,s])=>!(a&&s)),K(),W(o.pipe(Ce(1))),ie(!0),ct({delay:250}),m(a=>({hidden:a})))}function Ei(e,{viewport$:t,header$:r,main$:o,target$:n}){let i=new g,a=i.pipe(Z(),ie(!0));return i.subscribe({next({hidden:s}){e.hidden=s,s?(e.setAttribute("tabindex","-1"),e.blur()):e.removeAttribute("tabindex")},complete(){e.style.top="",e.hidden=!0,e.removeAttribute("tabindex")}}),r.pipe(W(a),ee("height")).subscribe(({height:s})=>{e.style.top=`${s+16}px`}),h(e,"click").subscribe(s=>{s.preventDefault(),window.scrollTo({top:0})}),vs(e,{viewport$:t,main$:o,target$:n}).pipe(w(s=>i.next(s)),_(()=>i.complete()),m(s=>$({ref:e},s)))}function wi({document$:e,viewport$:t}){e.pipe(v(()=>P(".md-ellipsis")),ne(r=>tt(r).pipe(W(e.pipe(Ce(1))),b(o=>o),m(()=>r),Te(1))),b(r=>r.offsetWidth{let o=r.innerText,n=r.closest("a")||r;return n.title=o,B("content.tooltips")?mt(n,{viewport$:t}).pipe(W(e.pipe(Ce(1))),_(()=>n.removeAttribute("title"))):S})).subscribe(),B("content.tooltips")&&e.pipe(v(()=>P(".md-status")),ne(r=>mt(r,{viewport$:t}))).subscribe()}function Ti({document$:e,tablet$:t}){e.pipe(v(()=>P(".md-toggle--indeterminate")),w(r=>{r.indeterminate=!0,r.checked=!1}),ne(r=>h(r,"change").pipe(Dr(()=>r.classList.contains("md-toggle--indeterminate")),m(()=>r))),re(t)).subscribe(([r,o])=>{r.classList.remove("md-toggle--indeterminate"),o&&(r.checked=!1)})}function gs(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function Si({document$:e}){e.pipe(v(()=>P("[data-md-scrollfix]")),w(t=>t.removeAttribute("data-md-scrollfix")),b(gs),ne(t=>h(t,"touchstart").pipe(m(()=>t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}function Oi({viewport$:e,tablet$:t}){z([ze("search"),t]).pipe(m(([r,o])=>r&&!o),v(r=>I(r).pipe(Ge(r?400:100))),re(e)).subscribe(([r,{offset:{y:o}}])=>{if(r)document.body.setAttribute("data-md-scrolllock",""),document.body.style.top=`-${o}px`;else{let n=-1*parseInt(document.body.style.top,10);document.body.removeAttribute("data-md-scrolllock"),document.body.style.top="",n&&window.scrollTo(0,n)}})}Object.entries||(Object.entries=function(e){let t=[];for(let r of Object.keys(e))t.push([r,e[r]]);return t});Object.values||(Object.values=function(e){let t=[];for(let r of Object.keys(e))t.push(e[r]);return t});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(e,t){typeof e=="object"?(this.scrollLeft=e.left,this.scrollTop=e.top):(this.scrollLeft=e,this.scrollTop=t)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...e){let t=this.parentNode;if(t){e.length===0&&t.removeChild(this);for(let r=e.length-1;r>=0;r--){let o=e[r];typeof o=="string"?o=document.createTextNode(o):o.parentNode&&o.parentNode.removeChild(o),r?t.insertBefore(this.previousSibling,o):t.replaceChild(o,this)}}}));function ys(){return location.protocol==="file:"?Tt(`${new URL("search/search_index.js",eo.base)}`).pipe(m(()=>__index),G(1)):je(new URL("search/search_index.json",eo.base))}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var ot=Go(),Ut=sn(),Lt=ln(Ut),to=an(),Oe=gn(),hr=Pt("(min-width: 960px)"),Mi=Pt("(min-width: 1220px)"),_i=mn(),eo=xe(),Ai=document.forms.namedItem("search")?ys():Ye,ro=new g;Zn({alert$:ro});var oo=new g;B("navigation.instant")&&oi({location$:Ut,viewport$:Oe,progress$:oo}).subscribe(ot);var Li;((Li=eo.version)==null?void 0:Li.provider)==="mike"&&ci({document$:ot});O(Ut,Lt).pipe(Ge(125)).subscribe(()=>{Je("drawer",!1),Je("search",!1)});to.pipe(b(({mode:e})=>e==="global")).subscribe(e=>{switch(e.type){case"p":case",":let t=fe("link[rel=prev]");typeof t!="undefined"&<(t);break;case"n":case".":let r=fe("link[rel=next]");typeof r!="undefined"&<(r);break;case"Enter":let o=Ie();o instanceof HTMLLabelElement&&o.click()}});wi({viewport$:Oe,document$:ot});Ti({document$:ot,tablet$:hr});Si({document$:ot});Oi({viewport$:Oe,tablet$:hr});var rt=Kn(Se("header"),{viewport$:Oe}),Ft=ot.pipe(m(()=>Se("main")),v(e=>Gn(e,{viewport$:Oe,header$:rt})),G(1)),xs=O(...ae("consent").map(e=>En(e,{target$:Lt})),...ae("dialog").map(e=>qn(e,{alert$:ro})),...ae("palette").map(e=>Jn(e)),...ae("progress").map(e=>Xn(e,{progress$:oo})),...ae("search").map(e=>ui(e,{index$:Ai,keyboard$:to})),...ae("source").map(e=>gi(e))),Es=C(()=>O(...ae("announce").map(e=>xn(e)),...ae("content").map(e=>zn(e,{viewport$:Oe,target$:Lt,print$:_i})),...ae("content").map(e=>B("search.highlight")?di(e,{index$:Ai,location$:Ut}):S),...ae("header").map(e=>Yn(e,{viewport$:Oe,header$:rt,main$:Ft})),...ae("header-title").map(e=>Bn(e,{viewport$:Oe,header$:rt})),...ae("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?Nr(Mi,()=>Zr(e,{viewport$:Oe,header$:rt,main$:Ft})):Nr(hr,()=>Zr(e,{viewport$:Oe,header$:rt,main$:Ft}))),...ae("tabs").map(e=>yi(e,{viewport$:Oe,header$:rt})),...ae("toc").map(e=>xi(e,{viewport$:Oe,header$:rt,main$:Ft,target$:Lt})),...ae("top").map(e=>Ei(e,{viewport$:Oe,header$:rt,main$:Ft,target$:Lt})))),Ci=ot.pipe(v(()=>Es),Re(xs),G(1));Ci.subscribe();window.document$=ot;window.location$=Ut;window.target$=Lt;window.keyboard$=to;window.viewport$=Oe;window.tablet$=hr;window.screen$=Mi;window.print$=_i;window.alert$=ro;window.progress$=oo;window.component$=Ci;})(); -//# sourceMappingURL=bundle.83f73b43.min.js.map - diff --git a/assets/javascripts/bundle.83f73b43.min.js.map b/assets/javascripts/bundle.83f73b43.min.js.map deleted file mode 100644 index fe920b7d..00000000 --- a/assets/javascripts/bundle.83f73b43.min.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["node_modules/focus-visible/dist/focus-visible.js", "node_modules/escape-html/index.js", "node_modules/clipboard/dist/clipboard.js", "src/templates/assets/javascripts/bundle.ts", "node_modules/tslib/tslib.es6.mjs", "node_modules/rxjs/src/internal/util/isFunction.ts", "node_modules/rxjs/src/internal/util/createErrorClass.ts", "node_modules/rxjs/src/internal/util/UnsubscriptionError.ts", "node_modules/rxjs/src/internal/util/arrRemove.ts", "node_modules/rxjs/src/internal/Subscription.ts", "node_modules/rxjs/src/internal/config.ts", "node_modules/rxjs/src/internal/scheduler/timeoutProvider.ts", "node_modules/rxjs/src/internal/util/reportUnhandledError.ts", "node_modules/rxjs/src/internal/util/noop.ts", "node_modules/rxjs/src/internal/NotificationFactories.ts", "node_modules/rxjs/src/internal/util/errorContext.ts", "node_modules/rxjs/src/internal/Subscriber.ts", "node_modules/rxjs/src/internal/symbol/observable.ts", "node_modules/rxjs/src/internal/util/identity.ts", "node_modules/rxjs/src/internal/util/pipe.ts", "node_modules/rxjs/src/internal/Observable.ts", "node_modules/rxjs/src/internal/util/lift.ts", "node_modules/rxjs/src/internal/operators/OperatorSubscriber.ts", "node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts", "node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts", "node_modules/rxjs/src/internal/Subject.ts", "node_modules/rxjs/src/internal/BehaviorSubject.ts", "node_modules/rxjs/src/internal/scheduler/dateTimestampProvider.ts", "node_modules/rxjs/src/internal/ReplaySubject.ts", "node_modules/rxjs/src/internal/scheduler/Action.ts", "node_modules/rxjs/src/internal/scheduler/intervalProvider.ts", "node_modules/rxjs/src/internal/scheduler/AsyncAction.ts", "node_modules/rxjs/src/internal/Scheduler.ts", "node_modules/rxjs/src/internal/scheduler/AsyncScheduler.ts", "node_modules/rxjs/src/internal/scheduler/async.ts", "node_modules/rxjs/src/internal/scheduler/QueueAction.ts", "node_modules/rxjs/src/internal/scheduler/QueueScheduler.ts", "node_modules/rxjs/src/internal/scheduler/queue.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameAction.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts", "node_modules/rxjs/src/internal/scheduler/animationFrame.ts", "node_modules/rxjs/src/internal/observable/empty.ts", "node_modules/rxjs/src/internal/util/isScheduler.ts", "node_modules/rxjs/src/internal/util/args.ts", "node_modules/rxjs/src/internal/util/isArrayLike.ts", "node_modules/rxjs/src/internal/util/isPromise.ts", "node_modules/rxjs/src/internal/util/isInteropObservable.ts", "node_modules/rxjs/src/internal/util/isAsyncIterable.ts", "node_modules/rxjs/src/internal/util/throwUnobservableError.ts", "node_modules/rxjs/src/internal/symbol/iterator.ts", "node_modules/rxjs/src/internal/util/isIterable.ts", "node_modules/rxjs/src/internal/util/isReadableStreamLike.ts", "node_modules/rxjs/src/internal/observable/innerFrom.ts", "node_modules/rxjs/src/internal/util/executeSchedule.ts", "node_modules/rxjs/src/internal/operators/observeOn.ts", "node_modules/rxjs/src/internal/operators/subscribeOn.ts", "node_modules/rxjs/src/internal/scheduled/scheduleObservable.ts", "node_modules/rxjs/src/internal/scheduled/schedulePromise.ts", "node_modules/rxjs/src/internal/scheduled/scheduleArray.ts", "node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts", "node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts", "node_modules/rxjs/src/internal/scheduled/scheduleReadableStreamLike.ts", "node_modules/rxjs/src/internal/scheduled/scheduled.ts", "node_modules/rxjs/src/internal/observable/from.ts", "node_modules/rxjs/src/internal/observable/of.ts", "node_modules/rxjs/src/internal/observable/throwError.ts", "node_modules/rxjs/src/internal/util/EmptyError.ts", "node_modules/rxjs/src/internal/util/isDate.ts", "node_modules/rxjs/src/internal/operators/map.ts", "node_modules/rxjs/src/internal/util/mapOneOrManyArgs.ts", "node_modules/rxjs/src/internal/util/argsArgArrayOrObject.ts", "node_modules/rxjs/src/internal/util/createObject.ts", "node_modules/rxjs/src/internal/observable/combineLatest.ts", "node_modules/rxjs/src/internal/operators/mergeInternals.ts", "node_modules/rxjs/src/internal/operators/mergeMap.ts", "node_modules/rxjs/src/internal/operators/mergeAll.ts", "node_modules/rxjs/src/internal/operators/concatAll.ts", "node_modules/rxjs/src/internal/observable/concat.ts", "node_modules/rxjs/src/internal/observable/defer.ts", "node_modules/rxjs/src/internal/observable/fromEvent.ts", "node_modules/rxjs/src/internal/observable/fromEventPattern.ts", "node_modules/rxjs/src/internal/observable/timer.ts", "node_modules/rxjs/src/internal/observable/merge.ts", "node_modules/rxjs/src/internal/observable/never.ts", "node_modules/rxjs/src/internal/util/argsOrArgArray.ts", "node_modules/rxjs/src/internal/operators/filter.ts", "node_modules/rxjs/src/internal/observable/zip.ts", "node_modules/rxjs/src/internal/operators/audit.ts", "node_modules/rxjs/src/internal/operators/auditTime.ts", "node_modules/rxjs/src/internal/operators/bufferCount.ts", "node_modules/rxjs/src/internal/operators/catchError.ts", "node_modules/rxjs/src/internal/operators/scanInternals.ts", "node_modules/rxjs/src/internal/operators/combineLatest.ts", "node_modules/rxjs/src/internal/operators/combineLatestWith.ts", "node_modules/rxjs/src/internal/operators/debounce.ts", "node_modules/rxjs/src/internal/operators/debounceTime.ts", "node_modules/rxjs/src/internal/operators/defaultIfEmpty.ts", "node_modules/rxjs/src/internal/operators/take.ts", "node_modules/rxjs/src/internal/operators/ignoreElements.ts", "node_modules/rxjs/src/internal/operators/mapTo.ts", "node_modules/rxjs/src/internal/operators/delayWhen.ts", "node_modules/rxjs/src/internal/operators/delay.ts", "node_modules/rxjs/src/internal/operators/distinctUntilChanged.ts", "node_modules/rxjs/src/internal/operators/distinctUntilKeyChanged.ts", "node_modules/rxjs/src/internal/operators/throwIfEmpty.ts", "node_modules/rxjs/src/internal/operators/endWith.ts", "node_modules/rxjs/src/internal/operators/finalize.ts", "node_modules/rxjs/src/internal/operators/first.ts", "node_modules/rxjs/src/internal/operators/takeLast.ts", "node_modules/rxjs/src/internal/operators/merge.ts", "node_modules/rxjs/src/internal/operators/mergeWith.ts", "node_modules/rxjs/src/internal/operators/repeat.ts", "node_modules/rxjs/src/internal/operators/scan.ts", "node_modules/rxjs/src/internal/operators/share.ts", "node_modules/rxjs/src/internal/operators/shareReplay.ts", "node_modules/rxjs/src/internal/operators/skip.ts", "node_modules/rxjs/src/internal/operators/skipUntil.ts", "node_modules/rxjs/src/internal/operators/startWith.ts", "node_modules/rxjs/src/internal/operators/switchMap.ts", "node_modules/rxjs/src/internal/operators/takeUntil.ts", "node_modules/rxjs/src/internal/operators/takeWhile.ts", "node_modules/rxjs/src/internal/operators/tap.ts", "node_modules/rxjs/src/internal/operators/throttle.ts", "node_modules/rxjs/src/internal/operators/throttleTime.ts", "node_modules/rxjs/src/internal/operators/withLatestFrom.ts", "node_modules/rxjs/src/internal/operators/zip.ts", "node_modules/rxjs/src/internal/operators/zipWith.ts", "src/templates/assets/javascripts/browser/document/index.ts", "src/templates/assets/javascripts/browser/element/_/index.ts", "src/templates/assets/javascripts/browser/element/focus/index.ts", "src/templates/assets/javascripts/browser/element/hover/index.ts", "src/templates/assets/javascripts/utilities/h/index.ts", "src/templates/assets/javascripts/utilities/round/index.ts", "src/templates/assets/javascripts/browser/script/index.ts", "src/templates/assets/javascripts/browser/element/size/_/index.ts", "src/templates/assets/javascripts/browser/element/size/content/index.ts", "src/templates/assets/javascripts/browser/element/offset/_/index.ts", "src/templates/assets/javascripts/browser/element/offset/content/index.ts", "src/templates/assets/javascripts/browser/element/visibility/index.ts", "src/templates/assets/javascripts/browser/toggle/index.ts", "src/templates/assets/javascripts/browser/keyboard/index.ts", "src/templates/assets/javascripts/browser/location/_/index.ts", "src/templates/assets/javascripts/browser/location/hash/index.ts", "src/templates/assets/javascripts/browser/media/index.ts", "src/templates/assets/javascripts/browser/request/index.ts", "src/templates/assets/javascripts/browser/viewport/offset/index.ts", "src/templates/assets/javascripts/browser/viewport/size/index.ts", "src/templates/assets/javascripts/browser/viewport/_/index.ts", "src/templates/assets/javascripts/browser/viewport/at/index.ts", "src/templates/assets/javascripts/browser/worker/index.ts", "src/templates/assets/javascripts/_/index.ts", "src/templates/assets/javascripts/components/_/index.ts", "src/templates/assets/javascripts/components/announce/index.ts", "src/templates/assets/javascripts/components/consent/index.ts", "src/templates/assets/javascripts/templates/tooltip/index.tsx", "src/templates/assets/javascripts/templates/annotation/index.tsx", "src/templates/assets/javascripts/templates/clipboard/index.tsx", "src/templates/assets/javascripts/templates/search/index.tsx", "src/templates/assets/javascripts/templates/source/index.tsx", "src/templates/assets/javascripts/templates/tabbed/index.tsx", "src/templates/assets/javascripts/templates/table/index.tsx", "src/templates/assets/javascripts/templates/version/index.tsx", "src/templates/assets/javascripts/components/tooltip2/index.ts", "src/templates/assets/javascripts/components/content/annotation/_/index.ts", "src/templates/assets/javascripts/components/content/annotation/list/index.ts", "src/templates/assets/javascripts/components/content/annotation/block/index.ts", "src/templates/assets/javascripts/components/content/code/_/index.ts", "src/templates/assets/javascripts/components/content/details/index.ts", "src/templates/assets/javascripts/components/content/mermaid/index.css", "src/templates/assets/javascripts/components/content/mermaid/index.ts", "src/templates/assets/javascripts/components/content/table/index.ts", "src/templates/assets/javascripts/components/content/tabs/index.ts", "src/templates/assets/javascripts/components/content/_/index.ts", "src/templates/assets/javascripts/components/dialog/index.ts", "src/templates/assets/javascripts/components/tooltip/index.ts", "src/templates/assets/javascripts/components/header/_/index.ts", "src/templates/assets/javascripts/components/header/title/index.ts", "src/templates/assets/javascripts/components/main/index.ts", "src/templates/assets/javascripts/components/palette/index.ts", "src/templates/assets/javascripts/components/progress/index.ts", "src/templates/assets/javascripts/integrations/clipboard/index.ts", "src/templates/assets/javascripts/integrations/sitemap/index.ts", "src/templates/assets/javascripts/integrations/instant/index.ts", "src/templates/assets/javascripts/integrations/search/highlighter/index.ts", "src/templates/assets/javascripts/integrations/search/worker/message/index.ts", "src/templates/assets/javascripts/integrations/search/worker/_/index.ts", "src/templates/assets/javascripts/integrations/version/findurl/index.ts", "src/templates/assets/javascripts/integrations/version/index.ts", "src/templates/assets/javascripts/components/search/query/index.ts", "src/templates/assets/javascripts/components/search/result/index.ts", "src/templates/assets/javascripts/components/search/share/index.ts", "src/templates/assets/javascripts/components/search/suggest/index.ts", "src/templates/assets/javascripts/components/search/_/index.ts", "src/templates/assets/javascripts/components/search/highlight/index.ts", "src/templates/assets/javascripts/components/sidebar/index.ts", "src/templates/assets/javascripts/components/source/facts/github/index.ts", "src/templates/assets/javascripts/components/source/facts/gitlab/index.ts", "src/templates/assets/javascripts/components/source/facts/_/index.ts", "src/templates/assets/javascripts/components/source/_/index.ts", "src/templates/assets/javascripts/components/tabs/index.ts", "src/templates/assets/javascripts/components/toc/index.ts", "src/templates/assets/javascripts/components/top/index.ts", "src/templates/assets/javascripts/patches/ellipsis/index.ts", "src/templates/assets/javascripts/patches/indeterminate/index.ts", "src/templates/assets/javascripts/patches/scrollfix/index.ts", "src/templates/assets/javascripts/patches/scrolllock/index.ts", "src/templates/assets/javascripts/polyfills/index.ts"], - "sourcesContent": ["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\n /**\n * Applies the :focus-visible polyfill at the given scope.\n * A scope in this case is either the top-level Document or a Shadow Root.\n *\n * @param {(Document|ShadowRoot)} scope\n * @see https://github.com/WICG/focus-visible\n */\n function applyFocusVisiblePolyfill(scope) {\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n\n var inputTypesAllowlist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n * @param {Element} el\n */\n function isValidFocusTarget(el) {\n if (\n el &&\n el !== document &&\n el.nodeName !== 'HTML' &&\n el.nodeName !== 'BODY' &&\n 'classList' in el &&\n 'contains' in el.classList\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} el\n * @return {boolean}\n */\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n\n if (tagName === 'INPUT' && inputTypesAllowlist[type] && !el.readOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !el.readOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Add the `focus-visible` class to the given element if it was not added by\n * the author.\n * @param {Element} el\n */\n function addFocusVisibleClass(el) {\n if (el.classList.contains('focus-visible')) {\n return;\n }\n el.classList.add('focus-visible');\n el.setAttribute('data-focus-visible-added', '');\n }\n\n /**\n * Remove the `focus-visible` class from the given element if it was not\n * originally added by the author.\n * @param {Element} el\n */\n function removeFocusVisibleClass(el) {\n if (!el.hasAttribute('data-focus-visible-added')) {\n return;\n }\n el.classList.remove('focus-visible');\n el.removeAttribute('data-focus-visible-added');\n }\n\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n if (isValidFocusTarget(scope.activeElement)) {\n addFocusVisibleClass(scope.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * @param {Event} e\n */\n function onPointerDown(e) {\n hadKeyboardEvent = false;\n }\n\n /**\n * On `focus`, add the `focus-visible` class to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n * @param {Event} e\n */\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleClass(e.target);\n }\n }\n\n /**\n * On `blur`, remove the `focus-visible` class from the target.\n * @param {Event} e\n */\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (\n e.target.classList.contains('focus-visible') ||\n e.target.hasAttribute('data-focus-visible-added')\n ) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n hadFocusVisibleRecently = false;\n }, 100);\n removeFocusVisibleClass(e.target);\n }\n }\n\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange(e) {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n addInitialPointerMoveListeners();\n }\n }\n\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. \u00AF\\_(\u30C4)_/\u00AF\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n\n addInitialPointerMoveListeners();\n\n // For focus and blur, we specifically care about state changes in the local\n // scope. This is because focus / blur events that originate from within a\n // shadow root are not re-dispatched from the host element if it was already\n // the active element in its own scope:\n scope.addEventListener('focus', onFocus, true);\n scope.addEventListener('blur', onBlur, true);\n\n // We detect that a node is a ShadowRoot by ensuring that it is a\n // DocumentFragment and also has a host property. This check covers native\n // implementation and polyfill implementation transparently. If we only cared\n // about the native implementation, we could just check if the scope was\n // an instance of a ShadowRoot.\n if (scope.nodeType === Node.DOCUMENT_FRAGMENT_NODE && scope.host) {\n // Since a ShadowRoot is a special kind of DocumentFragment, it does not\n // have a root element to add a class to. So, we add this attribute to the\n // host element instead:\n scope.host.setAttribute('data-js-focus-visible', '');\n } else if (scope.nodeType === Node.DOCUMENT_NODE) {\n document.documentElement.classList.add('js-focus-visible');\n document.documentElement.setAttribute('data-js-focus-visible', '');\n }\n }\n\n // It is important to wrap all references to global window and document in\n // these checks to support server-side rendering use cases\n // @see https://github.com/WICG/focus-visible/issues/199\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n // Make the polyfill helper globally available. This can be used as a signal\n // to interested libraries that wish to coordinate with the polyfill for e.g.,\n // applying the polyfill to a shadow root:\n window.applyFocusVisiblePolyfill = applyFocusVisiblePolyfill;\n\n // Notify interested libraries of the polyfill's presence, in case the\n // polyfill was loaded lazily:\n var event;\n\n try {\n event = new CustomEvent('focus-visible-polyfill-ready');\n } catch (error) {\n // IE11 does not support using CustomEvent as a constructor directly:\n event = document.createEvent('CustomEvent');\n event.initCustomEvent('focus-visible-polyfill-ready', false, false, {});\n }\n\n window.dispatchEvent(event);\n }\n\n if (typeof document !== 'undefined') {\n // Apply the polyfill to the global document, so that no JavaScript\n // coordination is required to use the polyfill in the top-level document:\n applyFocusVisiblePolyfill(document);\n }\n\n})));\n", "/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n", "/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT \u00A9 Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 686:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ clipboard; }\n});\n\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(279);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(370);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(817);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n;// CONCATENATED MODULE: ./src/common/command.js\n/**\n * Executes a given operation type.\n * @param {String} type\n * @return {Boolean}\n */\nfunction command(type) {\n try {\n return document.execCommand(type);\n } catch (err) {\n return false;\n }\n}\n;// CONCATENATED MODULE: ./src/actions/cut.js\n\n\n/**\n * Cut action wrapper.\n * @param {String|HTMLElement} target\n * @return {String}\n */\n\nvar ClipboardActionCut = function ClipboardActionCut(target) {\n var selectedText = select_default()(target);\n command('cut');\n return selectedText;\n};\n\n/* harmony default export */ var actions_cut = (ClipboardActionCut);\n;// CONCATENATED MODULE: ./src/common/create-fake-element.js\n/**\n * Creates a fake textarea element with a value.\n * @param {String} value\n * @return {HTMLElement}\n */\nfunction createFakeElement(value) {\n var isRTL = document.documentElement.getAttribute('dir') === 'rtl';\n var fakeElement = document.createElement('textarea'); // Prevent zooming on iOS\n\n fakeElement.style.fontSize = '12pt'; // Reset box model\n\n fakeElement.style.border = '0';\n fakeElement.style.padding = '0';\n fakeElement.style.margin = '0'; // Move element out of screen horizontally\n\n fakeElement.style.position = 'absolute';\n fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically\n\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n fakeElement.style.top = \"\".concat(yPosition, \"px\");\n fakeElement.setAttribute('readonly', '');\n fakeElement.value = value;\n return fakeElement;\n}\n;// CONCATENATED MODULE: ./src/actions/copy.js\n\n\n\n/**\n * Create fake copy action wrapper using a fake element.\n * @param {String} target\n * @param {Object} options\n * @return {String}\n */\n\nvar fakeCopyAction = function fakeCopyAction(value, options) {\n var fakeElement = createFakeElement(value);\n options.container.appendChild(fakeElement);\n var selectedText = select_default()(fakeElement);\n command('copy');\n fakeElement.remove();\n return selectedText;\n};\n/**\n * Copy action wrapper.\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @return {String}\n */\n\n\nvar ClipboardActionCopy = function ClipboardActionCopy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n var selectedText = '';\n\n if (typeof target === 'string') {\n selectedText = fakeCopyAction(target, options);\n } else if (target instanceof HTMLInputElement && !['text', 'search', 'url', 'tel', 'password'].includes(target === null || target === void 0 ? void 0 : target.type)) {\n // If input type doesn't support `setSelectionRange`. Simulate it. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n selectedText = fakeCopyAction(target.value, options);\n } else {\n selectedText = select_default()(target);\n command('copy');\n }\n\n return selectedText;\n};\n\n/* harmony default export */ var actions_copy = (ClipboardActionCopy);\n;// CONCATENATED MODULE: ./src/actions/default.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/**\n * Inner function which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n * @param {Object} options\n */\n\nvar ClipboardActionDefault = function ClipboardActionDefault() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Defines base properties passed from constructor.\n var _options$action = options.action,\n action = _options$action === void 0 ? 'copy' : _options$action,\n container = options.container,\n target = options.target,\n text = options.text; // Sets the `action` to be performed which can be either 'copy' or 'cut'.\n\n if (action !== 'copy' && action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n } // Sets the `target` property using an element that will be have its content copied.\n\n\n if (target !== undefined) {\n if (target && _typeof(target) === 'object' && target.nodeType === 1) {\n if (action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n } // Define selection strategy based on `text` property.\n\n\n if (text) {\n return actions_copy(text, {\n container: container\n });\n } // Defines which selection strategy based on `target` property.\n\n\n if (target) {\n return action === 'cut' ? actions_cut(target) : actions_copy(target, {\n container: container\n });\n }\n};\n\n/* harmony default export */ var actions_default = (ClipboardActionDefault);\n;// CONCATENATED MODULE: ./src/clipboard.js\nfunction clipboard_typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return clipboard_typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (clipboard_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\nfunction getAttributeValue(suffix, element) {\n var attribute = \"data-clipboard-\".concat(suffix);\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\n\nvar Clipboard = /*#__PURE__*/function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n var _super = _createSuper(Clipboard);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n var _this;\n\n _classCallCheck(this, Clipboard);\n\n _this = _super.call(this);\n\n _this.resolveOptions(options);\n\n _this.listenClick(trigger);\n\n return _this;\n }\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: \"resolveOptions\",\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: \"listenClick\",\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: \"onClick\",\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n var action = this.action(trigger) || 'copy';\n var text = actions_default({\n action: action,\n container: this.container,\n target: this.target(trigger),\n text: this.text(trigger)\n }); // Fires an event based on the copy operation result.\n\n this.emit(text ? 'success' : 'error', {\n action: action,\n text: text,\n trigger: trigger,\n clearSelection: function clearSelection() {\n if (trigger) {\n trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n });\n }\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultAction\",\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultTarget\",\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n /**\n * Allow fire programmatically a copy action\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @returns Text copied.\n */\n\n }, {\n key: \"defaultText\",\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.listener.destroy();\n }\n }], [{\n key: \"copy\",\n value: function copy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n return actions_copy(target, options);\n }\n /**\n * Allow fire programmatically a cut action\n * @param {String|HTMLElement} target\n * @returns Text cutted.\n */\n\n }, {\n key: \"cut\",\n value: function cut(target) {\n return actions_cut(target);\n }\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: \"isSupported\",\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n return support;\n }\n }]);\n\n return Clipboard;\n}((tiny_emitter_default()));\n\n/* harmony default export */ var clipboard = (Clipboard);\n\n/***/ }),\n\n/***/ 828:\n/***/ (function(module) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n\n/***/ 438:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar closest = __webpack_require__(828);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(__unused_webpack_module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n\n/***/ 370:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar is = __webpack_require__(879);\nvar delegate = __webpack_require__(438);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n\n/***/ 817:\n/***/ (function(module) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n\n/***/ 279:\n/***/ (function(module) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(686);\n/******/ })()\n.default;\n});", "/*\n * Copyright (c) 2016-2024 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport \"focus-visible\"\n\nimport {\n EMPTY,\n NEVER,\n Observable,\n Subject,\n defer,\n delay,\n filter,\n map,\n merge,\n mergeWith,\n shareReplay,\n switchMap\n} from \"rxjs\"\n\nimport { configuration, feature } from \"./_\"\nimport {\n at,\n getActiveElement,\n getOptionalElement,\n requestJSON,\n setLocation,\n setToggle,\n watchDocument,\n watchKeyboard,\n watchLocation,\n watchLocationTarget,\n watchMedia,\n watchPrint,\n watchScript,\n watchViewport\n} from \"./browser\"\nimport {\n getComponentElement,\n getComponentElements,\n mountAnnounce,\n mountBackToTop,\n mountConsent,\n mountContent,\n mountDialog,\n mountHeader,\n mountHeaderTitle,\n mountPalette,\n mountProgress,\n mountSearch,\n mountSearchHiglight,\n mountSidebar,\n mountSource,\n mountTableOfContents,\n mountTabs,\n watchHeader,\n watchMain\n} from \"./components\"\nimport {\n SearchIndex,\n setupClipboardJS,\n setupInstantNavigation,\n setupVersionSelector\n} from \"./integrations\"\nimport {\n patchEllipsis,\n patchIndeterminate,\n patchScrollfix,\n patchScrolllock\n} from \"./patches\"\nimport \"./polyfills\"\n\n/* ----------------------------------------------------------------------------\n * Functions - @todo refactor\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch search index\n *\n * @returns Search index observable\n */\nfunction fetchSearchIndex(): Observable {\n if (location.protocol === \"file:\") {\n return watchScript(\n `${new URL(\"search/search_index.js\", config.base)}`\n )\n .pipe(\n // @ts-ignore - @todo fix typings\n map(() => __index),\n shareReplay(1)\n )\n } else {\n return requestJSON(\n new URL(\"search/search_index.json\", config.base)\n )\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Application\n * ------------------------------------------------------------------------- */\n\n/* Yay, JavaScript is available */\ndocument.documentElement.classList.remove(\"no-js\")\ndocument.documentElement.classList.add(\"js\")\n\n/* Set up navigation observables and subjects */\nconst document$ = watchDocument()\nconst location$ = watchLocation()\nconst target$ = watchLocationTarget(location$)\nconst keyboard$ = watchKeyboard()\n\n/* Set up media observables */\nconst viewport$ = watchViewport()\nconst tablet$ = watchMedia(\"(min-width: 960px)\")\nconst screen$ = watchMedia(\"(min-width: 1220px)\")\nconst print$ = watchPrint()\n\n/* Retrieve search index, if search is enabled */\nconst config = configuration()\nconst index$ = document.forms.namedItem(\"search\")\n ? fetchSearchIndex()\n : NEVER\n\n/* Set up Clipboard.js integration */\nconst alert$ = new Subject()\nsetupClipboardJS({ alert$ })\n\n/* Set up progress indicator */\nconst progress$ = new Subject()\n\n/* Set up instant navigation, if enabled */\nif (feature(\"navigation.instant\"))\n setupInstantNavigation({ location$, viewport$, progress$ })\n .subscribe(document$)\n\n/* Set up version selector */\nif (config.version?.provider === \"mike\")\n setupVersionSelector({ document$ })\n\n/* Always close drawer and search on navigation */\nmerge(location$, target$)\n .pipe(\n delay(125)\n )\n .subscribe(() => {\n setToggle(\"drawer\", false)\n setToggle(\"search\", false)\n })\n\n/* Set up global keyboard handlers */\nkeyboard$\n .pipe(\n filter(({ mode }) => mode === \"global\")\n )\n .subscribe(key => {\n switch (key.type) {\n\n /* Go to previous page */\n case \"p\":\n case \",\":\n const prev = getOptionalElement(\"link[rel=prev]\")\n if (typeof prev !== \"undefined\")\n setLocation(prev)\n break\n\n /* Go to next page */\n case \"n\":\n case \".\":\n const next = getOptionalElement(\"link[rel=next]\")\n if (typeof next !== \"undefined\")\n setLocation(next)\n break\n\n /* Expand navigation, see https://bit.ly/3ZjG5io */\n case \"Enter\":\n const active = getActiveElement()\n if (active instanceof HTMLLabelElement)\n active.click()\n }\n })\n\n/* Set up patches */\npatchEllipsis({ viewport$, document$ })\npatchIndeterminate({ document$, tablet$ })\npatchScrollfix({ document$ })\npatchScrolllock({ viewport$, tablet$ })\n\n/* Set up header and main area observable */\nconst header$ = watchHeader(getComponentElement(\"header\"), { viewport$ })\nconst main$ = document$\n .pipe(\n map(() => getComponentElement(\"main\")),\n switchMap(el => watchMain(el, { viewport$, header$ })),\n shareReplay(1)\n )\n\n/* Set up control component observables */\nconst control$ = merge(\n\n /* Consent */\n ...getComponentElements(\"consent\")\n .map(el => mountConsent(el, { target$ })),\n\n /* Dialog */\n ...getComponentElements(\"dialog\")\n .map(el => mountDialog(el, { alert$ })),\n\n /* Color palette */\n ...getComponentElements(\"palette\")\n .map(el => mountPalette(el)),\n\n /* Progress bar */\n ...getComponentElements(\"progress\")\n .map(el => mountProgress(el, { progress$ })),\n\n /* Search */\n ...getComponentElements(\"search\")\n .map(el => mountSearch(el, { index$, keyboard$ })),\n\n /* Repository information */\n ...getComponentElements(\"source\")\n .map(el => mountSource(el))\n)\n\n/* Set up content component observables */\nconst content$ = defer(() => merge(\n\n /* Announcement bar */\n ...getComponentElements(\"announce\")\n .map(el => mountAnnounce(el)),\n\n /* Content */\n ...getComponentElements(\"content\")\n .map(el => mountContent(el, { viewport$, target$, print$ })),\n\n /* Search highlighting */\n ...getComponentElements(\"content\")\n .map(el => feature(\"search.highlight\")\n ? mountSearchHiglight(el, { index$, location$ })\n : EMPTY\n ),\n\n /* Header */\n ...getComponentElements(\"header\")\n .map(el => mountHeader(el, { viewport$, header$, main$ })),\n\n /* Header title */\n ...getComponentElements(\"header-title\")\n .map(el => mountHeaderTitle(el, { viewport$, header$ })),\n\n /* Sidebar */\n ...getComponentElements(\"sidebar\")\n .map(el => el.getAttribute(\"data-md-type\") === \"navigation\"\n ? at(screen$, () => mountSidebar(el, { viewport$, header$, main$ }))\n : at(tablet$, () => mountSidebar(el, { viewport$, header$, main$ }))\n ),\n\n /* Navigation tabs */\n ...getComponentElements(\"tabs\")\n .map(el => mountTabs(el, { viewport$, header$ })),\n\n /* Table of contents */\n ...getComponentElements(\"toc\")\n .map(el => mountTableOfContents(el, {\n viewport$, header$, main$, target$\n })),\n\n /* Back-to-top button */\n ...getComponentElements(\"top\")\n .map(el => mountBackToTop(el, { viewport$, header$, main$, target$ }))\n))\n\n/* Set up component observables */\nconst component$ = document$\n .pipe(\n switchMap(() => content$),\n mergeWith(control$),\n shareReplay(1)\n )\n\n/* Subscribe to all components */\ncomponent$.subscribe()\n\n/* ----------------------------------------------------------------------------\n * Exports\n * ------------------------------------------------------------------------- */\n\nwindow.document$ = document$ /* Document observable */\nwindow.location$ = location$ /* Location subject */\nwindow.target$ = target$ /* Location target observable */\nwindow.keyboard$ = keyboard$ /* Keyboard observable */\nwindow.viewport$ = viewport$ /* Viewport observable */\nwindow.tablet$ = tablet$ /* Media tablet observable */\nwindow.screen$ = screen$ /* Media screen observable */\nwindow.print$ = print$ /* Media print observable */\nwindow.alert$ = alert$ /* Alert subject */\nwindow.progress$ = progress$ /* Progress indicator subject */\nwindow.component$ = component$ /* Component observable */\n", "/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n", "/**\n * Returns true if the object is a function.\n * @param value The value to check\n */\nexport function isFunction(value: any): value is (...args: any[]) => any {\n return typeof value === 'function';\n}\n", "/**\n * Used to create Error subclasses until the community moves away from ES5.\n *\n * This is because compiling from TypeScript down to ES5 has issues with subclassing Errors\n * as well as other built-in types: https://github.com/Microsoft/TypeScript/issues/12123\n *\n * @param createImpl A factory function to create the actual constructor implementation. The returned\n * function should be a named function that calls `_super` internally.\n */\nexport function createErrorClass(createImpl: (_super: any) => any): T {\n const _super = (instance: any) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface UnsubscriptionError extends Error {\n readonly errors: any[];\n}\n\nexport interface UnsubscriptionErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (errors: any[]): UnsubscriptionError;\n}\n\n/**\n * An error thrown when one or more errors have occurred during the\n * `unsubscribe` of a {@link Subscription}.\n */\nexport const UnsubscriptionError: UnsubscriptionErrorCtor = createErrorClass(\n (_super) =>\n function UnsubscriptionErrorImpl(this: any, errors: (Error | string)[]) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n }\n);\n", "/**\n * Removes an item from an array, mutating it.\n * @param arr The array to remove the item from\n * @param item The item to remove\n */\nexport function arrRemove(arr: T[] | undefined | null, item: T) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { SubscriptionLike, TeardownLogic, Unsubscribable } from './types';\nimport { arrRemove } from './util/arrRemove';\n\n/**\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n *\n * @class Subscription\n */\nexport class Subscription implements SubscriptionLike {\n /** @nocollapse */\n public static EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n\n /**\n * A flag to indicate whether this Subscription has already been unsubscribed.\n */\n public closed = false;\n\n private _parentage: Subscription[] | Subscription | null = null;\n\n /**\n * The list of registered finalizers to execute upon unsubscription. Adding and removing from this\n * list occurs in the {@link #add} and {@link #remove} methods.\n */\n private _finalizers: Exclude[] | null = null;\n\n /**\n * @param initialTeardown A function executed first as part of the finalization\n * process that is kicked off when {@link #unsubscribe} is called.\n */\n constructor(private initialTeardown?: () => void) {}\n\n /**\n * Disposes the resources held by the subscription. May, for instance, cancel\n * an ongoing Observable execution or cancel any other type of work that\n * started when the Subscription was created.\n * @return {void}\n */\n unsubscribe(): void {\n let errors: any[] | undefined;\n\n if (!this.closed) {\n this.closed = true;\n\n // Remove this from it's parents.\n const { _parentage } = this;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n } else {\n _parentage.remove(this);\n }\n }\n\n const { initialTeardown: initialFinalizer } = this;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n } catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n\n const { _finalizers } = this;\n if (_finalizers) {\n this._finalizers = null;\n for (const finalizer of _finalizers) {\n try {\n execFinalizer(finalizer);\n } catch (err) {\n errors = errors ?? [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n } else {\n errors.push(err);\n }\n }\n }\n }\n\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n\n /**\n * Adds a finalizer to this subscription, so that finalization will be unsubscribed/called\n * when this subscription is unsubscribed. If this subscription is already {@link #closed},\n * because it has already been unsubscribed, then whatever finalizer is passed to it\n * will automatically be executed (unless the finalizer itself is also a closed subscription).\n *\n * Closed Subscriptions cannot be added as finalizers to any subscription. Adding a closed\n * subscription to a any subscription will result in no operation. (A noop).\n *\n * Adding a subscription to itself, or adding `null` or `undefined` will not perform any\n * operation at all. (A noop).\n *\n * `Subscription` instances that are added to this instance will automatically remove themselves\n * if they are unsubscribed. Functions and {@link Unsubscribable} objects that you wish to remove\n * will need to be removed manually with {@link #remove}\n *\n * @param teardown The finalization logic to add to this subscription.\n */\n add(teardown: TeardownLogic): void {\n // Only add the finalizer if it's not undefined\n // and don't add a subscription to itself.\n if (teardown && teardown !== this) {\n if (this.closed) {\n // If this subscription is already closed,\n // execute whatever finalizer is handed to it automatically.\n execFinalizer(teardown);\n } else {\n if (teardown instanceof Subscription) {\n // We don't add closed subscriptions, and we don't add the same subscription\n // twice. Subscription unsubscribe is idempotent.\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = this._finalizers ?? []).push(teardown);\n }\n }\n }\n\n /**\n * Checks to see if a this subscription already has a particular parent.\n * This will signal that this subscription has already been added to the parent in question.\n * @param parent the parent to check for\n */\n private _hasParent(parent: Subscription) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n\n /**\n * Adds a parent to this subscription so it can be removed from the parent if it\n * unsubscribes on it's own.\n *\n * NOTE: THIS ASSUMES THAT {@link _hasParent} HAS ALREADY BEEN CHECKED.\n * @param parent The parent subscription to add\n */\n private _addParent(parent: Subscription) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n\n /**\n * Called on a child when it is removed via {@link #remove}.\n * @param parent The parent to remove\n */\n private _removeParent(parent: Subscription) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n } else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n\n /**\n * Removes a finalizer from this subscription that was previously added with the {@link #add} method.\n *\n * Note that `Subscription` instances, when unsubscribed, will automatically remove themselves\n * from every other `Subscription` they have been added to. This means that using the `remove` method\n * is not a common thing and should be used thoughtfully.\n *\n * If you add the same finalizer instance of a function or an unsubscribable object to a `Subscription` instance\n * more than once, you will need to call `remove` the same number of times to remove all instances.\n *\n * All finalizer instances are removed to free up memory upon unsubscription.\n *\n * @param teardown The finalizer to remove from this subscription\n */\n remove(teardown: Exclude): void {\n const { _finalizers } = this;\n _finalizers && arrRemove(_finalizers, teardown);\n\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\n\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\n\nexport function isSubscription(value: any): value is Subscription {\n return (\n value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe))\n );\n}\n\nfunction execFinalizer(finalizer: Unsubscribable | (() => void)) {\n if (isFunction(finalizer)) {\n finalizer();\n } else {\n finalizer.unsubscribe();\n }\n}\n", "import { Subscriber } from './Subscriber';\nimport { ObservableNotification } from './types';\n\n/**\n * The {@link GlobalConfig} object for RxJS. It is used to configure things\n * like how to react on unhandled errors.\n */\nexport const config: GlobalConfig = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n\n/**\n * The global configuration object for RxJS, used to configure things\n * like how to react on unhandled errors. Accessible via {@link config}\n * object.\n */\nexport interface GlobalConfig {\n /**\n * A registration point for unhandled errors from RxJS. These are errors that\n * cannot were not handled by consuming code in the usual subscription path. For\n * example, if you have this configured, and you subscribe to an observable without\n * providing an error handler, errors from that subscription will end up here. This\n * will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onUnhandledError: ((err: any) => void) | null;\n\n /**\n * A registration point for notifications that cannot be sent to subscribers because they\n * have completed, errored or have been explicitly unsubscribed. By default, next, complete\n * and error notifications sent to stopped subscribers are noops. However, sometimes callers\n * might want a different behavior. For example, with sources that attempt to report errors\n * to stopped subscribers, a caller can configure RxJS to throw an unhandled error instead.\n * This will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onStoppedNotification: ((notification: ObservableNotification, subscriber: Subscriber) => void) | null;\n\n /**\n * The promise constructor used by default for {@link Observable#toPromise toPromise} and {@link Observable#forEach forEach}\n * methods.\n *\n * @deprecated As of version 8, RxJS will no longer support this sort of injection of a\n * Promise constructor. If you need a Promise implementation other than native promises,\n * please polyfill/patch Promise as you see appropriate. Will be removed in v8.\n */\n Promise?: PromiseConstructorLike;\n\n /**\n * If true, turns on synchronous error rethrowing, which is a deprecated behavior\n * in v6 and higher. This behavior enables bad patterns like wrapping a subscribe\n * call in a try/catch block. It also enables producer interference, a nasty bug\n * where a multicast can be broken for all observers by a downstream consumer with\n * an unhandled error. DO NOT USE THIS FLAG UNLESS IT'S NEEDED TO BUY TIME\n * FOR MIGRATION REASONS.\n *\n * @deprecated As of version 8, RxJS will no longer support synchronous throwing\n * of unhandled errors. All errors will be thrown on a separate call stack to prevent bad\n * behaviors described above. Will be removed in v8.\n */\n useDeprecatedSynchronousErrorHandling: boolean;\n\n /**\n * If true, enables an as-of-yet undocumented feature from v5: The ability to access\n * `unsubscribe()` via `this` context in `next` functions created in observers passed\n * to `subscribe`.\n *\n * This is being removed because the performance was severely problematic, and it could also cause\n * issues when types other than POJOs are passed to subscribe as subscribers, as they will likely have\n * their `this` context overwritten.\n *\n * @deprecated As of version 8, RxJS will no longer support altering the\n * context of next functions provided as part of an observer to Subscribe. Instead,\n * you will have access to a subscription or a signal or token that will allow you to do things like\n * unsubscribe and test closed status. Will be removed in v8.\n */\n useDeprecatedNextContext: boolean;\n}\n", "import type { TimerHandle } from './timerHandle';\ntype SetTimeoutFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;\ntype ClearTimeoutFunction = (handle: TimerHandle) => void;\n\ninterface TimeoutProvider {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n delegate:\n | {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n }\n | undefined;\n}\n\nexport const timeoutProvider: TimeoutProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setTimeout(handler: () => void, timeout?: number, ...args) {\n const { delegate } = timeoutProvider;\n if (delegate?.setTimeout) {\n return delegate.setTimeout(handler, timeout, ...args);\n }\n return setTimeout(handler, timeout, ...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return (delegate?.clearTimeout || clearTimeout)(handle as any);\n },\n delegate: undefined,\n};\n", "import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\n\n/**\n * Handles an error on another job either with the user-configured {@link onUnhandledError},\n * or by throwing it on that new job so it can be picked up by `window.onerror`, `process.on('error')`, etc.\n *\n * This should be called whenever there is an error that is out-of-band with the subscription\n * or when an error hits a terminal boundary of the subscription and no error handler was provided.\n *\n * @param err the error to report\n */\nexport function reportUnhandledError(err: any) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n // Execute the user-configured error handler.\n onUnhandledError(err);\n } else {\n // Throw so it is picked up by the runtime's uncaught error mechanism.\n throw err;\n }\n });\n}\n", "/* tslint:disable:no-empty */\nexport function noop() { }\n", "import { CompleteNotification, NextNotification, ErrorNotification } from './types';\n\n/**\n * A completion object optimized for memory use and created to be the\n * same \"shape\" as other notifications in v8.\n * @internal\n */\nexport const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined) as CompleteNotification)();\n\n/**\n * Internal use only. Creates an optimized error notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function errorNotification(error: any): ErrorNotification {\n return createNotification('E', undefined, error) as any;\n}\n\n/**\n * Internal use only. Creates an optimized next notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function nextNotification(value: T) {\n return createNotification('N', value, undefined) as NextNotification;\n}\n\n/**\n * Ensures that all notifications created internally have the same \"shape\" in v8.\n *\n * TODO: This is only exported to support a crazy legacy test in `groupBy`.\n * @internal\n */\nexport function createNotification(kind: 'N' | 'E' | 'C', value: any, error: any) {\n return {\n kind,\n value,\n error,\n };\n}\n", "import { config } from '../config';\n\nlet context: { errorThrown: boolean; error: any } | null = null;\n\n/**\n * Handles dealing with errors for super-gross mode. Creates a context, in which\n * any synchronously thrown errors will be passed to {@link captureError}. Which\n * will record the error such that it will be rethrown after the call back is complete.\n * TODO: Remove in v8\n * @param cb An immediately executed function.\n */\nexport function errorContext(cb: () => void) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n const isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n const { errorThrown, error } = context!;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n } else {\n // This is the general non-deprecated path for everyone that\n // isn't crazy enough to use super-gross mode (useDeprecatedSynchronousErrorHandling)\n cb();\n }\n}\n\n/**\n * Captures errors only in super-gross mode.\n * @param err the error to capture\n */\nexport function captureError(err: any) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { Observer, ObservableNotification } from './types';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\n\n/**\n * Implements the {@link Observer} interface and extends the\n * {@link Subscription} class. While the {@link Observer} is the public API for\n * consuming the values of an {@link Observable}, all Observers get converted to\n * a Subscriber, in order to provide Subscription-like capabilities such as\n * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for\n * implementing operators, but it is rarely used as a public API.\n *\n * @class Subscriber\n */\nexport class Subscriber extends Subscription implements Observer {\n /**\n * A static factory for a Subscriber, given a (potentially partial) definition\n * of an Observer.\n * @param next The `next` callback of an Observer.\n * @param error The `error` callback of an\n * Observer.\n * @param complete The `complete` callback of an\n * Observer.\n * @return A Subscriber wrapping the (partially defined)\n * Observer represented by the given arguments.\n * @nocollapse\n * @deprecated Do not use. Will be removed in v8. There is no replacement for this\n * method, and there is no reason to be creating instances of `Subscriber` directly.\n * If you have a specific use case, please file an issue.\n */\n static create(next?: (x?: T) => void, error?: (e?: any) => void, complete?: () => void): Subscriber {\n return new SafeSubscriber(next, error, complete);\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected isStopped: boolean = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected destination: Subscriber | Observer; // this `any` is the escape hatch to erase extra type param (e.g. R)\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * There is no reason to directly create an instance of Subscriber. This type is exported for typings reasons.\n */\n constructor(destination?: Subscriber | Observer) {\n super();\n if (destination) {\n this.destination = destination;\n // Automatically chain subscriptions together here.\n // if destination is a Subscription, then it is a Subscriber.\n if (isSubscription(destination)) {\n destination.add(this);\n }\n } else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `next` from\n * the Observable, with a value. The Observable may call this method 0 or more\n * times.\n * @param {T} [value] The `next` value.\n * @return {void}\n */\n next(value?: T): void {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n } else {\n this._next(value!);\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `error` from\n * the Observable, with an attached `Error`. Notifies the Observer that\n * the Observable has experienced an error condition.\n * @param {any} [err] The `error` exception.\n * @return {void}\n */\n error(err?: any): void {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n } else {\n this.isStopped = true;\n this._error(err);\n }\n }\n\n /**\n * The {@link Observer} callback to receive a valueless notification of type\n * `complete` from the Observable. Notifies the Observer that the Observable\n * has finished sending push-based notifications.\n * @return {void}\n */\n complete(): void {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n } else {\n this.isStopped = true;\n this._complete();\n }\n }\n\n unsubscribe(): void {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null!;\n }\n }\n\n protected _next(value: T): void {\n this.destination.next(value);\n }\n\n protected _error(err: any): void {\n try {\n this.destination.error(err);\n } finally {\n this.unsubscribe();\n }\n }\n\n protected _complete(): void {\n try {\n this.destination.complete();\n } finally {\n this.unsubscribe();\n }\n }\n}\n\n/**\n * This bind is captured here because we want to be able to have\n * compatibility with monoid libraries that tend to use a method named\n * `bind`. In particular, a library called Monio requires this.\n */\nconst _bind = Function.prototype.bind;\n\nfunction bind any>(fn: Fn, thisArg: any): Fn {\n return _bind.call(fn, thisArg);\n}\n\n/**\n * Internal optimization only, DO NOT EXPOSE.\n * @internal\n */\nclass ConsumerObserver implements Observer {\n constructor(private partialObserver: Partial>) {}\n\n next(value: T): void {\n const { partialObserver } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n\n error(err: any): void {\n const { partialObserver } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n } catch (error) {\n handleUnhandledError(error);\n }\n } else {\n handleUnhandledError(err);\n }\n }\n\n complete(): void {\n const { partialObserver } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n}\n\nexport class SafeSubscriber extends Subscriber {\n constructor(\n observerOrNext?: Partial> | ((value: T) => void) | null,\n error?: ((e?: any) => void) | null,\n complete?: (() => void) | null\n ) {\n super();\n\n let partialObserver: Partial>;\n if (isFunction(observerOrNext) || !observerOrNext) {\n // The first argument is a function, not an observer. The next\n // two arguments *could* be observers, or they could be empty.\n partialObserver = {\n next: (observerOrNext ?? undefined) as (((value: T) => void) | undefined),\n error: error ?? undefined,\n complete: complete ?? undefined,\n };\n } else {\n // The first argument is a partial observer.\n let context: any;\n if (this && config.useDeprecatedNextContext) {\n // This is a deprecated path that made `this.unsubscribe()` available in\n // next handler functions passed to subscribe. This only exists behind a flag\n // now, as it is *very* slow.\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context),\n error: observerOrNext.error && bind(observerOrNext.error, context),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context),\n };\n } else {\n // The \"normal\" path. Just use the partial observer directly.\n partialObserver = observerOrNext;\n }\n }\n\n // Wrap the partial observer to ensure it's a full observer, and\n // make sure proper error handling is accounted for.\n this.destination = new ConsumerObserver(partialObserver);\n }\n}\n\nfunction handleUnhandledError(error: any) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n } else {\n // Ideal path, we report this as an unhandled error,\n // which is thrown on a new call stack.\n reportUnhandledError(error);\n }\n}\n\n/**\n * An error handler used when no error handler was supplied\n * to the SafeSubscriber -- meaning no error handler was supplied\n * do the `subscribe` call on our observable.\n * @param err The error to handle\n */\nfunction defaultErrorHandler(err: any) {\n throw err;\n}\n\n/**\n * A handler for notifications that cannot be sent to a stopped subscriber.\n * @param notification The notification being sent\n * @param subscriber The stopped subscriber\n */\nfunction handleStoppedNotification(notification: ObservableNotification, subscriber: Subscriber) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\n\n/**\n * The observer used as a stub for subscriptions where the user did not\n * pass any arguments to `subscribe`. Comes with the default error handling\n * behavior.\n */\nexport const EMPTY_OBSERVER: Readonly> & { closed: true } = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n", "/**\n * Symbol.observable or a string \"@@observable\". Used for interop\n *\n * @deprecated We will no longer be exporting this symbol in upcoming versions of RxJS.\n * Instead polyfill and use Symbol.observable directly *or* use https://www.npmjs.com/package/symbol-observable\n */\nexport const observable: string | symbol = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n", "/**\n * This function takes one parameter and just returns it. Simply put,\n * this is like `(x: T): T => x`.\n *\n * ## Examples\n *\n * This is useful in some cases when using things like `mergeMap`\n *\n * ```ts\n * import { interval, take, map, range, mergeMap, identity } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(5));\n *\n * const result$ = source$.pipe(\n * map(i => range(i)),\n * mergeMap(identity) // same as mergeMap(x => x)\n * );\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * Or when you want to selectively apply an operator\n *\n * ```ts\n * import { interval, take, identity } from 'rxjs';\n *\n * const shouldLimit = () => Math.random() < 0.5;\n *\n * const source$ = interval(1000);\n *\n * const result$ = source$.pipe(shouldLimit() ? take(5) : identity);\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * @param x Any value that is returned by this function\n * @returns The value passed as the first parameter to this function\n */\nexport function identity(x: T): T {\n return x;\n}\n", "import { identity } from './identity';\nimport { UnaryFunction } from '../types';\n\nexport function pipe(): typeof identity;\nexport function pipe(fn1: UnaryFunction): UnaryFunction;\nexport function pipe(fn1: UnaryFunction, fn2: UnaryFunction): UnaryFunction;\nexport function pipe(fn1: UnaryFunction, fn2: UnaryFunction, fn3: UnaryFunction): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction,\n fn9: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction,\n fn9: UnaryFunction,\n ...fns: UnaryFunction[]\n): UnaryFunction;\n\n/**\n * pipe() can be called on one or more functions, each of which can take one argument (\"UnaryFunction\")\n * and uses it to return a value.\n * It returns a function that takes one argument, passes it to the first UnaryFunction, and then\n * passes the result to the next one, passes that result to the next one, and so on. \n */\nexport function pipe(...fns: Array>): UnaryFunction {\n return pipeFromArray(fns);\n}\n\n/** @internal */\nexport function pipeFromArray(fns: Array>): UnaryFunction {\n if (fns.length === 0) {\n return identity as UnaryFunction;\n }\n\n if (fns.length === 1) {\n return fns[0];\n }\n\n return function piped(input: T): R {\n return fns.reduce((prev: any, fn: UnaryFunction) => fn(prev), input as any);\n };\n}\n", "import { Operator } from './Operator';\nimport { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription, Subscription } from './Subscription';\nimport { TeardownLogic, OperatorFunction, Subscribable, Observer } from './types';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A representation of any set of values over any amount of time. This is the most basic building block\n * of RxJS.\n *\n * @class Observable\n */\nexport class Observable implements Subscribable {\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n source: Observable | undefined;\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n operator: Operator | undefined;\n\n /**\n * @constructor\n * @param {Function} subscribe the function that is called when the Observable is\n * initially subscribed to. This function is given a Subscriber, to which new values\n * can be `next`ed, or an `error` method can be called to raise an error, or\n * `complete` can be called to notify of a successful completion.\n */\n constructor(subscribe?: (this: Observable, subscriber: Subscriber) => TeardownLogic) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n\n // HACK: Since TypeScript inherits static properties too, we have to\n // fight against TypeScript here so Subject can have a different static create signature\n /**\n * Creates a new Observable by calling the Observable constructor\n * @owner Observable\n * @method create\n * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor\n * @return {Observable} a new observable\n * @nocollapse\n * @deprecated Use `new Observable()` instead. Will be removed in v8.\n */\n static create: (...args: any[]) => any = (subscribe?: (subscriber: Subscriber) => TeardownLogic) => {\n return new Observable(subscribe);\n };\n\n /**\n * Creates a new Observable, with this Observable instance as the source, and the passed\n * operator defined as the new observable's operator.\n * @method lift\n * @param operator the operator defining the operation to take on the observable\n * @return a new observable with the Operator applied\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * If you have implemented an operator using `lift`, it is recommended that you create an\n * operator by simply returning `new Observable()` directly. See \"Creating new operators from\n * scratch\" section here: https://rxjs.dev/guide/operators\n */\n lift(operator?: Operator): Observable {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n\n subscribe(observerOrNext?: Partial> | ((value: T) => void)): Subscription;\n /** @deprecated Instead of passing separate callback arguments, use an observer argument. Signatures taking separate callback arguments will be removed in v8. Details: https://rxjs.dev/deprecations/subscribe-arguments */\n subscribe(next?: ((value: T) => void) | null, error?: ((error: any) => void) | null, complete?: (() => void) | null): Subscription;\n /**\n * Invokes an execution of an Observable and registers Observer handlers for notifications it will emit.\n *\n * Use it when you have all these Observables, but still nothing is happening.\n *\n * `subscribe` is not a regular operator, but a method that calls Observable's internal `subscribe` function. It\n * might be for example a function that you passed to Observable's constructor, but most of the time it is\n * a library implementation, which defines what will be emitted by an Observable, and when it be will emitted. This means\n * that calling `subscribe` is actually the moment when Observable starts its work, not when it is created, as it is often\n * the thought.\n *\n * Apart from starting the execution of an Observable, this method allows you to listen for values\n * that an Observable emits, as well as for when it completes or errors. You can achieve this in two\n * of the following ways.\n *\n * The first way is creating an object that implements {@link Observer} interface. It should have methods\n * defined by that interface, but note that it should be just a regular JavaScript object, which you can create\n * yourself in any way you want (ES6 class, classic function constructor, object literal etc.). In particular, do\n * not attempt to use any RxJS implementation details to create Observers - you don't need them. Remember also\n * that your object does not have to implement all methods. If you find yourself creating a method that doesn't\n * do anything, you can simply omit it. Note however, if the `error` method is not provided and an error happens,\n * it will be thrown asynchronously. Errors thrown asynchronously cannot be caught using `try`/`catch`. Instead,\n * use the {@link onUnhandledError} configuration option or use a runtime handler (like `window.onerror` or\n * `process.on('error)`) to be notified of unhandled errors. Because of this, it's recommended that you provide\n * an `error` method to avoid missing thrown errors.\n *\n * The second way is to give up on Observer object altogether and simply provide callback functions in place of its methods.\n * This means you can provide three functions as arguments to `subscribe`, where the first function is equivalent\n * of a `next` method, the second of an `error` method and the third of a `complete` method. Just as in case of an Observer,\n * if you do not need to listen for something, you can omit a function by passing `undefined` or `null`,\n * since `subscribe` recognizes these functions by where they were placed in function call. When it comes\n * to the `error` function, as with an Observer, if not provided, errors emitted by an Observable will be thrown asynchronously.\n *\n * You can, however, subscribe with no parameters at all. This may be the case where you're not interested in terminal events\n * and you also handled emissions internally by using operators (e.g. using `tap`).\n *\n * Whichever style of calling `subscribe` you use, in both cases it returns a Subscription object.\n * This object allows you to call `unsubscribe` on it, which in turn will stop the work that an Observable does and will clean\n * up all resources that an Observable used. Note that cancelling a subscription will not call `complete` callback\n * provided to `subscribe` function, which is reserved for a regular completion signal that comes from an Observable.\n *\n * Remember that callbacks provided to `subscribe` are not guaranteed to be called asynchronously.\n * It is an Observable itself that decides when these functions will be called. For example {@link of}\n * by default emits all its values synchronously. Always check documentation for how given Observable\n * will behave when subscribed and if its default behavior can be modified with a `scheduler`.\n *\n * #### Examples\n *\n * Subscribe with an {@link guide/observer Observer}\n *\n * ```ts\n * import { of } from 'rxjs';\n *\n * const sumObserver = {\n * sum: 0,\n * next(value) {\n * console.log('Adding: ' + value);\n * this.sum = this.sum + value;\n * },\n * error() {\n * // We actually could just remove this method,\n * // since we do not really care about errors right now.\n * },\n * complete() {\n * console.log('Sum equals: ' + this.sum);\n * }\n * };\n *\n * of(1, 2, 3) // Synchronously emits 1, 2, 3 and then completes.\n * .subscribe(sumObserver);\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Subscribe with functions ({@link deprecations/subscribe-arguments deprecated})\n *\n * ```ts\n * import { of } from 'rxjs'\n *\n * let sum = 0;\n *\n * of(1, 2, 3).subscribe(\n * value => {\n * console.log('Adding: ' + value);\n * sum = sum + value;\n * },\n * undefined,\n * () => console.log('Sum equals: ' + sum)\n * );\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Cancel a subscription\n *\n * ```ts\n * import { interval } from 'rxjs';\n *\n * const subscription = interval(1000).subscribe({\n * next(num) {\n * console.log(num)\n * },\n * complete() {\n * // Will not be called, even when cancelling subscription.\n * console.log('completed!');\n * }\n * });\n *\n * setTimeout(() => {\n * subscription.unsubscribe();\n * console.log('unsubscribed!');\n * }, 2500);\n *\n * // Logs:\n * // 0 after 1s\n * // 1 after 2s\n * // 'unsubscribed!' after 2.5s\n * ```\n *\n * @param {Observer|Function} observerOrNext (optional) Either an observer with methods to be called,\n * or the first of three possible handlers, which is the handler for each value emitted from the subscribed\n * Observable.\n * @param {Function} error (optional) A handler for a terminal event resulting from an error. If no error handler is provided,\n * the error will be thrown asynchronously as unhandled.\n * @param {Function} complete (optional) A handler for a terminal event resulting from successful completion.\n * @return {Subscription} a subscription reference to the registered handlers\n * @method subscribe\n */\n subscribe(\n observerOrNext?: Partial> | ((value: T) => void) | null,\n error?: ((error: any) => void) | null,\n complete?: (() => void) | null\n ): Subscription {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n\n errorContext(() => {\n const { operator, source } = this;\n subscriber.add(\n operator\n ? // We're dealing with a subscription in the\n // operator chain to one of our lifted operators.\n operator.call(subscriber, source)\n : source\n ? // If `source` has a value, but `operator` does not, something that\n // had intimate knowledge of our API, like our `Subject`, must have\n // set it. We're going to just call `_subscribe` directly.\n this._subscribe(subscriber)\n : // In all other cases, we're likely wrapping a user-provided initializer\n // function, so we need to catch errors and handle them appropriately.\n this._trySubscribe(subscriber)\n );\n });\n\n return subscriber;\n }\n\n /** @internal */\n protected _trySubscribe(sink: Subscriber): TeardownLogic {\n try {\n return this._subscribe(sink);\n } catch (err) {\n // We don't need to return anything in this case,\n // because it's just going to try to `add()` to a subscription\n // above.\n sink.error(err);\n }\n }\n\n /**\n * Used as a NON-CANCELLABLE means of subscribing to an observable, for use with\n * APIs that expect promises, like `async/await`. You cannot unsubscribe from this.\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * #### Example\n *\n * ```ts\n * import { interval, take } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(4));\n *\n * async function getTotal() {\n * let total = 0;\n *\n * await source$.forEach(value => {\n * total += value;\n * console.log('observable -> ' + value);\n * });\n *\n * return total;\n * }\n *\n * getTotal().then(\n * total => console.log('Total: ' + total)\n * );\n *\n * // Expected:\n * // 'observable -> 0'\n * // 'observable -> 1'\n * // 'observable -> 2'\n * // 'observable -> 3'\n * // 'Total: 6'\n * ```\n *\n * @param next a handler for each value emitted by the observable\n * @return a promise that either resolves on observable completion or\n * rejects with the handled error\n */\n forEach(next: (value: T) => void): Promise;\n\n /**\n * @param next a handler for each value emitted by the observable\n * @param promiseCtor a constructor function used to instantiate the Promise\n * @return a promise that either resolves on observable completion or\n * rejects with the handled error\n * @deprecated Passing a Promise constructor will no longer be available\n * in upcoming versions of RxJS. This is because it adds weight to the library, for very\n * little benefit. If you need this functionality, it is recommended that you either\n * polyfill Promise, or you create an adapter to convert the returned native promise\n * to whatever promise implementation you wanted. Will be removed in v8.\n */\n forEach(next: (value: T) => void, promiseCtor: PromiseConstructorLike): Promise;\n\n forEach(next: (value: T) => void, promiseCtor?: PromiseConstructorLike): Promise {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n const subscriber = new SafeSubscriber({\n next: (value) => {\n try {\n next(value);\n } catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n this.subscribe(subscriber);\n }) as Promise;\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): TeardownLogic {\n return this.source?.subscribe(subscriber);\n }\n\n /**\n * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n * @method Symbol.observable\n * @return {Observable} this instance of the observable\n */\n [Symbol_observable]() {\n return this;\n }\n\n /* tslint:disable:max-line-length */\n pipe(): Observable;\n pipe(op1: OperatorFunction): Observable;\n pipe(op1: OperatorFunction, op2: OperatorFunction): Observable;\n pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction,\n op9: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction,\n op9: OperatorFunction,\n ...operations: OperatorFunction[]\n ): Observable;\n /* tslint:enable:max-line-length */\n\n /**\n * Used to stitch together functional operators into a chain.\n * @method pipe\n * @return {Observable} the Observable result of all of the operators having\n * been called in the order they were passed in.\n *\n * ## Example\n *\n * ```ts\n * import { interval, filter, map, scan } from 'rxjs';\n *\n * interval(1000)\n * .pipe(\n * filter(x => x % 2 === 0),\n * map(x => x + x),\n * scan((acc, x) => acc + x)\n * )\n * .subscribe(x => console.log(x));\n * ```\n */\n pipe(...operations: OperatorFunction[]): Observable {\n return pipeFromArray(operations)(this);\n }\n\n /* tslint:disable:max-line-length */\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(): Promise;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: typeof Promise): Promise;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: PromiseConstructorLike): Promise;\n /* tslint:enable:max-line-length */\n\n /**\n * Subscribe to this Observable and get a Promise resolving on\n * `complete` with the last emission (if any).\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * @method toPromise\n * @param [promiseCtor] a constructor function used to instantiate\n * the Promise\n * @return A Promise that resolves with the last value emit, or\n * rejects on an error. If there were no emissions, Promise\n * resolves with undefined.\n * @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise\n */\n toPromise(promiseCtor?: PromiseConstructorLike): Promise {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n let value: T | undefined;\n this.subscribe(\n (x: T) => (value = x),\n (err: any) => reject(err),\n () => resolve(value)\n );\n }) as Promise;\n }\n}\n\n/**\n * Decides between a passed promise constructor from consuming code,\n * A default configured promise constructor, and the native promise\n * constructor and returns it. If nothing can be found, it will throw\n * an error.\n * @param promiseCtor The optional promise constructor to passed by consuming code\n */\nfunction getPromiseCtor(promiseCtor: PromiseConstructorLike | undefined) {\n return promiseCtor ?? config.Promise ?? Promise;\n}\n\nfunction isObserver(value: any): value is Observer {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\n\nfunction isSubscriber(value: any): value is Subscriber {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n", "import { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { OperatorFunction } from '../types';\nimport { isFunction } from './isFunction';\n\n/**\n * Used to determine if an object is an Observable with a lift function.\n */\nexport function hasLift(source: any): source is { lift: InstanceType['lift'] } {\n return isFunction(source?.lift);\n}\n\n/**\n * Creates an `OperatorFunction`. Used to define operators throughout the library in a concise way.\n * @param init The logic to connect the liftedSource to the subscriber at the moment of subscription.\n */\nexport function operate(\n init: (liftedSource: Observable, subscriber: Subscriber) => (() => void) | void\n): OperatorFunction {\n return (source: Observable) => {\n if (hasLift(source)) {\n return source.lift(function (this: Subscriber, liftedSource: Observable) {\n try {\n return init(liftedSource, this);\n } catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n", "import { Subscriber } from '../Subscriber';\n\n/**\n * Creates an instance of an `OperatorSubscriber`.\n * @param destination The downstream subscriber.\n * @param onNext Handles next values, only called if this subscriber is not stopped or closed. Any\n * error that occurs in this function is caught and sent to the `error` method of this subscriber.\n * @param onError Handles errors from the subscription, any errors that occur in this handler are caught\n * and send to the `destination` error handler.\n * @param onComplete Handles completion notification from the subscription. Any errors that occur in\n * this handler are sent to the `destination` error handler.\n * @param onFinalize Additional teardown logic here. This will only be called on teardown if the\n * subscriber itself is not already closed. This is called after all other teardown logic is executed.\n */\nexport function createOperatorSubscriber(\n destination: Subscriber,\n onNext?: (value: T) => void,\n onComplete?: () => void,\n onError?: (err: any) => void,\n onFinalize?: () => void\n): Subscriber {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\n\n/**\n * A generic helper for allowing operators to be created with a Subscriber and\n * use closures to capture necessary state from the operator function itself.\n */\nexport class OperatorSubscriber extends Subscriber {\n /**\n * Creates an instance of an `OperatorSubscriber`.\n * @param destination The downstream subscriber.\n * @param onNext Handles next values, only called if this subscriber is not stopped or closed. Any\n * error that occurs in this function is caught and sent to the `error` method of this subscriber.\n * @param onError Handles errors from the subscription, any errors that occur in this handler are caught\n * and send to the `destination` error handler.\n * @param onComplete Handles completion notification from the subscription. Any errors that occur in\n * this handler are sent to the `destination` error handler.\n * @param onFinalize Additional finalization logic here. This will only be called on finalization if the\n * subscriber itself is not already closed. This is called after all other finalization logic is executed.\n * @param shouldUnsubscribe An optional check to see if an unsubscribe call should truly unsubscribe.\n * NOTE: This currently **ONLY** exists to support the strange behavior of {@link groupBy}, where unsubscription\n * to the resulting observable does not actually disconnect from the source if there are active subscriptions\n * to any grouped observable. (DO NOT EXPOSE OR USE EXTERNALLY!!!)\n */\n constructor(\n destination: Subscriber,\n onNext?: (value: T) => void,\n onComplete?: () => void,\n onError?: (err: any) => void,\n private onFinalize?: () => void,\n private shouldUnsubscribe?: () => boolean\n ) {\n // It's important - for performance reasons - that all of this class's\n // members are initialized and that they are always initialized in the same\n // order. This will ensure that all OperatorSubscriber instances have the\n // same hidden class in V8. This, in turn, will help keep the number of\n // hidden classes involved in property accesses within the base class as\n // low as possible. If the number of hidden classes involved exceeds four,\n // the property accesses will become megamorphic and performance penalties\n // will be incurred - i.e. inline caches won't be used.\n //\n // The reasons for ensuring all instances have the same hidden class are\n // further discussed in this blog post from Benedikt Meurer:\n // https://benediktmeurer.de/2018/03/23/impact-of-polymorphism-on-component-based-frameworks-like-react/\n super(destination);\n this._next = onNext\n ? function (this: OperatorSubscriber, value: T) {\n try {\n onNext(value);\n } catch (err) {\n destination.error(err);\n }\n }\n : super._next;\n this._error = onError\n ? function (this: OperatorSubscriber, err: any) {\n try {\n onError(err);\n } catch (err) {\n // Send any errors that occur down stream.\n destination.error(err);\n } finally {\n // Ensure finalization.\n this.unsubscribe();\n }\n }\n : super._error;\n this._complete = onComplete\n ? function (this: OperatorSubscriber) {\n try {\n onComplete();\n } catch (err) {\n // Send any errors that occur down stream.\n destination.error(err);\n } finally {\n // Ensure finalization.\n this.unsubscribe();\n }\n }\n : super._complete;\n }\n\n unsubscribe() {\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n const { closed } = this;\n super.unsubscribe();\n // Execute additional teardown if we have any and we didn't already do so.\n !closed && this.onFinalize?.();\n }\n }\n}\n", "import { Subscription } from '../Subscription';\n\ninterface AnimationFrameProvider {\n schedule(callback: FrameRequestCallback): Subscription;\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n delegate:\n | {\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n }\n | undefined;\n}\n\nexport const animationFrameProvider: AnimationFrameProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n schedule(callback) {\n let request = requestAnimationFrame;\n let cancel: typeof cancelAnimationFrame | undefined = cancelAnimationFrame;\n const { delegate } = animationFrameProvider;\n if (delegate) {\n request = delegate.requestAnimationFrame;\n cancel = delegate.cancelAnimationFrame;\n }\n const handle = request((timestamp) => {\n // Clear the cancel function. The request has been fulfilled, so\n // attempting to cancel the request upon unsubscription would be\n // pointless.\n cancel = undefined;\n callback(timestamp);\n });\n return new Subscription(() => cancel?.(handle));\n },\n requestAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.requestAnimationFrame || requestAnimationFrame)(...args);\n },\n cancelAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.cancelAnimationFrame || cancelAnimationFrame)(...args);\n },\n delegate: undefined,\n};\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface ObjectUnsubscribedError extends Error {}\n\nexport interface ObjectUnsubscribedErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (): ObjectUnsubscribedError;\n}\n\n/**\n * An error thrown when an action is invalid because the object has been\n * unsubscribed.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n *\n * @class ObjectUnsubscribedError\n */\nexport const ObjectUnsubscribedError: ObjectUnsubscribedErrorCtor = createErrorClass(\n (_super) =>\n function ObjectUnsubscribedErrorImpl(this: any) {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n }\n);\n", "import { Operator } from './Operator';\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { Observer, SubscriptionLike, TeardownLogic } from './types';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A Subject is a special type of Observable that allows values to be\n * multicasted to many Observers. Subjects are like EventEmitters.\n *\n * Every Subject is an Observable and an Observer. You can subscribe to a\n * Subject, and you can call next to feed values as well as error and complete.\n */\nexport class Subject extends Observable implements SubscriptionLike {\n closed = false;\n\n private currentObservers: Observer[] | null = null;\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n observers: Observer[] = [];\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n isStopped = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n hasError = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n thrownError: any = null;\n\n /**\n * Creates a \"subject\" by basically gluing an observer to an observable.\n *\n * @nocollapse\n * @deprecated Recommended you do not use. Will be removed at some point in the future. Plans for replacement still under discussion.\n */\n static create: (...args: any[]) => any = (destination: Observer, source: Observable): AnonymousSubject => {\n return new AnonymousSubject(destination, source);\n };\n\n constructor() {\n // NOTE: This must be here to obscure Observable's constructor.\n super();\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n lift(operator: Operator): Observable {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator as any;\n return subject as any;\n }\n\n /** @internal */\n protected _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n\n next(value: T) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n if (!this.currentObservers) {\n this.currentObservers = Array.from(this.observers);\n }\n for (const observer of this.currentObservers) {\n observer.next(value);\n }\n }\n });\n }\n\n error(err: any) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.error(err);\n }\n }\n });\n }\n\n complete() {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.complete();\n }\n }\n });\n }\n\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null!;\n }\n\n get observed() {\n return this.observers?.length > 0;\n }\n\n /** @internal */\n protected _trySubscribe(subscriber: Subscriber): TeardownLogic {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n\n /** @internal */\n protected _innerSubscribe(subscriber: Subscriber) {\n const { hasError, isStopped, observers } = this;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(() => {\n this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n }\n\n /** @internal */\n protected _checkFinalizedStatuses(subscriber: Subscriber) {\n const { hasError, thrownError, isStopped } = this;\n if (hasError) {\n subscriber.error(thrownError);\n } else if (isStopped) {\n subscriber.complete();\n }\n }\n\n /**\n * Creates a new Observable with this Subject as the source. You can do this\n * to create custom Observer-side logic of the Subject and conceal it from\n * code that uses the Observable.\n * @return {Observable} Observable that the Subject casts to\n */\n asObservable(): Observable {\n const observable: any = new Observable();\n observable.source = this;\n return observable;\n }\n}\n\n/**\n * @class AnonymousSubject\n */\nexport class AnonymousSubject extends Subject {\n constructor(\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n public destination?: Observer,\n source?: Observable\n ) {\n super();\n this.source = source;\n }\n\n next(value: T) {\n this.destination?.next?.(value);\n }\n\n error(err: any) {\n this.destination?.error?.(err);\n }\n\n complete() {\n this.destination?.complete?.();\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n return this.source?.subscribe(subscriber) ?? EMPTY_SUBSCRIPTION;\n }\n}\n", "import { Subject } from './Subject';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\n\n/**\n * A variant of Subject that requires an initial value and emits its current\n * value whenever it is subscribed to.\n *\n * @class BehaviorSubject\n */\nexport class BehaviorSubject extends Subject {\n constructor(private _value: T) {\n super();\n }\n\n get value(): T {\n return this.getValue();\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n const subscription = super._subscribe(subscriber);\n !subscription.closed && subscriber.next(this._value);\n return subscription;\n }\n\n getValue(): T {\n const { hasError, thrownError, _value } = this;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n }\n\n next(value: T): void {\n super.next((this._value = value));\n }\n}\n", "import { TimestampProvider } from '../types';\n\ninterface DateTimestampProvider extends TimestampProvider {\n delegate: TimestampProvider | undefined;\n}\n\nexport const dateTimestampProvider: DateTimestampProvider = {\n now() {\n // Use the variable rather than `this` so that the function can be called\n // without being bound to the provider.\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n", "import { Subject } from './Subject';\nimport { TimestampProvider } from './types';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\n\n/**\n * A variant of {@link Subject} that \"replays\" old values to new subscribers by emitting them when they first subscribe.\n *\n * `ReplaySubject` has an internal buffer that will store a specified number of values that it has observed. Like `Subject`,\n * `ReplaySubject` \"observes\" values by having them passed to its `next` method. When it observes a value, it will store that\n * value for a time determined by the configuration of the `ReplaySubject`, as passed to its constructor.\n *\n * When a new subscriber subscribes to the `ReplaySubject` instance, it will synchronously emit all values in its buffer in\n * a First-In-First-Out (FIFO) manner. The `ReplaySubject` will also complete, if it has observed completion; and it will\n * error if it has observed an error.\n *\n * There are two main configuration items to be concerned with:\n *\n * 1. `bufferSize` - This will determine how many items are stored in the buffer, defaults to infinite.\n * 2. `windowTime` - The amount of time to hold a value in the buffer before removing it from the buffer.\n *\n * Both configurations may exist simultaneously. So if you would like to buffer a maximum of 3 values, as long as the values\n * are less than 2 seconds old, you could do so with a `new ReplaySubject(3, 2000)`.\n *\n * ### Differences with BehaviorSubject\n *\n * `BehaviorSubject` is similar to `new ReplaySubject(1)`, with a couple of exceptions:\n *\n * 1. `BehaviorSubject` comes \"primed\" with a single value upon construction.\n * 2. `ReplaySubject` will replay values, even after observing an error, where `BehaviorSubject` will not.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n * @see {@link shareReplay}\n */\nexport class ReplaySubject extends Subject {\n private _buffer: (T | number)[] = [];\n private _infiniteTimeWindow = true;\n\n /**\n * @param bufferSize The size of the buffer to replay on subscription\n * @param windowTime The amount of time the buffered items will stay buffered\n * @param timestampProvider An object with a `now()` method that provides the current timestamp. This is used to\n * calculate the amount of time something has been buffered.\n */\n constructor(\n private _bufferSize = Infinity,\n private _windowTime = Infinity,\n private _timestampProvider: TimestampProvider = dateTimestampProvider\n ) {\n super();\n this._infiniteTimeWindow = _windowTime === Infinity;\n this._bufferSize = Math.max(1, _bufferSize);\n this._windowTime = Math.max(1, _windowTime);\n }\n\n next(value: T): void {\n const { isStopped, _buffer, _infiniteTimeWindow, _timestampProvider, _windowTime } = this;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n super.next(value);\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n this._throwIfClosed();\n this._trimBuffer();\n\n const subscription = this._innerSubscribe(subscriber);\n\n const { _infiniteTimeWindow, _buffer } = this;\n // We use a copy here, so reentrant code does not mutate our array while we're\n // emitting it to a new subscriber.\n const copy = _buffer.slice();\n for (let i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i] as T);\n }\n\n this._checkFinalizedStatuses(subscriber);\n\n return subscription;\n }\n\n private _trimBuffer() {\n const { _bufferSize, _timestampProvider, _buffer, _infiniteTimeWindow } = this;\n // If we don't have an infinite buffer size, and we're over the length,\n // use splice to truncate the old buffer values off. Note that we have to\n // double the size for instances where we're not using an infinite time window\n // because we're storing the values and the timestamps in the same array.\n const adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n\n // Now, if we're not in an infinite time window, remove all values where the time is\n // older than what is allowed.\n if (!_infiniteTimeWindow) {\n const now = _timestampProvider.now();\n let last = 0;\n // Search the array for the first timestamp that isn't expired and\n // truncate the buffer up to that point.\n for (let i = 1; i < _buffer.length && (_buffer[i] as number) <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n }\n}\n", "import { Scheduler } from '../Scheduler';\nimport { Subscription } from '../Subscription';\nimport { SchedulerAction } from '../types';\n\n/**\n * A unit of work to be executed in a `scheduler`. An action is typically\n * created from within a {@link SchedulerLike} and an RxJS user does not need to concern\n * themselves about creating and manipulating an Action.\n *\n * ```ts\n * class Action extends Subscription {\n * new (scheduler: Scheduler, work: (state?: T) => void);\n * schedule(state?: T, delay: number = 0): Subscription;\n * }\n * ```\n *\n * @class Action\n */\nexport class Action extends Subscription {\n constructor(scheduler: Scheduler, work: (this: SchedulerAction, state?: T) => void) {\n super();\n }\n /**\n * Schedules this action on its parent {@link SchedulerLike} for execution. May be passed\n * some context object, `state`. May happen at some point in the future,\n * according to the `delay` parameter, if specified.\n * @param {T} [state] Some contextual data that the `work` function uses when\n * called by the Scheduler.\n * @param {number} [delay] Time to wait before executing the work, where the\n * time unit is implicit and defined by the Scheduler.\n * @return {void}\n */\n public schedule(state?: T, delay: number = 0): Subscription {\n return this;\n }\n}\n", "import type { TimerHandle } from './timerHandle';\ntype SetIntervalFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;\ntype ClearIntervalFunction = (handle: TimerHandle) => void;\n\ninterface IntervalProvider {\n setInterval: SetIntervalFunction;\n clearInterval: ClearIntervalFunction;\n delegate:\n | {\n setInterval: SetIntervalFunction;\n clearInterval: ClearIntervalFunction;\n }\n | undefined;\n}\n\nexport const intervalProvider: IntervalProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setInterval(handler: () => void, timeout?: number, ...args) {\n const { delegate } = intervalProvider;\n if (delegate?.setInterval) {\n return delegate.setInterval(handler, timeout, ...args);\n }\n return setInterval(handler, timeout, ...args);\n },\n clearInterval(handle) {\n const { delegate } = intervalProvider;\n return (delegate?.clearInterval || clearInterval)(handle as any);\n },\n delegate: undefined,\n};\n", "import { Action } from './Action';\nimport { SchedulerAction } from '../types';\nimport { Subscription } from '../Subscription';\nimport { AsyncScheduler } from './AsyncScheduler';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nimport { TimerHandle } from './timerHandle';\n\nexport class AsyncAction extends Action {\n public id: TimerHandle | undefined;\n public state?: T;\n // @ts-ignore: Property has no initializer and is not definitely assigned\n public delay: number;\n protected pending: boolean = false;\n\n constructor(protected scheduler: AsyncScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n public schedule(state?: T, delay: number = 0): Subscription {\n if (this.closed) {\n return this;\n }\n\n // Always replace the current state with the new state.\n this.state = state;\n\n const id = this.id;\n const scheduler = this.scheduler;\n\n //\n // Important implementation note:\n //\n // Actions only execute once by default, unless rescheduled from within the\n // scheduled callback. This allows us to implement single and repeat\n // actions via the same code path, without adding API surface area, as well\n // as mimic traditional recursion but across asynchronous boundaries.\n //\n // However, JS runtimes and timers distinguish between intervals achieved by\n // serial `setTimeout` calls vs. a single `setInterval` call. An interval of\n // serial `setTimeout` calls can be individually delayed, which delays\n // scheduling the next `setTimeout`, and so on. `setInterval` attempts to\n // guarantee the interval callback will be invoked more precisely to the\n // interval period, regardless of load.\n //\n // Therefore, we use `setInterval` to schedule single and repeat actions.\n // If the action reschedules itself with the same delay, the interval is not\n // canceled. If the action doesn't reschedule, or reschedules with a\n // different delay, the interval will be canceled after scheduled callback\n // execution.\n //\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n\n // Set the pending flag indicating that this action has been scheduled, or\n // has recursively rescheduled itself.\n this.pending = true;\n\n this.delay = delay;\n // If this action has already an async Id, don't request a new one.\n this.id = this.id ?? this.requestAsyncId(scheduler, this.id, delay);\n\n return this;\n }\n\n protected requestAsyncId(scheduler: AsyncScheduler, _id?: TimerHandle, delay: number = 0): TimerHandle {\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n\n protected recycleAsyncId(_scheduler: AsyncScheduler, id?: TimerHandle, delay: number | null = 0): TimerHandle | undefined {\n // If this action is rescheduled with the same delay time, don't clear the interval id.\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n // Otherwise, if the action's delay time is different from the current delay,\n // or the action has been rescheduled before it's executed, clear the interval id\n if (id != null) {\n intervalProvider.clearInterval(id);\n }\n\n return undefined;\n }\n\n /**\n * Immediately executes this action and the `work` it contains.\n * @return {any}\n */\n public execute(state: T, delay: number): any {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n } else if (this.pending === false && this.id != null) {\n // Dequeue if the action didn't reschedule itself. Don't call\n // unsubscribe(), because the action could reschedule later.\n // For example:\n // ```\n // scheduler.schedule(function doWork(counter) {\n // /* ... I'm a busy worker bee ... */\n // var originalAction = this;\n // /* wait 100ms before rescheduling the action */\n // setTimeout(function () {\n // originalAction.schedule(counter + 1);\n // }, 100);\n // }, 1000);\n // ```\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n\n protected _execute(state: T, _delay: number): any {\n let errored: boolean = false;\n let errorValue: any;\n try {\n this.work(state);\n } catch (e) {\n errored = true;\n // HACK: Since code elsewhere is relying on the \"truthiness\" of the\n // return here, we can't have it return \"\" or 0 or false.\n // TODO: Clean this up when we refactor schedulers mid-version-8 or so.\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n\n unsubscribe() {\n if (!this.closed) {\n const { id, scheduler } = this;\n const { actions } = scheduler;\n\n this.work = this.state = this.scheduler = null!;\n this.pending = false;\n\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n\n this.delay = null!;\n super.unsubscribe();\n }\n }\n}\n", "import { Action } from './scheduler/Action';\nimport { Subscription } from './Subscription';\nimport { SchedulerLike, SchedulerAction } from './types';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\n\n/**\n * An execution context and a data structure to order tasks and schedule their\n * execution. Provides a notion of (potentially virtual) time, through the\n * `now()` getter method.\n *\n * Each unit of work in a Scheduler is called an `Action`.\n *\n * ```ts\n * class Scheduler {\n * now(): number;\n * schedule(work, delay?, state?): Subscription;\n * }\n * ```\n *\n * @class Scheduler\n * @deprecated Scheduler is an internal implementation detail of RxJS, and\n * should not be used directly. Rather, create your own class and implement\n * {@link SchedulerLike}. Will be made internal in v8.\n */\nexport class Scheduler implements SchedulerLike {\n public static now: () => number = dateTimestampProvider.now;\n\n constructor(private schedulerActionCtor: typeof Action, now: () => number = Scheduler.now) {\n this.now = now;\n }\n\n /**\n * A getter method that returns a number representing the current time\n * (at the time this function was called) according to the scheduler's own\n * internal clock.\n * @return {number} A number that represents the current time. May or may not\n * have a relation to wall-clock time. May or may not refer to a time unit\n * (e.g. milliseconds).\n */\n public now: () => number;\n\n /**\n * Schedules a function, `work`, for execution. May happen at some point in\n * the future, according to the `delay` parameter, if specified. May be passed\n * some context object, `state`, which will be passed to the `work` function.\n *\n * The given arguments will be processed an stored as an Action object in a\n * queue of actions.\n *\n * @param {function(state: ?T): ?Subscription} work A function representing a\n * task, or some unit of work to be executed by the Scheduler.\n * @param {number} [delay] Time to wait before executing the work, where the\n * time unit is implicit and defined by the Scheduler itself.\n * @param {T} [state] Some contextual data that the `work` function uses when\n * called by the Scheduler.\n * @return {Subscription} A subscription in order to be able to unsubscribe\n * the scheduled work.\n */\n public schedule(work: (this: SchedulerAction, state?: T) => void, delay: number = 0, state?: T): Subscription {\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n }\n}\n", "import { Scheduler } from '../Scheduler';\nimport { Action } from './Action';\nimport { AsyncAction } from './AsyncAction';\nimport { TimerHandle } from './timerHandle';\n\nexport class AsyncScheduler extends Scheduler {\n public actions: Array> = [];\n /**\n * A flag to indicate whether the Scheduler is currently executing a batch of\n * queued actions.\n * @type {boolean}\n * @internal\n */\n public _active: boolean = false;\n /**\n * An internal ID used to track the latest asynchronous task such as those\n * coming from `setTimeout`, `setInterval`, `requestAnimationFrame`, and\n * others.\n * @type {any}\n * @internal\n */\n public _scheduled: TimerHandle | undefined;\n\n constructor(SchedulerAction: typeof Action, now: () => number = Scheduler.now) {\n super(SchedulerAction, now);\n }\n\n public flush(action: AsyncAction): void {\n const { actions } = this;\n\n if (this._active) {\n actions.push(action);\n return;\n }\n\n let error: any;\n this._active = true;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()!)); // exhaust the scheduler queue\n\n this._active = false;\n\n if (error) {\n while ((action = actions.shift()!)) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n", "import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\n/**\n *\n * Async Scheduler\n *\n * Schedule task as if you used setTimeout(task, duration)\n *\n * `async` scheduler schedules tasks asynchronously, by putting them on the JavaScript\n * event loop queue. It is best used to delay tasks in time or to schedule tasks repeating\n * in intervals.\n *\n * If you just want to \"defer\" task, that is to perform it right after currently\n * executing synchronous code ends (commonly achieved by `setTimeout(deferredTask, 0)`),\n * better choice will be the {@link asapScheduler} scheduler.\n *\n * ## Examples\n * Use async scheduler to delay task\n * ```ts\n * import { asyncScheduler } from 'rxjs';\n *\n * const task = () => console.log('it works!');\n *\n * asyncScheduler.schedule(task, 2000);\n *\n * // After 2 seconds logs:\n * // \"it works!\"\n * ```\n *\n * Use async scheduler to repeat task in intervals\n * ```ts\n * import { asyncScheduler } from 'rxjs';\n *\n * function task(state) {\n * console.log(state);\n * this.schedule(state + 1, 1000); // `this` references currently executing Action,\n * // which we reschedule with new state and delay\n * }\n *\n * asyncScheduler.schedule(task, 3000, 0);\n *\n * // Logs:\n * // 0 after 3s\n * // 1 after 4s\n * // 2 after 5s\n * // 3 after 6s\n * ```\n */\n\nexport const asyncScheduler = new AsyncScheduler(AsyncAction);\n\n/**\n * @deprecated Renamed to {@link asyncScheduler}. Will be removed in v8.\n */\nexport const async = asyncScheduler;\n", "import { AsyncAction } from './AsyncAction';\nimport { Subscription } from '../Subscription';\nimport { QueueScheduler } from './QueueScheduler';\nimport { SchedulerAction } from '../types';\nimport { TimerHandle } from './timerHandle';\n\nexport class QueueAction extends AsyncAction {\n constructor(protected scheduler: QueueScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n public schedule(state?: T, delay: number = 0): Subscription {\n if (delay > 0) {\n return super.schedule(state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n }\n\n public execute(state: T, delay: number): any {\n return delay > 0 || this.closed ? super.execute(state, delay) : this._execute(state, delay);\n }\n\n protected requestAsyncId(scheduler: QueueScheduler, id?: TimerHandle, delay: number = 0): TimerHandle {\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n\n if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n\n // Otherwise flush the scheduler starting with this action.\n scheduler.flush(this);\n\n // HACK: In the past, this was returning `void`. However, `void` isn't a valid\n // `TimerHandle`, and generally the return value here isn't really used. So the\n // compromise is to return `0` which is both \"falsy\" and a valid `TimerHandle`,\n // as opposed to refactoring every other instanceo of `requestAsyncId`.\n return 0;\n }\n}\n", "import { AsyncScheduler } from './AsyncScheduler';\n\nexport class QueueScheduler extends AsyncScheduler {\n}\n", "import { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\n\n/**\n *\n * Queue Scheduler\n *\n * Put every next task on a queue, instead of executing it immediately\n *\n * `queue` scheduler, when used with delay, behaves the same as {@link asyncScheduler} scheduler.\n *\n * When used without delay, it schedules given task synchronously - executes it right when\n * it is scheduled. However when called recursively, that is when inside the scheduled task,\n * another task is scheduled with queue scheduler, instead of executing immediately as well,\n * that task will be put on a queue and wait for current one to finish.\n *\n * This means that when you execute task with `queue` scheduler, you are sure it will end\n * before any other task scheduled with that scheduler will start.\n *\n * ## Examples\n * Schedule recursively first, then do something\n * ```ts\n * import { queueScheduler } from 'rxjs';\n *\n * queueScheduler.schedule(() => {\n * queueScheduler.schedule(() => console.log('second')); // will not happen now, but will be put on a queue\n *\n * console.log('first');\n * });\n *\n * // Logs:\n * // \"first\"\n * // \"second\"\n * ```\n *\n * Reschedule itself recursively\n * ```ts\n * import { queueScheduler } from 'rxjs';\n *\n * queueScheduler.schedule(function(state) {\n * if (state !== 0) {\n * console.log('before', state);\n * this.schedule(state - 1); // `this` references currently executing Action,\n * // which we reschedule with new state\n * console.log('after', state);\n * }\n * }, 0, 3);\n *\n * // In scheduler that runs recursively, you would expect:\n * // \"before\", 3\n * // \"before\", 2\n * // \"before\", 1\n * // \"after\", 1\n * // \"after\", 2\n * // \"after\", 3\n *\n * // But with queue it logs:\n * // \"before\", 3\n * // \"after\", 3\n * // \"before\", 2\n * // \"after\", 2\n * // \"before\", 1\n * // \"after\", 1\n * ```\n */\n\nexport const queueScheduler = new QueueScheduler(QueueAction);\n\n/**\n * @deprecated Renamed to {@link queueScheduler}. Will be removed in v8.\n */\nexport const queue = queueScheduler;\n", "import { AsyncAction } from './AsyncAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nimport { SchedulerAction } from '../types';\nimport { animationFrameProvider } from './animationFrameProvider';\nimport { TimerHandle } from './timerHandle';\n\nexport class AnimationFrameAction extends AsyncAction {\n constructor(protected scheduler: AnimationFrameScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n protected requestAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle {\n // If delay is greater than 0, request as an async action.\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n // Push the action to the end of the scheduler queue.\n scheduler.actions.push(this);\n // If an animation frame has already been requested, don't request another\n // one. If an animation frame hasn't been requested yet, request one. Return\n // the current animation frame request id.\n return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined)));\n }\n\n protected recycleAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle | undefined {\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n if (delay != null ? delay > 0 : this.delay > 0) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n // If the scheduler queue has no remaining actions with the same async id,\n // cancel the requested animation frame and set the scheduled flag to\n // undefined so the next AnimationFrameAction will request its own.\n const { actions } = scheduler;\n if (id != null && actions[actions.length - 1]?.id !== id) {\n animationFrameProvider.cancelAnimationFrame(id as number);\n scheduler._scheduled = undefined;\n }\n // Return undefined so the action knows to request a new async id if it's rescheduled.\n return undefined;\n }\n}\n", "import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\nexport class AnimationFrameScheduler extends AsyncScheduler {\n public flush(action?: AsyncAction): void {\n this._active = true;\n // The async id that effects a call to flush is stored in _scheduled.\n // Before executing an action, it's necessary to check the action's async\n // id to determine whether it's supposed to be executed in the current\n // flush.\n // Previous implementations of this method used a count to determine this,\n // but that was unsound, as actions that are unsubscribed - i.e. cancelled -\n // are removed from the actions array and that can shift actions that are\n // scheduled to be executed in a subsequent flush into positions at which\n // they are executed within the current flush.\n const flushId = this._scheduled;\n this._scheduled = undefined;\n\n const { actions } = this;\n let error: any;\n action = action || actions.shift()!;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n\n this._active = false;\n\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n", "import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\n\n/**\n *\n * Animation Frame Scheduler\n *\n * Perform task when `window.requestAnimationFrame` would fire\n *\n * When `animationFrame` scheduler is used with delay, it will fall back to {@link asyncScheduler} scheduler\n * behaviour.\n *\n * Without delay, `animationFrame` scheduler can be used to create smooth browser animations.\n * It makes sure scheduled task will happen just before next browser content repaint,\n * thus performing animations as efficiently as possible.\n *\n * ## Example\n * Schedule div height animation\n * ```ts\n * // html:
\n * import { animationFrameScheduler } from 'rxjs';\n *\n * const div = document.querySelector('div');\n *\n * animationFrameScheduler.schedule(function(height) {\n * div.style.height = height + \"px\";\n *\n * this.schedule(height + 1); // `this` references currently executing Action,\n * // which we reschedule with new state\n * }, 0, 0);\n *\n * // You will see a div element growing in height\n * ```\n */\n\nexport const animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);\n\n/**\n * @deprecated Renamed to {@link animationFrameScheduler}. Will be removed in v8.\n */\nexport const animationFrame = animationFrameScheduler;\n", "import { Observable } from '../Observable';\nimport { SchedulerLike } from '../types';\n\n/**\n * A simple Observable that emits no items to the Observer and immediately\n * emits a complete notification.\n *\n * Just emits 'complete', and nothing else.\n *\n * ![](empty.png)\n *\n * A simple Observable that only emits the complete notification. It can be used\n * for composing with other Observables, such as in a {@link mergeMap}.\n *\n * ## Examples\n *\n * Log complete notification\n *\n * ```ts\n * import { EMPTY } from 'rxjs';\n *\n * EMPTY.subscribe({\n * next: () => console.log('Next'),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Outputs\n * // Complete!\n * ```\n *\n * Emit the number 7, then complete\n *\n * ```ts\n * import { EMPTY, startWith } from 'rxjs';\n *\n * const result = EMPTY.pipe(startWith(7));\n * result.subscribe(x => console.log(x));\n *\n * // Outputs\n * // 7\n * ```\n *\n * Map and flatten only odd numbers to the sequence `'a'`, `'b'`, `'c'`\n *\n * ```ts\n * import { interval, mergeMap, of, EMPTY } from 'rxjs';\n *\n * const interval$ = interval(1000);\n * const result = interval$.pipe(\n * mergeMap(x => x % 2 === 1 ? of('a', 'b', 'c') : EMPTY),\n * );\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following to the console:\n * // x is equal to the count on the interval, e.g. (0, 1, 2, 3, ...)\n * // x will occur every 1000ms\n * // if x % 2 is equal to 1, print a, b, c (each on its own)\n * // if x % 2 is not equal to 1, nothing will be output\n * ```\n *\n * @see {@link Observable}\n * @see {@link NEVER}\n * @see {@link of}\n * @see {@link throwError}\n */\nexport const EMPTY = new Observable((subscriber) => subscriber.complete());\n\n/**\n * @param scheduler A {@link SchedulerLike} to use for scheduling\n * the emission of the complete notification.\n * @deprecated Replaced with the {@link EMPTY} constant or {@link scheduled} (e.g. `scheduled([], scheduler)`). Will be removed in v8.\n */\nexport function empty(scheduler?: SchedulerLike) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\n\nfunction emptyScheduled(scheduler: SchedulerLike) {\n return new Observable((subscriber) => scheduler.schedule(() => subscriber.complete()));\n}\n", "import { SchedulerLike } from '../types';\nimport { isFunction } from './isFunction';\n\nexport function isScheduler(value: any): value is SchedulerLike {\n return value && isFunction(value.schedule);\n}\n", "import { SchedulerLike } from '../types';\nimport { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\n\nfunction last(arr: T[]): T | undefined {\n return arr[arr.length - 1];\n}\n\nexport function popResultSelector(args: any[]): ((...args: unknown[]) => unknown) | undefined {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\n\nexport function popScheduler(args: any[]): SchedulerLike | undefined {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\n\nexport function popNumber(args: any[], defaultValue: number): number {\n return typeof last(args) === 'number' ? args.pop()! : defaultValue;\n}\n", "export const isArrayLike = ((x: any): x is ArrayLike => x && typeof x.length === 'number' && typeof x !== 'function');", "import { isFunction } from \"./isFunction\";\n\n/**\n * Tests to see if the object is \"thennable\".\n * @param value the object to test\n */\nexport function isPromise(value: any): value is PromiseLike {\n return isFunction(value?.then);\n}\n", "import { InteropObservable } from '../types';\nimport { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\n\n/** Identifies an input as being Observable (but not necessary an Rx Observable) */\nexport function isInteropObservable(input: any): input is InteropObservable {\n return isFunction(input[Symbol_observable]);\n}\n", "import { isFunction } from './isFunction';\n\nexport function isAsyncIterable(obj: any): obj is AsyncIterable {\n return Symbol.asyncIterator && isFunction(obj?.[Symbol.asyncIterator]);\n}\n", "/**\n * Creates the TypeError to throw if an invalid object is passed to `from` or `scheduled`.\n * @param input The object that was passed.\n */\nexport function createInvalidObservableTypeError(input: any) {\n // TODO: We should create error codes that can be looked up, so this can be less verbose.\n return new TypeError(\n `You provided ${\n input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`\n } where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`\n );\n}\n", "export function getSymbolIterator(): symbol {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator' as any;\n }\n\n return Symbol.iterator;\n}\n\nexport const iterator = getSymbolIterator();\n", "import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\n\n/** Identifies an input as being an Iterable */\nexport function isIterable(input: any): input is Iterable {\n return isFunction(input?.[Symbol_iterator]);\n}\n", "import { ReadableStreamLike } from '../types';\nimport { isFunction } from './isFunction';\n\nexport async function* readableStreamLikeToAsyncGenerator(readableStream: ReadableStreamLike): AsyncGenerator {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { value, done } = await reader.read();\n if (done) {\n return;\n }\n yield value!;\n }\n } finally {\n reader.releaseLock();\n }\n}\n\nexport function isReadableStreamLike(obj: any): obj is ReadableStreamLike {\n // We don't want to use instanceof checks because they would return\n // false for instances from another Realm, like an