diff --git a/LICENSE b/LICENSE index 5c304d1..f288702 100644 --- a/LICENSE +++ b/LICENSE @@ -1,201 +1,674 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. - 1. Definitions. + Preamble - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. + The GNU General Public License is a free, copyleft license for +software and other kinds of works. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. + The precise terms and conditions for copying, distribution and +modification follow. - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. + TERMS AND CONDITIONS - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. + 0. Definitions. - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: + "This License" refers to version 3 of the GNU General Public License. - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. + A "covered work" means either the unmodified Program or a work based +on the Program. - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. + 1. Source Code. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. - END OF TERMS AND CONDITIONS + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. - APPENDIX: How to apply the Apache License to your work. + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. - Copyright {yyyy} {name of copyright owner} + The Corresponding Source for a work in source code form is that +same work. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at + 2. Basic Permissions. - http://www.apache.org/licenses/LICENSE-2.0 + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..a06b8af --- /dev/null +++ b/README.md @@ -0,0 +1,61 @@ +# KiwiIRC for YunoHost + +[![Integration level](https://dash.yunohost.org/integration/kiwiirc.svg)](https://dash.yunohost.org/appci/app/kiwiirc) ![](https://ci-apps.yunohost.org/ci/badges/kiwiirc.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/kiwiirc.maintain.svg) +[![Install Kiwiirc with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=kiwiirc) + +*[Lire ce readme en français.](./README_fr.md)* + +> *This package allows you to install Kiwiirc quickly and simply on a YunoHost server. +If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* + +## Overview +HedgeDoc is a real-time collaborative word processing web service. It uses Markdown language. + +**Shipped version:** 1.5.0 + +## Screenshots + +![]() + +## Demo + +* [Official demo]() + +## Configuration + + +## Documentation + + * Official documentation: https://github.com/kiwiirc/kiwiirc/wiki + * YunoHost documentation: + +## YunoHost specific features + +#### Multi-user support + +* Is LDAP supported? **Yes** +* Can the app be used by multiple users? **Yes** + +#### Supported architectures + +* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/kiwiirc%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/kiwiirc/) +* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/kiwiirc%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/kiwiirc/) + +## Links + + * Report a bug: https://github.com/YunoHost-Apps/kiwiirc_ynh/issues + * Upstream app repository: https://github.com/kiwiirc/kiwiirc + * YunoHost website: https://yunohost.org/ + +--- + +## Developer info + +Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/kiwiirc_ynh/tree/testing). + +To try the testing branch, please proceed like that. +``` +sudo yunohost app install https://github.com/YunoHost-Apps/kiwiirc_ynh/tree/testing --debug +or +sudo yunohost app upgrade kiwiirc -u https://github.com/YunoHost-Apps/kiwiirc_ynh/tree/testing --debug +``` diff --git a/README_fr.md b/README_fr.md new file mode 100644 index 0000000..80aad2d --- /dev/null +++ b/README_fr.md @@ -0,0 +1,60 @@ +# KiwiIRC pour YunoHost + +[![Niveau d'intégration](https://dash.yunohost.org/integration/kiwiirc.svg)](https://dash.yunohost.org/appci/app/kiwiirc) ![](https://ci-apps.yunohost.org/ci/badges/kiwiirc.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/kiwiirc.maintain.svg) +[![Installer HedgeDoc avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=kiwiirc) + +*[Read this readme in english.](./README.md)* + +> *Ce package vous permet d'installer HedgeDoc rapidement et simplement sur un serveur YunoHost. +Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install) pour apprendre comment l'installer.* + +## Vue d'ensemble +HedgeDoc est un service web de traitement de texte collaboratif en temps réel. Il utilise le langage Markdown. + +**Version incluse :** 1.5.0 + +## Captures d'écran + +![]() + +## Démo + +* [Démo officielle]() + +## Configuration + +## Documentation + + * Documentation officielle : https://github.com/kiwiirc/kiwiirc/wiki + * Documentation YunoHost : + +## Caractéristiques spécifiques YunoHost + +#### Support multi-utilisateur + +* L'authentification LDAP est-elle prise en charge ? **Oui** +* L'application peut-elle être utilisée par plusieurs utilisateurs ? **Oui** + +#### Architectures supportées + +* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/kiwiirc%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/kiwiirc/) +* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/kiwiirc%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/kiwiirc/) + +## Liens + + * Signaler un bug : https://github.com/YunoHost-Apps/kiwiirc_ynh/issues + * Dépôt de l'application principale : https://github.com/kiwiirc/kiwiirc + * Site web YunoHost : https://yunohost.org/ + +--- + +## Informations pour les développeurs + +Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/kiwiirc_ynh/tree/testing). + +Pour essayer la branche testing, procédez comme suit. +``` +sudo yunohost app install https://github.com/YunoHost-Apps/kiwiirc_ynh/tree/testing --debug +ou +sudo yunohost app upgrade kiwiirc -u https://github.com/YunoHost-Apps/kiwiirc_ynh/tree/testing --debug +``` diff --git a/check_process b/check_process new file mode 100644 index 0000000..8e8ec62 --- /dev/null +++ b/check_process @@ -0,0 +1,25 @@ +;; Test complet + ; Manifest + domain="domain.tld" (DOMAIN) + path="/path" (PATH) + admin="john" (USER) + is_public=1 (PUBLIC|public=1|private=0) + ; Checks + pkg_linter=1 + setup_sub_dir=1 + setup_root=1 + setup_nourl=0 + setup_private=1 + setup_public=1 + upgrade=1 + backup_restore=1 + multi_instance=0 + port_already_use=0 + change_url=1 +;;; Levels + Level 5=auto +;;; Options +Email= +Notification=none +;;; Upgrade options + manifest_arg=domain=DOMAIN&path=PATH&admin=USER&is_public=1& \ No newline at end of file diff --git a/conf/config.js b/conf/config.js deleted file mode 100644 index 6f05f2a..0000000 --- a/conf/config.js +++ /dev/null @@ -1,215 +0,0 @@ -var conf = {}; - -// Run the Kiwi server under a different user/group -conf.user = "kiwiirc"; -conf.group = "kiwiirc"; - - -// Log file location -conf.log = "/var/log/ynh-kiwiirc.log"; - -/* - * Server listen blocks - */ - -// Do not edit this line! -conf.servers = []; - -// Example server block -conf.servers.push({ - port: 7778, - address: "0.0.0.0" -}); - -// Example SSL server block -//conf.servers.push({ -// port: 7777, -// address: "0.0.0.0", -// -// ssl: true, -// ssl_key: "server.key", -// ssl_cert: "cert.pem" -//}); - -// Network interface for outgoing connections -conf.outgoing_address = { - IPv4: '0.0.0.0' - //IPv6: '::' -}; - - -// Do we want to enable the built in Identd server? -conf.identd = { - enabled: false, - port: 113, - address: "0.0.0.0" -}; - - - - - - -// Where the client files are -conf.public_http = "client/"; - -// Max connections per connection. 0 to disable -conf.max_client_conns = 5; - -// Max connections per server. 0 to disable. -// Setting is ignored if: -// - There is a WEBIRC password configured for the server, -// - Kiwi is configured to send the client's ip as a username for the server, or -// - Kiwi is running in restricted server mode. -conf.max_server_conns = 0; - -/* -* Default encoding to be used by the server -* As specified and limited to iconv-lite library support. -*/ -conf.default_encoding = 'utf8'; - - -/* -* Default GECOS (real name) for IRC connections -* %n will be replaced with the users nick -* %h will be replaced with the users hostname -*/ -//conf.default_gecos = 'Web IRC Client'; - - - -/* - * Client side plugins - * Array of URLs that will be loaded into the browser when the client first loads up - * See http://github.com/prawnsalad/KiwiIRC/wiki/Client-plugins - */ -conf.client_plugins = [ - // "http://server.com/kiwi/plugins/myplugin.html" -]; - - - - -// Directory to find the server modules -conf.module_dir = "../server_modules/"; - -// Which modules to load -conf.modules = []; - - - - -// WebIRC passwords enabled for this server -conf.webirc_pass = { - //"irc.network.com": "configured_webirc_password", - //"127.0.0.1": "foobar" -}; - -// Some IRCDs require the clients IP via the username/ident -conf.ip_as_username = [ - //"irc.network.com", - //"127.0.0.1" -]; - -// Whether to verify IRC servers' SSL certificates against built-in well-known certificate authorities -conf.reject_unauthorised_certificates = false; - - - -/* - * Reverse proxy settings - * Reverse proxies that have been reported to work can be found at: - * https://kiwiirc.com/docs/installing/proxies - */ - -// Whitelisted HTTP proxies in CIDR format -conf.http_proxies = ["127.0.0.1/32"]; - -// Header that contains the real-ip from the HTTP proxy -conf.http_proxy_ip_header = "x-forwarded-for"; - -// Base HTTP path to the KIWI IRC client (eg. /kiwi) -conf.http_base_path = "YNH_BASE_PATH"; - - -/* - * SOCKS (version 5) proxy settings - * This feature is only available on node 0.10.0 and above. - * Do not enable it if you're running 0.8 or below or Bad Things will happen. - */ -conf.socks_proxy = {}; - -// Enable proxying outbound connections through a SOCKS proxy -conf.socks_proxy.enabled = false; - -// Proxy *all* outbound connections through a SOCKS proxy -conf.socks_proxy.all = false; - -// Use SOCKS proxy for these hosts only (if conf.sock_proxy.all === false) -conf.socks_proxy.proxy_hosts = [ - "irc.example.com" -]; - -// Host and port for the SOCKS proxy -conf.socks_proxy.address = '127.0.0.1'; -conf.socks_proxy.port = 1080; - -// Username and password for the SOCKS proxy -// Set user to null to disable password authentication -conf.socks_proxy.user = null; -conf.socks_proxy.pass = null; - - - -// Default quit message -conf.quit_message = "http://www.kiwiirc.com/ - A hand-crafted IRC client"; - - -// Default settings for the client. These may be changed in the browser -conf.client = { - server: 'irc.freenode.net', - port: 6697, - ssl: true, - channel: '#', - channel_key: '', - nick: 'kiwi_?', - settings: { - theme: 'relaxed', - channel_list_style: 'tabs', - scrollback: 250, - show_joins_parts: true, - show_timestamps: false, - use_24_hour_timestamps: true, - mute_sounds: false, - show_emoticons: true, - count_all_activity: true - }, - window_title: 'Kiwi IRC' -}; - -// List of themes available for the user to choose from -conf.client_themes = [ - 'relaxed', - 'mini', - 'cli', - 'basic' -]; - - -// If set, the client may only connect to this 1 IRC server -//conf.restrict_server = "irc.kiwiirc.com"; -//conf.restrict_server_port = 6667; -//conf.restrict_server_ssl = false; -//conf.restrict_server_channel = "#kiwiirc"; -//conf.restrict_server_channel_key = ""; -//conf.restrict_server_password = ""; -//conf.restrict_server_nick = "kiwi_"; - - - - -/* - * Do not amend the below lines unless you understand the changes! - */ -module.exports.production = conf; diff --git a/conf/config.json.example b/conf/config.json.example new file mode 100644 index 0000000..663f70b --- /dev/null +++ b/conf/config.json.example @@ -0,0 +1,21 @@ +{ + "windowTitle": "Kiwi IRC - The web IRC client", + "startupScreen": "customServer", + "kiwiServer": "http://example.com/webirc/kiwiirc/", + "restricted": false, + "theme": "default", + "themes": [ + { "name": "Default", "url": "static/themes/default.css" } + ], + "startupOptions" : { + "server": "irc.freenode.net", + "port": 6697, + "tls": true, + "channel": "", + "nick": "" + }, + "embedly": { + "key": "" + }, + "plugins": [] +} \ No newline at end of file diff --git a/conf/init-script b/conf/init-script deleted file mode 100644 index c1132a9..0000000 --- a/conf/init-script +++ /dev/null @@ -1,174 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: kiwiirc -# Required-Start: $network $syslog -# Required-Stop: $network $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: KiwiIRC Blogging Platform -# Description: KiwiIRC: Just a blogging platform -### END INIT INFO - -# Kindly stolen from http://docs.kiwiirc.org/pl/installation/deploy/ - -# Do NOT "set -e" - -# PATH should only include /usr/* if it runs after the mountnfs.sh script -PATH=/sbin:/usr/sbin:/bin:/usr/bin -DESC="KiwiIRC" -NAME=ynh-kiwiirc -GHOST_ROOT=/var/www/kiwiirc -GHOST_GROUP=kiwiirc -GHOST_USER=kiwiirc -DAEMON=/usr/bin/node -DAEMON_ARGS="$GHOST_ROOT/server/server.js -f" -PIDFILEDIR=/var/run/yunohost/kiwiirc -PIDFILE=$PIDFILEDIR/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME -LOGFILE="/var/log/ynh-kiwiirc.log" -export NODE_ENV=production - -# Exit if the package is not installed -[ -x "$DAEMON" ] || exit 0 - -# Read configuration variable file if it is present -[ -r /etc/default/$NAME ] && . /etc/default/$NAME - -# Load the VERBOSE setting and other rcS variables -. /lib/init/vars.sh -# I like to know what is going on -VERBOSE=yes - -# Define LSB log_* functions. -# Depend on lsb-base (>= 3.2-14) to ensure that this file is present -# and status_of_proc is working. -. /lib/lsb/init-functions - -# -# Function that starts the daemon/service -# -do_start() -{ - # Set up folder structure - mkdir -p $PIDFILEDIR - chown -R $GHOST_USER:$GHOST_GROUP $PIDFILEDIR - # Return - # 0 if daemon has been started - # 1 if daemon was already running - # 2 if daemon could not be started - start-stop-daemon --start --quiet \ - --chuid $GHOST_USER:$GHOST_GROUP --chdir $GHOST_ROOT --background \ - --pidfile $PIDFILE --make-pidfile --exec $DAEMON --test > /dev/null \ - || return 1 - - start-stop-daemon --start --quiet \ - --chuid $GHOST_USER:$GHOST_GROUP --chdir $GHOST_ROOT --background \ - --pidfile $PIDFILE --make-pidfile --exec /bin/bash -- -c "exec $DAEMON $DAEMON_ARGS >> $LOGFILE 2>&1" \ - || return 2 - # Add code here, if necessary, that waits for the process to be ready - # to handle requests from services started subsequently which depend - # on this one. As a last resort, sleep for some dime. -} - -# -# Function that stops the daemon/service -# -do_stop() -{ - # Return - # 0 if daemon has been stopped - # 1 if daemon was already stopped - # 2 if daemon could not be stopped - # other if a failure occurred - start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 \ - --pidfile $PIDFILE --name $NAME - RETVAL="$?" - [ "$RETVAL" = 2 ] && return 2 - # Wait for children to finish too if this is a daemon that forks - # and if the daemon is only ever run from this initscript. - # If the above conditions are not satisfied then add some other code - # that waits for the process to drop all resources that could be - # needed by services started subsequently. A last resort is to - # sleep for some time. - start-stop-daemon --stop --quiet --oknodo --retry=0/3/KILL/5 \ - --exec $DAEMON - [ "$?" = 2 ] && return 2 - # Many daemons don't delete their pidfiles when they exit. - rm -f $PIDFILE - return "$RETVAL" -} - -# # -# # Function that sends a SIGHUP to the daemon/service -# # -# do_reload() { -# # -# # If the daemon can reload its configuration without -# # restarting (for example, when it is sent a SIGHUP), -# # then implement that here. -# # -# start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE \ -# --name $NAME -# return 0 -# } - -case "$1" in -start) - [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" - do_start - case "$?" in - 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; - 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; - esac - ;; -stop) - [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" - do_stop - case "$?" in - 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; - 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; - esac - ;; -status) - status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? - ;; -#reload|force-reload) - # - # If do_reload() is not implemented then leave this commented out - # and leave 'force-reload' as an alias for 'restart'. - # - #log_daemon_msg "Reloading $DESC" "$NAME" - #do_reload - #log_end_msg $? - #;; -restart|force-reload) - # - # If the "reload" option is implemented then remove the - # 'force-reload' alias - # - log_daemon_msg "Restarting $DESC" "$NAME" - do_stop - case "$?" in - 0|1) - do_start - case "$?" in - 0) log_end_msg 0 ;; - 1) log_end_msg 1 ;; # Old process is still running - *) log_end_msg 1 ;; # Failed to start - esac - ;; - *) - # Failed to stop - log_end_msg 1 - ;; - esac - ;; -*) - #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 - echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 - exit 3 - ;; -esac - -exit 0 - diff --git a/conf/logrotate b/conf/logrotate deleted file mode 100644 index 9dfc1dc..0000000 --- a/conf/logrotate +++ /dev/null @@ -1,10 +0,0 @@ -YNH_LOGFILE -{ - weekly - missingok - rotate 12 - notifempty - compress - delaycompress - copytruncate -} \ No newline at end of file diff --git a/conf/nginx.conf b/conf/nginx.conf index 392d730..052c370 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -1,14 +1,14 @@ -location YNH_LOCATION { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $http_host; - proxy_set_header X-NginX-Proxy true; +#sub_path_only rewrite ^__PATH__$ __PATH__/ permanent; +location __PATH__/ { - proxy_pass http://127.0.0.1:7778YNH_LOCATION; - proxy_redirect default; + # Path to source + alias __FINALPATH__/ ; - # Websocket support (from version 1.4) - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; + # Force usage of https + if ($scheme = http) { + rewrite ^ https://$server_name$request_uri? permanent; + } + + # Include SSOWAT user panel. + include conf.d/yunohost_panel.conf.inc; } diff --git a/issue_template.md b/issue_template.md new file mode 100644 index 0000000..2b2c8cf --- /dev/null +++ b/issue_template.md @@ -0,0 +1,46 @@ +--- +name: Bug report +about: Create a report to help us debug, it would be nice to fill the template as much as you can to help us, help you and help us all. + +--- + +**How to post a meaningful bug report** +1. *Read this whole template first.* +2. *Determine if you are on the right place:* + - *If you were performing an action on the app from the webadmin or the CLI (install, update, backup, restore, change_url...), you are on the right place!* + - *Otherwise, the issue may be due to HedgeDoc itself. Refer to its documentation or repository for help.* + - *If you have a doubt, post here, we will figure it out together.* +3. *Delete the italic comments as you write over them below, and remove this guide.* +--- + +**Describe the bug** +*A clear and concise description of what the bug is.* + +**Versions** +- Hardware: *VPS bought online / Old laptop or computer / Raspberry Pi at home / Internet Cube with VPN / Other ARM board / ...* +- YunoHost version: x.x.x +- I have access to my server: *Through SSH | through the webadmin | direct access via keyboard / screen | ...* +- Are you in a special context or did you perform some particular tweaking on your YunoHost instance ?: *no / yes* + - If yes, please explain: +- Using, or trying to install package version/branch: +- If upgrading, current package version: *can be found in the admin, or with `yunohost app info kiwiirc`* + +**To Reproduce** +*Steps to reproduce the behavior.* +- *If you performed a command from the CLI, the command itself is enough. For example:* + ```sh + sudo yunohost app install kiwiirc + ``` +- *If you used the webadmin, please perform the equivalent command from the CLI first.* +- *If the error occurs in your browser, explain what you did:* + 1. *Go to '...'* + 2. *Click on '...'* + 3. *Scroll down to '...'* + 4. *See error* + +**Expected behavior** +*A clear and concise description of what you expected to happen. You can remove this section if the command above is enough to understand your intent.* + +**Logs** +*After a failed command, YunoHost makes the log available to you, but also to others, thanks to `yunohost log display [log name] --share`. The actual command, with the correct log name, is displayed at the end of the failed attempt in the CLI. Execute it and copy here the share link it outputs.* +*If applicable and useful, add screenshots to help explain your problem.* diff --git a/manifest.json b/manifest.json index c2e2b82..ca3d4da 100644 --- a/manifest.json +++ b/manifest.json @@ -1,46 +1,58 @@ { "name": "KiwiIRC", "id": "kiwiirc", + "packaging_format": 1, "description": { - "en": "Web IRC client", - "fr": "Client Web pour IRC" + "en": "", + "fr": "" }, - "developer": { - "name": "Julien Malik", - "email": "julien.malik@paraiso.me", - "url": "https://kiwiirc.com/" + "version": "1.5.0~ynh1", + "url": "https://github.com/kiwiirc/kiwiirc", + "license": "AGPL-3.0-only", + "maintainer": { + "name": "" }, - "multi_instance": "false", + "requirements": { + "yunohost": ">= 3.8.1" + }, + "multi_instance": false, + "services": [ + "nginx" + ], "arguments": { "install" : [ { "name": "domain", + "type": "domain", "ask": { - "en": "Choose a domain for KiwiIRC", - "fr": "Choisissez un domaine pour KiwiIRC" + "en": "Choose a domain name for KiwiIRC", + "fr": "Choisissez un nom de domaine pour KiwiIRC" }, "example": "domain.org" }, { "name": "path", + "type": "path", "ask": { "en": "Choose a path for KiwiIRC", - "fr": "Choisissez un path pour KiwiIRC" + "fr": "Choisissez un chemin pour KiwiIRC" }, - "example": "/irc", - "default": "/irc" + "example": "/kiwiirc", + "default": "/kiwiirc" }, { - "name": "public_site", + "name": "is_public", + "type": "boolean", "ask": { - "en": "Is it a public KiwiIRC site ?", + "en": "Is it a public site?", "fr": "Est-ce un site public ?" }, - "choices": ["Yes", "No"], - "default": "Yes" + "help": { + "en": "If enabled, KiwiIRC will be accessible by people who do not have an account. This can be changed later via the webadmin.", + "fr": "Si cette case est cochée, KiwiIRC sera accessible aux personnes n’ayant pas de compte. Vous pourrez changer ceci plus tard via la webadmin." + }, + "default": true } ] } } - - diff --git a/pull_request_template.md b/pull_request_template.md new file mode 100644 index 0000000..3d95d0d --- /dev/null +++ b/pull_request_template.md @@ -0,0 +1,18 @@ +## Problem +- *Description of why you made this PR* + +## Solution +- *And how do you fix that problem* + +## PR Status +- [ ] Code finished. +- [ ] Tested with Package_check. +- [ ] Fix or enhancement tested. +- [ ] Upgrade from last version tested. +- [ ] Can be reviewed and tested. + +## Package_check results +--- +*If you have access to [App Continuous Integration for packagers](https://yunohost.org/#/packaging_apps_ci) you can provide a link to the package_check results like below, replacing '-NUM-' in this link by the PR number and USERNAME by your username on the ci-apps-dev. Or you provide a screenshot or a pastebin of the results* + +[![Build Status](https://ci-apps-dev.yunohost.org/jenkins/job/kiwiirc_ynh%20PR-NUM-%20(USERNAME)/badge/icon)](https://ci-apps-dev.yunohost.org/jenkins/job/kiwiirc_ynh%20PR-NUM-%20(USERNAME)/) diff --git a/scripts/_common.sh b/scripts/_common.sh new file mode 100644 index 0000000..d8b7bd0 --- /dev/null +++ b/scripts/_common.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +#================================================= +# COMMON VARIABLES +#================================================= + +# dependencies used by the app +#pkg_dependencies="postgresql apt-transport-https" + +#nodejs_version=12 + +#================================================= +# PERSONAL HELPERS +#================================================= + +#================================================= +# EXPERIMENTAL HELPERS +#================================================= + +#================================================= +# FUTURE OFFICIAL HELPERS +#================================================= diff --git a/scripts/backup b/scripts/backup new file mode 100644 index 0000000..5def960 --- /dev/null +++ b/scripts/backup @@ -0,0 +1,53 @@ +#!/bin/bash + +#================================================= +# GENERIC START +#================================================= +# IMPORT GENERIC HELPERS +#================================================= + +source ../settings/scripts/_common.sh +source /usr/share/yunohost/helpers + +#================================================= +# MANAGE SCRIPT FAILURE +#================================================= + +ynh_clean_setup () { + ynh_clean_check_starting +} +# Exit if an error occurs during the execution of the script +ynh_abort_if_errors + +#================================================= +# LOAD SETTINGS +#================================================= +ynh_print_info --message="Loading installation settings..." + +app=$YNH_APP_INSTANCE_NAME + +final_path=$(ynh_app_setting_get --app=$app --key=final_path) +domain=$(ynh_app_setting_get --app=$app --key=domain) + +#================================================= +# DECLARE DATA AND CONF FILES TO BACKUP +#================================================= +ynh_print_info --message="Declaring files to be backed up..." + +#================================================= +# BACKUP THE APP MAIN DIR +#================================================= + +ynh_backup --src_path="$final_path" + +#================================================= +# BACKUP THE NGINX CONFIGURATION +#================================================= + +ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_print_info --message="Backup script completed for KiwiIRC. (YunoHost will then actually copy those files to the archive)." diff --git a/scripts/change_url b/scripts/change_url new file mode 100644 index 0000000..f1f2183 --- /dev/null +++ b/scripts/change_url @@ -0,0 +1,106 @@ +#!/bin/bash + +#================================================= +# GENERIC STARTING +#================================================= +# IMPORT GENERIC HELPERS +#================================================= + +source _common.sh +source /usr/share/yunohost/helpers + +#================================================= +# RETRIEVE ARGUMENTS +#================================================= + +old_domain=$YNH_APP_OLD_DOMAIN +old_path=$YNH_APP_OLD_PATH + +new_domain=$YNH_APP_NEW_DOMAIN +new_path=$YNH_APP_NEW_PATH + +app=$YNH_APP_INSTANCE_NAME + +#================================================= +# LOAD SETTINGS +#================================================= +ynh_script_progression --message="Loading installation settings..." --weight=1 + +# Needed for helper "ynh_add_nginx_config" +final_path=$(ynh_app_setting_get --app=$app --key=final_path) +port=$(ynh_app_setting_get --app=$app --key=port) + +#================================================= +# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP +#================================================= +ynh_script_progression --message="Backing up KiwiIRC before changing its URL (may take a while)..." --weight=1 + +# Backup the current version of the app +ynh_backup_before_upgrade +ynh_clean_setup () { + # Remove the new domain config file, the remove script won't do it as it doesn't know yet its location. + ynh_secure_remove --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" + + # restore it if the upgrade fails + ynh_restore_upgradebackup +} +# Exit if an error occurs during the execution of the script +ynh_abort_if_errors + +#================================================= +# CHECK WHICH PARTS SHOULD BE CHANGED +#================================================= + +change_domain=0 +if [ "$old_domain" != "$new_domain" ] +then + change_domain=1 +fi + +change_path=0 +if [ "$old_path" != "$new_path" ] +then + change_path=1 +fi + +#================================================= +# MODIFY URL IN NGINX CONF +#================================================= +ynh_script_progression --message="Updating NGINX web server configuration..." --weight=1 + +nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf + +# Change the path in the NGINX config file +if [ $change_path -eq 1 ] +then + # Make a backup of the original NGINX config file if modified + ynh_backup_if_checksum_is_different --file="$nginx_conf_path" + # Set global variables for NGINX helper + domain="$old_domain" + path_url="$new_path" + # Create a dedicated NGINX config + ynh_add_nginx_config +fi + +# Change the domain for NGINX +if [ $change_domain -eq 1 ] +then + # Delete file checksum for the old conf file location + ynh_delete_file_checksum --file="$nginx_conf_path" + mv $nginx_conf_path /etc/nginx/conf.d/$new_domain.d/$app.conf + # Store file checksum for the new config file location + ynh_store_file_checksum --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" +fi + +#================================================= +# RELOAD NGINX +#================================================= +ynh_script_progression --message="Reloading NGINX web server..." --weight=1 + +ynh_systemd_action --service_name=nginx --action=reload + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_script_progression --message="Change of URL completed for KiwiIRC" --last diff --git a/scripts/install b/scripts/install index 97d9ebf..0fdeae7 100644 --- a/scripts/install +++ b/scripts/install @@ -1,77 +1,123 @@ #!/bin/bash -# Retrieve arguments -domain=$1 -path=$2 -is_public=$3 +#================================================= +# GENERIC START +#================================================= +# IMPORT GENERIC HELPERS +#================================================= -# Check domain/path availability -sudo yunohost app checkurl $domain$path -a kiwiirc -if [[ ! $? -eq 0 ]]; then - exit 1 +source _common.sh +source /usr/share/yunohost/helpers + +#================================================= +# MANAGE SCRIPT FAILURE +#================================================= + +ynh_clean_setup () { + ynh_clean_check_starting +} +# Exit if an error occurs during the execution of the script +ynh_abort_if_errors + +#================================================= +# RETRIEVE ARGUMENTS FROM THE MANIFEST +#================================================= + +domain=$YNH_APP_ARG_DOMAIN +path_url=$YNH_APP_ARG_PATH +is_public=$YNH_APP_ARG_IS_PUBLIC + +app=$YNH_APP_INSTANCE_NAME + +#================================================= +# CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS +#================================================= +ynh_script_progression --message="Validating installation parameters..." --weight=1 + +final_path=/var/www/$app +test ! -e "$final_path" || ynh_die --message="This path already contains a folder" + +# Register (book) web path +ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url + +#================================================= +# STORE SETTINGS FROM MANIFEST +#================================================= +ynh_script_progression --message="Storing installation settings..." --weight=2 + +ynh_app_setting_set --app=$app --key=domain --value=$domain +ynh_app_setting_set --app=$app --key=path --value=$path_url +ynh_app_setting_set --app=$app --key=is_public --value=$is_public + +#================================================= +# DOWNLOAD, CHECK AND UNPACK SOURCE +#================================================= +ynh_script_progression --message="Setting up source files..." --weight=2 + +ynh_app_setting_set --app=$app --key=final_path --value=$final_path +# Download, check integrity, uncompress and patch the source from app.src +mv ../sources/dist "$final_path" + +#================================================= +# NGINX CONFIGURATION +#================================================= +ynh_script_progression --message="Configuring NGINX web server..." --weight=2 + +# Create a dedicated NGINX config +ynh_add_nginx_config + +#================================================= +# CREATE DEDICATED USER +#================================================= +ynh_script_progression --message="Configuring system user..." --weight=3 + +# Create a system user +ynh_system_user_create --username=$app --home_dir=$final_path + +# #================================================= +# # MODIFY A CONFIG FILE +# #================================================= +# ynh_script_progression --message="Modifying a config file..." + +# cp ../conf/config.json.example "$final_path/static/config.json" + +# # Main config File +# ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$final_path/config.json" +# ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$final_path/config.json" +# ynh_replace_string --match_string="__PATH__" --replace_string="${path_url:1}" --target_file="$final_path/config.json" + +# ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$final_path/config.json" + +# ynh_store_file_checksum --file="$final_path/config.json" + +#================================================= +# SECURE FILES AND DIRECTORIES +#================================================= +ynh_script_progression --message="Securing files and directories..." + +# Set permissions to app files +chown -R $app:$app $final_path + +#================================================= +# SETUP SSOWAT +#================================================= +ynh_script_progression --message="Configuring SSOwat..." --weight=1 + +# Make app public if necessary or protect it +if [ $is_public -eq 1 ] +then + ynh_permission_update --permission "main" --add "visitors" fi -echo "Install dependencies..." -sudo apt-get update -sudo apt-get install nodejs-legacy npm -y +#================================================= +# RELOAD NGINX +#================================================= +ynh_script_progression --message="Reloading NGINX web server..." --weight=2 -version=de1607bf1e9ba4429a10f895a6ec45c54daa3161 -echo "Downloading KiwiIRC $version..." -mkdir ../tmp -sudo wget -O ../tmp/kiwiirc-$version.tar.gz "https://github.com/prawnsalad/KiwiIRC/archive/$version.tar.gz" +ynh_systemd_action --service_name=nginx --action=reload -echo "Deploying source files..." -cd ../tmp && tar xvzf ../tmp/kiwiirc-$version.tar.gz && cd ../scripts -final_path=/var/www/kiwiirc -sudo mkdir -p $final_path -sudo useradd -d $final_path kiwiirc +#================================================= +# END OF SCRIPT +#================================================= -sudo cp -r ../tmp/KiwiIRC-$version/* $final_path -#sudo cp ../conf/npm-shrinkwrap.json $final_path -sudo chown -R kiwiirc: $final_path - -echo "Installing KiwiIRC with NPM..." -sudo su --shell /bin/bash --command "cd $final_path && npm install --production --registry http://registry.npmjs.org" kiwiirc - -echo "Cleaning up install tree..." -sudo rm -rf $final_path/.npm - -echo "Deploying configuration..." -sed -i "s@YNH_BASE_PATH@${path}@g" ../conf/config.js -sudo cp ../conf/config.js $final_path/config.js -sudo chown kiwiirc: $final_path/config.js -sudo chmod 644 $final_path/config.js - -echo "Post install step... building client side" -sudo su --shell /bin/bash --command "cd $final_path && node $final_path/server/server.js build" kiwiirc - -echo "Setting up init script..." -logfile=/var/log/ynh-kiwiirc.log -sudo touch $logfile -sudo chown kiwiirc: $logfile -sed -i "s@YNH_FINALPATH@$final_path@g" ../conf/init-script -sed -i "s@YNH_LOGFILE@$logfile@g" ../conf/init-script -sudo cp ../conf/init-script /etc/init.d/ynh-kiwiirc -sudo chmod +x /etc/init.d/ynh-kiwiirc -sudo update-rc.d ynh-kiwiirc defaults -sudo service ynh-kiwiirc start -sudo yunohost service add ynh-kiwiirc -l $logfile - -echo "Setting up logrotate configuration..." -sed -i "s@YNH_LOGFILE@$logfile@g" ../conf/logrotate -sudo cp ../conf/logrotate /etc/logrotate.d/ynh-kiwiirc - -echo "Nginx configuration..." -sed -i "s@YNH_LOCATION@$path@g" ../conf/nginx.conf -sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/kiwiirc.conf - -if [ $is_public = "Yes" ]; then - sudo yunohost app setting kiwiirc skipped_uris -v "/" -fi -sudo yunohost app setting kiwiirc is_public -v $is_public - -echo "Reloading Nginx (sso enabled)..." -sudo service nginx reload -sudo yunohost app ssowatconf - -echo "Success !" +ynh_script_progression --message="Installation of KiwiIRC completed" --last diff --git a/scripts/remove b/scripts/remove index d2e918b..be7dda3 100644 --- a/scripts/remove +++ b/scripts/remove @@ -1,15 +1,53 @@ #!/bin/bash -domain=$(sudo yunohost app setting kiwiirc domain) +#================================================= +# GENERIC START +#================================================= +# IMPORT GENERIC HELPERS +#================================================= -sudo service ynh-kiwiirc stop -sudo update-rc.d ynh-kiwiirc remove -sudo rm /etc/init.d/ynh-kiwiirc -sudo yunohost service remove ynh-kiwiirc -sudo rm -f /etc/nginx/conf.d/$domain.d/kiwiirc.conf -sudo rm -f /var/log/ynh-kiwiirc.log -sudo rm -rf /var/run/yunohost/kiwiirc -sudo rm -f /etc/logrotate.d/ynh-kiwiirc +source _common.sh +source /usr/share/yunohost/helpers -# remove user so that it does not hold resource -sudo userdel --remove kiwiirc +#================================================= +# LOAD SETTINGS +#================================================= +ynh_script_progression --message="Loading installation settings..." --weight=1 + +app=$YNH_APP_INSTANCE_NAME + +domain=$(ynh_app_setting_get --app=$app --key=domain) +port=$(ynh_app_setting_get --app=$app --key=port) +final_path=$(ynh_app_setting_get --app=$app --key=final_path) + +#================================================= +# REMOVE APP MAIN DIR +#================================================= +ynh_script_progression --message="Removing KiwiIRC main directory..." --weight=6 + +# Remove the app directory securely +ynh_secure_remove --file="$final_path" + +#================================================= +# REMOVE NGINX CONFIGURATION +#================================================= +ynh_script_progression --message="Removing NGINX web server configuration..." --weight=5 + +# Remove the dedicated nginx config +ynh_remove_nginx_config + +#================================================= +# GENERIC FINALIZATION +#================================================= +# REMOVE DEDICATED USER +#================================================= +ynh_script_progression --message="Removing the dedicated system user..." --weight=1 + +# Delete a system user +ynh_system_user_delete --username=$app + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_script_progression --message="Removal of KiwiIRC completed" --last diff --git a/scripts/restore b/scripts/restore new file mode 100644 index 0000000..a506f90 --- /dev/null +++ b/scripts/restore @@ -0,0 +1,101 @@ +#!/bin/bash + +#================================================= +# GENERIC START +#================================================= +# IMPORT GENERIC HELPERS +#================================================= + +source ../settings/scripts/_common.sh +source /usr/share/yunohost/helpers + +#================================================= +# MANAGE SCRIPT FAILURE +#================================================= + +ynh_clean_setup () { + ynh_clean_check_starting +} +# Exit if an error occurs during the execution of the script +ynh_abort_if_errors + +#================================================= +# LOAD SETTINGS +#================================================= +ynh_script_progression --message="Loading settings..." --weight=1 + +app=$YNH_APP_INSTANCE_NAME + +domain=$(ynh_app_setting_get --app=$app --key=domain) +path_url=$(ynh_app_setting_get --app=$app --key=path) +final_path=$(ynh_app_setting_get --app=$app --key=final_path) + +#================================================= +# CHECK IF THE APP CAN BE RESTORED +#================================================= +ynh_script_progression --message="Validating restoration parameters..." --weight=2 + +ynh_webpath_available --domain=$domain --path_url=$path_url \ + || ynh_die --message="Path not available: ${domain}${path_url}" +test ! -d $final_path \ + || ynh_die --message="There is already a directory: $final_path " + +#================================================= +# RESTORE THE NGINX CONFIGURATION +#================================================= +ynh_script_progression --message="Restoring the NGINX configuration..." + +ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" + +#================================================= +# RESTORE THE APP MAIN DIR +#================================================= +ynh_script_progression --message="Restoring KiwiIRC main directory..." --weight=60 + +ynh_restore_file --origin_path="$final_path" + +#================================================= +# RECREATE THE DEDICATED USER +#================================================= +ynh_script_progression --message="Recreating the dedicated system user..." --weight=1 + +# Create the dedicated user (if not existing) +ynh_system_user_create --username=$app + +#================================================= +# RESTORE USER RIGHTS +#================================================= +ynh_script_progression --message="Restoring user rights..." + +# Restore permissions on app files +chown -R $app:$app $final_path + +#================================================= +# RESTORE SYSTEMD +#================================================= +ynh_script_progression --message="Restoring the systemd configuration..." --weight=5 + +ynh_restore_file --origin_path="/etc/systemd/system/$app.service" +systemctl enable $app.service + +#================================================= +# INTEGRATE SERVICE IN YUNOHOST +#================================================= +ynh_script_progression --message="Integrating service in YunoHost..." + +yunohost service add $app --description "collaborative Markdown editor" --log "/var/log/$app/$app.log" + +#================================================= +# GENERIC FINALIZATION +#================================================= +# RELOAD NGINX +#================================================= +ynh_script_progression --message="Reloading NGINX web server..." --weight=1 + +ynh_systemd_action --service_name=nginx --action=reload + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_script_progression --message="Restoration completed for KiwiIRC" --last diff --git a/scripts/upgrade b/scripts/upgrade index 32174a6..40ead6c 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -1,70 +1,117 @@ #!/bin/bash -# Retrieve arguments -domain=$(sudo yunohost app setting kiwiirc domain) -path=$(sudo yunohost app setting kiwiirc path) -is_public=$(sudo yunohost app setting kiwiirc is_public) +#================================================= +# GENERIC START +#================================================= +# IMPORT GENERIC HELPERS +#================================================= -sudo service ynh-kiwiirc stop -sudo update-rc.d ynh-kiwiirc remove -sudo yunohost service remove ynh-kiwiirc +source _common.sh +source /usr/share/yunohost/helpers -version=de1607bf1e9ba4429a10f895a6ec45c54daa3161 -echo "Downloading KiwiIRC $version..." -mkdir ../tmp -sudo wget -O ../tmp/kiwiirc-$version.tar.gz "https://github.com/prawnsalad/KiwiIRC/archive/$version.tar.gz" +#================================================= +# LOAD SETTINGS +#================================================= +ynh_script_progression --message="Loading installation settings..." --weight=2 -echo "Deploying source files..." -cd ../tmp && tar xvzf ../tmp/kiwiirc-$version.tar.gz && cd ../scripts -final_path=/var/www/kiwiirc -sudo rm -rf $final_path/* +app=$YNH_APP_INSTANCE_NAME -sudo cp -r ../tmp/KiwiIRC-$version/* $final_path -#sudo cp ../conf/npm-shrinkwrap.json $final_path -sudo chown -R kiwiirc: $final_path +domain=$(ynh_app_setting_get --app=$app --key=domain) +path_url=$(ynh_app_setting_get --app=$app --key=path) +is_public=$(ynh_app_setting_get --app=$app --key=is_public) +final_path=$(ynh_app_setting_get --app=$app --key=final_path) +port=$(ynh_app_setting_get --app=$app --key=port) -echo "Installing KiwiIRC with NPM..." -sudo su --shell /bin/bash --command "cd $final_path && npm install --production --registry http://registry.npmjs.org" kiwiirc +#================================================= +# CHECK VERSION +#================================================= +ynh_script_progression --message="Checking version..." -echo "Cleaning up install tree..." -sudo rm -rf $final_path/.npm +upgrade_type=$(ynh_check_app_version_changed) -echo "Deploying configuration..." -sed -i "s@YNH_BASE_PATH@${path}@g" ../conf/config.js -sudo cp ../conf/config.js $final_path/config.js -sudo chown kiwiirc: $final_path/config.js -sudo chmod 644 $final_path/config.js +#================================================= +# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP +#================================================= +ynh_script_progression --message="Backing up KiwiIRC before upgrading..." --weight=3 -echo "Post install step... building client side" -sudo su --shell /bin/bash --command "cd $final_path && node $final_path/server/server.js build" kiwiirc +# Backup the current version of the app +ynh_backup_before_upgrade +ynh_clean_setup () { + # restore it if the upgrade fails + ynh_restore_upgradebackup +} +# Exit if an error occurs during the execution of the script +ynh_abort_if_errors -echo "Setting up init script..." -logfile=/var/log/ynh-kiwiirc.log -sudo touch $logfile -sudo chown kiwiirc: $logfile -sed -i "s@YNH_FINALPATH@$final_path@g" ../conf/init-script -sed -i "s@YNH_LOGFILE@$logfile@g" ../conf/init-script -sudo cp ../conf/init-script /etc/init.d/ynh-kiwiirc -sudo chmod +x /etc/init.d/ynh-kiwiirc -sudo update-rc.d ynh-kiwiirc defaults -sudo service ynh-kiwiirc start -sudo yunohost service add ynh-kiwiirc -l $logfile +#================================================= +# STANDARD UPGRADE STEPS +#================================================= +# STOP SYSTEMD SERVICE +#================================================= +ynh_script_progression --message="Stopping a systemd service..." --weight=1 -echo "Setting up logrotate configuration..." -sed -i "s@YNH_LOGFILE@$logfile@g" ../conf/logrotate -sudo cp ../conf/logrotate /etc/logrotate.d/ynh-kiwiirc +ynh_systemd_action --service_name=$app --action="stop" --log_path="systemd" -echo "Nginx configuration..." -sed -i "s@YNH_LOCATION@$path@g" ../conf/nginx.conf -sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/kiwiirc.conf +#================================================= +# DOWNLOAD, CHECK AND UNPACK SOURCE +#================================================= -if [ $is_public = "Yes" ]; then - sudo yunohost app setting kiwiirc skipped_uris -v "/" +if [ "$upgrade_type" == "UPGRADE_APP" ] +then + ynh_script_progression --message="Upgrading source files..." --weight=3 + + # Create a temporary directory + tmpdir="$(mktemp -d)" + + # Backup the config file in the temp dir + cp -a "$final_path/config.json" "$tmpdir/config.json" + + # Remove the app directory securely + ynh_secure_remove --file=$final_path + + # Download, check integrity, uncompress and patch the source from app.src + ynh_setup_source --dest_dir=$final_path + + #Copy the admin saved settings from tmp directory to final path + cp -a "$tmpdir/config.json" "$final_path/config.json" + + # Remove the tmp directory securely + ynh_secure_remove --file="$tmpdir" fi -sudo yunohost app setting kiwiirc is_public -v $is_public -echo "Reloading Nginx (sso enabled)..." -sudo service nginx reload -sudo yunohost app ssowatconf +#================================================= +# NGINX CONFIGURATION +#================================================= +ynh_script_progression --message="Upgrading NGINX web server configuration..." --weight=2 -echo "Success !" +# Create a dedicated NGINX config +ynh_add_nginx_config + +#================================================= +# CREATE DEDICATED USER +#================================================= +ynh_script_progression --message="Making sure dedicated system user exists..." --weight=1 + +# Create a dedicated user (if not existing) +ynh_system_user_create --username=$app + +#================================================= +# SECURE FILES AND DIRECTORIES +#================================================= +ynh_script_progression --message="Securing files and directories..." + +# Set permissions on app files +chown -R $app:$app $final_path + +#================================================= +# RELOAD NGINX +#================================================= +ynh_script_progression --message="Reloading NGINX web server..." --weight=1 + +ynh_systemd_action --service_name=nginx --action=reload + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_script_progression --message="Upgrade of KiwiIRC completed" --last diff --git a/sources/dist/index.html b/sources/dist/index.html new file mode 100644 index 0000000..7281d64 --- /dev/null +++ b/sources/dist/index.html @@ -0,0 +1,35 @@ + + + + + + + Kiwi IRC + + + + + +
+ + + diff --git a/sources/dist/static/config.json b/sources/dist/static/config.json new file mode 100644 index 0000000..fd29982 --- /dev/null +++ b/sources/dist/static/config.json @@ -0,0 +1,28 @@ +{ + "windowTitle": "Kiwi IRC - The web IRC client", + "startupScreen": "welcome", + "kiwiServer": "https://localdev.clients.kiwiirc.com/webirc/kiwiirc/", + "restricted": false, + "theme": "Default", + "themes": [ + { "name": "Default", "url": "static/themes/default" }, + { "name": "Dark", "url": "static/themes/dark" }, + { "name": "Coffee", "url": "static/themes/coffee" }, + { "name": "GrayFox", "url": "static/themes/grayfox" }, + { "name": "Nightswatch", "url": "static/themes/nightswatch" }, + { "name": "Osprey", "url": "static/themes/osprey" }, + { "name": "Radioactive", "url": "static/themes/radioactive" }, + { "name": "Sky", "url": "static/themes/sky" }, + { "name": "Elite", "url": "static/themes/elite" } + ], + "startupOptions" : { + "channel": "#kiwiirc-default", + "nick": "kiwi-n?" + }, + "embedly": { + "key": "" + }, + "plugins": [ + { "name": "customise", "url": "static/plugins/customise.html" } + ] +} diff --git a/sources/dist/static/css/app.ebe7a0b0.css b/sources/dist/static/css/app.ebe7a0b0.css new file mode 100644 index 0000000..465fc52 --- /dev/null +++ b/sources/dist/static/css/app.ebe7a0b0.css @@ -0,0 +1,2 @@ +.vue-recycle-scroller{position:relative}.vue-recycle-scroller.direction-vertical:not(.page-mode){overflow-y:auto}.vue-recycle-scroller.direction-horizontal:not(.page-mode){overflow-x:auto}.vue-recycle-scroller.direction-horizontal{display:-webkit-box;display:-ms-flexbox;display:flex}.vue-recycle-scroller__slot{-webkit-box-flex:1;-ms-flex:auto 0 0px;flex:auto 0 0}.vue-recycle-scroller__item-wrapper{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative}.vue-recycle-scroller.ready .vue-recycle-scroller__item-view{position:absolute;top:0;left:0;will-change:transform}.vue-recycle-scroller.direction-vertical .vue-recycle-scroller__item-wrapper{width:100%}.vue-recycle-scroller.direction-horizontal .vue-recycle-scroller__item-wrapper{height:100%}.vue-recycle-scroller.ready.direction-vertical .vue-recycle-scroller__item-view{width:100%}.vue-recycle-scroller.ready.direction-horizontal .vue-recycle-scroller__item-view{height:100%}.resize-observer[data-v-b329ee4c]{border:none;background-color:transparent;opacity:0}.resize-observer[data-v-b329ee4c],.resize-observer[data-v-b329ee4c] object{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;pointer-events:none;display:block;overflow:hidden}h1,h2,h3,h4,h5,h6{padding:.7em 0 .2em 0;margin:0}p{margin:.5em 0 1em 0}div{-webkit-tap-highlight-color:rgba(0,0,0,0)}ul{padding-left:1em}input,select,textarea{color:inherit;background:inherit;background-color:inherit}.u-link{text-decoration:none;cursor:pointer}.u-link:hover{text-decoration:underline}.u-button{display:inline-block;white-space:nowrap;cursor:pointer;padding:.4em .9em;border-radius:4px;vertical-align:middle;text-align:center;outline:none;font-weight:600;font-size:1em;font-family:inherit}.u-button-primary{border:none;border-bottom:1px solid}.u-form{text-align:left}.u-form label{display:block;line-height:20px;margin:0 0 3px 2px}.u-form--big label{margin-bottom:10px;font-size:1.2em}.u-form label span{margin-right:1em;line-height:25px;font-weight:500;text-align:left;max-width:none}.u-form label.u-form-block span,.u-form label span{display:inline-block;width:auto}.u-form input[type=checkbox],.u-form input[type=radio]{float:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;display:inline-block;position:relative;border-radius:5px;cursor:pointer;margin-left:0;margin-right:5px;border:1px solid}.u-form input[type=radio]{float:right}.u-form .u-input,.u-form input[type=email],.u-form input[type=password],.u-form input[type=text],.u-form textarea{font-size:.9em;line-height:normal;clear:both;padding:7px 8px;-webkit-box-sizing:border-box;box-sizing:border-box;min-height:0;overflow-x:hidden;overflow-y:auto;max-width:none;border-radius:5px;border-width:1px;border-style:solid}.u-form--big .u-input,.u-form--big input[type=email],.u-form--big input[type=password],.u-form--big input[type=text],.u-form--big textarea{padding:15px 12px;font-size:1em}.u-checkbox-wrapper{position:relative;padding-left:30px}.u-checkbox-wrapper input[type=checkbox],.u-checkbox-wrapper input[type=radio]{position:absolute;margin:0;top:2px;left:0}.u-checkbox-wrapper label{margin-right:0}.u-form .u-submit{margin:2em auto;display:block}.u-table{width:100%}.u-table thead th{padding:10px;border-bottom:1px solid}.u-table tr:first-of-type td{padding-top:10px}.u-table td,.u-table th{padding:5px 10px}.u-table td{height:40px;border-bottom:1px solid hsla(0,0%,100%,.5)}.u-table td .reset-icon{font-size:1.2em}.u-table td .u-input{height:40px}.kiwi-formatting-extras-quote{border:1px solid #b5b5b5;padding:0 3px;border-radius:3px;background:rgba(0,0,0,.05);font-family:monospace}.kiwi-formatting-extras-invisible{font-size:0}.kiwi-formatting-extras-block{border-left:4px solid #b5b5b5;padding:1em;border-radius:3px;background:rgba(0,0,0,.05);font-family:monospace;white-space:pre-wrap;display:inline-block}.kiwi-close-icon{color:#fff;border-radius:0 0 0 4px;position:absolute;right:0;top:0;cursor:pointer;padding:.2em .4em;-webkit-transition:background .2s;transition:background .2s}.kiwi-settings-advanced-table tr:hover{background-color:hsla(0,0%,50.2%,.1)}.kiwi-statebrowser-usermenu-avatar--connected{border:2px solid #42b992}.kiwi-statebrowser-usermenu-avatar--disconnected{border:2px solid #bf5155}.irc-fg-colour-white{color:#fff}.irc-fg-colour-black{color:#000}.irc-fg-colour-blue{color:#00f}.irc-fg-colour-green{color:#0f0}.irc-fg-colour-light-red{color:#ff5959}.irc-fg-colour-brown{color:#743a00}.irc-fg-colour-purple{color:#a500ff}.irc-fg-colour-orange{color:#ff8c00}.irc-fg-colour-yellow{color:#ff0}.irc-fg-colour-light-green{color:#6fff6f}.irc-fg-colour-cyan{color:#0cc}.irc-fg-colour-light-cyan{color:#6dffff}.irc-fg-colour-light-blue{color:#59b4ff}.irc-fg-colour-pink{color:#f0f}.irc-fg-colour-grey{color:#a6a6a6}.irc-fg-colour-light-grey{color:#e2e2e2}.irc-bg-colour-white{background-color:#fff}.irc-bg-colour-black{background-color:#000}.irc-bg-colour-blue{background-color:#00f}.irc-bg-colour-green{background-color:#0f0}.irc-bg-colour-light-red{background-color:#ff5959}.irc-bg-colour-brown{background-color:#743a00}.irc-bg-colour-purple{background-color:#a500ff}.irc-bg-colour-orange{background-color:#ff8c00}.irc-bg-colour-yellow{background-color:#ff0}.irc-bg-colour-light-green{background-color:#6fff6f}.irc-bg-colour-cyan{background-color:#0cc}.irc-bg-colour-light-cyan{background-color:#6dffff}.irc-bg-colour-light-blue{background-color:#59b4ff}.irc-bg-colour-pink{background-color:#f0f}.irc-bg-colour-grey{background-color:#a6a6a6}.irc-bg-colour-light-grey{background-color:#e2e2e2}.kiwi-startup-common{height:100%;text-align:center;display:-webkit-box;display:-ms-flexbox;display:flex}.kiwi-startup-common-section{padding:1em;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;overflow-x:hidden;overflow-y:auto;-webkit-transition:-webkit-transform .4s;transition:-webkit-transform .4s;transition:transform .4s;transition:transform .4s,-webkit-transform .4s}.kiwi-startup-common-section-connection{-ms-flex-align:center;-ms-flex-pack:center;width:40%;max-width:500px}.kiwi-startup-common-section-connection,.kiwi-startup-common-section-info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.kiwi-startup-common-section-info{color:#fff;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-align:center;-ms-flex-pack:center}.kiwi-startup-common-section-info-content{background:hsla(0,0%,100%,.74);margin:2em;color:#1b1b1b;font-size:1.5em;padding:2em;border-radius:5px;line-height:1.6em}@media (min-width:850px){.kiwi-startup-common--closing .kiwi-startup-common-section-connection{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.kiwi-startup-common--closing .kiwi-startup-common-section-info{-webkit-transform:translateX(100%);transform:translateX(100%)}}@media (max-width:850px){.kiwi-startup-common{font-size:.9em;display:block;overflow-y:auto}.kiwi-startup-common-section{width:100%;min-height:auto;max-width:none;height:auto;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.kiwi-startup-common--closing{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:translateY(100%);transform:translateY(100%)}.kiwi-startup-common-section-connection{padding-top:2em}.kiwi-startup-common-section-connection>*{max-width:450px}}.kiwi-startup-common{background-size:0;background-position:bottom}.kiwi-startup-common-section-info{background-size:cover;background-position:bottom;border-left:5px solid #42b992}.kiwi-startup-common--no-bg .kiwi-startup-common-section-info{background-color:#333}@media (max-width:850px){.kiwi-startup-common{background-size:cover}.kiwi-startup-common-section-info{background-size:0;border-left:none;-webkit-box-flex:1;-ms-flex:1 0;flex:1 0;display:block}.kiwi-startup-common--no-bg .kiwi-startup-common-section-info{border-top:5px solid #42b992}}@media (max-width:500px){.kiwi-startup-common-section-info-content{margin:1em}}form.kiwi-welcome-simple-form{width:70%;padding:20px}@media (max-width:1025px){form.kiwi-welcome-simple-form{width:100%}}@media (max-width:850px){form.kiwi-welcome-simple-form{background:var(--brand-default-bg);border-radius:5px;-webkit-box-shadow:0 2px 10px 0 rgba(0,0,0,.2);box-shadow:0 2px 10px 0 rgba(0,0,0,.2)}}@media (max-width:600px){form.kiwi-welcome-simple-form{max-width:350px}}form.kiwi-welcome-simple-form h2{margin:0 0 40px 0;padding:0;cursor:default;font-weight:600;font-size:2.2em;text-align:center;line-height:1.2em}.kiwi-welcome-simple-error{text-align:center;margin:1em 0;padding:1em}.kiwi-welcome-simple-error span{display:block;font-style:italic}.kiwi-welcome-simple-input-container{width:100%;height:auto;position:relative;margin:0 0 20px 0}.kiwi-welcome-simple-input-container:last-of-type{margin:20px 0 40px 0}.kiwi-welcome-simple-form .u-submit{width:100%;height:50px;font-size:1.3em}.kiwi-welcome-simple-start{font-size:1.1em;cursor:pointer}.kiwi-welcome-simple-start[disabled]{cursor:not-allowed;opacity:.65}.kiwi-welcome-znc h2{font-size:1.7em;text-align:center;padding:0;margin:.5em auto 1.5em auto}.kiwi-welcome-znc-error{text-align:center;margin:1em 0;padding:.3em}.kiwi-welcome-znc-error span{display:block;font-style:italic}.kiwi-welcome-znc-form{width:300px;background-color:#fff;border-radius:.5em;padding:1em;border:1px solid #ececec}.kiwi-welcome-znc .kiwi-welcome-znc-have-password input,.kiwi-welcome-znc .u-input-text{margin-bottom:1.5em}.kiwi-welcome-znc-have-password input:checked{margin-bottom:0}.kiwi-welcome-znc-start{font-size:1.1em;cursor:pointer;width:100%;margin:1em auto .5em auto;font-weight:400;border:none;height:36px;line-height:36px;padding:0}.kiwi-welcome-znc-start[disabled]{cursor:not-allowed}.kiwi-customserver{height:100%;overflow-y:auto;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;-webkit-box-align:center;align-items:center;-ms-flex-pack:center;-webkit-box-pack:center;justify-content:center}.kiwi-customserver-start{font-size:1.1em;cursor:pointer}.kiwi-customserver-form{max-width:300px;margin:0 auto;max-height:500px;overflow:hidden;border-radius:.5em;padding:20px 1em}.kiwi-customserver .kiwi-customserver-have-password input,.kiwi-customserver .u-input-text{margin-bottom:1.5em}.kiwi-customserver .kiwi-customserver-have-password{margin-bottom:20px}.kiwi-customserver-have-password input:checked{margin-bottom:0}.kiwi-customserver-tls{cursor:pointer;color:#bfbfbf}.kiwi-customserver-tls--enabled{color:green}.kiwi-customserver-tls-lock{font-size:1.2em}.kiwi-customserver-tls-minus{color:red;font-size:.7em;top:3px}.kiwi-customserver-loader{margin-top:1em;font-size:2em}.kiwi-customserver-channel{margin-top:1em}.kiwi-customserver-form .u-submit{width:100%;padding:0;letter-spacing:1px;font-weight:400;margin:0 0 20px 0;-webkit-transition:all .2s;transition:all .2s;border:none;font-size:1.2em;line-height:36px}.kiwi-customserver-server-types{font-size:.9em;text-align:center}.kiwi-customserver-server-types a{margin:0 1em}.kiwi-customserver h2{margin-bottom:1.5em}.kiwi-customserver h2 i{font-size:.8em;margin-left:1em}.kiwi-customserver--connecting h2{-webkit-transition:margin-top .7s;transition:margin-top .7s;margin-top:100px}.kiwi-customserver-error{text-align:center;margin:1em 0;padding:.3em}.kiwi-customserver-error span{display:block;font-style:italic}.kiwi-connectingloader-enter-active,.kiwi-connectingloader-leave-active{-webkit-transition:max-height .5s;transition:max-height .5s}.kiwi-connectingloader-enter,.kiwi-connectingloader-leave-to{max-height:0}.kiwi-startbnc-form label{text-align:left;display:block;margin-bottom:1.5em}.kiwi-startbnc-form input,.kiwi-startbnc-form input:active{font-size:1em;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:30px;padding:0 10px;border:none;border-bottom:2px solid #42b992;outline:none}.kiwi-startbnc-status{margin:1em 0;overflow:hidden;max-height:40px;-webkit-transition:max-height .2s;transition:max-height .2s}.kiwi-startbnc-status:empty{background:red;max-height:0}.kiwi-startbnc-start{font-size:1.1em;cursor:pointer}.kiwi-startbnc-form{width:300px;background-color:#fff;border-radius:.5em;padding:1em;border:1px solid #ececec}.kiwi-startbnc-form button{width:100%;line-height:36px;padding:0;font-size:1.2em;font-weight:400}.kiwi-buffersettings{-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-buffersettings-alerts{margin-bottom:1em}.kiwi-awaystatusindicator{display:inline-block;width:7px;height:7px;border-radius:50%;margin:0 4px 0 0;border:1px solid #fff;-webkit-transition:background .2s;transition:background .2s}.kiwi-awaystatusindicator--self{cursor:pointer}.kiwi-channel-options-header{text-align:left;padding:0 0 0 10px;margin:0;opacity:1;cursor:default;float:left;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-channel-options-header span{padding:5px 0;float:left;font-size:1.2em;font-weight:600}.kiwi-statebrowser-network-header{display:block;padding-right:0;position:relative;overflow:hidden;height:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-statebrowser-network-name{-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:1.1em;text-align:center;display:block;padding:4px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-network-name-options{position:absolute;top:0;height:45px;z-index:10;right:-300px;-webkit-transition:all .15s;transition:all .15s}.kiwi-statebrowser-network-header:hover .kiwi-network-name-options{right:0;opacity:1}.kiwi-network-name-option{float:right;width:35px;-webkit-transition:all .15s;transition:all .15s;padding:0;line-height:45px;text-align:center;cursor:pointer}.kiwi-statebrowser-network-toggable-area--collapsed{display:none}.kiwi-statebrowser-network-status{text-align:center;padding:4px 4px 6px 4px;overflow:hidden;position:relative;height:1.5em;font-size:.9em}.kiwi-statebrowser-channels-options{text-align:left}.kiwi-statebrowser-channels-option{display:inline-block;width:35px;line-height:35px;text-align:center;cursor:pointer;opacity:.8;-webkit-transition:opacity .2s;transition:opacity .2s}.kiwi-statebrowser-channels-option:hover{opacity:1}.kiwi-statebrowser-network-status-transition-enter-active,.kiwi-statebrowser-network-status-transition-leave-active{-webkit-transition:height .7s,padding .7s;transition:height .7s,padding .7s}.kiwi-statebrowser-network-status-transition-enter,.kiwi-statebrowser-network-status-transition-leave-active{height:0;padding:0}.kiwi-statebrowser-channel{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;border-left:3px solid transparent}.kiwi-statebrowser-channel:hover .kiwi-statebrowser-channel-name{text-decoration:underline}.kiwi-statebrowser-channel-name{cursor:pointer;-webkit-box-flex:1;-ms-flex:1;flex:1;word-break:break-all;-webkit-transition:padding .1s,border .1s;transition:padding .1s,border .1s}.kiwi-statebrowser-buffer-actions{-webkit-box-flex:0;-ms-flex:0;flex:0}.kiwi-statebrowser-channel-labels{height:100%;line-height:1em;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-statebrowser-channel-label{padding:0 10px;margin:5px;font-weight:600;border-radius:4px;display:-webkit-box;display:-ms-flexbox;display:flex;text-align:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.kiwi-statebrowser-network-header .kiwi-statebrowser-channel-label{margin:10px}.kiwi-statebrowser-channel-leave{width:38px;cursor:pointer;margin-right:0;z-index:10;display:none}.kiwi-statebrowser-channel:hover .kiwi-statebrowser-channel-leave{display:block}.kiwi-statebrowser-channel:hover .kiwi-statebrowser-channel-labels{display:none}.kiwi-statebrowser-channel-active .kiwi-statebrowser-channel-leave{display:block}.kiwi-statebrowser-channel-active .kiwi-statebrowser-channel-labels{display:none}.kiwi-statebrowser-newchannel-inputwrap{position:relative;opacity:1;-webkit-transition:opacity .3s;transition:opacity .3s;background:none;padding:0;margin:0 0 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-statebrowser-newchannel-inputwrap input[type=text]{width:100%;height:40px;padding:0 15px;line-height:40px;font-size:.8em;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;margin:0;border-radius:0;min-height:none;overflow-x:hidden;overflow-y:auto;max-width:none}.kiwi-statebrowser-channelfilter{float:left;width:100%;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;opacity:1;-webkit-transition:all .3s;transition:all .3s;margin-bottom:0}.kiwi-statebrowser-channelfilter:hover{opacity:1}.kiwi-statebrowser-channelfilter input{width:100%;height:42px;line-height:42px;padding:0 15px;border:none;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-statebrowser-channelfilter p{text-align:center;font-size:.9em;margin:10px 0 10px 0;cursor:pointer;-webkit-transition:all .3s;transition:all .3s}.kiwi-statebrowser-channelfilter p:hover{text-decoration:underline}@media screen and (max-width:769px){.kiwi-network-name-options{right:0;opacity:1}.kiwi-statebrowser-channel-name{line-height:40px}.kiwi-network-name-option{width:50px}.kiwi-statebrowser-channel-leave{opacity:1;line-height:40px;width:50px}.kiwi-statebrowser-channel-labels{right:50px;top:0}.kiwi-statebrowser-channel-label{line-height:41px;height:40px}.kiwi-statebrowser-channel:hover .kiwi-statebrowser-channel-labels{opacity:1}}.kiwi-statebrowser-usermenu{width:100%;padding-bottom:0;padding-top:34px}.kiwi-statebrowser-usermenu-network{padding:0 0 10px 0;cursor:default}.kiwi-statebrowser-usermenu-avatar{width:50px;height:50px;cursor:pointer;font-size:1.5em;text-align:center;line-height:50px;border:2px solid;border-radius:50%;margin:0 auto 10px auto;-webkit-transition:background .2s;transition:background .2s;position:relative}.kiwi-statebrowser-usermenu .kiwi-awaystatusindicator{position:absolute;top:1px;right:-5px;width:12px;height:12px;border:1px solid #000}.kiwi-statebrowser-usermenu-body{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 10px;font-size:.8em;margin-bottom:10px}.kiwi-statebrowser-usermenu-body p{margin-bottom:0}.kiwi-settings-aliases-input{width:80%;height:200px;font-size:.8em;line-height:1.4em;font-family:monospace}.kiwi-settings-aliases-showhelp{display:block}.kiwi-settings-aliases-help{padding:1em;margin:1em 0;border:1px dashed rgba(0,0,0,.4)}.kiwi-settings-aliases .u-form textarea{min-height:300px}.kiwi-settings-aliases-help em{padding:1px 2px;font-weight:900}.kiwi-settings-advanced{width:100%}.kiwi-settings-advanced-table .u-input{border-bottom:2px solid red;height:auto;margin-top:10px}.kiwi-settings-advanced-table label{margin:0}.kiwi-settings-advanced-table td{height:30px}.kiwi-settings-advanced-table td:nth-child(2){min-width:100px}.kiwi-settings-advanced-table td:nth-child(3){min-width:350px}.kiwi-settings-advanced tr.kiwi-advanced-setting--modified{font-weight:900}.kiwi-settings-advanced .u-table td .u-input{height:30px}.kiwi-settings-advanced-filter{border-bottom:1px solid hsla(0,0%,50.2%,.5);padding:0 0 5px 0}.kiwi-settings-advanced-filter-container{position:relative;display:inline-block}.kiwi-settings-advanced-filter-container input::-ms-clear{display:none}.kiwi-settings-advanced-filter-container .fa-search,.kiwi-settings-advanced-filter-container .fa-times{position:absolute;top:8px;right:10px;z-index:10;cursor:default}.kiwi-settings-advanced-filter-container .fa-times{cursor:pointer}.kiwi-settings-advanced-filter label{font-weight:600}.kiwi-settings-advanced .u-form .kiwi-settings-advanced-filter .u-input{display:inline-block;border:1px solid #000;height:40px;padding:0 10px}.kiwi-settings-advanced-notice{text-align:center;padding:10px 0;margin:5px 0 15px 0;font-weight:900}.kiwi-settings-advanced .kiwi-settings-advanced-noresult{width:100%;margin:50px 0 30px 0;text-align:center;font-weight:900;font-size:1em}@media screen and (max-width:600px){.kiwi-settings-advanced .u-form{overflow-x:scroll}}.kiwi-appsettings{-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;overflow-y:auto;padding:8px 0 0 0;margin-top:-7px}.kiwi-appsettings .u-form{width:100%;overflow:hidden}.u-form label.kiwi-appsettings-setting-language.kiwi-appsettings-setting-language{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:2em}.kiwi-appsettings-setting-language select{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;max-width:200px}.kiwi-appsettings-setting-language div{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:right;margin-right:1em}.kiwi-appsettings-setting-theme span{margin-left:0}.kiwi-appsettings-setting-theme select{float:right}.kiwi-appsettings-setting-showjoinpart span{max-width:none}.kiwi-appsettings-full input,.kiwi-appsettings-full span{width:100%}.kiwi-appsettings-aliases{padding:1em 20px 2em 20px}.kiwi-appsettings .kiwi-appsettings-setting-scrollback input{margin-right:10px;width:80px}.kiwi-appsettings-tab-container{width:100%}.kiwi-appsettings-close{float:right}.kiwi-appsettings .u-form label{display:block}.kiwi-appsettings .u-form label span{text-align:left;margin-left:0}.kiwi-appsettings-theme-reload{margin-left:1em;float:right;cursor:pointer}.kiwi-settings-aliases-input{height:auto;min-height:300px;min-height:400px;line-height:normal;width:100%;max-width:100%;resize:vertical}.kiwi-appsettings-block{max-width:400px;width:auto;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;margin:20px auto 20px auto}.kiwi-appsettings-block.kiwi-appsettings-block-advanced{max-width:inherit;margin:20px}.kiwi-appsettings-block h3{width:100%;line-height:45px;padding:0 10px;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-appsettings-section{padding:10px}.kiwi-appsettings-block-aliases{max-width:750px}.kiwi-appsettings-title{display:block;cursor:pointer;padding:0 10px;margin:-1px 0 0 0;font-weight:600;width:100%;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;text-transform:uppercase;line-height:47px;text-align:right;-webkit-transition:background .3s;transition:background .3s}.kiwi-appsettings-title h2{padding:10px 0 11px 20px;width:auto;float:left}.kiwi-appsettings-title a{float:right;position:static;background:none;border:none;padding:10px 20px;font-size:1.4em}.kiwi-appsettings-title i{margin-left:10px;font-size:1.5em;float:right;line-height:47px}.kiwi-appsettings-messagelistDisplay select{float:right}@media screen and (max-width:769px){.kiwi-appsettings{width:100%;z-index:999;position:fixed;left:0;-webkit-transition:left .5s;transition:left .5s}.kiwi-appsettings .kiwi-appsettings-block{width:90%}.kiwi-appsettings .u-form label span{width:auto;margin-right:0;display:inline-block}}.kiwi-statebrowser{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-right:none;text-align:center;overflow:hidden}.kiwi-statebrowser h1{width:100%;font-size:1em;opacity:.8;cursor:default;padding:20px 0 27px 0}.kiwi-statebrowser hr{width:100%;margin:0;opacity:.3}.kiwi-statebrowser-appsettings{position:absolute;top:0;left:0;width:39px;text-align:center;font-size:1em;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:57px;cursor:pointer;font-weight:500;-webkit-transition:background .2s,opacity .2s;transition:background .2s,opacity .2s;opacity:.8;z-index:20}.kiwi-statebrowser-appsettings:hover{opacity:1}.kiwi-statebrowser-appsettings span{font-weight:600}.kiwi-statebrowser-appsettings i{line-height:35px;font-size:1.2em}.kiwi-statebrowser-newnetwork{position:static;padding:0;border-top:1px solid}.kiwi-statebrowser-newnetwork,.kiwi-statebrowser-newnetwork a{width:100%;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-statebrowser-newnetwork a{padding:0 10px;opacity:1;line-height:39px;cursor:pointer;display:block;background:none;text-align:left;position:relative;border-radius:0;font-size:.9em;-webkit-transition:all .3s;transition:all .3s;border:none}.kiwi-statebrowser-newnetwork a i{position:absolute;right:20px;line-height:39px;font-size:1.15em}.kiwi-statebrowser-newnetwork a:hover{opacity:1}.kiwi-statebrowser-network .kiwi-statebrowser-network-header{line-height:45px;text-align:left;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex}.kiwi-statebrowser-network .kiwi-statebrowser-network-header a{text-align:left;padding:0 0 0 10px;font-size:1em;font-weight:600}.kiwi-statebrowser-channel{line-height:30px;padding:0 0 0 8px;-webkit-transition:opacity .3s;transition:opacity .3s}.kiwi-statebrowser-channel .kiwi-statebrowser-channel-name{text-align:left;font-weight:600;font-size:1em}.kiwi-statebrowser-channel-active{font-weight:600;border-left:3px solid;opacity:1}.kiwi-statebrowser-channel:before{line-height:30px}.kiwi-statebrowser-newchannel{padding:0;height:auto;width:100%;border-top:none;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-statebrowser-newchannel a{width:90%;padding:0 10px 0 10px;line-height:35px;font-size:.8em;font-weight:500;cursor:pointer;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;background:none;text-align:left;position:relative;border-radius:4px;margin:0 5%;-webkit-transition:all .3s;transition:all .3s}.kiwi-statebrowser-newchannel a i{position:absolute;right:10px;line-height:35px;font-size:1.2em}.kiwi-statebrowser-newchannel a i:hover{opacity:1}.kiwi-statebrowser-usermenu .fa-caret-down{-webkit-transition:all .3s;transition:all .3s}.kiwi-statebrowser-usermenu--open .fa-caret-down{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.kiwi-statebrowser-switcher a{display:inline-block;width:50%;padding:5px 0;font-size:1.2em;cursor:pointer;text-align:center}.kiwi-statebrowser-availablenetworks-link a{cursor:pointer}.kiwi-statebrowser-usermenu-body a:hover{text-decoration:underline}.kiwi-statebrowser-scrollarea{height:auto;margin-bottom:0;-webkit-box-sizing:border-box;box-sizing:border-box;overflow-y:auto;width:100%;-webkit-box-flex:1;-ms-flex:1;flex:1}.kiwi-statebrowser-network{margin-bottom:2em;overflow:hidden}.kiwi-statebrowser-network:last-child{margin-bottom:0}.kiwi-statebrowser-options{position:absolute;bottom:0;padding:15px;height:30px;margin-right:10px}.kiwi-statebrowser-nonetworks{padding:5px;text-align:center}.kiwi-statebrowser-availablenetworks-toggle{cursor:pointer;text-align:center;padding:5px 0}.kiwi-statebrowser-availablenetworks-type{padding:10px}.kiwi-statebrowser-availablenetworks-name{text-align:center;font-weight:700}.kiwi-statebrowser-availablenetworks-networks{overflow:hidden;max-height:0;-webkit-transition:max-height .5s;transition:max-height .5s}.kiwi-statebrowser-availablenetworks-networks--open{max-height:500px}.kiwi-statebrowser-newchannel-inputwrap{padding:3px}.kiwi-statebrowser-newchannel-inputwrap input{outline:none;border:none;display:block;width:calc(100% - 20px);margin-right:30px}.kiwi-statebrowser-newchannel-inputwrap i{position:absolute;right:5px;top:5px;cursor:pointer}.kiwi-statebrowser-availablenetworks-link{border-right:15px solid red}.kiwi-statebrowser-availablenetworks-link--connected{border-color:green}.kiwi-statebrowser-newchannel-inputwrap--focus{opacity:1}@media screen and (max-width:769px){.kiwi-statebrowser{left:-100%;padding-top:0;z-index:1000}.kiwi-wrap.kiwi-wrap--statebrowser-drawopen .kiwi-statebrowser{width:75%;left:0;z-index:100;-webkit-transition:left .07s,width .1s;transition:left .07s,width .1s}.kiwi-header{text-align:center}.kiwi-container-toggledraw-statebrowser-messagecount{width:30px;color:#000;font-weight:600;max-height:49.5px}.kiwi-statebrowser-newchannel a{margin-right:2.5%;margin-left:2.5%;width:95%}.kiwi-statebrowser-channel:before{line-height:40px}.kiwi-statebrowser-usermenu{position:relative}.kiwi-statebrowser-usermenu-body .kiwi-close-icon{display:none}.kiwi-wrap--statebrowser-drawopen .kiwi-statebrowser:after{opacity:1;width:100%;right:-100%;-webkit-transition:width .2s,opacity .2s;transition:width .2s,opacity .2s}}.kiwi-channelinfo-previoustopics{margin:0 10px 15px 10px}.kiwi-channelinfo-previoustopics ul{margin-top:0}.kiwi-channelbanlist-table{width:100%;border-collapse:collapse;line-height:20px;margin-top:10px}.kiwi-channelbanlist-table tr{border-bottom:1px solid}.kiwi-channelbanlist-table-mask{word-break:break-all}.kiwi-channelbanlist-table-bannedat{min-width:150px}.kiwi-channelbanlist-table-actions{min-width:50px;cursor:pointer;position:relative;z-index:1}.kiwi-channelbanlist-table-actions,.kiwi-header{text-align:center;-webkit-transition:all .3s;transition:all .3s}.kiwi-header{padding:0;line-height:10px;height:44px;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid;display:-webkit-box;display:-ms-flexbox;display:flex}.kiwi-header-name .kiwi-header-awaystatus{display:inline-block;margin-bottom:2px}.kiwi-header--showall{height:auto;max-height:100%;overflow-y:auto}.kiwi-header:hover{max-height:none}.kiwi-header-name-container{font-weight:700;cursor:default;margin:0;margin-right:.5em;opacity:1;font-size:20px;line-height:43px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:left;overflow-x:hidden;white-space:nowrap}.kiwi-header-name{text-overflow:ellipsis;overflow:hidden;padding:0 10px}.kiwi-header-name:hover{position:absolute;padding-right:10px;z-index:1}.kiwi-header-options{width:auto;display:inline-block;-ms-flex-negative:0;flex-shrink:0}.kiwi-header-option{border:none;float:left;background:none;font-size:.8em;opacity:.9;font-weight:900}.kiwi-header-option a{float:left;padding:0 15px;line-height:45px;display:block;font-weight:600;opacity:.8;cursor:pointer;-webkit-transition:all .3s;transition:all .3s}.kiwi-header-option a:hover{opacity:1}.kiwi-header-option i{font-size:1.2em;float:left;line-height:45px}.kiwi-header-options i+span{margin-left:10px}.kiwi-header-option--active,.kiwi-header-option--active a{opacity:1}.kiwi-header-option-leave{opacity:1;margin:0;-webkit-transition:all .3s;transition:all .3s}.kiwi-header-option-leave i{margin:0}.kiwi-header-notjoined{border-radius:0;display:inline-block;margin:0 auto;float:right}.kiwi-header-notjoined .u-link{font-weight:600;line-height:43px;padding:0 25px;border-radius:0;-webkit-transition:all .3;transition:all .3}.kiwi-header-server-settings{display:inline}.kiwi-header-server-connection{float:right;padding-right:10px;line-height:46px}.kiwi-header-server-connection .u-button{float:right;line-height:35px;padding:0 1em;margin:4px 0;border-radius:4px}.kiwi-header-options .u-button{text-transform:uppercase;font-size:.7em;font-weight:600;letter-spacing:.2em;padding:.5em 1.7em;line-height:2em;border-radius:.4em}.kiwi-header-join-channel-button{border-radius:.3em;text-transform:uppercase;letter-spacing:.2em;line-height:inherit;height:auto;display:inline-block;padding:.2em 1em;font-size:.8em}.kiwi-header-close-buffersettings{float:right}.kiwi-header-buffersettings{padding:5px;margin-top:1em}.kiwi-header-prompt{position:absolute;right:0;top:46px;z-index:11}.kiwi-header-prompttrans-enter,.kiwi-header-prompttrans-leave-to{top:-45px}.kiwi-header-prompttrans-enter-to,.kiwi-header-prompttrans-leave{top:46px}.kiwi-header-prompttrans-enter-active,.kiwi-header-prompttrans-leave-active{-webkit-transition:top .2s;transition:top .2s}@media screen and (max-width:769px){.kiwi-container-toggledraw-statebrowser{border-bottom:none}.kiwi-container .kiwi-header{margin-right:0;overflow:visible;max-height:none;padding-left:0;margin-left:0}.kiwi-header-name-container{padding-left:60px}.kiwi-header-name{padding:0}.kiwi-header-option span{display:none}.kiwi-header-server-connection .u-button{line-height:32px;margin:7px 0 0 0;opacity:1;font-weight:600}.kiwi-header-notjoined{height:45px;margin:0;white-space:nowrap}.kiwi-header-notjoined .kiwi-header-join-channel-button{padding-left:10px;padding-right:10px}.kiwi-containerheader-hidetext{display:none}}.kiwi-sidebar.kiwi-sidebar-section-user{right:0;width:380px}.kiwi-userbox{overflow-y:auto;height:100%}.kiwi-userbox,.kiwi-userbox-selfprofile{-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-userbox-selfprofile{display:block;margin:0 auto;width:100%;padding:1em;text-align:center;border-bottom:1px solid rgba(0,0,0,.2)}.kiwi-userbox-header{position:relative;padding:.5em 1em;overflow:hidden}.kiwi-userbox-header h3{width:100%;padding:0;cursor:default;display:inline-block}.kiwi-userbox-modestring{font-weight:400;font-size:.8em}.fa-user.kiwi-userbox-icon{display:inline-block;font-size:2em}.kiwi-userbox-usermask{width:100%;opacity:.6;cursor:default}.kiwi-userbox-basicinfo{width:100%;margin:0;display:block;padding:.5em 1em;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-userbox-basicinfo-data,.kiwi-userbox-basicinfo-title{display:block;width:100%;cursor:default;margin:0}.kiwi-userbox-basicinfo-title{font-size:1em;line-height:1em;padding:0;text-align:left;font-weight:900}.kiwi-userbox-basicinfo-data{margin-bottom:1em;font-weight:400;font-weight:100;opacity:1}.kiwi-userbox-actions{width:100%;padding:1em;text-align:center;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-userbox-actions .kiwi-userbox-action{display:inline-block;border:1px solid;padding:.5em 1em;cursor:pointer;margin:0 2px;-webkit-transition:all .3s;transition:all .3s;border-radius:3px}.kiwi-userbox-actions label{display:block;cursor:pointer}.kiwi-userbox-actions label span{text-align:left;width:auto}.kiwi-userbox-opactions{width:100%;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0 0 1em 0;border-top:1px solid;padding:1em}.kiwi-userbox-opactions label{width:100%;font-size:1.2em;font-weight:600;display:block;margin-bottom:.7em}.kiwi-userbox-opactions label select{display:block;clear:both;padding:10px;border-radius:.25em;-webkit-box-shadow:none;box-shadow:none;border:1px solid;width:100%;margin-top:10px;cursor:pointer}.kiwi-userbox-opaction{width:100%;padding:0 1em;text-align:left;border:none;line-height:2.2em;font-size:.8em}.kiwi-userbox-opaction i{margin-right:.2em;font-size:1.2em}.kiwi-userbox-actions a{margin-right:1em}.kiwi-userbox-whois{line-height:1.4em;padding:1em;width:90%;margin:0 5% 20px 5%;background:none;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:2px}.kiwi-userbox-whois-line{display:block}.kiwi-userbox-ignoreuser{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.kiwi-userbox-ignoreuser span{float:right}@media screen and (max-width:769px){.kiwi-container--sidebar-drawn .kiwi-sidebar-userbox{width:100%}.kiwi-userbox{left:0;right:0;bottom:40px;top:auto;max-width:100%;border-width:1px 0}.kiwi-userbox .kiwi-userbox-header{padding-left:10px}.kiwi-userbox .kiwi-userbox-header i{display:none}.kiwi-userbox .kiwi-userbox-basicinfo{padding:10px 10px;margin-bottom:20px}.kiwi-userbox-actions{padding:0;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-userbox-actions .kiwi-userbox-action{width:200px;clear:both;display:block;margin:0 auto 20px auto}}.kiwi-sidebar.kiwi-sidebar-section-about{max-width:300px;width:300px}.kiwi-aboutbuffer{overflow-y:auto;-webkit-box-sizing:border-box;box-sizing:border-box;min-height:100px;margin:auto;width:100%;padding-bottom:1px;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.kiwi-aboutbuffer-highlight{cursor:pointer}.kiwi-aboutbuffer h3{padding:10px;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-aboutbuffer-section{display:block;width:100%}.kiwi-aboutbuffer-section h4{padding:10px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kiwi-aboutbuffer-section h4 i{margin-right:5px;-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.kiwi-aboutbuffer-section--closed h4 i{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.kiwi-aboutbuffer-section>div{padding:1em;-webkit-transition:max-height .2s,padding .2s,opacity .2s;transition:max-height .2s,padding .2s,opacity .2s;overflow:hidden}.kiwi-aboutbuffer-section .kiwi-aboutbuffer-usercount{text-align:center}.kiwi-aboutbuffer-section>div p{margin:0 0 1em 0}.kiwi-aboutbuffer-section>div p:last-of-type{margin-bottom:0}.kiwi-aboutbuffer-section--closed>div{max-height:0;padding:0;opacity:0}@media screen and (max-width:769px){.kiwi-sidebar.kiwi-sidebar-section-about{width:100%;max-width:100%}}.kiwi-invitelist-inviteonly-status{margin-top:10px}.kiwi-invitelist-table{width:100%;border-collapse:collapse;line-height:20px;margin-top:10px}.kiwi-invitelist-table-invitedat{min-width:150px}.kiwi-invitelist-table-actions{min-width:50px;text-align:center;cursor:pointer;position:relative;-webkit-transition:all .3s;transition:all .3s;z-index:1}.kiwi-invitelist-addmask{display:-webkit-box;display:-ms-flexbox;display:flex}.kiwi-invitelist-addmask>button{-ms-flex-negative:0;flex-shrink:0}.kiwi-avatar>span{text-transform:uppercase;cursor:pointer;width:100%;height:100%;border-radius:50%;font-weight:600;margin-top:3px;border:2px solid;background-size:cover;background-repeat:no-repeat;background-position:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-avatar--image>span{border:none}.kiwi-nicklist-user{line-height:26px;padding:0 12px 0 12px;border-left:4px solid;margin:0 0 0 0;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all .1s;transition:all .1s;cursor:pointer;white-space:nowrap;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.kiwi-nicklist--avatars .kiwi-nicklist-user{line-height:32px;padding-bottom:6px}.kiwi-nicklist-user-nick{font-weight:700;cursor:pointer;-webkit-box-flex:1;-ms-flex:1;flex:1}.kiwi-nicklist-messageuser{position:absolute;content:"\f075";right:-1em;font-family:fontAwesome,sans-serif;line-height:26px;opacity:0}.kiwi-nicklist-messageuser:hover{cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.kiwi-nicklist-user:hover .kiwi-nicklist-messageuser{opacity:1;right:1em;-webkit-transition:all .2s;transition:all .2s;-webkit-transition-delay:.1s;transition-delay:.1s}.kiwi-avatar-container{position:relative;margin-right:10px;-webkit-box-flex:0;-ms-flex:0;flex:0}.kiwi-avatar-container .kiwi-avatar{width:30px;height:30px}.kiwi-avatar-container .kiwi-awaystatusindicator{position:absolute;top:0;right:0;margin:0}.kiwi-avatar-container-user-prefix{-webkit-box-flex:0;-ms-flex:0;flex:0}.kiwi-container .kiwi-sidebar.kiwi-sidebar-section-nicklist{max-width:250px;width:250px}.kiwi-nicklist{overflow:hidden;min-height:100px;margin:auto;padding-bottom:1px;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.kiwi-nicklist,.kiwi-nicklist-usercount{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.kiwi-nicklist-usercount{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;cursor:default;height:43px;line-height:40px;border-bottom:1px solid}.kiwi-nicklist-usercount span{margin-left:15px;font-weight:600}.kiwi-nicklist-usercount .fa-search{opacity:.3;cursor:pointer;font-size:1.2em;line-height:40px;-ms-flex-item-align:start;align-self:flex-start;margin-right:15px}.kiwi-nicklist--filtering .kiwi-nicklist-usercount .fa-search,.kiwi-nicklist-usercount .fa-search:hover{opacity:1}.kiwi-nicklist-usercount input{width:0;border:none;font-weight:400;background:none;outline:0;padding:0 15px 0 10px;opacity:0;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-transition:all .2s;transition:all .2s}.kiwi-nicklist--filtering .kiwi-nicklist-usercount input{opacity:1}.kiwi-nicklist-users{width:100%;padding:0;margin:0;overflow-y:scroll;overflow-x:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;max-height:100%;-webkit-box-flex:1;-ms-flex:1 auto;flex:1 auto;line-height:1.2em;margin-top:6px}@media screen and (max-width:759px){.kiwi-container .kiwi-sidebar.kiwi-sidebar-section-nicklist{width:100%;max-width:380px}}.kiwi-sidebar{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden;z-index:100}.kiwi-sidebar.kiwi-sidebar-section-settings{width:500px;max-width:500px}.kiwi-sidebar .u-form textarea{min-width:100%;max-width:100%;min-height:80px;resize:vertical}.kiwi-sidebar-buffersettings{overflow:hidden;height:100%}.kiwi-sidebar-buffersettings .u-tabbed-content{padding:1em}.kiwi-sidebar-userbox{overflow:hidden;height:100%}.kiwi-sidebar-settings{margin-bottom:20px}.kiwi-sidebar-settings label{display:block}@-webkit-keyframes settingstransition{0%{margin-top:50px}to{margin-top:100px}}@keyframes settingstransition{0%{margin-top:50px}to{margin-top:100px}}@-webkit-keyframes nicklisttransition{0%{height:0}to{height:100%}}@keyframes nicklisttransition{0%{height:0}to{height:100%}}.kiwi-sidebar-accesstab{margin-right:1em}.kiwi-sidebar-accesstab--active{font-weight:700}.kiwi-channelbanlist-empty{margin-top:10px}.kiwi-sidebar-options{display:none}@media screen and (max-width:769px){.kiwi-sidebar-options{cursor:pointer;font-weight:600;position:relative;text-transform:uppercase;line-height:47px;vertical-align:top}.kiwi-sidebar-options,.kiwi-sidebar-options .kiwi-sidebar-close{display:block;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-sidebar-options .kiwi-sidebar-close{padding:0 15px;height:50px;line-height:50px;text-align:right;letter-spacing:2px;-webkit-transition:background .3s;transition:background .3s}.kiwi-sidebar-options .kiwi-sidebar-close i{margin-left:5px;font-size:1.5em;line-height:47px;position:relative;top:2px}.kiwi-sidebar .u-tabbed-view-tab{width:100%}.kiwi-sidebar .u-tabbed-view-tab.u-tabbed-view-tab--active{border-bottom:3px solid #42b992;margin-bottom:0}.kiwi-sidebar .u-form input[type=checkbox]{margin-right:4px}.kiwi-sidebar .u-form label span{margin-right:0;margin-left:0}.kiwi-container--sidebar-drawn .kiwi-sidebar{width:100%;max-width:100%}.kiwi-sidebar-buffersettings{padding-bottom:10px}.kiwi-channelbanlist{float:left;width:100%}.kiwi-channelbanlist-table{margin-top:30px}.kiwi-channelbanlist .u-form{line-height:10px}}.kiwi-notconnected{-webkit-box-sizing:border-box;box-sizing:border-box;padding:5px 20px;-webkit-transition:background-color .3s;transition:background-color .3s;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.kiwi-notconnected.connecting{text-align:center}.kiwi-notconnected-caption{display:inline-block;width:auto;cursor:default;line-height:50px;font-size:1.2em;font-weight:900}.kiwi-notconnected-caption i{font-weight:400;font-size:1.5em;position:relative;right:-3px;top:3px}.kiwi-notconnected-captcha{display:inline-block;margin-left:3em}.kiwi-notconnected-buttons{float:right;width:auto;text-align:center}.kiwi-notconnected-button{width:auto;display:inline-block;padding:5px 10px;border-radius:7px;cursor:pointer;border:2px solid;margin:6px 0 0 10px;height:37px;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:opacity .3s,color .3s,background-color .3s;transition:opacity .3s,color .3s,background-color .3s}.kiwi-notconnected-button:hover[disabled]{cursor:not-allowed;opacity:.65}.kiwi-notconnected-button:hover{opacity:1;-webkit-transition:all .2s;transition:all .2s}.kiwi-notconnected-button i{float:left;font-size:1.6em;line-height:24px;margin-right:5px}.kiwi-notconnected-button-settings{opacity:.8;border:none}.kiwi-notconnected-button-settings i{margin-right:0}@media screen and (max-width:1024px){.kiwi-notconnected-caption{font-size:1em;width:100%;text-align:center}.kiwi-notconnected-buttons{width:100%}.kiwi-notconnected-button{margin:0;font-size:1em;padding:0 10px;line-height:33px;width:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-notconnected-button i{line-height:36px}}@media screen and (max-width:769px){.kiwi-notconnected{font-size:.8em;padding:0 10px}.kiwi-notconnected-caption{width:100%;text-align:center;font-size:1.3em}.kiwi-notconnected-buttons{width:100%}.kiwi-notconnected-button{font-size:1.2em;display:inline-block}}.kiwi-bufferkey{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;padding:10% 0;margin:10px 0 0 0;-webkit-transition:background-color .3s;transition:background-color .3s}.kiwi-bufferkey label{width:340px;display:block;margin:0 auto 10px auto;font-size:1.2em;text-align:left}.kiwi-bufferkey input[type=password]{height:40px;padding:0 10px;border-radius:4px;color:#000;border:none;width:320px;font-size:1.2em;margin:0 0 20px 0}.kiwi-bufferkey-buttons{width:100%;text-align:center;font-size:1.6em}.kiwi-bufferkey-buttons span:hover{text-decoration:underline}.kiwi-bufferkey-button{width:auto;display:inline-block;font-size:.8em;cursor:pointer;-webkit-transition:all .3s;transition:all .3s;border-radius:4px;padding:5px 20px;line-height:40px;border:1px solid}.kiwi-bufferkey-button:hover{-webkit-transition:all .2s;transition:all .2s}.kiwi-bufferkey-button i{float:left;font-size:1.6em;line-height:40px;margin-right:.4em}@media screen and (max-width:1024px){.kiwi-bufferkey-button{clear:both;margin:0 5% 1em;font-size:1em;display:block;padding:.6em .8em .6em .4em;width:90%;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-bufferkey-button i{display:none}}@media screen and (max-width:769px){.kiwi-bufferkey{font-size:.8em}.kiwi-bufferkey-button{font-size:.7em}}.kiwi-mediaviewer{-webkit-box-sizing:border-box;box-sizing:border-box;position:relative}.kiwi-mediaviewer-controls{position:absolute;top:0;right:0;z-index:1;background:var(--brand-default-bg);border-radius:5px;padding:3px;opacity:0;-webkit-transition:opacity .1s;transition:opacity .1s;-webkit-box-shadow:0 1px var(--brand-input-border);box-shadow:0 1px var(--brand-input-border)}.kiwi-mediaviewer:hover .kiwi-mediaviewer-controls{opacity:1}.kiwi-mediaviewer-controls-close{padding:3px 15px}.kiwi-mediaviewer-iframe{height:100%;width:100%;position:absolute;top:0;border:none}.embedly-card{margin:10px 0;display:inline-block}.embedly-card-hug{border:1px solid rgba(0,0,0,.2);border-radius:5px;background:#fff}.kiwi-messageinfo{display:block;position:relative;padding:0}.kiwi-messageinfo-urls{margin-top:10px;padding-top:10px;padding-bottom:10px;border-top:1px solid;border-bottom:1px solid}.kiwi-messageinfo-url{margin-bottom:5px;display:-webkit-box;display:-ms-flexbox;display:flex}.kiwi-messageinfo-urls .kiwi-messageinfo-url:last-of-type{margin-bottom:0}.kiwi-messageinfo-actions{margin-top:10px;overflow:hidden;width:100%;text-align:left}.kiwi-messageinfo-url .u-link{white-space:nowrap;text-overflow:ellipsis;display:inline-block;overflow:hidden;-webkit-box-flex:1;-ms-flex:1;flex:1;line-height:30px;margin-left:10px;padding:5px 10px;text-align:center;border:1px solid;border-radius:3px}.kiwi-messageinfo-close{position:absolute;right:20px;bottom:5px;font-size:1.3em;cursor:pointer}.kiwi-messageinfo-opbuttons{margin-left:2em;display:inline-block}.kiwi-messageinfo-actions--open .kiwi-messageinfo-opbuttons{margin-left:0}.kiwi-messageinfo-opbuttons .u-input-prompt a,.kiwi-messageinfo-reply{padding:5px 10px;display:inline-block;border-radius:4px}.kiwi-messageinfo-opbuttons .u-input-prompt input{margin-bottom:5px}@media screen and (max-width:490px){.kiwi-messageinfo-actions{text-align:center}.kiwi-messageinfo-opbuttons{margin:0}.kiwi-messageinfo-opbuttons .u-input-prompt a{margin-top:10px}}.kiwi-messagelist-message--compact[data-v-44d09d1c]{position:relative}.kiwi-messagelist-message--compact .kiwi-messagelist-message-action[data-v-44d09d1c]:hover,.kiwi-messagelist-message--compact .kiwi-messagelist-message-notice[data-v-44d09d1c]:hover,.kiwi-messagelist-message--compact .kiwi-messagelist-message-privmsg[data-v-44d09d1c]:hover{cursor:pointer}.kiwi-messagelist-message--compact .kiwi-messagelist-message--blur[data-v-44d09d1c]{opacity:.5}.kiwi-messagelist-message--compact .kiwi-messagelist-nick[data-v-44d09d1c]{width:110px;min-width:110px;display:inline-block;left:8px;top:-1px;position:absolute;white-space:nowrap}.kiwi-messagelist-message--compact .kiwi-messagelist-nick[data-v-44d09d1c]:hover{width:auto}.kiwi-messagelist-message--compact.kiwi-messagelist-message-nick .kiwi-messagelist-time[data-v-44d09d1c]{margin-right:10px;opacity:.8}.kiwi-messagelist-message--compact .kiwi-messagelist-time[data-v-44d09d1c]{display:inline-block;float:right;font-size:12px}.kiwi-messagelist-message--compact .kiwi-messagelist-body[data-v-44d09d1c]{display:block;white-space:pre-wrap;word-wrap:break-word;margin-left:120px}.kiwi-messagelist-message--compact .kiwi-messagelist-body a[data-v-44d09d1c]{word-break:break-all}.kiwi-messagelist-message--compact .kiwi-messageinfo[data-v-44d09d1c]{padding-left:130px}.kiwi-messagelist-message--compact.kiwi-messagelist-message-traffic[data-v-44d09d1c]{margin:0;padding:1px 0}.kiwi-messagelist-message--compact.kiwi-messagelist-message-traffic .kiwi-messagelist-body[data-v-44d09d1c]{margin-left:131px}.kiwi-messagelist-message--compact.kiwi-messagelist-message-topic[data-v-44d09d1c]{border-radius:0;border-left:0;border-right:0;margin:1em 0}.kiwi-messagelist-message--compact.kiwi-messagelist-message-topic .kiwi-messagelist-body[data-v-44d09d1c]{padding-right:0;max-width:95%;margin-left:20px}.kiwi-messagelist-message--compact.kiwi-messagelist-message--authorrepeat .kiwi-messagelist-nick[data-v-44d09d1c],.kiwi-messagelist-message--compact.kiwi-messagelist-message--authorrepeat .kiwi-messagelist-time[data-v-44d09d1c]{display:none}.kiwi-messagelist-message--compact.kiwi-messagelist-message--unread[data-v-44d09d1c]{opacity:1}@media screen and (max-width:769px){.kiwi-messagelist-message--compact[data-v-44d09d1c]{padding:5px}.kiwi-messagelist-message--compact .kiwi-messagelist-nick[data-v-44d09d1c]{display:inline;width:auto;min-width:auto;float:left;position:static;padding-left:0}.kiwi-messagelist-message--compact .kiwi-messagelist-time[data-v-44d09d1c]{text-align:right}.kiwi-messagelist-message--compact .kiwi-messagelist-body[data-v-44d09d1c]{float:left;width:100%;margin-left:0;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-messagelist-message--compact.kiwi-messagelist-message--unread .kiwi-messagelist-body[data-v-44d09d1c]{padding-left:10px}.kiwi-messagelist-message--compact .kiwi-messagelist-message--authorrepeat .kiwi-messagelist-nick[data-v-44d09d1c]{display:none}.kiwi-messagelist-message--compact .kiwi-messageinfo[data-v-44d09d1c]{padding-left:2px}.kiwi-messagelist-message--compact.kiwi-messagelist-message-traffic .kiwi-messagelist-body[data-v-44d09d1c]{margin-left:0}.kiwi-messagelist-message--compact.kiwi-messagelist-message-traffic[data-v-44d09d1c]{margin-left:10px}.kiwi-messagelist-message--compact.kiwi-messagelist-message-traffic.kiwi-messagelist-message--unread[data-v-44d09d1c]{margin-left:0;padding-left:10px}}.kiwi-messagelist-message--compact .kiwi-messagelist-message-traffic .kiwi-messagelist-nick[data-v-44d09d1c]{display:none}.kiwi-messagelist-item[data-v-44d09d1c]:last-of-type{margin-bottom:5px}@media screen and (min-width:1000px){.kiwi-messagelist-message--compact .kiwi-messagelist-nick[data-v-44d09d1c]{width:160px;min-width:160px}.kiwi-messagelist-message--compact .kiwi-messagelist-nick[data-v-44d09d1c]:hover{width:auto}.kiwi-messagelist-message--compact .kiwi-messagelist-body[data-v-44d09d1c]{margin-left:170px}.kiwi-messagelist-message--compact .kiwi-messageinfo[data-v-44d09d1c]{padding-left:180px}.kiwi-messagelist-message--compact.kiwi-messagelist-message-traffic .kiwi-messagelist-body[data-v-44d09d1c]{margin-left:181px}}.kiwi-messagelist-message--modern[data-v-fe3ccb9c]{border-left:7px solid transparent;display:-webkit-box;display:-ms-flexbox;display:flex;margin:0 0 0 20px;margin-left:0;-webkit-transition:border-colour .2s,background-color .2s;transition:border-colour .2s,background-color .2s}.kiwi-messagelist-modern-left[data-v-fe3ccb9c]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;width:50px}.kiwi-messagelist-awaystatus[data-v-fe3ccb9c]{width:10px;top:4px;right:2px;height:10px;position:absolute}.kiwi-messagelist-message--modern .kiwi-avatar[data-v-fe3ccb9c]{height:40px;width:40px}.kiwi-messagelist-message--modern.kiwi-messagelist-message--authorfirst[data-v-fe3ccb9c]{padding-top:10px}.kiwi-messagelist-message--modern.kiwi-messagelist-message--authorrepeat[data-v-fe3ccb9c]{border-top:none}.kiwi-messagelist-message--modern.kiwi-messagelist-message--authorrepeat .kiwi-messagelist-modern-right[data-v-fe3ccb9c]{padding-top:0}.kiwi-messagelist-message--modern.kiwi-messagelist-message-topic[data-v-fe3ccb9c]{margin:20px 20px 20px 20px;padding:10px 20px;width:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-messagelist-message--modern.kiwi-messagelist-message--authorrepeat .kiwi-avatar[data-v-fe3ccb9c],.kiwi-messagelist-message--modern.kiwi-messagelist-message--authorrepeat .kiwi-messagelist-top[data-v-fe3ccb9c],.kiwi-messagelist-message--modern.kiwi-messagelist-message-topic .kiwi-messagelist-modern-left[data-v-fe3ccb9c]{display:none}.kiwi-messagelist-message--modern .kiwi-messagelist-body[data-v-fe3ccb9c]{white-space:pre-wrap;word-wrap:break-word;display:block;margin-left:0;margin-bottom:10px}.kiwi-messagelist-message--modern .kiwi-messagelist-body a[data-v-fe3ccb9c]{word-break:break-all}.kiwi-messagelist-message--modern .kiwi-messagelist-modern-right[data-v-fe3ccb9c]{margin-left:5px;padding-top:0;width:100%}.kiwi-messagelist-message--modern .kiwi-messagelist-top>div[data-v-fe3ccb9c]{margin-right:10px;padding:0;display:inline-block}.kiwi-messagelist-message--modern .kiwi-messagelist-realname[data-v-fe3ccb9c]{cursor:pointer}.kiwi-messagelist-message--modern .kiwi-messagelist-time[data-v-fe3ccb9c]{font-size:.8em;font-weight:400;opacity:.6}.kiwi-messagelist-message--modern .kiwi-messagelist-nick[data-v-fe3ccb9c]{padding:0;margin-right:10px}.kiwi-messagelist-message-traffic .kiwi-messagelist-body[data-v-fe3ccb9c]{margin-bottom:0}.kiwi-messagelist-message-traffic .kiwi-messagelist-modern-left[data-v-fe3ccb9c],.kiwi-messagelist-message-traffic .kiwi-messagelist-top[data-v-fe3ccb9c]{display:none}.kiwi-messagelist-message--modern.kiwi-messagelist-message-traffic[data-v-fe3ccb9c]{margin-right:0;padding-left:60px}.kiwi-messagelist-message-error[data-v-fe3ccb9c]{padding:10px 0;font-weight:600;line-height:normal}.kiwi-messagelist-message-error .kiwi-messagelist-top[data-v-fe3ccb9c]{display:none}.kiwi-messagelist-message-error .kiwi-messagelist-body[data-v-fe3ccb9c]{margin-bottom:0}@media screen and (max-width:769px){.kiwi-messagelist-message--modern .kiwi-messagelist-modern-left[data-v-fe3ccb9c]{width:10px}.kiwi-messagelist-message--modern.kiwi-messagelist-message-privmsg .kiwi-messagelist-modern-left[data-v-fe3ccb9c],.kiwi-messagelist-message-notice .kiwi-messagelist-modern-left[data-v-fe3ccb9c]{display:none}.kiwi-messagelist-message--modern .kiwi-messagelist-modern-right[data-v-fe3ccb9c]{margin-left:0}.kiwi-messagelist-message--modern[data-v-fe3ccb9c]{margin:0}.kiwi-messagelist-message--modern .kiwi-avatar[data-v-fe3ccb9c],.kiwi-messagelist-message-action .kiwi-messagelist-modern-left[data-v-fe3ccb9c]{display:none}.kiwi-messagelist-message--modern.kiwi-messagelist-message-traffic[data-v-fe3ccb9c]{padding-left:10px}.kiwi-messagelist-message--modern.kiwi-messagelist-message-topic[data-v-fe3ccb9c]{margin:0 15px 20px 15px}}.kiwi-messagelist-message--text[data-v-7979fe60]{position:relative;padding:4px 10px;margin:0;text-align:left}.kiwi-messagelist-message--text .kiwi-messagelist-time[data-v-7979fe60]{position:absolute;top:0;right:0;padding:0 10px;display:none;opacity:.8}.kiwi-messagelist-message--text:hover .kiwi-messagelist-time[data-v-7979fe60]{display:block;border-radius:5px 0 0 5px}.kiwi-messagelist-message--text .kiwi-messagelist-seperator[data-v-7979fe60]{display:none}.kiwi-messagelist-message--text .kiwi-messagelist-nick[data-v-7979fe60]{display:inline;text-align:left;margin-right:2px;padding:0}.kiwi-messagelist-message--text .kiwi-messagelist-nick[data-v-7979fe60]:hover{max-width:none;width:auto}.kiwi-messagelist-message--text .kiwi-messagelist-body[data-v-7979fe60]{display:inline;padding:0;white-space:pre-wrap}.kiwi-messagelist-message--text .kiwi-messagelist-body a[data-v-7979fe60]{word-break:break-all}.kiwi-messagelist-message--text .kiwi-messagelist-message-action[data-v-7979fe60]:hover,.kiwi-messagelist-message--text .kiwi-messagelist-message-notice[data-v-7979fe60]:hover,.kiwi-messagelist-message--text .kiwi-messagelist-message-privmsg[data-v-7979fe60]:hover{cursor:pointer}.kiwi-messagelist-message--text.kiwi-messagelist-message-topic[data-v-7979fe60]{border-radius:0;border-left:0;border-right:0;margin:10px 0}.kiwi-messagelist-message--text.kiwi-messagelist-message-topic .kiwi-messagelist-body[data-v-7979fe60]{padding-right:0;max-width:95%;margin-left:20px}.kiwi-messagelist-message--text.kiwi-messagelist-message--unread[data-v-7979fe60]{opacity:1}.kiwi-messagelist-message--text .kiwi-messagelist-message-traffic .kiwi-messagelist-nick[data-v-7979fe60]{display:none}.kiwi-messagelist-item[data-v-7979fe60]:last-of-type{margin-bottom:5px}.kiwi-messagelist-message--text.kiwi-messagelist-message-nick .kiwi-messagelist-nick[data-v-7979fe60]{display:none}@media screen and (max-width:700px){.kiwi-messagelist-message--text .kiwi-messagelist-body[data-v-7979fe60],.kiwi-messagelist-message--text.kiwi-messagelist-message-nick .kiwi-messagelist-body[data-v-7979fe60],.kiwi-messagelist-message--text.kiwi-messagelist-message-traffic[data-v-7979fe60]{padding-right:0}}.kiwi-loading-logo{display:none}.kiwi-loading-animation{height:100%;width:100%}.kiwi-unselectable *{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.kiwi-messagelist-item.kiwi-messagelist-item--selected{border-left:7px solid var(--brand-primary);-webkit-transform:translateX(20px);transform:translateX(20px);-webkit-transition:-webkit-transform .1s;transition:-webkit-transform .1s;transition:transform .1s;transition:transform .1s,-webkit-transform .1s}div.kiwi-messagelist-item.kiwi-messagelist-item--selected .kiwi-messagelist-message{border-left-width:0}.kiwi-messagelist-item.kiwi-messagelist-item--selected .kiwi-messagelist-message ::-moz-selection{background-color:unset;color:unset}.kiwi-messagelist-item.kiwi-messagelist-item--selected .kiwi-messagelist-message ::selection{background-color:unset;color:unset}.kiwi-unselectable .kiwi-messagelist-scrollback{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kiwi-messagelist{overflow-y:auto;overflow-x:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;margin-bottom:25px;position:relative}.kiwi-messagelist--smoothscroll{scroll-behavior:smooth}.kiwi-messagelist *{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.kiwi-messagelist::-webkit-scrollbar-track{border-radius:10px;background:transparent}.kiwi-messagelist::-webkit-scrollbar{width:8px;background:transparent}.kiwi-messagelist::-webkit-scrollbar-thumb{border-radius:3px}.kiwi-messagelist-item{overflow:hidden}.kiwi-messagelist-message{padding:0 10px;border-left:3px solid transparent;overflow:hidden;line-height:1.5em;margin:0}.kiwi-wrap--monospace .kiwi-messagelist-message{font-family:Consolas,monaco,monospace;font-size:80%}.kiwi-messagelist-message-mode,.kiwi-messagelist-message-traffic{padding-top:5px;padding-bottom:5px;min-height:0;line-height:normal;text-align:left}.kiwi-messagelist-body{min-height:0;text-align:left;line-height:1.5em;font-size:1.05em;margin:0;padding:0}.kiwi-messagelist-message-mode,.kiwi-messagelist-message-nick,.kiwi-messagelist-message-traffic{margin:10px 0;opacity:.85;text-align:center;border:none}.kiwi-messagelist-message-mode:hover,.kiwi-messagelist-message-nick:hover,.kiwi-messagelist-message-traffic:hover{opacity:1}.kiwi-messagelist-message-mode .kiwi-messagelist-time,.kiwi-messagelist-message-traffic .kiwi-messagelist-time{position:absolute;top:1px;right:10px}.kiwi-messagelist-message--authorrepeat{border-top:none}.kiwi-messagelist-message--authorrepeat .kiwi-messagelist-nick,.kiwi-messagelist-message--authorrepeat .kiwi-messagelist-time{opacity:0;cursor:default}.kiwi-container--sidebar-drawn .kiwi-messagelist:after{content:"";z-index:3;left:0;top:0;width:100%;height:100%;opacity:.5;position:fixed;pointer-events:none}.kiwi-container--sidebar-drawn.kiwi-container--no-sidebar .kiwi-messagelist:after{width:0;height:0;display:none;pointer-events:inherit;position:static;z-index:0}.kiwi-messagelist-scrollback{text-align:center;padding:5px}.kiwi-messagelist-seperator+.kiwi-messagelist-message{border-top:none}.kiwi-messagelist-message--blur{opacity:.3}.kiwi-messagelist-nick{text-align:right;font-weight:700;text-overflow:ellipsis;overflow:hidden;vertical-align:top;cursor:pointer;padding:2px 4px;word-break:break-all}.kiwi-messagelist-message-traffic .kiwi-messagelist-nick{display:none}.kiwi-messagelist-seperator{text-align:center;display:block;margin:1em auto;position:-webkit-sticky;position:sticky;top:-1px;z-index:1}.kiwi-messagelist-seperator>span{display:inline-block;position:relative;z-index:1;padding:0 1em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kiwi-messagelist-emoji{width:1.3em;display:inline-block;vertical-align:middle}@-webkit-keyframes emojiIn{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes emojiIn{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}.kiwi-messagelist-emoji--single{-webkit-animation:emojiIn .1s ease-in-out 0s 1;animation:emojiIn .1s ease-in-out 0s 1;font-size:2em}.kiwi-messagelist-body .kiwi-nick{cursor:pointer}.kiwi-messagelist-nick:hover{overflow:visible;width:auto}.kiwi-messagelist-message-topic{border-radius:5px;margin:18px;margin-left:0;padding:5px;text-align:center;position:relative;min-height:0;display:block}.kiwi-messagelist-message-topic .kiwi-messagelist-body{min-height:0;margin:0}.kiwi-messagelist-message-topic .kiwi-messagelist-body:before,.kiwi-messagelist-message-topic.kiwi-messagelist-message-topic .kiwi-messagelist-nick,.kiwi-messagelist-message-topic.kiwi-messagelist-message-topic .kiwi-messagelist-time{display:none}.kiwi-messagelist-message-action .kiwi-messagelist-message-body{font-style:italic}.kiwi-messagelist-message-traffic.kiwi-messagelist-message-traffic .kiwi-messagelist-nick{display:none}.kiwi-messagelist-message-traffic .kiwi-messagelist-body{font-style:italic}.kiwi-messagelist-message-action.kiwi-messagelist-message-action .kiwi-messagelist-nick{display:none}.kiwi-messagelist-message-motd{font-family:monospace}.kiwi-messagelist-message.kiwi-messagelist-message--highlight,.kiwi-messagelist-message.kiwi-messagelist-message--hover,.kiwi-messagelist-message.kiwi-messagelist-message-traffic--hover{position:relative}.kiwi-messagelist-message-linkhandle{margin-left:4px;font-size:.8em}.kiwi-wrap--touch .kiwi-messagelist-message-linkhandle{display:none}.kiwi-messagelist-joinloader{margin:1em auto;width:100px;height:calc 85.98726115px;overflow:hidden}.kiwi-messagelist-joinloadertrans-enter,.kiwi-messagelist-joinloadertrans-leave-to{height:0;opacity:0}.kiwi-messagelist-joinloadertrans-enter-to,.kiwi-messagelist-joinloadertrans-leave{height:150px;opacity:1}.kiwi-messagelist-joinloadertrans-enter-active,.kiwi-messagelist-joinloadertrans-leave-active{-webkit-transition:height .5s,opacity .5s;transition:height .5s,opacity .5s}@media screen and (max-width:700px){.kiwi-messageinfo,.kiwi-messagelist-message{margin:0}}.kiwi-serverselector-presets{margin-bottom:1em}.kiwi-serverselector-presets label span{margin-left:0;-webkit-transition:opacity .2s,width .2s;transition:opacity .2s,width .2s}.kiwi-serverselector--custom .kiwi-serverselector-presets label span{max-width:0;opacity:0}.kiwi-networksettings{-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;margin:0 auto;padding:0}.kiwi-networksettings .kiwi-title{width:100%;line-height:45px;height:46px;padding:0 10px;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:left;font-weight:600;cursor:default}.kiwi-networksettings .u-form{max-width:400px;display:block;margin:1em auto;padding:0;height:auto;overflow:hidden;clear:both;border-radius:2px;border:1px solid}.kiwi-networksettings .u-input-text{padding-top:0;margin-bottom:20px}.kiwi-networksettings-section-block{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;padding:20px}.kiwi-networksettings-captcha{margin-bottom:1em}.kiwi-networksettings .kiwi-customserver-tls{text-align:center;cursor:pointer;font-size:1em}.kiwi-networksettings .kiwi-customserver-tls i{left:3px;top:2px;font-size:1.3em}.kiwi-networksettings .kiwi-networksettings-server-types-info{width:100%;text-align:left;margin-bottom:10px}.kiwi-networksettings .kiwi-networksettings-server-types{text-align:center}.kiwi-networksettings .kiwi-networksettings-server-types .kiwi-network-type-button{margin:0 10px 0 10px;display:inline-block;line-height:35px;padding:0 10px;border:1px solid;-webkit-transition:all .3s;transition:all .3s;border-radius:4px}.kiwi-networksettings .kiwi-show-advanced-title{text-align:center;cursor:pointer;padding-top:0;margin:40px 0 20px 0}.kiwi-networksettings .kiwi-networksettings-advanced .kiwi-appsettings-showraw-label{margin-left:5px}.kiwi-networksettings .kiwi-connect-to-newnetwork{width:auto;margin:-10px auto 0 auto;border-radius:3px;display:block;cursor:pointer;padding:0 10px;line-height:35px}.kiwi-networksettings .kiwi-connect-to-newnetwork:hover{opacity:1}.kiwi-networksettings-advanced{margin-bottom:20px}.kiwi-dangerzone{text-align:center;padding:10px 0 20px 0;border-top:1px solid rgba(0,0,0,.2)}.kiwi-dangerzone i{margin-right:5px}.kiwi-dangerzone h3{padding-top:0}.kiwi-networksettings-error{text-align:center;margin:1em 0 2em 0;padding:1em;border:1px dashed}.kiwi-networksettings .kiwi-networksettings-error span{display:block;font-style:italic;text-align:center}.kiwi-networksettings-server-types a{margin-right:1em}.kiwi-networksettings-server-types-info{font-size:.9em;font-style:italic}.kiwi-networksettings-connection-address{width:70%;display:inline-block}.kiwi-networksettings-connection-port{width:25%;float:right}.kiwi-networksettings-danger h3{padding:0;margin-top:0;margin-bottom:.5em}.kiwi-networksettings-danger .u-button-warning{width:auto;height:30px;border-radius:4px;text-align:center;line-height:30px;padding:0 10px;opacity:.8;margin:0 auto;-webkit-transition:all .3s;transition:all .3s}.kiwi-networksettings-danger .u-button-warning:hover{opacity:1}@media screen and (max-width:769px){.kiwi-networksettings{z-index:100}}.kiwi-channellist{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;-webkit-transition:all .6s;transition:all .6s}.kiwi-channellist-padding-top{padding-top:calc(45vh - 80px)}.kiwi-channellist-padding-top .kiwi-channellist-nav{width:100%;text-align:center}.kiwi-channellist-nav{padding:10px 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-channellist-nav .u-form{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.kiwi-channellist-nav .u-form .u-input{width:324px;border-top-right-radius:0;border-bottom-right-radius:0}.kiwi-channellist-nav .u-form .u-button-primary,.kiwi-channellist-nav .u-form .u-button-secondary{font-size:1.3em;border-radius:0 5px 5px 0;border:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.kiwi-channellist-nav .u-form .u-button-primary i,.kiwi-channellist-nav .u-form .u-button-secondary i{margin-left:-2px}.kiwi-channellist-pagination{display:inline-block;margin:20px auto 10px auto;font-size:1.2em}.kiwi-channellist-pagination a{display:inline-block;margin:0 10px;cursor:pointer}.kiwi-channellist-search{display:inline-block}.kiwi-channellist-info{text-align:center}.kiwi-channellist-table{width:100%}.kiwi-channellist table{border:none;border-collapse:collapse}.kiwi-channellist table thead th{font-size:1.1em;cursor:default;text-align:left;padding:10px 1em 5px 1em}.kiwi-channellist table tbody td{padding:2px 1em;text-align:left}.kiwi-channellist table .kiwi-channellist-user-center{text-align:center}.kiwi-channellist tr td:first-child{white-space:nowrap}.kiwi-channellist-table-topic{word-break:break-word}.kiwi-channellist-users{display:inline-block;font-weight:900;text-align:center}@media screen and (max-width:1024px){.kiwi-channellist-padding-top{padding-top:100px}}@media screen and (max-width:770px){.kiwi-channellist-nav .u-form{width:230px}.kiwi-channellist-nav .u-form .u-input{width:100%}}.kiwi-serverview{-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative}.kiwi-serverview .kiwi-messagelist{padding-top:0;height:100%;margin:0}.kiwi-serverview-inner{position:absolute;top:0;bottom:0;left:0;right:0}.kiwi-serverview-alerts{margin-bottom:1em}.kiwi-container{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.kiwi-header{z-index:2;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:1;flex-shrink:1}.kiwi-sidebar{position:absolute;right:-443px;top:45px;bottom:0;width:443px;max-width:443px;z-index:3;-webkit-transition:right .2s,width .2s;transition:right .2s,width .2s;-webkit-box-flex:1;-ms-flex:1;flex:1}.kiwi-container--sidebar-drawn .kiwi-sidebar{right:0}.kiwi-container--sidebar-open .kiwi-sidebar{right:0;top:0;-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative;border-left-width:1px;border-left-style:solid;max-width:430px;z-index:1;-webkit-transition:right .2s,top 0s;transition:right .2s,top 0s}.kiwi-container-content{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;overflow:hidden}.kiwi-messagelist,.kiwi-serverview{-webkit-box-flex:1;-ms-flex:1;flex:1}.kiwi-container--no-sidebar .kiwi-header,.kiwi-container--no-sidebar .kiwi-messagelist{margin-right:0}.kiwi-container-toggledraw-sidebar,.kiwi-container-toggledraw-statebrowser{display:none;width:50px;position:absolute;top:0;height:45px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;text-align:center;font-size:1.6em;line-height:50px;-webkit-transition:left 2s;transition:left 2s;-webkit-transition-delay:.5s;transition-delay:.5s}.kiwi-container-toggledraw-statebrowser{left:0}.kiwi-container-toggledraw-sidebar{right:0}.kiwi-container-toggledraw-sidebar--disabled{cursor:default}.kiwi-container-toggledraw-statebrowser-messagecount{position:absolute;font-size:.6em;border-radius:3px;line-height:2em;-webkit-box-sizing:border-box;box-sizing:border-box;top:10px;z-index:3;white-space:nowrap;left:14px;width:37px;padding:0;-webkit-transition:all .4s,z-index 0s;transition:all .4s,z-index 0s;-webkit-transition-delay:.1s;transition-delay:.1s}.kiwi-container-toggledraw-statebrowser-messagecount:after{left:-15px;top:20%;border:.6em solid transparent;border-right-color:#ddd;content:" ";height:0;width:0;position:absolute;pointer-events:none}.kiwi-container-statebrowser-messagecount-close{display:none}.kiwi-wrap--statebrowser-drawopen .kiwi-container-toggledraw-statebrowser-messagecount{left:-19px;z-index:100}.kiwi-wrap--statebrowser-drawopen .kiwi-container-toggledraw-statebrowser-messagecount:after{right:-15px;left:auto}@-webkit-keyframes kiwi-wiggle{0%{margin-left:5px}50%{margin-left:0}to{margin-left:5px}}@keyframes kiwi-wiggle{0%{margin-left:5px}50%{margin-left:0}to{margin-left:5px}}.kiwi-container-toggledraw-statebrowser-messagecount--highlight{-webkit-animation:kiwi-wiggle .25s 4;animation:kiwi-wiggle .25s 4;-webkit-animation-timing-function:ease-in,linear,ease-out;animation-timing-function:ease-in,linear,ease-out}.kiwi-container-toggledraw-statebrowser-messagecount--highlight:hover{-webkit-animation:none;animation:none}.kiwi-container-empty{text-align:center;padding:1em}.kiwi-container-empty .u-button{border-radius:3px;font-weight:500;line-height:50px;padding:0 14px}.kiwi-wrap .kiwi-container:after{content:"";position:absolute;left:auto;height:120%;background-color:rgba(0,0,0,.4);top:0;opacity:0;z-index:99;width:0;right:-100%;-webkit-transition:opacity .1s;transition:opacity .1s;-webkit-transition-delay:opacity .1s;transition-delay:opacity .1s}@media screen and (max-width:1500px){.kiwi-container--sidebar-open .kiwi-sidebar{max-width:350px}}@media screen and (max-width:769px){.kiwi-wrap--statebrowser-drawopen .kiwi-container-statebrowser-messagecount-alert{display:none}.kiwi-wrap--statebrowser-drawopen .kiwi-container-statebrowser-messagecount-close{display:block}.kiwi-wrap--statebrowser-drawopen .kiwi-container:after{top:0;opacity:1;width:100%;right:0}.kiwi-header{margin-left:50px;margin-right:50px;max-height:50px}.kiwi-container-toggledraw-sidebar,.kiwi-container-toggledraw-statebrowser{display:block}.kiwi-sidebar{top:-4px}}.kiwi-autocomplete{-webkit-box-sizing:border-box;box-sizing:border-box;overflow-y:auto;position:absolute;bottom:100%;right:0;left:0;z-index:1;max-height:300px}.kiwi-autocomplete-item{padding:5px 2em}.kiwi-autocomplete-item-value{font-weight:700}.kiwi-autocomplete-item-action{float:right;font-size:.9em}.kiwi-inputtools-colours{bottom:100%;right:0;overflow:hidden;position:absolute;height:30px}.kiwi-inputtools-colours-colour{display:block;float:left;height:30px;width:30px;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid grey;margin:0}.kiwi-inputtools-colours-reset{font-size:23px;line-height:30px;text-align:center;background:#000;color:#cacaca}.kiwi-inputtool-emoji-emoji{display:block;float:left;height:30px;width:30px;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;margin:2px;background-size:contain}.kiwi-selfuser-host,.kiwi-selfuser-nick,.kiwi-selfuser-status{display:inline-block;padding:0 10px;cursor:default;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-selfuser-nick{min-width:85px;font-weight:700;padding:5px 10px 0 10px}.kiwi-selfuser-modes{font-weight:400;opacity:.8;font-size:.8em}.kiwi-selfuser-host{font-style:italic;opacity:.8;padding-left:26px;font-size:.8em;word-break:break-all}.kiwi-controlinput-selfuser .kiwi-close-icon{line-height:36px;border-radius:0}.kiwi-selfuser-nick i{font-weight:400;float:right;opacity:.6;cursor:pointer;margin-top:3px;-webkit-transition:all .3s;transition:all .3s}.kiwi-selfuser-nick i:hover{opacity:1;-webkit-transition:all .2s;transition:all .2s}.kiwi-selfuser-nick i:last-of-type{margin-right:15px}.u-form.kiwi-away-checkbox-form{padding:0 0 5px 24px}.u-form .kiwi-selfuser-away-label{margin:0 0 2px 0}.u-form .kiwi-selfuser-away-label span{margin-right:5px}.kiwi-selfuser-error-message{width:100%;display:block;padding:.5em 10px;-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0 5px 0;text-align:center;border-radius:6px}.kiwi-selfuser-actions{padding:5px 10px;margin-bottom:10px}.kiwi-selfuser-actions form{position:relative}.kiwi-selfuser-actions form .u-input-prompt-label{display:block;width:100%}.kiwi-selfuser-actions .u-input-button-container{position:absolute;top:2px;right:2px;z-index:1}.kiwi-typinguserslist{font-size:.9em}.kiwi-controlinput{z-index:999;position:relative;border-top:1px solid}.kiwi-controlinput,.kiwi-controlinput-inner{padding:0;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .2s;transition:width .2s;-webkit-transition-delay:.2s;transition-delay:.2s}.kiwi-controlinput-inner i{font-size:120%;margin-left:8px;margin-right:2px}.kiwi-controlinput-inner .kiwi-awaystatusindicator{margin-top:16px;margin-left:10px;margin-right:-2px}.kiwi-controlinput-user{height:100%;padding:0 10px;font-weight:700;text-align:center;cursor:pointer;margin-right:10px;line-height:40px}.kiwi-controlinput-selfuser--open .kiwi-controlinput-user,.kiwi-controlinput-user{-webkit-transition:width .2s;transition:width .2s;-webkit-transition-delay:.1s;transition-delay:.1s}.kiwi-controlinput-selfuser--open .kiwi-controlinput-user{width:286px}.kiwi-controlinput-tools{line-height:38px;margin:2px 0 2px 10px;border-radius:7px 0 0 7px;cursor:pointer}.kiwi-controlinput-form{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex}.kiwi-controlinput-send{border:none;border-radius:7px;margin:2px 0;padding:0;height:35px;text-align:center;width:35px;cursor:pointer;outline:none}.kiwi-controlinput-inner{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}.kiwi-controlinput-input{text-align:left;height:100%;outline:none;border:none}.kiwi-controlinput-input-wrap{width:100%;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:visible;padding:7px 0 12px 0}.kiwi-controlinput-tool{display:inline-block;padding:0 1em}.kiwi-controlinput-tool a{cursor:pointer}.kiwi-controlinput-active-tool{position:absolute;bottom:100%;right:0;width:100%;z-index:1}.kiwi-controlinput-selfuser{position:absolute;bottom:0;z-index:10;left:0;max-height:0;width:324px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:0 6px 0 0;opacity:0;border-top:1px solid;border-right:1px solid;overflow:hidden}.kiwi-controlinput-selfuser--open .kiwi-controlinput-selfuser{width:324px;max-height:300px;opacity:1}.kiwi-selfuser-trans-enter,.kiwi-selfuser-trans-leave-to{opacity:0;height:0}.kiwi-selfuser-trans-enter-to,.kiwi-selfuser-trans-leave{opacity:1}.kiwi-selfuser-trans-enter-active,.kiwi-selfuser-trans-leave-active{-webkit-transition:all .4s;transition:all .4s}@media screen and (max-width:500px){.kiwi-controlinput-user-nick{display:none}}.kiwi-controlinput-tools-container-expand{display:inline-block;padding:0 1em}.kiwi-controlinput-tools-container-expand i{-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.kiwi-controlinput-tools-container-expand--inverse i{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.kiwi-controlinput-tools-container{position:relative;display:inline-block}.kiwi-plugin-ui-trans-enter,.kiwi-plugin-ui-trans-leave-to{right:-100%}.kiwi-plugin-ui-trans-enter-to,.kiwi-plugin-ui-trans-leave{right:0}.kiwi-plugin-ui-trans-enter-active,.kiwi-plugin-ui-trans-leave-active{-webkit-transition:right .2s;transition:right .2s}@media screen and (max-width:769px){.kiwi-controlinput-selfuser--open .kiwi-controlinput-selfuser{width:100%}.kiwi-wrap--statebrowser-drawopen .kiwi-controlinput{z-index:0}}.kiwi-typinguserslist{position:absolute;top:-24px;background:var(--brand-default-bg)}body,html{height:100%;margin:0;padding:0}.kiwi-wrap{font-size:90%;line-height:1.6em;font-family:Source Sans Pro,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;height:100%;overflow:hidden}.kiwi-workspace{position:relative;margin-left:220px;left:0;top:4px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;-webkit-transition:left .2s,margin-left .2s;transition:left .2s,margin-left .2s}.kiwi-workspace:after,.kiwi-workspace:before{position:absolute;content:"";left:0;right:auto;margin-top:-4px;width:100%;height:7px;z-index:0;-webkit-transition:width .3s;transition:width .3s}.kiwi-workspace:after{right:0;left:auto;width:0}.kiwi-workspace--disconnected:before{width:0}.kiwi-workspace--disconnected:after{width:100%}.kiwi-workspace-background{position:absolute;top:0;left:0;height:100%;width:100%;z-index:-1}.kiwi-statebrowser{position:absolute;top:0;left:0;width:220px;bottom:0;z-index:11;-webkit-transition:left .145s,margin-left .145s;transition:left .145s,margin-left .145s}.kiwi-container{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;height:5%}.kiwi-main-mediaviewer{max-height:70%;overflow:auto;border-bottom:1px solid rgba(0,0,0,.3)}.kiwi-main-mediaviewer .embedly-card{display:block}.kiwi-controlinput{z-index:2}@media screen and (max-width:769px){.kiwi-workspace{left:0;margin-left:0}.kiwi-statebrowser{left:-220px}.kiwi-wrap--statebrowser-drawopen .kiwi-statebrowser{left:0}.kiwi-wrap--statebrowser-drawopen .kiwi-workspace{left:75%;-webkit-transition:left .1s;transition:left .1s;-webkit-transition-delay:0s;transition-delay:0s}}.kiwi-wrap-error{height:100%;overflow:hidden;text-align:center}.kiwi-wrap-error>div{margin-top:.5em;padding:1em;font-size:1.2em;border:1px solid #b51111;background:#ffbaba;display:inline-block;text-align:left}.u-tabbed-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%}.u-tabbed-view-tabs{padding-top:15px}.u-tabbed-view-tab{display:inline-block;cursor:pointer;border-width:0;border-style:solid;background:#fff;font-weight:600;opacity:1;z-index:1;margin-bottom:-3px;position:relative;width:auto;text-align:left;-webkit-box-sizing:border-box;box-sizing:border-box;padding:.5em 1em;border-bottom:3px solid rgba(0,0,0,.1);-webkit-transition:border .3s;transition:border .3s}.u-tabbed-view-tab--active,.u-tabbed-view-tab:hover{border-bottom-width:3px}.u-tabbed-view-tab:last-of-type{z-index:1;border-radius:0 4px 0 0}.u-tabbed-content{overflow:auto;height:100%}@media screen and (max-width:769px){.u-tabbed-view-tabs{padding-top:0}.u-tabbed-view-tab{padding:10px 20px;width:auto}}.u-input-text{position:relative;margin:0 0 20px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.u-input-text-inputs{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative}.u-input-text input,.u-input-text textarea{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;flex:1}.u-input-text input:focus{outline:none}.u-input-text-c{position:relative}.u-input-text input[type=number]{-moz-appearance:textfield}.u-input-text input[type=number]::-webkit-inner-spin-button,.u-input-text input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=password].u-form-input-plaintext,input[type=text].u-form-input-plaintext{padding-right:40px}.u-input-text-plaintext{line-height:normal;width:30px;text-align:center;cursor:pointer;opacity:.5;-webkit-transition:opacity .2s;transition:opacity .2s;position:absolute;right:7px;top:9px}.u-form--big .u-input-text-plaintext{line-height:40px;top:6px}.u-input-text-plaintext--active,.u-input-text-plaintext:hover{opacity:1}.kiwi-ircinput{-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;overflow:visible;z-index:1}.kiwi-ircinput-editor{overflow-x:hidden;outline:none;height:100%}.kiwi-ircinput-editor:empty:not(:focus):before{content:attr(placeholder);cursor:text}.kiwi-ircinput-editor img{height:1em;vertical-align:-.1em}.u-input-prompt-inputs{display:-webkit-box;display:-ms-flexbox;display:flex}.u-input-prompt-inputs>input{-webkit-box-flex:1;-ms-flex:1;flex:1;margin-right:1em}.u-input-prompt-inputs>a{margin-right:.5em}.u-input-confirm{display:inline-block;padding:10px}.kiwi-aboutnew{position:absolute;bottom:0;height:53px;left:0;right:0;padding:0 10px 10px 10px;-webkit-box-sizing:border-box;box-sizing:border-box}.kiwi-aboutnew-sep{margin-bottom:10px;border-top:1px solid #ddd}.kiwi-aboutnew-help{font-size:1.9em;float:right;cursor:pointer}.kiwi-aboutnew-content{display:none;position:absolute;top:4px;left:0;bottom:53px;width:100%;background:#fff;text-align:left;line-height:1.6em;padding:2em;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:auto}.kiwi-aboutnew-content--open{display:block}@media screen and (min-width:700px){.kiwi-aboutnew-content{padding:2em 3em}}.kiwi-personal{-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;overflow-y:auto;text-align:center;padding-top:1em;font-size:1.2em;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.kiwi-personal h1{margin:0 0 20px 0}.kiwi-personal p{margin:0 0 10px 0}.kiwi-personal button{margin:10px auto 0 auto;padding:0 40px;font-size:1em;line-height:40px}.kiwi-personal-existing-networks{display:none}@media screen and (max-width:500px){.kiwi-personal-existing-networks{display:inherit}} +/*# sourceMappingURL=app.ebe7a0b0.css.map */ \ No newline at end of file diff --git a/sources/dist/static/css/app.ebe7a0b0.css.map b/sources/dist/static/css/app.ebe7a0b0.css.map new file mode 100644 index 0000000..d5c45bc --- /dev/null +++ b/sources/dist/static/css/app.ebe7a0b0.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///vue-virtual-scroller.css","webpack:///globalStyle.css","webpack:///src/components/startups/CommonLayout.vue","webpack:///src/components/startups/Welcome.vue","webpack:///src/components/startups/ZncLogin.vue","webpack:///src/components/startups/CustomServer.vue","webpack:///src/components/startups/KiwiBnc.vue","webpack:///src/components/BufferSettings.vue","webpack:///src/components/AwayStatusIndicator.vue","webpack:///src/components/StateBrowserNetwork.vue","webpack:///src/components/StateBrowserUsermenu.vue","webpack:///src/components/SettingsAliases.vue","webpack:///src/components/SettingsAdvanced.vue","webpack:///src/components/AppSettings.vue?819b","webpack:///src/components/AppSettings.vue","webpack:///src/components/StateBrowser.vue?2d13","webpack:///src/components/StateBrowser.vue","webpack:///src/components/ChannelInfo.vue","webpack:///src/components/ChannelBanlist.vue?58de","webpack:///src/components/ChannelBanlist.vue","webpack:///src/components/ContainerHeader.vue?6ac0","webpack:///src/components/ContainerHeader.vue","webpack:///src/components/UserBox.vue?eb64","webpack:///src/components/UserBox.vue","webpack:///src/components/SidebarAboutBuffer.vue?8761","webpack:///src/components/SidebarAboutBuffer.vue","webpack:///src/components/ChannelInvitelist.vue?17f1","webpack:///src/components/ChannelInvitelist.vue","webpack:///src/components/Avatar.vue","webpack:///src/components/NicklistUser.vue","webpack:///src/components/Nicklist.vue?ccf5","webpack:///src/components/Nicklist.vue","webpack:///src/components/Sidebar.vue?dd9f","webpack:///src/components/Sidebar.vue","webpack:///src/components/NotConnected.vue?6058","webpack:///src/components/NotConnected.vue","webpack:///src/components/BufferKey.vue?d9a4","webpack:///src/components/BufferKey.vue","webpack:///src/components/MediaViewer.vue","webpack:///src/components/MessageInfo.vue","webpack:///src/components/MessageListMessageCompact.vue?dcac","webpack:///src/components/MessageListMessageCompact.vue","webpack:///src/components/MessageListMessageModern.vue?a017","webpack:///src/components/MessageListMessageModern.vue","webpack:///src/components/MessageListMessageInline.vue?210c","webpack:///src/components/MessageListMessageInline.vue","webpack:///src/components/LoadingAnimation.vue","webpack:///src/components/MessageList.vue?7348","webpack:///src/components/MessageList.vue","webpack:///src/components/ServerSelector.vue","webpack:///src/components/NetworkSettings.vue?d949","webpack:///src/components/NetworkSettings.vue","webpack:///src/components/ChannelList.vue","webpack:///src/components/ServerView.vue","webpack:///src/components/Container.vue","webpack:///src/components/AutoComplete.vue","webpack:///src/components/inputtools/TextStyle.vue?d58a","webpack:///src/components/inputtools/TextStyle.vue","webpack:///src/components/inputtools/Emoji.vue","webpack:///src/components/SelfUser.vue","webpack:///src/components/TypingUsersList.vue","webpack:///src/components/ControlInput.vue?b119","webpack:///src/components/ControlInput.vue","webpack:///src/components/App.vue?7768","webpack:///src/components/App.vue","webpack:///src/components/StartupError.vue","webpack:///src/components/utils/TabbedView.vue","webpack:///src/components/utils/InputText.vue","webpack:///src/components/utils/IrcInput.vue","webpack:///src/components/utils/InputPrompt.vue","webpack:///src/components/utils/InputConfirm.vue","webpack:///src/thirdparty/kiwiirccom.vue"],"names":[],"mappings":"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","file":"app.ebe7a0b0.css","sourcesContent":[".vue-recycle-scroller{position:relative}.vue-recycle-scroller.direction-vertical:not(.page-mode){overflow-y:auto}.vue-recycle-scroller.direction-horizontal:not(.page-mode){overflow-x:auto}.vue-recycle-scroller.direction-horizontal{display:-webkit-box;display:-ms-flexbox;display:flex}.vue-recycle-scroller__slot{-webkit-box-flex:1;-ms-flex:auto 0 0px;flex:auto 0 0}.vue-recycle-scroller__item-wrapper{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative}.vue-recycle-scroller.ready .vue-recycle-scroller__item-view{position:absolute;top:0;left:0;will-change:transform}.vue-recycle-scroller.direction-vertical .vue-recycle-scroller__item-wrapper{width:100%}.vue-recycle-scroller.direction-horizontal .vue-recycle-scroller__item-wrapper{height:100%}.vue-recycle-scroller.ready.direction-vertical .vue-recycle-scroller__item-view{width:100%}.vue-recycle-scroller.ready.direction-horizontal .vue-recycle-scroller__item-view{height:100%}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}","h1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n padding: 0.7em 0 0.2em 0;\n margin: 0;\n}\n\np {\n margin: 0.5em 0 1em 0;\n}\n\ndiv {\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nul {\n padding-left: 1em;\n}\n\ninput,\ntextarea,\nselect {\n color: inherit;\n background: inherit;\n background-color: inherit;\n}\n\n.u-link {\n text-decoration: none;\n cursor: pointer;\n}\n\n.u-link:hover {\n text-decoration: underline;\n}\n\n.u-button {\n display: inline-block;\n white-space: nowrap;\n cursor: pointer;\n padding: 0.4em 0.9em;\n border-radius: 4px;\n vertical-align: middle;\n text-align: center;\n outline: none;\n font-weight: 600;\n font-size: 1em;\n font-family: inherit;\n}\n\n.u-button-primary {\n border: none;\n border-bottom: 1px solid;\n}\n\n.u-form {\n text-align: left;\n}\n\n.u-form label {\n display: block;\n line-height: 20px;\n margin: 0 0 3px 2px;\n}\n\n.u-form--big label {\n margin-bottom: 10px;\n font-size: 1.2em;\n}\n\n.u-form label span {\n margin-right: 1em;\n display: inline-block;\n line-height: 25px;\n width: auto;\n font-weight: 500;\n text-align: left;\n max-width: none;\n}\n\n.u-form label.u-form-block span {\n width: auto;\n display: inline-block;\n}\n\n/* Style all form inputs */\n.u-form input[type='checkbox'],\n.u-form input[type='radio'] {\n float: left;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: 20px;\n height: 20px;\n display: inline-block;\n position: relative;\n border-radius: 5px;\n cursor: pointer;\n margin-left: 0;\n margin-right: 5px;\n border: 1px solid;\n}\n\n.u-form input[type=\"radio\"] {\n float: right;\n}\n\n.u-form .u-input,\n.u-form input[type='text'],\n.u-form input[type='password'],\n.u-form input[type='email'],\n.u-form textarea {\n font-size: 0.9em;\n line-height: normal;\n clear: both;\n padding: 7px 8px;\n box-sizing: border-box;\n min-height: 0;\n overflow-x: hidden;\n overflow-y: auto;\n max-width: none;\n border-radius: 5px;\n border-width: 1px;\n border-style: solid;\n}\n\n.u-form--big .u-input,\n.u-form--big input[type='text'],\n.u-form--big input[type='password'],\n.u-form--big input[type='email'],\n.u-form--big textarea {\n padding: 15px 12px;\n font-size: 1em;\n}\n\n.u-checkbox-wrapper {\n position: relative;\n padding-left: 30px;\n}\n\n.u-checkbox-wrapper input[type=\"checkbox\"],\n.u-checkbox-wrapper input[type=\"radio\"] {\n position: absolute;\n margin: 0;\n top: 2px;\n left: 0;\n}\n\n.u-checkbox-wrapper label {\n margin-right: 0;\n}\n\n.u-form .u-submit {\n margin: 2em auto;\n display: block;\n}\n\n/* Style Global tables */\n.u-table {\n width: 100%;\n}\n\n.u-table thead th {\n padding: 10px;\n border-bottom: 1px solid;\n}\n\n.u-table tr:first-of-type td {\n padding-top: 10px;\n}\n\n.u-table th,\n.u-table td {\n padding: 5px 10px;\n}\n\n.u-table td {\n height: 40px;\n border-bottom: 1px solid rgba(255, 255, 255, 0.5);\n}\n\n.u-table td .reset-icon {\n font-size: 1.2em;\n}\n\n.u-table td .u-input {\n height: 40px;\n}\n\n.kiwi-formatting-extras-quote {\n border: 1px solid #b5b5b5;\n padding: 0 3px;\n border-radius: 3px;\n background: rgba(0, 0, 0, 0.05);\n font-family: monospace;\n}\n\n.kiwi-formatting-extras-invisible {\n font-size: 0;\n}\n\n.kiwi-formatting-extras-block {\n border-left: 4px solid #b5b5b5;\n padding: 1em;\n border-radius: 3px;\n background: rgba(0, 0, 0, 0.05);\n font-family: monospace;\n white-space: pre-wrap;\n display: inline-block;\n}\n\n/* Globally style the close icon */\n.kiwi-close-icon {\n color: #fff;\n border-radius: 0 0 0 4px;\n position: absolute;\n right: 0;\n top: 0;\n cursor: pointer;\n padding: 0.2em 0.4em;\n transition: background 0.2s;\n}\n\n.kiwi-settings-advanced-table tr:hover {\n background-color: rgba(128, 128, 128, 0.1);\n}\n\n.kiwi-statebrowser-usermenu-avatar--connected {\n border: 2px solid #42b992;\n}\n\n.kiwi-statebrowser-usermenu-avatar--disconnected {\n border: 2px solid #bf5155;\n}\n\n.irc-fg-colour-white { color: #fff; }\n.irc-fg-colour-black { color: #000; }\n.irc-fg-colour-blue { color: #00f; }\n.irc-fg-colour-green { color: #0f0; }\n.irc-fg-colour-light-red { color: #ff5959; }\n.irc-fg-colour-brown { color: #743a00; }\n.irc-fg-colour-purple { color: #a500ff; }\n.irc-fg-colour-orange { color: #ff8c00; }\n.irc-fg-colour-yellow { color: #ff0; }\n.irc-fg-colour-light-green { color: #6fff6f; }\n.irc-fg-colour-cyan { color: #0cc; }\n.irc-fg-colour-light-cyan { color: #6dffff; }\n.irc-fg-colour-light-blue { color: #59b4ff; }\n.irc-fg-colour-pink { color: #f0f; }\n.irc-fg-colour-grey { color: #a6a6a6; }\n.irc-fg-colour-light-grey { color: #e2e2e2; }\n\n.irc-bg-colour-white { background-color: #fff; }\n.irc-bg-colour-black { background-color: #000; }\n.irc-bg-colour-blue { background-color: #00f; }\n.irc-bg-colour-green { background-color: #0f0; }\n.irc-bg-colour-light-red { background-color: #ff5959; }\n.irc-bg-colour-brown { background-color: #743a00; }\n.irc-bg-colour-purple { background-color: #a500ff; }\n.irc-bg-colour-orange { background-color: #ff8c00; }\n.irc-bg-colour-yellow { background-color: #ff0; }\n.irc-bg-colour-light-green { background-color: #6fff6f; }\n.irc-bg-colour-cyan { background-color: #0cc; }\n.irc-bg-colour-light-cyan { background-color: #6dffff; }\n.irc-bg-colour-light-blue { background-color: #59b4ff; }\n.irc-bg-colour-pink { background-color: #f0f; }\n.irc-bg-colour-grey { background-color: #a6a6a6; }\n.irc-bg-colour-light-grey { background-color: #e2e2e2; }\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-startup-common {\n height: 100%;\n text-align: center;\n display: flex;\n}\n\n.kiwi-startup-common-section {\n padding: 1em;\n box-sizing: border-box;\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n\n /* transition the 2 sections out when the page closes. right+left defaults */\n transition: transform 0.4s;\n}\n\n.kiwi-startup-common-section-connection {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40%;\n max-width: 500px;\n}\n\n/** Right side */\n.kiwi-startup-common-section-info {\n color: #fff;\n display: flex;\n flex: 1;\n align-items: center;\n justify-content: center;\n}\n\n.kiwi-startup-common-section-info-content {\n background: rgba(255, 255, 255, 0.74);\n margin: 2em;\n color: #1b1b1b;\n font-size: 1.5em;\n padding: 2em;\n border-radius: 5px;\n line-height: 1.6em;\n}\n\n@media (min-width: 850px) {\n /** Closing - the wiping away of the screen **/\n .kiwi-startup-common--closing .kiwi-startup-common-section-connection {\n transform: translateX(-100%);\n }\n\n .kiwi-startup-common--closing .kiwi-startup-common-section-info {\n transform: translateX(100%);\n }\n}\n\n/** Smaller screen... **/\n@media (max-width: 850px) {\n .kiwi-startup-common {\n font-size: 0.9em;\n display: block;\n overflow-y: auto;\n }\n\n .kiwi-startup-common-section {\n width: 100%;\n min-height: auto;\n max-width: none;\n height: auto;\n align-items: flex-start;\n }\n\n /** Closing - the wiping away of the screen **/\n .kiwi-startup-common--closing {\n transition: transform 0.3s;\n transform: translateY(100%);\n }\n\n .kiwi-startup-common-section-connection {\n padding-top: 2em;\n }\n\n .kiwi-startup-common-section-connection > * {\n max-width: 450px;\n }\n}\n\n/** Background / border switching between screen sizes **/\n/* stylelint-disable no-duplicate-selectors */\n.kiwi-startup-common {\n background-size: 0;\n background-position: bottom;\n}\n\n.kiwi-startup-common-section-info {\n background-size: cover;\n background-position: bottom;\n border-left: 5px solid #42b992;\n}\n\n.kiwi-startup-common--no-bg .kiwi-startup-common-section-info {\n background-color: rgb(51, 51, 51);\n}\n\n/* stylint-enable */\n\n@media (max-width: 850px) {\n /* Apply some flex so that the info panel fills the rest of the bottom screen */\n .kiwi-startup-common {\n background-size: cover;\n }\n\n .kiwi-startup-common-section-info {\n background-size: 0;\n border-left: none;\n flex: 1 0;\n display: block;\n }\n\n .kiwi-startup-common--no-bg .kiwi-startup-common-section-info {\n border-top: 5px solid #42b992;\n }\n}\n\n@media (max-width: 500px) {\n .kiwi-startup-common-section-info-content {\n margin: 1em;\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* Containers */\nform.kiwi-welcome-simple-form {\n width: 70%;\n padding: 20px;\n}\n\n@media (max-width: 1025px) {\n form.kiwi-welcome-simple-form {\n width: 100%;\n }\n}\n\n@media (max-width: 850px) {\n form.kiwi-welcome-simple-form {\n background: var(--brand-default-bg);\n border-radius: 5px;\n box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.2);\n }\n}\n\n@media (max-width: 600px) {\n form.kiwi-welcome-simple-form {\n max-width: 350px;\n }\n}\n\nform.kiwi-welcome-simple-form h2 {\n margin: 0 0 40px 0;\n padding: 0;\n cursor: default;\n font-weight: 600;\n font-size: 2.2em;\n text-align: center;\n line-height: 1.2em;\n}\n\n.kiwi-welcome-simple-error {\n text-align: center;\n margin: 1em 0;\n padding: 1em;\n}\n\n.kiwi-welcome-simple-error span {\n display: block;\n font-style: italic;\n}\n\n.kiwi-welcome-simple-input-container {\n width: 100%;\n height: auto;\n position: relative;\n margin: 0 0 20px 0;\n}\n\n.kiwi-welcome-simple-input-container:last-of-type {\n margin: 20px 0 40px 0;\n}\n\n.kiwi-welcome-simple-form .u-submit {\n width: 100%;\n height: 50px;\n font-size: 1.3em;\n}\n\n.kiwi-welcome-simple-start {\n font-size: 1.1em;\n cursor: pointer;\n}\n\n.kiwi-welcome-simple-start[disabled] {\n cursor: not-allowed;\n opacity: 0.65;\n}\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-welcome-znc h2 {\n font-size: 1.7em;\n text-align: center;\n padding: 0;\n margin: 0.5em auto 1.5em auto;\n}\n\n.kiwi-welcome-znc-error {\n text-align: center;\n margin: 1em 0;\n padding: 0.3em;\n}\n\n.kiwi-welcome-znc-error span {\n display: block;\n font-style: italic;\n}\n\n.kiwi-welcome-znc-form {\n width: 300px;\n background-color: #fff;\n border-radius: 0.5em;\n padding: 1em;\n border: 1px solid #ececec;\n}\n\n.kiwi-welcome-znc .u-input-text,\n.kiwi-welcome-znc .kiwi-welcome-znc-have-password input {\n margin-bottom: 1.5em;\n}\n\n.kiwi-welcome-znc-have-password input:checked {\n margin-bottom: 0;\n}\n\n.kiwi-welcome-znc-start {\n font-size: 1.1em;\n cursor: pointer;\n width: 100%;\n margin: 1em auto 0.5em auto;\n font-weight: normal;\n border: none;\n height: 36px;\n line-height: 36px;\n padding: 0;\n}\n\n.kiwi-welcome-znc-start[disabled] {\n cursor: not-allowed;\n}\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-customserver {\n height: 100%;\n overflow-y: auto;\n box-sizing: border-box;\n text-align: center;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.kiwi-customserver-start {\n font-size: 1.1em;\n cursor: pointer;\n}\n\n.kiwi-customserver-form {\n max-width: 300px;\n margin: 0 auto;\n max-height: 500px;\n overflow: hidden;\n border-radius: 0.5em;\n padding: 20px 1em;\n}\n\n.kiwi-customserver .u-input-text,\n.kiwi-customserver .kiwi-customserver-have-password input {\n margin-bottom: 1.5em;\n}\n\n.kiwi-customserver .kiwi-customserver-have-password {\n margin-bottom: 20px;\n}\n\n.kiwi-customserver-have-password input:checked {\n margin-bottom: 0;\n}\n\n.kiwi-customserver-tls {\n cursor: pointer;\n color: #bfbfbf;\n}\n\n.kiwi-customserver-tls--enabled {\n color: green;\n}\n\n.kiwi-customserver-tls-lock {\n font-size: 1.2em;\n}\n\n.kiwi-customserver-tls-minus {\n color: red;\n font-size: 0.7em;\n top: 3px;\n}\n\n.kiwi-customserver-loader {\n margin-top: 1em;\n font-size: 2em;\n}\n\n.kiwi-customserver-channel {\n margin-top: 1em;\n}\n\n.kiwi-customserver-form .u-submit {\n width: 100%;\n padding: 0;\n letter-spacing: 1px;\n font-weight: 400;\n margin: 0 0 20px 0;\n transition: all 0.2s;\n border: none;\n font-size: 1.2em;\n line-height: 36px;\n}\n\n.kiwi-customserver-server-types {\n font-size: 0.9em;\n text-align: center;\n}\n\n.kiwi-customserver-server-types a {\n margin: 0 1em;\n}\n\n.kiwi-customserver h2 {\n margin-bottom: 1.5em;\n}\n\n.kiwi-customserver h2 i {\n font-size: 0.8em;\n margin-left: 1em;\n}\n\n.kiwi-customserver--connecting h2 {\n transition: margin-top 0.7s;\n margin-top: 100px;\n}\n\n.kiwi-customserver-error {\n text-align: center;\n margin: 1em 0;\n padding: 0.3em;\n}\n\n.kiwi-customserver-error span {\n display: block;\n font-style: italic;\n}\n\n.kiwi-connectingloader-enter-active,\n.kiwi-connectingloader-leave-active {\n transition: max-height 0.5s;\n}\n\n.kiwi-connectingloader-enter,\n.kiwi-connectingloader-leave-to {\n max-height: 0;\n}\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-startbnc-form label {\n text-align: left;\n display: block;\n margin-bottom: 1.5em;\n}\n\n.kiwi-startbnc-form input,\n.kiwi-startbnc-form input:active {\n font-size: 1em;\n width: 100%;\n box-sizing: border-box;\n line-height: 30px;\n padding: 0 10px;\n border: none;\n border-bottom: 2px solid #42b992;\n outline: none;\n}\n\n.kiwi-startbnc-status {\n margin: 1em 0;\n overflow: hidden;\n max-height: 40px;\n transition: max-height 0.2s;\n}\n\n.kiwi-startbnc-status:empty {\n background: red;\n max-height: 0;\n}\n\n.kiwi-startbnc-start {\n font-size: 1.1em;\n cursor: pointer;\n}\n\n.kiwi-startbnc-form {\n width: 300px;\n background-color: #fff;\n border-radius: 0.5em;\n padding: 1em;\n border: 1px solid #ececec;\n}\n\n.kiwi-startbnc-form button {\n width: 100%;\n line-height: 36px;\n padding: 0;\n font-size: 1.2em;\n font-weight: normal;\n}\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-buffersettings {\n box-sizing: border-box;\n}\n\n.kiwi-buffersettings-alerts {\n margin-bottom: 1em;\n}\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-awaystatusindicator {\n display: inline-block;\n width: 7px;\n height: 7px;\n border-radius: 50%;\n margin: 0 4px 0 0;\n border: 1px solid #fff;\n transition: background 0.2s;\n}\n\n.kiwi-awaystatusindicator--self {\n cursor: pointer;\n}\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-channel-options-header {\n text-align: left;\n padding: 0 0 0 10px;\n margin: 0;\n opacity: 1;\n cursor: default;\n float: left;\n width: 100%;\n box-sizing: border-box;\n}\n\n.kiwi-channel-options-header span {\n padding: 5px 0;\n float: left;\n font-size: 1.2em;\n font-weight: 600;\n}\n\n.kiwi-statebrowser-network-header {\n display: block;\n padding-right: 0;\n position: relative;\n overflow: hidden;\n height: auto;\n box-sizing: border-box;\n}\n\n.kiwi-statebrowser-network-name {\n flex: 1;\n font-size: 1.1em;\n text-align: center;\n display: block;\n padding: 4px 0;\n box-sizing: border-box;\n}\n\n.kiwi-network-name-options {\n position: absolute;\n top: 0;\n height: 45px;\n z-index: 10;\n right: -300px;\n transition: all 0.15s;\n}\n\n.kiwi-statebrowser-network-header:hover .kiwi-network-name-options {\n right: 0;\n opacity: 1;\n}\n\n.kiwi-network-name-option {\n float: right;\n width: 35px;\n transition: all 0.15s;\n padding: 0;\n line-height: 45px;\n text-align: center;\n cursor: pointer;\n}\n\n.kiwi-statebrowser-network-toggable-area--collapsed {\n display: none;\n}\n\n.kiwi-statebrowser-network-status {\n text-align: center;\n padding: 4px 4px 6px 4px;\n overflow: hidden;\n position: relative;\n height: 1.5em;\n font-size: 0.9em;\n}\n\n.kiwi-statebrowser-channels-options {\n text-align: left;\n}\n\n.kiwi-statebrowser-channels-option {\n display: inline-block;\n width: 35px;\n line-height: 35px;\n text-align: center;\n cursor: pointer;\n opacity: 0.8;\n transition: opacity 0.2s;\n}\n\n.kiwi-statebrowser-channels-option:hover {\n opacity: 1;\n}\n\n/* During DOM entering and leaving */\n.kiwi-statebrowser-network-status-transition-enter-active,\n.kiwi-statebrowser-network-status-transition-leave-active {\n transition: height 0.7s, padding 0.7s;\n}\n\n.kiwi-statebrowser-network-status-transition-enter,\n.kiwi-statebrowser-network-status-transition-leave-active {\n height: 0;\n padding: 0;\n}\n\n.kiwi-statebrowser-channel {\n position: relative;\n display: flex;\n border-left: 3px solid transparent;\n}\n\n.kiwi-statebrowser-channel:hover .kiwi-statebrowser-channel-name {\n text-decoration: underline;\n}\n\n.kiwi-statebrowser-channel-name {\n cursor: pointer;\n flex: 1;\n word-break: break-all;\n transition: padding 0.1s, border 0.1s;\n}\n\n/* Contains the labels and close icons */\n.kiwi-statebrowser-buffer-actions {\n flex: 0;\n}\n\n.kiwi-statebrowser-channel-labels {\n height: 100%;\n line-height: 1em;\n display: flex;\n box-sizing: border-box;\n}\n\n.kiwi-statebrowser-channel-label {\n padding: 0 10px;\n margin: 5px;\n font-weight: 600;\n border-radius: 4px;\n\n /* Vertical+horizontaly center align text */\n display: flex;\n text-align: center;\n align-items: center;\n}\n\n.kiwi-statebrowser-network-header .kiwi-statebrowser-channel-label {\n margin: 10px;\n}\n\n.kiwi-statebrowser-channel-leave {\n width: 38px; /* Visualy the same width as a single digit label */\n cursor: pointer;\n margin-right: 0;\n z-index: 10;\n display: none;\n}\n\n/* Hovering over the buffer name should show the close icon, but hide labels */\n.kiwi-statebrowser-channel .kiwi-statebrowser-channel-labels,\n.kiwi-statebrowser-channel:hover .kiwi-statebrowser-channel-leave {\n /* display: inline-block; */\n}\n\n.kiwi-statebrowser-channel:hover .kiwi-statebrowser-channel-leave {\n display: block;\n}\n\n.kiwi-statebrowser-channel:hover .kiwi-statebrowser-channel-labels {\n display: none;\n}\n\n/* An active buffer should always show the close icon */\n.kiwi-statebrowser-channel-active .kiwi-statebrowser-channel-leave {\n display: block;\n}\n\n.kiwi-statebrowser-channel-active .kiwi-statebrowser-channel-labels {\n display: none;\n}\n\n/* Add channel input */\n.kiwi-statebrowser-newchannel-inputwrap {\n position: relative;\n opacity: 1;\n transition: opacity 0.3s;\n background: none;\n padding: 0;\n margin: 0 0 0 0;\n box-sizing: border-box;\n}\n\n.kiwi-statebrowser-newchannel-inputwrap input[type='text'] {\n width: 100%;\n height: 40px;\n padding: 0 15px;\n line-height: 40px;\n font-size: 0.8em;\n box-sizing: border-box;\n border: none;\n margin: 0;\n border-radius: 0;\n min-height: none;\n overflow-x: hidden;\n overflow-y: auto;\n max-width: none;\n}\n\n.kiwi-statebrowser-newchannel-inputwrap--focus {\n opacity: 1;\n}\n\n/* Channel search input */\n.kiwi-statebrowser-channelfilter {\n float: left;\n width: 100%;\n padding: 0;\n box-sizing: border-box;\n position: relative;\n opacity: 1;\n transition: all 0.3s;\n margin-bottom: 0;\n}\n\n.kiwi-statebrowser-channelfilter:hover {\n opacity: 1;\n}\n\n.kiwi-statebrowser-channelfilter input {\n width: 100%;\n height: 42px;\n line-height: 42px;\n padding: 0 15px;\n border: none;\n border-radius: 0;\n box-sizing: border-box;\n}\n\n.kiwi-statebrowser-channelfilter p {\n text-align: center;\n font-size: 0.9em;\n margin: 10px 0 10px 0;\n cursor: pointer;\n transition: all 0.3s;\n}\n\n.kiwi-statebrowser-channelfilter p:hover {\n text-decoration: underline;\n}\n\n@media screen and (max-width: 769px) {\n .kiwi-network-name-options {\n right: 0;\n opacity: 1;\n }\n\n .kiwi-statebrowser-channel-name {\n line-height: 40px;\n }\n\n .kiwi-network-name-option {\n width: 50px;\n }\n\n .kiwi-statebrowser-channel-leave {\n opacity: 1;\n line-height: 40px;\n width: 50px;\n }\n\n .kiwi-statebrowser-channel-labels {\n right: 50px;\n top: 0;\n }\n\n .kiwi-statebrowser-channel-label {\n line-height: 41px;\n height: 40px;\n }\n\n /* Ensure that on mobile devices, when hovering this is visible */\n .kiwi-statebrowser-channel:hover .kiwi-statebrowser-channel-labels {\n opacity: 1;\n }\n}\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-statebrowser-usermenu {\n width: 100%;\n padding-bottom: 0;\n padding-top: 34px;\n}\n\n.kiwi-statebrowser-usermenu-network {\n padding: 0 0 10px 0;\n cursor: default;\n}\n\n.kiwi-statebrowser-usermenu-avatar {\n width: 50px;\n height: 50px;\n cursor: pointer;\n font-size: 1.5em;\n text-align: center;\n line-height: 50px;\n border: 2px solid;\n border-radius: 50%;\n margin: 0 auto 10px auto;\n transition: background 0.2s;\n position: relative;\n}\n\n.kiwi-statebrowser-usermenu .kiwi-awaystatusindicator {\n position: absolute;\n top: 1px;\n right: -5px;\n width: 12px;\n height: 12px;\n border: 1px solid #000;\n}\n\n.kiwi-statebrowser-usermenu-body {\n width: 100%;\n box-sizing: border-box;\n padding: 0 10px;\n font-size: 0.8em;\n margin-bottom: 10px;\n}\n\n.kiwi-statebrowser-usermenu-body p {\n margin-bottom: 0;\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-settings-aliases-input {\n width: 80%;\n height: 200px;\n font-size: 0.8em;\n line-height: 1.4em;\n font-family: monospace;\n}\n\n.kiwi-settings-aliases-showhelp {\n display: block;\n}\n\n.kiwi-settings-aliases-help {\n padding: 1em;\n margin: 1em 0;\n border: 1px dashed rgba(0, 0, 0, 0.4);\n}\n\n.kiwi-settings-aliases .u-form textarea {\n min-height: 300px;\n}\n\n.kiwi-settings-aliases-help em {\n padding: 1px 2px;\n font-weight: 900;\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-settings-advanced {\n width: 100%;\n}\n\n.kiwi-settings-advanced-table .u-input {\n border-bottom: 2px solid red;\n height: auto;\n margin-top: 10px;\n}\n\n.kiwi-settings-advanced-table label {\n margin: 0;\n}\n\n.kiwi-settings-advanced-table td {\n height: 30px;\n}\n\n.kiwi-settings-advanced-table td:nth-child(2) {\n min-width: 100px;\n}\n\n.kiwi-settings-advanced-table td:nth-child(3) {\n min-width: 350px;\n}\n\n.kiwi-settings-advanced tr.kiwi-advanced-setting--modified {\n font-weight: 900;\n}\n\n.kiwi-settings-advanced .u-table td .u-input {\n height: 30px;\n}\n\n.kiwi-settings-advanced-filter {\n border-bottom: 1px solid rgba(128, 128, 128, 0.5);\n padding: 0 0 5px 0;\n}\n\n.kiwi-settings-advanced-filter-container {\n position: relative;\n display: inline-block;\n}\n\n.kiwi-settings-advanced-filter-container input::-ms-clear {\n display: none;\n}\n\n.kiwi-settings-advanced-filter-container .fa-search,\n.kiwi-settings-advanced-filter-container .fa-times {\n position: absolute;\n top: 8px;\n right: 10px;\n z-index: 10;\n cursor: default;\n}\n\n.kiwi-settings-advanced-filter-container .fa-times {\n cursor: pointer;\n}\n\n.kiwi-settings-advanced-filter label {\n font-weight: 600;\n}\n\n.kiwi-settings-advanced .u-form .kiwi-settings-advanced-filter .u-input {\n display: inline-block;\n border: 1px solid #000;\n height: 40px;\n padding: 0 10px;\n}\n\n.kiwi-settings-advanced-notice {\n text-align: center;\n padding: 10px 0;\n margin: 5px 0 15px 0;\n font-weight: 900;\n}\n\n.kiwi-settings-advanced .kiwi-settings-advanced-noresult {\n width: 100%;\n margin: 50px 0 30px 0;\n text-align: center;\n font-weight: 900;\n font-size: 1em;\n}\n\n@media screen and (max-width: 600px) {\n .kiwi-settings-advanced .u-form {\n overflow-x: scroll;\n }\n}\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-appsettings {\n box-sizing: border-box;\n height: 100%;\n overflow-y: auto;\n padding: 8px 0 0 0;\n margin-top: -7px;\n\n .u-form {\n width: 100%;\n overflow: hidden;\n }\n}\n\n.u-form label.kiwi-appsettings-setting-language.kiwi-appsettings-setting-language {\n display: flex;\n margin-bottom: 2em;\n}\n\n.kiwi-appsettings-setting-language select {\n flex-grow: 0;\n max-width: 200px;\n}\n\n.kiwi-appsettings-setting-language div {\n flex-grow: 1;\n text-align: right;\n margin-right: 1em;\n}\n\n.kiwi-appsettings-setting-theme span {\n margin-left: 0;\n}\n\n.kiwi-appsettings-setting-theme select {\n float: right;\n}\n\n.kiwi-appsettings-setting-showjoinpart span {\n max-width: none;\n}\n\n.kiwi-appsettings-full span,\n.kiwi-appsettings-full input {\n width: 100%;\n}\n\n.kiwi-appsettings-aliases {\n padding: 1em 20px 2em 20px;\n}\n\n.kiwi-appsettings .kiwi-appsettings-setting-scrollback input {\n margin-right: 10px;\n width: 80px;\n}\n\n.kiwi-appsettings-tab-container {\n width: 100%;\n}\n\n.kiwi-appsettings-close {\n float: right;\n}\n\n.kiwi-appsettings .u-form label {\n display: block;\n}\n\n.kiwi-appsettings .u-form label span {\n text-align: left;\n margin-left: 0;\n}\n\n.kiwi-appsettings-theme-reload {\n margin-left: 1em;\n float: right;\n cursor: pointer;\n}\n\n.kiwi-settings-aliases-input {\n height: auto;\n min-height: 300px;\n min-height: 400px;\n line-height: normal;\n width: 100%;\n max-width: 100%;\n resize: vertical;\n}\n\n.kiwi-appsettings-block {\n max-width: 400px;\n width: auto;\n display: block;\n box-sizing: border-box;\n margin: 20px auto 20px auto;\n}\n\n.kiwi-appsettings-block.kiwi-appsettings-block-advanced {\n max-width: inherit;\n margin: 20px;\n}\n\n.kiwi-appsettings-block h3 {\n width: 100%;\n line-height: 45px;\n padding: 0 10px;\n box-sizing: border-box;\n}\n\n.kiwi-appsettings-section {\n padding: 10px;\n}\n\n.kiwi-appsettings-block-aliases {\n max-width: 750px;\n}\n\n.kiwi-appsettings-title {\n display: block;\n cursor: pointer;\n padding: 0 10px;\n margin: -1px 0 0 0;\n font-weight: 600;\n width: 100%;\n position: relative;\n box-sizing: border-box;\n text-transform: uppercase;\n line-height: 47px;\n text-align: right;\n transition: background 0.3s;\n}\n\n.kiwi-appsettings-title h2 {\n padding: 10px 0 11px 20px;\n width: auto;\n float: left;\n}\n\n.kiwi-appsettings-title a {\n float: right;\n position: static;\n background: none;\n border: none;\n padding: 10px 20px;\n font-size: 1.4em;\n}\n\n.kiwi-appsettings-title i {\n margin-left: 10px;\n font-size: 1.5em;\n float: right;\n line-height: 47px;\n}\n\n.kiwi-appsettings-messagelistDisplay select {\n float: right;\n}\n\n@media screen and (max-width: 769px) {\n .kiwi-appsettings {\n width: 100%;\n z-index: 999;\n position: fixed;\n left: 0;\n transition: left 0.5s;\n }\n\n .kiwi-appsettings .kiwi-appsettings-block {\n width: 90%;\n }\n\n .kiwi-appsettings .u-form label span {\n width: auto;\n margin-right: 0;\n display: inline-block;\n }\n}\n",".kiwi-appsettings {\n box-sizing: border-box;\n height: 100%;\n overflow-y: auto;\n padding: 8px 0 0 0;\n margin-top: -7px;\n}\n.kiwi-appsettings .u-form {\n width: 100%;\n overflow: hidden;\n}\n.u-form label.kiwi-appsettings-setting-language.kiwi-appsettings-setting-language {\n display: flex;\n margin-bottom: 2em;\n}\n.kiwi-appsettings-setting-language select {\n flex-grow: 0;\n max-width: 200px;\n}\n.kiwi-appsettings-setting-language div {\n flex-grow: 1;\n text-align: right;\n margin-right: 1em;\n}\n.kiwi-appsettings-setting-theme span {\n margin-left: 0;\n}\n.kiwi-appsettings-setting-theme select {\n float: right;\n}\n.kiwi-appsettings-setting-showjoinpart span {\n max-width: none;\n}\n.kiwi-appsettings-full span,\n.kiwi-appsettings-full input {\n width: 100%;\n}\n.kiwi-appsettings-aliases {\n padding: 1em 20px 2em 20px;\n}\n.kiwi-appsettings .kiwi-appsettings-setting-scrollback input {\n margin-right: 10px;\n width: 80px;\n}\n.kiwi-appsettings-tab-container {\n width: 100%;\n}\n.kiwi-appsettings-close {\n float: right;\n}\n.kiwi-appsettings .u-form label {\n display: block;\n}\n.kiwi-appsettings .u-form label span {\n text-align: left;\n margin-left: 0;\n}\n.kiwi-appsettings-theme-reload {\n margin-left: 1em;\n float: right;\n cursor: pointer;\n}\n.kiwi-settings-aliases-input {\n height: auto;\n min-height: 300px;\n min-height: 400px;\n line-height: normal;\n width: 100%;\n max-width: 100%;\n resize: vertical;\n}\n.kiwi-appsettings-block {\n max-width: 400px;\n width: auto;\n display: block;\n box-sizing: border-box;\n margin: 20px auto 20px auto;\n}\n.kiwi-appsettings-block.kiwi-appsettings-block-advanced {\n max-width: inherit;\n margin: 20px;\n}\n.kiwi-appsettings-block h3 {\n width: 100%;\n line-height: 45px;\n padding: 0 10px;\n box-sizing: border-box;\n}\n.kiwi-appsettings-section {\n padding: 10px;\n}\n.kiwi-appsettings-block-aliases {\n max-width: 750px;\n}\n.kiwi-appsettings-title {\n display: block;\n cursor: pointer;\n padding: 0 10px;\n margin: -1px 0 0 0;\n font-weight: 600;\n width: 100%;\n position: relative;\n box-sizing: border-box;\n text-transform: uppercase;\n line-height: 47px;\n text-align: right;\n transition: background 0.3s;\n}\n.kiwi-appsettings-title h2 {\n padding: 10px 0 11px 20px;\n width: auto;\n float: left;\n}\n.kiwi-appsettings-title a {\n float: right;\n position: static;\n background: none;\n border: none;\n padding: 10px 20px;\n font-size: 1.4em;\n}\n.kiwi-appsettings-title i {\n margin-left: 10px;\n font-size: 1.5em;\n float: right;\n line-height: 47px;\n}\n.kiwi-appsettings-messagelistDisplay select {\n float: right;\n}\n@media screen and (max-width: 769px) {\n .kiwi-appsettings {\n width: 100%;\n z-index: 999;\n position: fixed;\n left: 0;\n transition: left 0.5s;\n }\n .kiwi-appsettings .kiwi-appsettings-block {\n width: 90%;\n }\n .kiwi-appsettings .u-form label span {\n width: auto;\n margin-right: 0;\n display: inline-block;\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-statebrowser {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n border-right: none;\n text-align: center;\n overflow: hidden;\n transition: left 0.145s, margin-left 0.145s;\n}\n\n.kiwi-statebrowser h1 {\n width: 100%;\n font-size: 1em;\n opacity: 0.8;\n cursor: default;\n padding: 20px 0 27px 0;\n}\n\n.kiwi-statebrowser hr {\n width: 100%;\n margin: 0;\n opacity: 0.3;\n}\n\n/* User Settings */\n.kiwi-statebrowser-appsettings {\n position: absolute;\n top: 0;\n left: 0;\n width: 39px;\n text-align: center;\n font-size: 1em;\n box-sizing: border-box;\n line-height: 57px;\n cursor: pointer;\n font-weight: 500;\n transition: background 0.2s, opacity 0.2s;\n opacity: 0.8;\n z-index: 20;\n}\n\n.kiwi-statebrowser-appsettings:hover {\n opacity: 1;\n}\n\n.kiwi-statebrowser-appsettings span {\n font-weight: 600;\n}\n\n.kiwi-statebrowser-appsettings i {\n line-height: 35px;\n font-size: 1.2em;\n}\n\n/* Add network button */\n.kiwi-statebrowser-newnetwork {\n width: 100%;\n position: static;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n border-top: 1px solid;\n}\n\n.kiwi-statebrowser-newnetwork a {\n width: 100%;\n padding: 0 10px;\n margin: 0;\n opacity: 1;\n line-height: 39px;\n cursor: pointer;\n display: block;\n box-sizing: border-box;\n background: none;\n text-align: left;\n position: relative;\n border-radius: 0;\n font-size: 0.9em;\n transition: all 0.3s;\n border: none;\n}\n\n.kiwi-statebrowser-newnetwork a i {\n position: absolute;\n right: 20px;\n line-height: 39px;\n font-size: 1.15em;\n}\n\n.kiwi-statebrowser-newnetwork a:hover {\n opacity: 1;\n}\n\n.kiwi-statebrowser-network .kiwi-statebrowser-network-header {\n line-height: 45px;\n text-align: left;\n position: relative;\n display: flex;\n}\n\n.kiwi-statebrowser-network .kiwi-statebrowser-network-header a {\n text-align: left;\n padding: 0 0 0 10px;\n font-size: 1em;\n font-weight: 600;\n}\n\n/* Channel Styling */\n.kiwi-statebrowser-channel {\n line-height: 30px;\n padding: 0 0 0 8px;\n transition: opacity 0.3s;\n}\n\n.kiwi-statebrowser-channel .kiwi-statebrowser-channel-name {\n text-align: left;\n font-weight: 600;\n font-size: 1em;\n}\n\n.kiwi-statebrowser-channel-active {\n font-weight: 600;\n border-left: 3px solid;\n opacity: 1;\n}\n\n.kiwi-statebrowser-channel::before {\n line-height: 30px;\n}\n\n/* New Channel Button */\n.kiwi-statebrowser-newchannel {\n padding: 0;\n height: auto;\n width: 100%;\n border-top: none;\n box-sizing: border-box;\n}\n\n.kiwi-statebrowser-newchannel a {\n width: 90%;\n padding: 0 10px 0 10px;\n line-height: 35px;\n font-size: 0.8em;\n font-weight: 500;\n cursor: pointer;\n display: block;\n box-sizing: border-box;\n background: none;\n text-align: left;\n position: relative;\n border-radius: 4px;\n margin: 0 5%;\n transition: all 0.3s;\n}\n\n.kiwi-statebrowser-newchannel a i {\n position: absolute;\n right: 10px;\n line-height: 35px;\n font-size: 1.2em;\n}\n\n.kiwi-statebrowser-newchannel a i:hover {\n opacity: 1;\n}\n\n.kiwi-statebrowser-usermenu .fa-caret-down {\n transition: all 0.3s;\n}\n\n.kiwi-statebrowser-usermenu--open .fa-caret-down {\n transform: rotate(-180deg);\n}\n\n.kiwi-statebrowser-switcher a {\n display: inline-block;\n width: 50%;\n padding: 5px 0;\n font-size: 1.2em;\n cursor: pointer;\n text-align: center;\n}\n\n.kiwi-statebrowser-availablenetworks-link a {\n cursor: pointer;\n}\n\n.kiwi-statebrowser-usermenu-body a:hover {\n text-decoration: underline;\n}\n\n.kiwi-statebrowser-scrollarea {\n height: auto;\n margin-bottom: 0;\n box-sizing: border-box;\n overflow-y: auto;\n width: 100%;\n flex: 1;\n}\n\n.kiwi-statebrowser-network {\n margin-bottom: 2em;\n overflow: hidden;\n}\n\n.kiwi-statebrowser-network:last-child {\n margin-bottom: 0;\n}\n\n.kiwi-statebrowser-options {\n position: absolute;\n bottom: 0;\n padding: 15px;\n height: 30px;\n\n /* some space on the right so it doesnt overlap the parent elements scrollbar */\n margin-right: 10px;\n}\n\n.kiwi-statebrowser-nonetworks {\n padding: 5px;\n text-align: center;\n}\n\n.kiwi-statebrowser-availablenetworks-toggle {\n cursor: pointer;\n text-align: center;\n padding: 5px 0;\n}\n\n.kiwi-statebrowser-availablenetworks-type {\n padding: 10px;\n}\n\n.kiwi-statebrowser-availablenetworks-name {\n text-align: center;\n font-weight: bold;\n}\n\n.kiwi-statebrowser-availablenetworks-networks {\n overflow: hidden;\n max-height: 0;\n transition: max-height 0.5s;\n}\n\n.kiwi-statebrowser-availablenetworks-networks--open {\n max-height: 500px;\n}\n\n.kiwi-statebrowser-newchannel-inputwrap {\n padding: 3px;\n}\n\n.kiwi-statebrowser-newchannel-inputwrap input {\n outline: none;\n border: none;\n display: block;\n width: calc(100% - 20px);\n margin-right: 30px;\n}\n\n.kiwi-statebrowser-newchannel-inputwrap i {\n position: absolute;\n right: 5px;\n top: 5px;\n cursor: pointer;\n}\n\n.kiwi-statebrowser-availablenetworks-link {\n border-right: 15px solid red;\n}\n\n.kiwi-statebrowser-availablenetworks-link--connected {\n border-color: green;\n}\n\n.kiwi-statebrowser-newchannel-inputwrap--focus {\n opacity: 1;\n}\n\n@media screen and (max-width: 769px) {\n .kiwi-statebrowser {\n left: -100%;\n padding-top: 0;\n z-index: 1000;\n }\n\n .kiwi-wrap.kiwi-wrap--statebrowser-drawopen .kiwi-statebrowser {\n width: 75%;\n left: 0;\n z-index: 100;\n transition: left 0.07s, width 0.1s;\n }\n\n .kiwi-header {\n text-align: center;\n }\n\n .kiwi-container-toggledraw-statebrowser-messagecount {\n width: 30px;\n color: #000;\n font-weight: 600;\n max-height: 49.5px;\n }\n\n //Resize the buttons within the statebrowser\n .kiwi-statebrowser-newchannel a {\n margin-right: 2.5%;\n margin-left: 2.5%;\n width: 95%;\n }\n\n .kiwi-statebrowser-channel::before {\n line-height: 40px;\n }\n\n .kiwi-statebrowser-usermenu {\n position: relative;\n }\n\n .kiwi-statebrowser-usermenu-body .kiwi-close-icon {\n display: none;\n }\n\n .kiwi-wrap--statebrowser-drawopen .kiwi-statebrowser::after {\n opacity: 1;\n width: 100%;\n right: -100%;\n transition: width 0.2s, opacity 0.2s;\n }\n}\n\n",".kiwi-statebrowser {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n border-right: none;\n text-align: center;\n overflow: hidden;\n transition: left 0.145s, margin-left 0.145s;\n}\n.kiwi-statebrowser h1 {\n width: 100%;\n font-size: 1em;\n opacity: 0.8;\n cursor: default;\n padding: 20px 0 27px 0;\n}\n.kiwi-statebrowser hr {\n width: 100%;\n margin: 0;\n opacity: 0.3;\n}\n/* User Settings */\n.kiwi-statebrowser-appsettings {\n position: absolute;\n top: 0;\n left: 0;\n width: 39px;\n text-align: center;\n font-size: 1em;\n box-sizing: border-box;\n line-height: 57px;\n cursor: pointer;\n font-weight: 500;\n transition: background 0.2s, opacity 0.2s;\n opacity: 0.8;\n z-index: 20;\n}\n.kiwi-statebrowser-appsettings:hover {\n opacity: 1;\n}\n.kiwi-statebrowser-appsettings span {\n font-weight: 600;\n}\n.kiwi-statebrowser-appsettings i {\n line-height: 35px;\n font-size: 1.2em;\n}\n/* Add network button */\n.kiwi-statebrowser-newnetwork {\n width: 100%;\n position: static;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n border-top: 1px solid;\n}\n.kiwi-statebrowser-newnetwork a {\n width: 100%;\n padding: 0 10px;\n margin: 0;\n opacity: 1;\n line-height: 39px;\n cursor: pointer;\n display: block;\n box-sizing: border-box;\n background: none;\n text-align: left;\n position: relative;\n border-radius: 0;\n font-size: 0.9em;\n transition: all 0.3s;\n border: none;\n}\n.kiwi-statebrowser-newnetwork a i {\n position: absolute;\n right: 20px;\n line-height: 39px;\n font-size: 1.15em;\n}\n.kiwi-statebrowser-newnetwork a:hover {\n opacity: 1;\n}\n.kiwi-statebrowser-network .kiwi-statebrowser-network-header {\n line-height: 45px;\n text-align: left;\n position: relative;\n display: flex;\n}\n.kiwi-statebrowser-network .kiwi-statebrowser-network-header a {\n text-align: left;\n padding: 0 0 0 10px;\n font-size: 1em;\n font-weight: 600;\n}\n/* Channel Styling */\n.kiwi-statebrowser-channel {\n line-height: 30px;\n padding: 0 0 0 8px;\n transition: opacity 0.3s;\n}\n.kiwi-statebrowser-channel .kiwi-statebrowser-channel-name {\n text-align: left;\n font-weight: 600;\n font-size: 1em;\n}\n.kiwi-statebrowser-channel-active {\n font-weight: 600;\n border-left: 3px solid;\n opacity: 1;\n}\n.kiwi-statebrowser-channel::before {\n line-height: 30px;\n}\n/* New Channel Button */\n.kiwi-statebrowser-newchannel {\n padding: 0;\n height: auto;\n width: 100%;\n border-top: none;\n box-sizing: border-box;\n}\n.kiwi-statebrowser-newchannel a {\n width: 90%;\n padding: 0 10px 0 10px;\n line-height: 35px;\n font-size: 0.8em;\n font-weight: 500;\n cursor: pointer;\n display: block;\n box-sizing: border-box;\n background: none;\n text-align: left;\n position: relative;\n border-radius: 4px;\n margin: 0 5%;\n transition: all 0.3s;\n}\n.kiwi-statebrowser-newchannel a i {\n position: absolute;\n right: 10px;\n line-height: 35px;\n font-size: 1.2em;\n}\n.kiwi-statebrowser-newchannel a i:hover {\n opacity: 1;\n}\n.kiwi-statebrowser-usermenu .fa-caret-down {\n transition: all 0.3s;\n}\n.kiwi-statebrowser-usermenu--open .fa-caret-down {\n transform: rotate(-180deg);\n}\n.kiwi-statebrowser-switcher a {\n display: inline-block;\n width: 50%;\n padding: 5px 0;\n font-size: 1.2em;\n cursor: pointer;\n text-align: center;\n}\n.kiwi-statebrowser-availablenetworks-link a {\n cursor: pointer;\n}\n.kiwi-statebrowser-usermenu-body a:hover {\n text-decoration: underline;\n}\n.kiwi-statebrowser-scrollarea {\n height: auto;\n margin-bottom: 0;\n box-sizing: border-box;\n overflow-y: auto;\n width: 100%;\n flex: 1;\n}\n.kiwi-statebrowser-network {\n margin-bottom: 2em;\n overflow: hidden;\n}\n.kiwi-statebrowser-network:last-child {\n margin-bottom: 0;\n}\n.kiwi-statebrowser-options {\n position: absolute;\n bottom: 0;\n padding: 15px;\n height: 30px;\n /* some space on the right so it doesnt overlap the parent elements scrollbar */\n margin-right: 10px;\n}\n.kiwi-statebrowser-nonetworks {\n padding: 5px;\n text-align: center;\n}\n.kiwi-statebrowser-availablenetworks-toggle {\n cursor: pointer;\n text-align: center;\n padding: 5px 0;\n}\n.kiwi-statebrowser-availablenetworks-type {\n padding: 10px;\n}\n.kiwi-statebrowser-availablenetworks-name {\n text-align: center;\n font-weight: bold;\n}\n.kiwi-statebrowser-availablenetworks-networks {\n overflow: hidden;\n max-height: 0;\n transition: max-height 0.5s;\n}\n.kiwi-statebrowser-availablenetworks-networks--open {\n max-height: 500px;\n}\n.kiwi-statebrowser-newchannel-inputwrap {\n padding: 3px;\n}\n.kiwi-statebrowser-newchannel-inputwrap input {\n outline: none;\n border: none;\n display: block;\n width: calc(100% - 20px);\n margin-right: 30px;\n}\n.kiwi-statebrowser-newchannel-inputwrap i {\n position: absolute;\n right: 5px;\n top: 5px;\n cursor: pointer;\n}\n.kiwi-statebrowser-availablenetworks-link {\n border-right: 15px solid red;\n}\n.kiwi-statebrowser-availablenetworks-link--connected {\n border-color: green;\n}\n.kiwi-statebrowser-newchannel-inputwrap--focus {\n opacity: 1;\n}\n@media screen and (max-width: 769px) {\n .kiwi-statebrowser {\n left: -100%;\n padding-top: 0;\n z-index: 1000;\n }\n .kiwi-wrap.kiwi-wrap--statebrowser-drawopen .kiwi-statebrowser {\n width: 75%;\n left: 0;\n z-index: 100;\n transition: left 0.07s, width 0.1s;\n }\n .kiwi-header {\n text-align: center;\n }\n .kiwi-container-toggledraw-statebrowser-messagecount {\n width: 30px;\n color: #000;\n font-weight: 600;\n max-height: 49.5px;\n }\n .kiwi-statebrowser-newchannel a {\n margin-right: 2.5%;\n margin-left: 2.5%;\n width: 95%;\n }\n .kiwi-statebrowser-channel::before {\n line-height: 40px;\n }\n .kiwi-statebrowser-usermenu {\n position: relative;\n }\n .kiwi-statebrowser-usermenu-body .kiwi-close-icon {\n display: none;\n }\n .kiwi-wrap--statebrowser-drawopen .kiwi-statebrowser::after {\n opacity: 1;\n width: 100%;\n right: -100%;\n transition: width 0.2s, opacity 0.2s;\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-channelinfo-previoustopics {\n margin: 0 10px 15px 10px;\n}\n\n.kiwi-channelinfo-previoustopics ul {\n margin-top: 0;\n}\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-channelbanlist-table {\n width: 100%;\n border-collapse: collapse;\n line-height: 20px;\n margin-top: 10px;\n}\n\n.kiwi-channelbanlist-table tr {\n border-bottom: 1px solid;\n}\n\n.kiwi-channelbanlist-table-mask {\n word-break: break-all;\n}\n\n.kiwi-channelbanlist-table-bannedat {\n min-width: 150px;\n}\n\n.kiwi-channelbanlist-table-actions {\n min-width: 50px;\n text-align: center;\n cursor: pointer;\n position: relative;\n transition: all 0.3s;\n z-index: 1;\n}\n",".kiwi-channelbanlist-table {\n width: 100%;\n border-collapse: collapse;\n line-height: 20px;\n margin-top: 10px;\n}\n.kiwi-channelbanlist-table tr {\n border-bottom: 1px solid;\n}\n.kiwi-channelbanlist-table-mask {\n word-break: break-all;\n}\n.kiwi-channelbanlist-table-bannedat {\n min-width: 150px;\n}\n.kiwi-channelbanlist-table-actions {\n min-width: 50px;\n text-align: center;\n cursor: pointer;\n position: relative;\n transition: all 0.3s;\n z-index: 1;\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-header {\n padding: 0;\n transition: all 0.3s;\n line-height: 10px;\n height: 44px;\n box-sizing: border-box;\n text-align: center;\n border-bottom: 1px solid;\n display: flex;\n}\n\n.kiwi-header-name .kiwi-header-awaystatus {\n display: inline-block;\n margin-bottom: 2px;\n}\n\n.kiwi-header--showall {\n height: auto;\n max-height: 100%;\n overflow-y: auto;\n}\n\n/* why this hover? */\n.kiwi-header:hover {\n max-height: none;\n}\n\n.kiwi-header-name-container {\n font-weight: bold;\n cursor: default;\n margin: 0;\n margin-right: 0.5em;\n opacity: 1;\n font-size: 20px;\n line-height: 43px;\n flex-grow: 1;\n text-align: left;\n overflow-x: hidden;\n white-space: nowrap;\n}\n\n.kiwi-header-name {\n text-overflow: ellipsis;\n overflow: hidden;\n padding: 0 10px;\n}\n\n.kiwi-header-name:hover {\n position: absolute;\n padding-right: 10px;\n z-index: 1;\n}\n\n.kiwi-header-options {\n width: auto;\n display: inline-block;\n flex-shrink: 0;\n}\n\n.kiwi-header-option {\n border: none;\n float: left;\n background: none;\n font-size: 0.8em;\n opacity: 0.9;\n font-weight: 900;\n}\n\n.kiwi-header-option a {\n float: left;\n padding: 0 15px;\n line-height: 45px;\n display: block;\n font-weight: 600;\n opacity: 0.8;\n cursor: pointer;\n transition: all 0.3s;\n}\n\n.kiwi-header-option a:hover {\n opacity: 1;\n}\n\n.kiwi-header-option i {\n font-size: 1.2em;\n float: left;\n line-height: 45px;\n}\n\n.kiwi-header-options i + span {\n margin-left: 10px;\n}\n\n.kiwi-header-option--active {\n opacity: 1;\n}\n\n.kiwi-header-option--active a {\n opacity: 1;\n}\n\n.kiwi-header-option-leave {\n opacity: 1;\n margin: 0;\n transition: all 0.3s;\n}\n\n.kiwi-header-option-leave i {\n margin: 0;\n}\n\n/* The not joined button */\n.kiwi-header-notjoined {\n border-radius: 0;\n display: inline-block;\n margin: 0 auto;\n float: right;\n}\n\n.kiwi-header-notjoined .u-link {\n font-weight: 600;\n\n /* .kiwi-header height -1px */\n line-height: 43px;\n padding: 0 25px;\n border-radius: 0;\n transition: all 0.3;\n}\n\n.kiwi-header-server-settings {\n display: inline;\n}\n\n.kiwi-header-server-connection {\n float: right;\n padding-right: 10px;\n line-height: 46px;\n}\n\n.kiwi-header-server-connection .u-button {\n float: right;\n line-height: 35px;\n padding: 0 1em;\n margin: 4px 0;\n border-radius: 4px;\n}\n\n.kiwi-header-options .u-button {\n text-transform: uppercase;\n font-size: 0.7em;\n font-weight: 600;\n letter-spacing: 0.2em;\n padding: 0.5em 1.7em;\n line-height: 2em;\n border-radius: 0.4em;\n}\n\n.kiwi-header-join-channel-button {\n border-radius: 0.3em;\n text-transform: uppercase;\n letter-spacing: 0.2em;\n line-height: inherit;\n height: auto;\n display: inline-block;\n padding: 0.2em 1em;\n font-size: 0.8em;\n}\n\n.kiwi-header-close-buffersettings {\n float: right;\n}\n\n.kiwi-header-buffersettings {\n padding: 5px;\n margin-top: 1em;\n}\n\n.kiwi-header-prompt {\n position: absolute;\n right: 0;\n top: 46px;\n\n /* z-index 1 higher than the sidebar */\n z-index: 11;\n}\n\n.kiwi-header-prompttrans-enter,\n.kiwi-header-prompttrans-leave-to {\n top: -45px;\n}\n\n.kiwi-header-prompttrans-enter-to,\n.kiwi-header-prompttrans-leave {\n top: 46px;\n}\n\n.kiwi-header-prompttrans-enter-active,\n.kiwi-header-prompttrans-leave-active {\n transition: top 0.2s;\n}\n\n@media screen and (max-width: 769px) {\n .kiwi-container-toggledraw-statebrowser {\n border-bottom: none;\n }\n\n .kiwi-container .kiwi-header {\n margin-right: 0;\n overflow: visible;\n max-height: none;\n padding-left: 0;\n margin-left: 0;\n }\n\n .kiwi-header-name-container {\n padding-left: 60px;\n }\n\n .kiwi-header-name {\n padding: 0;\n }\n\n .kiwi-header-option span {\n display: none;\n }\n\n .kiwi-header-server-connection .u-button {\n line-height: 32px;\n margin: 7px 0 0 0;\n opacity: 1;\n font-weight: 600;\n }\n\n .kiwi-header-notjoined {\n height: 45px;\n margin: 0;\n white-space: nowrap;\n }\n\n .kiwi-header-notjoined .kiwi-header-join-channel-button {\n padding-left: 10px;\n padding-right: 10px;\n }\n\n .kiwi-containerheader-hidetext {\n display: none;\n }\n}\n\n",".kiwi-header {\n padding: 0;\n transition: all 0.3s;\n line-height: 10px;\n height: 44px;\n box-sizing: border-box;\n text-align: center;\n border-bottom: 1px solid;\n display: flex;\n}\n.kiwi-header-name .kiwi-header-awaystatus {\n display: inline-block;\n margin-bottom: 2px;\n}\n.kiwi-header--showall {\n height: auto;\n max-height: 100%;\n overflow-y: auto;\n}\n/* why this hover? */\n.kiwi-header:hover {\n max-height: none;\n}\n.kiwi-header-name-container {\n font-weight: bold;\n cursor: default;\n margin: 0;\n margin-right: 0.5em;\n opacity: 1;\n font-size: 20px;\n line-height: 43px;\n flex-grow: 1;\n text-align: left;\n overflow-x: hidden;\n white-space: nowrap;\n}\n.kiwi-header-name {\n text-overflow: ellipsis;\n overflow: hidden;\n padding: 0 10px;\n}\n.kiwi-header-name:hover {\n position: absolute;\n padding-right: 10px;\n z-index: 1;\n}\n.kiwi-header-options {\n width: auto;\n display: inline-block;\n flex-shrink: 0;\n}\n.kiwi-header-option {\n border: none;\n float: left;\n background: none;\n font-size: 0.8em;\n opacity: 0.9;\n font-weight: 900;\n}\n.kiwi-header-option a {\n float: left;\n padding: 0 15px;\n line-height: 45px;\n display: block;\n font-weight: 600;\n opacity: 0.8;\n cursor: pointer;\n transition: all 0.3s;\n}\n.kiwi-header-option a:hover {\n opacity: 1;\n}\n.kiwi-header-option i {\n font-size: 1.2em;\n float: left;\n line-height: 45px;\n}\n.kiwi-header-options i + span {\n margin-left: 10px;\n}\n.kiwi-header-option--active {\n opacity: 1;\n}\n.kiwi-header-option--active a {\n opacity: 1;\n}\n.kiwi-header-option-leave {\n opacity: 1;\n margin: 0;\n transition: all 0.3s;\n}\n.kiwi-header-option-leave i {\n margin: 0;\n}\n/* The not joined button */\n.kiwi-header-notjoined {\n border-radius: 0;\n display: inline-block;\n margin: 0 auto;\n float: right;\n}\n.kiwi-header-notjoined .u-link {\n font-weight: 600;\n /* .kiwi-header height -1px */\n line-height: 43px;\n padding: 0 25px;\n border-radius: 0;\n transition: all 0.3;\n}\n.kiwi-header-server-settings {\n display: inline;\n}\n.kiwi-header-server-connection {\n float: right;\n padding-right: 10px;\n line-height: 46px;\n}\n.kiwi-header-server-connection .u-button {\n float: right;\n line-height: 35px;\n padding: 0 1em;\n margin: 4px 0;\n border-radius: 4px;\n}\n.kiwi-header-options .u-button {\n text-transform: uppercase;\n font-size: 0.7em;\n font-weight: 600;\n letter-spacing: 0.2em;\n padding: 0.5em 1.7em;\n line-height: 2em;\n border-radius: 0.4em;\n}\n.kiwi-header-join-channel-button {\n border-radius: 0.3em;\n text-transform: uppercase;\n letter-spacing: 0.2em;\n line-height: inherit;\n height: auto;\n display: inline-block;\n padding: 0.2em 1em;\n font-size: 0.8em;\n}\n.kiwi-header-close-buffersettings {\n float: right;\n}\n.kiwi-header-buffersettings {\n padding: 5px;\n margin-top: 1em;\n}\n.kiwi-header-prompt {\n position: absolute;\n right: 0;\n top: 46px;\n /* z-index 1 higher than the sidebar */\n z-index: 11;\n}\n.kiwi-header-prompttrans-enter,\n.kiwi-header-prompttrans-leave-to {\n top: -45px;\n}\n.kiwi-header-prompttrans-enter-to,\n.kiwi-header-prompttrans-leave {\n top: 46px;\n}\n.kiwi-header-prompttrans-enter-active,\n.kiwi-header-prompttrans-leave-active {\n transition: top 0.2s;\n}\n@media screen and (max-width: 769px) {\n .kiwi-container-toggledraw-statebrowser {\n border-bottom: none;\n }\n .kiwi-container .kiwi-header {\n margin-right: 0;\n overflow: visible;\n max-height: none;\n padding-left: 0;\n margin-left: 0;\n }\n .kiwi-header-name-container {\n padding-left: 60px;\n }\n .kiwi-header-name {\n padding: 0;\n }\n .kiwi-header-option span {\n display: none;\n }\n .kiwi-header-server-connection .u-button {\n line-height: 32px;\n margin: 7px 0 0 0;\n opacity: 1;\n font-weight: 600;\n }\n .kiwi-header-notjoined {\n height: 45px;\n margin: 0;\n white-space: nowrap;\n }\n .kiwi-header-notjoined .kiwi-header-join-channel-button {\n padding-left: 10px;\n padding-right: 10px;\n }\n .kiwi-containerheader-hidetext {\n display: none;\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-sidebar.kiwi-sidebar-section-user {\n right: 0;\n width: 380px;\n}\n\n.kiwi-userbox {\n box-sizing: border-box;\n overflow-y: auto;\n height: 100%;\n}\n\n.kiwi-userbox-selfprofile {\n display: block;\n margin: 0 auto;\n width: 100%;\n padding: 1em;\n text-align: center;\n border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n box-sizing: border-box;\n}\n\n.kiwi-userbox-header {\n position: relative;\n padding: 0.5em 1em;\n overflow: hidden;\n}\n\n.kiwi-userbox-header h3 {\n width: 100%;\n padding: 0;\n cursor: default;\n display: inline-block;\n}\n\n.kiwi-userbox-modestring {\n font-weight: normal;\n font-size: 0.8em;\n}\n\n.fa-user.kiwi-userbox-icon {\n display: inline-block;\n font-size: 2em;\n}\n\n.kiwi-userbox-usermask {\n width: 100%;\n opacity: 0.6;\n cursor: default;\n}\n\n.kiwi-userbox-basicinfo {\n width: 100%;\n margin: 0;\n display: block;\n padding: 0.5em 1em;\n box-sizing: border-box;\n}\n\n.kiwi-userbox-basicinfo-title,\n.kiwi-userbox-basicinfo-data {\n display: block;\n width: 100%;\n cursor: default;\n margin: 0;\n}\n\n.kiwi-userbox-basicinfo-title {\n font-size: 1em;\n line-height: 1em;\n padding: 0;\n text-align: left;\n font-weight: 900;\n}\n\n.kiwi-userbox-basicinfo-data {\n margin-bottom: 1em;\n font-weight: normal;\n font-weight: 100;\n opacity: 1;\n}\n\n.kiwi-userbox-actions {\n width: 100%;\n padding: 1em;\n text-align: center;\n margin: 0;\n box-sizing: border-box;\n\n .kiwi-userbox-action {\n display: inline-block;\n border: 1px solid;\n padding: 0.5em 1em;\n cursor: pointer;\n margin: 0 2px;\n transition: all 0.3s;\n border-radius: 3px;\n }\n\n label {\n display: block;\n cursor: pointer;\n\n span {\n text-align: left;\n width: auto;\n }\n }\n}\n\n.kiwi-userbox-opactions {\n width: 100%;\n text-align: center;\n box-sizing: border-box;\n margin: 0 0 1em 0;\n border-top: 1px solid;\n padding: 1em;\n}\n\n.kiwi-userbox-opactions label {\n width: 100%;\n font-size: 1.2em;\n font-weight: 600;\n display: block;\n margin-bottom: 0.7em;\n}\n\n.kiwi-userbox-opactions label select {\n display: block;\n clear: both;\n padding: 10px;\n border-radius: 0.25em;\n box-shadow: none;\n border: 1px solid;\n width: 100%;\n margin-top: 10px;\n cursor: pointer;\n}\n\n.kiwi-userbox-opaction {\n width: 100%;\n padding: 0 1em;\n text-align: left;\n border: none;\n line-height: 2.2em;\n font-size: 0.8em;\n}\n\n.kiwi-userbox-opaction i {\n margin-right: 0.2em;\n font-size: 1.2em;\n}\n\n.kiwi-userbox-actions a {\n margin-right: 1em;\n}\n\n.kiwi-userbox-whois {\n line-height: 1.4em;\n padding: 1em;\n width: 90%;\n margin: 0 5% 20px 5%;\n background: none;\n box-sizing: border-box;\n border-radius: 2px;\n}\n\n.kiwi-userbox-whois-line {\n display: block;\n}\n\n.kiwi-userbox-ignoreuser {\n display: flex;\n flex-direction: row;\n justify-content: center;\n}\n\n.kiwi-userbox-ignoreuser span {\n /* This fixes a vertical align issue between the checkbox and span */\n float: right;\n}\n\n@media screen and (max-width: 769px) {\n .kiwi-container--sidebar-drawn .kiwi-sidebar-userbox {\n width: 100%;\n }\n\n .kiwi-userbox {\n left: 0;\n right: 0;\n bottom: 40px;\n top: auto;\n max-width: 100%;\n border-width: 1px 0;\n }\n\n .kiwi-userbox .kiwi-userbox-header {\n padding-left: 10px;\n }\n\n .kiwi-userbox .kiwi-userbox-header i {\n display: none;\n }\n\n .kiwi-userbox .kiwi-userbox-basicinfo {\n padding: 10px 10px;\n margin-bottom: 20px;\n }\n\n .kiwi-userbox-actions {\n padding: 0;\n width: 100%;\n box-sizing: border-box;\n }\n\n .kiwi-userbox-actions .kiwi-userbox-action {\n width: 200px;\n clear: both;\n display: block;\n margin: 0 auto 20px auto;\n }\n}\n",".kiwi-sidebar.kiwi-sidebar-section-user {\n right: 0;\n width: 380px;\n}\n.kiwi-userbox {\n box-sizing: border-box;\n overflow-y: auto;\n height: 100%;\n}\n.kiwi-userbox-selfprofile {\n display: block;\n margin: 0 auto;\n width: 100%;\n padding: 1em;\n text-align: center;\n border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n box-sizing: border-box;\n}\n.kiwi-userbox-header {\n position: relative;\n padding: 0.5em 1em;\n overflow: hidden;\n}\n.kiwi-userbox-header h3 {\n width: 100%;\n padding: 0;\n cursor: default;\n display: inline-block;\n}\n.kiwi-userbox-modestring {\n font-weight: normal;\n font-size: 0.8em;\n}\n.fa-user.kiwi-userbox-icon {\n display: inline-block;\n font-size: 2em;\n}\n.kiwi-userbox-usermask {\n width: 100%;\n opacity: 0.6;\n cursor: default;\n}\n.kiwi-userbox-basicinfo {\n width: 100%;\n margin: 0;\n display: block;\n padding: 0.5em 1em;\n box-sizing: border-box;\n}\n.kiwi-userbox-basicinfo-title,\n.kiwi-userbox-basicinfo-data {\n display: block;\n width: 100%;\n cursor: default;\n margin: 0;\n}\n.kiwi-userbox-basicinfo-title {\n font-size: 1em;\n line-height: 1em;\n padding: 0;\n text-align: left;\n font-weight: 900;\n}\n.kiwi-userbox-basicinfo-data {\n margin-bottom: 1em;\n font-weight: normal;\n font-weight: 100;\n opacity: 1;\n}\n.kiwi-userbox-actions {\n width: 100%;\n padding: 1em;\n text-align: center;\n margin: 0;\n box-sizing: border-box;\n}\n.kiwi-userbox-actions .kiwi-userbox-action {\n display: inline-block;\n border: 1px solid;\n padding: 0.5em 1em;\n cursor: pointer;\n margin: 0 2px;\n transition: all 0.3s;\n border-radius: 3px;\n}\n.kiwi-userbox-actions label {\n display: block;\n cursor: pointer;\n}\n.kiwi-userbox-actions label span {\n text-align: left;\n width: auto;\n}\n.kiwi-userbox-opactions {\n width: 100%;\n text-align: center;\n box-sizing: border-box;\n margin: 0 0 1em 0;\n border-top: 1px solid;\n padding: 1em;\n}\n.kiwi-userbox-opactions label {\n width: 100%;\n font-size: 1.2em;\n font-weight: 600;\n display: block;\n margin-bottom: 0.7em;\n}\n.kiwi-userbox-opactions label select {\n display: block;\n clear: both;\n padding: 10px;\n border-radius: 0.25em;\n box-shadow: none;\n border: 1px solid;\n width: 100%;\n margin-top: 10px;\n cursor: pointer;\n}\n.kiwi-userbox-opaction {\n width: 100%;\n padding: 0 1em;\n text-align: left;\n border: none;\n line-height: 2.2em;\n font-size: 0.8em;\n}\n.kiwi-userbox-opaction i {\n margin-right: 0.2em;\n font-size: 1.2em;\n}\n.kiwi-userbox-actions a {\n margin-right: 1em;\n}\n.kiwi-userbox-whois {\n line-height: 1.4em;\n padding: 1em;\n width: 90%;\n margin: 0 5% 20px 5%;\n background: none;\n box-sizing: border-box;\n border-radius: 2px;\n}\n.kiwi-userbox-whois-line {\n display: block;\n}\n.kiwi-userbox-ignoreuser {\n display: flex;\n flex-direction: row;\n justify-content: center;\n}\n.kiwi-userbox-ignoreuser span {\n /* This fixes a vertical align issue between the checkbox and span */\n float: right;\n}\n@media screen and (max-width: 769px) {\n .kiwi-container--sidebar-drawn .kiwi-sidebar-userbox {\n width: 100%;\n }\n .kiwi-userbox {\n left: 0;\n right: 0;\n bottom: 40px;\n top: auto;\n max-width: 100%;\n border-width: 1px 0;\n }\n .kiwi-userbox .kiwi-userbox-header {\n padding-left: 10px;\n }\n .kiwi-userbox .kiwi-userbox-header i {\n display: none;\n }\n .kiwi-userbox .kiwi-userbox-basicinfo {\n padding: 10px 10px;\n margin-bottom: 20px;\n }\n .kiwi-userbox-actions {\n padding: 0;\n width: 100%;\n box-sizing: border-box;\n }\n .kiwi-userbox-actions .kiwi-userbox-action {\n width: 200px;\n clear: both;\n display: block;\n margin: 0 auto 20px auto;\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* Adjust the sidebars width when this component is in view */\n.kiwi-sidebar.kiwi-sidebar-section-about {\n max-width: 300px;\n width: 300px;\n}\n\n.kiwi-aboutbuffer {\n overflow-y: auto;\n box-sizing: border-box;\n min-height: 100px;\n margin: auto;\n width: 100%;\n //Padding bottom is needed, otherwise the scrollbar will show on the right side.\n padding-bottom: 1px;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n}\n\n.kiwi-aboutbuffer-highlight {\n cursor: pointer;\n}\n\n.kiwi-aboutbuffer h3 {\n padding: 10px;\n width: 100%;\n box-sizing: border-box;\n}\n\n.kiwi-aboutbuffer-section {\n display: block;\n width: 100%;\n}\n\n.kiwi-aboutbuffer-section h4 {\n padding: 10px;\n cursor: pointer;\n user-select: none;\n}\n\n.kiwi-aboutbuffer-section h4 i {\n margin-right: 5px;\n transition: transform 0.2s;\n}\n\n.kiwi-aboutbuffer-section--closed h4 i {\n transform: rotate(90deg);\n}\n\n.kiwi-aboutbuffer-section > div {\n padding: 1em;\n transition: max-height 0.2s, padding 0.2s, opacity 0.2s;\n overflow: hidden;\n}\n\n.kiwi-aboutbuffer-section .kiwi-aboutbuffer-usercount {\n text-align: center;\n}\n\n.kiwi-aboutbuffer-section > div p {\n margin: 0 0 1em 0;\n}\n\n.kiwi-aboutbuffer-section > div p:last-of-type {\n margin-bottom: 0;\n}\n\n.kiwi-aboutbuffer-section--closed > div {\n max-height: 0;\n padding: 0;\n opacity: 0;\n}\n\n@media screen and (max-width: 769px) {\n .kiwi-sidebar.kiwi-sidebar-section-about {\n width: 100%;\n max-width: 100%;\n }\n}\n","/* Adjust the sidebars width when this component is in view */\n.kiwi-sidebar.kiwi-sidebar-section-about {\n max-width: 300px;\n width: 300px;\n}\n.kiwi-aboutbuffer {\n overflow-y: auto;\n box-sizing: border-box;\n min-height: 100px;\n margin: auto;\n width: 100%;\n padding-bottom: 1px;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n}\n.kiwi-aboutbuffer-highlight {\n cursor: pointer;\n}\n.kiwi-aboutbuffer h3 {\n padding: 10px;\n width: 100%;\n box-sizing: border-box;\n}\n.kiwi-aboutbuffer-section {\n display: block;\n width: 100%;\n}\n.kiwi-aboutbuffer-section h4 {\n padding: 10px;\n cursor: pointer;\n user-select: none;\n}\n.kiwi-aboutbuffer-section h4 i {\n margin-right: 5px;\n transition: transform 0.2s;\n}\n.kiwi-aboutbuffer-section--closed h4 i {\n transform: rotate(90deg);\n}\n.kiwi-aboutbuffer-section > div {\n padding: 1em;\n transition: max-height 0.2s, padding 0.2s, opacity 0.2s;\n overflow: hidden;\n}\n.kiwi-aboutbuffer-section .kiwi-aboutbuffer-usercount {\n text-align: center;\n}\n.kiwi-aboutbuffer-section > div p {\n margin: 0 0 1em 0;\n}\n.kiwi-aboutbuffer-section > div p:last-of-type {\n margin-bottom: 0;\n}\n.kiwi-aboutbuffer-section--closed > div {\n max-height: 0;\n padding: 0;\n opacity: 0;\n}\n@media screen and (max-width: 769px) {\n .kiwi-sidebar.kiwi-sidebar-section-about {\n width: 100%;\n max-width: 100%;\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-invitelist-inviteonly-status {\n margin-top: 10px;\n}\n\n.kiwi-invitelist-table {\n width: 100%;\n border-collapse: collapse;\n line-height: 20px;\n margin-top: 10px;\n}\n\n.kiwi-invitelist-table-invitedat {\n min-width: 150px;\n}\n\n.kiwi-invitelist-table-actions {\n min-width: 50px;\n text-align: center;\n cursor: pointer;\n position: relative;\n transition: all 0.3s;\n z-index: 1;\n}\n\n.kiwi-invitelist-addmask {\n display: flex;\n}\n\n.kiwi-invitelist-addmask > button {\n flex-shrink: 0;\n}\n",".kiwi-invitelist-inviteonly-status {\n margin-top: 10px;\n}\n.kiwi-invitelist-table {\n width: 100%;\n border-collapse: collapse;\n line-height: 20px;\n margin-top: 10px;\n}\n.kiwi-invitelist-table-invitedat {\n min-width: 150px;\n}\n.kiwi-invitelist-table-actions {\n min-width: 50px;\n text-align: center;\n cursor: pointer;\n position: relative;\n transition: all 0.3s;\n z-index: 1;\n}\n.kiwi-invitelist-addmask {\n display: flex;\n}\n.kiwi-invitelist-addmask > button {\n flex-shrink: 0;\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-avatar > span {\n text-transform: uppercase;\n cursor: pointer;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n font-weight: 600;\n margin-top: 3px;\n border: 2px solid;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n\n.kiwi-avatar--image > span {\n border: none;\n\n /* box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.5); */\n}\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-nicklist-user {\n line-height: 26px;\n padding: 0 12px 0 12px;\n border-left: 4px solid;\n margin: 0 0 0 0;\n position: relative;\n box-sizing: border-box;\n transition: all 0.1s;\n cursor: pointer;\n white-space: nowrap;\n display: flex;\n align-items: center;\n}\n\n.kiwi-nicklist--avatars .kiwi-nicklist-user {\n line-height: 32px;\n padding-bottom: 6px;\n}\n\n.kiwi-nicklist-user-nick {\n font-weight: bold;\n cursor: pointer;\n flex: 1;\n}\n\n.kiwi-nicklist-messageuser {\n position: absolute;\n content: '\\f075';\n right: -1em;\n font-family: fontAwesome, sans-serif;\n line-height: 26px;\n opacity: 0;\n}\n\n.kiwi-nicklist-messageuser:hover {\n cursor: pointer;\n transition: all 0.2s;\n}\n\n.kiwi-nicklist-user:hover .kiwi-nicklist-messageuser {\n opacity: 1;\n right: 1em;\n transition: all 0.2s;\n transition-delay: 0.1s;\n}\n\n.kiwi-avatar-container {\n position: relative;\n margin-right: 10px;\n flex: 0;\n}\n\n.kiwi-avatar-container .kiwi-avatar {\n width: 30px;\n height: 30px;\n}\n\n.kiwi-avatar-container .kiwi-awaystatusindicator {\n position: absolute;\n top: 0;\n right: 0;\n margin: 0;\n}\n\n.kiwi-avatar-container-user-prefix {\n flex: 0;\n}\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* Adjust the sidebars width when this nicklist is in view */\n.kiwi-container .kiwi-sidebar.kiwi-sidebar-section-nicklist {\n max-width: 250px;\n width: 250px;\n}\n\n.kiwi-nicklist {\n overflow: hidden;\n box-sizing: border-box;\n min-height: 100px;\n margin: auto;\n width: 100%;\n //Padding bottom is needed, otherwise the scrollbar will show on the right side.\n padding-bottom: 1px;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n}\n\n.kiwi-nicklist-usercount {\n display: flex;\n justify-content: space-between;\n cursor: default;\n box-sizing: border-box;\n height: 43px;\n line-height: 40px;\n width: 100%;\n border-bottom: 1px solid;\n}\n\n.kiwi-nicklist-usercount span {\n margin-left: 15px;\n font-weight: 600;\n}\n\n.kiwi-nicklist-usercount .fa-search {\n opacity: 0.3;\n cursor: pointer;\n font-size: 1.2em;\n line-height: 40px;\n align-self: flex-start;\n margin-right: 15px;\n}\n\n.kiwi-nicklist-usercount .fa-search:hover,\n.kiwi-nicklist--filtering .kiwi-nicklist-usercount .fa-search {\n opacity: 1;\n}\n\n.kiwi-nicklist-usercount input {\n width: 0%;\n border: none;\n font-weight: normal;\n background: none;\n outline: 0;\n padding: 0 15px 0 10px;\n opacity: 0;\n box-sizing: border-box;\n flex-grow: 1;\n transition: all 0.2s;\n}\n\n.kiwi-nicklist--filtering .kiwi-nicklist-usercount input {\n opacity: 1;\n}\n\n.kiwi-nicklist-users {\n width: 100%;\n padding: 0;\n margin: 0;\n overflow-y: scroll;\n overflow-x: hidden;\n box-sizing: border-box;\n max-height: 100%;\n flex: 1 auto;\n line-height: 1.2em;\n margin-top: 6px;\n}\n\n@media screen and (max-width: 759px) {\n .kiwi-container .kiwi-sidebar.kiwi-sidebar-section-nicklist {\n width: 100%;\n max-width: 380px;\n }\n}\n\n","/* Adjust the sidebars width when this nicklist is in view */\n.kiwi-container .kiwi-sidebar.kiwi-sidebar-section-nicklist {\n max-width: 250px;\n width: 250px;\n}\n.kiwi-nicklist {\n overflow: hidden;\n box-sizing: border-box;\n min-height: 100px;\n margin: auto;\n width: 100%;\n padding-bottom: 1px;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n}\n.kiwi-nicklist-usercount {\n display: flex;\n justify-content: space-between;\n cursor: default;\n box-sizing: border-box;\n height: 43px;\n line-height: 40px;\n width: 100%;\n border-bottom: 1px solid;\n}\n.kiwi-nicklist-usercount span {\n margin-left: 15px;\n font-weight: 600;\n}\n.kiwi-nicklist-usercount .fa-search {\n opacity: 0.3;\n cursor: pointer;\n font-size: 1.2em;\n line-height: 40px;\n align-self: flex-start;\n margin-right: 15px;\n}\n.kiwi-nicklist-usercount .fa-search:hover,\n.kiwi-nicklist--filtering .kiwi-nicklist-usercount .fa-search {\n opacity: 1;\n}\n.kiwi-nicklist-usercount input {\n width: 0%;\n border: none;\n font-weight: normal;\n background: none;\n outline: 0;\n padding: 0 15px 0 10px;\n opacity: 0;\n box-sizing: border-box;\n flex-grow: 1;\n transition: all 0.2s;\n}\n.kiwi-nicklist--filtering .kiwi-nicklist-usercount input {\n opacity: 1;\n}\n.kiwi-nicklist-users {\n width: 100%;\n padding: 0;\n margin: 0;\n overflow-y: scroll;\n overflow-x: hidden;\n box-sizing: border-box;\n max-height: 100%;\n flex: 1 auto;\n line-height: 1.2em;\n margin-top: 6px;\n}\n@media screen and (max-width: 759px) {\n .kiwi-container .kiwi-sidebar.kiwi-sidebar-section-nicklist {\n width: 100%;\n max-width: 380px;\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-sidebar {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n z-index: 100;\n}\n\n.kiwi-sidebar.kiwi-sidebar-section-settings {\n width: 500px;\n max-width: 500px;\n}\n\n.kiwi-sidebar .u-form textarea {\n min-width: 100%;\n max-width: 100%;\n min-height: 80px;\n resize: vertical;\n}\n\n.kiwi-sidebar-buffersettings {\n overflow: hidden;\n height: 100%;\n}\n\n.kiwi-sidebar-buffersettings .u-tabbed-content {\n padding: 1em;\n}\n\n.kiwi-sidebar-userbox {\n overflow: hidden;\n height: 100%;\n}\n\n.kiwi-sidebar-settings {\n margin-bottom: 20px;\n}\n\n.kiwi-sidebar-settings label {\n display: block;\n}\n\n@keyframes settingstransition {\n from { margin-top: 50px; }\n to { margin-top: 100px; }\n}\n\n@keyframes nicklisttransition {\n from { height: 0; }\n to { height: 100%; }\n}\n\n.kiwi-sidebar-accesstab {\n margin-right: 1em;\n}\n\n.kiwi-sidebar-accesstab--active {\n font-weight: bold;\n}\n\n.kiwi-channelbanlist-empty {\n margin-top: 10px;\n}\n\n.kiwi-sidebar-options {\n display: none;\n}\n\n@media screen and (max-width: 769px) {\n .kiwi-sidebar-options {\n display: block;\n cursor: pointer;\n font-weight: 600;\n width: 100%;\n position: relative;\n box-sizing: border-box;\n text-transform: uppercase;\n line-height: 47px;\n vertical-align: top;\n }\n\n .kiwi-sidebar-options .kiwi-sidebar-close {\n width: 100%;\n display: block;\n padding: 0 15px;\n height: 50px;\n line-height: 50px;\n text-align: right;\n box-sizing: border-box;\n letter-spacing: 2px;\n transition: background 0.3s;\n }\n\n .kiwi-sidebar-options .kiwi-sidebar-close i {\n margin-left: 5px;\n font-size: 1.5em;\n line-height: 47px;\n position: relative;\n top: 2px;\n }\n\n .kiwi-sidebar .u-tabbed-view-tab {\n width: 100%;\n }\n\n .kiwi-sidebar .u-tabbed-view-tab.u-tabbed-view-tab--active {\n border-bottom: 3px solid #42b992;\n margin-bottom: 0;\n }\n\n .kiwi-sidebar .u-form input[type=\"checkbox\"] {\n margin-right: 4px;\n }\n\n .kiwi-sidebar .u-form label span {\n margin-right: 0;\n margin-left: 0;\n }\n\n .kiwi-container--sidebar-drawn .kiwi-sidebar {\n width: 100%;\n max-width: 100%;\n }\n\n .kiwi-sidebar-buffersettings {\n padding-bottom: 10px;\n }\n\n .kiwi-channelbanlist {\n float: left;\n width: 100%;\n }\n\n .kiwi-channelbanlist-table {\n margin-top: 30px;\n }\n\n .kiwi-channelbanlist .u-form {\n line-height: 10px;\n }\n}\n\n",".kiwi-sidebar {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n z-index: 100;\n}\n.kiwi-sidebar.kiwi-sidebar-section-settings {\n width: 500px;\n max-width: 500px;\n}\n.kiwi-sidebar .u-form textarea {\n min-width: 100%;\n max-width: 100%;\n min-height: 80px;\n resize: vertical;\n}\n.kiwi-sidebar-buffersettings {\n overflow: hidden;\n height: 100%;\n}\n.kiwi-sidebar-buffersettings .u-tabbed-content {\n padding: 1em;\n}\n.kiwi-sidebar-userbox {\n overflow: hidden;\n height: 100%;\n}\n.kiwi-sidebar-settings {\n margin-bottom: 20px;\n}\n.kiwi-sidebar-settings label {\n display: block;\n}\n@keyframes settingstransition {\n from {\n margin-top: 50px;\n }\n to {\n margin-top: 100px;\n }\n}\n@keyframes nicklisttransition {\n from {\n height: 0;\n }\n to {\n height: 100%;\n }\n}\n.kiwi-sidebar-accesstab {\n margin-right: 1em;\n}\n.kiwi-sidebar-accesstab--active {\n font-weight: bold;\n}\n.kiwi-channelbanlist-empty {\n margin-top: 10px;\n}\n.kiwi-sidebar-options {\n display: none;\n}\n@media screen and (max-width: 769px) {\n .kiwi-sidebar-options {\n display: block;\n cursor: pointer;\n font-weight: 600;\n width: 100%;\n position: relative;\n box-sizing: border-box;\n text-transform: uppercase;\n line-height: 47px;\n vertical-align: top;\n }\n .kiwi-sidebar-options .kiwi-sidebar-close {\n width: 100%;\n display: block;\n padding: 0 15px;\n height: 50px;\n line-height: 50px;\n text-align: right;\n box-sizing: border-box;\n letter-spacing: 2px;\n transition: background 0.3s;\n }\n .kiwi-sidebar-options .kiwi-sidebar-close i {\n margin-left: 5px;\n font-size: 1.5em;\n line-height: 47px;\n position: relative;\n top: 2px;\n }\n .kiwi-sidebar .u-tabbed-view-tab {\n width: 100%;\n }\n .kiwi-sidebar .u-tabbed-view-tab.u-tabbed-view-tab--active {\n border-bottom: 3px solid #42b992;\n margin-bottom: 0;\n }\n .kiwi-sidebar .u-form input[type=\"checkbox\"] {\n margin-right: 4px;\n }\n .kiwi-sidebar .u-form label span {\n margin-right: 0;\n margin-left: 0;\n }\n .kiwi-container--sidebar-drawn .kiwi-sidebar {\n width: 100%;\n max-width: 100%;\n }\n .kiwi-sidebar-buffersettings {\n padding-bottom: 10px;\n }\n .kiwi-channelbanlist {\n float: left;\n width: 100%;\n }\n .kiwi-channelbanlist-table {\n margin-top: 30px;\n }\n .kiwi-channelbanlist .u-form {\n line-height: 10px;\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-notconnected {\n box-sizing: border-box;\n padding: 5px 20px;\n transition: background-color 0.3s;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.kiwi-notconnected.connecting {\n text-align: center;\n}\n\n.kiwi-notconnected-caption {\n display: inline-block;\n width: auto;\n cursor: default;\n line-height: 50px;\n font-size: 1.2em;\n font-weight: 900;\n}\n\n.kiwi-notconnected-caption i {\n font-weight: normal;\n font-size: 1.5em;\n position: relative;\n right: -3px;\n top: 3px;\n}\n\n.kiwi-notconnected-captcha {\n display: inline-block;\n margin-left: 3em;\n}\n\n.kiwi-notconnected-buttons {\n float: right;\n width: auto;\n text-align: center;\n}\n\n.kiwi-notconnected-button {\n width: auto;\n display: inline-block;\n padding: 5px 10px;\n border-radius: 7px;\n cursor: pointer;\n border: 2px solid;\n margin: 6px 0 0 10px;\n height: 37px;\n overflow: hidden;\n box-sizing: border-box;\n transition: opacity 0.3s, color 0.3s, background-color 0.3s;\n}\n\n.kiwi-notconnected-button:hover[disabled] {\n cursor: not-allowed;\n opacity: 0.65;\n}\n\n.kiwi-notconnected-button:hover {\n opacity: 1;\n transition: all 0.2s;\n}\n\n.kiwi-notconnected-button i {\n float: left;\n font-size: 1.6em;\n line-height: 24px;\n margin-right: 5px;\n}\n\n.kiwi-notconnected-button-settings {\n opacity: 0.8;\n border: none;\n}\n\n.kiwi-notconnected-button-settings i {\n margin-right: 0;\n}\n\n@media screen and (max-width: 1024px) {\n .kiwi-notconnected-caption {\n font-size: 1em;\n width: 100%;\n text-align: center;\n }\n\n .kiwi-notconnected-buttons {\n width: 100%;\n }\n\n .kiwi-notconnected-button {\n margin: 0;\n font-size: 1em;\n padding: 0 10px;\n line-height: 33px;\n width: auto;\n box-sizing: border-box;\n }\n\n .kiwi-notconnected-button i {\n line-height: 36px;\n }\n}\n\n@media screen and (max-width: 769px) {\n .kiwi-notconnected {\n font-size: 0.8em;\n padding: 0 10px;\n }\n\n .kiwi-notconnected-caption {\n width: 100%;\n text-align: center;\n font-size: 1.3em;\n }\n\n .kiwi-notconnected-buttons {\n width: 100%;\n }\n\n .kiwi-notconnected-button {\n font-size: 1.2em;\n display: inline-block;\n }\n}\n\n",".kiwi-notconnected {\n box-sizing: border-box;\n padding: 5px 20px;\n transition: background-color 0.3s;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.kiwi-notconnected.connecting {\n text-align: center;\n}\n.kiwi-notconnected-caption {\n display: inline-block;\n width: auto;\n cursor: default;\n line-height: 50px;\n font-size: 1.2em;\n font-weight: 900;\n}\n.kiwi-notconnected-caption i {\n font-weight: normal;\n font-size: 1.5em;\n position: relative;\n right: -3px;\n top: 3px;\n}\n.kiwi-notconnected-captcha {\n display: inline-block;\n margin-left: 3em;\n}\n.kiwi-notconnected-buttons {\n float: right;\n width: auto;\n text-align: center;\n}\n.kiwi-notconnected-button {\n width: auto;\n display: inline-block;\n padding: 5px 10px;\n border-radius: 7px;\n cursor: pointer;\n border: 2px solid;\n margin: 6px 0 0 10px;\n height: 37px;\n overflow: hidden;\n box-sizing: border-box;\n transition: opacity 0.3s, color 0.3s, background-color 0.3s;\n}\n.kiwi-notconnected-button:hover[disabled] {\n cursor: not-allowed;\n opacity: 0.65;\n}\n.kiwi-notconnected-button:hover {\n opacity: 1;\n transition: all 0.2s;\n}\n.kiwi-notconnected-button i {\n float: left;\n font-size: 1.6em;\n line-height: 24px;\n margin-right: 5px;\n}\n.kiwi-notconnected-button-settings {\n opacity: 0.8;\n border: none;\n}\n.kiwi-notconnected-button-settings i {\n margin-right: 0;\n}\n@media screen and (max-width: 1024px) {\n .kiwi-notconnected-caption {\n font-size: 1em;\n width: 100%;\n text-align: center;\n }\n .kiwi-notconnected-buttons {\n width: 100%;\n }\n .kiwi-notconnected-button {\n margin: 0;\n font-size: 1em;\n padding: 0 10px;\n line-height: 33px;\n width: auto;\n box-sizing: border-box;\n }\n .kiwi-notconnected-button i {\n line-height: 36px;\n }\n}\n@media screen and (max-width: 769px) {\n .kiwi-notconnected {\n font-size: 0.8em;\n padding: 0 10px;\n }\n .kiwi-notconnected-caption {\n width: 100%;\n text-align: center;\n font-size: 1.3em;\n }\n .kiwi-notconnected-buttons {\n width: 100%;\n }\n .kiwi-notconnected-button {\n font-size: 1.2em;\n display: inline-block;\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-bufferkey {\n box-sizing: border-box;\n text-align: center;\n padding: 10% 0;\n margin: 10px 0 0 0;\n transition: background-color 0.3s;\n}\n\n.kiwi-bufferkey label {\n width: 340px;\n display: block;\n margin: 0 auto 10px auto;\n font-size: 1.2em;\n text-align: left;\n}\n\n.kiwi-bufferkey input[type=\"password\"] {\n height: 40px;\n padding: 0 10px;\n border-radius: 4px;\n color: #000;\n border: none;\n width: 320px;\n font-size: 1.2em;\n margin: 0 0 20px 0;\n}\n\n.kiwi-bufferkey-buttons {\n width: 100%;\n text-align: center;\n font-size: 1.6em;\n}\n\n.kiwi-bufferkey-buttons span:hover {\n text-decoration: underline;\n}\n\n.kiwi-bufferkey-button {\n width: auto;\n display: inline-block;\n font-size: 0.8em;\n cursor: pointer;\n transition: all 0.3s;\n border-radius: 4px;\n padding: 5px 20px;\n line-height: 40px;\n border: 1px solid;\n\n &:hover {\n transition: all 0.2s;\n }\n\n i {\n float: left;\n font-size: 1.6em;\n line-height: 40px;\n margin-right: 0.4em;\n }\n}\n\n@media screen and (max-width: 1024px) {\n .kiwi-bufferkey-button {\n clear: both;\n margin: 0 5% 1em;\n font-size: 1em;\n display: block;\n padding: 0.6em 0.8em 0.6em 0.4em;\n width: 90%;\n box-sizing: border-box;\n }\n\n .kiwi-bufferkey-button i {\n display: none;\n }\n}\n\n@media screen and (max-width: 769px) {\n .kiwi-bufferkey {\n font-size: 0.8em;\n }\n\n .kiwi-bufferkey-button {\n font-size: 0.7em;\n }\n}\n\n",".kiwi-bufferkey {\n box-sizing: border-box;\n text-align: center;\n padding: 10% 0;\n margin: 10px 0 0 0;\n transition: background-color 0.3s;\n}\n.kiwi-bufferkey label {\n width: 340px;\n display: block;\n margin: 0 auto 10px auto;\n font-size: 1.2em;\n text-align: left;\n}\n.kiwi-bufferkey input[type=\"password\"] {\n height: 40px;\n padding: 0 10px;\n border-radius: 4px;\n color: #000;\n border: none;\n width: 320px;\n font-size: 1.2em;\n margin: 0 0 20px 0;\n}\n.kiwi-bufferkey-buttons {\n width: 100%;\n text-align: center;\n font-size: 1.6em;\n}\n.kiwi-bufferkey-buttons span:hover {\n text-decoration: underline;\n}\n.kiwi-bufferkey-button {\n width: auto;\n display: inline-block;\n font-size: 0.8em;\n cursor: pointer;\n transition: all 0.3s;\n border-radius: 4px;\n padding: 5px 20px;\n line-height: 40px;\n border: 1px solid;\n}\n.kiwi-bufferkey-button:hover {\n transition: all 0.2s;\n}\n.kiwi-bufferkey-button i {\n float: left;\n font-size: 1.6em;\n line-height: 40px;\n margin-right: 0.4em;\n}\n@media screen and (max-width: 1024px) {\n .kiwi-bufferkey-button {\n clear: both;\n margin: 0 5% 1em;\n font-size: 1em;\n display: block;\n padding: 0.6em 0.8em 0.6em 0.4em;\n width: 90%;\n box-sizing: border-box;\n }\n .kiwi-bufferkey-button i {\n display: none;\n }\n}\n@media screen and (max-width: 769px) {\n .kiwi-bufferkey {\n font-size: 0.8em;\n }\n .kiwi-bufferkey-button {\n font-size: 0.7em;\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-mediaviewer {\n box-sizing: border-box;\n position: relative;\n}\n\n.kiwi-mediaviewer-controls {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n background: var(--brand-default-bg);\n border-radius: 5px;\n padding: 3px;\n opacity: 0;\n transition: opacity 0.1s;\n box-shadow: 0 1px var(--brand-input-border);\n}\n\n.kiwi-mediaviewer:hover .kiwi-mediaviewer-controls {\n opacity: 1;\n}\n\n.kiwi-mediaviewer-controls-close {\n padding: 3px 15px;\n}\n\n.kiwi-mediaviewer-iframe {\n height: 100%;\n width: 100%;\n position: absolute;\n top: 0;\n border: none;\n}\n\n.embedly-card {\n margin: 10px 0;\n display: inline-block;\n}\n\n.embedly-card-hug {\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 5px;\n background: #fff;\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-messageinfo {\n display: block;\n position: relative;\n padding: 0;\n}\n\n.kiwi-messageinfo-urls {\n margin-top: 10px;\n padding-top: 10px;\n padding-bottom: 10px;\n border-top: 1px solid;\n border-bottom: 1px solid;\n}\n\n.kiwi-messageinfo-url {\n margin-bottom: 5px;\n display: flex;\n}\n\n.kiwi-messageinfo-urls .kiwi-messageinfo-url:last-of-type {\n margin-bottom: 0;\n}\n\n.kiwi-messageinfo-actions {\n margin-top: 10px;\n overflow: hidden;\n width: 100%;\n text-align: left;\n}\n\n.kiwi-messageinfo-url .u-link {\n white-space: nowrap;\n text-overflow: ellipsis;\n display: inline-block;\n overflow: hidden;\n flex: 1;\n line-height: 30px;\n margin-left: 10px;\n padding: 5px 10px;\n text-align: center;\n border: 1px solid;\n border-radius: 3px;\n}\n\n.kiwi-messageinfo-close {\n position: absolute;\n right: 20px;\n bottom: 5px;\n font-size: 1.3em;\n cursor: pointer;\n}\n\n.kiwi-messageinfo-opbuttons {\n margin-left: 2em;\n display: inline-block;\n}\n\n.kiwi-messageinfo-actions--open .kiwi-messageinfo-opbuttons {\n margin-left: 0;\n}\n\n.kiwi-messageinfo-opbuttons .u-input-prompt a,\n.kiwi-messageinfo-reply {\n padding: 5px 10px;\n display: inline-block;\n border-radius: 4px;\n}\n\n.kiwi-messageinfo-opbuttons .u-input-prompt input {\n margin-bottom: 5px;\n}\n\n@media screen and (max-width: 490px) {\n .kiwi-messageinfo-actions {\n text-align: center;\n }\n\n .kiwi-messageinfo-opbuttons {\n margin: 0;\n }\n\n .kiwi-messageinfo-opbuttons .u-input-prompt a {\n margin-top: 10px;\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-messagelist-message--compact {\n position: relative;\n}\n\n.kiwi-messagelist-message--compact .kiwi-messagelist-message-privmsg:hover,\n.kiwi-messagelist-message--compact .kiwi-messagelist-message-action:hover,\n.kiwi-messagelist-message--compact .kiwi-messagelist-message-notice:hover, {\n cursor: pointer;\n}\n\n.kiwi-messagelist-message--compact .kiwi-messagelist-message--blur {\n opacity: 0.5;\n}\n\n.kiwi-messagelist-message--compact .kiwi-messagelist-nick {\n width: 110px;\n min-width: 110px;\n display: inline-block;\n left: 8px;\n top: -1px;\n position: absolute;\n white-space: nowrap;\n}\n\n.kiwi-messagelist-message--compact .kiwi-messagelist-nick:hover {\n width: auto;\n}\n\n.kiwi-messagelist-message--compact.kiwi-messagelist-message-nick .kiwi-messagelist-time {\n margin-right: 10px;\n opacity: 0.8;\n}\n\n.kiwi-messagelist-message--compact .kiwi-messagelist-time {\n display: inline-block;\n float: right;\n font-size: 12px;\n}\n\n.kiwi-messagelist-message--compact .kiwi-messagelist-body {\n display: block;\n white-space: pre-wrap;\n word-wrap: break-word;\n margin-left: 120px;\n}\n\n.kiwi-messagelist-message--compact .kiwi-messagelist-body a {\n word-break: break-all;\n}\n\n.kiwi-messagelist-message--compact .kiwi-messageinfo {\n padding-left: 130px;\n}\n\n//Channel traffic messages\n.kiwi-messagelist-message--compact.kiwi-messagelist-message-traffic {\n margin: 0;\n padding: 1px 0;\n}\n\n.kiwi-messagelist-message--compact.kiwi-messagelist-message-traffic .kiwi-messagelist-body {\n margin-left: 131px;\n}\n\n//Channel topic\n.kiwi-messagelist-message--compact.kiwi-messagelist-message-topic {\n border-radius: 0;\n border-left: 0;\n border-right: 0;\n margin: 1em 0;\n}\n\n.kiwi-messagelist-message--compact.kiwi-messagelist-message-topic .kiwi-messagelist-body {\n padding-right: 0;\n max-width: 95%;\n margin-left: 20px;\n}\n\n//Repeat messages, remove the time and author name\n.kiwi-messagelist-message--compact.kiwi-messagelist-message--authorrepeat {\n .kiwi-messagelist-time,\n .kiwi-messagelist-nick {\n display: none;\n }\n}\n\n// Traffic messages have an opacity lower than 1, so we do a blanket statment to make sure all\n// messages are opacity: 1, rather than just specifying one.\n.kiwi-messagelist-message--compact.kiwi-messagelist-message--unread {\n opacity: 1;\n}\n\n// Mobile layout (matches this.$state.ui.is_narrow)\n@media screen and (max-width: 769px) {\n .kiwi-messagelist-message--compact {\n padding: 5px;\n }\n\n .kiwi-messagelist-message--compact .kiwi-messagelist-nick {\n display: inline;\n width: auto;\n min-width: auto;\n float: left;\n position: static;\n padding-left: 0;\n }\n\n .kiwi-messagelist-message--compact .kiwi-messagelist-time {\n text-align: right;\n }\n\n .kiwi-messagelist-message--compact .kiwi-messagelist-body {\n float: left;\n width: 100%;\n margin-left: 0;\n box-sizing: border-box;\n }\n\n .kiwi-messagelist-message--compact.kiwi-messagelist-message--unread .kiwi-messagelist-body {\n padding-left: 10px;\n }\n\n .kiwi-messagelist-message--compact .kiwi-messagelist-message--authorrepeat .kiwi-messagelist-nick {\n display: none;\n }\n\n .kiwi-messagelist-message--compact .kiwi-messageinfo {\n padding-left: 2px;\n }\n\n .kiwi-messagelist-message--compact.kiwi-messagelist-message-traffic .kiwi-messagelist-body {\n margin-left: 0;\n }\n\n .kiwi-messagelist-message--compact.kiwi-messagelist-message-traffic {\n margin-left: 10px;\n }\n\n .kiwi-messagelist-message--compact.kiwi-messagelist-message-traffic.kiwi-messagelist-message--unread {\n margin-left: 0;\n padding-left: 10px;\n }\n}\n\n.kiwi-messagelist-message--compact .kiwi-messagelist-message-traffic .kiwi-messagelist-nick {\n display: none;\n}\n\n.kiwi-messagelist-item:last-of-type {\n margin-bottom: 5px;\n}\n\n// Moderate screen size\n// Give more space to the nickname column on larger screens\n@media screen and (min-width: 1000px) {\n // Nicknames\n .kiwi-messagelist-message--compact .kiwi-messagelist-nick {\n width: 160px;\n min-width: 160px;\n }\n\n .kiwi-messagelist-message--compact .kiwi-messagelist-nick:hover {\n width: auto;\n }\n\n // Messages\n .kiwi-messagelist-message--compact .kiwi-messagelist-body {\n margin-left: 170px;\n }\n\n .kiwi-messagelist-message--compact .kiwi-messageinfo {\n padding-left: 180px;\n }\n\n .kiwi-messagelist-message--compact.kiwi-messagelist-message-traffic .kiwi-messagelist-body {\n margin-left: 181px;\n }\n}\n\n",".kiwi-messagelist-message--compact {\n position: relative;\n}\n.kiwi-messagelist-message--compact .kiwi-messagelist-message-privmsg:hover,\n.kiwi-messagelist-message--compact .kiwi-messagelist-message-action:hover,\n.kiwi-messagelist-message--compact .kiwi-messagelist-message-notice:hover {\n cursor: pointer;\n}\n.kiwi-messagelist-message--compact .kiwi-messagelist-message--blur {\n opacity: 0.5;\n}\n.kiwi-messagelist-message--compact .kiwi-messagelist-nick {\n width: 110px;\n min-width: 110px;\n display: inline-block;\n left: 8px;\n top: -1px;\n position: absolute;\n white-space: nowrap;\n}\n.kiwi-messagelist-message--compact .kiwi-messagelist-nick:hover {\n width: auto;\n}\n.kiwi-messagelist-message--compact.kiwi-messagelist-message-nick .kiwi-messagelist-time {\n margin-right: 10px;\n opacity: 0.8;\n}\n.kiwi-messagelist-message--compact .kiwi-messagelist-time {\n display: inline-block;\n float: right;\n font-size: 12px;\n}\n.kiwi-messagelist-message--compact .kiwi-messagelist-body {\n display: block;\n white-space: pre-wrap;\n word-wrap: break-word;\n margin-left: 120px;\n}\n.kiwi-messagelist-message--compact .kiwi-messagelist-body a {\n word-break: break-all;\n}\n.kiwi-messagelist-message--compact .kiwi-messageinfo {\n padding-left: 130px;\n}\n.kiwi-messagelist-message--compact.kiwi-messagelist-message-traffic {\n margin: 0;\n padding: 1px 0;\n}\n.kiwi-messagelist-message--compact.kiwi-messagelist-message-traffic .kiwi-messagelist-body {\n margin-left: 131px;\n}\n.kiwi-messagelist-message--compact.kiwi-messagelist-message-topic {\n border-radius: 0;\n border-left: 0;\n border-right: 0;\n margin: 1em 0;\n}\n.kiwi-messagelist-message--compact.kiwi-messagelist-message-topic .kiwi-messagelist-body {\n padding-right: 0;\n max-width: 95%;\n margin-left: 20px;\n}\n.kiwi-messagelist-message--compact.kiwi-messagelist-message--authorrepeat .kiwi-messagelist-time,\n.kiwi-messagelist-message--compact.kiwi-messagelist-message--authorrepeat .kiwi-messagelist-nick {\n display: none;\n}\n.kiwi-messagelist-message--compact.kiwi-messagelist-message--unread {\n opacity: 1;\n}\n@media screen and (max-width: 769px) {\n .kiwi-messagelist-message--compact {\n padding: 5px;\n }\n .kiwi-messagelist-message--compact .kiwi-messagelist-nick {\n display: inline;\n width: auto;\n min-width: auto;\n float: left;\n position: static;\n padding-left: 0;\n }\n .kiwi-messagelist-message--compact .kiwi-messagelist-time {\n text-align: right;\n }\n .kiwi-messagelist-message--compact .kiwi-messagelist-body {\n float: left;\n width: 100%;\n margin-left: 0;\n box-sizing: border-box;\n }\n .kiwi-messagelist-message--compact.kiwi-messagelist-message--unread .kiwi-messagelist-body {\n padding-left: 10px;\n }\n .kiwi-messagelist-message--compact .kiwi-messagelist-message--authorrepeat .kiwi-messagelist-nick {\n display: none;\n }\n .kiwi-messagelist-message--compact .kiwi-messageinfo {\n padding-left: 2px;\n }\n .kiwi-messagelist-message--compact.kiwi-messagelist-message-traffic .kiwi-messagelist-body {\n margin-left: 0;\n }\n .kiwi-messagelist-message--compact.kiwi-messagelist-message-traffic {\n margin-left: 10px;\n }\n .kiwi-messagelist-message--compact.kiwi-messagelist-message-traffic.kiwi-messagelist-message--unread {\n margin-left: 0;\n padding-left: 10px;\n }\n}\n.kiwi-messagelist-message--compact .kiwi-messagelist-message-traffic .kiwi-messagelist-nick {\n display: none;\n}\n.kiwi-messagelist-item:last-of-type {\n margin-bottom: 5px;\n}\n@media screen and (min-width: 1000px) {\n .kiwi-messagelist-message--compact .kiwi-messagelist-nick {\n width: 160px;\n min-width: 160px;\n }\n .kiwi-messagelist-message--compact .kiwi-messagelist-nick:hover {\n width: auto;\n }\n .kiwi-messagelist-message--compact .kiwi-messagelist-body {\n margin-left: 170px;\n }\n .kiwi-messagelist-message--compact .kiwi-messageinfo {\n padding-left: 180px;\n }\n .kiwi-messagelist-message--compact.kiwi-messagelist-message-traffic .kiwi-messagelist-body {\n margin-left: 181px;\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-messagelist-message--modern {\n border-left: 7px solid transparent;\n display: flex;\n margin: 0 0 0 20px;\n margin-left: 0;\n transition: border-colour 0.2s, background-color 0.2s;\n}\n\n.kiwi-messagelist-modern-left {\n user-select: none;\n position: relative;\n display: flex;\n width: 50px;\n}\n\n.kiwi-messagelist-awaystatus {\n width: 10px;\n top: 4px;\n right: 2px;\n height: 10px;\n position: absolute;\n}\n\n.kiwi-messagelist-message--modern .kiwi-avatar {\n height: 40px;\n width: 40px;\n}\n\n.kiwi-messagelist-message--modern.kiwi-messagelist-message--authorfirst {\n padding-top: 10px;\n}\n\n.kiwi-messagelist-message--modern.kiwi-messagelist-message--authorrepeat {\n border-top: none;\n}\n\n.kiwi-messagelist-message--modern.kiwi-messagelist-message--authorrepeat .kiwi-messagelist-modern-right {\n padding-top: 0;\n}\n\n.kiwi-messagelist-message--modern.kiwi-messagelist-message-topic {\n margin: 20px 20px 20px 20px;\n padding: 10px 20px;\n width: auto;\n box-sizing: border-box;\n}\n\n.kiwi-messagelist-message--modern.kiwi-messagelist-message-topic .kiwi-messagelist-modern-left {\n display: none;\n}\n\n.kiwi-messagelist-message--modern.kiwi-messagelist-message--authorrepeat .kiwi-avatar {\n display: none;\n}\n\n.kiwi-messagelist-message--modern.kiwi-messagelist-message--authorrepeat .kiwi-messagelist-top {\n display: none;\n}\n\n.kiwi-messagelist-message--modern .kiwi-messagelist-body {\n white-space: pre-wrap;\n word-wrap: break-word;\n display: block;\n margin-left: 0;\n margin-bottom: 10px;\n}\n\n.kiwi-messagelist-message--modern .kiwi-messagelist-body a {\n word-break: break-all;\n}\n\n.kiwi-messagelist-message--modern .kiwi-messagelist-modern-right {\n margin-left: 5px;\n padding-top: 0;\n width: 100%;\n}\n\n.kiwi-messagelist-message--modern .kiwi-messagelist-top > div {\n margin-right: 10px;\n padding: 0;\n display: inline-block;\n}\n\n.kiwi-messagelist-message--modern .kiwi-messagelist-realname {\n cursor: pointer;\n}\n\n.kiwi-messagelist-message--modern .kiwi-messagelist-time {\n font-size: 0.8em;\n font-weight: 400;\n opacity: 0.6;\n}\n\n.kiwi-messagelist-message--modern .kiwi-messagelist-nick {\n padding: 0;\n margin-right: 10px;\n}\n\n.kiwi-messagelist-message-traffic .kiwi-messagelist-body {\n margin-bottom: 0;\n}\n\n.kiwi-messagelist-message-traffic .kiwi-messagelist-modern-left,\n.kiwi-messagelist-message-traffic .kiwi-messagelist-top {\n display: none;\n}\n\n.kiwi-messagelist-message--modern.kiwi-messagelist-message-traffic {\n margin-right: 0;\n padding-left: 60px;\n}\n\n.kiwi-messagelist-message-error {\n padding: 10px 0;\n font-weight: 600;\n line-height: normal;\n}\n\n.kiwi-messagelist-message-error .kiwi-messagelist-top {\n display: none;\n}\n\n.kiwi-messagelist-message-error .kiwi-messagelist-body {\n margin-bottom: 0;\n}\n\n@media screen and (max-width: 769px) {\n .kiwi-messagelist-message--modern .kiwi-messagelist-modern-left {\n width: 10px;\n }\n\n .kiwi-messagelist-message--modern.kiwi-messagelist-message-privmsg .kiwi-messagelist-modern-left,\n .kiwi-messagelist-message-notice .kiwi-messagelist-modern-left {\n display: none;\n }\n\n .kiwi-messagelist-message--modern .kiwi-messagelist-modern-right {\n margin-left: 0;\n }\n\n .kiwi-messagelist-message--modern {\n margin: 0;\n }\n\n .kiwi-messagelist-message-action .kiwi-messagelist-modern-left {\n display: none;\n }\n\n .kiwi-messagelist-message--modern .kiwi-avatar {\n display: none;\n }\n\n .kiwi-messagelist-message--modern.kiwi-messagelist-message-traffic {\n padding-left: 10px;\n }\n\n .kiwi-messagelist-message--modern.kiwi-messagelist-message-topic {\n margin: 0 15px 20px 15px;\n }\n}\n\n",".kiwi-messagelist-message--modern {\n border-left: 7px solid transparent;\n display: flex;\n margin: 0 0 0 20px;\n margin-left: 0;\n transition: border-colour 0.2s, background-color 0.2s;\n}\n.kiwi-messagelist-modern-left {\n user-select: none;\n position: relative;\n display: flex;\n width: 50px;\n}\n.kiwi-messagelist-awaystatus {\n width: 10px;\n top: 4px;\n right: 2px;\n height: 10px;\n position: absolute;\n}\n.kiwi-messagelist-message--modern .kiwi-avatar {\n height: 40px;\n width: 40px;\n}\n.kiwi-messagelist-message--modern.kiwi-messagelist-message--authorfirst {\n padding-top: 10px;\n}\n.kiwi-messagelist-message--modern.kiwi-messagelist-message--authorrepeat {\n border-top: none;\n}\n.kiwi-messagelist-message--modern.kiwi-messagelist-message--authorrepeat .kiwi-messagelist-modern-right {\n padding-top: 0;\n}\n.kiwi-messagelist-message--modern.kiwi-messagelist-message-topic {\n margin: 20px 20px 20px 20px;\n padding: 10px 20px;\n width: auto;\n box-sizing: border-box;\n}\n.kiwi-messagelist-message--modern.kiwi-messagelist-message-topic .kiwi-messagelist-modern-left {\n display: none;\n}\n.kiwi-messagelist-message--modern.kiwi-messagelist-message--authorrepeat .kiwi-avatar {\n display: none;\n}\n.kiwi-messagelist-message--modern.kiwi-messagelist-message--authorrepeat .kiwi-messagelist-top {\n display: none;\n}\n.kiwi-messagelist-message--modern .kiwi-messagelist-body {\n white-space: pre-wrap;\n word-wrap: break-word;\n display: block;\n margin-left: 0;\n margin-bottom: 10px;\n}\n.kiwi-messagelist-message--modern .kiwi-messagelist-body a {\n word-break: break-all;\n}\n.kiwi-messagelist-message--modern .kiwi-messagelist-modern-right {\n margin-left: 5px;\n padding-top: 0;\n width: 100%;\n}\n.kiwi-messagelist-message--modern .kiwi-messagelist-top > div {\n margin-right: 10px;\n padding: 0;\n display: inline-block;\n}\n.kiwi-messagelist-message--modern .kiwi-messagelist-realname {\n cursor: pointer;\n}\n.kiwi-messagelist-message--modern .kiwi-messagelist-time {\n font-size: 0.8em;\n font-weight: 400;\n opacity: 0.6;\n}\n.kiwi-messagelist-message--modern .kiwi-messagelist-nick {\n padding: 0;\n margin-right: 10px;\n}\n.kiwi-messagelist-message-traffic .kiwi-messagelist-body {\n margin-bottom: 0;\n}\n.kiwi-messagelist-message-traffic .kiwi-messagelist-modern-left,\n.kiwi-messagelist-message-traffic .kiwi-messagelist-top {\n display: none;\n}\n.kiwi-messagelist-message--modern.kiwi-messagelist-message-traffic {\n margin-right: 0;\n padding-left: 60px;\n}\n.kiwi-messagelist-message-error {\n padding: 10px 0;\n font-weight: 600;\n line-height: normal;\n}\n.kiwi-messagelist-message-error .kiwi-messagelist-top {\n display: none;\n}\n.kiwi-messagelist-message-error .kiwi-messagelist-body {\n margin-bottom: 0;\n}\n@media screen and (max-width: 769px) {\n .kiwi-messagelist-message--modern .kiwi-messagelist-modern-left {\n width: 10px;\n }\n .kiwi-messagelist-message--modern.kiwi-messagelist-message-privmsg .kiwi-messagelist-modern-left,\n .kiwi-messagelist-message-notice .kiwi-messagelist-modern-left {\n display: none;\n }\n .kiwi-messagelist-message--modern .kiwi-messagelist-modern-right {\n margin-left: 0;\n }\n .kiwi-messagelist-message--modern {\n margin: 0;\n }\n .kiwi-messagelist-message-action .kiwi-messagelist-modern-left {\n display: none;\n }\n .kiwi-messagelist-message--modern .kiwi-avatar {\n display: none;\n }\n .kiwi-messagelist-message--modern.kiwi-messagelist-message-traffic {\n padding-left: 10px;\n }\n .kiwi-messagelist-message--modern.kiwi-messagelist-message-topic {\n margin: 0 15px 20px 15px;\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-messagelist-message--text {\n position: relative;\n padding: 4px 10px;\n margin: 0;\n text-align: left;\n}\n\n//Hide the timestamp unless the user hovers over the message in question\n.kiwi-messagelist-message--text .kiwi-messagelist-time {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0 10px;\n display: none;\n opacity: 0.8;\n}\n\n//display timestamp when hovering over the message\n.kiwi-messagelist-message--text:hover .kiwi-messagelist-time {\n display: block;\n border-radius: 5px 0 0 5px;\n}\n\n// Hide the unread message seperator\n.kiwi-messagelist-message--text .kiwi-messagelist-seperator {\n display: none;\n}\n\n.kiwi-messagelist-message--text .kiwi-messagelist-nick {\n display: inline;\n text-align: left;\n margin-right: 2px;\n padding: 0;\n}\n\n.kiwi-messagelist-message--text .kiwi-messagelist-nick:hover {\n max-width: none;\n width: auto;\n}\n\n.kiwi-messagelist-message--text .kiwi-messagelist-body {\n display: inline;\n padding: 0;\n white-space: pre-wrap;\n}\n\n.kiwi-messagelist-message--text .kiwi-messagelist-body a {\n word-break: break-all;\n}\n\n.kiwi-messagelist-message--text .kiwi-messagelist-message-privmsg:hover,\n.kiwi-messagelist-message--text .kiwi-messagelist-message-action:hover,\n.kiwi-messagelist-message--text .kiwi-messagelist-message-notice:hover {\n cursor: pointer;\n}\n\n//Channel topic\n.kiwi-messagelist-message--text.kiwi-messagelist-message-topic {\n border-radius: 0;\n border-left: 0;\n border-right: 0;\n margin: 10px 0;\n}\n\n.kiwi-messagelist-message--text.kiwi-messagelist-message-topic .kiwi-messagelist-body {\n padding-right: 0;\n max-width: 95%;\n margin-left: 20px;\n}\n\n.kiwi-messagelist-message--text.kiwi-messagelist-message--unread {\n opacity: 1;\n}\n\n.kiwi-messagelist-message--text .kiwi-messagelist-message-traffic .kiwi-messagelist-nick {\n display: none;\n}\n\n.kiwi-messagelist-item:last-of-type {\n margin-bottom: 5px;\n}\n\n.kiwi-messagelist-message--text.kiwi-messagelist-message-nick .kiwi-messagelist-nick {\n display: none;\n}\n\n@media screen and (max-width: 700px) {\n .kiwi-messagelist-message--text.kiwi-messagelist-message-traffic,\n .kiwi-messagelist-message--text.kiwi-messagelist-message-nick .kiwi-messagelist-body,\n .kiwi-messagelist-message--text .kiwi-messagelist-body {\n padding-right: 0;\n }\n}\n\n",".kiwi-messagelist-message--text {\n position: relative;\n padding: 4px 10px;\n margin: 0;\n text-align: left;\n}\n.kiwi-messagelist-message--text .kiwi-messagelist-time {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0 10px;\n display: none;\n opacity: 0.8;\n}\n.kiwi-messagelist-message--text:hover .kiwi-messagelist-time {\n display: block;\n border-radius: 5px 0 0 5px;\n}\n.kiwi-messagelist-message--text .kiwi-messagelist-seperator {\n display: none;\n}\n.kiwi-messagelist-message--text .kiwi-messagelist-nick {\n display: inline;\n text-align: left;\n margin-right: 2px;\n padding: 0;\n}\n.kiwi-messagelist-message--text .kiwi-messagelist-nick:hover {\n max-width: none;\n width: auto;\n}\n.kiwi-messagelist-message--text .kiwi-messagelist-body {\n display: inline;\n padding: 0;\n white-space: pre-wrap;\n}\n.kiwi-messagelist-message--text .kiwi-messagelist-body a {\n word-break: break-all;\n}\n.kiwi-messagelist-message--text .kiwi-messagelist-message-privmsg:hover,\n.kiwi-messagelist-message--text .kiwi-messagelist-message-action:hover,\n.kiwi-messagelist-message--text .kiwi-messagelist-message-notice:hover {\n cursor: pointer;\n}\n.kiwi-messagelist-message--text.kiwi-messagelist-message-topic {\n border-radius: 0;\n border-left: 0;\n border-right: 0;\n margin: 10px 0;\n}\n.kiwi-messagelist-message--text.kiwi-messagelist-message-topic .kiwi-messagelist-body {\n padding-right: 0;\n max-width: 95%;\n margin-left: 20px;\n}\n.kiwi-messagelist-message--text.kiwi-messagelist-message--unread {\n opacity: 1;\n}\n.kiwi-messagelist-message--text .kiwi-messagelist-message-traffic .kiwi-messagelist-nick {\n display: none;\n}\n.kiwi-messagelist-item:last-of-type {\n margin-bottom: 5px;\n}\n.kiwi-messagelist-message--text.kiwi-messagelist-message-nick .kiwi-messagelist-nick {\n display: none;\n}\n@media screen and (max-width: 700px) {\n .kiwi-messagelist-message--text.kiwi-messagelist-message-traffic,\n .kiwi-messagelist-message--text.kiwi-messagelist-message-nick .kiwi-messagelist-body,\n .kiwi-messagelist-message--text .kiwi-messagelist-body {\n padding-right: 0;\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-loading-logo {\n display: none;\n}\n\n.kiwi-loading-animation {\n height: 100%;\n width: 100%;\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-unselectable * {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\ndiv.kiwi-messagelist-item.kiwi-messagelist-item--selected {\n border-left: 7px solid var(--brand-primary);\n transform: translateX(20px);\n transition: transform 0.1s;\n}\n\ndiv.kiwi-messagelist-item.kiwi-messagelist-item--selected .kiwi-messagelist-message {\n border-left-width: 0;\n}\n\n.kiwi-messagelist-item.kiwi-messagelist-item--selected .kiwi-messagelist-message *::selection {\n background-color: unset;\n color: unset;\n}\n\n.kiwi-unselectable .kiwi-messagelist-scrollback {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.kiwi-messagelist {\n overflow-y: auto;\n overflow-x: hidden;\n box-sizing: border-box;\n margin-bottom: 25px;\n position: relative;\n}\n\n.kiwi-messagelist--smoothscroll {\n scroll-behavior: smooth;\n}\n\n.kiwi-messagelist * {\n user-select: text;\n}\n\n.kiwi-messagelist::-webkit-scrollbar-track {\n border-radius: 10px;\n background: transparent;\n}\n\n.kiwi-messagelist::-webkit-scrollbar {\n width: 8px;\n background: transparent;\n}\n\n.kiwi-messagelist::-webkit-scrollbar-thumb {\n border-radius: 3px;\n}\n\n.kiwi-messagelist-item {\n /* Allow child elements to make use of margins+padding within messagelist items */\n overflow: hidden;\n}\n\n.kiwi-messagelist-message {\n padding: 0 10px;\n\n /* some message highlights add a left border so add a default invisble one in preperation */\n border-left: 3px solid transparent;\n overflow: hidden;\n line-height: 1.5em;\n margin: 0;\n}\n\n.kiwi-wrap--monospace .kiwi-messagelist-message {\n font-family: Consolas, monaco, monospace;\n font-size: 80%;\n}\n\n/* Remove the styling for none user messages, as they make the page look bloated */\n.kiwi-messagelist-message-mode,\n.kiwi-messagelist-message-traffic {\n padding-top: 5px;\n padding-bottom: 5px;\n min-height: 0;\n line-height: normal;\n text-align: left;\n}\n\n/* Remove the min height from the message, as again, makes the page look bloated */\n.kiwi-messagelist-body {\n min-height: 0;\n text-align: left;\n line-height: 1.5em;\n font-size: 1.05em;\n margin: 0;\n padding: 0;\n}\n\n/* Channel messages - e.g 'server on #testing22 ' message and such */\n.kiwi-messagelist-message-mode,\n.kiwi-messagelist-message-traffic,\n.kiwi-messagelist-message-nick {\n margin: 10px 0;\n opacity: 0.85;\n text-align: center;\n border: none;\n\n &:hover {\n opacity: 1;\n }\n}\n\n/* Absolute position the time on these messages so it's not above the message, it looks awful */\n.kiwi-messagelist-message-mode .kiwi-messagelist-time,\n.kiwi-messagelist-message-traffic .kiwi-messagelist-time {\n position: absolute;\n top: 1px;\n right: 10px;\n}\n\n.kiwi-messagelist-message--authorrepeat {\n border-top: none;\n}\n\n.kiwi-messagelist-message--authorrepeat .kiwi-messagelist-nick,\n.kiwi-messagelist-message--authorrepeat .kiwi-messagelist-time {\n /* Setting the opacity instead visible:none ensures it's still selectable when copying text */\n opacity: 0;\n cursor: default;\n}\n\n.kiwi-container--sidebar-drawn .kiwi-messagelist::after {\n content: '';\n z-index: 3;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n opacity: 0.5;\n position: fixed;\n pointer-events: none;\n}\n\n.kiwi-container--sidebar-drawn.kiwi-container--no-sidebar .kiwi-messagelist::after {\n width: 0;\n height: 0;\n display: none;\n pointer-events: inherit;\n position: static;\n z-index: 0;\n}\n\n.kiwi-messagelist-scrollback {\n text-align: center;\n padding: 5px;\n}\n\n.kiwi-messagelist-seperator + .kiwi-messagelist-message {\n border-top: none;\n}\n\n.kiwi-messagelist-message--blur {\n opacity: 0.3;\n}\n\n.kiwi-messagelist-nick {\n text-align: right;\n font-weight: bold;\n text-overflow: ellipsis;\n overflow: hidden;\n vertical-align: top;\n cursor: pointer;\n padding: 2px 4px;\n word-break: break-all;\n}\n\n.kiwi-messagelist-message-traffic .kiwi-messagelist-nick {\n display: none;\n}\n\n.kiwi-messagelist-seperator {\n text-align: center;\n display: block;\n margin: 1em auto;\n position: sticky;\n top: -1px;\n z-index: 1;\n}\n\n.kiwi-messagelist-seperator > span {\n display: inline-block;\n position: relative;\n z-index: 1;\n padding: 0 1em;\n user-select: none;\n}\n\n/** Displaying an emoji in a message */\n.kiwi-messagelist-emoji {\n width: 1.3em;\n display: inline-block;\n vertical-align: middle;\n}\n\n@keyframes emojiIn {\n 0% {\n transform: scale(0);\n }\n\n 100% {\n transform: scale(1);\n }\n}\n\n.kiwi-messagelist-emoji--single {\n animation: 0.1s ease-in-out 0s 1 emojiIn;\n font-size: 2em;\n}\n\n/** Message structure */\n.kiwi-messagelist-body .kiwi-nick {\n cursor: pointer;\n}\n\n.kiwi-messagelist-nick:hover {\n overflow: visible;\n width: auto;\n}\n\n/* Topic changes */\n.kiwi-messagelist-message-topic {\n border-radius: 5px;\n margin: 18px;\n margin-left: 0;\n padding: 5px;\n text-align: center;\n position: relative;\n min-height: 0;\n display: block;\n}\n\n.kiwi-messagelist-message-topic .kiwi-messagelist-body {\n min-height: 0;\n margin: 0;\n\n &::before {\n display: none;\n }\n}\n\n.kiwi-messagelist-message-topic.kiwi-messagelist-message-topic .kiwi-messagelist-time {\n display: none;\n}\n\n.kiwi-messagelist-message-topic.kiwi-messagelist-message-topic .kiwi-messagelist-nick {\n display: none;\n}\n\n/* Actions */\n.kiwi-messagelist-message-action .kiwi-messagelist-message-body {\n font-style: italic;\n}\n\n/* Traffic (joins, parts, quits, kicks) */\n.kiwi-messagelist-message-traffic.kiwi-messagelist-message-traffic .kiwi-messagelist-nick {\n display: none;\n}\n\n.kiwi-messagelist-message-traffic .kiwi-messagelist-body {\n font-style: italic;\n}\n\n.kiwi-messagelist-message-action.kiwi-messagelist-message-action .kiwi-messagelist-nick {\n display: none;\n}\n\n/* MOTD */\n.kiwi-messagelist-message-motd {\n font-family: monospace;\n}\n\n.kiwi-messagelist-message.kiwi-messagelist-message--hover,\n.kiwi-messagelist-message.kiwi-messagelist-message--highlight,\n.kiwi-messagelist-message.kiwi-messagelist-message-traffic--hover {\n position: relative;\n}\n\n/* Links */\n.kiwi-messagelist-message-linkhandle {\n margin-left: 4px;\n font-size: 0.8em;\n}\n\n.kiwi-wrap--touch .kiwi-messagelist-message-linkhandle {\n display: none;\n}\n\n.kiwi-messagelist-joinloader {\n margin: 1em auto;\n width: 100px;\n\n /* the magic number below is the exact ratio of the kiwi logo height/width */\n height: calc (100px * 0.85987261146496815286624203821656);\n overflow: hidden;\n}\n\n.kiwi-messagelist-joinloadertrans-enter,\n.kiwi-messagelist-joinloadertrans-leave-to {\n height: 0;\n opacity: 0;\n}\n\n.kiwi-messagelist-joinloadertrans-enter-to,\n.kiwi-messagelist-joinloadertrans-leave {\n height: 150px;\n opacity: 1;\n}\n\n.kiwi-messagelist-joinloadertrans-enter-active,\n.kiwi-messagelist-joinloadertrans-leave-active {\n transition: height 0.5s, opacity 0.5s;\n}\n\n@media screen and (max-width: 700px) {\n .kiwi-messagelist-message,\n .kiwi-messageinfo {\n margin: 0;\n }\n}\n\n",".kiwi-unselectable * {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\ndiv.kiwi-messagelist-item.kiwi-messagelist-item--selected {\n border-left: 7px solid var(--brand-primary);\n transform: translateX(20px);\n transition: transform 0.1s;\n}\ndiv.kiwi-messagelist-item.kiwi-messagelist-item--selected .kiwi-messagelist-message {\n border-left-width: 0;\n}\n.kiwi-messagelist-item.kiwi-messagelist-item--selected .kiwi-messagelist-message *::selection {\n background-color: unset;\n color: unset;\n}\n.kiwi-unselectable .kiwi-messagelist-scrollback {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.kiwi-messagelist {\n overflow-y: auto;\n overflow-x: hidden;\n box-sizing: border-box;\n margin-bottom: 25px;\n position: relative;\n}\n.kiwi-messagelist--smoothscroll {\n scroll-behavior: smooth;\n}\n.kiwi-messagelist * {\n user-select: text;\n}\n.kiwi-messagelist::-webkit-scrollbar-track {\n border-radius: 10px;\n background: transparent;\n}\n.kiwi-messagelist::-webkit-scrollbar {\n width: 8px;\n background: transparent;\n}\n.kiwi-messagelist::-webkit-scrollbar-thumb {\n border-radius: 3px;\n}\n.kiwi-messagelist-item {\n /* Allow child elements to make use of margins+padding within messagelist items */\n overflow: hidden;\n}\n.kiwi-messagelist-message {\n padding: 0 10px;\n /* some message highlights add a left border so add a default invisble one in preperation */\n border-left: 3px solid transparent;\n overflow: hidden;\n line-height: 1.5em;\n margin: 0;\n}\n.kiwi-wrap--monospace .kiwi-messagelist-message {\n font-family: Consolas, monaco, monospace;\n font-size: 80%;\n}\n/* Remove the styling for none user messages, as they make the page look bloated */\n.kiwi-messagelist-message-mode,\n.kiwi-messagelist-message-traffic {\n padding-top: 5px;\n padding-bottom: 5px;\n min-height: 0;\n line-height: normal;\n text-align: left;\n}\n/* Remove the min height from the message, as again, makes the page look bloated */\n.kiwi-messagelist-body {\n min-height: 0;\n text-align: left;\n line-height: 1.5em;\n font-size: 1.05em;\n margin: 0;\n padding: 0;\n}\n/* Channel messages - e.g 'server on #testing22 ' message and such */\n.kiwi-messagelist-message-mode,\n.kiwi-messagelist-message-traffic,\n.kiwi-messagelist-message-nick {\n margin: 10px 0;\n opacity: 0.85;\n text-align: center;\n border: none;\n}\n.kiwi-messagelist-message-mode:hover,\n.kiwi-messagelist-message-traffic:hover,\n.kiwi-messagelist-message-nick:hover {\n opacity: 1;\n}\n/* Absolute position the time on these messages so it's not above the message, it looks awful */\n.kiwi-messagelist-message-mode .kiwi-messagelist-time,\n.kiwi-messagelist-message-traffic .kiwi-messagelist-time {\n position: absolute;\n top: 1px;\n right: 10px;\n}\n.kiwi-messagelist-message--authorrepeat {\n border-top: none;\n}\n.kiwi-messagelist-message--authorrepeat .kiwi-messagelist-nick,\n.kiwi-messagelist-message--authorrepeat .kiwi-messagelist-time {\n /* Setting the opacity instead visible:none ensures it's still selectable when copying text */\n opacity: 0;\n cursor: default;\n}\n.kiwi-container--sidebar-drawn .kiwi-messagelist::after {\n content: '';\n z-index: 3;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n opacity: 0.5;\n position: fixed;\n pointer-events: none;\n}\n.kiwi-container--sidebar-drawn.kiwi-container--no-sidebar .kiwi-messagelist::after {\n width: 0;\n height: 0;\n display: none;\n pointer-events: inherit;\n position: static;\n z-index: 0;\n}\n.kiwi-messagelist-scrollback {\n text-align: center;\n padding: 5px;\n}\n.kiwi-messagelist-seperator + .kiwi-messagelist-message {\n border-top: none;\n}\n.kiwi-messagelist-message--blur {\n opacity: 0.3;\n}\n.kiwi-messagelist-nick {\n text-align: right;\n font-weight: bold;\n text-overflow: ellipsis;\n overflow: hidden;\n vertical-align: top;\n cursor: pointer;\n padding: 2px 4px;\n word-break: break-all;\n}\n.kiwi-messagelist-message-traffic .kiwi-messagelist-nick {\n display: none;\n}\n.kiwi-messagelist-seperator {\n text-align: center;\n display: block;\n margin: 1em auto;\n position: sticky;\n top: -1px;\n z-index: 1;\n}\n.kiwi-messagelist-seperator > span {\n display: inline-block;\n position: relative;\n z-index: 1;\n padding: 0 1em;\n user-select: none;\n}\n/** Displaying an emoji in a message */\n.kiwi-messagelist-emoji {\n width: 1.3em;\n display: inline-block;\n vertical-align: middle;\n}\n@keyframes emojiIn {\n 0% {\n transform: scale(0);\n }\n 100% {\n transform: scale(1);\n }\n}\n.kiwi-messagelist-emoji--single {\n animation: 0.1s ease-in-out 0s 1 emojiIn;\n font-size: 2em;\n}\n/** Message structure */\n.kiwi-messagelist-body .kiwi-nick {\n cursor: pointer;\n}\n.kiwi-messagelist-nick:hover {\n overflow: visible;\n width: auto;\n}\n/* Topic changes */\n.kiwi-messagelist-message-topic {\n border-radius: 5px;\n margin: 18px;\n margin-left: 0;\n padding: 5px;\n text-align: center;\n position: relative;\n min-height: 0;\n display: block;\n}\n.kiwi-messagelist-message-topic .kiwi-messagelist-body {\n min-height: 0;\n margin: 0;\n}\n.kiwi-messagelist-message-topic .kiwi-messagelist-body::before {\n display: none;\n}\n.kiwi-messagelist-message-topic.kiwi-messagelist-message-topic .kiwi-messagelist-time {\n display: none;\n}\n.kiwi-messagelist-message-topic.kiwi-messagelist-message-topic .kiwi-messagelist-nick {\n display: none;\n}\n/* Actions */\n.kiwi-messagelist-message-action .kiwi-messagelist-message-body {\n font-style: italic;\n}\n/* Traffic (joins, parts, quits, kicks) */\n.kiwi-messagelist-message-traffic.kiwi-messagelist-message-traffic .kiwi-messagelist-nick {\n display: none;\n}\n.kiwi-messagelist-message-traffic .kiwi-messagelist-body {\n font-style: italic;\n}\n.kiwi-messagelist-message-action.kiwi-messagelist-message-action .kiwi-messagelist-nick {\n display: none;\n}\n/* MOTD */\n.kiwi-messagelist-message-motd {\n font-family: monospace;\n}\n.kiwi-messagelist-message.kiwi-messagelist-message--hover,\n.kiwi-messagelist-message.kiwi-messagelist-message--highlight,\n.kiwi-messagelist-message.kiwi-messagelist-message-traffic--hover {\n position: relative;\n}\n/* Links */\n.kiwi-messagelist-message-linkhandle {\n margin-left: 4px;\n font-size: 0.8em;\n}\n.kiwi-wrap--touch .kiwi-messagelist-message-linkhandle {\n display: none;\n}\n.kiwi-messagelist-joinloader {\n margin: 1em auto;\n width: 100px;\n /* the magic number below is the exact ratio of the kiwi logo height/width */\n height: calc 85.98726115px;\n overflow: hidden;\n}\n.kiwi-messagelist-joinloadertrans-enter,\n.kiwi-messagelist-joinloadertrans-leave-to {\n height: 0;\n opacity: 0;\n}\n.kiwi-messagelist-joinloadertrans-enter-to,\n.kiwi-messagelist-joinloadertrans-leave {\n height: 150px;\n opacity: 1;\n}\n.kiwi-messagelist-joinloadertrans-enter-active,\n.kiwi-messagelist-joinloadertrans-leave-active {\n transition: height 0.5s, opacity 0.5s;\n}\n@media screen and (max-width: 700px) {\n .kiwi-messagelist-message,\n .kiwi-messageinfo {\n margin: 0;\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-serverselector-presets {\n margin-bottom: 1em;\n}\n\n.kiwi-serverselector-presets label span {\n margin-left: 0;\n transition: opacity 0.2s, width 0.2s;\n}\n\n.kiwi-serverselector--custom .kiwi-serverselector-presets label span {\n max-width: 0;\n opacity: 0;\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-networksettings {\n box-sizing: border-box;\n height: 100%;\n margin: 0 auto;\n padding: 0;\n}\n\n.kiwi-networksettings .kiwi-title {\n width: 100%;\n line-height: 45px;\n height: 46px;\n padding: 0 10px;\n box-sizing: border-box;\n text-align: left;\n font-weight: 600;\n cursor: default;\n}\n\n.kiwi-networksettings .u-form {\n max-width: 400px;\n display: block;\n margin: 1em auto;\n padding: 0;\n height: auto;\n overflow: hidden;\n clear: both;\n border-radius: 2px;\n border: 1px solid;\n}\n\n.kiwi-networksettings .u-input-text {\n padding-top: 0;\n margin-bottom: 20px;\n}\n\n//The 'Sections' of the form\n.kiwi-networksettings-section-block {\n box-sizing: border-box;\n width: 100%;\n padding: 20px;\n}\n\n.kiwi-networksettings-captcha {\n margin-bottom: 1em;\n}\n\n//Style the 'secrue/unsecure' port icon\n.kiwi-networksettings .kiwi-customserver-tls {\n text-align: center;\n cursor: pointer;\n font-size: 1em;\n}\n\n.kiwi-networksettings .kiwi-customserver-tls i {\n left: 3px;\n top: 2px;\n font-size: 1.3em;\n}\n\n//Style the network types section\n.kiwi-networksettings .kiwi-networksettings-server-types-info {\n width: 100%;\n text-align: left;\n margin-bottom: 10px;\n}\n\n.kiwi-networksettings .kiwi-networksettings-server-types {\n text-align: center;\n}\n\n.kiwi-networksettings .kiwi-networksettings-server-types .kiwi-network-type-button {\n margin: 0 10px 0 10px;\n display: inline-block;\n line-height: 35px;\n padding: 0 10px;\n border: 1px solid;\n transition: all 0.3s;\n border-radius: 4px;\n}\n\n.kiwi-networksettings .kiwi-show-advanced-title {\n text-align: center;\n cursor: pointer;\n padding-top: 0;\n margin: 40px 0 20px 0;\n}\n\n//Apply spacing to the advanced options checkbox label\n.kiwi-networksettings .kiwi-networksettings-advanced .kiwi-appsettings-showraw-label {\n margin-left: 5px;\n}\n\n//Large connection button\n.kiwi-networksettings .kiwi-connect-to-newnetwork {\n width: auto;\n margin: -10px auto 0 auto;\n border-radius: 3px;\n display: block;\n cursor: pointer;\n padding: 0 10px;\n line-height: 35px;\n}\n\n.kiwi-networksettings .kiwi-connect-to-newnetwork:hover {\n opacity: 1;\n}\n\n.kiwi-networksettings-advanced {\n margin-bottom: 20px;\n}\n\n//Danger zone - bottom section\n.kiwi-dangerzone {\n text-align: center;\n padding: 10px 0 20px 0;\n border-top: 1px solid rgba(0, 0, 0, 0.2);\n}\n\n.kiwi-dangerzone i {\n margin-right: 5px;\n}\n\n.kiwi-dangerzone h3 {\n padding-top: 0;\n}\n\n.kiwi-networksettings-error {\n text-align: center;\n margin: 1em 0 2em 0;\n padding: 1em;\n border: 1px dashed;\n}\n\n.kiwi-networksettings .kiwi-networksettings-error span {\n display: block;\n font-style: italic;\n text-align: center;\n}\n\n.kiwi-networksettings-server-types a {\n margin-right: 1em;\n}\n\n.kiwi-networksettings-server-types-info {\n font-size: 0.9em;\n font-style: italic;\n}\n\n.kiwi-networksettings-connection-address {\n width: 70%;\n display: inline-block;\n}\n\n.kiwi-networksettings-connection-port {\n width: 25%;\n float: right;\n}\n\n.kiwi-networksettings-danger h3 {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0.5em;\n}\n\n.kiwi-networksettings-danger .u-button-warning {\n width: auto;\n height: 30px;\n border-radius: 4px;\n text-align: center;\n line-height: 30px;\n padding: 0 10px;\n opacity: 0.8;\n margin: 0 auto;\n transition: all 0.3s;\n}\n\n.kiwi-networksettings-danger .u-button-warning:hover {\n opacity: 1;\n}\n\n@media screen and (max-width: 769px) {\n .kiwi-networksettings {\n z-index: 100;\n }\n}\n",".kiwi-networksettings {\n box-sizing: border-box;\n height: 100%;\n margin: 0 auto;\n padding: 0;\n}\n.kiwi-networksettings .kiwi-title {\n width: 100%;\n line-height: 45px;\n height: 46px;\n padding: 0 10px;\n box-sizing: border-box;\n text-align: left;\n font-weight: 600;\n cursor: default;\n}\n.kiwi-networksettings .u-form {\n max-width: 400px;\n display: block;\n margin: 1em auto;\n padding: 0;\n height: auto;\n overflow: hidden;\n clear: both;\n border-radius: 2px;\n border: 1px solid;\n}\n.kiwi-networksettings .u-input-text {\n padding-top: 0;\n margin-bottom: 20px;\n}\n.kiwi-networksettings-section-block {\n box-sizing: border-box;\n width: 100%;\n padding: 20px;\n}\n.kiwi-networksettings-captcha {\n margin-bottom: 1em;\n}\n.kiwi-networksettings .kiwi-customserver-tls {\n text-align: center;\n cursor: pointer;\n font-size: 1em;\n}\n.kiwi-networksettings .kiwi-customserver-tls i {\n left: 3px;\n top: 2px;\n font-size: 1.3em;\n}\n.kiwi-networksettings .kiwi-networksettings-server-types-info {\n width: 100%;\n text-align: left;\n margin-bottom: 10px;\n}\n.kiwi-networksettings .kiwi-networksettings-server-types {\n text-align: center;\n}\n.kiwi-networksettings .kiwi-networksettings-server-types .kiwi-network-type-button {\n margin: 0 10px 0 10px;\n display: inline-block;\n line-height: 35px;\n padding: 0 10px;\n border: 1px solid;\n transition: all 0.3s;\n border-radius: 4px;\n}\n.kiwi-networksettings .kiwi-show-advanced-title {\n text-align: center;\n cursor: pointer;\n padding-top: 0;\n margin: 40px 0 20px 0;\n}\n.kiwi-networksettings .kiwi-networksettings-advanced .kiwi-appsettings-showraw-label {\n margin-left: 5px;\n}\n.kiwi-networksettings .kiwi-connect-to-newnetwork {\n width: auto;\n margin: -10px auto 0 auto;\n border-radius: 3px;\n display: block;\n cursor: pointer;\n padding: 0 10px;\n line-height: 35px;\n}\n.kiwi-networksettings .kiwi-connect-to-newnetwork:hover {\n opacity: 1;\n}\n.kiwi-networksettings-advanced {\n margin-bottom: 20px;\n}\n.kiwi-dangerzone {\n text-align: center;\n padding: 10px 0 20px 0;\n border-top: 1px solid rgba(0, 0, 0, 0.2);\n}\n.kiwi-dangerzone i {\n margin-right: 5px;\n}\n.kiwi-dangerzone h3 {\n padding-top: 0;\n}\n.kiwi-networksettings-error {\n text-align: center;\n margin: 1em 0 2em 0;\n padding: 1em;\n border: 1px dashed;\n}\n.kiwi-networksettings .kiwi-networksettings-error span {\n display: block;\n font-style: italic;\n text-align: center;\n}\n.kiwi-networksettings-server-types a {\n margin-right: 1em;\n}\n.kiwi-networksettings-server-types-info {\n font-size: 0.9em;\n font-style: italic;\n}\n.kiwi-networksettings-connection-address {\n width: 70%;\n display: inline-block;\n}\n.kiwi-networksettings-connection-port {\n width: 25%;\n float: right;\n}\n.kiwi-networksettings-danger h3 {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0.5em;\n}\n.kiwi-networksettings-danger .u-button-warning {\n width: auto;\n height: 30px;\n border-radius: 4px;\n text-align: center;\n line-height: 30px;\n padding: 0 10px;\n opacity: 0.8;\n margin: 0 auto;\n transition: all 0.3s;\n}\n.kiwi-networksettings-danger .u-button-warning:hover {\n opacity: 1;\n}\n@media screen and (max-width: 769px) {\n .kiwi-networksettings {\n z-index: 100;\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-channellist {\n box-sizing: border-box;\n text-align: center;\n transition: all 0.6s;\n}\n\n.kiwi-channellist-padding-top {\n padding-top: calc(45vh - 80px);\n}\n\n.kiwi-channellist-padding-top .kiwi-channellist-nav {\n width: 100%;\n text-align: center;\n}\n\n.kiwi-channellist-nav {\n padding: 10px 20px;\n box-sizing: border-box;\n}\n\n/* Input form styling */\n.kiwi-channellist-nav .u-form {\n display: flex;\n justify-content: center;\n}\n\n.kiwi-channellist-nav .u-form .u-input {\n width: 324px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.kiwi-channellist-nav .u-form .u-button-primary,\n.kiwi-channellist-nav .u-form .u-button-secondary {\n font-size: 1.3em;\n border-radius: 0 5px 5px 0;\n border: none;\n display: flex;\n align-items: center;\n}\n\n.kiwi-channellist-nav .u-form .u-button-primary i,\n.kiwi-channellist-nav .u-form .u-button-secondary i {\n margin-left: -2px;\n}\n\n.kiwi-channellist-pagination {\n display: inline-block;\n margin: 20px auto 10px auto;\n font-size: 1.2em;\n}\n\n.kiwi-channellist-pagination a {\n display: inline-block;\n margin: 0 10px;\n cursor: pointer;\n}\n\n.kiwi-channellist-search {\n display: inline-block;\n}\n\n.kiwi-channellist-info {\n text-align: center;\n}\n\n/* Table Styling */\n.kiwi-channellist-table {\n width: 100%;\n}\n\n.kiwi-channellist table {\n border: none;\n border-collapse: collapse;\n}\n\n.kiwi-channellist table thead th {\n font-size: 1.1em;\n cursor: default;\n text-align: left;\n padding: 10px 1em 5px 1em;\n}\n\n.kiwi-channellist table tbody td {\n padding: 2px 1em;\n text-align: left;\n}\n\n.kiwi-channellist table .kiwi-channellist-user-center {\n text-align: center;\n}\n\n.kiwi-channellist tr td:first-child {\n white-space: nowrap;\n}\n\n.kiwi-channellist-table-topic {\n word-break: break-word;\n}\n\n.kiwi-channellist-users {\n display: inline-block;\n font-weight: 900;\n text-align: center;\n}\n\n@media screen and (max-width: 1024px) {\n .kiwi-channellist-padding-top {\n padding-top: 100px;\n }\n}\n\n@media screen and (max-width: 770px) {\n .kiwi-channellist-nav .u-form {\n width: 230px;\n }\n\n .kiwi-channellist-nav .u-form .u-input {\n width: 100%;\n }\n}\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-serverview {\n box-sizing: border-box;\n overflow: hidden;\n position: relative;\n}\n\n.kiwi-serverview .kiwi-messagelist {\n padding-top: 0;\n height: 100%;\n margin: 0;\n}\n\n.kiwi-serverview-inner {\n /* Mobile safari can't work out the height for scrolling to work without this wrapper element */\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\n\n.kiwi-serverview-alerts {\n margin-bottom: 1em;\n}\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-container {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n}\n\n/* When the sidebar is open we will put a shadow over the text area */\n.kiwi-header {\n z-index: 2;\n\n /* IE 11 breaks when using the shorthand flex syntax here */\n flex-grow: 0;\n flex-shrink: 1;\n}\n\n.kiwi-sidebar {\n position: absolute;\n right: -443px;\n top: 45px; /* Push the top over the top page border */\n bottom: 0;\n width: 443px;\n max-width: 443px;\n z-index: 3;\n transition: right 0.2s, width 0.2s;\n flex: 1;\n}\n\n.kiwi-container--sidebar-drawn .kiwi-sidebar {\n right: 0;\n}\n\n.kiwi-container--sidebar-open .kiwi-sidebar {\n right: 0;\n top: 0;\n flex: 1;\n position: relative;\n border-left-width: 1px;\n border-left-style: solid;\n max-width: 430px;\n z-index: 1;\n transition: right 0.2s, top 0s;\n}\n\n.kiwi-container-content {\n flex: 1;\n display: flex;\n flex-direction: row;\n overflow: hidden;\n}\n\n.kiwi-messagelist {\n flex: 1;\n}\n\n.kiwi-serverview {\n flex: 1;\n}\n\n.kiwi-container--no-sidebar .kiwi-header,\n.kiwi-container--no-sidebar .kiwi-messagelist {\n margin-right: 0;\n}\n\n.kiwi-container-toggledraw-statebrowser,\n.kiwi-container-toggledraw-sidebar {\n display: none;\n width: 50px;\n position: absolute;\n top: 0;\n height: 45px;\n box-sizing: border-box;\n cursor: pointer;\n text-align: center;\n font-size: 1.6em;\n line-height: 50px;\n transition: left 2s;\n transition-delay: 0.5s;\n}\n\n.kiwi-container-toggledraw-statebrowser {\n left: 0;\n}\n\n.kiwi-container-toggledraw-sidebar {\n right: 0;\n}\n\n.kiwi-container-toggledraw-sidebar--disabled {\n cursor: default;\n}\n\n.kiwi-container-toggledraw-statebrowser-messagecount {\n position: absolute;\n font-size: 0.6em;\n border-radius: 3px;\n line-height: 2em;\n box-sizing: border-box;\n top: 10px;\n z-index: 3;\n white-space: nowrap;\n left: 14px;\n width: 37px;\n padding: 0;\n transition: all 0.4s, z-index 0s;\n transition-delay: 0.1s;\n}\n\n.kiwi-container-toggledraw-statebrowser-messagecount::after {\n left: -15px;\n top: 20%;\n border: 0.6em solid transparent;\n border-right-color: #ddd;\n content: \" \";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n\n.kiwi-container-statebrowser-messagecount-close {\n display: none;\n}\n\n/* When the Statebrowser is visible, apply new styles to the messagecount */\n.kiwi-wrap--statebrowser-drawopen .kiwi-container-toggledraw-statebrowser-messagecount {\n left: -19px;\n z-index: 100;\n}\n\n.kiwi-wrap--statebrowser-drawopen .kiwi-container-toggledraw-statebrowser-messagecount::after {\n right: -15px;\n left: auto;\n}\n\n@keyframes kiwi-wiggle {\n 0% { margin-left: 5px; }\n 50% { margin-left: 0; }\n 100% { margin-left: 5px; }\n}\n\n.kiwi-container-toggledraw-statebrowser-messagecount--highlight {\n animation: kiwi-wiggle 0.25s 4;\n animation-timing-function: ease-in, linear, ease-out;\n}\n\n.kiwi-container-toggledraw-statebrowser-messagecount--highlight:hover {\n animation: none;\n}\n\n.kiwi-container-empty {\n text-align: center;\n padding: 1em;\n}\n\n.kiwi-container-empty .u-button {\n border-radius: 3px;\n font-weight: 500;\n line-height: 50px;\n padding: 0 14px;\n}\n\n.kiwi-wrap .kiwi-container::after {\n content: '';\n position: absolute;\n left: auto;\n height: 120%;\n background-color: rgba(0, 0, 0, 0.4);\n top: 0;\n opacity: 0;\n z-index: 99;\n width: 0%;\n right: -100%;\n transition: opacity 0.1s;\n transition-delay: opacity 0.1s;\n}\n\n@media screen and (max-width: 1500px) {\n .kiwi-container--sidebar-open .kiwi-sidebar {\n max-width: 350px;\n }\n}\n\n@media screen and (max-width: 769px) {\n .kiwi-wrap--statebrowser-drawopen .kiwi-container-statebrowser-messagecount-alert {\n display: none;\n }\n\n .kiwi-wrap--statebrowser-drawopen .kiwi-container-statebrowser-messagecount-close {\n display: block;\n }\n\n .kiwi-wrap--statebrowser-drawopen .kiwi-container::after {\n top: 0;\n opacity: 1;\n width: 100%;\n right: 0%;\n }\n\n .kiwi-header {\n margin-left: 50px;\n margin-right: 50px;\n max-height: 50px;\n }\n\n .kiwi-container-toggledraw-statebrowser,\n .kiwi-container-toggledraw-sidebar {\n display: block;\n }\n\n .kiwi-sidebar {\n top: -4px;\n }\n}\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-autocomplete {\n box-sizing: border-box;\n overflow-y: auto;\n position: absolute;\n bottom: 100%;\n right: 0;\n left: 0;\n z-index: 1;\n max-height: 300px;\n}\n\n.kiwi-autocomplete-item {\n padding: 5px 2em;\n}\n\n.kiwi-autocomplete-item-value {\n font-weight: bold;\n}\n\n.kiwi-autocomplete-item-action {\n float: right;\n font-size: 0.9em;\n}\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-inputtools-colours {\n bottom: 100%;\n right: 0;\n overflow: hidden;\n position: absolute;\n height: 30px;\n}\n\n.kiwi-inputtools-colours-colour {\n display: block;\n float: left;\n height: 30px;\n width: 30px;\n cursor: pointer;\n box-sizing: border-box;\n border: 1px solid gray;\n margin: 0;\n}\n\n.kiwi-inputtools-colours-reset {\n font-size: 23px;\n line-height: 30px;\n text-align: center;\n background: #000;\n color: #cacaca;\n}\n\n",".kiwi-inputtools-colours {\n bottom: 100%;\n right: 0;\n overflow: hidden;\n position: absolute;\n height: 30px;\n}\n.kiwi-inputtools-colours-colour {\n display: block;\n float: left;\n height: 30px;\n width: 30px;\n cursor: pointer;\n box-sizing: border-box;\n border: 1px solid gray;\n margin: 0;\n}\n.kiwi-inputtools-colours-reset {\n font-size: 23px;\n line-height: 30px;\n text-align: center;\n background: #000;\n color: #cacaca;\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-inputtool-emoji-emoji {\n display: block;\n float: left;\n height: 30px;\n width: 30px;\n cursor: pointer;\n box-sizing: border-box;\n margin: 2px;\n background-size: contain;\n}\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-selfuser-nick,\n.kiwi-selfuser-host,\n.kiwi-selfuser-status {\n display: inline-block;\n padding: 0 10px;\n cursor: default;\n width: 100%;\n box-sizing: border-box;\n}\n\n.kiwi-selfuser-nick {\n min-width: 85px;\n font-weight: bold;\n padding: 5px 10px 0 10px;\n}\n\n.kiwi-selfuser-modes {\n font-weight: normal;\n opacity: 0.8;\n font-size: 0.8em;\n}\n\n.kiwi-selfuser-host {\n font-style: italic;\n opacity: 0.8;\n padding-left: 26px;\n font-size: 0.8em;\n word-break: break-all;\n}\n\n.kiwi-controlinput-selfuser .kiwi-close-icon {\n line-height: 36px;\n border-radius: 0;\n}\n\n/* Style the icons in the SelfUser */\n\n.kiwi-selfuser-nick i {\n font-weight: 400;\n float: right;\n opacity: 0.6;\n cursor: pointer;\n margin-top: 3px;\n transition: all 0.3s;\n}\n\n.kiwi-selfuser-nick i:hover {\n opacity: 1;\n transition: all 0.2s;\n}\n\n.kiwi-selfuser-nick i:last-of-type {\n margin-right: 15px;\n}\n\n.u-form.kiwi-away-checkbox-form {\n padding: 0 0 5px 24px;\n}\n\n.u-form .kiwi-selfuser-away-label {\n margin: 0 0 2px 0;\n}\n\n.u-form .kiwi-selfuser-away-label span {\n margin-right: 5px;\n}\n\n.kiwi-selfuser-error-message {\n width: 100%;\n display: block;\n padding: 0.5em 10px;\n box-sizing: border-box;\n margin: 5px 0 5px 0;\n text-align: center;\n border-radius: 6px;\n}\n\n.kiwi-selfuser-actions {\n padding: 5px 10px;\n margin-bottom: 10px;\n}\n\n.kiwi-selfuser-actions form {\n position: relative;\n}\n\n.kiwi-selfuser-actions form .u-input-prompt-label {\n display: block;\n width: 100%;\n}\n\n.kiwi-selfuser-actions .u-input-button-container {\n position: absolute;\n top: 2px;\n right: 2px;\n z-index: 1;\n}\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-typinguserslist {\n font-size: 0.9em;\n}\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-controlinput {\n z-index: 999;\n position: relative;\n border-top: 1px solid;\n}\n\n.kiwi-controlinput,\n.kiwi-controlinput-inner {\n padding: 0;\n box-sizing: border-box;\n transition: width 0.2s;\n transition-delay: 0.2s;\n}\n\n.kiwi-controlinput-inner i {\n font-size: 120%;\n margin-left: 8px;\n margin-right: 2px;\n}\n\n.kiwi-controlinput-inner .kiwi-awaystatusindicator {\n margin-top: 16px;\n margin-left: 10px;\n margin-right: -2px;\n}\n\n.kiwi-controlinput-user {\n height: 100%;\n padding: 0 10px;\n font-weight: bold;\n text-align: center;\n cursor: pointer;\n margin-right: 10px;\n line-height: 40px;\n transition: width 0.2s;\n transition-delay: 0.1s;\n}\n\n.kiwi-controlinput-selfuser--open .kiwi-controlinput-user {\n width: 286px;\n transition: width 0.2s;\n transition-delay: 0.1s;\n}\n\n.kiwi-controlinput-tools {\n /* 38px = 40px controlinput height - margin top+botton */\n line-height: 38px;\n margin: 2px 0 2px 10px;\n border-radius: 7px 0 0 7px;\n cursor: pointer;\n}\n\n.kiwi-controlinput-form {\n flex: 1;\n overflow: hidden;\n display: flex;\n}\n\n.kiwi-controlinput-send {\n border: none;\n border-radius: 7px;\n margin: 2px 0;\n padding: 0;\n height: 35px;\n text-align: center;\n width: 35px;\n cursor: pointer;\n outline: none;\n}\n\n.kiwi-controlinput-inner {\n display: flex;\n position: relative;\n height: 100%;\n box-sizing: border-box;\n padding: 0;\n}\n\n.kiwi-controlinput-input {\n text-align: left;\n height: 100%;\n outline: none;\n border: none;\n}\n\n.kiwi-controlinput-input-wrap {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n overflow: visible;\n padding: 7px 0 12px 0;\n}\n\n.kiwi-controlinput-tool {\n display: inline-block;\n padding: 0 1em;\n}\n\n.kiwi-controlinput-tool a {\n cursor: pointer;\n}\n\n.kiwi-controlinput-active-tool {\n position: absolute;\n bottom: 100%;\n right: 0;\n width: 100%;\n z-index: 1;\n}\n\n.kiwi-controlinput-selfuser {\n position: absolute;\n bottom: 0;\n z-index: 10;\n left: 0;\n max-height: 0;\n width: 324px;\n box-sizing: border-box;\n border-radius: 0 6px 0 0;\n opacity: 0;\n border-top: 1px solid;\n border-right: 1px solid;\n overflow: hidden;\n}\n\n.kiwi-controlinput-selfuser--open .kiwi-controlinput-selfuser {\n width: 324px;\n max-height: 300px;\n opacity: 1;\n}\n\n.kiwi-selfuser-trans-enter,\n.kiwi-selfuser-trans-leave-to {\n opacity: 0;\n height: 0;\n}\n\n.kiwi-selfuser-trans-enter-to,\n.kiwi-selfuser-trans-leave {\n opacity: 1;\n}\n\n.kiwi-selfuser-trans-enter-active,\n.kiwi-selfuser-trans-leave-active {\n transition: all 0.4s;\n}\n\n@media screen and (max-width: 500px) {\n .kiwi-controlinput-user-nick {\n display: none;\n }\n}\n\n.kiwi-controlinput-tools-container-expand {\n display: inline-block;\n padding: 0 1em;\n}\n\n.kiwi-controlinput-tools-container-expand i {\n transition: transform 0.2s;\n}\n\n.kiwi-controlinput-tools-container-expand--inverse i {\n transform: rotateZ(180deg);\n}\n\n.kiwi-controlinput-tools-container {\n position: relative;\n display: inline-block;\n}\n\n.kiwi-plugin-ui-trans-enter,\n.kiwi-plugin-ui-trans-leave-to {\n right: -100%;\n}\n\n.kiwi-plugin-ui-trans-enter-to,\n.kiwi-plugin-ui-trans-leave {\n right: 0;\n}\n\n.kiwi-plugin-ui-trans-enter-active,\n.kiwi-plugin-ui-trans-leave-active {\n transition: right 0.2s;\n}\n\n@media screen and (max-width: 769px) {\n .kiwi-controlinput-selfuser--open .kiwi-controlinput-selfuser {\n width: 100%;\n }\n\n .kiwi-wrap--statebrowser-drawopen .kiwi-controlinput {\n z-index: 0;\n }\n}\n\n.kiwi-typinguserslist {\n position: absolute;\n top: -24px;\n background: var(--brand-default-bg);\n}\n",".kiwi-controlinput {\n z-index: 999;\n position: relative;\n border-top: 1px solid;\n}\n.kiwi-controlinput,\n.kiwi-controlinput-inner {\n padding: 0;\n box-sizing: border-box;\n transition: width 0.2s;\n transition-delay: 0.2s;\n}\n.kiwi-controlinput-inner i {\n font-size: 120%;\n margin-left: 8px;\n margin-right: 2px;\n}\n.kiwi-controlinput-inner .kiwi-awaystatusindicator {\n margin-top: 16px;\n margin-left: 10px;\n margin-right: -2px;\n}\n.kiwi-controlinput-user {\n height: 100%;\n padding: 0 10px;\n font-weight: bold;\n text-align: center;\n cursor: pointer;\n margin-right: 10px;\n line-height: 40px;\n transition: width 0.2s;\n transition-delay: 0.1s;\n}\n.kiwi-controlinput-selfuser--open .kiwi-controlinput-user {\n width: 286px;\n transition: width 0.2s;\n transition-delay: 0.1s;\n}\n.kiwi-controlinput-tools {\n /* 38px = 40px controlinput height - margin top+botton */\n line-height: 38px;\n margin: 2px 0 2px 10px;\n border-radius: 7px 0 0 7px;\n cursor: pointer;\n}\n.kiwi-controlinput-form {\n flex: 1;\n overflow: hidden;\n display: flex;\n}\n.kiwi-controlinput-send {\n border: none;\n border-radius: 7px;\n margin: 2px 0;\n padding: 0;\n height: 35px;\n text-align: center;\n width: 35px;\n cursor: pointer;\n outline: none;\n}\n.kiwi-controlinput-inner {\n display: flex;\n position: relative;\n height: 100%;\n box-sizing: border-box;\n padding: 0;\n}\n.kiwi-controlinput-input {\n text-align: left;\n height: 100%;\n outline: none;\n border: none;\n}\n.kiwi-controlinput-input-wrap {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n overflow: visible;\n padding: 7px 0 12px 0;\n}\n.kiwi-controlinput-tool {\n display: inline-block;\n padding: 0 1em;\n}\n.kiwi-controlinput-tool a {\n cursor: pointer;\n}\n.kiwi-controlinput-active-tool {\n position: absolute;\n bottom: 100%;\n right: 0;\n width: 100%;\n z-index: 1;\n}\n.kiwi-controlinput-selfuser {\n position: absolute;\n bottom: 0;\n z-index: 10;\n left: 0;\n max-height: 0;\n width: 324px;\n box-sizing: border-box;\n border-radius: 0 6px 0 0;\n opacity: 0;\n border-top: 1px solid;\n border-right: 1px solid;\n overflow: hidden;\n}\n.kiwi-controlinput-selfuser--open .kiwi-controlinput-selfuser {\n width: 324px;\n max-height: 300px;\n opacity: 1;\n}\n.kiwi-selfuser-trans-enter,\n.kiwi-selfuser-trans-leave-to {\n opacity: 0;\n height: 0;\n}\n.kiwi-selfuser-trans-enter-to,\n.kiwi-selfuser-trans-leave {\n opacity: 1;\n}\n.kiwi-selfuser-trans-enter-active,\n.kiwi-selfuser-trans-leave-active {\n transition: all 0.4s;\n}\n@media screen and (max-width: 500px) {\n .kiwi-controlinput-user-nick {\n display: none;\n }\n}\n.kiwi-controlinput-tools-container-expand {\n display: inline-block;\n padding: 0 1em;\n}\n.kiwi-controlinput-tools-container-expand i {\n transition: transform 0.2s;\n}\n.kiwi-controlinput-tools-container-expand--inverse i {\n transform: rotateZ(180deg);\n}\n.kiwi-controlinput-tools-container {\n position: relative;\n display: inline-block;\n}\n.kiwi-plugin-ui-trans-enter,\n.kiwi-plugin-ui-trans-leave-to {\n right: -100%;\n}\n.kiwi-plugin-ui-trans-enter-to,\n.kiwi-plugin-ui-trans-leave {\n right: 0;\n}\n.kiwi-plugin-ui-trans-enter-active,\n.kiwi-plugin-ui-trans-leave-active {\n transition: right 0.2s;\n}\n@media screen and (max-width: 769px) {\n .kiwi-controlinput-selfuser--open .kiwi-controlinput-selfuser {\n width: 100%;\n }\n .kiwi-wrap--statebrowser-drawopen .kiwi-controlinput {\n z-index: 0;\n }\n}\n.kiwi-typinguserslist {\n position: absolute;\n top: -24px;\n background: var(--brand-default-bg);\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nhtml {\n height: 100%;\n margin: 0;\n padding: 0;\n}\n\nbody {\n height: 100%;\n margin: 0;\n padding: 0;\n}\n\n.kiwi-wrap {\n font-size: 90%;\n line-height: 1.6em;\n font-family: Source Sans Pro, Helvetica, sans-serif;\n -webkit-font-smoothing: antialiased;\n height: 100%;\n overflow: hidden;\n}\n\n/* .kiwi-workspace has ::before and ::after 4px above itself for the connection status */\n.kiwi-workspace {\n position: relative;\n margin-left: 220px;\n left: 0;\n top: 4px;\n display: flex;\n flex-direction: column;\n height: 100%;\n transition: left 0.2s, margin-left 0.2s;\n}\n\n.kiwi-workspace::before,\n.kiwi-workspace::after {\n position: absolute;\n content: '';\n left: 0;\n right: auto;\n margin-top: -4px;\n width: 100%;\n height: 7px;\n z-index: 0;\n transition: width 0.3s;\n}\n\n.kiwi-workspace::after {\n right: 0;\n left: auto;\n width: 0;\n}\n\n.kiwi-workspace--disconnected::before {\n width: 0;\n}\n\n.kiwi-workspace--disconnected::after {\n width: 100%;\n}\n\n.kiwi-workspace-background {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n z-index: -1;\n}\n\n.kiwi-statebrowser {\n position: absolute;\n top: 0;\n left: 0;\n width: 220px;\n bottom: 0;\n z-index: 11; /* Must be at least 1 higher than the workspace :after z-index; */\n transition: left 0.145s, margin-left 0.145s;\n}\n\n.kiwi-container {\n flex-grow: 1;\n\n /* The nicklist scroller needs some type of height set on it's parent, but since we use flexbox\n it starts conflicting on firefox. Luckily flexbox ignores this 5% and resizes it as we intend\n anyway. */\n height: 5%;\n}\n\n.kiwi-main-mediaviewer {\n max-height: 70%;\n overflow: auto;\n border-bottom: 1px solid rgba(0, 0, 0, 0.3);\n}\n\n.kiwi-main-mediaviewer .embedly-card {\n display: block;\n}\n\n.kiwi-controlinput {\n z-index: 2;\n}\n\n/* Small screen will cause the statebrowser to act as a drawer */\n@media screen and (max-width: 769px) {\n .kiwi-workspace {\n left: 0;\n margin-left: 0;\n }\n\n .kiwi-statebrowser {\n left: -220px;\n }\n\n .kiwi-wrap--statebrowser-drawopen .kiwi-statebrowser {\n left: 0;\n }\n\n .kiwi-wrap--statebrowser-drawopen .kiwi-workspace {\n left: 75%;\n transition: left 0.1s;\n transition-delay: 0s;\n }\n}\n","html {\n height: 100%;\n margin: 0;\n padding: 0;\n}\nbody {\n height: 100%;\n margin: 0;\n padding: 0;\n}\n.kiwi-wrap {\n font-size: 90%;\n line-height: 1.6em;\n font-family: Source Sans Pro, Helvetica, sans-serif;\n -webkit-font-smoothing: antialiased;\n height: 100%;\n overflow: hidden;\n}\n/* .kiwi-workspace has ::before and ::after 4px above itself for the connection status */\n.kiwi-workspace {\n position: relative;\n margin-left: 220px;\n left: 0;\n top: 4px;\n display: flex;\n flex-direction: column;\n height: 100%;\n transition: left 0.2s, margin-left 0.2s;\n}\n.kiwi-workspace::before,\n.kiwi-workspace::after {\n position: absolute;\n content: '';\n left: 0;\n right: auto;\n margin-top: -4px;\n width: 100%;\n height: 7px;\n z-index: 0;\n transition: width 0.3s;\n}\n.kiwi-workspace::after {\n right: 0;\n left: auto;\n width: 0;\n}\n.kiwi-workspace--disconnected::before {\n width: 0;\n}\n.kiwi-workspace--disconnected::after {\n width: 100%;\n}\n.kiwi-workspace-background {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n z-index: -1;\n}\n.kiwi-statebrowser {\n position: absolute;\n top: 0;\n left: 0;\n width: 220px;\n bottom: 0;\n z-index: 11;\n /* Must be at least 1 higher than the workspace :after z-index; */\n transition: left 0.145s, margin-left 0.145s;\n}\n.kiwi-container {\n flex-grow: 1;\n /* The nicklist scroller needs some type of height set on it's parent, but since we use flexbox\n it starts conflicting on firefox. Luckily flexbox ignores this 5% and resizes it as we intend\n anyway. */\n height: 5%;\n}\n.kiwi-main-mediaviewer {\n max-height: 70%;\n overflow: auto;\n border-bottom: 1px solid rgba(0, 0, 0, 0.3);\n}\n.kiwi-main-mediaviewer .embedly-card {\n display: block;\n}\n.kiwi-controlinput {\n z-index: 2;\n}\n/* Small screen will cause the statebrowser to act as a drawer */\n@media screen and (max-width: 769px) {\n .kiwi-workspace {\n left: 0;\n margin-left: 0;\n }\n .kiwi-statebrowser {\n left: -220px;\n }\n .kiwi-wrap--statebrowser-drawopen .kiwi-statebrowser {\n left: 0;\n }\n .kiwi-wrap--statebrowser-drawopen .kiwi-workspace {\n left: 75%;\n transition: left 0.1s;\n transition-delay: 0s;\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-wrap-error {\n height: 100%;\n overflow: hidden;\n text-align: center;\n}\n\n.kiwi-wrap-error > div {\n margin-top: 0.5em;\n padding: 1em;\n font-size: 1.2em;\n border: 1px solid #b51111;\n background: #ffbaba;\n display: inline-block;\n text-align: left;\n}\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.u-tabbed-view {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.u-tabbed-view-tabs {\n padding-top: 15px;\n}\n\n.u-tabbed-view-tab {\n display: inline-block;\n cursor: pointer;\n border-width: 0;\n border-style: solid;\n background: #fff;\n font-weight: 600;\n opacity: 1;\n z-index: 1;\n margin-bottom: -3px;\n position: relative;\n width: auto;\n text-align: left;\n box-sizing: border-box;\n padding: 0.5em 1em;\n border-bottom: 3px solid rgba(0, 0, 0, 0.1);\n transition: border 0.3s;\n}\n\n.u-tabbed-view-tab:hover,\n.u-tabbed-view-tab--active {\n border-bottom-width: 3px;\n}\n\n.u-tabbed-view-tab:last-of-type {\n z-index: 1;\n border-radius: 0 4px 0 0;\n}\n\n.u-tabbed-content {\n overflow: auto;\n height: 100%;\n}\n\n@media screen and (max-width: 769px) {\n .u-tabbed-view-tabs {\n padding-top: 0;\n }\n\n .u-tabbed-view-tab {\n padding: 10px 20px;\n width: auto;\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.u-input-text {\n position: relative;\n margin: 0 0 20px 0;\n box-sizing: border-box;\n}\n\n.u-input-text-inputs {\n display: flex;\n position: relative;\n}\n\n.u-input-text input,\n.u-input-text textarea {\n box-sizing: border-box;\n flex: 1;\n}\n\n.u-input-text input:focus {\n outline: none;\n}\n\n.u-input-text-c {\n position: relative;\n}\n\n/* Remove spinners from input numbers */\n.u-input-text input[type='number'] {\n /* For Firefox */\n -moz-appearance: textfield;\n}\n\n.u-input-text input[type=number]::-webkit-inner-spin-button,\n.u-input-text input[type=number]::-webkit-outer-spin-button {\n /* For webkit browsers like Safari and Chrome */\n -webkit-appearance: none;\n margin: 0;\n}\n\ninput[type=text].u-form-input-plaintext,\ninput[type=password].u-form-input-plaintext {\n padding-right: 40px;\n}\n\n.u-input-text-plaintext {\n line-height: normal;\n width: 30px;\n text-align: center;\n cursor: pointer;\n opacity: 0.5;\n transition: opacity 0.2s;\n position: absolute;\n right: 7px;\n top: 9px;\n}\n\n.u-form--big .u-input-text-plaintext {\n line-height: 40px;\n top: 6px;\n}\n\n.u-input-text-plaintext--active,\n.u-input-text-plaintext:hover {\n opacity: 1;\n}\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-ircinput {\n box-sizing: border-box;\n position: relative;\n overflow: visible;\n z-index: 1;\n}\n\n.kiwi-ircinput-editor {\n overflow-x: hidden;\n outline: none;\n\n /* When the contenteditable div is empty firefox makes its height 0px */\n height: 100%;\n}\n\n.kiwi-ircinput-editor:empty:not(:focus)::before {\n content: attr(placeholder);\n cursor: text;\n}\n\n.kiwi-ircinput-editor img {\n height: 1em;\n vertical-align: -0.1em;\n}\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.u-input-prompt-inputs {\n display: flex;\n}\n\n.u-input-prompt-inputs > input {\n flex: 1;\n margin-right: 1em;\n}\n\n.u-input-prompt-inputs > a {\n margin-right: 0.5em;\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.u-input-confirm {\n display: inline-block;\n padding: 10px;\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.kiwi-aboutnew {\n position: absolute;\n bottom: 0;\n height: 53px;\n left: 0;\n right: 0;\n padding: 0 10px 10px 10px;\n box-sizing: border-box;\n}\n\n.kiwi-aboutnew-sep {\n margin-bottom: 10px;\n border-top: 1px solid #ddd;\n}\n\n.kiwi-aboutnew-help {\n font-size: 1.9em;\n float: right;\n cursor: pointer;\n}\n\n.kiwi-aboutnew-content {\n display: none;\n position: absolute;\n top: 4px;\n left: 0;\n bottom: 53px;\n width: 100%;\n background: #fff;\n text-align: left;\n line-height: 1.6em;\n padding: 2em;\n box-sizing: border-box;\n overflow: auto;\n}\n\n.kiwi-aboutnew-content--open {\n display: block;\n}\n\n@media screen and (min-width: 700px) {\n .kiwi-aboutnew-content {\n padding: 2em 3em;\n }\n}\n\n.kiwi-personal {\n box-sizing: border-box;\n height: 100%;\n overflow-y: auto;\n text-align: center;\n padding-top: 1em;\n font-size: 1.2em;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n}\n\n.kiwi-personal h1 {\n margin: 0 0 20px 0;\n}\n\n.kiwi-personal p {\n margin: 0 0 10px 0;\n}\n\n.kiwi-personal button {\n margin: 10px auto 0 auto;\n padding: 0 40px;\n font-size: 1em;\n line-height: 40px;\n}\n\n/* Only show the toggle state browser link if on a small screen */\n.kiwi-personal-existing-networks {\n display: none;\n}\n\n@media screen and (max-width: 500px) {\n .kiwi-personal-existing-networks {\n display: inherit;\n }\n}\n\n"]} \ No newline at end of file diff --git a/sources/dist/static/emoticons/smile.png b/sources/dist/static/emoticons/smile.png new file mode 100644 index 0000000..f5bb6ca Binary files /dev/null and b/sources/dist/static/emoticons/smile.png differ diff --git a/sources/dist/static/favicon.png b/sources/dist/static/favicon.png new file mode 100644 index 0000000..82edbcb Binary files /dev/null and b/sources/dist/static/favicon.png differ diff --git a/sources/dist/static/fonts/fontawesome-webfont.674f50d2.eot b/sources/dist/static/fonts/fontawesome-webfont.674f50d2.eot new file mode 100644 index 0000000..e9f60ca Binary files /dev/null and b/sources/dist/static/fonts/fontawesome-webfont.674f50d2.eot differ diff --git a/sources/dist/static/fonts/fontawesome-webfont.af7ae505.woff2 b/sources/dist/static/fonts/fontawesome-webfont.af7ae505.woff2 new file mode 100644 index 0000000..4d13fc6 Binary files /dev/null and b/sources/dist/static/fonts/fontawesome-webfont.af7ae505.woff2 differ diff --git a/sources/dist/static/fonts/fontawesome-webfont.b06871f2.ttf b/sources/dist/static/fonts/fontawesome-webfont.b06871f2.ttf new file mode 100644 index 0000000..35acda2 Binary files /dev/null and b/sources/dist/static/fonts/fontawesome-webfont.b06871f2.ttf differ diff --git a/sources/dist/static/fonts/fontawesome-webfont.fee66e71.woff b/sources/dist/static/fonts/fontawesome-webfont.fee66e71.woff new file mode 100644 index 0000000..400014a Binary files /dev/null and b/sources/dist/static/fonts/fontawesome-webfont.fee66e71.woff differ diff --git a/sources/dist/static/highlight.mp3 b/sources/dist/static/highlight.mp3 new file mode 100644 index 0000000..46c4da5 Binary files /dev/null and b/sources/dist/static/highlight.mp3 differ diff --git a/sources/dist/static/highlight.ogg b/sources/dist/static/highlight.ogg new file mode 100644 index 0000000..d6e7962 Binary files /dev/null and b/sources/dist/static/highlight.ogg differ diff --git a/sources/dist/static/img/fontawesome-webfont.912ec66d.svg b/sources/dist/static/img/fontawesome-webfont.912ec66d.svg new file mode 100644 index 0000000..855c845 --- /dev/null +++ b/sources/dist/static/img/fontawesome-webfont.912ec66d.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sources/dist/static/img/kiwiLoadingLogo.ee10be5a.png b/sources/dist/static/img/kiwiLoadingLogo.ee10be5a.png new file mode 100644 index 0000000..5bd32ef Binary files /dev/null and b/sources/dist/static/img/kiwiLoadingLogo.ee10be5a.png differ diff --git a/sources/dist/static/js/app.a6afa5ad.js b/sources/dist/static/js/app.a6afa5ad.js new file mode 100644 index 0000000..8b14242 --- /dev/null +++ b/sources/dist/static/js/app.a6afa5ad.js @@ -0,0 +1,2 @@ +(function(e){function t(t){for(var i,r,o=t[0],c=t[1],u=t[2],f=0,d=[];f=e}return n.LEVEL_DEBUG=2,n.LEVEL_INFO=1,n.LEVEL_ERROR=0,n.level=n.LEVEL_ERROR,n.debug=function(){if(i(n.LEVEL_DEBUG)){for(var t,s,r=arguments.length,o=new Array(r),c=0;c1?n-1:0),s=1;s-1}},{key:"showServerBuffer",value:function(e){var t=this;this.appState.$emit("active.component",null),this.appState.setActiveBuffer(this.id,this.serverBuffer().name),(0,r.default)((function(){t.appState.$emit("server.tab.show",e||"settings")}))}},{key:"isNickExemptFromPmBlocks",value:function(e){for(var t=this.appState.getBuffersWithUser(this.id,e),n=0;n1&&t.messages.length>0?n("div",{key:"msgdatemarker"+t.dayNum,staticClass:"kiwi-messagelist-seperator"},[n("span",[e._v(e._s(new Date(t.messages[0].time).toDateString()))])]):e._e(),e._l(t.messages,(function(t){return[e.shouldShowUnreadMarker(t)?n("div",{key:"msgunreadmarker"+t.id,staticClass:"kiwi-messagelist-seperator"},[n("span",[e._v(e._s(e.$t("unread_messages")))])]):e._e(),n("div",{key:"msg"+t.id,class:["kiwi-messagelist-item",e.selectedMessages[t.id]?"kiwi-messagelist-item--selected":""]},[t.render()&&t.template&&t.template.$el?n("div",{directives:[{name:"rawElement",rawName:"v-rawElement",value:t.template.$el,expression:"message.template.$el"}]}):"modern"===e.listType?n("message-list-message-modern",{attrs:{message:t,idx:e.filteredMessages.indexOf(t),ml:e.thisMl}}):"inline"===e.listType?n("message-list-message-inline",{attrs:{message:t,idx:e.filteredMessages.indexOf(t),ml:e.thisMl}}):"compact"===e.listType?n("message-list-message-compact",{attrs:{message:t,idx:e.filteredMessages.indexOf(t),ml:e.thisMl}}):e._e()],1)]}))],2)})),n("transition",{attrs:{name:"kiwi-messagelist-joinloadertrans"}},[e.shouldShowJoiningLoader?n("div",{staticClass:"kiwi-messagelist-joinloader"},[n("LoadingAnimation")],1):e._e()]),e.shouldRequestChannelKey?n("buffer-key",{attrs:{buffer:e.buffer,network:e.buffer.getNetwork()}}):e._e()],2)])},s=[]},1109:function(e,t,n){"use strict";n.r(t);var i=n("2b9c"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"118f":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=d,t.createNewBlock=p;var a=i(n("e76e")),r=i(n("9474")),o=i(n("fa81")),c=i(n("4573")),u=i(n("65b8")),l=i(n("acf5")),f=(0,l.default)(null);function d(e,t){var n=t||{},i=p(),s=[i],r=(0,l.default)(null),o=0,c=e.length;while(o0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"text",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s={styles:t,content:e,containsContent:!!e,type:n,meta:i};return s}f["_"]={token:"_",extra:!0,fn:function(e,t,n,i,s){var a;return s[this.token]?(delete n.styles.underline,s[this.token]=null,i.content+=this.token,null):!0===n.styles.underline||t>0&&" "!==e[t-1]||-1===(0,u.default)(a=e.substr(t+1)).call(a,this.token)?-1:(s[this.token]=!0,n.styles.underline=!0,n.content+=this.token,null)}},f["*"]={token:"*",extra:!0,fn:function(e,t,n,i,s){if(s[this.token])return delete n.styles.bold,s[this.token]=null,i.content+=this.token,null;if(!0===n.styles.bold)return-1;if(":"===e[t-1])return-1;if(t>0&&" "!==e[t-1])return-1;var a=e.substr(t+1),r=(0,u.default)(a).call(a,this.token);return-1===r||r0&&" "!==e[t-1])return-1;var a=e.substr(t+1),r=(0,u.default)(a).call(a,this.token);return-1===r||a[r+1]&&" "!==a[r+1]?-1:(s[this.token]=!0,n.styles.quote=!0,n.content+=this.token+a.substr(0,r),n.containsContent=!0,t+r+1)}},f[""]={token:"",extra:!1,fn:function(e,t,n,i,s){return s[this.token]?(delete n.styles.bold,s[this.token]=null):(s[this.token]=!0,n.styles.bold=!0),null}},f[""]={token:"",extra:!1,fn:function(e,t,n,i,s){return s[this.token]?(delete n.styles.italic,s[this.token]=null):(s[this.token]=!0,n.styles.italic=!0),null}},f[""]={token:"",extra:!1,fn:function(e,t,n,i,s){return s[this.token]?(delete n.styles.underline,s[this.token]=null):(s[this.token]=!0,n.styles.underline=!0),null}},f[""]={token:"",extra:!1,fn:function(e,t,n,i,s){var a,r;return(0,c.default)(a=(0,o.default)(n.styles)).call(a,(function(e){return delete n.styles[e]})),(0,c.default)(r=(0,o.default)(s)).call(r,(function(e){return delete s[e]})),null}},f[""]={token:"",extra:!1,fn:function(e,t,n,i,s){var a={0:"white",1:"black",2:"blue",3:"green",4:"light-red",5:"brown",6:"purple",7:"orange",8:"yellow",9:"light-green",10:"cyan",11:"light-cyan",12:"light-blue",13:"pink",14:"grey",15:"light-grey"},o=/^\x03(([0-9][0-9]?)(,([0-9][0-9]?))?)/,c=o.exec(e.substr(t,6));if(c){var u=a[(0,r.default)(c[2],10)],l=a[(0,r.default)(c[4],10)];return"undefined"!==typeof u&&(n.styles.color=u),"undefined"!==typeof l&&(n.styles.background=l),t+c[0].length}return delete n.styles.color,delete n.styles.background,null}},f[""]={token:"",extra:!1,fn:function(e,t,n,i,s){return null}},window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["libs"]||(window._kiwi_exports["libs"]={}),window._kiwi_exports["libs"]["MessageFormatter"],window._kiwi_exports.libs.MessageFormatter=t.default?t.default:t},"11ef":function(e,t,n){},"124c":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"u-input-prompt",style:{display:e.block?"block":"inline-block"}},["pre"===e.state?n("div",{on:{click:e.prompt}},[e._t("default")],2):e._e(),"prompt"===e.state?n("form",{staticClass:"u-form",on:{submit:function(t){return t.preventDefault(),e.complete(t)}}},[n("span",{staticClass:"u-input-prompt-label"},[e._v(e._s(e.label))]),n("div",{staticClass:"u-input-prompt-inputs"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.value,expression:"value"}],staticClass:"u-input",domProps:{value:e.value},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:e.cancel(t)},input:function(t){t.target.composing||(e.value=t.target.value)}}}),n("a",{staticClass:"u-button u-button-primary",on:{click:e.complete}},[e._v(e._s(e.$t("ok")))]),e.hideCancel?e._e():n("a",{staticClass:"u-button u-button-warning",on:{click:e.cancel}},[e._v(" "+e._s(e.$t("cancel"))+" ")])])]):e._e()])},s=[]},"12fa":function(e,t,n){"use strict";n.r(t);var i=n("07a8"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"132e":function(e,t,n){"use strict";var i=n("224f"),s=n.n(i);s.a},1343:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("385f")),r=i(n("1f5b")),o=i(n("169d")),c=i(n("480a")),u={components:{MessageList:r.default,NetworkSettings:o.default,ChannelList:c.default},props:["network"],data:function(){return{pluginUiElements:a.default.singleton().serverViewPlugins}},computed:{hasMessages:function(){return this.network.serverBuffer().getMessages().length>0},serverBuffer:function(){return this.network.serverBuffer()},restrictedServer:function(){return this.$state.setting("restricted")},networkConnected:function(){return"connected"===this.network.state}},watch:{networkConnected:function(){var e=this;this.$nextTick((function(){e.$refs.tabs.a++}))}},created:function(){var e=this;this.listen(this.$state,"server.tab.show",(function(t){e.showTab(t)}))},methods:{showTab:function(e){this.$refs.tabs.setActiveByName(e)},tabChanged:function(e){this.serverBuffer.show_input="messages"===e}}};t.default=u,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["ServerView"],window._kiwi_exports.components.ServerView=t.default?t.default:t},"134c":function(e,t,n){e.exports=n.p+"static/img/kiwiLoadingLogo.ee10be5a.png"},"13d0":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-messageinfo",on:{click:function(e){e.stopPropagation()}}},[e.message.mentioned_urls.length>0?n("div",{staticClass:"kiwi-messageinfo-urls"},e._l(e.message.mentioned_urls,(function(t){return n("div",{key:t,staticClass:"kiwi-messageinfo-url"},[n("a",{staticClass:"u-button u-button-secondary",on:{click:function(n){return e.urlPreview(t)}}},[e._v("Preview")]),n("a",{staticClass:"u-link",attrs:{href:t,target:"_blank"}},[e._v(" "+e._s(t)+" ")])])})),0):e._e(),n("div",{staticClass:"kiwi-messageinfo-actions",class:{"kiwi-messageinfo-actions--open":e.requestingInput}},[e.requestingInput?e._e():n("a",{staticClass:"u-link kiwi-messageinfo-reply",on:{click:e.openQuery}},[e._v(" Reply in private ")]),e.areWeAnOp()&&!e.isSelf()?n("div",{staticClass:"kiwi-messageinfo-opbuttons"},[n("input-prompt",{attrs:{label:"Kick reason:"},on:{submit:e.onKick,cancel:function(t){e.requestingInput=!1}}},[e.requestingInput?e._e():n("a",{staticClass:"u-link kiwi-messageinfo-kick-user",on:{click:function(t){e.requestingInput=!0}}},[e._v(" Kick "+e._s(e.message.nick)+" ")])]),n("input-prompt",{attrs:{label:"Ban reason:"},on:{submit:e.onBan,cancel:function(t){e.requestingInput=!1}}},[e.requestingInput?e._e():n("a",{staticClass:"u-link kiwi-messageinfo-ban-user",on:{click:function(t){e.requestingInput=!0}}},[e._v(" Ban "+e._s(e.message.nick)+" ")])])],1):e._e()])])},s=[]},"149a":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("65b8")),r=n("5ee5"),o=r.component("input-text",{props:["value","label","type","showPlainText"],data:function(){return{plainTextEnabled:!1,inputIdCache:""}},computed:{inputId:function(){return this.inputIdCache||(this.inputIdCache="inp_"+Math.floor(1e17*Math.random()).toString(36)),this.inputIdCache},currentValue:{get:function(){return this.value},set:function(e){this.$emit("input",e)}}},methods:{updateValue:function(e){this.$emit("input",e)},isEdgeBrowser:function(){var e;return(0,a.default)(e=navigator.appVersion).call(e,"Edge")>-1}}});t.default=o,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["utils"]||(window._kiwi_exports["components"]["utils"]={}),window._kiwi_exports["components"]["utils"]["InputText"],window._kiwi_exports.components.utils.InputText=t.default?t.default:t},"15d0":function(e,t,n){"use strict";n.r(t);var i=n("8bfd"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},1612:function(e,t,n){"use strict";n.r(t);var i=n("f92e"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},1639:function(e,t,n){},"169d":function(e,t,n){"use strict";n.r(t);var i=n("9a7c"),s=n("89d7");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("d949");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},"16a2":function(e,t,n){},"17cf":function(e,t,n){},"17f1":function(e,t,n){"use strict";var i=n("0339"),s=n.n(i);s.a},"185a":function(e,t,n){"use strict";n.r(t);var i=n("8ac0"),s=n("e93b");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("88b1");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},1871:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"u-input-text"},[e.label?n("label",{attrs:{for:e.inputId}},[e._v(e._s(e.label))]):e._e(),n("div",{staticClass:"u-input-text-inputs",staticStyle:{display:"flex"}},["password"===e.type?["checkbox"===(e.plainTextEnabled&&!e.isEdgeBrowser()?"text":"password")?n("input",{directives:[{name:"model",rawName:"v-model",value:e.currentValue,expression:"currentValue"}],staticClass:"u-input",class:{"u-form-input-plaintext":!e.isEdgeBrowser()&&e.showPlainText},attrs:{id:e.inputId,autocomplete:"off",autocorrect:"off",autocapitalize:"off",spellcheck:"false",type:"checkbox"},domProps:{checked:Array.isArray(e.currentValue)?e._i(e.currentValue,null)>-1:e.currentValue},on:{keypress:function(t){return e.$emit("keypress",t)},change:function(t){var n=e.currentValue,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.currentValue=n.concat([a])):r>-1&&(e.currentValue=n.slice(0,r).concat(n.slice(r+1)))}else e.currentValue=s}}}):"radio"===(e.plainTextEnabled&&!e.isEdgeBrowser()?"text":"password")?n("input",{directives:[{name:"model",rawName:"v-model",value:e.currentValue,expression:"currentValue"}],staticClass:"u-input",class:{"u-form-input-plaintext":!e.isEdgeBrowser()&&e.showPlainText},attrs:{id:e.inputId,autocomplete:"off",autocorrect:"off",autocapitalize:"off",spellcheck:"false",type:"radio"},domProps:{checked:e._q(e.currentValue,null)},on:{keypress:function(t){return e.$emit("keypress",t)},change:function(t){e.currentValue=null}}}):n("input",{directives:[{name:"model",rawName:"v-model",value:e.currentValue,expression:"currentValue"}],staticClass:"u-input",class:{"u-form-input-plaintext":!e.isEdgeBrowser()&&e.showPlainText},attrs:{id:e.inputId,autocomplete:"off",autocorrect:"off",autocapitalize:"off",spellcheck:"false",type:e.plainTextEnabled&&!e.isEdgeBrowser()?"text":"password"},domProps:{value:e.currentValue},on:{keypress:function(t){return e.$emit("keypress",t)},input:function(t){t.target.composing||(e.currentValue=t.target.value)}}}),e.showPlainText&&!e.isEdgeBrowser()?n("i",{staticClass:"u-input-text-plaintext fa fa-eye",class:{"u-input-text-plaintext--active":e.plainTextEnabled},attrs:{"aria-hidden":"true"},on:{click:function(t){e.plainTextEnabled=!e.plainTextEnabled}}}):e._e()]:"number"===e.type?n("input",{directives:[{name:"model",rawName:"v-model",value:e.currentValue,expression:"currentValue"}],staticClass:"u-input",attrs:{id:e.inputId,type:"number"},domProps:{value:e.currentValue},on:{keypress:function(t){return e.$emit("keypress",t)},input:function(t){t.target.composing||(e.currentValue=t.target.value)}}}):"textarea"===e.type?n("textarea",{directives:[{name:"model",rawName:"v-model",value:e.currentValue,expression:"currentValue"}],staticClass:"u-input",attrs:{id:e.inputId},domProps:{value:e.currentValue},on:{keypress:function(t){return e.$emit("keypress",t)},input:function(t){t.target.composing||(e.currentValue=t.target.value)}}}):n("input",{directives:[{name:"model",rawName:"v-model",value:e.currentValue,expression:"currentValue"}],staticClass:"u-input",attrs:{id:e.inputId,autocomplete:"off",autocorrect:"off",autocapitalize:"off",spellcheck:"false"},domProps:{value:e.currentValue},on:{keypress:function(t){return e.$emit("keypress",t)},input:function(t){t.target.composing||(e.currentValue=t.target.value)}}}),e.$slots.default?n("div",{staticClass:"u-input-text-c"},[e._t("default")],2):e._e()],2)])},s=[]},"189e":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("3002")),r=i(n("65b8")),o=i(n("fc56")),c=i(n("44a4")),u=i(n("9f12")),l=i(n("53fe")),f=i(n("2ef0")),d=null,p=function(){function e(t){(0,u.default)(this,e),this.state=t,this.listenForIrcEvents(),this.varsEl=null}return(0,l.default)(e,[{key:"themeVar",value:function(e){var t;this.varsEl||(this.varsEl=document.querySelector(".kiwi-wrap"));var n=window.getComputedStyle(this.varsEl),i=n.getPropertyValue("--kiwi-"+e);return(0,c.default)(t=i||"").call(t)}},{key:"availableThemes",value:function(){return this.state.settings.themes}},{key:"currentTheme",value:function(){var e=this.state,t=e.setting("theme");t=t.toLowerCase();var n=(0,o.default)(f.default).call(f.default,e.settings.themes,(function(e){var n=e.name.toLowerCase()===t;return n}));return n||(n=e.settings.themes[0]),n}},{key:"setTheme",value:function(e){var t=null;if("string"===typeof e){if(t=(0,o.default)(f.default).call(f.default,this.availableThemes(),(function(t){var n=t.name.toLowerCase()===e.toLowerCase();return n})),!t)return}else t=e;this.state.setting("theme",t.name),this.state.$emit("theme.change")}},{key:"reload",value:function(){var e=this.currentTheme();if(e){var t=e.url;(0,r.default)(t).call(t,"cb=")>-1?t=t.replace(/cb=[0-9]+/,(function(){return"cb="+(0,a.default)()})):(0,r.default)(t).call(t,"?")>-1?t+="&cb="+(0,a.default)():t+="?cb="+(0,a.default)(),e.url=t,this.state.$emit("theme.change")}}},{key:"setCustomThemeUrl",value:function(t){var n=(0,o.default)(f.default).call(f.default,e.instance().availableThemes(),{name:"custom"});n&&(n.url=t),"custom"===n.name&&this.state.$emit("theme.change")}},{key:"listenForIrcEvents",value:function(){var e=this;this.state.$on("irc.ctcp request",(function(t,n){var i,s=(t.type||"").toLowerCase();"kiwi"===s&&(0,r.default)(i=t.message).call(i,"theme reload")>-1&&e.reload()}))}}],[{key:"themeUrl",value:function(e){var t=e.url.split("?"),n=t[0],i=t[1]||"";return"/"!==n[n.length-1]&&(n+="/"),n+"theme.css"+(i?"?"+i:"")}}]),e}();t.default=p,p.instance=function(e){return d||(d=new p(e)),d},window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["libs"]||(window._kiwi_exports["libs"]={}),window._kiwi_exports["libs"]["ThemeManager"],window._kiwi_exports.libs.ThemeManager=t.default?t.default:t},"18fc":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"u-input-confirm kiwi-theme-bg"},["pre"===e.state?n("div",{on:{click:e.prompt}},[e._t("default")],2):e._e(),"prompt"===e.state?[n("span",{staticClass:"u-input-confirm-label"},[e._v(e._s(e.label))]),n("a",{staticClass:"u-button",class:["u-button-"+e.connoteCss.yes],on:{click:function(t){return e.complete(!0)}}},[e._v(" "+e._s(e.$t("yes"))+" ")]),n("a",{staticClass:"u-button",class:["u-button-"+e.connoteCss.no],on:{click:function(t){return e.complete(!1)}}},[e._v(" "+e._s(e.$t("no"))+" ")])]:e._e()],2)},s=[]},"19b1":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.hex2rgb=c,t.rgb2hex=u,t.rgb2hsl=l,t.hsl2rgb=f,t.rgb2rgbString=d;var a=i(n("52da")),r=i(n("14b1")),o=i(n("9474"));function c(e){var t=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,n=e.replace(t,(function(e,t,n,i){return t+t+n+n+i+i})),i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(n);return i?{r:(0,o.default)(i[1],16),g:(0,o.default)(i[2],16),b:(0,o.default)(i[3],16)}:null}function u(e){var t;return"#"+(0,r.default)(t=["r","g","b"]).call(t,(function(t){var n;return(0,a.default)(n="0"+e[t].toString(16)).call(n,-2)})).join("")}function l(e){var t=e.r,n=e.g,i=e.b;t/=255,n/=255,i/=255;var s=Math.max(t,n,i),a=Math.min(t,n,i),r=0,o=0,c=(s+a)/2;if(s===a)r=o=0;else{var u=s-a;o=c>.5?u/(2-s-a):u/(s+a),s===t?r=(n-i)/u+(n1&&(a-=1),a<1/6?i+6*(s-i)*a:a<.5?s:a<2/3?i+(s-i)*(2/3-a)*6:i}var n=e.h,i=e.s,s=e.l,a=0,r=0,o=0;if(0===i)a=r=o=s;else{var c=s<.5?s*(1+i):s+i-s*i,u=2*s-c;a=t(u,c,n+1/3),r=t(u,c,n),o=t(u,c,n-1/3)}return{r:Math.round(255*a),g:Math.round(255*r),b:Math.round(255*o)}}function d(e){return"rgb("+[e.r,e.g,e.b].join(",")+")"}window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["helpers"]||(window._kiwi_exports["helpers"]={}),window._kiwi_exports["helpers"]["Colours"],window._kiwi_exports.helpers.Colours=t.default?t.default:t},"1a24":function(e,t,n){},"1bb3":function(e,t,n){"use strict";n.r(t);var i=n("9f2a"),s=n("db24");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("bd77");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},"1cae":function(e,t,n){"use strict";n.r(t);var i=n("3ce8"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"1d88":function(e,t,n){"use strict";n.r(t);var i=n("ccc0"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"1dc6":function(e,t,n){"use strict";n.r(t);var i=n("5a07"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"1f5b":function(e,t,n){"use strict";n.r(t);var i=n("1078"),s=n("1cae");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("7348");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},"1fe6":function(e,t,n){"use strict";n.r(t);var i=n("d3e9"),s=n("2443");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("b4e6");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},2:function(e,t){},"20fd":function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80");a(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n("a3e3")),o=s(n("4573")),c=s(n("fa81")),u=s(n("3002")),l=s(n("2b0b")),f=s(n("c52e")),d=s(n("e76e")),p=s(n("298b")),h=s(n("b6ce")),w=s(n("65b8")),m=s(n("e4f0")),v=s(n("3393")),_=s(n("fc56")),g=s(n("78b2")),k=s(n("acf5")),b=s(n("9f12")),y=s(n("53fe")),C=s(n("5ee5")),x=s(n("2ef0")),$=n("bb3c"),S=s(n("4cdc")),N=i(n("8f39")),A=0,M=function(){function e(t,n,i,s){(0,b.default)(this,e),this.id=A++,this.networkid=n,this.name=t,this.topics=[],this.key="",this.joined=!1,this.enabled=!0,this.created_at=null,this.users=(0,k.default)(null),this.modes=(0,k.default)(null),this.flags={unread:0,has_opened:!1,channel_badkey:!1,chathistory_available:!0,requested_modes:!1,requested_banlist:!1,is_requesting_chathistory:!1},this.settings={},this.last_read=0,this.active_timeout=null,this.message_count=0,this.current_input="",this.input_history=[],this.input_history_pos=0,this.show_input=!0,this.chathistory_request_count=0,C.default.observable(this),(0,$.def)(this,"state",i,!1),(0,$.def)(this,"messageDict",s,!1);var a={networkid:this.networkid,buffer:this.name,messages:[],messageIds:(0,k.default)(null)};function r(e){e.network===this.getNetwork()&&(this.chathistory_request_count=0)}function o(e,t){t===this.getNetwork()&&this.isQuery()&&this.requestLatestScrollback()}function c(e){e.buffer===this&&(this.state.$off("network.connecting",u),this.state.$off("buffer.close",l),this.state.$off("irc.motd",f))}this.messageDict.push(a),(0,$.def)(this,"messagesObj",a,!1),(0,$.def)(this,"isMessageTrimming",!0,!0),(0,$.def)(this,"addMessageBatch",B(this),!1),(0,$.def)(this,"addUserBatch",T(this),!1),this.isChannel()&&P(this);var u=(0,g.default)(r).call(r,this),l=(0,g.default)(c).call(c,this),f=(0,g.default)(o).call(o,this);i.$on("network.connecting",u),i.$on("buffer.close",l),i.$on("irc.motd",f),this.isQuery()&&this.getNetwork().ircClient.chathistory.isSupported()&&this.requestLatestScrollback()}return(0,y.default)(e,[{key:"getNetwork",value:function(){return this.state.getNetwork(this.networkid)}},{key:"getMessages",value:function(){var e=(0,_.default)(x.default).call(x.default,this.messageDict,{networkid:this.networkid,buffer:this.name});return e?e.messages:[]}},{key:"clearMessages",value:function(){var e;(0,v.default)(e=this.messagesObj.messages).call(e,0,this.messagesObj.messages.length),this.messagesObj.messageIds=(0,k.default)(null)}},{key:"clearMessageRange",value:function(e,t){var n,i=this;this.messagesObj.messages=(0,m.default)(n=this.messagesObj.messages).call(n,(function(n){return n.server_timet||(delete i.messagesObj.messageIds[n.id],!1)})),this.message_count++}},{key:"isServer",value:function(){return"*"===this.name}},{key:"isChannel",value:function(){var e=["#","&"],t=this.getNetwork().ircClient.network;return t&&t.options.CHANTYPES&&(e=t.options.CHANTYPES),(0,w.default)(e).call(e,this.name[0])>-1}},{key:"isQuery",value:function(){var e=["#","&"],t=this.getNetwork().ircClient.network;return t&&t.options.CHANTYPES&&(e=t.options.CHANTYPES),-1===(0,w.default)(e).call(e,this.name[0])&&!this.isSpecial()&&!this.isServer()}},{key:"isSpecial",value:function(){var e=this.name;return"*"===e[0]&&e.length>1}},{key:"isUserAnOp",value:function(e){var t=this.state.getUser(this.networkid,e);if(!t)return!1;var n=t.buffers[this.id];if(!n)return!1;var i=n.modes,s=["Y","y","q","a","o","h"],a=(0,_.default)(x.default).call(x.default,i,(function(e){return(0,w.default)(s).call(s,e.toLowerCase())>-1}));return!!a}},{key:"userModePrefix",value:function(e){if(!e.buffers[this.id])return"";var t=e.buffers[this.id].modes;if(0===t.length)return"";var n=this.getNetwork(),i=n.ircClient.network.options.PREFIX,s=(0,_.default)(x.default).call(x.default,i,(function(e){return(0,w.default)(t).call(t,e.mode)>-1}));return s?s.symbol:""}},{key:"userMode",value:function(e){if(!e.buffers[this.id])return"";var t=e.buffers[this.id].modes;if(0===t.length)return"";if(1===t.length)return t[0];var n=this.getNetwork(),i=n.ircClient.network.options.PREFIX,s=(0,_.default)(x.default).call(x.default,i,(function(e){return(0,w.default)(t).call(t,e.mode)>-1}));return s?s.mode:""}},{key:"setting",value:function(e,t){if("undefined"!==typeof t)return this.state.$set(this.settings,e,t),t;var n="undefined"!==typeof this.settings[e]?this.settings[e]:this.state.setting("buffers."+e);return n}},{key:"rename",value:function(e){var t=this.getNetwork(),n=this.name,i=this.state.getActiveBuffer()===this;this.name=e,i&&this.state.setActiveBuffer(t.id,e);var s=(0,_.default)(x.default).call(x.default,this.messageDict,{networkid:t.id,buffer:n});s.buffer=e}},{key:"flag",value:function(e,t){return"undefined"!==typeof t?(this.state.$set((0,h.default)(this),e,t),t):(0,h.default)(this)[e]}},{key:"requestScrollback",value:function(e){var t=this,n=e||"backward",i="",s="before";if("backward"===n){var a,r=(0,p.default)(a=this.getMessages()).call(a,(function(e,t){var n=["traffic","topic","connection","presence"],i=-1===(0,w.default)(n).call(n,e.type);return i&&e.time&&e.timet.time?e:t}),this.getMessages()[0]);s="after",i=c?new Date(c.server_time):new Date}var u=this.getNetwork().ircClient;this.flag("is_requesting_chathistory",!0),this.chathistory_request_count+=1;var l=(0,d.default)({},this.messagesObj.messageIds);u.chathistory[s](this.name,i).then((function(e){var n;if(e){var i=(0,f.default)(n=e.commands).call(n,(function(e){return e.tags.msgid&&!l[e.tags.msgid]}));t.flag("chathistory_available",i)}else t.flag("chathistory_available",!1)})).finally((function(){t.flag("is_requesting_chathistory",!1)}))}},{key:"requestLatestScrollback",value:function(){var e=this,t=this.getNetwork().ircClient;this.flag("is_requesting_chathistory",!0),this.chathistory_request_count+=1,t.chathistory.before(this.name,"*").finally((function(){e.flag("is_requesting_chathistory",!1)}))}},{key:"markAsRead",value:function(e){if(this.active_timeout&&(clearTimeout(this.active_timeout),this.active_timeout=null),e){var t;this.active_timeout=(0,l.default)((0,g.default)(t=this.markAsRead).call(t,this),1e4,!1)}else{this.last_read=(0,u.default)(),this.flag("highlight",!1);var n=this.getNetwork(),i=!!n&&(this.isChannel()||this.isQuery());i&&n.connection.bncnetid&&n.ircClient.bnc.bufferSeen(n.connection.bncnetid,this.name)}}},{key:"incrementFlag",value:function(e){(0,h.default)(this)[e]=((0,h.default)(this)[e]||0)+1}},{key:"addUser",value:function(e){this.addUserBatch(e)}},{key:"hasNick",value:function(e){var t=e.toLowerCase();return t in this.users||this.isQuery()&&this.name.toLowerCase()===t}},{key:"hasMode",value:function(e){var t;return(0,w.default)(t=(0,c.default)(this.modes)).call(t,e)>-1}},{key:"shouldShareTyping",value:function(){var e=this.getNetwork();return!!this.setting("share_typing")&&(!(!this.isChannel()&&!this.isQuery())&&(!(this.isChannel()&&!this.joined)&&!(this.hasMode("m")&&!this.userMode(e.currentUser()))))}},{key:"removeUser",value:function(e){var t=this.state.getUser(this.networkid,e);x.default.pull(this.addUserBatch.queue(),t),this.state.$delete(this.users,e.toLowerCase()),t&&delete t.buffers[this.id]}},{key:"clearUsers",value:function(){var e,t=this;this.addUserBatch&&(0,v.default)(e=this.addUserBatch.queue()).call(e,0),x.default.each(this.users,(function(e,n){delete e.buffers[t.id]})),this.state.$set(this,"users",{})}},{key:"addMessage",value:function(e){this.addMessageBatch(e)}},{key:"say",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.getNetwork(),i={time:(0,u.default)(),nick:n.nick,message:e,type:t.type||"privmsg"};this.state.addMessage(this,i);var s={privmsg:"say",action:"action",notice:"notice"},a=s[t.type]||"say";n.ircClient[a](this.name,e)}},{key:"join",value:function(){if(this.isChannel()){var e=this.getNetwork();e.ircClient.join(this.name,this.key||"")}}},{key:"part",value:function(e){if(this.isChannel()){var t=this.getNetwork();t.ircClient.part(this.name,e||"")}}},{key:"scrollToMessage",value:function(e){this.state.$emit("messagelist.scrollto",{id:e})}},{key:"getLoadingState",value:function(){var e=this.getNetwork().state,t=!!this.getNetwork().ircClient.chathistory.isSupported(),n=this.addMessageBatch.queue().length;this.message_count;return"disconnected"===e?"disconnected":"connecting"===e?"connecting":"connected"===e&&this.enabled&&t&&((0,h.default)(this).is_requesting_chathistory||0===this.chathistory_request_count||n>0)?"loading":"done"}},{key:"isReady",value:function(){return"done"===this.getLoadingState()}},{key:"topic",get:function(){return 0===this.topics.length?"":this.topics[this.topics.length-1]},set:function(e){this.topics.push(e)}}]),e}();function T(e){var t=function(t){e.state.$set(e.users,t.nick.toLowerCase(),t)},n=function(t){var n=x.default.clone(e.users);(0,o.default)(t).call(t,(function(e){n[e.nick.toLowerCase()]=e})),e.users=n};return(0,S.default)(t,n,2)}function B(e){var t=function(t){e.messagesObj.messageIds[t.id]||(e.messagesObj.messages.push(t),e.messagesObj.messageIds[t.id]=t,e.isMessageTrimming&&i(),N.orderedMessages(e,{inPlace:!0,noFilter:!0}),e.message_count++)},n=function(t){var n,s=(0,m.default)(t).call(t,(function(t){return!e.messagesObj.messageIds[t.id]}));s.length>0&&(e.messagesObj.messages=(0,r.default)(n=e.messagesObj.messages).call(n,s),(0,o.default)(s).call(s,(function(t){e.messagesObj.messageIds[t.id]=t})),e.isMessageTrimming&&i(),N.orderedMessages(e,{inPlace:!0,noFilter:!0}));e.message_count++},i=function(){var t=e.setting("scrollback_size"),n=e.messagesObj.messages.length;if(e.messagesObj.messages.length>t){var i,s=(0,v.default)(i=e.messagesObj.messages).call(i,0,n-t);(0,o.default)(s).call(s,(function(t){return delete e.messagesObj.messageIds[t.id]}))}};return(0,S.default)(t,n,4)}function P(e){var t=e.state.getNetwork(e.networkid);if("connected"===t.state)i();else{var n=function n(s,a,r){r===t&&(e.state.$off("irc.raw.001",n),i())};e.state.$on("irc.raw.001",n)}function i(){(0,l.default)(s,3e4)}function s(){if(t=e.state.getNetwork(e.networkid),t&&t.bufferByName(e.name)){var n=e.setting("who_loop"),s=e.joined,a=t.ircClient.network.cap.isEnabled("away-notify"),r="connected"===t.state;n&&r&&s&&!a?t.ircClient.who(e.name,(function(){i()})):i()}}}t.default=M},"210c":function(e,t,n){"use strict";var i=n("363e"),s=n.n(i);s.a},2246:function(e,t,n){"use strict";var i=n("11ef"),s=n.n(i);s.a},"224f":function(e,t,n){},2283:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("f72e")),r={props:{},toggleSelfAway:function(e){if(e.isUserSelf){var t=e.user.isAway();e.network.ircClient.raw("AWAY",t?"":"Currently away")}},isUserSelf:function(e){if(!1===e.toggle)return!1;var t=(0,a.default)().getUser(e.network.id,e.network.nick);return e.user===t},shouldShowStatus:function(e){if(!(0,a.default)().setting("showAwayStatusIndicators"))return!1;if("connected"!==e.network.state)return!1;var t=e.network.ircClient.network.cap.isEnabled("away-notify");return(0,a.default)().setting("buffers.who_loop")||t}},o={props:{network:Object,user:Object,toggle:Boolean},m:r};t.default=o,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["AwayStatusIndicator"],window._kiwi_exports.components.AwayStatusIndicator=t.default?t.default:t},"23ce":function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80");a(t,"__esModule",{value:!0}),t.default=h;var r=s(n("fa81")),o=s(n("4573")),c=s(n("a3e3")),u=s(n("3818")),l=s(n("9474")),f=s(n("65b8")),d=n("f43a"),p=i(n("862b"));function h(){var e=[],t={};return function(e,t,i){e.requestCap("bouncer"),w(e),t.use(n)};function n(n,i,s,a,r){var o,c,u;if("BOUNCER"===n){var p=i.params;if("listnetworks"===p[0]&&(0,f.default)(o=["end","RPL_OK"]).call(o,p[1])>-1)a.command_handler.emit("bouncer networks",e),e=[];else if("listnetworks"===p[0]){var h=d.MessageTags.decode(p[2]);e.push({networkId:p[1],name:h.network,host:h.host,port:(0,l.default)(h.port,10),tls:"1"===h.tls,connected:"connected"===h.state,nick:h.nick,currentNick:h.currentNick,password:h.password||"",account:h.account||"",account_password:h.account_password||""})}else if("listbuffers"===p[0]&&(0,f.default)(c=["end","RPL_OK"]).call(c,p[2])>-1){var w=p[1]||"",m=t[w]||[];delete t[w],a.command_handler.emit("bouncer buffers",m),a.command_handler.emit("bouncer buffers "+w,m)}else if("listbuffers"===p[0]){var v=p[1]||"",_=d.MessageTags.decode(p[2]);t[v]=t[v]||[],t[v].push({networkId:v,network:_.network,name:_.buffer,topic:_.topic,joined:"1"===_.joined,seen:_.seen,notify:_.notify||"highlight"})}else"state"===p[0]&&a.command_handler.emit("bouncer state",{networkId:p[1],network:p[2],state:p[3]});if("addnetwork"===p[0]&&"ERR_"===p[3].substr(0,4)){var g=(p[2]||"").toLowerCase(),k={error:p[3],reason:p[4]||""};a.command_handler.emit("bouncer addnetwork error",k),a.command_handler.emit("bouncer addnetwork error "+g,k)}else if("addnetwork"===p[0]&&(0,f.default)(u=["end","RPL_OK"]).call(u,p[3])>-1){var b=p[1]||"",y=(p[2]||"").toLowerCase(),C={networkId:b,network:y};a.command_handler.emit("bouncer addnetwork ok",C),a.command_handler.emit("bouncer addnetwork ok "+y,C)}}else r()}}function w(e){var t=e.bnc={};t.tags=function(){var t=e.network.supports("bouncer");return t&&"string"===typeof t&&d.MessageTags.decode(t)||{}},t.hasNetwork=function(){var t=e.network.supports("bouncer");if(!t||!0===t)return!1;var n=d.MessageTags.decode(t);return n&&!!n.network},t.getNetworks=function(){return new u.default((function(t,n){e.raw("BOUNCER listnetworks"),e.once("bouncer networks",(function(e){t(e)}))}))},t.getBuffers=function(t){return new u.default((function(n,i){e.raw("BOUNCER listbuffers "+t),e.once("bouncer buffers "+t,(function(e){n(e)}))}))},t.closeBuffer=function(t,n){return new u.default((function(i,s){var a;e.raw((0,c.default)(a="BOUNCER delbuffer ".concat(t," ")).call(a,n))}))},t.bufferSeen=function(t,n,i){return new u.default((function(s,a){var r,o,u=i?p.dateIso(i):"1";e.raw((0,c.default)(r=(0,c.default)(o="BOUNCER changebuffer ".concat(t," ")).call(o,n," seen=")).call(r,u))}))},t.addNetwork=function(t,n,i,s,a,r,o){var c={};c.network=t,c.host=n,c.port=i,c.tls=s?1:0,c.nick=a,c.password=o,r&&(c.user=r);var l=m(c);return new u.default((function(n,i){function s(t){e.off("bouncer addnetwork error",a),n(t)}function a(n){e.off("bouncer addnetwork ok "+t.toLowerCase(),s),i({error:n.error,reason:n.reason})}e.raw("BOUNCER addnetwork "+l),e.once("bouncer addnetwork ok "+t.toLowerCase(),s),e.once("bouncer addnetwork error",a)}))},t.removeNetwork=function(t,n){return new u.default((function(n,i){e.raw("BOUNCER delnetwork ".concat(t))}))},t.saveNetwork=function(t,n){var i={};"undefined"!==typeof n.network&&(i.network=n.network),"undefined"!==typeof n.host&&(i.host=n.host),"undefined"!==typeof n.port&&(i.port=n.port),"undefined"!==typeof n.tls&&(i.tls=n.tls?1:0),"undefined"!==typeof n.nick&&(i.nick=n.nick),"undefined"!==typeof n.user&&(i.user=n.user),"undefined"!==typeof n.password&&(i.password=n.password),"undefined"!==typeof n.account_password&&(i.account_password=n.account_password),"undefined"!==typeof n.account&&(i.account=n.account);var s=m(i);return new u.default((function(n,i){var a;0===s.length?n():e.raw((0,c.default)(a="BOUNCER changenetwork ".concat(t," ")).call(a,s))}))}}function m(e){var t,n=[];return(0,o.default)(t=(0,r.default)(e)).call(t,(function(t){var i=e[t];"undefined"!==typeof i?(i=i.toString().replace(" ","\\s").replace(";","\\:"),n.push(t+"="+i)):n.push(t)})),n.join(";")}window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["libs"]||(window._kiwi_exports["libs"]={}),window._kiwi_exports["libs"]["BouncerMiddleware"],window._kiwi_exports.libs.BouncerMiddleware=t.default?t.default:t},2443:function(e,t,n){"use strict";n.r(t);var i=n("1343"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},2472:function(e,t,n){},2572:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-inputtool-emoji"},[n("div",{staticClass:"kiwi-inputtool-emoji-palette",on:{mousedown:function(e){e.preventDefault()},click:function(e){e.preventDefault()}}},e._l(e.emojis,(function(t,i){return n("div",{key:i,staticClass:"kiwi-inputtool-emoji-emoji",style:{"background-image":"url("+e.location+i+".png)"},attrs:{"data-code":t+" "},on:{click:e.onImgClick}})})),0)])},s=[]},"274d":function(e,t,n){},"27d9":function(e,t,n){},"281c":function(e,t,n){"use strict";var i=n("dbb5"),s=n.n(i);s.a},2865:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(e,t){var n,i=t._c;return t.$options.m.shouldShowStatus(t.props)?i("span",{staticClass:"kiwi-awaystatusindicator",class:(n={"kiwi-awaystatusindicator--away":t.props.user&&t.props.user.isAway(),"kiwi-awaystatusindicator--self":t.$options.m.isUserSelf(t.props)},n[t.data.staticClass]=!0,n),on:{click:function(e){return t.$options.m.toggleSelfAway(t.props)}}}):t._e()},s=[]},"28a9":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-notconnected kiwi-warning-block",class:{connecting:e.shouldShowLoading}},[e.shouldShowLoading?n("div",{staticClass:"kiwi-notconnected-caption"},[e._v(" "+e._s(e.$t("connecting"))+" "),n("i",{staticClass:"fa fa-refresh fa-spin kiwi-notconnected-bigicon",attrs:{"aria-hidden":"true"}})]):[n("div",{staticClass:"kiwi-notconnected-caption"},[n("span",[e._v(e._s(e.$t("not_connected")))]),e.shouldShowLoading?e._e():n("i",{staticClass:"fa fa-frown-o",attrs:{"aria-hidden":"true"}})]),n("div",{staticClass:"kiwi-notconnected-buttons"},[e.isChannel()?[n("span",{staticClass:"kiwi-notconnected-button",attrs:{disabled:!e.readyToStart},on:{click:e.reconnect}},[n("i",{staticClass:"fa fa-arrow-circle-o-right",attrs:{"aria-hidden":"true"}}),e._v(" "+e._s(e.$t("reconnect_channel",{channel:e.buffer.name}))+" ")])]:e.isServer()?[n("span",{staticClass:"kiwi-notconnected-button",attrs:{disabled:!e.readyToStart},on:{click:e.reconnect}},[n("i",{staticClass:"fa fa-arrow-circle-o-right",attrs:{"aria-hidden":"true"}}),e._v(" "+e._s(e.$t("reconnect_network",{network:e.buffer.getNetwork().name}))+" ")])]:e.isQuery()?[n("span",{staticClass:"kiwi-notconnected-button",attrs:{disabled:!e.readyToStart},on:{click:e.reconnect}},[n("i",{staticClass:"fa fa-arrow-circle-o-right",attrs:{"aria-hidden":"true"}}),e._v(" "+e._s(e.$t("reconnect_query",{user:e.buffer.name}))+" ")])]:e._e(),e.restrictedServer?e._e():n("a",{staticClass:"kiwi-notconnected-button kiwi-notconnected-button-settings",on:{click:e.showNetworkSettings}},[n("i",{staticClass:"fa fa-cogs",attrs:{"aria-hidden":"true"}})])],2)],n("captcha",{staticClass:"kiwi-notconnected-captcha",attrs:{network:e.network}})],2)},s=[]},"28c0":function(e,t,n){"use strict";n.r(t);var i=n("b3ac"),s=n("83d5");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("c00a");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!0,null,null,null);t["default"]=o.exports},"28e2":function(e,t,n){"use strict";n.r(t);var i=n("4ff2"),s=n("6d41");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("4503");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},2908:function(e,t,n){"use strict";var i=n("2d80");i(t,"__esModule",{value:!0}),t.default=void 0;var s={data:function(){return{closing:!1}},computed:{backgroundStyle:function(){var e={},t=this.$state.settings.startupOptions;return t.infoBackground&&(e["background-image"]="url(".concat(t.infoBackground,")")),e},backgroundImage:function(){return this.$state.settings.startupOptions.infoBackground||""},infoContent:function(){return this.$state.settings.startupOptions.infoContent||""}},methods:{close:function(){var e=this;this.closing=!0;var t=function t(n){e.$el.removeEventListener("transitionend",t),e.$state.persistence.watchStateForChanges(),e.$parent.$emit("start")};this.$el.addEventListener("transitionend",t,!1)}}};t.default=s,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["startups"]||(window._kiwi_exports["components"]["startups"]={}),window._kiwi_exports["components"]["startups"]["CommonLayout"],window._kiwi_exports.components.startups.CommonLayout=t.default?t.default:t},"2b9c":function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80");a(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n("6b47")),o=s(n("89ba")),c=i(n("5a16")),u=s(n("f72e")),l=s(n("d369")),f=!0,d={data:function(){return{about_open:!1}},computed:{networks:function(){return this.$state.networks},aboutContent:function(){return l.default}},methods:{addNetwork:function(){var e="Guest"+Math.floor(100*Math.random()),t=this.$state.addNetwork(c.t("new_network"),e,{});t.showServerBuffer("settings")},toggleStateBrowser:function(){this.$state.$emit("statebrowser.show")},init:function(){var e=this;return(0,o.default)(r.default.mark((function t(){return r.default.wrap((function(t){while(1)switch(t.prev=t.next){case 0:e.$state.persistence.watchStateForChanges(),e.$emit("start",{fallbackComponent:e.constructor});case 2:case"end":return t.stop()}}),t)})))()}},created:function(){var e=(0,o.default)(r.default.mark((function e(){return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:f&&(this.init(),f=!1);case 1:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},p=d;t.default=p,(0,u.default)().getStartups().kiwiirccom=d,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["thirdparty"]||(window._kiwi_exports["thirdparty"]={}),window._kiwi_exports["thirdparty"]["kiwiirccom"],window._kiwi_exports.thirdparty.kiwiirccom=t.default?t.default:t},"2cc3":function(e,t,n){"use strict";n.r(t);var i=n("d7d2"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"2d13":function(e,t,n){"use strict";var i=n("5879"),s=n.n(i);s.a},"2e5f":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-channelinfo"},[n("form",{staticClass:"u-form kiwi-channelinfo-basicmodes",on:{submit:function(e){e.preventDefault()}}},[n("label",{staticClass:"kiwi-channelinfo-topic"},[n("span",[e._v(e._s(e.$t("channel_topic")))]),n("textarea",{directives:[{name:"model",rawName:"v-model.lazy",value:e.topic,expression:"topic",modifiers:{lazy:!0}}],attrs:{rows:"2"},domProps:{value:e.topic},on:{change:function(t){e.topic=t.target.value}}})]),e.buffer.topics.length>1?n("div",{staticClass:"kiwi-channelinfo-previoustopics"},[n("a",{staticClass:"u-link",on:{click:function(t){e.showPrevTopics=!e.showPrevTopics}}},[e._v(" Previous topics "),n("i",{class:"fa fa-caret-"+(e.showPrevTopics?"up":"down")})]),e.showPrevTopics?n("ul",e._l(e.prevTopics,(function(t,i){return n("li",{key:i},[n("span",[e._v(e._s(t.trim()))])])})),0):e._e()]):e._e(),n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("channel_moderated")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.modeM,expression:"modeM"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.modeM)?e._i(e.modeM,null)>-1:e.modeM},on:{change:function(t){var n=e.modeM,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.modeM=n.concat([a])):r>-1&&(e.modeM=n.slice(0,r).concat(n.slice(r+1)))}else e.modeM=s}}})]),n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("channel_invite")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.modeI,expression:"modeI"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.modeI)?e._i(e.modeI,null)>-1:e.modeI},on:{change:function(t){var n=e.modeI,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.modeI=n.concat([a])):r>-1&&(e.modeI=n.slice(0,r).concat(n.slice(r+1)))}else e.modeI=s}}})]),n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("channel_moderated_topic")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.modeT,expression:"modeT"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.modeT)?e._i(e.modeT,null)>-1:e.modeT},on:{change:function(t){var n=e.modeT,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.modeT=n.concat([a])):r>-1&&(e.modeT=n.slice(0,r).concat(n.slice(r+1)))}else e.modeT=s}}})]),n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("channel_external")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.modeN,expression:"modeN"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.modeN)?e._i(e.modeN,null)>-1:e.modeN},on:{change:function(t){var n=e.modeN,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.modeN=n.concat([a])):r>-1&&(e.modeN=n.slice(0,r).concat(n.slice(r+1)))}else e.modeN=s}}})]),n("label",[n("span",[e._v(e._s(e.$t("password")))]),n("input",{directives:[{name:"model",rawName:"v-model.lazy",value:e.modeK,expression:"modeK",modifiers:{lazy:!0}}],staticClass:"u-input",attrs:{type:"text"},domProps:{value:e.modeK},on:{change:function(t){e.modeK=t.target.value}}})])])])},s=[]},"2e72":function(e,t,n){},"2e7b":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("21e7")),r=i(n("9f12")),o=i(n("53fe")),c=function(){function e(t){var n=this;(0,r.default)(this,e),this.state=t,this.title=t.settings.windowTitle||"",this.alert=!1,t.settings.windowTitle&&this.updateTitle(),t.$watch("settings.windowTitle",(function(e){n.updateTitle(e)})),t.$watch("ui.app_has_focus",(function(e){e&&n.alertTmr&&n.stopAlert()})),t.$on("notification.title",(function(e){e?n.startAlert():n.stopAlert()}))}return(0,o.default)(e,[{key:"startAlert",value:function(){var e=this;this.alertTmr||(this.alertTmr=(0,a.default)((function(){e.updateTitle()}),1e3))}},{key:"stopAlert",value:function(){this.alertTmr&&(clearInterval(this.alertTmr),this.alertTmr=null),this.updateTitle()}},{key:"updateTitle",value:function(e){"string"===typeof e&&(this.title=e),this.alertTmr&&!this.alert?(window.document.title="* "+this.title,this.alert=!0):(window.document.title=this.title,this.alert=!1)}}]),e}();t.default=c},"2f8b":function(e,t,n){"use strict";var i=n("1bd5"),s=n("568d"),a=n("2d80");a(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n("5a16")),o=i(n("462f")),c={components:{AwayStatusIndicator:o.default},props:["network"],data:function(){return{is_usermenu_open:!1}},computed:{userInitial:function(){var e="U";return this.network&&this.network.nick&&(e=this.network.nick.charAt(0).toUpperCase()),e},networkName:function(){var e=r.t("no_network");return this.network&&(e=this.network.name),e},getUser:function(){return this.network?this.network.currentUser():null},isConnected:function(){return this.network&&"connected"===this.network.state}},methods:{clickForget:function(){var e="This will delete all stored networks and start fresh. Are you sure?",t=confirm(e);t&&(this.$state.persistence.forgetState(),window.location.reload())}}};t.default=c,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["StateBrowserUsermenu"],window._kiwi_exports.components.StateBrowserUsermenu=t.default?t.default:t},3:function(e,t){},"31aa":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("9474")),r=i(n("52da")),o=i(n("a3e3")),c=i(n("44a4")),u=i(n("65b8")),l=i(n("4573")),f=i(n("9f12")),d=i(n("53fe")),p=function(){function e(){(0,f.default)(this,e),this.recursiveDepth=3,this.depth=0,this.aliases={}}return(0,d.default)(e,[{key:"importFromString",value:function(e){var t,n=this;this.aliases={},(0,l.default)(t=e.split("\n")).call(t,(function(e){var t;if("/"===e[0]){var i=(0,u.default)(e).call(e," ");if(-1!==i){var s=e.substring(0,i),a=(0,c.default)(t=e.substring(i+1)).call(t);a&&(n.aliases[s.toLowerCase()]=a)}}}))}},{key:"processInput",value:function(e,t){var n,i=e||[],s=this.aliases[i[0].toLowerCase()],c="",u=0,l=!1,f=[];if(!s)return e;s=s.split(" "),n=s.length;for(var d=0;d=this.recursiveDepth?(this.depth--,n):(this.aliases[s]&&(i=this.processInput(i,t),s=(i[0]||"").toLowerCase(),this.aliases[s]&&(i=this.process(i.join(" "),t).split(" "))),this.depth--,i.join(" "))}}]),e}();t.default=p,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["libs"]||(window._kiwi_exports["libs"]={}),window._kiwi_exports["libs"]["AliasRewriter"],window._kiwi_exports.libs.AliasRewriter=t.default?t.default:t},"32ee":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("3b2f")),r=i(n("9c24")),o={props:{},displayNick:function(){var e=this.props,t=e.message.nick?":":"";return e.message.nick+t},userMode:function(e){var t=this.props;return t.ml.buffer.userMode(e)},userModePrefix:function(e){var t=this.props;return t.ml.buffer.userModePrefix(e)}},c={inject:{components:{default:{MessageInfo:r.default,MediaViewer:a.default}}},props:{ml:Object,message:Object,idx:Number,m:{default:function(){return function(){return o.props=this,o}}}}};t.default=c},"32f6":function(e,t,n){"use strict";n.r(t);var i=n("49a2"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"333e":function(e,t,n){"use strict";n.r(t);var i=n("960a"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"34cd":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("e4f0")),r=i(n("82ec")),o=i(n("385f")),c=i(n("9332")),u=i(n("e54d")),l={props:["network","buffer","sidebarState"],data:function(){return{pluginUiSections:o.default.singleton().aboutBufferPlugins,closedSections:{}}},computed:{b:function(){return this.buffer||{}},formattedTopic:function(){var e=(0,u.default)(this.b.topic||"",{extras:!1}),t=(0,c.default)(e);return t},highlights:function(){var e,t,n,i,s,o;this.buffer.message_count;return(0,r.default)(e=(0,a.default)(t=(0,a.default)(n=(0,a.default)(i=(0,a.default)(s=(0,a.default)(o=this.buffer.getMessages()).call(o,(function(e){return e.isHighlight}))).call(s,(function(e){return"traffic"!==e.type}))).call(i,(function(e){return"topic"!==e.type}))).call(n,(function(e){return"mode"!==e.type}))).call(t,(function(e){return e.html}))).call(e,(function(e,t){return t.time-e.time}))}},methods:{toggleSection:function(e){this.$set(this.closedSections,e,!this.closedSections[e])}}};t.default=l,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["SidebarAboutBuffer"],window._kiwi_exports.components.SidebarAboutBuffer=t.default?t.default:t},"35e1":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-controlinput kiwi-theme-bg",class:{"kiwi-controlinput-selfuser--open":e.selfuser_open,"kiwi-controlinput--focus":e.has_focus}},[n("div",{staticClass:"kiwi-controlinput-selfuser"},[n("transition",{attrs:{name:"kiwi-selfuser-trans"}},["connected"===e.networkState&&!0===e.selfuser_open?n("self-user",{attrs:{network:e.buffer.getNetwork()},on:{close:function(t){e.selfuser_open=!1}}}):e._e()],1)],1),n("div",{staticClass:"kiwi-controlinput-inner"},[e.buffer.getNetwork()&&"connected"===e.buffer.getNetwork().state?n("away-status-indicator",{attrs:{network:e.buffer.getNetwork(),user:e.buffer.getNetwork().currentUser()}}):e._e(),e.currentNick?n("div",{staticClass:"kiwi-controlinput-user",on:{click:e.toggleSelfUser}},[n("span",{staticClass:"kiwi-controlinput-user-nick"},[e._v(e._s(e.currentNick))]),n("i",{staticClass:"fa",class:[e.selfuser_open?"fa-caret-down":"fa-caret-up"],attrs:{"aria-hidden":"true"}})]):e._e(),n("form",{staticClass:"kiwi-controlinput-form",on:{submit:function(t){return t.preventDefault(),e.submitForm(t)},click:e.maybeHidePlugins}},[e.autocomplete_open?n("auto-complete",{ref:"autocomplete",attrs:{items:e.autocomplete_items,filter:e.autocomplete_filter,buffer:e.buffer},on:{temp:e.onAutocompleteTemp,selected:e.onAutocompleteSelected,cancel:e.onAutocompleteCancel}}):e._e(),e.buffer.setting("share_typing")?n("typing-users-list",{attrs:{buffer:e.buffer}}):e._e(),n("div",{staticClass:"kiwi-controlinput-input-wrap"},[n("irc-input",{ref:"input",staticClass:"kiwi-controlinput-input",attrs:{placeholder:e.$t("input_placeholder"),wrap:"off"},on:{input:e.inputUpdate,keydown:function(t){return e.inputKeyDown(t)},keyup:function(t){return e.inputKeyUp(t)},click:e.closeInputTool,focus:function(t){e.has_focus=!0},blur:function(t){e.has_focus=!1}}})],1),e.shouldShowSendButton?n("button",{staticClass:"kiwi-controlinput-send fa fa-paper-plane",attrs:{type:"submit"}}):e._e()],1),e.shouldShowInputButtons?n("div",{ref:"plugins",staticClass:"kiwi-controlinput-tools"},[n("div",{staticClass:"kiwi-controlinput-tools-container-expand",class:{"kiwi-controlinput-tools-container-expand--inverse":!e.showPlugins},on:{click:function(t){e.showPlugins=!e.showPlugins}}},[n("i",{staticClass:"fa fa-bars",attrs:{"aria-hidden":"true"}})]),n("transition",{attrs:{name:"kiwi-plugin-ui-trans"}},[e.showPlugins?n("div",{staticClass:"kiwi-controlinput-tools-container"},[e.shouldShowColorPicker?n("a",{staticClass:"kiwi-controlinput-tool",on:{click:function(t){return t.preventDefault(),e.onToolClickTextStyle(t)}}},[n("i",{staticClass:"fa fa-adjust",attrs:{"aria-hidden":"true"}})]):e._e(),e.shouldShowEmojiPicker?n("a",{staticClass:"kiwi-controlinput-tool",on:{click:function(t){return t.preventDefault(),e.onToolClickEmoji(t)}}},[n("i",{staticClass:"fa fa-smile-o",attrs:{"aria-hidden":"true"}})]):e._e(),e._l(e.pluginUiElements,(function(t){return n("div",{directives:[{name:"rawElement",rawName:"v-rawElement",value:{el:t.el,props:{controlinput:e.self}},expression:"{\n el: plugin.el,\n props: {\n controlinput: self,\n }\n }"}],key:t.id,staticClass:"kiwi-controlinput-tool"})}))],2):e._e()])],1):e._e()],1),n("div",{staticClass:"kiwi-controlinput-active-tool"},[n(e.active_tool,e._b({tag:"component"},"component",e.active_tool_props,!1))],1)])},s=[]},"363e":function(e,t,n){},"364e":function(e,t,n){"use strict";var i=n("def7"),s=n.n(i);s.a},"36dc":function(e,t,n){"use strict";var i=n("2d80");i(t,"__esModule",{value:!0}),t.default=void 0;var s={props:["error"]};t.default=s,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["StartupError"],window._kiwi_exports.components.StartupError=t.default?t.default:t},3804:function(e,t,n){"use strict";n.r(t);var i=n("89ce"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"385f":function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80");a(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n("c90a")),o=s(n("52da")),c=s(n("a3e3")),u=s(n("284c")),l=s(n("4573")),f=s(n("acf5")),d=s(n("9f12")),p=s(n("53fe")),h=s(n("c03e")),w=s(n("8b83")),m=s(n("c65a")),v=s(n("ba10")),_=s(n("5ee5")),g=s(n("5e48")),k=s(n("2ef0")),b=s(n("b697")),y=i(n("862b")),C=s(n("0470"));function x(e){var t=$();return function(){var n,i=(0,m.default)(e);if(t){var s=(0,m.default)(this).constructor;n=(0,r.default)(i,arguments,s)}else n=i.apply(this,arguments);return(0,w.default)(this,n)}}function $(){if("undefined"===typeof Reflect||!r.default)return!1;if(r.default.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call((0,r.default)(Date,[],(function(){}))),!0}catch(e){return!1}}var S=null,N=[],A=0,M=function(e){(0,h.default)(n,e);var t=x(n);function n(){var e;return(0,d.default)(this,n),e=t.call(this),e.version="1.5.1",e.Vue=_.default,e.JSON5=g.default,e.state=null,e.themes=null,e.controlInputPlugins=[],e.stateBrowserPlugins=[],e.channelHeaderPlugins=[],e.queryHeaderPlugins=[],e.sideBarPlugins=[],e.appSettingsPlugins=[],e.serverViewPlugins=[],e.aboutBufferPlugins=[],e.tabs=(0,f.default)(null),e.isReady=!1,e.exports=window._kiwi_exports||{},e.on("init",(function(){e.isReady=!0,e.initPlugins()})),e}return(0,p.default)(n,[{key:"versionMatches",value:function(e){return(0,b.default)(this.version,e)>=0}},{key:"plugin",value:function(e,t){var n={name:e,fn:t};this.isReady?this.initPlugin(n):N.push(n)}},{key:"initPlugins",value:function(){var e=this;(0,l.default)(N).call(N,(function(t){return e.initPlugin(t)})),N=[]}},{key:"initPlugin",value:function(e){var t=C.default.namespace("Plugin ".concat(e.name));try{e.fn(this,t),this.state.$emit("plugin.loaded",{name:e.name})}catch(n){t.error(n.stack)}}},{key:"require",value:function(e){var t=e.replace(/\//g,"."),n=k.default.get(this.exports,t);return"undefined"===typeof n&&C.default.error("Module does not exist: "+e),n}},{key:"setState",value:function(e){var t=this;this.state=e;var n=this.state.$emit,i=this.emit;this.state.$emit=function(){for(var e,s=arguments.length,a=new Array(s),r=0;r2&&void 0!==arguments[2]?arguments[2]:{},i={el:t,id:A++,args:n};switch(e){case"input":this.controlInputPlugins.push(i);break;case"browser":this.stateBrowserPlugins.push(i);break;case"header_channel":this.channelHeaderPlugins.push(i);break;case"header_query":this.queryHeaderPlugins.push(i);break;case"about_buffer":this.aboutBufferPlugins.push(i);break;default:break}}},{key:"addTab",value:function(e,t,n,i){var s={id:A++,title:t,component:n,props:i};switch(e){case"channel":this.sideBarPlugins.push(s);break;case"settings":this.appSettingsPlugins.push(s);break;case"server":this.serverViewPlugins.push(s);break;default:break}}},{key:"addView",value:function(e,t,n){this.tabs[e]={id:A++,component:_.default.extend(t),props:n||{}}}},{key:"showView",value:function(e){var t=this.tabs[e];t?this.state.$emit("active.component",t.component,t.props):this.state.$emit("active.component",null)}},{key:"showInSidebar",value:function(e){this.state.$emit("sidebar.component",e)}},{key:"addStartup",value:function(e,t){var n=this.state.getStartups();n[e]=t}},{key:"replaceModule",value:function(e,t){var n=this.require(e);if(!n)throw new Error("The module ".concat(e," does not exist"));y.replaceObjectProps(n,t)}},{key:"log",get:function(){return C.default}}],[{key:"singleton",value:function(){return S=S||new n,S}}]),n}(v.default);t.default=M,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["libs"]||(window._kiwi_exports["libs"]={}),window._kiwi_exports["libs"]["GlobalApi"],window._kiwi_exports.libs.GlobalApi=t.default?t.default:t},3901:function(e,t,n){},"395a":function(e,t,n){"use strict";n.r(t);var i=n("9767"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"3a09":function(e,t,n){},"3a28":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("fc56")),r=i(n("acf5")),o=i(n("4573")),c=i(n("6b47")),u=i(n("89ba")),l=i(n("2ef0")),f=i(n("0470")),d=i(n("6307")),p=f.default.namespace("Startup/kiwiBnc"),h={components:{StartupLayout:d.default},data:function(){return{loading:!1,username:"",password:"",statusMessage:""}},computed:{greetingText:function(){var e=this.$state.settings.startupOptions.greetingText;return"string"===typeof e?e:this.$t("start_greeting")},buttonText:function(){if(this.loading)return"";var e=this.$state.settings.startupOptions.buttonText;return"string"===typeof e?e:this.$t("start_button")}},methods:{startUp:function(){var e=(0,u.default)(c.default.mark((function e(){var t,n,i,s,a,r=this;return c.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:this.statusMessage=this.$t("logging_in"),this.loading=!0,t=this.getBncNetwork(),n=function(){t.ircClient.off("registered",i),t.ircClient.off("irc error",s),t.ircClient.off("close",a)},i=function(){var e=(0,u.default)(c.default.mark((function e(){var i,s,a,o;return c.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return n(),e.next=3,t.ircClient.bnc.getNetworks();case 3:i=e.sent,s=0;case 5:if(!(s0){var i=n.getRangeAt(0);if(i&&!i.collapsed)return}this.message_info_open=e,this.$nextTick((0,h.default)(t=this.maybeScrollToBottom).call(t,this))}}else this.message_info_open=null},shouldShowUnreadMarker:function(e){var t,n=(0,p.default)(t=this.filteredMessages).call(t,e),i=this.filteredMessages[n-1],s=this.filteredMessages[n],a=this.buffer.last_read;return!!a&&(!!s&&!!(i&&i.timea))},shouldShowDateChangeMarker:function(e){var t=this.filteredMessages[e-1],n=this.filteredMessages[e];return!t&&new Date(n.time).getDay()!==(new Date).getDay()||!!t&&new Date(t.time).getDay()!==new Date(n.time).getDay()},canShowInfoForMessage:function(e){var t=["privmsg","notice","action"];return(0,p.default)(t).call(t,e.type)>-1},bufferSetting:function(e){return this.buffer.setting(e)},formatTime:function(e){return(0,_.default)(this.buffer.setting("timestamp_format")||"%T",new Date(e))},formatTimeFull:function(e){var t=this.buffer.setting("timestamp_full_format");return t?(0,_.default)(t,new Date(e)):new Date(e).toLocaleString()},formatMessage:function(e){return e.toHtml(this)},isMessageHighlight:function(e){return"traffic"!==e.type&&e.isHighlight},userColour:function(e){return e&&this.bufferSetting("colour_nicknames_in_messages")?e.getColour():""},openUserBox:function(e){var t=this.$state.getUser(this.buffer.networkid,e);t&&this.$state.$emit("userbox.show",t,{buffer:this.buffer})},onListClick:function(e){this.toggleMessageInfo()},onMessageDblClick:function(e,t){clearTimeout(this.messageClickTmr);var n=e.target.getAttribute("data-nick");if(n){var i=this.buffer.getNetwork(),s=i.userByName(n),a=s&&s.nick?s.nick:n;this.$state.$emit("input.insertnick",a)}},onMessageClick:function(e,t,n){if(n&&e.target.getAttribute("data-nick"))return clearTimeout(this.messageClickTmr),void(this.messageClickTmr=(0,d.default)(this.onMessageClick,200,e,t,!1));var i="A"===e.target.tagName,s=e.target.getAttribute("data-channel-name");if(s&&i){var a=this.buffer.getNetwork();return this.$state.addBuffer(this.buffer.networkid,s),a.ircClient.join(s),void this.$state.setActiveBuffer(this.buffer.networkid,s)}var r=e.target.getAttribute("data-nick");if(r&&i)this.openUserBox(r);else{var o=e.target.getAttribute("data-url");if(o&&i&&(this.$state.setting("buffers.inline_link_auto_previews")?(t.embed.type="url",t.embed.payload=o):this.$state.$emit("mediaviewer.show",o)),this.message_info_open&&this.message_info_open!==t)return this.toggleMessageInfo(),void e.preventDefault();this.$state.ui.is_touch&&this.$state.setting("buffers.show_message_info")&&(this.canShowInfoForMessage(t)&&"A"===e.target.nodeName&&e.preventDefault(),this.toggleMessageInfo(t))}},checkScrollingState:function(){var e=this.$el,t=e.scrollHeight-(e.offsetHeight+e.scrollTop);t>N?(this.auto_scroll=!1,this.buffer.isMessageTrimming=!1):(this.auto_scroll=!0,this.buffer.isMessageTrimming=!0),null!==this.force_smooth_scroll?(this.smooth_scroll=this.force_smooth_scroll,this.force_smooth_scroll=null):this.smooth_scroll=!1},onListResize:function(e){this.maybeScrollToBottom()},scrollToBottom:function(){this.$el.scrollTop=this.$el.scrollHeight},maybeScrollToBottom:function(){this.auto_scroll&&this.scrollToBottom()},maybeScrollToId:function(e){var t=this.$el.querySelector('.kiwi-messagelist-message[data-message-id="'+e+'"]');t&&t.offsetTop&&(this.$el.scrollTop=t.offsetTop,this.auto_scroll=!1)},getSelectedMessages:function(){var e=document.getSelection(),t=e.getRangeAt(0),n=(0,f.default)(this.$el.querySelectorAll(".kiwi-messagelist-message")),i=(0,l.default)(n).call(n,(function(e){return t.intersectsNode(e)}));return i},restrictTextSelection:function(){document.querySelector("body").classList.add("kiwi-unselectable"),this.$el.style.userSelect="text"},unrestrictTextSelection:function(){document.querySelector("body").classList.remove("kiwi-unselectable"),this.$el.style.userSelect="auto"},removeSelections:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.selectedMessages=(0,v.default)(null);var t=document.getSelection();e&&t&&t.removeAllRanges()},addCopyListeners:function(){var e=this,t=function(e){var t,n,i="";switch(e.type){case"privmsg":i=(0,u.default)(t="<".concat(e.nick,"> ")).call(t,e.message);break;case"nick":case"mode":case"action":case"traffic":i="".concat(e.message);break;default:i=e.message}return i.length?(0,u.default)(n="[".concat(new Date(e.time).toLocaleTimeString({hour:"2-digit",minute:"2-digit",second:"2-digit"}),"] ")).call(n,i):null},n="",i=!1,s=null;this.listen(document,"selectstart",(function(t){if(!e.$el.contains(t.target))return n="",void e.removeSelections();e.removeSelections(),s=e.listen(document,"selectionchange",a)})),this.listen(document,"mouseup",(function(t){s&&s(),e.unrestrictTextSelection(),i&&t.preventDefault(),i=!1}));var a=function(s){if(!e.$el)return!0;n="";var a=document.getSelection();if(!a||!a.anchorNode||!a.anchorNode.parentNode.closest("."+e.$el.className))return e.unrestrictTextSelection(),e.removeSelections(),!0;if(e.removeSelections(),e.restrictTextSelection(),a.rangeCount>0){var u,f;i=!0;var d=e.getSelectedMessages(),p=[];(0,w.default)(d).call(d,(function(t){var n=e.buffer.messagesObj.messageIds[t.dataset.messageId];n&&p.push(n)})),1===p.length&&(p=[]),e.selectedMessages=(0,v.default)(null),(0,w.default)(p).call(p,(function(t){e.selectedMessages[t.id]=t})),n=(0,c.default)(u=(0,l.default)(f=(0,o.default)(p).call(p,(function(e,t){return e.time>t.time?1:-1}))).call(f,(function(e){var t;return(0,r.default)(t=e.message).call(t).length}))).call(u,t).join("\r\n")}else e.unrestrictTextSelection();return!1};this.listen(document,"copy",(function(e){if(!n||!n.length)return!0;if(navigator.clipboard)navigator.clipboard.writeText(n);else{var t=document.createElement("textarea");document.body.appendChild(t),t.innerHTML=n,t.select(),document.execCommand("copy"),document.body.removeChild(t)}return!0}))},openEmbedInPreview:function(e){var t=e.embed;"url"===t.type?this.$state.$emit("mediaviewer.show",t.payload):"component"===t.type&&this.$state.$emit("mediaviewer.show",{component:t.payload}),t.payload=null}}};t.default=A,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["MessageList"],window._kiwi_exports.components.MessageList=t.default?t.default:t},"3d2a":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("df3a")),r={c:{Avatar:a.default},props:["message","user"]};t.default=r,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["MessageListAvatar"],window._kiwi_exports.components.MessageListAvatar=t.default?t.default:t},"3d4c":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-statebrowser kiwi-theme-bg"},[e.$state.setting("hideSettings")?e._e():n("div",{staticClass:"kiwi-statebrowser-appsettings",attrs:{title:e.$t("kiwi_settings")},on:{click:e.clickAppSettings}},[n("i",{staticClass:"fa fa-cog",attrs:{"aria-hidden":"true"}})]),e.isPersistingState?n("state-browser-usermenu",{attrs:{network:e.getNetwork}}):e._e(),n("div",{staticClass:"kiwi-statebrowser-tools"},e._l(e.pluginUiElements,(function(e){return n("div",{directives:[{name:"rawElement",rawName:"v-rawElement",value:e.el,expression:"plugin.el"}],key:e.id,staticClass:"kiwi-statebrowser-tool"})})),0),Object.keys(e.provided_networks).length>0?n("div",{staticClass:"kiwi-statebrowser-availablenetworks"},[n("div",{staticClass:"kiwi-statebrowser-availablenetworks-toggle",on:{click:function(t){e.show_provided_networks=!e.show_provided_networks}}},[e._v(" ↪ "+e._s(e.$t("state_available"))+" ")]),n("div",{staticClass:"kiwi-statebrowser-availablenetworks-networks",class:{"kiwi-statebrowser-availablenetworks-networks--open":e.show_provided_networks}},e._l(e.provided_networks,(function(t,i){return n("div",{key:i,staticClass:"kiwi-statebrowser-availablenetworks-type"},[n("div",{staticClass:"kiwi-statebrowser-availablenetworks-name"},[e._v(e._s(i))]),e._l(t,(function(t){return n("div",{key:t.name,staticClass:"kiwi-statebrowser-availablenetworks-link",class:[t.connected?"kiwi-statebrowser-availablenetworks-link--connected":""]},[n("a",{on:{click:function(n){return e.connectProvidedNetwork(t)}}},[e._v(e._s(t.name))]),n("br")])}))],2)})),0)]):e._e(),n("div",{staticClass:"kiwi-statebrowser-scrollarea"},[n("div",{staticClass:"kiwi-statebrowser-networks"},e._l(e.networksToShow,(function(t){return n("state-browser-network",{key:t.id,attrs:{network:t,"sidebar-state":e.sidebarState}})})),1)]),e.isRestrictedServer?e._e():n("div",{staticClass:"kiwi-statebrowser-newnetwork"},[n("a",{staticClass:"u-button u-button-primary",on:{click:e.clickAddNetwork}},[e._v(" "+e._s(e.$t("add_network"))+" "),n("i",{staticClass:"fa fa-plus",attrs:{"aria-hidden":"true"}})])])],1)},s=[]},"3ea4":function(e,t,n){},"3ea7":function(e,t,n){},"3ee2":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-wrap kiwi-wrap-error"},[n("h2",[e._v("Kiwi IRC could not start :(")]),n("div",[e._v(e._s(e.error))])])},s=[]},"3f9b":function(e,t,n){"use strict";n.r(t);var i=n("0b98"),s=n("8ffb");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("132e");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},"40cd":function(e,t,n){"use strict";var i=n("4934"),s=n.n(i);s.a},"43bd":function(e,t,n){"use strict";n.r(t);var i=n("2908"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},4503:function(e,t,n){"use strict";var i=n("1001"),s=n.n(i);s.a},"45ab":function(e,t,n){},"45d1":function(e,t,n){"use strict";var i=n("2d80");i(t,"__esModule",{value:!0}),t.default=void 0;var s=n("5ee5"),a=s.component("input-prompt",{props:["label","hideCancel","noprompt","block"],data:function(){return{value:"",state:"pre"}},created:function(){this.noprompt&&this.prompt()},methods:{prompt:function(){var e=this;this.state="prompt",this.$nextTick((function(){e.$el.querySelector("input").focus()}))},complete:function(){this.$emit("submit",this.value),this.state="pre"},cancel:function(){this.$emit("cancel"),this.state="pre"}}});t.default=a,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["utils"]||(window._kiwi_exports["components"]["utils"]={}),window._kiwi_exports["components"]["utils"]["InputPrompt"],window._kiwi_exports.components.utils.InputPrompt=t.default?t.default:t},"462f":function(e,t,n){"use strict";n.r(t);var i=n("2865"),s=n("d831");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("7197");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!0,null,null,null);t["default"]=o.exports},"46d4":function(e,t,n){"use strict";n.r(t);var i=n("ccca"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"474e":function(e,t,n){"use strict";n.r(t);var i=n("4c9f"),s=n("9465");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("002e");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},"480a":function(e,t,n){"use strict";n.r(t);var i=n("691c"),s=n("708b");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("cb48");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},"48aa":function(e,t,n){},4934:function(e,t,n){},"49a2":function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80");a(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n("65b8")),o=s(n("44a4")),c=s(n("a3e3")),u=s(n("4573")),l=i(n("104d")),f=i(n("5a16")),d=i(n("7277")),p=s(n("9332")),h=s(n("e54d")),w=s(n("462f")),m={components:{AwayStatusIndicator:w.default},props:["buffer","network","user"],data:function(){return{whoisRequested:!1,whoisLoading:!1}},computed:{availableChannelModes:function(){var e=[],t=this.network.ircClient.network.options.PREFIX,n={q:"Owner",a:"Admin",o:"Operator",h:"Half-Operator",v:"Voice"};return d.isAChannelModeAdmin(this.network)||delete n.a,d.isQChannelModeOwner(this.network)||delete n.q,d.supportsHalfOp(this.network)||delete n.h,(0,u.default)(t).call(t,(function(t){var i=t.mode;n[i]&&e.push({mode:i,description:n[i]})})),e},areWeAnOp:function(){return!!this.buffer&&this.buffer.isUserAnOp(this.buffer.getNetwork().nick)},formattedRealname:function(){var e=(0,h.default)(this.user.realname||"",{extras:!1}),t=(0,p.default)(e,!1);return t},isUserOnBuffer:function(){return!!this.buffer&&!!this.user.buffers[this.buffer.id]},userMode:{get:function(){if(!this.buffer)return"";var e=this.user.buffers[this.buffer.id];if(!e)return"";var t=e.modes;return t.length>0?t[0]:""},set:function(e){var t,n=this.network.ircClient,i=this.userMode,s=[],a=[];i&&(s.push("-"+i),a.push(this.user.nick)),e&&(s.push("+"+e),a.push(this.user.nick));var r=(0,c.default)(t=["MODE",this.buffer.name,s.join("")]).call(t,a);n.raw(r)}},userChannels:function(){for(var e,t=(0,o.default)(e=this.user.channels).call(e).split(" "),n=0;n0?n[0]:""},openQuery:function(){var e=this.$state.addBuffer(this.network.id,this.user.nick);this.$state.setActiveBuffer(this.network.id,e.name),this.$state.ui.is_narrow&&this.$state.$emit("userbox.hide")},onChannelsClick:function(e){var t=e.target.getAttribute("data-channel-name");if(t){var n=this.buffer.getNetwork();this.$state.addBuffer(this.buffer.networkid,t),n.ircClient.join(t)}},updateWhoisData:function(){var e=this;this.whoisRequested=!0,this.whoisLoading=!0,this.network.ircClient.whois(this.user.nick,(function(){e.whoisLoading=!1}))},kickUser:function(){var e=this.$state.setting("buffers.default_kick_reason");this.network.ircClient.raw("KICK",this.buffer.name,this.user.nick,e)},createBanMask:function(){if(this.user.account){var e,t=d.extbanAccount(this.network);if(t)return t+":"+this.user.account;if((0,r.default)(e=this.user.host.toLowerCase()).call(e,this.user.account.toLowerCase())>-1)return"*!*@"+this.user.host}var n=new RegExp("("+l.v4().source+"|"+l.v6().source+")");if(n.test(this.user.host)){var i=this.user.host.match(n)[0];if(i!==this.user.host)return"*!*@*"+i+"*"}var s=/^([a-f0-9]{8})$/i;if(s.test(this.user.username)){var a=this.user.username.match(s)[0];return"*!"+a+"@*"}var o=this.$state.setting("buffers.default_ban_mask");return o=o.replace("%n",this.user.nick),o=o.replace("%i",this.user.username),o=o.replace("%h",this.user.host),o},banUser:function(){if(this.user.username&&this.user.host){var e=this.createBanMask();this.network.ircClient.raw("MODE",this.buffer.name,"+b",e)}},kickbanUser:function(){if(this.user.username&&this.user.host){var e=this.createBanMask(),t=this.$state.setting("buffers.default_kick_reason");this.network.ircClient.raw("MODE",this.buffer.name,"+b",e),this.network.ircClient.raw("KICK",this.buffer.name,this.user.nick,t)}}}};t.default=m,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["UserBox"],window._kiwi_exports.components.UserBox=t.default?t.default:t},"4b61":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-ircinput"},[n("div",{ref:"editor",staticClass:"kiwi-ircinput-editor",attrs:{placeholder:e.placeholder,contenteditable:"true",role:"textbox",spellcheck:"true"},on:{keypress:function(t){e.updateValueProps(),e.$emit("keypress",t)},keydown:function(t){e.updateValueProps(),e.$emit("keydown",t)},keyup:function(t){e.updateValueProps(),e.$emit("keyup",t)},textInput:function(t){e.updateValueProps(),e.onTextInput(t),e.$emit("textInput",t)},mouseup:function(t){return e.updateValueProps()},click:function(t){return e.$emit("click",t)},paste:e.onPaste,focus:function(t){return e.onFocus()},blur:function(t){return e.$emit("blur",t)}}})])},s=[]},"4c9f":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-autocomplete kiwi-theme-bg"},e._l(e.filteredAndLimitedItems,(function(t){return n("div",{key:t.type+t.text,class:{"kiwi-autocomplete-item":!0,"kiwi-autocomplete-item--selected":t.idx===e.selected_idx},on:{click:function(n){e.selected_idx=t.idx,e.selectCurrentItem()}}},["user"===t.type?[n("span",{staticClass:"kiwi-autocomplete-item-value"},[e._v(e._s(t.text))]),n("span",{staticClass:"u-link kiwi-autocomplete-item-action",on:{click:function(n){return n.stopPropagation(),e.openQuery(t.text)}}},[e._v(" "+e._s(e.$t("send_message"))+" ")])]:"command"===t.type?[n("span",{staticClass:"kiwi-autocomplete-item-value"},[e._v(e._s(t.text))]),n("span",{staticClass:"u-link kiwi-autocomplete-item-description"},[e._v(" "+e._s(t.description)+" ")])]:[n("span",{staticClass:"kiwi-autocomplete-item-value"},[e._v(e._s(t.text))])]],2)})),0)},s=[]},"4cdc":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=r;var a=i(n("2b0b"));function r(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:3,i=!1,s=[],r=0,o=null,c=1e3,u=null;function l(){if(r=0,s.length){var e=s;s=[],t(e),o=(0,a.default)(l,c)}else o=null}function f(){o||(o=(0,a.default)(l,c))}function d(){o||u||(u=(0,a.default)((function(){u=null,o||(r=0)}),c))}function p(t){i||r++,s.length||r>n?(s.push(t),f()):(i=!0,(0,a.default)((function(){i=!1})),e(t),d())}return p.queue=function(){return s},p}window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["libs"]||(window._kiwi_exports["libs"]={}),window._kiwi_exports["libs"]["batchedAdd"],window._kiwi_exports.libs.batchedAdd=t.default?t.default:t},"4f99":function(e,t,n){"use strict";n("514b")},"4ff2":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-typinguserslist"},[e._l(e.typingUsers,(function(t,i){return n("span",{key:t.nick,style:{color:e.userColour(t)}},[e._v(" "+e._s(t.nick)+e._s(e.typingUsers.length-1>i?",":"")+" ")])})),e._v(" "+e._s(e.typingUsers.length>0?"…":"")+" ")],2)},s=[]},"50ab":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("startup-layout",{ref:"layout",staticClass:"kiwi-welcome-simple",scopedSlots:e._u([e.startupOptions.altComponent?{key:"connection",fn:function(){return[n(e.startupOptions.altComponent,{tag:"component",on:{close:e.onAltClose}})]},proxy:!0}:{key:"connection",fn:function(){return[n("form",{staticClass:"u-form u-form--big kiwi-welcome-simple-form",on:{submit:function(t){return t.preventDefault(),e.formSubmit(t)}}},[n("h2",{domProps:{innerHTML:e._s(e.greetingText)}}),e.errorMessage?n("div",{staticClass:"kiwi-welcome-simple-error"},[e._v(e._s(e.errorMessage))]):e.network&&(e.network.last_error||e.network.state_error)?n("div",{staticClass:"kiwi-welcome-simple-error"},[!e.network.last_error&&e.network.state_error?n("span",[e._v(" "+e._s(e.$t("network_noconnect"))+" ")]):e._e(),n("span",[e._v(" "+e._s(e.network.last_error||e.readableStateError(e.network.state_error))+" ")])]):e._e(),n("input-text",{directives:[{name:"focus",rawName:"v-focus",value:!e.nick||!e.show_password_box,expression:"!nick || !show_password_box"}],attrs:{label:e.$t("nick"),type:"text"},model:{value:e.nick,callback:function(t){e.nick=t},expression:"nick"}}),e.showPass&&e.toggablePass?n("div",{staticClass:"kiwi-welcome-simple-input-container"},[n("label",{staticClass:"kiwi-welcome-simple-have-password"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.show_password_box,expression:"show_password_box"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.show_password_box)?e._i(e.show_password_box,null)>-1:e.show_password_box},on:{change:function(t){var n=e.show_password_box,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.show_password_box=n.concat([a])):r>-1&&(e.show_password_box=n.slice(0,r).concat(n.slice(r+1)))}else e.show_password_box=s}}}),n("span",[e._v(" "+e._s(e.$t("password_have"))+" ")])])]):e._e(),!e.showPass||!e.show_password_box&&e.toggablePass?e._e():n("div",{staticClass:"kiwi-welcome-simple-input-container"},[n("input-text",{directives:[{name:"focus",rawName:"v-focus",value:e.nick||e.show_password_box,expression:"nick || show_password_box"}],attrs:{"show-plain-text":!0,label:e.$t("password"),type:"password"},model:{value:e.password,callback:function(t){e.password=t},expression:"password"}})],1),e.showChannel?n("div",{staticClass:"kiwi-welcome-simple-input-container"},[n("input-text",{attrs:{label:e.$t("channel")},model:{value:e.channel,callback:function(t){e.channel=t},expression:"channel"}})],1):e._e(),n("captcha",{attrs:{network:e.network}}),e.network&&"disconnected"!==e.network.state?n("button",{staticClass:"u-button u-button-primary u-submit kiwi-welcome-simple-start",attrs:{disabled:""}},[n("i",{staticClass:"fa fa-spin fa-spinner",attrs:{"aria-hidden":"true"}})]):n("button",{staticClass:"u-button u-button-primary u-submit kiwi-welcome-simple-start",attrs:{disabled:!e.readyToStart,type:"submit"},domProps:{innerHTML:e._s(e.buttonText)}}),n("div",{domProps:{innerHTML:e._s(e.footerText)}})],1)]},proxy:!0}],null,!0)})},s=[]},51357:function(e,t,n){"use strict";n.r(t);var i=n("35e1"),s=n("9208");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("b119");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},"514b":function(e,t,n){"use strict";n.r(t);var i=n("610e"),s=n("1109");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("6e56");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},"51e1":function(e,t,n){"use strict";var i=n("e25e"),s=n.n(i);s.a},"51e2":function(e,t,n){"use strict";n.r(t);var i=n("d587"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"52fe":function(e,t,n){"use strict";var i=n("3a09"),s=n.n(i);s.a},5318:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement;e._self._c;return e._m(0)},s=[function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("img",{staticClass:"kiwi-loading-logo",attrs:{src:n("134c")}}),i("canvas",{staticClass:"kiwi-loading-animation"})])}]},"53c1":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("fa81")),r=i(n("4573")),o=i(n("385f")),c=i(n("9332")),u=i(n("e54d")),l=i(n("b4f0")),f=i(n("57d8")),d=i(n("8e26")),p=i(n("462f")),h={components:{BufferSettings:l.default,ChannelInfo:f.default,ChannelBanlist:d.default,AwayStatusIndicator:p.default},props:["buffer","sidebarState"],data:function(){return{pluginUiChannelElements:o.default.singleton().channelHeaderPlugins,pluginUiQueryElements:o.default.singleton().queryHeaderPlugins,prompts:{closeChannel:!1}}},computed:{isJoined:function(){var e=this.buffer;return"connected"===e.getNetwork().state&&e.joined},isConnected:function(){return"connected"===this.buffer.getNetwork().state},formattedTopic:function(){var e=(0,u.default)(this.buffer.topic,{extras:!1}),t=(0,c.default)(e);return t},network:function(){return this.buffer.getNetwork()},sidebarSection:function(){return this.sidebarState.section()},userOnline:function(){var e=this.$state.getUser(this.buffer.getNetwork().id,this.buffer.name);return!!e}},created:function(){var e=this;this.listen(this.$state,"document.clicked",(function(t){var n;e.$el.contains(t.target)||(0,r.default)(n=(0,a.default)(e.prompts)).call(n,(function(t){e.prompts[t]=!1}))}))},methods:{showPrompt:function(e){this.prompts[e]=!0},isChannel:function(){return this.buffer.isChannel()},isServer:function(){return this.buffer.isServer()},isQuery:function(){return this.buffer.isQuery()},isSpecial:function(){return this.buffer.isSpecial()},showNetworkSettings:function(e){e.showServerBuffer("settings")},onConnectButtonClick:function(){var e=this.buffer.getNetwork();e.connection.server?e.ircClient.connect():e.showServerBuffer("settings")},toggleUser:function(){var e=this.$state.getUser(this.buffer.getNetwork().id,this.buffer.name);this.sidebarState.toggleUser(e)},joinCurrentBuffer:function(){var e=this.buffer.getNetwork();this.buffer.enabled=!0,e.ircClient.join(this.buffer.name)},closeCurrentBuffer:function(){this.$state.removeBuffer(this.buffer)},onHeaderClick:function(e){var t=e.target.getAttribute("data-channel-name");if(t){var n=this.buffer.getNetwork();this.$state.addBuffer(this.buffer.networkid,t),n.ircClient.join(t)}}}};t.default=h,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["ContainerHeader"],window._kiwi_exports.components.ContainerHeader=t.default?t.default:t},"53e5":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-channelbanlist"},[n("form",{staticClass:"u-form kiwi-channelbanlist",on:{submit:function(e){e.preventDefault()}}},[n("a",{staticClass:"u-link",on:{click:e.updateBanlist}},[e._v(e._s(e.$t("bans_refresh")))]),e.banlist.length>0?n("table",{staticClass:"kiwi-channelbanlist-table"},[n("tr",[n("th",[e._v(e._s(e.$t("bans_user")))]),n("th"),n("th")]),e._l(e.banlist,(function(t){return n("tr",{key:t.banned,attrs:{title:"By "+t.banned_by}},[n("td",{staticClass:"kiwi-channelbanlist-table-mask"},[e._v(e._s(t.banned))]),n("td",{staticClass:"kiwi-channelbanlist-table-bannedat"},[e._v(" "+e._s(new Date(1e3*t.banned_at).toDateString())+" ")]),n("td",{staticClass:"kiwi-channelbanlist-table-actions"},[n("i",{staticClass:"fa fa-trash",attrs:{"aria-hidden":"true"},on:{click:function(n){return e.removeBan(t.banned)}}})])])}))],2):e.is_refreshing?n("div",[e._v(" "+e._s(e.$t("bans_refreshing"))+" ")]):n("div",{staticClass:"kiwi-channelbanlist-empty"},[e._v(" "+e._s(e.$t("bans_nobody"))+" ")])])])},s=[]},5426:function(e,t,n){"use strict";n.r(t);var i=n("b5b6"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"563e":function(e,t,n){"use strict";var i=n("3ea7"),s=n.n(i);s.a},5647:function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80");a(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n("6b47")),o=s(n("2b0b")),c=s(n("3818")),u=s(n("89ba")),l=s(n("fc56")),f=i(n("5a16")),d=i(n("862b")),p=s(n("b4ef")),h=s(n("8753")),w=!0,m={data:function(){return{hasOtherTab:!1,addedNetworkToExisting:!1,server:null,readyToShowOptions:!1}},computed:{networks:function(){return this.$state.networks},hasFragment:function(){return window.location.hash&&window.location.hash.length>1}},created:function(){var e=this;this.$state.setting("allowRegisterProtocolHandler",!0);var t=null;this.hasFragment&&(t=this.parseFragment(),this.server=t),t?this.findOtherTabs().then((function(t){t?e.hasOtherTab=!0:(e.listenForOtherTabs(),e.init()),e.readyToShowOptions=!0})):(this.listenForOtherTabs(),this.init())},methods:{listenForOtherTabs:function(){var e=this;h.default.on("message",(function(t){var n=t.data;if("ping"===n.type&&e.networks.length>0)h.default.send({type:"pong"});else if("addNetwork"===n.type){var i,s=(0,l.default)(i=e.networks).call(i,(function(e){return e.name===n.server}));s||(s=e.$state.addNetwork(n.server,n.nick||"Guest"+Math.floor(100*Math.random()),n)),s.showServerBuffer("settings")}}))},addEmptyNetwork:function(){var e="Guest"+Math.floor(100*Math.random()),t=this.$state.addNetwork(f.t("new_network"),e,{});t.showServerBuffer("settings")},findOtherTabs:function(){return(0,u.default)(r.default.mark((function e(){return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.abrupt("return",new c.default((function(e,t){var n=function(t){var n=t.data;"pong"===n.type&&(clearTimeout(i),e(!0))},i=(0,o.default)((function(t){h.default.removeListener("message",n),e(!1)}),200);h.default.on("message",n),h.default.send({type:"ping"})})));case 1:case"end":return e.stop()}}),e)})))()},addNetworkToExistingTab:function(){var e="Guest"+Math.floor(100*Math.random()),t=this.server;this.$state.addNetwork(f.t("new_network"),e,{}),h.default.send({nick:e,server:t.server,port:t.port,tls:t.tls,password:t.password||"",type:"addNetwork"}),window.location.hash="",this.addedNetworkToExisting=!0},addNetwork:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.server){var t=this.server;e&&(this.$state.persistence.storageKey=null,this.$state.persistence.forgetState(),this.init());var n=this.$state.getNetworkFromAddress(t.server);n||(n=this.$state.addNetwork(t.server,t.nick||"Guest"+Math.floor(100*Math.random()),{server:t.server,port:t.port,tls:t.tls,password:t.password||""})),window.location.hash="",n.showServerBuffer("settings"),this.$emit("start",{fallbackComponent:this.constructor})}},parseFragment:function(){if(window.location.hash.substr(1)){var e=window.location.hash.substr(1),t=e.substr(0,7).toLowerCase();"ircs%3a"!==t&&"irc%3a"!==t.substr(0,6)||(e=decodeURIComponent(e));var n=d.parseIrcUri(e),i=n[0];return i}return null},toggleStateBrowser:function(){this.$state.$emit("statebrowser.show")},init:function(){var e=this;return(0,u.default)(r.default.mark((function t(){var n,i,s,a;return r.default.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(w){t.next=2;break}return t.abrupt("return");case 2:w=!1,n=e.$state.settings.startupOptions.remember_buffers,e.$state.persistence.includeBuffers="undefined"===typeof n||!!n,e.$state.persistence.watchStateForChanges(),e.$state.settings.startupOptions.bouncer&&(s=(0,l.default)(i=e.$state.networks).call(i,(function(e){return e.is_bnc})),s&&(a=new p.default(e.$state),a.enable(s.connection.server,s.connection.port,s.connection.tls,s.connection.direct,s.connection.path))),e.$state.setSetting("settings.restricted",!1),e.$emit("start",{fallbackComponent:e.constructor});case 9:case"end":return t.stop()}}),t)})))()}}};t.default=m,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["startups"]||(window._kiwi_exports["components"]["startups"]={}),window._kiwi_exports["components"]["startups"]["Personal"],window._kiwi_exports.components.startups.Personal=t.default?t.default:t},"56a4":function(e,t,n){"use strict";var i=n("0b4a"),s=n.n(i);s.a},"56d7":function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=s(n("6b47")),r=s(n("89ba")),o=s(n("9a73")),c=s(n("3393")),u=s(n("284c")),l=s(n("a3e3")),f=s(n("65b8")),d=s(n("3818")),p=s(n("bf2d")),h=s(n("3b4c")),w=s(n("fa81")),m=s(n("2b0b")),v=s(n("21e7")),_=s(n("4573")),g=s(n("9474")),k=s(n("2ef0")),b=s(n("5ee5")),y=s(n("5e48")),C=s(n("5f34")),x=s(n("fe83")),$=s(n("55d9")),S=s(n("e508"));n("a899"),n("6d93"),n("5abe");var N=s(n("e68e")),A=s(n("7359")),M=s(n("612c")),T=s(n("00f8")),B=s(n("0470")),P=s(n("7ae5")),O=s(n("f72e")),I=s(n("189e")),E=s(n("e15f")),L=s(n("6197")),j=i(n("70c2")),U=i(n("862b")),R=s(n("385f")),D=n("e019"),F=n("bdce"),q=s(n("2e7b")),H=n("56f3");n("7c06"),n("5f93"),n("72b4"),n("a1a6"),n("a667"),n("4f99"),b.default.use(S.default);var z=window.location.href.match(/kiwi-loglevel=(\d)/);if(z&&z[1]){var V=(0,g.default)(z[1],10);B.default.setLevel(V),(0,B.default)("Logging level set to",V)}var K=B.default.namespace("main"),W=window.kiwi=R.default.singleton();function Q(e){for(var t=window.location.search.substring(1),n=t.split("&"),i=0;i-1){var c=document.createElement("script");c.onerror=function(){var e;K.error((0,l.default)(e="Error loading plugin '".concat(o.name,"' from '")).call(e,o.url,"'")),s()},c.onload=function(){s()},document.body.appendChild(c),c.src=o.url}else fetch(o.url).then((function(e){return e.text()})).then((function(e){var t=document.createElement("div");t.id="kiwi_plugin_"+o.name.replace(/[ "']/g,""),t.style.display="none",t.innerHTML=e;var n=(0,u.default)(t.querySelectorAll("script"));(0,_.default)(n).call(n,(function(e){e.parentElement.removeChild(e);var n=document.createElement("script");n.text=e.text,t.appendChild(n)})),document.body.appendChild(t),s()})).catch((function(){var e;K.error((0,l.default)(e="Error loading plugin '".concat(o.name,"' from '")).call(e,o.url,"'")),s()}));else e()}s()}))}function ee(){b.default.use($.default),W.i18n=C.default,C.default.use(x.default),C.default.init({whitelist:N.default.locales,fallbackLng:"en-us",lowerCaseLng:!0,backend:{loadPath:"static/locales/{{lng}}.json",crossDomain:!1,withCredentials:!1},interpolation:{escapeValue:!1}}),C.default.addResourceBundle("en-us","translation",A.default),b.default.mixin({computed:{$t:function(){var e=this;return function(t,n){var i=e.$i18n.i18next.t(t,n,e.$i18n.i18nLoadedAt);if(!i){var s=n||{};s.lng="en-us",i=e.$i18n.i18next.t(t,s,e.$i18n.i18nLoadedAt)}return i}}}});var e=function(){var e=(0,O.default)().setting("language"),t=k.default.clone(window.navigator&&window.navigator.languages)||[];e&&t.unshift(e),C.default.changeLanguage("en-us");for(var n=0;n:-)":"1f606","':-(":"1f613",">:-(":"1f620",":'-(":"1f622","O:-)":"1f607","0:-3":"1f607","0:-)":"1f607","0;^)":"1f607","O;-)":"1f607","0;-)":"1f607","O:-3":"1f607","-__-":"1f611",":-Þ":"1f61b","<3":"2764",":)":"1f606",">;)":"1f606",">=)":"1f606",XD:"1f606",";-)":"1f609","*-)":"1f609",";-]":"1f609",";^)":"1f609","':(":"1f613","'=(":"1f613",":-*":"1f618",":^*":"1f618",">:P":"1f61c","X-P":"1f61c",">:[":"1f61e",":-(":"1f61e",":-[":"1f61e",">:(":"1f620",":'(":"1f622",";-(":"1f622",">.<":"1f623","#-)":"1f635","%-)":"1f635","X-)":"1f635","\\0/":"1f646","\\O/":"1f646","0:3":"1f607","0:)":"1f607","O:)":"1f607","O=)":"1f607","O:3":"1f607","B-)":"1f60e","8-)":"1f60e","B-D":"1f60e","8-D":"1f60e","-_-":"1f611",">:\\":"1f615",">:/":"1f615",":-/":"1f615",":-.":"1f615",":-P":"1f61b",":Þ":"1f61b",":-b":"1f61b",":-O":"1f62e",O_O:"1f62e",">:O":"1f62e",":-X":"1f636",":-#":"1f636",":-)":"1f642","(y)":"1f44d",":D":"1f603","=D":"1f603",";)":"1f609","*)":"1f609",";]":"1f609",";D":"1f609",":*":"1f618","=*":"1f618",":(":"1f61e",":[":"1f61e","=(":"1f61e",":@":"1f620",";(":"1f622","D:":"1f628",":$":"1f633","=$":"1f633","#)":"1f635","%)":"1f635","X)":"1f635","B)":"1f60e","8)":"1f60e",":/":"1f615",":\\":"1f615","=/":"1f615","=\\":"1f615",":L":"1f615","=L":"1f615",":P":"1f61b",":p":"1f61b","=P":"1f61b",":b":"1f61b",":O":"1f62e",":X":"1f636",":#":"1f636","=X":"1f636","=#":"1f636",":)":"1f642","=]":"1f642","=)":"1f642",":]":"1f642"},emojiLocation:"https://kiwiirc.com/shared/emoji/",textFormats:{user:"%nick",user_full:"%nick (%username@%host)",channel_join:"→ %text",channel_part:"← %text (%reason)",channel_quit:"← %text (%reason)",channel_kicked:"← %text (%reason)",channel_selfkick:"× %text (%reason)",channel_badpassword:"× %text",channel_topic:"ⓘ %text",channel_banned:"× %text",channel_badkey:"⚠ %text",channel_inviteonly:"⚠ %channel %text",channel_alreadyin:"⚠ %nick %text",channel_limitreached:"⚠ %channel %text",channel_invalid_name:"⚠ %channel %text",channel_topic_setby:"ⓘ %text",channel_has_been_invited:"ⓘ %nick %text",server_connecting:"%text",server_connecting_error:"%text",mode:"ⓘ %text",selfmode:"ⓘ %nick %text",nickname_alreadyinuse:"⚠ %text",network_disconnected:"%text",network_connected:"%text",whois_channels:"%text",whois_idle_and_signon:"%text",whois_away:"%text",whois_server:"%text",whois_idle:"%text",whois_notfound:"ⓘ %text",nick_changed:"ⓘ %text",applet_notfound:"⚠ %text",encoding_changed:"ⓘ %text",encoding_invalid:"⚠ %text",settings_saved:"ⓘ %text",ignore_title:"%text:",ignore_none:"%text",ignore_nick:"%text",ignore_stop_notice:"%text",ignore_stopped:"%text",chanop_privs_needed:"⚠ %text",no_such_nick:"ⓘ %nick: %text",unknown_command:"ⓘ %text",motd:"%text",ctcp_response:"[CTCP %nick reply] %message",ctcp_request:"[CTCP %nick] %message",privmsg:"%text",notice:"%text",action:"* %nick %text",whois_ident:"%nick [%nick!%ident@%host] * %text",whois_error:"[%nick] %text",whois:"%text",whowas_ident:"was [%nick!%ident@%host] * %name",whowas_server:"using %server (%info)",whowas_error:"[%nick] %text",who:"%nick [%nick!%ident@%host] * %realname",quit:"%text",rejoin:"%text",set_setting:"ⓘ %text",list_aliases:"ⓘ %text",ignored_pattern:"ⓘ %text",wallops:"[WALLOPS] %text",message_nick:"%prefix%nick",general_error:"%text"},presetNetworks:[]},irc:{showEmojiPicker:!1,sidebarDefault:"nicklist",buffers:{messageLayout:"inline",show_hostnames:!0,coloured_nicklist:!1,colour_nicknames_in_messages:!1,show_emoticons:!1,show_message_info:!1,share_typing:!1,inline_link_auto_previews:!1}},team:{teamHighlights:!0,buffers:{messageLayout:"modern",show_joinparts:!1,show_nick_changes:!0,show_mode_changes:!0,show_realnames:!0}}};t.configTemplates=s},"57d8":function(e,t,n){"use strict";n.r(t);var i=n("2e5f"),s=n("46d4");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("56a4");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},5820:function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80");a(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n("a3e3")),o=s(n("65b8")),c=s(n("47c7")),u=s(n("800f")),l=s(n("9474")),f=i(n("862b")),d=s(n("e7f8")),p=s(n("6269")),h={components:{ServerSelector:p.default,Captcha:d.default},props:["network"],data:function(){return{server_type:"network",znc_username:"",znc_network:"",znc_password:"",show_advanced:!1,switch_tabs_on_connect:!1,network_list:[]}},computed:{settingShowRaw:{get:function(){return this.network.setting("show_raw")},set:function(e){return this.network.setting("show_raw",e)}},directWs:{get:function(){if(!this.network.connection.direct)return"";var e=this.network.connection,t="";t+=e.tls?"wss://":"ws://",t+=e.server;var n=(0,l.default)(e.port,10);return(0,u.default)(n)&&(n=e.tls?443:80),(e.tls&&443!==n||!e.tls&&80!==n)&&(t+=":"+e.port),t+=e.path,t},set:function(e){var t=null;try{t=new c.default(e)}catch(a){return}var n=this.network.connection;n.tls="wss:"===t.protocol.toLowerCase(),n.server=t.hostname;var i=(0,l.default)(t.port,10);(0,u.default)(i)&&(i="wss:"===t.protocol.toLowerCase()?443:80),n.port=i;var s=t.href.replace(t.protocol+"//","");n.path=s.substr((0,o.default)(s).call(s,"/"))}}},watch:{znc_username:function(){this.setZncPass()},znc_network:function(){this.setZncPass()},znc_password:function(){this.setZncPass()},"network.state":function(){this.switch_tabs_on_connect&&("connected"===this.network.state?(this.switch_tabs_on_connect=!1,this.$state.$emit("server.tab.show","messages")):this.network.state_error&&(this.switch_tabs_on_connect=!1))}},created:function(){var e=!!(this.network.connection.password||"").match(/^(.*)\/(.*):(.*)$/);if(this.server_type=e?"znc":"network",e){var t=(this.network.connection.password||"").match(/^(.*)\/(.*):(.*)$/);this.znc_username=t[1]||"",this.znc_network=t[2]||"",this.znc_password=t[3]||""}this.network_list=this.$state.setting("presetNetworks")||[]},methods:{readableStateError:function(e){return f.networkErrorMessage(e)},connect:function(){this.switch_tabs_on_connect=!0,this.network.ircClient.connect()},reconnect:function(){this.network.ircClient.connect()},removeNetwork:function(){var e=confirm("Really remove this network? This cannot be undone!");e&&(this.$state.removeNetwork(this.network.id),this.$state.$emit("active.component"))},setZncPass:function(){var e,t,n=(0,r.default)(e=(0,r.default)(t="".concat(this.znc_username,"/")).call(t,this.znc_network,":")).call(e,this.znc_password);this.network.connection.password=n,this.network.connection.nick=this.znc_username},toggleTls:function(){var e=this.network.connection;e.tls=!e.tls,e.tls&&6667===e.port?e.port=6697:e.tls||6697!==e.port||(e.port=6667)}}};t.default=h,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["NetworkSettings"],window._kiwi_exports.components.NetworkSettings=t.default?t.default:t},5879:function(e,t,n){},"58de":function(e,t,n){"use strict";var i=n("9656"),s=n.n(i);s.a},"59eb":function(e,t,n){"use strict";var i=n("67ea"),s=n.n(i);s.a},"5a07":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("14b1")),r=i(n("9474")),o=i(n("65b8")),c=i(n("a3e3")),u=i(n("fc56")),l=i(n("2ef0")),f={props:{usePreset:{type:Boolean,default:!0},networkList:{type:Array,default:function(){return[]}},connection:{type:Object,default:function(){}}},data:function(){return{name:"",presetNetworks:[],showCustom:!0,willEmit:!1}},computed:{presetServer:{set:function(e){if("custom"===e)this.name="",this.connection.server="",this.connection.port=6697,this.connection.tls=!0,this.showCustom=!0;else{var t=this.parseFormatted(e);this.name=t.name,this.connection.server=t.server,this.connection.port=t.port,this.connection.tls=t.tls,this.showCustom=!1}},get:function(){return this.showCustom?"custom":this.toUri(this.connection)}}},created:function(){this.networkList&&this.importUris(this.networkList);var e=this.connection;(0,u.default)(l.default).call(l.default,this.presetNetworks,(function(t){var n=t.server===e.server&&t.port===e.port&&t.tls===e.tls;return n}))&&(this.showCustom=!1)},methods:{toUri:function(e){var t,n;return(0,c.default)(t=(0,c.default)(n="".concat(e.server,":")).call(n,e.tls?"+":"")).call(t,e.port)},toggleTls:function(){this.connection.tls=!this.connection.tls,this.connection.tls&&6667===this.connection.port?this.connection.port=6697:this.connection.tls||6697!==this.connection.port||(this.connection.port=6667)},parseFormatted:function(e){var t={name:"",server:"",port:6667,tls:!1},n=e,i=(0,o.default)(n).call(n,"|");i>-1&&(t.name=n.substr(0,i),n=n.substr(i+1));var s=(0,o.default)(n).call(n,":");return-1===s?(t.server=n,n=""):(t.server=n.substr(0,s),n=n.substr(s+1)),"+"===n[0]&&(t.tls=!0,n=n.substr(1)),n.length>0&&(t.port=(0,r.default)(n,10),n=""),t.name||(t.name=t.server),t},importUris:function(e){var t=this,n=(0,a.default)(e).call(e,(function(e){return t.parseFormatted(e)}));this.$set(this,"presetNetworks",n)}}};t.default=f,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["ServerSelector"],window._kiwi_exports.components.ServerSelector=t.default?t.default:t},"5a16":function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80");a(t,"__esModule",{value:!0}),t.linkifyChannels=k,t.createNickColour=b,t.toInt=y,t.hexVal=C,t.mapRange=x,t.formatAndT=$,t.formatUser=S,t.formatUserFull=N,t.formatText=A,t.formatDuration=M,t.formatNumber=T,t.t=B,t.channelRegex=t.urlRegex=void 0;var r=s(n("bf2d")),o=s(n("0f79")),c=s(n("800f")),u=s(n("9474")),l=s(n("a3e3")),f=s(n("44a4")),d=s(n("f72e")),p=s(n("189e")),h=s(n("2ef0")),w=i(n("104d")),m=s(n("5f34")),v=i(n("2304")),_=new RegExp(/(([A-Za-z][A-Za-z0-9-]*:\/\/)|(www\.))/.source+"("+/([\w\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF.-]+\.[a-zA-Z]{2,63})/.source+"|"+w.v4().source+"|(\\[?"+w.v6().source+"\\]?))"+/(:[0-9]+)?/.source+/(\/[\w\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF!:.?$'()[\]*,;~+=&%@!\-/]*)?/.source+/(#.*)?/.source,"i");t.urlRegex=_;var g=/(^|\s)([@+~&%}]*)([#&][^ .,\007<>\n\r]+?)([:;.,<>\n\r]+)?$/i;function k(e){return e.replace(g,(function(e,t,n,i,s){var a,r,o,c,u=h.default.escape((0,f.default)(i).call(i)),d=h.default.escape(t),p=h.default.escape(n),w=h.default.escape(s),m=(0,l.default)(a='')).call(a,u,"");return(0,l.default)(r=(0,l.default)(o=(0,l.default)(c="".concat(d)).call(c,p)).call(o,m)).call(r,w)}))}function b(e){var t,n,i=p.default.instance(),s=(e||"").toLowerCase(),a=v.x86.hash32(s),r=y(i.themeVar("nickcolour-count"))||200,o=y(i.themeVar("nickcolour-hueoffset")),c={h:x(Math.abs(a)%r,0,r,0,360)+o,s:y(i.themeVar("nickcolour-saturation"))||70,l:y(i.themeVar("nickcolour-lightness"))||40};return(0,l.default)(t=(0,l.default)(n="hsl(".concat(c.h,", ")).call(n,c.s,"%, ")).call(t,c.l,"%)")}function y(e){var t=(0,u.default)(e,10);return(0,c.default)(t)&&(t=0),t}function C(e,t,n){return(0,u.default)(e.substr(t,n||1),16)}function x(e,t,n,i,s){var a=(0,o.default)(e),r=n-t,c=s-i;return(a-t)*c/r+i}function $(e,t,n,i){var s=B(n,i);return t?(t.text=s,s=A(e,t)):s=A(e,{text:s}),s}function S(e){var t=e;return"object"===(0,r.default)(t)&&(t=t.nick),A("user",{nick:t})}function N(e,t,n){var i="",s="",a="";if("object"===(0,r.default)(e)){var o=e;i=o.nick,s=o.username||o.ident,a=o.hostname||o.host}else i=e,s=t,a=n;return A("user_full",{nick:i,username:s,host:a})}function A(e,t){var n=(0,d.default)().setting("textFormats."+e),i=t;"string"===typeof i&&(i={text:i}),i.user&&(i.nick=i.user.nick||"",i.username=i.user.username||"",i.host=i.user.hostname||"",i.prefix=i.user.prefix||"");var s=n.replace(/%([A-Z]{2,})/gi,(function(e,t){var n="";return"undefined"!==typeof i[t]&&(n=i[t]),n}));return s}function M(e){var t=e,n=Math.floor(t/604800);t-=3600*n*24*7;var i=Math.floor(t/86400);t-=3600*i*24;var s=Math.floor(t/3600);t-=3600*s;var a=Math.floor(t/60);t-=60*a;var r=[];return n&&r.push(B("week",{count:n})),(n||i)&&r.push(B("day",{count:i})),(i||s)&&r.push(B("hour",{count:s})),(i||s||a)&&r.push(B("minute",{count:a})),r.push(B("second",{count:t})),r.join(" ")}function T(e){return e.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,")}function B(e,t){var n=m.default.t(e,t);if(!n){var i=t||{};i.lng="en-us",n=m.default.t(e,i)}return n}t.channelRegex=g,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["helpers"]||(window._kiwi_exports["helpers"]={}),window._kiwi_exports["helpers"]["TextFormatting"],window._kiwi_exports.helpers.TextFormatting=t.default?t.default:t},"5a9e":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-buffersettings"},[n("div",{staticClass:"kiwi-buffersettings-alerts"},[n("h3",[e._v(e._s(e.$t("settings_notify")))]),n("hr"),n("form",{staticClass:"u-form"},[n("label",{staticClass:"u-checkbox-wrapper"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingAlertOn,expression:"settingAlertOn"}],attrs:{type:"radio",name:"alert_on",value:"message"},domProps:{checked:e._q(e.settingAlertOn,"message")},on:{change:function(t){e.settingAlertOn="message"}}}),n("span",[e._v(e._s(e.$t("settings_notify_all")))])]),n("label",{staticClass:"u-checkbox-wrapper"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingAlertOn,expression:"settingAlertOn"}],attrs:{type:"radio",name:"alert_on",value:"highlight"},domProps:{checked:e._q(e.settingAlertOn,"highlight")},on:{change:function(t){e.settingAlertOn="highlight"}}}),n("span",[e._v(e._s(e.$t("settings_notify_mentioned")))])]),n("label",{staticClass:"u-checkbox-wrapper"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingAlertOn,expression:"settingAlertOn"}],attrs:{type:"radio",name:"alert_on",value:"never"},domProps:{checked:e._q(e.settingAlertOn,"never")},on:{change:function(t){e.settingAlertOn="never"}}}),n("span",[e._v(e._s(e.$t("settings_notify_never")))])])]),n("h3",[e._v(e._s(e.$t("settings")))]),n("hr"),n("form",{staticClass:"u-form"},[n("label",[n("span",[e._v(e._s(e.$t("settings_notify_mute")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingMuteSound,expression:"settingMuteSound"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settingMuteSound)?e._i(e.settingMuteSound,null)>-1:e.settingMuteSound},on:{change:function(t){var n=e.settingMuteSound,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.settingMuteSound=n.concat([a])):r>-1&&(e.settingMuteSound=n.slice(0,r).concat(n.slice(r+1)))}else e.settingMuteSound=s}}})]),n("label",[n("span",[e._v(e._s(e.$t("settings_show_message_counts")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingHideMessageCount,expression:"settingHideMessageCount"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settingHideMessageCount)?e._i(e.settingHideMessageCount,null)>-1:e.settingHideMessageCount},on:{change:function(t){var n=e.settingHideMessageCount,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.settingHideMessageCount=n.concat([a])):r>-1&&(e.settingHideMessageCount=n.slice(0,r).concat(n.slice(r+1)))}else e.settingHideMessageCount=s}}})])])])])},s=[]},"5b34":function(e,t,n){},"5bc7":function(e,t,n){"use strict";n.r(t);var i=n("b6b1"),s=n("15d0");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("d58a");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},"5c34":function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80");a(t,"__esModule",{value:!0}),t.create=L;var r=s(n("2d80")),o=s(n("1e75")),c=s(n("aa3c")),u=s(n("7c78")),l=s(n("3960")),f=s(n("44a4")),d=s(n("14b1")),p=s(n("fa81")),h=s(n("a3e3")),w=s(n("e4f0")),m=s(n("3393")),v=s(n("fc56")),_=s(n("52da")),g=s(n("b6ce")),k=s(n("65b8")),b=s(n("284c")),y=s(n("2fa7")),C=s(n("4573")),x=s(n("3002")),$=s(n("e76e")),S=s(n("2ef0")),N=s(n("e9c4")),A=s(n("f43a")),M=i(n("5a16")),T=i(n("7277")),B=s(n("eef1")),P=s(n("9965")),O=i(n("fcde"));function I(e,t){var n=(0,p.default)(e);if(l.default){var i=(0,l.default)(e);t&&(i=(0,w.default)(i).call(i,(function(t){return(0,u.default)(e,t).enumerable}))),n.push.apply(n,i)}return n}function E(e){for(var t=1;t-1&&(d[d.length-1]=":"+d[d.length-1]);var p=t.serverBuffer();e.addMessage(p,{time:(0,x.default)(),nick:"",message:i.command+" "+d.join(" ")})}r()}}function a(s,a,r,o){var c={handled:!1};if(e.$emit("irc."+s,a,t,c),c.handled)o();else if(a&&"CONTROL"===a.command)o();else{var u=a&&a.time?t.ircClient.network.timeToLocal(a.time):(0,x.default)(),l=a&&a.time||0;if("channel_redirect"===s){var b=t.bufferByName(a.from);b&&((0,g.default)(b).redirect_to=a.to)}if("registered"===s){i=!0,t.nick=a.nick,e.addUser(n,{nick:a.nick,username:r.user.username});var y,$,A=t.serverBuffer();if(e.addMessage(A,{time:(0,x.default)(),nick:"",message:M.t("connected_to",{network:r.network.name})}),r.raw("WHO "+a.nick),t.auto_commands)(0,C.default)(y=t.auto_commands.split("\n")).call(y,(function(t){e.$emit("input.raw","/"===t[0]?t:"/".concat(t))}));if(!t.connection.bncnetid)(0,C.default)($=t.buffers).call($,(function(e){e.isChannel()&&e.enabled&&r.join(e.name,e.key)}));0}if("server options"===s&&("Network"===r.network.name||t.connection.bncnetid||(t.name=r.network.name)),"unknown command"===s)if("486"===a.command){var B=a.params[1],P=e.getOrAddBufferByName(t.id,B);e.addMessage(P,{time:(0,x.default)(),nick:"*",message:a.params[2],type:"error"})}else{var O=t.serverBuffer(),I="";a.command.match(/^\d+$/)||(I+=a.command+" ");var E=a.params[0]===t.ircClient.user.nick,L=t.isChannelName(a.params[1]);if(E&&L){var j,R=t.bufferByName(a.params[1]);R&&(O=R),I+=(0,_.default)(j=a.params).call(j,2).join(", ")}else if(E){var D;I+=(0,_.default)(D=a.params).call(D,1).join(", ")}else I+=a.params.join(", ");e.addMessage(O,{nick:"",message:I})}if("batch start chathistory"===s.toLowerCase()&&r.chathistory){var F,q=0,H=0;if((0,C.default)(F=a.commands).call(F,(function(e){e.time&&e.time>H&&(H=e.time),e.time&&e.time0,Re=[];if((0,C.default)(Le=a.users).call(Le,(function(e){Re.push({user:{nick:e.nick,username:e.ident,hostname:e.hostname},modes:e.modes})})),e.addMultipleUsersToBuffer(je,Re),!Ue&&t.ircClient.chathistory.isSupported()){var De=je.isChannel()||je.isQuery();De&&je.requestLatestScrollback()}}if("channel info"===s){var Fe=t.bufferByName(a.channel);if(!Fe)return;if(a.modes){var qe,He=[];(0,C.default)(qe=a.modes).call(qe,(function(t){var n="+"===t.mode[0],i=t.mode.substr(1);n?e.$set(Fe.modes,i,t.param):n||e.$delete(Fe.modes,i),He.push(t.mode+(t.param?" "+t.param:""))})),(0,g.default)(Fe).requested_modes&&e.addMessage(Fe,{time:u,server_time:l,nick:"*",message:Fe.name+" "+He.join(", ")})}if(a.created_at&&(Fe.created_at=new Date(1e3*a.created_at)),a.created_at&&(0,g.default)(Fe).requested_modes){var ze=Fe.setting("timestamp_full_format"),Ve=ze?(0,N.default)(ze,new Date(1e3*a.created_at)):new Date(1e3*a.created_at).toLocaleString();e.addMessage(Fe,{time:u,server_time:l,nick:"*",message:Fe.name+" "+Ve})}}if("mode"===s){var Ke=t.bufferByName(a.target),We={};if(Ke){var Qe;(0,C.default)(Qe=a.modes).call(Qe,(function(n){We[n.mode]=We[n.mode]||[];var i=(0,v.default)(S.default).call(S.default,t.ircClient.network.options.PREFIX,{mode:n.mode[1]});if(i){var s=e.getUser(t.id,n.param);if(s){var a="+"===n.mode[0],r=s.buffers[Ke.id].modes,o=(0,k.default)(r).call(r,i.mode);a&&-1===o?r.push(i.mode):!a&&o>-1&&(0,m.default)(r).call(r,o,1)}We[n.mode].push({target:n.param})}else{var c="+"===n.mode[0],u=n.mode.substr(1);c?e.$set(Ke.modes,u,n.param):c||e.$delete(Ke.modes,u),We[n.mode].push({target:Ke.name,param:n.param})}}));var Ye={"+o":"modes_give_ops","-o":"modes_take_ops","+h":"modes_give_halfops","-h":"modes_take_halfops","+v":"modes_give_voice","-v":"modes_take_voice","+a":"modes_give_admin","-a":"modes_take_admin","+q":"modes_give_owner","-q":"modes_take_owner","+b":"modes_gives_ban","-b":"modes_takes_ban"};T.isQChannelModeOwner(t)||(delete Ye["+q"],delete Ye["-q"]),T.isAChannelModeAdmin(t)||(delete Ye["+a"],delete Ye["-a"]),T.supportsHalfOp(t)||(delete Ye["+h"],delete Ye["-h"]);var Ge={default:function(e,t){return{mode:t+(e[0].param?" "+e[0].param:""),target:(0,d.default)(e).call(e,(function(e){return e.target})).join(", "),nick:a.nick}},b:function(e,t){return{mode:t,target:e[0].param?e[0].param:"",nick:a.nick}}};S.default.each(We,(function(t,n){var i=Ge,s=i[n[1]]||i.default,r=s(t,n),o=Ye[n]||"modes_other",c=M.t(o,r),f=M.formatText("mode",{nick:a.nick,username:a.ident,host:a.hostname,target:(0,d.default)(t).call(t,(function(e){return e.target})).join(", "),text:c});e.addMessage(Ke,{time:u,server_time:l,nick:"",message:f,type:"mode"})}))}else{var Je,Ze={};(0,C.default)(Je=a.modes).call(Je,(function(e){if(e.param)Ze[e.mode]=" "+e.param;else if("-"===e.mode[0]){var t;Ze["-"]||(Ze["-"]=""),Ze["-"]+=(0,_.default)(t=e.mode).call(t,1)}else{var n;if(Ze["+"]||(Ze["+"]=""),"+"===e.mode[0])Ze["+"]+=(0,_.default)(n=e.mode).call(n,1);else Ze["+"]+=e.mode}}));var Xe=t.serverBuffer();S.default.each(Ze,(function(t,n){var i=M.t("modes_other",{nick:a.nick,target:a.target,mode:n+t}),s=M.formatText("mode",{nick:a.nick,username:a.ident,host:a.hostname,target:a.target,text:i});e.addMessage(Xe,{time:(0,x.default)(),nick:"",message:s,type:"mode"})}))}}if("banlist"===s){var et=e.getBufferByName(n,a.channel);if(et&&(0,g.default)(et).requested_banlist){if(a.bans&&0!==a.bans.length){var tt="";S.default.each(a.bans,(function(e){var t,n,i=new Date(1e3*e.banned_at).toDateString();tt+=(0,h.default)(t=(0,h.default)(n="+b ".concat(e.banned," [by ")).call(n,e.banned_by,", ")).call(t,i,"]\n")})),e.addMessage(et,{time:u,server_time:l,nick:"*",message:tt,type:"banlist"})}else e.addMessage(et,{time:u,server_time:l,nick:"",message:M.t("bans_nobody"),type:"banlist"});(0,g.default)(et).requested_banlist=!1}}if("topic"===s){var nt,it=e.getOrAddBufferByName(n,a.channel);it.topic=a.topic||"";var st="";a.nick?st=M.formatAndT("channel_topic",null,"changed_topic_to",{nick:a.nick,topic:a.topic}):(0,f.default)(nt=it.topic).call(nt)&&(st=M.formatText("channel_topic",it.topic)),st&&e.addMessage(it,{time:u,server_time:l,nick:"",message:st,type:"topic"})}if("ctcp response"===s||"ctcp request"===s){var at=t.bufferByName(a.target)||t.serverBuffer(),rt="ctcp response"===s?"ctcp_response":"ctcp_request",ot=M.formatText(rt,{nick:a.nick,message:a.message,type:a.type});e.addMessage(at,{time:u,server_time:l,nick:"",message:ot,type:"error"}),"ctcp request"===s&&"VERSION"===a.type&&r.ctcpResponse(a.nick,"VERSION","Kiwi IRC")}if("nick invalid"===s){var ct=M.formatText("general_error",{text:a.reason}),ut=e.getActiveBuffer();e.addMessage(ut,{time:u,server_time:l,nick:"",message:ct,type:"error"}),i||(t.last_error_numeric=432,t.last_error=a.reason,t.ircClient.quit())}if("irc error"===s){var lt;if((a.channel||a.nick)&&(lt=e.getOrAddBufferByName(t.id,a.channel||a.nick)),lt||(lt=t.serverBuffer()),!lt)return;if("bad_channel_key"===a.error&&((0,g.default)(lt).channel_badkey=!0),a.reason&&432!==t.last_error_numeric){i||(t.last_error=a.reason);var ft=M.formatText("general_error",{text:a.reason||a.error});e.addMessage(lt,{time:u,server_time:l,nick:"",message:ft,type:"error"})}lt.isChannel()&&!lt.joined&&(lt.enabled=!1)}o()}}}function U(e,t){return Math.floor(Math.random()*(t-e+1)+e)}window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["libs"]||(window._kiwi_exports["libs"]={}),window._kiwi_exports["libs"]["IrcClient"],window._kiwi_exports.libs.IrcClient=t.default?t.default:t},"5d58":function(e,t,n){"use strict";n.r(t);var i=n("ba06"),s=n("1d88");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("a017");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!0,null,"fe3ccb9c",null);t["default"]=o.exports},"5db0":function(e,t,n){"use strict";n.r(t);var i=n("6bd6"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"5ea5":function(e,t,n){"use strict";n.r(t);var i=n("85d6"),s=n("eaab");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("dd9f");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},"5f93":function(e,t,n){"use strict";n.r(t);var i=n("1871"),s=n("f67b");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("8008");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},"5fa6":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-userbox"},[e.isSelf?n("span",{staticClass:"kiwi-userbox-selfprofile"},[e._v(" "+e._s(e.$t("user_you"))+" ")]):e._e(),n("div",{staticClass:"kiwi-userbox-header"},[n("h3",[n("away-status-indicator",{attrs:{network:e.network,user:e.user}}),e._v(" "+e._s(e.user.nick)+" "),e.userMode?n("span",{staticClass:"kiwi-userbox-modestring"},[e._v("+"+e._s(e.userMode))]):e._e()],1),n("div",{staticClass:"kiwi-userbox-usermask"},[e._v(e._s(e.user.username)+"@"+e._s(e.user.host))])]),n("div",{staticClass:"kiwi-userbox-basicinfo"},[n("span",{staticClass:"kiwi-userbox-basicinfo-title"},[e._v(e._s(e.$t("whois_realname"))+":")]),n("span",{staticClass:"kiwi-userbox-basicinfo-data",domProps:{innerHTML:e._s(e.formattedRealname)}})]),n("p",{staticClass:"kiwi-userbox-actions"},[e.isSelf||e.buffer.isQuery()?e._e():n("a",{staticClass:"kiwi-userbox-action",on:{click:e.openQuery}},[n("i",{staticClass:"fa fa-comment-o",attrs:{"aria-hidden":"true"}}),e._v(" "+e._s(e.$t("send_a_message"))+" ")]),e.whoisRequested?e._e():n("a",{staticClass:"kiwi-userbox-action",on:{click:e.updateWhoisData}},[n("i",{staticClass:"fa fa-question-circle",attrs:{"aria-hidden":"true"}}),e._v(" "+e._s(e.$t("more_information"))+" ")])]),e.isSelf?e._e():n("form",{staticClass:"u-form kiwi-userbox-ignoreuser"},[n("label",[n("input",{directives:[{name:"model",rawName:"v-model",value:e.user.ignore,expression:"user.ignore"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.user.ignore)?e._i(e.user.ignore,null)>-1:e.user.ignore},on:{change:function(t){var n=e.user.ignore,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&e.$set(e.user,"ignore",n.concat([a])):r>-1&&e.$set(e.user,"ignore",n.slice(0,r).concat(n.slice(r+1)))}else e.$set(e.user,"ignore",s)}}}),n("span",[e._v(" "+e._s(e.$t("ignore_user"))+" ")])])]),e.whoisRequested?n("div",{staticClass:"kiwi-userbox-whois",class:[e.whoisLoading?"kiwi-userbox-whois--loading":""]},[e.whoisLoading?[n("i",{staticClass:"fa fa-spinner",attrs:{"aria-hidden":"true"}})]:[n("span",{staticClass:"kiwi-userbox-whois-line"},[e._v(" "+e._s(e.user.away?e.$t("whois_status")+": "+e.user.away:e.$t("whois_status_available"))+" ")]),e.user.account?n("span",{staticClass:"kiwi-userbox-whois-line"},[e._v(" "+e._s(e.$t("user_account",{user:e.user.account}))+" ")]):e._e(),n("span",{staticClass:"kiwi-userbox-whois-line"},[e._v(" "+e._s(e.$t("user_realname",{realname:e.user.realname}))+" ")]),e.user.bot?n("span",{staticClass:"kiwi-userbox-whois-line"},[e._v(e._s(e.$t("user_bot")))]):e._e(),e.user.helpop?n("span",{staticClass:"kiwi-userbox-whois-line"},[e._v(" "+e._s(e.$t("user_help"))+" ")]):e._e(),e.user.operator?n("span",{staticClass:"kiwi-userbox-whois-line"},[e._v(" "+e._s(e.$t("user_op"))+" ")]):e._e(),e.user.server?n("span",{staticClass:"kiwi-userbox-whois-line"},[e._v(" "+e._s(e.$t("user_server",{server:e.user.server,info:e.user.server_info?"("+e.user.server_info+")":""}))+" ")]):e._e(),e.user.secure?n("span",{staticClass:"kiwi-userbox-whois-line"},[e._v(" "+e._s(e.$t("user_secure"))+" ")]):e._e(),e.user.channels?n("span",{staticClass:"kiwi-userbox-whois-line",domProps:{innerHTML:e._s(e.$t("user_channels",{channels:e.userChannels}))},on:{click:function(t){return e.onChannelsClick(t)}}}):e._e()]],2):e._e(),e.buffer.isChannel()&&e.areWeAnOp&&!e.isSelf?n("div",{staticClass:"kiwi-userbox-opactions"},[n("form",{staticClass:"u-form",on:{submit:function(e){e.preventDefault()}}},[e.isUserOnBuffer?n("label",[e._v(" "+e._s(e.$t("user_access"))+" "),n("select",{directives:[{name:"model",rawName:"v-model",value:e.userMode,expression:"userMode"}],on:{change:function(t){var n=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){var t="_value"in e?e._value:e.value;return t}));e.userMode=t.target.multiple?n:n[0]}}},[e._l(e.availableChannelModes,(function(t){return n("option",{key:t.mode,domProps:{value:t.mode}},[e._v(" "+e._s(t.description)+" ")])})),n("option",{attrs:{value:""}},[e._v(e._s(e.$t("user_normal")))])],2)]):e._e(),e.isUserOnBuffer?n("label",[n("button",{staticClass:"u-button u-button-secondary\n kiwi-userbox-opaction-kick kiwi-userbox-opaction",on:{click:e.kickUser}},[n("i",{staticClass:"fa fa-sign-out",attrs:{"aria-hidden":"true"}}),e._v(" "+e._s(e.$t("user_kick"))+" ")])]):e._e(),n("label",[n("button",{staticClass:"u-button u-button-secondary\n kiwi-userbox-opaction-ban kiwi-userbox-opaction",on:{click:e.banUser}},[n("i",{staticClass:"fa fa-ban",attrs:{"aria-hidden":"true"}}),e._v(" "+e._s(e.$t("user_ban"))+" ")])]),e.isUserOnBuffer?n("label",[n("button",{staticClass:"u-button u-button-secondary\n kiwi-userbox-opaction-kickban kiwi-userbox-opaction",on:{click:e.kickbanUser}},[n("i",{staticClass:"fa fa-exclamation-triangle",attrs:{"aria-hidden":"true"}}),e._v(" "+e._s(e.$t("user_kickban"))+" ")])]):e._e()])]):e._e()])},s=[]},"5fce":function(e,t,n){},"5fd8":function(e,t,n){"use strict";var i=n("16a2"),s=n.n(i);s.a},6058:function(e,t,n){"use strict";var i=n("be0a"),s=n.n(i);s.a},"610e":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-personal"},[n("h1",[e._v(e._s(e.$t("personal_client")))]),n("p",[e._v(e._s(e.$t("personal_addjoin")))]),n("p",[e._v(e._s(e.$t("personal_return")))]),n("button",{staticClass:"u-button u-button-primary",on:{click:e.addNetwork}},[e._v(" "+e._s(e.$t("personal_add"))+" ")]),e._v(" "),n("br"),e.networks.length>0?n("a",{staticClass:"u-link kiwi-personal-existing-networks",on:{click:function(t){return t.stopPropagation(),e.toggleStateBrowser(t)}}},[e._v(" "+e._s(e.$t("personal_saved"))+" ")]):e._e(),n("div",{staticClass:"kiwi-aboutnew-content",class:{"kiwi-aboutnew-content--open":e.about_open},domProps:{innerHTML:e._s(e.aboutContent)}}),n("div",{staticClass:"kiwi-aboutnew"},[n("div",{staticClass:"kiwi-aboutnew-sep"}),n("a",{staticClass:"u-link",on:{click:function(t){e.about_open=!e.about_open}}},[e._v(" Link to your network / channel ")]),n("div",{staticClass:"kiwi-aboutnew-help"},[n("a",{on:{click:function(t){e.about_open=!e.about_open}}},[n("i",{staticClass:"fa fa-question-circle",attrs:{"aria-hidden":"true"}})])])])])},s=[]},"612c":function(e,t,n){"use strict";n.r(t);var i=n("f45b"),s=n("1612");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("7768");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},6150:function(e,t,n){"use strict";var i=n("2d80");i(t,"__esModule",{value:!0}),t.default=void 0;var s=[{command:"msg",alias:[],description:"locale_id_command_msg"},{command:"action",alias:[],description:"locale_id_command_action"},{command:"join",alias:[],description:"locale_id_command_join"},{command:"part",alias:[],description:"locale_id_command_part"},{command:"cycle",alias:[],description:"locale_id_command_cycle"},{command:"nick",alias:[],description:"locale_id_command_nick"},{command:"query",alias:[],description:"locale_id_command_query"},{command:"invite",alias:[],description:"locale_id_command_invite"},{command:"topic",alias:[],description:"locale_id_command_topic"},{command:"notice",alias:[],description:"locale_id_command_notice"},{command:"quote",alias:[],description:"locale_id_command_quote"},{command:"kick",alias:[],description:"locale_id_command_kick"},{command:"clear",alias:[],description:"locale_id_command_clear"},{command:"ctcp",alias:[],description:"locale_id_command_ctcp"},{command:"quit",alias:[],description:"locale_id_command_quit"},{command:"server",alias:[],description:"locale_id_command_server"},{command:"whois",alias:[],description:"locale_id_command_whois"},{command:"whowas",alias:[],description:"locale_id_command_whowas"},{command:"away",alias:[],description:"locale_id_command_away"},{command:"back",alias:["active"],description:"locale_id_command_back"},{command:"encoding",alias:[],description:"locale_id_command_encoding"},{command:"ignore",alias:[],description:"locale_id_command_ignore"},{command:"unignore",alias:[],description:"locale_id_command_unignore"},{command:"dice",alias:[],description:"locale_id_command_dice"}];t.default=s,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["res"]||(window._kiwi_exports["res"]={}),window._kiwi_exports["res"]["autocompleteCommands"],window._kiwi_exports.res.autocompleteCommands=t.default?t.default:t},6197:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("5b1a")),r=i(n("14b1")),o=i(n("4573")),c=i(n("6b47")),u=i(n("89ba")),l=i(n("9f12")),f=i(n("53fe")),d=i(n("2ef0")),p=function(){function e(t,n,i,s){(0,l.default)(this,e),this.storageKey=t,this.state=n,this.storage=i,this.logger=s,this.isPersisting=!1,this.includeBuffers=!0,this.watcher=null,this.state.persistence=this}return(0,f.default)(e,[{key:"loadStateIfExists",value:function(){var e=(0,u.default)(c.default.mark((function e(){var t;return c.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(this.storageKey){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,this.storage.get(this.storageKey);case 4:t=e.sent,t&&(this.logger&&this.logger("Importing state",t),this.state.importState(t));case 6:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"stopWatchingState",value:function(){this.watcher&&(this.watcher(),this.watcher=null)}},{key:"watchStateForChanges",value:function(){var e=this;if(this.storageKey){var t=d.default.debounce((function(){e.logger&&e.logger("State updated, setting localStorage"),e.storage.set(e.storageKey,e.state.exportState(e.includeBuffers))}),1e3);this.state.$watch("networks",t,{deep:!0}),this.state.$watch("user_settings",t,{deep:!0}),this.watcher=this.state.$watch((function(){var t,n=[];return(0,o.default)(t=e.state.networks).call(t,(function(e){var t,i,s=[];s.push((0,r.default)(t=e.buffers).call(t,(function(e){return e.name})).join(",")),(0,o.default)(i=e.buffers).call(i,(function(e){s.push([e.name,e.settings,e.joined,e.enabled,e.last_read])})),n.push(s)})),(0,a.default)(n)}),t),this.isPersisting=!0}}},{key:"forgetState",value:function(){var e=(0,u.default)(c.default.mark((function e(){return c.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return this.state.resetState(),e.next=3,this.storage.set(this.storageKey,null);case 3:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()}]),e}();t.default=p,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["libs"]||(window._kiwi_exports["libs"]={}),window._kiwi_exports["libs"]["StatePersistence"],window._kiwi_exports.libs.StatePersistence=t.default?t.default:t},6269:function(e,t,n){"use strict";n.r(t);var i=n("8438"),s=n("1dc6");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("51e1");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},6281:function(e,t,n){"use strict";var i=n("2d80");i(t,"__esModule",{value:!0}),t.default=void 0;var s={props:["network"],data:function(){return{recaptchaUrl:"",recaptchaSiteId:"",recaptchaResponse:"",showCaptcha:!1}},created:function(){var e=this,t=this.$state.settings.startupOptions;this.recaptchaSiteId=t.recaptchaSiteId||"",this.recaptchaUrl=t.recaptchaUrl||"https://www.google.com/recaptcha/api.js",this.listen(this.$state,"network.connecting",(function(t){t.network.ircClient.once("socket connected",(function(){e.recaptchaResponse&&t.network.ircClient.raw("CAPTCHA",e.recaptchaResponse)}))})),this.listen(this.$state,"irc.raw.CAPTCHA",(function(t,n,i){i===e.network&&"NEEDED"===n.params[0]&&e.loadRecaptcha()}))},methods:{loadRecaptcha:function(){var e=this;this.showCaptcha=!0,window.recaptchaLoaded=function(){window.grecaptcha.render(e.$refs.captchacontainer,{sitekey:e.recaptchaSiteId,callback:e.recaptchaSuccess,"expired-callback":e.recaptchaExpired})};var t=document.createElement("script");t.src=this.recaptchaUrl+"?onload=recaptchaLoaded&render=explicit",t.defer=!0,this.$el.appendChild(t)},recaptchaSuccess:function(e){this.recaptchaResponse=e,this.network&&"connecting"===this.network.state&&this.network.ircClient.raw("CAPTCHA",e),this.showCaptcha=!1},recaptchaExpired:function(){this.recaptchaResponse=""}}};t.default=s,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["Captcha"],window._kiwi_exports.components.Captcha=t.default?t.default:t},"62c3":function(e,t,n){"use strict";n.r(t);var i=n("3d4c"),s=n("51e2");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("2d13");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},6307:function(e,t,n){"use strict";n.r(t);var i=n("b388"),s=n("43bd");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("f93a");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},6645:function(e,t,n){"use strict";n.r(t);var i=n("5318"),s=n("c2a9");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("d777");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},"67ea":function(e,t,n){},"68bb":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-nicklist",class:{"kiwi-nicklist--filtering":e.filter_visible,"kiwi-nicklist--avatars":e.shouldShowAvatars}},[n("div",{staticClass:"kiwi-nicklist-usercount",on:{click:e.toggleUserFilter}},[n("span",[e._v(" "+e._s(e.filter_visible?e.sortedUsers.length:e.$t("person",{count:e.sortedUsers.length}))+" ")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.user_filter,expression:"user_filter"}],ref:"user_filter",attrs:{placeholder:e.$t("filter_users")},domProps:{value:e.user_filter},on:{blur:e.onFilterBlur,input:function(t){t.target.composing||(e.user_filter=t.target.value)}}}),n("i",{staticClass:"fa fa-search"})]),n("DynamicScroller",{staticClass:"kiwi-nicklist-users",attrs:{items:e.sortedUsers,"min-item-size":34,"key-field":"nick"},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.item,s=t.index,a=t.active;return[n("DynamicScrollerItem",{attrs:{item:i,active:a,"size-dependencies":[],"data-index":s}},[n("nicklist-user",{key:i.nick,attrs:{user:i,nicklist:e.self,network:e.network}})],1)]}}])})],1)},s=[]},"691c":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-channellist",class:{"kiwi-channellist-padding-top":!e.list.length}},[n("div",{staticClass:"kiwi-channellist-content-container"},[n("div",{staticClass:"kiwi-channellist-nav"},[n("form",{staticClass:"u-form u-form--big kiwi-channellist-search",on:{submit:function(e){e.preventDefault()}}},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.search,expression:"search"}],staticClass:"u-input",attrs:{placeholder:e.$t("do_search")},domProps:{value:e.search},on:{input:function(t){t.target.composing||(e.search=t.target.value)}}}),n("a",{staticClass:"u-button kiwi-channellist-refresh",class:{"u-button-primary":!e.isLoading,"u-button-secondary":e.isLoading},on:{click:e.maybeUpdateList}},[e.isLoading?n("i",{staticClass:"fa fa-refresh fa-spin",attrs:{"aria-hidden":"true"}}):n("i",{staticClass:"fa fa-refresh",attrs:{"aria-hidden":"true"}})])]),e.list.length?n("div",{staticClass:"kiwi-channellist-pagination"},[n("a",{on:{click:e.prevPage}},[n("i",{staticClass:"fa fa-step-backward",attrs:{"aria-hidden":"true"}})]),e._v(" "+e._s(e.page+1)+" / "+e._s(e.maxPages+1)+" "),n("a",{on:{click:e.nextPage}},[n("i",{staticClass:"fa fa-step-forward",attrs:{"aria-hidden":"true"}})])]):e._e()]),n("div",{staticClass:"kiwi-channellist-table"},[e.isLoading||e.noResults?e.noResults?n("div",{staticClass:"kiwi-channellist-info"},[n("p",[e._v(e._s(e.$t("channel_list_nonefound")))])]):n("div",{staticClass:"kiwi-channellist-info"},[e._v(e._s(e.$t("channel_list_fetch")))]):n("table",{key:e.last_updated,attrs:{width:"100%"}},[n("tbody",e._l(e.paginated,(function(t){return n("tr",{key:t.channel},[n("td",{staticClass:"kiwi-channellist-user-center"},[t.num_users>=0?n("span",{staticClass:"kiwi-channellist-users"},[n("i",{staticClass:"fa fa-user",attrs:{"aria-hidden":"true"}}),e._v(" "+e._s(t.num_users)+" ")]):e._e()]),n("td",[n("a",{staticClass:"u-link",on:{click:function(n){return e.joinChannel(t.channel)}}},[e._v(" "+e._s(t.channel)+" ")])]),n("td",{staticClass:"kiwi-channellist-table-topic"},[n("div",{domProps:{innerHTML:e._s(e.formatAndTrimTopic(t.topic))}})]),n("td",{staticClass:"kiwi-channellist-user-center"},[n("a",{staticClass:"u-button u-button-primary",on:{click:function(n){return e.joinChannel(t.channel)}}},[e._v(" "+e._s(e.$t("container_join"))+" ")])])])})),0)])])])])},s=[]},"6ac05":function(e,t,n){"use strict";var i=n("17cf"),s=n.n(i);s.a},"6bd6":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("4573")),r=i(n("2ef0")),o=i(n("189e")),c=i(n("385f")),u=i(n("3c38")),l=i(n("ac2f")),f=i(n("c35c"));function d(e){return{get:function(){return this.$state.setting(e)},set:function(t){this.$state.setting(e,t)}}}var p={components:{SettingsAliases:l.default,SettingsAdvanced:f.default},data:function(){return{theme:"",customThemeUrl:"",pluginUiElements:c.default.singleton().appSettingsPlugins,localesList:u.default}},computed:{themeSupportsMonospace:function(){var e=o.default.instance(),t=e.themeVar("supports-monospace");return"1"===t},canRegisterProtocolHandler:function(){return!!navigator.registerProtocolHandler&&this.$state.setting("allowRegisterProtocolHandler")},timestamps_24h:{get:function(){return"%H"===this.$state.setting("buffers.timestamp_format").substr(0,2)},set:function(e){var t=e?"%H:%M:%S":"%l:%M:%S %p";this.$state.setting("buffers.timestamp_format",t)}},settings:function(){return this.$state.settings},settingShowAutoComplete:d("showAutocomplete"),settingUseMonospace:d("useMonospace"),settingHighlights:d("highlights"),settingBufferColourNicknames:d("buffers.colour_nicknames_in_messages"),settingBufferShowTimestamps:d("buffers.show_timestamps"),settingBufferShowEmoticons:d("buffers.show_emoticons"),settingBufferBlockPms:d("buffers.block_pms"),settingBufferScrollbackSize:d("buffers.scrollback_size"),settingBufferExtraFormatting:d("buffers.extra_formatting"),settingBufferTrafficAsActivity:d("buffers.traffic_as_activity"),settingBufferMuteSound:d("buffers.mute_sound"),settingBufferShareTyping:d("buffers.share_typing"),settingBufferInlineLinkPreviews:d("buffers.inline_link_auto_previews"),settingDefaultBanMask:d("buffers.default_ban_mask"),settingDefaultKickReason:d("buffers.default_kick_reason"),settingAdvancedEnable:{get:function(){return this.$state.ui.show_advanced_tab},set:function(e){this.$state.ui.show_advanced_tab=e}},settingLanguage:{get:function(){return this.$state.setting("language")||""},set:function(e){this.$state.setting("language",e||null)}},messageLayouts:function(){return{traditional:"compact",modern:"modern",inline:"inline"}},settingMessageLayout:{set:function(e){var t=this.messageLayouts;this.$state.setting("buffers.messageLayout",t[e]||t.modern)},get:function(){var e=this.$state.setting("buffers.messageLayout"),t=r.default.invert(this.messageLayouts);return t[e]}}},created:function(){this.listenForThemeSettings()},methods:{closeSettings:function(){this.$state.$emit("active.component")},refreshTheme:function(){o.default.instance().reload()},listenForThemeSettings:function(){var e=this,t=o.default.instance(),n=[],i=function(){var n=t.currentTheme();e.theme=n.name,e.customThemeUrl="custom"===n.name?n.url:""},s=function(e){t.setTheme(e)},r=function(e){"custom"===t.currentTheme().name&&t.setCustomThemeUrl(e)},c=function t(){e.$state.$off("theme.change",i),(0,a.default)(n).call(n,(function(e){return e()})),e.$off("hook:destroy",t)};i(),this.$state.$on("theme.change",i),this.$once("hook:destroyed",c),n=[this.$watch("theme",s),this.$watch("customThemeUrl",r)]},enableAdvancedTab:function(){var e=this;this.settingAdvancedEnable=!0,this.$nextTick((function(){e.$refs.tabs.setActiveByName("advanced"),e.$el.scrollTop=0}))},makeDefaultProtocolHandler:function(){navigator.registerProtocolHandler("irc",document.location.origin+document.location.pathname+"#%s","Kiwi IRC"),navigator.registerProtocolHandler("ircs",document.location.origin+document.location.pathname+"#%s","Kiwi IRC")}}};t.default=p,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["AppSettings"],window._kiwi_exports.components.AppSettings=t.default?t.default:t},"6cad":function(e,t,n){},"6d41":function(e,t,n){"use strict";n.r(t);var i=n("82aa"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"6daf":function(e,t,n){"use strict";var i=n("f7c0"),s=n.n(i);s.a},"6e56":function(e,t,n){"use strict";var i=n("cb84"),s=n.n(i);s.a},"708b":function(e,t,n){"use strict";n.r(t);var i=n("8242"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"70c2":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.get=o,t.set=c;var a=i(n("3818")),r=null;function o(e){return u()?new a.default((function(t){t(window.localStorage.getItem(e))})):a.default.resolve()}function c(e,t){return u()?new a.default((function(n){n(window.localStorage.setItem(e,t))})):a.default.resolve()}function u(){return null===r&&(r=l("localStorage")),r}function l(e){var t;try{var n="__storage_test__";return t=window[e],t.setItem(n,n),t.removeItem(n),!0}catch(i){return i instanceof DOMException&&(22===i.code||1014===i.code||"QuotaExceededError"===i.name||"NS_ERROR_DOM_QUOTA_REACHED"===i.name)&&0!==t.length}}},7189:function(e,t,n){"use strict";var i=n("2d80");i(t,"__esModule",{value:!0}),t.default=void 0;var s={data:function(){return{logo:"",c:"",x:"",Y:[],t:0,fontSize:72,font:"bold 72px verdana",text:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce eu arcu ipsum. ",animationFrame:null,destroying:!1}},mounted:function(){var e=this;this.logo=this.$el.querySelector(".kiwi-loading-logo"),this.c=this.$el.querySelector(".kiwi-loading-animation"),this.x=this.c.getContext("2d");for(var t="",n=0;n<9;n+=1)t+=this.text;this.text=String(t).match(/.{1,43}/g),this.c.width=1256,this.c.height=1080;for(var i=0;ie*this.fontSize&&(this.Y[e]=e*this.fontSize)):(this.text.length-(this.t%4.5-2)/2.5*this.text.length*1.751080||this.Y[e]<0)&&(this.Y[e]=e*this.fontSize-1500)),this.Y[e]>-100&&this.x.fillText(this.text[e],0,this.fontSize+this.Y[e]);this.x.globalCompositeOperation="source-out",this.x.drawImage(this.logo,0,0,this.c.width,this.c.height),this.x.globalCompositeOperation="source-over",this.x.globalAlpha=.1,this.x.drawImage(this.logo,0,0,this.c.width,this.c.height),this.x.globalAlpha=1,this.animationFrame=requestAnimationFrame(this.draw),this.t+=1/40}}};t.default=s,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["LoadingAnimation"],window._kiwi_exports.components.LoadingAnimation=t.default?t.default:t},7197:function(e,t,n){"use strict";var i=n("48aa"),s=n.n(i);s.a},7277:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.supportsHalfOp=r,t.isAChannelModeAdmin=o,t.isQChannelModeOwner=c,t.extbanAccount=u;var a=i(n("65b8"));function r(e){for(var t=e.ircd.toLowerCase(),n=["ircd-seven","charybdis"],i=0;i-1)return!1;return!0}function o(e){for(var t=e.ircd.toLowerCase(),n=["ircd-seven","charybdis"],i=0;i-1)return!1;return!0}function c(e){for(var t=e.ircd.toLowerCase(),n=["ircd-seven","charybdis"],i=0;i-1)return!1;return!0}function u(e){var t=e.ircd.toLowerCase(),n=e.ircClient.network.supports("EXTBAN")||"";if(!n)return"";var i=n.split(",")[0],s="a";return(0,a.default)(t).call(t,"inspircd")>-1&&(s="R"),i+s}window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["helpers"]||(window._kiwi_exports["helpers"]={}),window._kiwi_exports["helpers"]["IrcdDiffs"],window._kiwi_exports.helpers.IrcdDiffs=t.default?t.default:t},"72b4":function(e,t,n){"use strict";n.r(t);var i=n("4b61"),s=n("2cc3");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("0c2e");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},7348:function(e,t,n){"use strict";var i=n("1a24"),s=n.n(i);s.a},7359:function(e){e.exports=JSON.parse('{"start_button":"Start","start_greeting":"Welcome to Kiwi IRC!","close":"Close","connect":"Connect","connecting":"Connecting...","connected":"Connected","settings":"Settings","kiwi_settings":"Kiwi Settings","channels":"Channels","access":"Access","banned":"Banned Users","invited":"Invited Users","notifications":"Notifications","username":"Username","password":"Password","server_password":"Server Password","password_have":"I have a password","server":"Server","nick":"Nick","channel":"Channel","messages":"Messages","network":"Network","znc":"ZNC","logging_in":"Logging in...","invalid_login":"Invalid login","do_search":"Search...","ok":"OK","cancel":"Cancel","yes":"Yes","no":"No","not_found":"Not found","warning":"Warning!","window_unload":"This will close all KiwiIRC conversations. Are you sure you want to close this window?","whois_realname":"Real name","whois_status":"Status","whois_status_available":"Is available","send_a_message":"Send a message","more_information":"More information","ignore_user":"Ignore user","connection_channel":"Channel","away":"Away","week":"{{count}} week","week_plural":"{{count}} weeks","day":"{{count}} day","day_plural":"{{count}} days","hour":"{{count}} hour","hour_plural":"{{count}} hours","minute":"{{count}} minute","minute_plural":"{{count}} minutes","second":"{{count}} second","second_plural":"{{count}} seconds","settings_general":"General","settings_language":"Language","settings_theme":"Theme","refresh_theme":"Refresh Theme","settings_themeurl":"Theme URL","settings_messagelayout":"Message Layout","settings_use_monospace":"Use monospace","settings_default_handler":"Use Kiwi as my default IRC client","settings_layout_compact":"Traditional IRC layout","settings_show_autocomplete":"Show autocomplete list","settings_messages_title":"Chat Messages","settings_timestamps":"Show timestamps","settings_24hour_timestamps":"Use 24-hour timestamps","settings_emoticons":"Show emoticons","settings_block_private":"Block new private messages","settings_scrollback":"Messages in scrollback","settings_formatting":"Extra formatting","settings_nick_colouring":"Colour nicknames in messages","settings_share_typing":"Share when I\'m typing a message","settings_show_inline_previews":"Show inline image previews","settings_show_joinpart":"Include join/part messages as activity","settings_mute_sound":"Mute sound notifications","settings_highlight":"Highlight on words (space separated)","settings_aliases":"Aliases","what_are_aliases":"What are Aliases?","send_message":"Send Message","bufferkey_input":"Enter the channel key:","bufferkey_rejoin":"Rejoin {{channel}}","settings_notify":"Notify me when","settings_notify_all":"All messages","settings_notify_mentioned":"I am mentioned","settings_notify_never":"Never","settings_notify_mute":"Mute sounds","settings_show_message_counts":"Hide unread message count","operator_tools":"Operator Tools","settings_default_ban_mask":"Default ban mask","settings_default_kick_reason":"Default kick reason","settings_advanced_title":"Advanced Settings","settings_advanced_warning":"Monsters be here, only click this button if you know what you are doing","settings_advanced_button":"Enable Advanced Settings","settings_advanced_header":"Danger Zone: Changing some of these settings may break things!","settings_advanced_reset":"Reset","settings_advanced_filter":"Filter","bans_refresh":"Refresh banlist","bans_user":"Banned user","bans_by":"Banned by","bans_refreshing":"Refreshing banlist...","bans_nobody":"Nobody is banned!","invites_refresh":"Refresh invite list","invites_user":"Invited user","invites_by":"Invited by","invites_refreshing":"Refreshing invite list...","invites_nobody":"Nobody is invited!","invite_public_channel":"This is a public channel.","invite_private_channel":"Only invited users can join.","invite_set_private":"Only allow invited users","invite_set_public":"Allow anybody to join","invite_registered_only":"Only registered users can join","invite_add_invite":"Add invite","invite_any_registered":"(Any registered user)","channel_topic":"Topic","channel_moderated":"Moderated chat","channel_invite":"Invite only","channel_moderated_topic":"Only moderators can change the topic","channel_external":"Block messages from outside this channel","channel_list_fetch":"Click the refresh button to update the channel list","channel_list_nonefound":"No channels found, try again later","container_welcome":"Welcome to Kiwi IRC! Select a channel on the left.","container_statebrowser":"Show statebrowser","hide_topic":"Hide Topic","display_topic":"Display Topic","channel_settings":"Channel Settings","container_join":"Join Channel","container_notconnected":"Not Connected","container_privmsg":"Private conversation with {{user}}","prompt_leave_channel":"Really leave the channel?","input_placeholder":"Send a message...","media_loading":"Loading {{url}}...","messages_load":"Load previous messages","unread_messages":"Unread Messages","settings_server_details":"Server details","settings_port":"Port","settings_znc_other":"Other networks on this ZNC account will be listed in the network list","settings_your_details":"Your details","settings_nickname":"Nickname","settings_advanced":"Advanced","settings_encoding":"Encoding","settings_show_raw":"Show Raw","settings_use_websocket":"Direct websocket","settings_autorun":"Run commands when connected","settings_danger":"Danger Zone","settings_remove":"Remove network","person":"{{count}} person here","person_plural":"{{count}} people here","filter_users":"Filter users in channel","reconnect_channel":"Reconnect to join {{channel}}","reconnect_network":"Reconnect to {{network}} to start talking","reconnect_query":"Reconnect to continue talking with {{user}}","not_connected":"You are not currently connected!","reconnect_settings":"Connection settings","network_noconnect":"We couldn\'t connect to that server :(","network_connect":"Connect To Network","network_name":"Network Name","side_close":"Close options","side_options":"Channel options","side_settings":"Your settings","side_joins":"Show when people join","side_topics":"Show when channel topic changes","side_nick_changes":"Show when users change their nicks","side_mode_changes":"Show when users change channel modes","side_formatting":"Extra message formatting","side_colours":"Nick colours in the list","side_buffer":"No buffer set","no_topic_set":"There is no topic for this channel","about":"About","created_at":"Created at {{when}}","highlights":"Highlights","nobody_mentioned_you":"Nobody has mentioned you yet...","error_starting":"There was an error starting Kiwi IRC :(","error_installed":"Make sure you have installed Kiwi IRC correctly and the configurartion can be loaded","state_leave":"Leave {{name}}","state_account":"Your account","state_remembered":"Your settings and networks will be remembered on this computer.","state_forget":"Forget me","state_network":"No networks here yet.","state_add":"Add one?","state_available":"Available networks","add_network":"Add Network","new_network":"New Network","no_network":"No Network","state_configure":"Configure network","state_disconnected":"Not connected.","state_join":"Join new #channel","filter_channels":"Filter Channels","find_more_channels":"Find More Channels","change_nick":"Change nick","enter_new_nick":"Enter new nickname...","user_you":"This is you!","user_account":"Account name: {{user}}","user_realname":"Real name: {{realname}}","user_bot":"Is a bot","user_help":"Is available for help","user_op":"Is an operator","user_server":"Connected to {{server}} {{info}}","user_secure":"Securely connected via SSL/TLS","user_channels":"Also in channels {{channels}}","user_access":"Access level","user_normal":"Normal","user_kick":"Kick from the channel","user_ban":"Ban from the channel","user_kickban":"Ban and kick from the channel","error_no_channel_join":"Please specify a channel to join. eg /join #example","error_nick_in_use":"The nickname {{nick}} is already in use!","error_empty_nick":"You must enter a new nickname","error_no_number":"Nickname must not start with a number","modes_give_ops":"{{nick}} gives ops to {{target}}","modes_take_ops":"{{nick}} takes ops from {{target}}","modes_give_halfops":"{{nick}} gives half-ops to {{target}}","modes_take_halfops":"{{nick}} takes half-ops from {{target}}","modes_give_voice":"{{nick}} gives voice to {{target}}","modes_take_voice":"{{nick}} takes voice from {{target}}","modes_give_admin":"{{nick}} gives admin to {{target}}","modes_take_admin":"{{nick}} takes admin from {{target}}","modes_give_owner":"{{nick}} gives owner to {{target}}","modes_take_owner":"{{nick}} takes owner from {{target}}","modes_gives_ban":"{{nick}} has banned {{target}}","modes_takes_ban":"{{nick}} has unbanned {{target}}","modes_other":"{{nick}} sets {{mode}} on {{target}}","command_msg":"Send a message","command_action":"Do something physical","command_join":"Join a channel","command_part":"Leave a channel","command_cycle":"Leave, then re-join a channel","command_nick":"Change your nickname","command_query":"Start a private conversation with someone","command_invite":"Invite somebody into the channel","command_topic":"Set the topic for this channel","command_notice":"Send a notice","command_quote":"Send a raw command to the IRC server","command_kick":"Kick somebody from the channel","command_clear":"Clear all messages from this window","command_ctcp":"Send a CTCP command to somebody","command_quit":"Disconnect from the IRC server","command_server":"Connect to a new IRC network","command_whois":"Request information on somebody","command_whowas":"Request information on somebody that disconnected recently","command_away":"Mark yourself as away","command_back":"Set yourself as active","command_encoding":"Change your connection encoding","command_ignore":"Ignore messages from somebody","command_unignore":"Stop ignoring somebody","command_dice":"Roll a Dice","dice_roll":"Rolls a {{sides}} sided dice and gets {{number}}","personal_client":"Your IRC Client.","personal_addjoin":"Add your networks. Join your channels.","personal_return":"They will be here when you come back.","personal_add":"Add a Network","personal_connect_to":"You are trying to connect to {{network}}","personal_added_to_existing":"Network has been added to your existing Kiwi window.","personal_add_existing_tab":"Add network to existing Kiwi window","personal_connect_temporary":"Temporarily connect to this network","personal_saved":"Saved networks","rizon_title":"Kiwi IRC (next gen) - Rizon preview","rizon_websockets":"Direct websockets. No Kiwi server or webirc involved.","rizon_thanks":"(Thanks to Adam @Rizon for the development websocket server support!)","rizon_dev":"Give the developer version of Kiwi IRC a try!","disconnected":"Disconnected","connected_to":"Connected to {{network}}!","has_joined":"{{nick}} has joined","kicked_you_from":"{{nick}} kicked you from {{channel}}","was_kicked_from":"{{nick}} was kicked from {{channel}} by {{chanop}}","has_left":"{{nick}} has left","invited_you":"{{nick}} invited you to join {{channel}}","nick_in_use_retrying":"Nickname {{nick}} is already in use. Trying {{newnick}}...","now_known_as":"{{nick}} is now known as {{newnick}}","changed_topic_to":"{{nick}} changed the topic to: {{topic}}"}')},7544:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-bufferkey kiwi-warning-block"},[n("form",{on:{submit:function(t){return t.preventDefault(),e.joinChannel(t)}}},[n("label",[e._v(e._s(e.$t("bufferkey_input")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.buffer.key,expression:"buffer.key"},{name:"focus",rawName:"v-focus"}],attrs:{type:"password"},domProps:{value:e.buffer.key},on:{input:function(t){t.target.composing||e.$set(e.buffer,"key",t.target.value)}}}),n("div",{staticClass:"kiwi-bufferkey-buttons"},[n("span",{staticClass:"kiwi-bufferkey-button",on:{click:e.joinChannel}},[n("i",{staticClass:"fa fa-arrow-circle-o-right",attrs:{"aria-hidden":"true"}}),e._v(" "+e._s(e.$t("bufferkey_rejoin",{channel:e.buffer.name}))+" ")])])])])},s=[]},7768:function(e,t,n){"use strict";var i=n("eee1"),s=n.n(i);s.a},"787b":function(e,t,n){"use strict";n.r(t);var i=n("fd86"),s=n("8049");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!0,null,null,null);t["default"]=o.exports},"78e0":function(e,t,n){"use strict";n.r(t);var i=n("45d1"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"78e5":function(e,t,n){"use strict";var i=n("2d80");i(t,"__esModule",{value:!0}),t.default=void 0;var s=n("5ee5"),a=s.component("input-confirm",{props:["label","flipConnotation"],data:function(){return{state:"pre"}},computed:{connoteCss:function(){return{yes:this.flipConnotation?"warning":"primary",no:this.flipConnotation?"primary":"warning"}}},created:function(){this.$slots.default||(this.state="prompt")},methods:{prompt:function(){this.state="prompt"},complete:function(e){this.$emit("submit",e),this.$emit(e?"ok":"cancel"),this.state="pre"}}});t.default=a,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["utils"]||(window._kiwi_exports["components"]["utils"]={}),window._kiwi_exports["components"]["utils"]["InputConfirm"],window._kiwi_exports.components.utils.InputConfirm=t.default?t.default:t},"78fd":function(e,t,n){"use strict";n.r(t);var i=n("50ab"),s=n("ddcd");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("d4b7");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},"7a9c":function(e,t,n){"use strict";n.r(t);var i=n("bf17"),s=n("5db0");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("819b");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},"7ae5":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("fa81")),r=i(n("bf2d")),o=i(n("a3e3")),c=i(n("3818")),u=i(n("acf5")),l=i(n("9f12")),f=i(n("53fe")),d=i(n("eec7")),p=i(n("2ef0")),h=i(n("5e48")),w=i(n("0470")),m=w.default.namespace("ConfigLoader"),v=function(){function e(){(0,l.default)(this,e),this.config=(0,u.default)(null),this.valReplacements=(0,u.default)(null)}return(0,f.default)(e,[{key:"addValueReplacement",value:function(e,t){return this.valReplacements[e]=t,this}},{key:"loadFromUrl",value:function(e){var t=this;return new c.default((function(n,i){(0,d.default)({url:e},(function(e,s){if(e)i();else{var a=null;try{a=h.default.parse(s.body)}catch(c){m.error("Config "+c.message);var r="Config file error: "+c.message.replace("JSON5: ","");return r=r.replace(/at (\d+):(\d+)/g,(function(e,t,n){var i;return(0,o.default)(i="line ".concat(t,", position ")).call(i,n)})),void i(r)}t.setConfig(a),n(t.config)}}))}))}},{key:"loadFromObj",value:function(e){var t=this;return new c.default((function(n,i){t.setConfig(e),n(t.config)}))}},{key:"setConfig",value:function(e){var t=this,n=function e(n,i){p.default.each(n,(function(n,s){var a=n;"string"===typeof a?(a=t.insertReplacements(a),i[s]=a):"object"===(0,r.default)(a)?(i[s]=p.default.isArray(a)?[]:{},e(a,i[s])):i[s]=a}))};this.config=(0,u.default)(null),n(e,this.config)}},{key:"insertReplacements",value:function(e){for(var t=e,n=(0,a.default)(this.valReplacements),i=0;is&&(a-=r-s,r=s),n>=a&&n<=r&&(o=!0),e.idx=n,o}))},selectedItem:function(){var e=this.filteredItems[this.selected_idx];return e||null}},watch:{selected_idx:function(){var e=this;this.$nextTick((function(){var t=e.$el.querySelector(".kiwi-autocomplete-item--selected");t&&(e.$el.scrollTop=t.offsetTop-2*t.getBoundingClientRect().height)})),this.tempCurrentItem()},filter:function(){var e=this.filteredAndLimitedItems.length-1;this.selected_idx>e&&(this.selected_idx=e)}},mounted:function(){this.tempCurrentItem()},methods:{handleOnKeyDown:function(e){var t=!1,n=[13,188,190];return(0,r.default)(n).call(n,e.keyCode)>-1?this.selectedItem?(this.selectCurrentItem(),13===e.keyCode&&e.preventDefault(),t=!0):this.cancel():38===e.keyCode||9===e.keyCode&&e.shiftKey?(this.selected_idx>0?this.selected_idx--:this.selected_idx=this.filteredItems.length-1,e.preventDefault(),t=!0):40===e.keyCode&&!e.altKey||9===e.keyCode?(this.selected_idx0?(n=this.$state.networks[0],this.$state.setActiveBuffer(n.id,n.serverBuffer().name),t=!0,this.$emit("start")):window.location.hash.substr(1)?(i=window.location.hash.substr(1),s=i.substr(0,7).toLowerCase(),"ircs%3a"!==s&&"irc%3a"!==s.substr(0,6)||(i=decodeURIComponent(i)),a=p.parseIrcUri(i),0===a.length?(t=!0,this.applyDefaults()):1===a.length?(t=!1,this.server_type="default_simple",this.show_type_switcher=!1,r=a[0],this.server=r.server+":"+r.port,this.tls=r.tls,this.nick=this.processNickRandomNumber(r.nick),this.channel=r.channels.join(","),this.direct=r.direct,this.encoding=r.encoding,"znc"===r.params.type?("_"===r.params.network?this.znc_network_support=!1:this.znc_network=r.params.network||"",this.server_type="znc",this.title="Enter your password to connect to ZNC"):this.title="Enter a nickname to join"):a.length>1&&(t=!1,(0,l.default)(a).call(a,(function(e,t){var n,i=o.$state.addNetwork(e.server,e.nick,{server:e.server,port:e.port,tls:e.tls,password:e.password||""});(0,l.default)(n=e.channels).call(n,(function(e){var t=o.$state.addBuffer(i.id,e);t.enabled=!0})),0===t&&o.$state.setActiveBuffer(i.id,i.serverBuffer().name)})),this.$emit("start"))):(t=!0,this.applyDefaults()),this.$state.settings.startupOptions.greetingText&&(this.title=this.$state.settings.startupOptions.greetingText),this.$state.settings.startupOptions.buttonText?this.buttonText=this.$state.settings.startupOptions.buttonText:this.buttonText=this.$t("connect"),t&&this.$state.persistence.watchStateForChanges();case 5:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}(),methods:{readableStateError:function(e){return p.networkErrorMessage(e)},startUp:function(){var e,t=this;if(this.nick){var n=this.nick;if("znc"===this.server_type){var i=n;this.znc_network&&(i+="/"+this.znc_network),i+=":"+this.password,e=this.$state.addNetwork("ZNC","ZNC",{server:this.server.split(":")[0],port:(0,c.default)(this.server.split(":")[1]||6667,10),tls:this.tls,password:i})}else e=this.$state.addNetwork("Network",n,{server:this.server.split(":")[0],port:(0,c.default)(this.server.split(":")[1]||6667,10),tls:this.tls,password:this.password,direct:this.direct,path:this.direct_path,encoding:this.encoding});if(e){var s=!1,a=p.extractBuffers(this.channel);(0,l.default)(a).call(a,(function(n,i){var a=t.$state.addBuffer(e.id,n.name);a.enabled=!0,n.key&&(a.key=n.key),0===i&&(t.$state.setActiveBuffer(e.id,a.name),s=!0)})),s||this.$state.setActiveBuffer(e.id,e.serverBuffer().name),this.is_connecting=!0,this.network=e,e.ircClient.connect();var r=function n(){(0,o.default)((function(){t.is_connecting=!1}),1e3),t.$emit("start"),e.ircClient.off("registered",n),e.ircClient.off("close",u)},u=function n(){(0,o.default)((function(){t.is_connecting=!1}),1e3),e.ircClient.off("registered",r),e.ircClient.off("close",n)};e.ircClient.once("registered",r),e.ircClient.once("close",u)}}else this.$el.querySelector(".kiwi-customserver-nick input").focus()},processNickRandomNumber:function(e){var t=(e||"").replace(/\?/g,(function(){return Math.floor(100*Math.random()).toString()}));return(0,r.default)(d.default).call(d.default,t)},infoClick:function(){if(this.network){var e=this.network;this.$state.setActiveBuffer(e.id,e.serverBuffer().name)}this.$emit("start")},applyDefaults:function(){this.server=this.$state.settings.startupOptions.server,this.tls=this.$state.settings.startupOptions.tls,this.nick=this.processNickRandomNumber(this.$state.settings.startupOptions.nick),this.channel=this.$state.settings.startupOptions.channel,this.direct=this.$state.settings.startupOptions.direct,this.direct_path=this.$state.settings.startupOptions.direct_path,this.encoding=this.$state.settings.startupOptions.encoding,"6667"!==this.$state.settings.startupOptions.port.toString()&&(this.server+=":"+this.$state.settings.startupOptions.port.toString()),this.title="Where are you connecting today?"}}};t.default=h,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["startups"]||(window._kiwi_exports["components"]["startups"]={}),window._kiwi_exports["components"]["startups"]["CustomServer"],window._kiwi_exports.components.startups.CustomServer=t.default?t.default:t},8008:function(e,t,n){"use strict";var i=n("fb75"),s=n.n(i);s.a},8049:function(e,t,n){"use strict";n.r(t);var i=n("3d2a"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"819b":function(e,t,n){"use strict";var i=n("e82a"),s=n.n(i);s.a},"81c6":function(e,t,n){"use strict";var i=n("e941"),s=n.n(i);s.a},8242:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("df10")),r=i(n("65b8")),o=i(n("e4f0")),c=i(n("2ef0")),u=i(n("9332")),l=i(n("e54d")),f={props:["network"],data:function(){return{sidebarOpen:!1,page:0,page_size:200,search:"",last_updated:0}},computed:{noResults:function(){return"updated"===this.listState&&0===this.filteredList.length},isLoading:function(){return"updating"===this.listState},listState:function(){return this.network.channel_list_state},list:function(){return this.network.channel_list||[]},filteredList:function(){var e,t,n=this,i=[];this.search.length<=2?i=this.list:i=(0,o.default)(t=this.list).call(t,(function(e){var t,i,s=!1;return(0,r.default)(t=e.channel.toLowerCase()).call(t,n.search)>-1&&(s=!0),(0,r.default)(i=e.topic.toLowerCase()).call(i,n.search)>-1&&(s=!0),s}));return(0,a.default)(e=c.default.sortBy(i,"num_users")).call(e)},paginated:function(){for(var e=this.page*this.page_size,t=this.filteredList,n=[],i=e;i=this.filteredList.length},canGoBackward:function(){return this.page>0}},watch:{search:function(){this.page=0}},methods:{nextPage:function(){this.page0&&this.page--},maybeUpdateList:function(){"updating"!==this.listState&&this.network.ircClient.raw("LIST")},formatAndTrimTopic:function(e){var t=this.$state.setting("showChanlistModes"),n=t?e:e.replace(/^\[([^\]]+)\] ?/,""),i=(0,l.default)(n,{extras:!1}),s=(0,u.default)(i);return s},joinChannel:function(e){this.$state.addBuffer(this.network.id,e),this.network.ircClient.join(e)}}};t.default=f,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["ChannelList"],window._kiwi_exports.components.ChannelList=t.default?t.default:t},"82aa":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("493c")),r=i(n("e4f0")),o=i(n("2fa7")),c=i(n("e402")),u={components:{TypingStatusIndicator:c.default},props:["buffer"],computed:{users:function(){if(this.buffer.isQuery()){var e=this.$state.getActiveNetwork(),t=this.$state.getUser(e.id,this.buffer.name);return t?(0,o.default)({},t.nick,t):{}}return this.buffer.users},typingUsers:function(){var e,t=this,n=this.$state.getActiveNetwork().nick;return(0,r.default)(e=(0,a.default)(this.users)).call(e,(function(e){return e.nick!==n&&e.typingStatus(t.buffer.name).status}))}},methods:{userColour:function(e){return e&&this.buffer.setting("colour_nicknames_in_messages")?e.getColour():""}}};t.default=u,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["TypingUsersList"],window._kiwi_exports.components.TypingUsersList=t.default?t.default:t},8331:function(e,t,n){},"83d5":function(e,t,n){"use strict";n.r(t);var i=n("faa3"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},8438:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-serverselector",class:{"kiwi-serverselector--custom":"custom"===e.presetServer}},[e.usePreset&&e.presetNetworks.length>0?n("div",{staticClass:"kiwi-serverselector-presets"},[n("label",[n("span",[e._v(e._s(e.$t("server")))]),n("select",{directives:[{name:"model",rawName:"v-model",value:e.presetServer,expression:"presetServer"}],on:{change:function(t){var n=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){var t="_value"in e?e._value:e.value;return t}));e.presetServer=t.target.multiple?n:n[0]}}},[n("option",{attrs:{value:"custom"}},[e._v("Custom Server")]),n("option",{attrs:{disabled:""}},[e._v("-----------------")]),e._l(e.presetNetworks,(function(t){return n("option",{key:t.name,domProps:{value:e.toUri(t)}},[e._v(e._s(t.name))])}))],2)])]):e._e(),e.showCustom||0===e.presetNetworks.length||!e.usePreset?[n("input-text",{directives:[{name:"focus",rawName:"v-focus"}],staticClass:"kiwi-networksettings-connection-address",attrs:{label:e.$t("server")},model:{value:e.connection.server,callback:function(t){e.$set(e.connection,"server",t)},expression:"connection.server"}}),n("input-text",{staticClass:"kiwi-networksettings-connection-port",attrs:{label:e.$t("settings_port"),type:"number"},model:{value:e.connection.port,callback:function(t){e.$set(e.connection,"port",t)},expression:"connection.port"}},[n("span",{staticClass:"fa-stack fa-lg kiwi-customserver-tls",class:{"kiwi-customserver-tls--enabled":e.connection.tls},on:{click:e.toggleTls}},[e.connection.tls?n("i",{staticClass:"fa fa-lock fa-stack-1x kiwi-customserver-tls-lock"}):n("i",{staticClass:"fa fa-unlock fa-stack-1x kiwi-customserver-tls-minus"})])])]:e._e()],2)},s=[]},"85d6":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-sidebar kiwi-theme-bg",class:["kiwi-sidebar-section-"+e.section]},[e.sidebarState.isOpen?e._e():n("span",{staticClass:"kiwi-sidebar-options"},[n("div",{staticClass:"kiwi-sidebar-close",on:{click:function(t){return e.sidebarState.close()}}},[e._v(" "+e._s(e.$t("close"))),n("i",{staticClass:"fa fa-times",attrs:{"aria-hidden":"true"}})])]),e.sidebarState.activeComponent?[n(e.sidebarState.activeComponent,{tag:"component",attrs:{network:e.network,buffer:e.buffer,"sidebar-state":e.sidebarState}})]:e.buffer?[e.buffer.isChannel()?["settings"===e.section?n("div",{staticClass:"kiwi-sidebar-buffersettings",on:{click:function(e){e.stopPropagation()}}},[n("tabbed-view",[n("tabbed-tab",{attrs:{header:e.$t("settings"),focus:!0}},[n("h3",[e._v(e._s(e.$t("channel_settings")))]),n("hr"),n("channel-info",{attrs:{buffer:e.buffer}}),n("div",{staticClass:"kiwi-sidebar-settings"},[n("h3",[e._v(e._s(e.$t("side_settings")))]),n("hr"),n("form",{staticClass:"u-form"},[n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("side_joins")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingShowJoinParts,expression:"settingShowJoinParts"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settingShowJoinParts)?e._i(e.settingShowJoinParts,null)>-1:e.settingShowJoinParts},on:{change:function(t){var n=e.settingShowJoinParts,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.settingShowJoinParts=n.concat([a])):r>-1&&(e.settingShowJoinParts=n.slice(0,r).concat(n.slice(r+1)))}else e.settingShowJoinParts=s}}})]),n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("side_topics")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingShowTopics,expression:"settingShowTopics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settingShowTopics)?e._i(e.settingShowTopics,null)>-1:e.settingShowTopics},on:{change:function(t){var n=e.settingShowTopics,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.settingShowTopics=n.concat([a])):r>-1&&(e.settingShowTopics=n.slice(0,r).concat(n.slice(r+1)))}else e.settingShowTopics=s}}})]),n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("side_nick_changes")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingShowNickChanges,expression:"settingShowNickChanges"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settingShowNickChanges)?e._i(e.settingShowNickChanges,null)>-1:e.settingShowNickChanges},on:{change:function(t){var n=e.settingShowNickChanges,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.settingShowNickChanges=n.concat([a])):r>-1&&(e.settingShowNickChanges=n.slice(0,r).concat(n.slice(r+1)))}else e.settingShowNickChanges=s}}})]),n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("side_mode_changes")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingShowModeChanges,expression:"settingShowModeChanges"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settingShowModeChanges)?e._i(e.settingShowModeChanges,null)>-1:e.settingShowModeChanges},on:{change:function(t){var n=e.settingShowModeChanges,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.settingShowModeChanges=n.concat([a])):r>-1&&(e.settingShowModeChanges=n.slice(0,r).concat(n.slice(r+1)))}else e.settingShowModeChanges=s}}})]),n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("side_formatting")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingExtraFormatting,expression:"settingExtraFormatting"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settingExtraFormatting)?e._i(e.settingExtraFormatting,null)>-1:e.settingExtraFormatting},on:{change:function(t){var n=e.settingExtraFormatting,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.settingExtraFormatting=n.concat([a])):r>-1&&(e.settingExtraFormatting=n.slice(0,r).concat(n.slice(r+1)))}else e.settingExtraFormatting=s}}})]),n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("side_colours")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingColouredNicklist,expression:"settingColouredNicklist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settingColouredNicklist)?e._i(e.settingColouredNicklist,null)>-1:e.settingColouredNicklist},on:{change:function(t){var n=e.settingColouredNicklist,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.settingColouredNicklist=n.concat([a])):r>-1&&(e.settingColouredNicklist=n.slice(0,r).concat(n.slice(r+1)))}else e.settingColouredNicklist=s}}})]),n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("settings_share_typing")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingShareTyping,expression:"settingShareTyping"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settingShareTyping)?e._i(e.settingShareTyping,null)>-1:e.settingShareTyping},on:{change:function(t){var n=e.settingShareTyping,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.settingShareTyping=n.concat([a])):r>-1&&(e.settingShareTyping=n.slice(0,r).concat(n.slice(r+1)))}else e.settingShareTyping=s}}})])])])],1),n("tabbed-tab",{attrs:{header:e.$t("access")}},[n("a",{staticClass:"u-link kiwi-sidebar-accesstab",class:{"kiwi-sidebar-accesstab--active":"banlist"===e.accessTab},on:{click:function(t){e.accessTab="banlist"}}},[e._v(" "+e._s(e.$t("banned"))+" ")]),n("a",{staticClass:"u-link kiwi-sidebar-accesstab",class:{"kiwi-sidebar-accesstab--active":"invitelist"===e.accessTab},on:{click:function(t){e.accessTab="invitelist"}}},[e._v(" "+e._s(e.$t("invited"))+" ")]),"banlist"===e.accessTab?n("channel-banlist",{attrs:{buffer:e.buffer}}):e._e(),"invitelist"===e.accessTab?n("channel-invitelist",{attrs:{buffer:e.buffer}}):e._e()],1),n("tabbed-tab",{attrs:{header:e.$t("notifications")}},[n("buffer-settings",{attrs:{buffer:e.buffer}})],1),e._l(e.pluginUiElements,(function(t){return n("tabbed-tab",{key:t.id,attrs:{header:t.title}},[n(t.component,e._b({tag:"div"},"div",t.props,!1))],1)}))],2)],1):"user"===e.section?n("div",{staticClass:"kiwi-sidebar-userbox",on:{click:function(e){e.stopPropagation()}}},[n("user-box",{attrs:{user:e.sidebarState.sidebarUser,buffer:e.buffer,network:e.network}})],1):"nicklist"===e.section?n("nicklist",{attrs:{network:e.network,buffer:e.buffer,"sidebar-state":e.sidebarState}}):"about"===e.section?n("sidebar-about-buffer",{attrs:{network:e.network,buffer:e.buffer,"sidebar-state":e.sidebarState}}):e._e()]:e.buffer.isQuery()?["user"===e.section?n("div",{staticClass:"kiwi-sidebar-userbox",on:{click:function(e){e.stopPropagation()}}},[n("user-box",{attrs:{user:e.sidebarState.sidebarUser,buffer:e.buffer,network:e.network}})],1):e._e()]:e._e()]:[e._v(" "+e._s(e.$t("side_buffer"))+" ")]],2)},s=[]},8618:function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80");a(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n("44a4")),o=s(n("4573")),c=i(n("5a16")),u=s(n("462f")),l={components:{AwayStatusIndicator:u.default},props:{network:Object},data:function(){return{new_nick:"",error_message:"",self_user_settings_open:!1}},computed:{modeString:function(){var e,t="";return(0,o.default)(e=this.network.ircClient.user.modes).call(e,(function(e){t+=e})),t&&(t="+"+t),t},netUser:function(){return this.network.ircClient.user},awayStatus:{get:function(){return this.network.currentUser().away},set:function(e){this.network.ircClient.raw("AWAY",e?"Currently away":"")}}},created:function(){var e=this;this.listen(this.network.ircClient,"nick in use",(function(t){e.error_message=c.t("error_nick_in_use",{nick:t.nick})}))},methods:{openSelfActions:function(){this.self_user_settings_open=!0},closeSelfUser:function(){this.$emit("close")},onNewNickSubmit:function(e){this.new_nick=e,this.changeNick()},changeNick:function(){var e,t=(0,r.default)(e=this.new_nick).call(e);0!==t.length?t.match(/(^[0-9])|(\s)/)?this.error_message=c.t("error_no_number"):(this.error_message="",this.network.ircClient.changeNick(t),this.userNameCancel()):this.error_message=c.t("error_empty_nick")},userNameCancel:function(){this.self_user_settings_open=!1},networkSupportsAway:function(){return this.network.ircClient.network.cap.isEnabled("away-notify")},checkUserAway:function(){return!!this.network.currentUser().away},getUserFromString:function(e){return this.$state.getUser(this.network.id,e)}}};t.default=l,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["SelfUser"],window._kiwi_exports.components.SelfUser=t.default?t.default:t},"862b":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.extractBuffers=g,t.extractURL=k,t.stripStyles=b,t.mentionsNick=y,t.queryStringVal=C,t.networkErrorMessage=x,t.connectionInfoFromConfig=$,t.matchUri=S,t.parseIrcUri=N,t.dedotObject=A,t.replaceObjectProps=M,t.dateIso=T,t.parseIntZero=B;var a=i(n("800f")),r=i(n("fa81")),o=i(n("bf2d")),c=i(n("9474")),u=i(n("14b1")),l=i(n("acf5")),f=i(n("a3e3")),d=i(n("44a4")),p=i(n("4573")),h=i(n("65b8")),w=i(n("2ef0")),m=i(n("e9c4")),v=n("5a16"),_=m.default.timezone("+0");function g(e){var t=(0,h.default)(e).call(e," ");-1===t&&(t=e.length);var n=e.substr(0,t).split(","),i=e.substr(t+1).split(","),s=[];return(0,p.default)(n).call(n,(function(e,t){(0,d.default)(e).call(e)&&s.push({name:e,key:i[t]||""})})),s}function k(e){var t=e.match(v.urlRegex);return t?t[0]:""}function b(e){return e.replace(/(\x03[0-9]{0,2})?([\x02\x16\x1d\x1f]+)?/g,"")}function y(e,t){var n,i,s;if(-1===(0,h.default)(n=e.toLowerCase()).call(n,t.toLowerCase()))return!1;var a="\\s,.!:;+()\\[\\]?¿\\/<>@-",r=w.default.escapeRegExp(t),o=b(e),c=new RegExp((0,f.default)(i=(0,f.default)(s="(^|[".concat(a,"])")).call(s,r,"([")).call(i,a,"]|$)"),"i");return c.test(o)}function C(e,t){var n=t||window.location.href,i=w.default.escapeRegExp(e),s=new RegExp("[?&]"+i+"(=([^&#]*)|&|#|$)"),a=s.exec(n);return a?a[2]?decodeURIComponent(a[2].replace(/\+/g," ")):"":null}function x(e){var t={err_unknown_host:"Unknown domain name or host",err_forbidden:"Forbidden to connect",err_timeout:"Took too long to connect",err_refused:"The server refused the connection",err_tls:"Could not connect securely",err_proxy:"The Kiwi IRC server had an error"};return t[e]||"Unknown error"}function $(e){var t,n={tls:!1,port:0,hostname:"",direct:!1,direct_path:""},i=e.websocket?S(e.websocket):null;i?(n.direct=!0,n.tls=(0,h.default)(t=["wss","https","ircs"]).call(t,i.protocol)>-1,n.port=i.port,n.hostname=i.hostname,n.direct_path=i.path,i.search&&(n.direct_path+="?"+i.search)):(n.tls=e.tls,n.port=e.port,n.hostname=e.server,n.direct=!!e.direct,n.direct_path=e.direct_path||"");return n}function S(e){var t=/(?:([a-z]+):\/\/)?([a-z.0-9-]+)(?::(?:(\+)?([0-9]+)))?(?:\/([^?]*))?(?:\?(.*))?/,n=e.match(t);return n?{protocol:(n[1]||"").toLowerCase(),hostname:n[2]||"",port:B(n[4]||""),path:"/"+(n[5]||""),search:n[6]||""}:null}function N(e){var t,n=/(?:(ircs?):\/\/)?([a-z.0-9-]+)(?::(?:(\+)?([0-9]+)))?(?:\/([^?]*))?(?:\?(.*))?/,i=[];return(0,p.default)(t=e.split(";")).call(t,(function(e){var t,s;if(e){var a=e.match(n);if(a){var r="ircs"===a[1]||!!a[3],o=(0,l.default)(null);(0,p.default)(t=(a[6]||"").split("&")).call(t,(function(e){var t=e.split("=");2===t.length&&(o[t[0].toLowerCase()]=t[1])}));var f=a[5]||o.channel||"";f=(0,u.default)(s=(0,w.default)(f.split(",")).compact()).call(s,(function(e){var t="#"===e[0]||"&"===e[0],n=t?e:"#"+e;return n})),i.push({tls:r,server:a[2],port:(0,c.default)(a[4]||(r?6697:6667),10),channels:f,nick:o.nick||"",encoding:o.encoding||"utf8",params:o})}}})),i}function A(e,t){var n=t||[],i=/\w\.\w/;w.default.each(e,(function(t,s){var a=(0,f.default)(n).call(n,[s]);"object"!==(0,o.default)(t)?i.test(s)&&(delete e[s],w.default.set(e,a.join("."),t)):A(e[s],a)}))}function M(e,t){var n,i;(0,p.default)(n=(0,r.default)(e)).call(n,(function(t){return delete e[t]})),(0,p.default)(i=(0,r.default)(t)).call(i,(function(n){e[n]=t[n]}))}function T(e){var t=e||new Date;return _("%Y-%m-%dT%H:%M:%S.%LZ",t)}function B(e){var t=(0,c.default)(e,10);return(0,a.default)(t)?0:t}window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["helpers"]||(window._kiwi_exports["helpers"]={}),window._kiwi_exports["helpers"]["Misc"],window._kiwi_exports.helpers.Misc=t.default?t.default:t},"86b8":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("a3e3")),r=i(n("4573")),o=i(n("acf5")),c=i(n("9f12")),u=i(n("53fe")),l=i(n("c9fc")),f=function(){function e(){(0,c.default)(this,e),(0,l.default)(this),this.providers=[]}return(0,u.default)(e,[{key:"addProvider",value:function(e){var t=this;this.providers.push(e),e.on("networks",(function(e){t.emit("networks",t.availableNetworks())}))}},{key:"availableNetworks",value:function(){var e,t=(0,o.default)(null);return(0,r.default)(e=this.providers).call(e,(function(e){var n,i=e.type;e.networks.length>0&&(t[i]=t[i]||[],t[i]=(0,a.default)(n=t[i]).call(n,e.networks))})),t}}]),e}();t.default=f,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["libs"]||(window._kiwi_exports["libs"]={}),window._kiwi_exports["libs"]["NetworkProvider"],window._kiwi_exports.libs.NetworkProvider=t.default?t.default:t},8753:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("5b1a")),r=i(n("c90a")),o=i(n("78b2")),c=i(n("9f12")),u=i(n("53fe")),l=i(n("9aa6")),f=i(n("c03e")),d=i(n("8b83")),p=i(n("c65a")),h=i(n("ba10"));function w(e){var t=m();return function(){var n,i=(0,p.default)(e);if(t){var s=(0,p.default)(this).constructor;n=(0,r.default)(i,arguments,s)}else n=i.apply(this,arguments);return(0,d.default)(this,n)}}function m(){if("undefined"===typeof Reflect||!r.default)return!1;if(r.default.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call((0,r.default)(Date,[],(function(){}))),!0}catch(e){return!1}}var v=function(e){(0,f.default)(n,e);var t=w(n);function n(){var e,i;return(0,c.default)(this,n),i=t.call(this),i.bc=new BroadcastChannel("kiwi-ipc"),i.bc.onmessage=(0,o.default)(e=i.onmessage).call(e,(0,l.default)(i)),i}return(0,u.default)(n,[{key:"send",value:function(e){this.bc&&this.bc.postMessage(e)}},{key:"onmessage",value:function(e){this.emit("message",e)}}]),n}(h.default),_=function(e){(0,f.default)(n,e);var t=w(n);function n(){var e,i;return(0,c.default)(this,n),i=t.call(this),window.addEventListener("storage",(0,o.default)(e=i.onmessage).call(e,(0,l.default)(i))),i}return(0,u.default)(n,[{key:"send",value:function(e){localStorage.setItem("kiwi-ipc",(0,a.default)(e)),localStorage.removeItem("kiwi-ipc")}},{key:"onmessage",value:function(e){if("kiwi-ipc"===e.key&&e.newValue)try{var t={data:JSON.parse(e.newValue)};this.emit("message",t)}catch(n){this.emit("error")}}}]),n}(h.default),g=window.BroadcastChannel?new v:new _;t.default=g,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["libs"]||(window._kiwi_exports["libs"]={}),window._kiwi_exports["libs"]["IPC"],window._kiwi_exports.libs.IPC=t.default?t.default:t},8761:function(e,t,n){"use strict";var i=n("e4a8"),s=n.n(i);s.a},"87bc":function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80");a(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n("2b0b")),o=s(n("65b8")),c=s(n("e4f0")),u=s(n("4573")),l=s(n("b6ce")),f=s(n("2ef0")),d=i(n("862b")),p=i(n("8f39")),h=s(n("b4f0")),w=s(n("462f")),m={components:{BufferSettings:h.default,AwayStatusIndicator:w.default},props:["network","sidebarState"],data:function(){return{collapsed:!1,channel_filter:"",channel_filter_display:!1,channel_add_display:!1,channel_add_input_has_focus:!1,channel_add_input:""}},computed:{serverBuffer:function(){return this.network.serverBuffer()},isActiveNetwork:function(){return this.$state.getActiveNetwork()===this.network},totalNetworkCount:function(){return this.$state.networks.length},serverUnread:function(){var e;if(!this.collapsed)return(0,l.default)(this.serverBuffer).unread;var t=0;return(0,u.default)(e=this.network.buffers).call(e,(function(e){e.isSpecial()||(t+=(0,l.default)(e).unread)})),t},serverHighlight:function(){var e;if(!this.collapsed)return(0,l.default)(this.serverBuffer).highlight;var t=!1;return(0,u.default)(e=this.network.buffers).call(e,(function(e){e.isSpecial()||(0,l.default)(e).highlight&&(t=!0)})),t},filteredBuffers:function(){var e=this.channel_filter,t=[];return t=e?(0,c.default)(f.default).call(f.default,this.network.buffers,(function(t){var n=t.name.toLowerCase();return(0,o.default)(n).call(n,e)>-1})):this.network.buffers,p.orderBuffers(t)}},methods:{onNewChannelInputFocus:function(){this.channel_add_input||(this.channel_add_input="#"),this.channel_add_input_has_focus=!0},onNewChannelInputBlur:function(){"#"===this.channel_add_input&&(this.channel_add_input=""),this.channel_add_input||(this.channel_add_display=!1),this.channel_add_input_has_focus=!1},submitNewChannelForm:function(){var e=this,t=this.channel_add_input;this.channel_add_input="#";var n=this.network,i=d.extractBuffers(t),s=!1;(0,u.default)(i).call(i,(function(t){var i=t.name,a=["#0","0","&0"];if(!((0,o.default)(a).call(a,i)>-1||""===i.replace(/[#&]/g,""))){var r=e.$state.addBuffer(n.id,i);r&&!s&&(e.$state.setActiveBuffer(n.id,r.name),s=!0),t.key&&(r.key=t.key),n.isChannelName(i)&&n.ircClient.join(i,t.key)}}))},onChannelFilterInputBlur:function(){var e=this;(0,r.default)((function(){e.closeFilterChannel()}),200)},closeBuffer:function(e){this.$state.removeBuffer(e)},awayNotifySupported:function(){return this.network.ircClient.network.cap.isEnabled("away-notify")},showMessageCounts:function(e){return!e.setting("hide_message_counts")},setActiveBuffer:function(e){this.$state.$emit("active.component",null),this.$state.setActiveBuffer(e.networkid,e.name),this.$state.ui.is_narrow&&this.$state.$emit("statebrowser.hide")},isActiveBuffer:function(e){return e.networkid===this.$state.ui.active_network&&e.name===this.$state.ui.active_buffer},showNetworkSettings:function(e){e.showServerBuffer("settings")},showNetworkChannels:function(e){e.showServerBuffer("channels")},onSearchChannelClick:function(){this.network.buffers.length>1?this.toggleFilterChannel():this.network.showServerBuffer("channels")},toggleAddChannel:function(){this.channel_add_display=!this.channel_add_display,this.channel_filter_display=!1},toggleFilterChannel:function(){this.channel_filter_display=!this.channel_filter_display,this.channel_add_display=!1},closeFilterChannel:function(){this.channel_filter="",this.channel_filter_display=!1}}};t.default=m,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["StateBrowserNetwork"],window._kiwi_exports.components.StateBrowserNetwork=t.default?t.default:t},"88b1":function(e,t,n){"use strict";var i=n("3901"),s=n.n(i);s.a},"89ce":function(e,t,n){"use strict";var i=n("2d80");i(t,"__esModule",{value:!0}),t.default=void 0;var s={components:{},props:["buffer","message"],data:function(){return{requestingInput:!1}},computed:{},methods:{urlPreview:function(e){this.$state.$emit("mediaviewer.show",e)},areWeAnOp:function(){var e=this.buffer.getNetwork().nick;return this.buffer.isUserAnOp(e)},isSelf:function(){var e=this.$state.getUser(this.buffer.getNetwork().id,this.message.nick);return this.buffer.getNetwork().ircClient.user.nick===e.nick},onBan:function(e){var t=this.buffer.getNetwork();t.ircClient.mode(this.buffer.name,"+b",this.message.nick)},onKick:function(e){var t=this.buffer.getNetwork(),n=this.$state.setting("buffers.default_kick_reason"),i=e||n;t.ircClient.raw("KICK",this.buffer.name,this.message.nick,i)},openQuery:function(){var e=this.buffer.getNetwork(),t=this.$state.addBuffer(e.id,this.message.nick);this.$state.setActiveBuffer(e.id,t.name)}}};t.default=s,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["MessageInfo"],window._kiwi_exports.components.MessageInfo=t.default?t.default:t},"89d7":function(e,t,n){"use strict";n.r(t);var i=n("5820"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"8ac0":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-container",class:{"kiwi-container--sidebar-drawn":e.sidebarState.isDrawn,"kiwi-container--sidebar-open":e.sidebarState.isOpen,"kiwi-container--no-sidebar":e.buffer&&e.buffer.isSpecial}},[e.buffer?[n("div",{staticClass:"kiwi-container-toggledraw-statebrowser",on:{click:function(t){return t.stopPropagation(),e.toggleStateBrowser(t)}}},[n("div",{staticClass:"kiwi-container-toggledraw-statebrowser-messagecount",class:[e.unreadMessages.highlight?"kiwi-container-toggledraw-statebrowser-messagecount--highlight":""]},[n("span",{staticClass:"kiwi-container-statebrowser-messagecount-alert"},[e._v(" "+e._s(e.unreadMessages.count>999?"999+":e.unreadMessages.count)+" ")]),e._m(0)])]),n("container-header",{attrs:{buffer:e.buffer,"sidebar-state":e.sidebarState}}),e._t("before"),"connected"===e.buffer.getNetwork().state||e.buffer.isServer()?e._e():n("not-connected",{attrs:{buffer:e.buffer,network:e.buffer.getNetwork()}}),n("div",{staticClass:"kiwi-container-content"},[e.buffer.isServer()?[n("server-view",{attrs:{network:e.network}})]:[n("message-list",{attrs:{buffer:e.buffer}}),e.buffer.isSpecial()?e._e():n("sidebar",{attrs:{network:e.network,buffer:e.buffer,"sidebar-state":e.sidebarState}})],e._t("after")],2)]:[n("div",{staticClass:"kiwi-container-empty"},[n("h4",[e._v(e._s(e.$t("container_welcome")))]),n("a",{staticClass:"u-button",on:{click:function(t){return t.stopPropagation(),e.toggleStateBrowser(t)}}},[e._v(" "+e._s(e.$t("container_statebrowser"))+" ")])])]],2)},s=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("span",{staticClass:"kiwi-container-statebrowser-messagecount-close"},[n("i",{staticClass:"fa fa-times",attrs:{"aria-hidden":"true"}})])}]},"8bab":function(e,t,n){"use strict";n.r(t);var i=n("5426");for(var s in i)"default"!==s&&function(e){n.d(t,e,(function(){return i[e]}))}(s);var a,r,o=n("2877"),c=Object(o["a"])(i["default"],a,r,!1,null,null,null);t["default"]=c.exports},"8be5":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("4573")),r=n("5ee5");r.component("tabbed-tab",{props:{header:{status:String},focus:{status:Boolean},name:{status:String}},data:function(){return{active:!1}},template:'
'});var o=r.component("tabbed-view",{data:function(){return{a:1,prefixID:Math.floor(1e5*Math.random()).toString(36)}},computed:{tabs:function(){return this.$children}},mounted:function(){this.setActiveCheck()},methods:{getActive:function(){var e,t=null;return(0,a.default)(e=this.$children).call(e,(function(e){e.active&&(t=e)})),t},setActive:function(e){var t;(0,a.default)(t=this.$children).call(t,(function(t){t!==e&&(t.active=!1)})),e.active=!0,this.a++,this.$emit("changed",e.name)},setActiveByName:function(e){var t,n=this;(0,a.default)(t=this.$children).call(t,(function(t){t.name===e&&n.setActive(t)}))},setActiveCheck:function(){var e,t=this;(0,a.default)(e=this.$children).call(e,(function(e){e.focus&&t.setActive(e)}))}}});t.default=o,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["utils"]||(window._kiwi_exports["components"]["utils"]={}),window._kiwi_exports["components"]["utils"]["TabbedView"],window._kiwi_exports.components.utils.TabbedView=t.default?t.default:t},"8bfd":function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80");a(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n("9474")),o=i(n("19b1")),c={props:["ircinput"],data:function(){return{}},methods:{onColourClick:function(e){var t=window.getComputedStyle(e.target,null).getPropertyValue("background-color"),n=t.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);if(n){var i={r:(0,r.default)(n[1],10),g:(0,r.default)(n[2],10),b:(0,r.default)(n[3],10)};t=o.rgb2hex(i)}var s=e.target.dataset.code;this.ircinput.setColour(s,t)},onResetClick:function(){this.ircinput.resetStyles()}}};t.default=c,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["inputtools"]||(window._kiwi_exports["components"]["inputtools"]={}),window._kiwi_exports["components"]["inputtools"]["TextStyle"],window._kiwi_exports.components.inputtools.TextStyle=t.default?t.default:t},"8c1f":function(e,t,n){"use strict";n.r(t);var i=n("34cd"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"8ce2":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e.showCaptcha?n("div",{ref:"captchacontainer"}):e._e()])},s=[]},"8e04":function(e,t,n){"use strict";n.r(t);var i=n("e110"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"8e26":function(e,t,n){"use strict";n.r(t);var i=n("53e5"),s=n("dbd7");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("58de");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},"8f39":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.orderBuffers=p,t.orderedMessages=h,t.getNextBuffer=w,t.getPreviousBuffer=m;var a=i(n("4c43")),r=i(n("df10")),o=i(n("52da")),c=i(n("82ec")),u=i(n("e4f0")),l=i(n("14b1")),f=i(n("2ef0")),d=i(n("f72e"));function p(e){var t=(0,l.default)(e).call(e,(function(e){return e}));return t=(0,u.default)(f.default).call(f.default,t,(function(e){return!e.isServer()})),t=(0,c.default)(t).call(t,(function(e,t){var n=0;return n=e.isChannel()&&t.isQuery()?-1:e.isQuery()&&t.isChannel()?1:e.name.localeCompare(t.name),n})),t}function h(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.getNetwork(),i=n.nick,s=e.getMessages(),a=(e.message_count,[]);if(a=t.inPlace?s:(0,o.default)(s).call(s,0,s.length),(0,c.default)(a).call(a,(function(e,t){return e.time>t.time?1:t.time>e.time?-1:e.instance_num>t.instance_num?1:-1})),t.noFilter)return a;for(var u=[],l=e.setting("show_joinparts"),f=e.setting("show_topics"),d=e.setting("show_nick_changes"),p=e.setting("show_mode_changes"),h=a.length-1;h>=0;h--)(l||"traffic"!==a[h].type)&&(f||"topic"!==a[h].type)&&(d||"nick"!==a[h].type)&&(p||"mode"!==a[h].type)&&(a[h].ignore||"connection"===a[h].type&&0===h||("topic"===a[h].type&&a[h-1]&&"traffic"===a[h-1].type&&a[h-1].nick===i?(u.push(a[h-1]),u.push(a[h]),h--):u.push(a[h])));return(0,r.default)(u).call(u)}function w(){return v(1)}function m(){return v(-1)}function v(e){var t=(0,d.default)(),n=t.getActiveNetwork(),i=t.getActiveBuffer();if(!n||!i)return null;var s=p(n.buffers),r=(0,a.default)(f.default).call(f.default,s,["name",i.name])+e;return r>=s.length||r<0?(n=_(e),s=p(n.buffers),i=1===e?s[0]:s[s.length-1]):i=s[r],i}function _(e){for(var t=(0,d.default)(),n=t.getActiveNetwork(),i=0;i=t.networks.length&&t.networks.length>=0?t.networks[0]:s<0?t.networks[t.networks.length-1]:t.networks[s],n.buffers.length>1)return n}return n}window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["libs"]||(window._kiwi_exports["libs"]={}),window._kiwi_exports["libs"]["bufferTools"],window._kiwi_exports.libs.bufferTools=t.default?t.default:t},"8ffb":function(e,t,n){"use strict";n.r(t);var i=n("3a94"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"8fff":function(e,t,n){},"91b5":function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80");a(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n("a3e3")),o=s(n("493c")),c=s(n("4573")),u=s(n("14b1")),l=s(n("fc56")),f=s(n("82ec")),d=s(n("65b8")),p=s(n("e4f0")),h=s(n("2ef0")),w=i(n("7277"));function m(e,t){var n=e.invited.toUpperCase(),i=t.invited.toUpperCase();return ni?1:0}var v={props:["buffer"],data:function(){return{inviteList:[],is_refreshing:!1}},computed:{supportsAccounts:function(){return!!this.extban},extban:function(){return w.extbanAccount(this.buffer.getNetwork())},inviteListAccounts:function(){var e,t=this,n=(0,p.default)(e=this.inviteList).call(e,(function(e){var n;return 0===(0,d.default)(n=e.invited).call(n,t.extban)}));return(0,f.default)(n).call(n,m),n},inviteListNonAccounts:function(){var e,t=this,n=[];this.supportsAccounts?n=(0,p.default)(e=this.inviteList).call(e,(function(e){var n;return 0!==(0,d.default)(n=e.invited).call(n,t.extban)})):n=this.inviteList;return(0,f.default)(n).call(n,m),n},channelIsInviteOnly:function(){return"undefined"!==typeof this.buffer.modes.i},anyRegisteredUserCanJoin:function(){var e;if(!this.supportsAccounts)return!1;if(!this.channelIsInviteOnly)return!1;var t=this.extban;return!!(0,l.default)(e=this.inviteListAccounts).call(e,(function(e){return e.invited===t+":"}))},areWeAnOp:function(){return this.buffer.isUserAnOp(this.buffer.getNetwork().nick)},knownAccounts:function(){var e,t,n=this.buffer.getNetwork().users,i=this.extban,s=(0,u.default)(e=this.inviteListAccounts).call(e,(function(e){var t=e.invited;return t.replace(i+":","")})),a=[];return(0,c.default)(t=(0,o.default)(n)).call(t,(function(e){e.account&&-1===(0,d.default)(s).call(s,e.account)&&a.push(e)})),h.default.orderBy(a,["account","nick"])}},created:function(){this.updateInvitelist()},methods:{displayMask:function(e){var t=e.invited.replace(this.extban+":","");return t=t||this.$t("invite_any_registered"),t},updateInvitelist:function(){var e=this;if("connected"===this.buffer.getNetwork().state&&!this.is_refreshing){var t=this.buffer.name;this.is_refreshing=!0,this.buffer.getNetwork().ircClient.inviteList(t,(function(t){e.inviteList=t?t.invites:[],e.is_refreshing=!1}))}},removeInvite:function(e){var t,n=this.buffer.name;this.buffer.getNetwork().ircClient.removeInvite(n,e),this.inviteList=(0,p.default)(t=this.inviteList).call(t,(function(t){return t.invited!==e}))},addAccountInvite:function(e){var t;if(e){var n=this.buffer.getNetwork();n.ircClient.addInvite(this.buffer.name,(0,r.default)(t="".concat(this.extban,":")).call(t,e)),this.updateInvitelist()}},addInvite:function(e){var t=this.buffer.getNetwork();t.ircClient.addInvite(this.buffer.name,e),this.updateInvitelist()},setInviteOnly:function(){this.buffer.getNetwork().ircClient.mode(this.buffer.name,"+i")},removeInviteOnly:function(){this.buffer.getNetwork().ircClient.mode(this.buffer.name,"-i")}}};t.default=v},9208:function(e,t,n){"use strict";n.r(t);var i=n("d0fe"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},9280:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("startup-layout",{ref:"layout",staticClass:"kiwi-startbnc",scopedSlots:e._u([{key:"connection",fn:function(){return[n("form",{staticClass:"kiwi-startbnc-form",on:{submit:function(t){return t.preventDefault(),e.startUp(t)}}},[n("h2",{domProps:{innerHTML:e._s(e.greetingText)}}),n("div",{staticClass:"kiwi-startbnc-status"},[e._v(e._s(e.statusMessage))]),n("label",[n("span",[e._v(e._s(e.$t("username")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.username,expression:"username"}],attrs:{disabled:e.loading,type:"text"},domProps:{value:e.username},on:{input:function(t){t.target.composing||(e.username=t.target.value)}}})]),n("label",[n("span",[e._v(e._s(e.$t("password")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.password,expression:"password"}],attrs:{disabled:e.loading,type:"password"},domProps:{value:e.password},on:{input:function(t){t.target.composing||(e.password=t.target.value)}}})]),n("button",{staticClass:"u-button u-button-primary u-submit",attrs:{disabled:e.loading||!e.username||!e.password,type:"submit"}},[e.loading?n("i",{staticClass:"fa fa-spinner fa-spin",attrs:{"aria-hidden":"true"}}):n("span",{domProps:{innerHTML:e._s(e.buttonText)}})])])]},proxy:!0}])})},s=[]},"92f5":function(e,t,n){},9332:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("a3e3")),r=i(n("fa81")),o=i(n("4573")),c=i(n("298b")),u=n("2ef0"),l=i(n("f72e")),f=d;function d(e,t){var n=(0,l.default)(),i=n.setting("emojiLocation"),s="undefined"===typeof t?n.setting("buffers.show_emoticons"):!!t,a=(0,c.default)(e).call(e,(function(t,a,c){var l,f,d="",_="";switch((0,o.default)(l=(0,r.default)(a.styles)).call(l,(function(e){"underline"===e?d+="text-decoration:underline;":"bold"===e?d+="font-weight:bold;":"italic"===e?d+="font-style:italic;":"quote"===e?_+="kiwi-formatting-extras-quote ":"block"===e?_+="kiwi-formatting-extras-block ":"color"===e?_+="irc-fg-colour-".concat(a.styles[e]," "):"background"===e&&(_+="irc-bg-colour-".concat(a.styles[e]," "))})),a.type){case"url":f=p(a,{addHandle:n.setting("buffers.show_link_previews"),handleClass:"fa fa-share-square u-link kiwi-messagelist-message-linkhandle"});break;case"user":f=h(a);break;case"channel":f=w(a);break;case"emoji":f=m(a,1===e.length,i,s);break;default:f=(0,u.escape)(a.content)}return t+v(f,_,d)}),"");return"".concat(a)}function p(e,t){var n,i=t||{},s="";s=e.content.length>100?(0,u.escape)(e.content.substr(0,100))+"...":(0,u.escape)(e.content);var r=e.meta.url.replace(/"/g,"%22"),o=(0,a.default)(n='')).call(n,s,"");if(i.addHandle){var c,l,f=i.handleClass||"",d=i.handleContent||"";o+=(0,a.default)(c=(0,a.default)(l='')).call(c,d,"")}return o}function h(e){var t=(0,u.escape)(e.meta.user),n=e.meta.colour;return'".concat(t,"")}function w(e){var t;return(0,a.default)(t='')).call(t,(0,u.escape)(e.content),"")}function m(e,t,n,i){var s,r,o,c;if(!i)return e.content;var l=e.meta.emoji,f="kiwi-messagelist-emoji"+(t?" kiwi-messagelist-emoji--single":""),d=(0,a.default)(s="".concat(n)).call(s,l,".png");return(0,a.default)(r=(0,a.default)(o=(0,a.default)(c='')).call(o,(0,u.escape)(e.content),'')}function v(e,t,n){return""===n&&""===t?e:"".concat(e,"")}t.default=f,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["libs"]||(window._kiwi_exports["libs"]={}),window._kiwi_exports["libs"]["renderers"]||(window._kiwi_exports["libs"]["renderers"]={}),window._kiwi_exports["libs"]["renderers"]["Html"],window._kiwi_exports.libs.renderers.Html=t.default?t.default:t},"934b":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.buildTree=f;var a=i(n("bf2d")),r=i(n("65b8")),o=i(n("a3e3")),c=i(n("fa81")),u=i(n("4573")),l=["emojis","themes","bnc","aliases","restricted","kiwiServer","hide_advanced","windowTitle","startupOptions","plugins","presetNetworks","ircFramework"];function f(e,t,n,i){var s;(0,u.default)(s=(0,c.default)(n)).call(s,(function(s){var c,u=n[s],d=(0,o.default)(t).call(t,[s]);if(-1!==(0,r.default)(c=["string","boolean","number"]).call(c,(0,a.default)(u))){if(-1!==(0,r.default)(l).call(l,s)||-1!==(d[0]&&(0,r.default)(l).call(l,d[0])))return;e[d.join(".")]&&e[d.join(".")].val===u||(e[d.join(".")]={key:d.join("."),val:u,type:(0,a.default)(u),modified:i})}else"object"===(0,a.default)(u)&&null!==u&&f(e,d,u,i)}))}window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["libs"]||(window._kiwi_exports["libs"]={}),window._kiwi_exports["libs"]["settingTools"],window._kiwi_exports.libs.settingTools=t.default?t.default:t},9465:function(e,t,n){"use strict";n.r(t);var i=n("7b18"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},"960a":function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("2b0b")),r=i(n("e7f8")),o={components:{Captcha:r.default},props:["buffer","network"],data:function(){return{forceLoader:!1}},computed:{netStatus:function(){return this.buffer.getNetwork().state},shouldShowLoading:function(){return this.maybeForceLoader(),!("disconnected"===this.network.state&&!this.forceLoader)},restrictedServer:function(){return this.$state.setting("restricted")},readyToStart:function(){return!0}},methods:{maybeForceLoader:function(){var e=this,t=2e3,n=this.network.state;"disconnected"===n||this.forceLoader||(this.forceLoader=!0,(0,a.default)((function(){e.forceLoader=!1}),t))},isChannel:function(){return this.buffer.isChannel()},isServer:function(){return this.buffer.isServer()},isQuery:function(){return this.buffer.isQuery()},reconnect:function(){this.readyToStart&&(this.buffer.isChannel()&&(this.buffer.enabled=!0),this.buffer.getNetwork().ircClient.connect())},showNetworkSettings:function(){var e=this.buffer.getNetwork();e.showServerBuffer("settings")}}};t.default=o,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["NotConnected"],window._kiwi_exports.components.NotConnected=t.default?t.default:t},9656:function(e,t,n){},"96a1":function(e,t,n){"use strict";n.r(t);var i=n("ea3f"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},9729:function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80");a(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n("9474")),o=s(n("14b1")),c=s(n("65b8")),u=s(n("fa81")),l=s(n("4573")),f=i(n("934b")),d=s(n("2ef0")),p={data:function(){return{filterString:""}},computed:{filteredSettings:function(){var e,t=this.settings,n=this.filterString.toLowerCase(),i=[];return(0,l.default)(e=(0,u.default)(t)).call(e,(function(e){var s,a=t[e];-1!==(0,c.default)(s=a.key.toLowerCase()).call(s,n)&&i.push(a)})),i},settings:function(){var e,t={},n=[];return f.buildTree(t,n,this.$state.getSetting("settings"),!1),f.buildTree(t,n,this.$state.getSetting("user_settings"),!0),d.default.orderBy((0,o.default)(e=(0,u.default)(t)).call(e,(function(e){return t[e]})),[function(e){return e.key.split(".").length-1},"key"],["asc"])}},methods:{resetValue:function(e,t){var n=this.$state.getSetting("settings."+t);n||(n=null),this.$state.setting(t,n)},updateSetting:function(e,t){var n=e.target,i="checkbox"===n.type?n.checked:n.value;switch(n.type){case"checkbox":i=n.checked;break;case"number":i=(0,r.default)(n.value,10);break;default:i=n.value;break}this.$state.setting(t)!==i&&this.$state.setting(t,i)}}};t.default=p,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["SettingsAdvanced"],window._kiwi_exports.components.SettingsAdvanced=t.default?t.default:t},9736:function(e,t,n){},9767:function(e,t,n){"use strict";var i=n("2d80");i(t,"__esModule",{value:!0}),t.default=void 0;var s={props:{},status:function(e){return e.user&&e.buffer?e.user.typingStatus(e.buffer.name).status:""}},a={props:{user:Object,buffer:Object},m:s};t.default=a,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["TypingStatusIndicator"],window._kiwi_exports.components.TypingStatusIndicator=t.default?t.default:t},"97cb":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-aboutbuffer"},[n("h3",[e._v(e._s(e.b.name))]),n("div",{staticClass:"kiwi-aboutbuffer-section",class:{"kiwi-aboutbuffer-section--closed":e.closedSections.about}},[n("h4",{on:{click:function(t){return e.toggleSection("about")}}},[n("i",{staticClass:"fa fa-angle-right"}),e._v(" "+e._s(e.$t("about"))+" ")]),n("div",[e.b.topic?n("p",{domProps:{innerHTML:e._s(e.formattedTopic)}}):n("p",[e._v(e._s(e.$t("no_topic_set")))]),e.b.created_at?n("p",[e._v(" "+e._s(e.$t("created_at",{when:(new Intl.DateTimeFormat).format(e.b.created_at)}))+" ")]):e._e(),n("p",{staticClass:"kiwi-aboutbuffer-usercount"},[n("a",{staticClass:"u-link ",on:{click:function(t){return e.sidebarState.showNicklist()}}},[e._v(" "+e._s(e.$t("person",{count:Object.keys(e.b.users||{}).length}))+" ")])])])]),n("div",{staticClass:"kiwi-aboutbuffer-section",class:{"kiwi-aboutbuffer-section--closed":e.closedSections.highlights}},[n("h4",{on:{click:function(t){return e.toggleSection("highlights")}}},[n("i",{staticClass:"fa fa-angle-right"}),e._v(" "+e._s(e.$t("highlights"))+" ")]),n("div",[e.highlights.length>0?n("ul",e._l(e.highlights,(function(t){return n("li",{key:t.id,staticClass:"kiwi-aboutbuffer-highlight",on:{click:function(n){return e.buffer.scrollToMessage(t.id)}}},[e._v(" "+e._s(t.nick?t.nick+": ":"")),n("span",{domProps:{innerHTML:e._s(t.html)}})])})),0):n("p",[e._v(e._s(e.$t("nobody_mentioned_you")))])])]),e._l(e.pluginUiSections,(function(t){return n("div",{key:t.id,staticClass:"kiwi-aboutbuffer-section",class:{"kiwi-aboutbuffer-section--closed":e.closedSections[t.id]}},[n("h4",{on:{click:function(n){return e.toggleSection(t.id)}}},[n("i",{staticClass:"fa fa-angle-right"}),e._v(" "+e._s(t.args.title)+" ")]),n("div",{directives:[{name:"rawElement",rawName:"v-rawElement",value:t.el,expression:"plugin.el"}]})])}))],2)},s=[]},"98fc":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"u-tabbed-view"},[n("div",{key:e.prefixID+e.a,staticClass:"u-tabbed-view-tabs"},e._l(e.tabs,(function(t){return n("a",{key:t.name||t.header,class:{"u-tabbed-view-tab":!0,"u-tabbed-view-tab--active":t.active},on:{click:function(n){return e.setActive(t)}}},[e._v(e._s(t.header))])})),0),e._t("default")],2)},s=[]},9965:function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80");a(t,"__esModule",{value:!0}),t.default=f;var r=s(n("bf2d")),o=s(n("3818")),c=s(n("4573")),u=s(n("acf5")),l=i(n("862b"));function f(){return function(t,n,i){t.requestCap("draft/chathistory"),d(t),i.use(e)};function e(e,t,n,i){if("batch end chathistory"===e.toLowerCase()&&n.chathistory){var s=t.params[0];n.chathistory.batchCallbacks.resolve(s,t)}"fail"===e.toLowerCase()&&"chathistory"===t.params[0].toLowerCase()&&"message_error"===t.params[1].toLowerCase()&&n.chathistory.batchCallbacks.resolve(t.params[3]),i()}}function d(e){var t=e.chathistory={};function n(e){return"object"===(0,r.default)(e)?"timestamp="+l.dateIso(e):"*"===e?"*":"msgid="+e}t.batchCallbacks={callbacks:(0,u.default)(null),add:function(e,t){this.callbacks[e.toLowerCase()]=this.callbacks[e.toLowerCase()]||[],this.callbacks[e.toLowerCase()].push(t)},resolve:function(e,t){var n=this.callbacks[e.toLowerCase()]||[];delete this.callbacks[e.toLowerCase()],(0,c.default)(n).call(n,(function(e){return e(t)}))},targetCallbacks:function(e){return this.callbacks[e.toLowerCase()]}},t.isSupported=function(){return!!e.network.supports("draft/chathistory")},t.before=function(i,s){return new o.default((function(a){t.isSupported()?(e.raw("CHATHISTORY","BEFORE",i,n(s),"50"),t.batchCallbacks.add(i,a)):a()}))},t.after=function(i,s){return new o.default((function(a){t.isSupported()?(e.raw("CHATHISTORY","AFTER",i,n(s),"50"),t.batchCallbacks.add(i,a)):a()}))},t.latest=function(i,s){return new o.default((function(a){t.isSupported()?(e.raw("CHATHISTORY","LATEST",i,n(s),"50"),t.batchCallbacks.add(i,a)):a()}))},t.around=function(i,s){return new o.default((function(a){t.isSupported()?(e.raw("CHATHISTORY","AROUND",i,n(s),"50"),t.batchCallbacks.add(i,a)):a()}))},t.between=function(i,s,a){return new o.default((function(r){if(t.isSupported()){var o=n(s),c=n(a);e.raw("CHATHISTORY","BETWEEN",i,o,c,50),t.batchCallbacks.add(i,r)}else r()}))}}window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["libs"]||(window._kiwi_exports["libs"]={}),window._kiwi_exports["libs"]["ChathistoryMiddleware"],window._kiwi_exports.libs.ChathistoryMiddleware=t.default?t.default:t},"9a7c":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-networksettings"},[n("form",{staticClass:"u-form",on:{submit:function(t){return t.preventDefault(),e.connect(t)}}},[n("div",{staticClass:"kiwi-title"},[e._v(e._s(e.$t("settings_server_details")))]),n("div",{staticClass:"kiwi-networksettings-section-block"},[e.network.state_error?n("div",{staticClass:"kiwi-networksettings-error"},[e._v(" "+e._s(e.$t("network_noconnect"))+" "),n("span",[e._v(e._s(e.readableStateError(e.network.state_error)))])]):e.network.last_error?n("div",{staticClass:"kiwi-networksettings-error"},[n("span",[e._v(e._s(e.network.last_error))])]):e._e(),n("captcha",{staticClass:"kiwi-networksettings-captcha",attrs:{network:e.network}}),e.network.editable_name?n("div",{staticClass:"kiwi-networksettings-networkname"},[n("input-text",{attrs:{label:e.$t("network_name")},model:{value:e.network.name,callback:function(t){e.$set(e.network,"name",t)},expression:"network.name"}})],1):e._e(),n("server-selector",{attrs:{connection:e.network.connection,"network-list":e.network_list}}),n("div",{staticClass:"kiwi-networksettings-connection-password"},["network"===e.server_type?[n("input-text",{attrs:{label:e.$t("settings_nickname")},model:{value:e.network.connection.nick,callback:function(t){e.$set(e.network.connection,"nick",t)},expression:"network.connection.nick"}}),n("input-text",{attrs:{"show-plain-text":!0,label:e.$t("password"),type:"password"},model:{value:e.network.password,callback:function(t){e.$set(e.network,"password",t)},expression:"network.password"}})]:[n("input-text",{attrs:{label:e.$t("username")},model:{value:e.znc_username,callback:function(t){e.znc_username=t},expression:"znc_username"}}),n("input-text",{attrs:{label:e.$t("network")},model:{value:e.znc_network,callback:function(t){e.znc_network=t},expression:"znc_network"}}),n("input-text",{attrs:{label:e.$t("password"),type:"password"},model:{value:e.znc_password,callback:function(t){e.znc_password=t},expression:"znc_password"}})]],2),n("div",{staticClass:"kiwi-networksettings-server-types"},["znc"===e.server_type?n("div",{staticClass:"kiwi-networksettings-server-types-info"},[e._v(" "+e._s(e.$t("settings_znc_other"))+" ")]):e._e(),n("a",{staticClass:"u-link kiwi-network-type-button",class:{"kiwi-networksettings-server-type-active":"network"===e.server_type},on:{click:function(t){e.server_type="network"}}},[e._v(" "+e._s(e.$t("network"))+" ")]),n("a",{staticClass:"u-link kiwi-network-type-button",class:{"kiwi-networksettings-server-type-active":"znc"===e.server_type},on:{click:function(t){e.server_type="znc"}}},[e._v(" "+e._s(e.$t("znc"))+" ")])]),n("h4",{staticClass:"kiwi-show-advanced-title",on:{click:function(t){e.show_advanced=!e.show_advanced}}},[e._v(" "+e._s(e.$t("settings_advanced"))+" "),n("i",{staticClass:"fa",class:["fa-caret-"+(e.show_advanced?"up":"down")],attrs:{"aria-hidden":"true"}})]),e.show_advanced?n("div",{staticClass:"kiwi-networksettings-advanced"},[[n("input-text",{attrs:{label:e.$t("settings_encoding")},model:{value:e.network.connection.encoding,callback:function(t){e.$set(e.network.connection,"encoding",t)},expression:"network.connection.encoding"}}),n("input-text",{attrs:{"show-plain-text":!0,label:e.$t("server_password"),type:"password"},model:{value:e.network.connection.password,callback:function(t){e.$set(e.network.connection,"password",t)},expression:"network.connection.password"}}),n("input-text",{attrs:{label:e.$t("whois_realname")},model:{value:e.network.gecos,callback:function(t){e.$set(e.network,"gecos",t)},expression:"network.gecos"}}),n("label",[n("span",{staticClass:"kiwi-appsettings-showraw-label"},[e._v(" "+e._s(e.$t("settings_show_raw"))+" ")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingShowRaw,expression:"settingShowRaw"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settingShowRaw)?e._i(e.settingShowRaw,null)>-1:e.settingShowRaw},on:{change:function(t){var n=e.settingShowRaw,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.settingShowRaw=n.concat([a])):r>-1&&(e.settingShowRaw=n.slice(0,r).concat(n.slice(r+1)))}else e.settingShowRaw=s}}})]),n("label",[n("span",{staticClass:"kiwi-appsettings-showraw-label"},[e._v(" "+e._s(e.$t("settings_use_websocket"))+" ")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.network.connection.direct,expression:"network.connection.direct"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.network.connection.direct)?e._i(e.network.connection.direct,null)>-1:e.network.connection.direct},on:{change:function(t){var n=e.network.connection.direct,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&e.$set(e.network.connection,"direct",n.concat([a])):r>-1&&e.$set(e.network.connection,"direct",n.slice(0,r).concat(n.slice(r+1)))}else e.$set(e.network.connection,"direct",s)}}}),e.network.connection.direct?n("input-text",{model:{value:e.directWs,callback:function(t){e.directWs=t},expression:"directWs"}}):e._e()],1),n("label",{staticClass:"u-form-block"},[n("input-text",{attrs:{label:e.$t("settings_autorun"),type:"textarea"},model:{value:e.network.auto_commands,callback:function(t){e.$set(e.network,"auto_commands",t)},expression:"network.auto_commands"}})],1)]],2):e._e(),"disconnected"===e.network.state?n("button",{staticClass:"u-button kiwi-connect-to-newnetwork",on:{click:function(t){return e.connect()}}},[e._v(" "+e._s(e.$t("network_connect"))+" ")]):"connecting"===e.network.state?n("button",{staticClass:"u-button kiwi-connect-to-newnetwork",attrs:{disabled:""}},[e._v(" "+e._s(e.$t("connecting"))+" ")]):e._e()],1),n("div",{staticClass:"kiwi-dangerzone"},[n("h3",[e._v(e._s(e.$t("settings_danger")))]),n("a",{staticClass:"u-button u-button-warning",on:{click:e.removeNetwork}},[n("i",{staticClass:"fa fa-times",attrs:{"aria-hidden":"true"}}),e._v(" "+e._s(e.$t("settings_remove"))+" ")])])])])},s=[]},"9aad":function(e,t,n){"use strict";n.r(t);var i=n("97cb"),s=n("8c1f");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("8761");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},"9c24":function(e,t,n){"use strict";n.r(t);var i=n("13d0"),s=n("3804");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("281c");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},"9f2a":function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-selfuser kiwi-theme-bg"},[e.self_user_settings_open?n("div",{staticClass:"kiwi-selfuser-actions"},[n("form",{staticClass:"u-form",on:{submit:function(t){return t.preventDefault(),e.changeNick(t)},keyup:function(t){if(!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"]))return null;e.self_user_settings_open=!1}}},[n("input-prompt",{directives:[{name:"focus",rawName:"v-focus"}],attrs:{label:e.$t("enter_new_nick"),noprompt:!0,block:!0},on:{submit:e.onNewNickSubmit,cancel:function(t){e.self_user_settings_open=!1}}})],1),e.error_message?n("div",{staticClass:"kiwi-selfuser-error-message"},[e._v(e._s(e.error_message))]):e._e()]):n("div",{staticClass:"kiwi-selfuser-mask"},[n("span",{staticClass:"kiwi-selfuser-nick"},[n("away-status-indicator",{attrs:{network:e.network,user:e.network.currentUser()}}),e._v(" "+e._s(e.network.nick)+" "),n("i",{staticClass:"fa fa-times",attrs:{"aria-hidden":"true"},on:{click:function(t){return e.closeSelfUser()}}}),n("i",{staticClass:"fa fa-pencil",attrs:{"aria-hidden":"true"},on:{click:function(t){return e.openSelfActions()}}})],1),n("span",{staticClass:"kiwi-selfuser-host"},[e._v(" "+e._s(e.netUser.username)+"@"+e._s(e.netUser.host)+" ( "+e._s(e.modeString)+" ) ")]),e.networkSupportsAway()?n("div",{staticClass:"u-form kiwi-away-checkbox-form"},[n("label",{staticClass:"kiwi-selfuser-away-label"},[n("span",[e._v(e._s(e.$t("away")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.awayStatus,expression:"awayStatus"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.awayStatus)?e._i(e.awayStatus,null)>-1:e.awayStatus},on:{change:function(t){var n=e.awayStatus,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.awayStatus=n.concat([a])):r>-1&&(e.awayStatus=n.slice(0,r).concat(n.slice(r+1)))}else e.awayStatus=s}}})])]):e._e()])])},s=[]},a017:function(e,t,n){"use strict";var i=n("27d9"),s=n.n(i);s.a},a1a6:function(e,t,n){"use strict";n.r(t);var i=n("124c"),s=n("78e0");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("ad02");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},a2f1:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-personal"},[n("h1",[e._v(e._s(e.$t("personal_client")))]),e.server&&e.server.server&&!e.readyToShowOptions?n("div"):e.server&&e.server.server?n("div",[e.addedNetworkToExisting?n("div",[n("p",[e._v(" "+e._s(e.$t("personal_added_to_existing"))+" ")])]):n("div",[n("p",{domProps:{innerHTML:e._s(e.$t("personal_connect_to",{network:""+e.server.server+""}))}}),e.hasOtherTab?n("button",{staticClass:"u-button u-button-primary",on:{click:e.addNetworkToExistingTab}},[e._v(" "+e._s(e.$t("personal_add_existing_tab"))+" ")]):n("button",{staticClass:"u-button u-button-primary",on:{click:function(t){return e.addNetwork()}}},[e._v(" Add network to Kiwi ")]),n("br"),n("button",{staticClass:"u-button u-button-primary",on:{click:function(t){return e.addNetwork(!0)}}},[e._v(" "+e._s(e.$t("personal_connect_temporary"))+" ")]),e._v(" "),n("br")])]):n("div",[n("p",[e._v(e._s(e.$t("personal_addjoin")))]),n("p",[e._v(e._s(e.$t("personal_return")))]),n("button",{staticClass:"u-button u-button-primary",on:{click:e.addEmptyNetwork}},[e._v(" "+e._s(e.$t("personal_add"))+" ")]),e._v(" "),n("br"),e.networks.length>0?n("a",{staticClass:"u-link kiwi-personal-existing-networks",on:{click:function(t){return t.stopPropagation(),e.toggleStateBrowser(t)}}},[e._v(" "+e._s(e.$t("personal_saved"))+" ")]):e._e()])])},s=[]},a4a2:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("2b0b")),r=!1,o={props:["url","component","componentProps","isIframe","showPin"],data:function(){return{}},computed:{embedlyKey:function(){return this.$state.settings.embedly.key}},watch:{url:function(){this.updateEmbed()},isIframe:function(){this.updateEmbed()}},created:function(){this.updateEmbed()},mounted:function(){var e=this;this.$nextTick((function(){e.$state.$emit("mediaviewer.opened")}))},methods:{updateEmbed:function(){var e=this;if(this.url&&!this.isIframe&&!this.component){var t=function t(){"function"===typeof window.embedly?e.$nextTick((function(){window.embedly("card",e.$refs.embedlyLink)})):(0,a.default)(t,100)};if(!r){var n=document.getElementsByTagName("head")[0],i=document.createElement("script");i.type="text/javascript",i.src="//cdn.embedly.com/widgets/platform.js",n.appendChild(i),r=!0}t()}}}};t.default=o,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["MediaViewer"],window._kiwi_exports.components.MediaViewer=t.default?t.default:t},a667:function(e,t,n){"use strict";n.r(t);var i=n("18fc"),s=n("07be");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("364e");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},a88c:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("b6ce")),r={props:["buffer","network"],data:function(){return{}},methods:{joinChannel:function(){(0,a.default)(this.buffer).channel_badkey=!1,this.buffer.join()}}};t.default=r,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["BufferKey"],window._kiwi_exports.components.BufferKey=t.default?t.default:t},a8fe:function(e,t,n){"use strict";var i=n("fc9a"),s=n.n(i);s.a},a9c9:function(e,t,n){},abdc:function(e,t,n){"use strict";var i=n("5fce"),s=n.n(i);s.a},ac2f:function(e,t,n){"use strict";n.r(t);var i=n("c2ba"),s=n("f21d");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("a8fe");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},ac3b:function(e,t,n){},ad02:function(e,t,n){"use strict";var i=n("1639"),s=n.n(i);s.a},ad51:function(e,t,n){"use strict";(function(e){var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("82ec")),r=i(n("65b8")),o=i(n("4573")),c=i(n("acf5")),u=i(n("0470")),l=i(n("28c0")),f=u.default.namespace("Nicklist"),d=null;function p(e,t){return d?d.compare(e,t):e===t?0:e>t?1:-1}e.Intl&&(d=new Intl.Collator({},{numeric:!0}));var h={components:{NicklistUser:l.default},props:["network","buffer","sidebarState"],data:function(){return{userbox_user:null,user_filter:"",filter_visible:!1,self:this}},computed:{shouldShowAvatars:function(){return this.buffer.setting("nicklist_avatars")},sortedUsers:function(){var e=this,t=this.network.ircClient.network.options.PREFIX,n=(0,c.default)(null);(0,o.default)(t).call(t,(function(e,t){n[e.mode]=t}));var i=(0,c.default)(null),s=[],u=this.buffer.users,l=this.user_filter.toLowerCase();for(var d in u){var h=u[d];i[h.nick]=d,l&&-1===(0,r.default)(d).call(d,l)||s.push(h)}var w=this.buffer.id;return(0,a.default)(s).call(s,(function(t,s){var a=t.buffers[w],r=s.buffers[w];if(!a){var o="Nicklist.sortedUsers() User A does not have the buffer in its list!";return f.error(o,t.nick,t.buffers),-1}if(!r){var c="Nicklist.sortedUsers() User B does not have the buffer in its list!";return f.error(c,s.nick,s.buffers),1}var u=a.modes,l=r.modes;if(0===u.length&&0===l.length){if(e.$state.setting("nicklistGroupAway")){if(t.away&&!s.away)return 1;if(!t.away&&s.away)return-1}return p(i[t.nick],i[s.nick])}if(u.length>0&&0===l.length)return-1;if(0===u.length&&l.length>0)return 1;var d=n[e.buffer.userMode(t)],h=n[e.buffer.userMode(s)];if(d>h)return 1;if(d ")).call(n,e.network)),t.name=e.network);var s=a.state.addBuffer(t.id,e.name);s?(e.joined?(s.enabled=!0,s.joined=!0):(s.enabled=!1,s.joined=!1),e.seen&&(s.last_read=new Date(e.seen).getTime()),e.notify&&s.setting("alert_on",e.notify),s.topic=e.topic||"","connected"===t.state&&s.isChannel()&&s.joined&&(i.raw("NAMES "+s.name),i.who(s.name))):b.error("Couldn't add BNC buffer, '".concat(e.name,"'"),e)})),(0,l.default)(n=t.buffers).call(n,(function(e){if(e.isChannel()||e.isQuery()){var t=(0,o.default)(s).call(s,(function(t){return t.name.toLowerCase()===e.name.toLowerCase()}));0===t.length&&a.state.removeBuffer(e)}}));case 7:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"addNetworkToState",value:function(){var e=(0,u.default)(c.default.mark((function e(t){var n;return c.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return n=this.state.getNetworkFromBncNetId(t.networkId),n?(n.name=t.name,n.connection.server=t.host,n.connection.port=(0,r.default)(t.port,10),n.connection.tls=t.tls,n.connection.nick=t.account||t.nick,n.connection.password=t.password||"",n.nick=t.currentNick||t.nick||"",n.password=t.account_password):n=this.state.addNetwork(t.name,t.nick||"",{server:t.host,port:t.port,tls:t.tls,password:t.password||"",bncnetid:t.networkId,username:t.user,account_password:t.account_password}),n.editable_name=!0,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"snapshotCurrentNetworks",value:function(){var e,t=this;this.networksSnapshot=(0,w.default)(null),(0,l.default)(e=this.state.networks).call(e,(function(e){e.connection.bncnetid&&(t.networksSnapshot[e.connection.bncnetid]={bncnetid:e.connection.bncnetid,network:e.name,host:e.connection.server,port:e.connection.port,tls:e.connection.tls,account:e.connection.nick,account_password:e.password,server_password:e.connection.password,nick:e.connection.nick,username:e.username})}))}},{key:"saveState",value:function(){var e,t=this,n=this.getController();n?((0,l.default)(e=this.state.networks).call(e,(function(e){if((t.getController()!==e||e.ircClient.bnc.hasNetwork())&&!e.hidden)if(e.name.match(/^[a-zA-Z_0-9.]+$/)){var i=e.connection.bncnetid,s=t.networksSnapshot[i]||{},r={};e.name!==s.network&&(r.network=e.name),e.connection.server!==s.host&&(r.host=e.connection.server),e.connection.port!==s.port&&(r.port=e.connection.port),e.connection.tls!==s.tls&&(r.tls=e.connection.tls),e.password!==s.account_password&&(r.account_password=e.password),e.connection.nick!==s.account&&(r.account=e.connection.nick),e.connection.password!==s.server_password&&(r.password=e.connection.password),e.connection.nick!==s.nick&&(r.nick=e.connection.nick),e.username!==s.username&&(r.user=e.username),!s.bncnetid&&r.host&&r.port&&r.nick?(b("Saving new network ".concat(e.name," to the BNC")),n.ircClient.bnc.addNetwork(e.name,r.host,r.port,r.tls,r.nick,r.user,r.password).then((function(t){e.connection.bncnetid=t.networkId,e.name=t.network}))):s.bncnetid&&(0,a.default)(r).length>0&&(b("Updating network ".concat(e.name," on the BNC")),n.ircClient.bnc.saveNetwork(i,r))}else b.debug("Network ".concat(e.id," has an invalid name. Not saving to the BNC"))})),this.snapshotCurrentNetworks()):b.debug("No controller available to save networks")}},{key:"monitorNetworkChanges",value:function(){var e;if(!this.monitoringChanges){this.monitoringChanges=!0,this.snapshotCurrentNetworks();var t=_.default.debounce((0,h.default)(e=this.saveState).call(e,this),2e3);this.state.$watch("networks",t,{deep:!0})}}},{key:"listenToState",value:function(){var e=this,t=this.state;t.$on("network.connecting",(function(t){var n=t.network;if(e.bnc.enabled&&e.rewriteConnections){var i=n.name,s=n.ircClient;if(s.options.host=e.bnc.server,s.options.port=e.bnc.port,s.options.tls=e.bnc.tls,e.bnc.password&&!t.network.is_bnc){var a,r,o=(0,p.default)(a=(0,p.default)(r="".concat(e.bnc.username,"/")).call(r,i,":")).call(a,e.bnc.password);s.options.password=o}s.options.account={},n.connection.direct=e.bnc.direct,s.options.path=e.bnc.path}})),t.$on("network.connecting",(function(t){var n=e.getController();if(n){e.saveState();var i=t.network;i.connection.bncnetid&&n.ircClient.raw("BOUNCER connect "+i.connection.bncnetid)}else b.debug("No controller available to save network states")})),t.$on("irc.motd",(function(e,t){var n;(0,l.default)(n=t.buffers).call(n,(function(e){e.isChannel()&&e.enabled&&e.joined&&t.ircClient.who(e.name)}))})),t.$on("network.new",(function(e){var n=e.network;if(n.ircClient.use((0,k.default)()),n.editable_name=!0,!n.connection.bncnetid){var i=1,s=!0;while(s)s=(0,d.default)(_.default).call(_.default,t.networks,{name:"Network"+i}),s&&n!==s||(n.name="Network"+i,s=null),i++}})),t.$on("network.removed",(function(t){var n=e.getController();n?t.network.connection.bncnetid&&n.ircClient.bnc.removeNetwork(t.network.connection.bncnetid):b.debug("No controller available to save network states")})),t.$on("buffer.close",(function(t){var n=t.buffer,i=t.buffer.getNetwork(),s=i.connection.bncnetid,a=e.getController();a?s&&a.ircClient.bnc.closeBuffer(s,n.name):b.debug("No controller available to save buffer states")}))}},{key:"parseBncCredentials",value:function(e){var t=e.split(":"),n=(0,f.default)(t,2),i=n[0],s=n[1];return i=i.split("/")[0],[i,s]}}]),e}();t.default=y,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["libs"]||(window._kiwi_exports["libs"]={}),window._kiwi_exports["libs"]["BouncerProvider"],window._kiwi_exports.libs.BouncerProvider=t.default?t.default:t},b4f0:function(e,t,n){"use strict";n.r(t);var i=n("5a9e"),s=n("fedd");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("eeb2");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},b5b6:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("5ee5")),r=a.default.extend({data:function(){return{sidebarOpen:!1,sidebarSection:"",sidebarUser:null,activeComponent:null}},computed:{isDrawn:function(){return this.sidebarOpen&&this.section()&&this.$state.ui.app_width<=769},isOpen:function(){return this.sidebarOpen&&this.section()&&this.$state.ui.app_width>769}},created:function(){var e=this;this.listen(this.$state,"sidebar.component",(function(t){e.activeComponent=t,e.sidebarOpen=!!t,e.sidebarSection=t?"component":""})),this.$nextTick((function(){var t=e.$state.setting("sidebarDefault");t&&e.$state.ui.app_width>769&&(e.sidebarSection=t,e.sidebarOpen=!0)}))},methods:{section:function(){if(!this.sidebarOpen)return"";var e=this.sidebarSection;if("component"===e)return e;var t=this.$state.getActiveBuffer();if(t.isQuery()){var n=this.$state.getUser(t.getNetwork().id,t.name);return n?(this.sidebarUser=n,"user"):""}return t.isChannel()?"user"===e&&this.sidebarUser?t.hasNick(this.sidebarUser.nick)?"user":(this.sidebarSection="nicklist",this.sidebarSection):"nicklist"===e?"nicklist":"settings"===e?"settings":"about"===e?"about":"":""},close:function(){this.activeComponent=null,this.sidebarOpen=!1,this.sidebarSection="",this.sidebarUser=null},showUser:function(e){this.activeComponent=null,this.sidebarUser=e,this.sidebarOpen=!0,this.sidebarSection="user"},showNicklist:function(){this.activeComponent=null,this.sidebarOpen=!0,this.sidebarSection="nicklist"},showBufferSettings:function(){this.activeComponent=null,this.sidebarOpen=!0,this.sidebarSection="settings"},showAbout:function(){this.activeComponent=null,this.sidebarOpen=!0,this.sidebarSection="about"},toggleUser:function(e){"user"===this.section()?this.close():this.showUser(e)},toggleNicklist:function(){"nicklist"===this.section()?this.close():this.showNicklist()},toggleBufferSettings:function(){"settings"===this.section()?this.close():this.showBufferSettings()},toggleAbout:function(){"about"===this.section()?this.close():this.showAbout()}}});t.default=r,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["SidebarState"],window._kiwi_exports.components.SidebarState=t.default?t.default:t},b6b1:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-inputtool-colours"},[n("div",{staticClass:"kiwi-inputtool-colours-palette",on:{mousedown:function(e){e.preventDefault()},click:function(e){e.preventDefault()}}},[n("div",{staticClass:"kiwi-inputtools-colours-colour irc-bg-colour-white",attrs:{"data-code":"00"},on:{click:e.onColourClick}}),n("div",{staticClass:"kiwi-inputtools-colours-colour irc-bg-colour-black",attrs:{"data-code":"01"},on:{click:e.onColourClick}}),n("div",{staticClass:"kiwi-inputtools-colours-colour irc-bg-colour-blue",attrs:{"data-code":"02"},on:{click:e.onColourClick}}),n("div",{staticClass:"kiwi-inputtools-colours-colour irc-bg-colour-green",attrs:{"data-code":"03"},on:{click:e.onColourClick}}),n("div",{staticClass:"kiwi-inputtools-colours-colour irc-bg-colour-light-red",attrs:{"data-code":"04"},on:{click:e.onColourClick}}),n("div",{staticClass:"kiwi-inputtools-colours-colour irc-bg-colour-brown",attrs:{"data-code":"05"},on:{click:e.onColourClick}}),n("div",{staticClass:"kiwi-inputtools-colours-colour irc-bg-colour-purple",attrs:{"data-code":"06"},on:{click:e.onColourClick}}),n("div",{staticClass:"kiwi-inputtools-colours-colour irc-bg-colour-orange",attrs:{"data-code":"07"},on:{click:e.onColourClick}}),n("div",{staticClass:"kiwi-inputtools-colours-colour irc-bg-colour-yellow",attrs:{"data-code":"08"},on:{click:e.onColourClick}}),n("div",{staticClass:"kiwi-inputtools-colours-colour irc-bg-colour-light-green",attrs:{"data-code":"09"},on:{click:e.onColourClick}}),n("div",{staticClass:"kiwi-inputtools-colours-colour irc-bg-colour-cyan",attrs:{"data-code":"10"},on:{click:e.onColourClick}}),n("div",{staticClass:"kiwi-inputtools-colours-colour irc-bg-colour-light-cyan",attrs:{"data-code":"11"},on:{click:e.onColourClick}}),n("div",{staticClass:"kiwi-inputtools-colours-colour irc-bg-colour-light-blue",attrs:{"data-code":"12"},on:{click:e.onColourClick}}),n("div",{staticClass:"kiwi-inputtools-colours-colour irc-bg-colour-pink",attrs:{"data-code":"13"},on:{click:e.onColourClick}}),n("div",{staticClass:"kiwi-inputtools-colours-colour irc-bg-colour-grey",attrs:{"data-code":"14"},on:{click:e.onColourClick}}),n("div",{staticClass:"kiwi-inputtools-colours-colour irc-bg-colour-light-grey",attrs:{"data-code":"15"},on:{click:e.onColourClick}}),n("div",{staticClass:"kiwi-inputtools-colours-colour kiwi-inputtools-colours-reset",on:{click:e.onResetClick}},[n("i",{staticClass:"fa fa-ban",attrs:{"aria-hidden":"true"}})])])])},s=[]},b70f:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-statebrowser-network",class:[e.isActiveNetwork?"kiwi-statebrowser-network--active":""]},[n("div",{staticClass:"kiwi-statebrowser-network-header"},[n("a",{staticClass:"kiwi-statebrowser-network-name u-link",on:{click:function(t){return e.setActiveBuffer(e.serverBuffer)}}},[e._v(" "+e._s(e.network.name)+" ")]),n("div",{staticClass:"kiwi-statebrowser-buffer-actions"},[n("div",{staticClass:"kiwi-statebrowser-channel-labels"},[e.serverUnread&&e.showMessageCounts(e.serverBuffer)?n("div",{staticClass:"kiwi-statebrowser-channel-label",class:[e.serverHighlight?"kiwi-statebrowser-channel-label--highlight":""]},[e._v(" "+e._s(e.serverUnread>999?"999+":e.serverUnread)+" ")]):e._e()])]),n("div",{staticClass:"kiwi-network-name-options"},[e.totalNetworkCount>1?n("div",{staticClass:"kiwi-network-name-option kiwi-network-name-option-collapse",on:{click:function(t){e.collapsed=!e.collapsed}}},[n("i",{staticClass:"fa",class:[e.collapsed?"fa-plus-square-o":"fa-minus-square-o"]})]):e._e()])]),e.channel_filter_display?n("div",{staticClass:"kiwi-statebrowser-channelfilter"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.channel_filter,expression:"channel_filter"},{name:"focus",rawName:"v-focus"}],attrs:{placeholder:e.$t("filter_channels"),type:"text"},domProps:{value:e.channel_filter},on:{blur:e.onChannelFilterInputBlur,keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:e.closeFilterChannel(t)},input:function(t){t.target.composing||(e.channel_filter=t.target.value)}}}),n("p",[n("a",{on:{click:function(t){e.closeFilterChannel(),e.showNetworkChannels(e.network)}}},[e._v(" "+e._s(e.$t("find_more_channels"))+" ")])])]):e._e(),e.channel_add_display?n("div",{staticClass:"kiwi-statebrowser-channels-info"},[n("form",{staticClass:"kiwi-statebrowser-newchannel",on:{submit:function(t){return t.preventDefault(),e.submitNewChannelForm(t)}}},[n("div",{directives:[{name:"focus",rawName:"v-focus"}],staticClass:"kiwi-statebrowser-newchannel-inputwrap",class:[e.channel_add_input_has_focus?"kiwi-statebrowser-newchannel-inputwrap--focus":""]},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.channel_add_input,expression:"channel_add_input"}],attrs:{placeholder:e.$t("state_join"),type:"text"},domProps:{value:e.channel_add_input},on:{focus:e.onNewChannelInputFocus,blur:e.onNewChannelInputBlur,input:function(t){t.target.composing||(e.channel_add_input=t.target.value)}}})])])]):e._e(),n("div",{staticClass:"kiwi-statebrowser-network-toggable-area",class:[e.collapsed?"kiwi-statebrowser-network-toggable-area--collapsed":""]},[n("transition",{attrs:{name:"kiwi-statebrowser-network-status-transition"}},["connected"!==e.network.state?n("div",{staticClass:"kiwi-statebrowser-network-status"},[e.network.state_error?[n("i",{staticClass:"fa fa-exclamation-triangle",attrs:{"aria-hidden":"true"}}),n("a",{staticClass:"u-link",on:{click:function(t){return e.showNetworkSettings(e.network)}}},[e._v(" "+e._s(e.$t("state_configure"))+" ")])]:e.network.connection.server?"disconnected"===e.network.state?[e._v(" "+e._s(e.$t("state_disconnected"))+" "),n("a",{staticClass:"u-link",on:{click:function(t){return e.network.ircClient.connect()}}},[e._v(" "+e._s(e.$t("connect"))+" ")])]:"connecting"===e.network.state?[e._v(" "+e._s(e.$t("connecting"))+" ")]:e._e():[n("a",{staticClass:"u-link",on:{click:function(t){return e.showNetworkSettings(e.network)}}},[e._v(" "+e._s(e.$t("state_configure"))+" ")])]],2):e._e()]),n("div",{staticClass:"kiwi-statebrowser-channels"},["connected"===e.network.state?n("div",{staticClass:"kiwi-statebrowser-channels-options"},[n("div",{staticClass:"kiwi-statebrowser-channels-option",class:{active:1==e.channel_add_display},on:{click:function(t){return e.toggleAddChannel()}}},[n("i",{staticClass:"fa fa-plus",attrs:{"aria-hidden":"true"}})]),n("div",{staticClass:"kiwi-statebrowser-channels-option",class:{active:1==e.channel_filter_display},on:{click:e.onSearchChannelClick}},[n("i",{staticClass:"fa fa-search",attrs:{"aria-hidden":"true"}})])]):e._e(),e._l(e.filteredBuffers,(function(t){return n("div",{key:t.name,staticClass:"kiwi-statebrowser-channel",class:{"kiwi-statebrowser-channel-active":e.isActiveBuffer(t),"kiwi-statebrowser-channel-notjoined":t.isChannel()&&!t.joined},attrs:{"data-name":t.name.toLowerCase()}},[n("div",{staticClass:"kiwi-statebrowser-channel-name",on:{click:function(n){return e.setActiveBuffer(t)}}},[t.isQuery()&&e.awayNotifySupported()?n("away-status-indicator",{attrs:{network:e.network,user:e.network.userByName(t.name)}}):e._e(),e._v(e._s(t.name)+" ")],1),n("div",{staticClass:"kiwi-statebrowser-buffer-actions"},[n("div",{staticClass:"kiwi-statebrowser-channel-labels"},[t.flags.unread&&e.showMessageCounts(t)?n("div",{staticClass:"kiwi-statebrowser-channel-label",class:[t.flags.highlight?"kiwi-statebrowser-channel-label--highlight":""]},[e._v(" "+e._s(t.flags.unread>999?"999+":t.flags.unread)+" ")]):e._e()]),n("div",{staticClass:"kiwi-statebrowser-channel-leave",on:{click:function(n){return e.closeBuffer(t)}}},[n("i",{staticClass:"fa fa-times",attrs:{"aria-hidden":"true"}})])])])}))],2)],1)])},s=[]},b73b:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("44a4")),r=i(n("e4f0")),o=i(n("14b1")),c=i(n("3002")),u=i(n("9f12")),l=i(n("53fe")),f=i(n("2d80")),d=i(n("5ee5")),p=i(n("e54d")),h=i(n("9332")),w=i(n("385f")),m=i(n("f72e")),v=0;function _(e,t,n){(0,f.default)(e,t,{writable:!0,value:n})}var g=function(){function e(t,n){(0,u.default)(this,e),_(this,"instance_num",v++),_(this,"id",k(t)||v++),_(this,"time",t.time||(0,c.default)()),_(this,"server_time",t.server_time||this.time),_(this,"nick",t.nick),_(this,"message",t.message),_(this,"tags",t.tags),_(this,"type",t.type||"message"),_(this,"type_extra",t.type_extra),_(this,"ignore",!1),_(this,"mentioned_urls",[]),this.embed={type:"url",payload:null},this.html="",_(this,"hasRendered",!1),_(this,"template",t.template||null),_(this,"bodyTemplate",t.bodyTemplate||null),_(this,"isHighlight",!1),(0,f.default)(this,"user",{value:n}),d.default.observable(this)}return(0,l.default)(e,[{key:"render",value:function(){return w.default.singleton().emit("message.render",{message:this}),this}},{key:"toHtml",value:function(e){var t;if(this.hasRendered)return this.html;this.hasRendered=!0;var n=(0,m.default)(),i=n.setting("buffers.show_emoticons")&&!e.buffer.isSpecial(),s=e.buffer.users,a=!e.buffer.isSpecial()&&e.useExtraFormatting&&"privmsg"===this.type,c=(0,p.default)(this.message,{extras:a},s);n.$emit("message.prestyle",{message:this,blocks:c});var u=(0,h.default)(c,i);return this.mentioned_urls=(0,o.default)(t=(0,r.default)(c).call(c,(function(e){return"url"===e.type}))).call(t,(function(e){return e.meta.url})),this.html=u,this.maybeAutoEmbed(),n.$emit("message.poststyle",{message:this,blocks:c}),this.html}},{key:"maybeAutoEmbed",value:function(){var e;if(this.mentioned_urls&&0!==this.mentioned_urls.length){var t=(0,m.default)().setting("buffers.inline_link_auto_previews");if(t&&"privmsg"===this.type){var n=this.mentioned_urls[0],i=(0,m.default)().setting("buffers.inline_link_auto_preview_whitelist");i=(0,a.default)(e=i||"").call(e);try{if(!i||!new RegExp(i,"i").test(n))return}catch(s){return}this.embed.payload=n,this.embed.type="url"}}}}]),e}();function k(e){if(e.tags)return e.tags.msgid||e.tags["draft/msgid"]||void 0}t.default=g,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["libs"]||(window._kiwi_exports["libs"]={}),window._kiwi_exports["libs"]["Message"],window._kiwi_exports.libs.Message=t.default?t.default:t},b7cd:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-mediaviewer"},[n("div",{staticClass:"kiwi-mediaviewer-controls"},[e.showPin?n("a",{staticClass:"u-button u-link kiwi-mediaviewer-controls-pin",on:{click:function(t){return e.$emit("pin")}}},[n("i",{staticClass:"fa fa-map-pin",attrs:{"aria-hidden":"true"}})]):e._e(),n("a",{staticClass:"u-button u-button-warning kiwi-mediaviewer-controls-close",on:{click:function(t){return e.$emit("close")}}},[n("i",{staticClass:"fa fa-window-close",attrs:{"aria-hidden":"true"}})])]),e.isIframe?n("iframe",{staticClass:"kiwi-mediaviewer-iframe",attrs:{src:e.url}}):e.component?n(e.component,{tag:"component",attrs:{"component-props":e.componentProps}}):n("div",{key:e.url,staticClass:"kiwi-mediaviewer-embedly"},[n("a",{ref:"embedlyLink",staticClass:"kiwi-embedly-card",attrs:{href:e.url,"data-card-key":e.embedlyKey,"data-card-chrome":"0","data-card-controls":"0","data-card-recommend":"0"}},[e._v(e._s(e.$t("media_loading",{url:e.url})))])])],1)},s=[]},ba06:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(e,t){var n=t._c;return n("div",{staticClass:"kiwi-messagelist-message kiwi-messagelist-message--modern",class:[t.props.m().isRepeat()?"kiwi-messagelist-message--authorrepeat":"kiwi-messagelist-message--authorfirst","kiwi-messagelist-message-"+t.props.message.type,t.props.message.type_extra?"kiwi-messagelist-message-"+t.props.message.type+"-"+t.props.message.type_extra:"",t.props.ml.isMessageHighlight(t.props.message)?"kiwi-messagelist-message--highlight":"",t.props.ml.isHoveringOverMessage(t.props.message)?"kiwi-messagelist-message--hover":"",t.props.ml.buffer.last_read&&t.props.message.time>t.props.ml.buffer.last_read?"kiwi-messagelist-message--unread":"",t.props.message.nick.toLowerCase()===t.props.ml.ourNick.toLowerCase()?"kiwi-messagelist-message--own":"",t.props.ml.message_info_open===t.props.message?"kiwi-messagelist-message--info-open":"",t.props.ml.message_info_open&&t.props.ml.message_info_open!==t.props.message?"kiwi-messagelist-message--blur":"",t.props.message.user&&t.props.m().userMode(t.props.message.user)?"kiwi-messagelist-message--user-mode-"+t.props.m().userMode(t.props.message.user):"",t.data.staticClass],attrs:{"data-message-id":t.props.message.id,"data-nick":(t.props.message.nick||"").toLowerCase()},on:{click:function(e){return t.props.ml.onMessageClick(e,t.props.message,!0)},dblclick:function(e){return t.props.ml.onMessageDblClick(e,t.props.message)}}},[n("div",{staticClass:"kiwi-messagelist-modern-left"},[t.props.m().isMessage(t.props.message)&&t.props.m().displayAvatar(t.props.message)?n(t.injections.components.MessageAvatar,{tag:"component",attrs:{message:t.props.message,"data-nick":t.props.message.nick,user:t.props.message.user}}):t._e(),t.props.message.user&&!t.props.m().isRepeat()?n(t.injections.components.AwayStatusIndicator,{tag:"component",staticClass:"kiwi-messagelist-awaystatus",attrs:{network:t.props.m().getNetwork(),user:t.props.message.user,toggle:!1}}):t._e()],1),n("div",{staticClass:"kiwi-messagelist-modern-right"},[n("div",{staticClass:"kiwi-messagelist-top"},[t.props.message.nick?n("a",{class:["kiwi-messagelist-nick",t.props.message.user&&t.props.m().userMode(t.props.message.user)?"kiwi-messagelist-nick--mode-"+t.props.m().userMode(t.props.message.user):""],style:{color:t.props.ml.userColour(t.props.message.user)},attrs:{"data-nick":t.props.message.nick.toLowerCase()},on:{mouseover:function(e){t.props.ml.hover_nick=t.props.message.nick.toLowerCase()},mouseout:function(e){t.props.ml.hover_nick=""}}},[n("span",{staticClass:"kiwi-messagelist-nick-prefix"},[t._v(t._s(t.props.message.user?t.props.m().userModePrefix(t.props.message.user):""))]),t._v(t._s(t.props.message.nick)+" ")]):t._e(),t.props.m().showRealName()?n("div",{staticClass:"kiwi-messagelist-realname",on:{click:function(e){return t.props.ml.openUserBox(t.props.message.nick)},mouseover:function(e){t.props.ml.hover_nick=t.props.message.nick.toLowerCase()},mouseout:function(e){t.props.ml.hover_nick=""}}},[t._v(" "+t._s(t.props.message.user.realname)+" ")]):t._e(),t.props.m().isMessage(t.props.message)&&t.props.ml.bufferSetting("show_timestamps")?n("div",{staticClass:"kiwi-messagelist-time",attrs:{title:t.props.ml.formatTimeFull(t.props.message.time)}},[t._v(" "+t._s(t.props.ml.formatTime(t.props.message.time))+" ")]):t._e()]),t.props.message.bodyTemplate&&t.props.message.bodyTemplate.$el?n("div",{directives:[{name:"rawElement",rawName:"v-rawElement",value:t.props.message.bodyTemplate.$el,expression:"props.message.bodyTemplate.$el"}],staticClass:"kiwi-messagelist-body"}):n("div",{staticClass:"kiwi-messagelist-body",domProps:{innerHTML:t._s(t.props.ml.formatMessage(t.props.message))}}),t.props.ml.message_info_open===t.props.message?n(t.injections.components.MessageInfo,{tag:"component",attrs:{message:t.props.message,buffer:t.props.ml.buffer},on:{close:function(e){return t.props.ml.toggleMessageInfo()}}}):t._e(),t.props.message.embed.payload?n("div",[n(t.injections.components.MediaViewer,{tag:"component",attrs:{url:t.props.message.embed.payload,"show-pin":!0},on:{close:function(e){t.props.message.embed.payload=""},pin:function(e){return t.props.ml.openEmbedInPreview(t.props.message)}}})],1):t._e()],1)])},s=[]},ba5c:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("e4f0")),r={props:["buffer"],data:function(){return{banlist:[],is_refreshing:!1}},created:function(){this.updateBanlist()},methods:{updateBanlist:function(){var e=this;if("connected"===this.buffer.getNetwork().state&&!this.is_refreshing){var t=this.buffer.name;this.is_refreshing=!0,this.buffer.getNetwork().ircClient.banlist(t,(function(t){e.banlist=t.bans,e.is_refreshing=!1}))}},removeBan:function(e){var t,n=this.buffer.name;this.buffer.getNetwork().ircClient.unban(n,e),this.banlist=(0,a.default)(t=this.banlist).call(t,(function(t){return t.banned!==e}))}}};t.default=r,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["ChannelBanlist"],window._kiwi_exports.components.ChannelBanlist=t.default?t.default:t},baf0:function(e,t,n){"use strict";n.r(t);var i=n("c842"),s=n("c028");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("210c");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!0,null,"7979fe60",null);t["default"]=o.exports},bb3c:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.def=r;var a=i(n("2d80"));function r(e,t,n,i){var s=n,r={get:function(){return s}};i&&(r.set=function(e){var t=s;s=e,"function"===typeof i&&i(e,t)}),(0,a.default)(e,t,r),"function"===typeof i&&i(s)}},bbd9:function(e,t,n){"use strict";n.r(t);var i=n("68bb"),s=n("ff31");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("ccf5");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},bd1b:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(e,t){var n=t._c;return n("div",{staticClass:"kiwi-messagelist-message kiwi-messagelist-message--compact",class:[t.props.m().isRepeat()?"kiwi-messagelist-message--authorrepeat":"kiwi-messagelist-message--authorfirst","kiwi-messagelist-message-"+t.props.message.type,t.props.message.type_extra?"kiwi-messagelist-message-"+t.props.message.type+"-"+t.props.message.type_extra:"",t.props.ml.isMessageHighlight(t.props.message)?"kiwi-messagelist-message--highlight":"",t.props.ml.isHoveringOverMessage(t.props.message)?"kiwi-messagelist-message--hover":"",t.props.ml.buffer.last_read&&t.props.message.time>t.props.ml.buffer.last_read?"kiwi-messagelist-message--unread":"",t.props.message.nick.toLowerCase()===t.props.ml.ourNick.toLowerCase()?"kiwi-messagelist-message--own":"",t.props.ml.message_info_open===t.props.message?"kiwi-messagelist-message--info-open":"",t.props.ml.message_info_open&&t.props.ml.message_info_open!==t.props.message?"kiwi-messagelist-message--blur":"",t.props.message.user&&t.props.m().userMode(t.props.message.user)?"kiwi-messagelist-message--user-mode-"+t.props.m().userMode(t.props.message.user):"",t.data.staticClass],attrs:{"data-message-id":t.props.message.id,"data-nick":(t.props.message.nick||"").toLowerCase()},on:{click:function(e){return t.props.ml.onMessageClick(e,t.props.message,!0)},dblclick:function(e){return t.props.ml.onMessageDblClick(e,t.props.message)}}},[t.props.ml.bufferSetting("show_timestamps")?n("div",{staticClass:"kiwi-messagelist-time",attrs:{title:t.props.ml.formatTimeFull(t.props.message.time)}},[t._v(" "+t._s(t.props.ml.formatTime(t.props.message.time))+" ")]):t._e(),n("a",{class:["kiwi-messagelist-nick",t.props.message.user&&t.props.m().userMode(t.props.message.user)?"kiwi-messagelist-nick--mode-"+t.props.m().userMode(t.props.message.user):""],style:{color:t.props.ml.userColour(t.props.message.user)},attrs:{"data-nick":(t.props.message.nick||"").toLowerCase()},on:{mouseover:function(e){t.props.ml.hover_nick=t.props.message.nick.toLowerCase()},mouseout:function(e){t.props.ml.hover_nick=""}}},[t.props.message.user?n(t.injections.components.AwayStatusIndicator,{tag:"component",attrs:{network:t.props.m().getNetwork(),user:t.props.message.user,toggle:!1}}):t._e(),n("span",{staticClass:"kiwi-messagelist-nick--prefix"},[t._v(" "+t._s(t.props.message.user?t.props.m().userModePrefix(t.props.message.user):"")+" ")]),t._v(" "+t._s(t.props.message.nick)+" ")],1),t.props.message.bodyTemplate&&t.props.message.bodyTemplate.$el?n("div",{directives:[{name:"rawElement",rawName:"v-rawElement",value:t.props.message.bodyTemplate.$el,expression:"props.message.bodyTemplate.$el"}],staticClass:"kiwi-messagelist-body"}):n("div",{staticClass:"kiwi-messagelist-body",domProps:{innerHTML:t._s(t.props.ml.formatMessage(t.props.message))}}),t.props.ml.message_info_open===t.props.message?n(t.injections.components.MessageInfo,{tag:"component",attrs:{message:t.props.message,buffer:t.props.ml.buffer},on:{close:function(e){return t.props.ml.toggleMessageInfo()}}}):t._e(),t.props.message.embed.payload?n("div",[n(t.injections.components.MediaViewer,{tag:"component",attrs:{url:t.props.message.embed.payload,"show-pin":!0},on:{close:function(e){t.props.message.embed.payload=""},pin:function(e){return t.props.ml.openEmbedInPreview(t.props.message)}}})],1):t._e()],1)},s=[]},bd77:function(e,t,n){"use strict";var i=n("ac3b"),s=n.n(i);s.a},bdce:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.SoundBleep=void 0;var a=i(n("9f12")),r=i(n("53fe")),o=function(){function e(){(0,a.default)(this,e),this.audio=document.createElement("audio");var t=document.createElement("source");this.audio.canPlayType("audio/mpeg;")?(t.type="audio/mpeg",t.src="static/highlight.mp3"):(t.type="audio/ogg",t.src="static/highlight.ogg"),this.audio.appendChild(t)}return(0,r.default)(e,[{key:"play",value:function(){this.audio.play()}}]),e}();t.SoundBleep=o},be0a:function(e,t,n){},bf17:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-appsettings"},[n("div",{staticClass:"kiwi-appsettings-title",on:{click:e.closeSettings}},[n("span",[e._v(e._s(e.$t("close")))]),n("i",{staticClass:"fa fa-times",attrs:{"aria-hidden":"true"}})]),n("form",{staticClass:"u-form"},[n("tabbed-view",{ref:"tabs",staticClass:"kiwi-appsettings-tab-container"},[n("tabbed-tab",{attrs:{header:e.$t("settings_general"),focus:!0,name:"general"}},[n("div",{staticClass:"kiwi-appsettings-block"},[n("h3",[e._v(e._s(e.$t("settings_general")))]),n("div",{staticClass:"kiwi-appsettings-section kiwi-appsettings-general"},[n("label",{staticClass:"kiwi-appsettings-setting-language"},[n("div",[n("i",{staticClass:"fa fa-globe"})]),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settingLanguage,expression:"settingLanguage"}],on:{change:function(t){var n=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){var t="_value"in e?e._value:e.value;return t}));e.settingLanguage=t.target.multiple?n:n[0]}}},[n("option",{attrs:{value:""}},[e._v(" Auto ")]),e._l(e.localesList,(function(t){return n("option",{key:t[0],domProps:{value:t[0]}},[e._v(" "+e._s(t[1])+" ")])}))],2)]),n("label",{staticClass:"kiwi-appsettings-setting-theme"},[n("span",[e._v(e._s(e.$t("settings_theme"))+" ")]),n("a",{staticClass:"kiwi-appsettings-theme-reload",attrs:{title:e.$t("refresh_theme")},on:{click:e.refreshTheme}},[n("i",{staticClass:"fa fa-refresh",attrs:{"aria-hidden":"true"}})]),n("select",{directives:[{name:"model",rawName:"v-model",value:e.theme,expression:"theme"}],on:{change:function(t){var n=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){var t="_value"in e?e._value:e.value;return t}));e.theme=t.target.multiple?n:n[0]}}},e._l(e.settings.themes,(function(t){return n("option",{key:t.name,domProps:{value:t.name}},[e._v(" "+e._s(t.name)+" ")])})),0)]),"custom"===e.theme?n("label",[n("span",[e._v(e._s(e.$t("settings_themeurl"))+" ")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.customThemeUrl,expression:"customThemeUrl"}],staticClass:"u-input",domProps:{value:e.customThemeUrl},on:{input:function(t){t.target.composing||(e.customThemeUrl=t.target.value)}}})]):e._e(),n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("settings_show_autocomplete"))+" ")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingShowAutoComplete,expression:"settingShowAutoComplete"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settingShowAutoComplete)?e._i(e.settingShowAutoComplete,null)>-1:e.settingShowAutoComplete},on:{change:function(t){var n=e.settingShowAutoComplete,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.settingShowAutoComplete=n.concat([a])):r>-1&&(e.settingShowAutoComplete=n.slice(0,r).concat(n.slice(r+1)))}else e.settingShowAutoComplete=s}}})]),e.themeSupportsMonospace?n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("settings_use_monospace"))+" ")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingUseMonospace,expression:"settingUseMonospace"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settingUseMonospace)?e._i(e.settingUseMonospace,null)>-1:e.settingUseMonospace},on:{change:function(t){var n=e.settingUseMonospace,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.settingUseMonospace=n.concat([a])):r>-1&&(e.settingUseMonospace=n.slice(0,r).concat(n.slice(r+1)))}else e.settingUseMonospace=s}}})]):e._e(),e.canRegisterProtocolHandler?n("div",{staticStyle:{"margin-top":"10px","text-align":"center"}},[n("a",{staticClass:"u-button u-button-primary",on:{click:function(t){return e.makeDefaultProtocolHandler()}}},[n("i",[e._v(e._s(e.$t("settings_default_handler")))])])]):e._e()])]),n("div",{staticClass:"kiwi-appsettings-block"},[n("h3",[e._v(e._s(e.$t("settings_messages_title")))]),n("div",{staticClass:"kiwi-appsettings-section kiwi-appsettings-messages"},[n("label",{staticClass:"kiwi-appsettings-messagelistDisplay"},[n("span",[e._v(e._s(e.$t("settings_messagelayout"))+" ")]),n("select",{directives:[{name:"model",rawName:"v-model",value:e.settingMessageLayout,expression:"settingMessageLayout"}],on:{change:function(t){var n=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){var t="_value"in e?e._value:e.value;return t}));e.settingMessageLayout=t.target.multiple?n:n[0]}}},[n("option",{attrs:{value:"traditional"}},[e._v("Traditional")]),n("option",{attrs:{value:"modern"}},[e._v("Modern")]),n("option",{attrs:{value:"inline"}},[e._v("Inline")])])]),n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("settings_timestamps"))+" ")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingBufferShowTimestamps,expression:"settingBufferShowTimestamps"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settingBufferShowTimestamps)?e._i(e.settingBufferShowTimestamps,null)>-1:e.settingBufferShowTimestamps},on:{change:function(t){var n=e.settingBufferShowTimestamps,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.settingBufferShowTimestamps=n.concat([a])):r>-1&&(e.settingBufferShowTimestamps=n.slice(0,r).concat(n.slice(r+1)))}else e.settingBufferShowTimestamps=s}}})]),n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("settings_24hour_timestamps"))+" ")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.timestamps_24h,expression:"timestamps_24h"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.timestamps_24h)?e._i(e.timestamps_24h,null)>-1:e.timestamps_24h},on:{change:function(t){var n=e.timestamps_24h,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.timestamps_24h=n.concat([a])):r>-1&&(e.timestamps_24h=n.slice(0,r).concat(n.slice(r+1)))}else e.timestamps_24h=s}}})]),n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("settings_emoticons"))+" ")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingBufferShowEmoticons,expression:"settingBufferShowEmoticons"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settingBufferShowEmoticons)?e._i(e.settingBufferShowEmoticons,null)>-1:e.settingBufferShowEmoticons},on:{change:function(t){var n=e.settingBufferShowEmoticons,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.settingBufferShowEmoticons=n.concat([a])):r>-1&&(e.settingBufferShowEmoticons=n.slice(0,r).concat(n.slice(r+1)))}else e.settingBufferShowEmoticons=s}}})]),n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("settings_block_private"))+" ")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingBufferBlockPms,expression:"settingBufferBlockPms"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settingBufferBlockPms)?e._i(e.settingBufferBlockPms,null)>-1:e.settingBufferBlockPms},on:{change:function(t){var n=e.settingBufferBlockPms,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.settingBufferBlockPms=n.concat([a])):r>-1&&(e.settingBufferBlockPms=n.slice(0,r).concat(n.slice(r+1)))}else e.settingBufferBlockPms=s}}})]),n("label",{staticClass:"kiwi-appsettings-full kiwi-appsettings-setting-scrollback"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingBufferScrollbackSize,expression:"settingBufferScrollbackSize"}],staticClass:"u-input",attrs:{type:"number"},domProps:{value:e.settingBufferScrollbackSize},on:{input:function(t){t.target.composing||(e.settingBufferScrollbackSize=t.target.value)}}}),n("span",[e._v(e._s(e.$t("settings_scrollback"))+" ")])]),n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("settings_formatting"))+" ")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingBufferExtraFormatting,expression:"settingBufferExtraFormatting"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settingBufferExtraFormatting)?e._i(e.settingBufferExtraFormatting,null)>-1:e.settingBufferExtraFormatting},on:{change:function(t){var n=e.settingBufferExtraFormatting,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.settingBufferExtraFormatting=n.concat([a])):r>-1&&(e.settingBufferExtraFormatting=n.slice(0,r).concat(n.slice(r+1)))}else e.settingBufferExtraFormatting=s}}})]),n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("settings_nick_colouring"))+" ")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingBufferColourNicknames,expression:"settingBufferColourNicknames"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settingBufferColourNicknames)?e._i(e.settingBufferColourNicknames,null)>-1:e.settingBufferColourNicknames},on:{change:function(t){var n=e.settingBufferColourNicknames,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.settingBufferColourNicknames=n.concat([a])):r>-1&&(e.settingBufferColourNicknames=n.slice(0,r).concat(n.slice(r+1)))}else e.settingBufferColourNicknames=s}}})]),n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("settings_share_typing"))+" ")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingBufferShareTyping,expression:"settingBufferShareTyping"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settingBufferShareTyping)?e._i(e.settingBufferShareTyping,null)>-1:e.settingBufferShareTyping},on:{change:function(t){var n=e.settingBufferShareTyping,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.settingBufferShareTyping=n.concat([a])):r>-1&&(e.settingBufferShareTyping=n.slice(0,r).concat(n.slice(r+1)))}else e.settingBufferShareTyping=s}}})]),n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("settings_show_inline_previews"))+" ")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingBufferInlineLinkPreviews,expression:"settingBufferInlineLinkPreviews"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settingBufferInlineLinkPreviews)?e._i(e.settingBufferInlineLinkPreviews,null)>-1:e.settingBufferInlineLinkPreviews},on:{change:function(t){var n=e.settingBufferInlineLinkPreviews,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.settingBufferInlineLinkPreviews=n.concat([a])):r>-1&&(e.settingBufferInlineLinkPreviews=n.slice(0,r).concat(n.slice(r+1)))}else e.settingBufferInlineLinkPreviews=s}}})])])]),n("div",{staticClass:"kiwi-appsettings-block"},[n("h3",[e._v(e._s(e.$t("notifications")))]),n("div",{staticClass:"kiwi-appsettings-section kiwi-appsettings-notifications"},[n("label",{staticClass:"kiwi-appsettings-setting-showjoinpart u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("settings_show_joinpart"))+" ")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingBufferTrafficAsActivity,expression:"settingBufferTrafficAsActivity"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settingBufferTrafficAsActivity)?e._i(e.settingBufferTrafficAsActivity,null)>-1:e.settingBufferTrafficAsActivity},on:{change:function(t){var n=e.settingBufferTrafficAsActivity,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.settingBufferTrafficAsActivity=n.concat([a])):r>-1&&(e.settingBufferTrafficAsActivity=n.slice(0,r).concat(n.slice(r+1)))}else e.settingBufferTrafficAsActivity=s}}})]),n("label",{staticClass:"u-checkbox-wrapper"},[n("span",[e._v(e._s(e.$t("settings_mute_sound"))+" ")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingBufferMuteSound,expression:"settingBufferMuteSound"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settingBufferMuteSound)?e._i(e.settingBufferMuteSound,null)>-1:e.settingBufferMuteSound},on:{change:function(t){var n=e.settingBufferMuteSound,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.settingBufferMuteSound=n.concat([a])):r>-1&&(e.settingBufferMuteSound=n.slice(0,r).concat(n.slice(r+1)))}else e.settingBufferMuteSound=s}}})]),n("label",{staticClass:"kiwi-appsettings-full"},[n("span",[e._v(e._s(e.$t("settings_highlight"))+" ")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingHighlights,expression:"settingHighlights"}],staticClass:"u-input",attrs:{type:"text"},domProps:{value:e.settingHighlights},on:{input:function(t){t.target.composing||(e.settingHighlights=t.target.value)}}})])])]),n("div",{staticClass:"kiwi-appsettings-block"},[n("h3",[e._v(e._s(e.$t("operator_tools")))]),n("div",{staticClass:"kiwi-appsettings-section kiwi-appsettings-operator-tools"},[n("label",[n("span",[e._v(e._s(e.$t("settings_default_ban_mask"))+" ")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingDefaultBanMask,expression:"settingDefaultBanMask"}],staticClass:"u-input",domProps:{value:e.settingDefaultBanMask},on:{input:function(t){t.target.composing||(e.settingDefaultBanMask=t.target.value)}}})]),n("label",[n("span",[e._v(e._s(e.$t("settings_default_kick_reason")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.settingDefaultKickReason,expression:"settingDefaultKickReason"}],staticClass:"u-input",domProps:{value:e.settingDefaultKickReason},on:{input:function(t){t.target.composing||(e.settingDefaultKickReason=t.target.value)}}})])])]),e.$state.setting("hide_advanced")||e.settingAdvancedEnable?e._e():n("div",{staticClass:"kiwi-appsettings-block"},[n("h3",[e._v(e._s(e.$t("settings_advanced_title")))]),n("div",{staticClass:"kiwi-appsettings-section kiwi-appsettings-advanced-enable"},[n("div",[n("span",{staticStyle:{"font-weight":"600"}},[e._v(" "+e._s(e.$t("warning"))+" ")]),e._v(" "+e._s(e.$t("settings_advanced_warning"))+" ")]),n("div",{staticStyle:{"margin-top":"10px","text-align":"center"}},[n("a",{staticClass:"u-button u-button-warning",on:{click:function(t){return e.enableAdvancedTab()}}},[n("i",[e._v(e._s(e.$t("settings_advanced_button")))])])])])])]),n("tabbed-tab",{attrs:{header:e.$t("settings_aliases"),name:"aliases"}},[n("div",{staticClass:"kiwi-appsettings-block kiwi-appsettings-block-aliases"},[n("h3",[e._v(e._s(e.$t("settings_aliases")))]),n("div",{staticClass:"kiwi-appsettings-section kiwi-appsettings-aliases"},[n("settings-aliases")],1)])]),e.settingAdvancedEnable?n("tabbed-tab",{attrs:{header:e.$t("settings_advanced"),name:"advanced"}},[n("div",{staticClass:"kiwi-appsettings-block kiwi-appsettings-block-advanced"},[n("div",{staticClass:"kiwi-appsettings-section kiwi-appsettings-advanced"},[n("settings-advanced")],1)])]):e._e(),e._l(e.pluginUiElements,(function(t){return n("tabbed-tab",{key:t.id,attrs:{header:t.title,name:t.title}},[n(t.component,e._b({tag:"div"},"div",t.props,!1))],1)}))],2)],1)])},s=[]},c00a:function(e,t,n){"use strict";var i=n("ed03"),s=n.n(i);s.a},c028:function(e,t,n){"use strict";n.r(t);var i=n("32ee"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},c111:function(e,t,n){"use strict";n.r(t);var i=n("2572"),s=n("8e04");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("f6d9");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},c2a9:function(e,t,n){"use strict";n.r(t);var i=n("7189"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},c2ba:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-settings-aliases"},[n("form",{staticClass:"u-form"},[n("a",{staticClass:"u-link kiwi-settings-aliases-showhelp",on:{click:function(t){e.show_help=!e.show_help}}},[e._v(" "+e._s(e.$t("what_are_aliases"))+" ")]),e.show_help?n("div",{staticClass:"kiwi-settings-aliases-help"},[n("p",[e._v("Aliases let you rename existing IRC commands or even build entirely new ones.")]),e._m(0),n("h4",[e._v("Variables")]),e._m(1),e._m(2),n("h4",[e._v("Helper commands")]),e._m(3)]):e._e(),n("textarea",{directives:[{name:"model",rawName:"v-model",value:e.aliasText,expression:"aliasText"}],staticClass:"kiwi-settings-aliases-input",domProps:{value:e.aliasText},on:{input:function(t){t.target.composing||(e.aliasText=t.target.value)}}})])])},s=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("p",[e._v(" They must be one per line and in the form of "),n("em",[e._v("/name /what it should do")]),e._v(". ")])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("p",[e._v(" There are several variables that may be used to refer to the current environment such as the active channel or active nick. "),n("ul",[n("li",[n("em",[e._v("$server")]),e._v(" The current network name")]),n("li",[n("em",[e._v("$channel / $destination")]),e._v(" The current channel / buffer name")]),n("li",[n("em",[e._v("$nick")]),e._v(" The current nick")])])])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("p",[e._v(" You can also use variables to read input from the typed command. "),n("br"),n("ul",[n("li",[n("em",[e._v("$0")]),e._v(" The command name")]),n("li",[n("em",[e._v("$1")]),e._v(" The first argument from the typed input")]),n("li",[n("em",[e._v("$2")]),e._v(" The second argument from the typed input")]),n("li",[n("em",[e._v("$1+")]),e._v(" From the first argument to the last argument")])]),n("b",[e._v("Example 1:")]),e._v(" "),n("em",[e._v("/greet /msg $1 Hello, $1!")]),n("br"),e._v(' This creates an IRC command /greet that accepts one argument. Typing "/greet username" will execute "/msg username Hello, username!". '),n("br"),n("b",[e._v("Example 2:")]),e._v(" "),n("em",[e._v("/ban /quote mode $channel +b $1+")]),n("br"),e._v(' This creates an IRC command /ban that does a few things. Typing "/ban nick1 nick2" will execute "/quote mode #activechannel +b nick1 nick2". $channel is replaced with the active channel name, $1+ is replaced with all the typed input from the first word to the end. ')])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("p",[n("ul",[n("li",[n("em",[e._v("/echo")]),n("br"),e._v("Sends a message to the active buffer without sending it to the IRC network. Eg, /echo Something happened ")]),n("li",[n("em",[e._v("/lines")]),n("br"),e._v(' Similar to Mirc script, this lets you execute multiples lines of commands separated by a pipe, "|".'),n("br"),e._v(' Example: "/lines /ban nick1 | /echo Banned user" would first execute the /ban command, and then the /echo command. This comes in handy with creating short aliases such as the common "/cycle" command that parts and re-joins the active channel: "/cycle /lines /part $channel | /join $channel". ')])])])}]},c35c:function(e,t,n){"use strict";n.r(t);var i=n("d66b"),s=n("ae96");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("563e");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},c842:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(e,t){var n=t._c;return n("div",{staticClass:"kiwi-messagelist-message kiwi-messagelist-message--text",class:["kiwi-messagelist-message-"+t.props.message.type,t.props.message.type_extra?"kiwi-messagelist-message-"+t.props.message.type+"-"+t.props.message.type_extra:"",t.props.ml.isMessageHighlight(t.props.message)?"kiwi-messagelist-message--highlight":"",t.props.ml.isHoveringOverMessage(t.props.message)?"kiwi-messagelist-message--hover":"",t.props.ml.buffer.last_read&&t.props.message.time>t.props.ml.buffer.last_read?"kiwi-messagelist-message--unread":"",t.props.message.nick.toLowerCase()===t.props.ml.ourNick.toLowerCase()?"kiwi-messagelist-message--own":"",t.props.ml.message_info_open===t.props.message?"kiwi-messagelist-message--info-open":"",t.props.ml.message_info_open&&t.props.ml.message_info_open!==t.props.message?"kiwi-messagelist-message--blur":"",t.props.message.user&&t.props.m().userMode(t.props.message.user)?"kiwi-messagelist-message--user-mode-"+t.props.m().userMode(t.props.message.user):"",t.data.staticClass],attrs:{"data-message-id":t.props.message.id,"data-nick":(t.props.message.nick||"").toLowerCase()},on:{click:function(e){return t.props.ml.onMessageClick(e,t.props.message,!0)},dblclick:function(e){return t.props.ml.onMessageDblClick(e,t.props.message)}}},[n("div",[t.props.ml.bufferSetting("show_timestamps")?n("span",{staticClass:"kiwi-messagelist-time"},[t._v(" "+t._s(t.props.ml.formatTime(t.props.message.time))+" ")]):t._e(),n("span",{class:["kiwi-messagelist-nick",t.props.message.user&&t.props.m().userMode(t.props.message.user)?"kiwi-messagelist-nick--mode-"+t.props.m().userMode(t.props.message.user):""],style:{color:t.props.ml.userColour(t.props.message.user)},attrs:{"data-nick":(t.props.message.nick||"").toLowerCase()},on:{mouseover:function(e){t.props.ml.hover_nick=t.props.message.nick.toLowerCase()},mouseout:function(e){t.props.ml.hover_nick=""}}},[n("span",{staticClass:"kiwi-messagelist-nick--prefix"},[t._v(" "+t._s(t.props.message.user?t.props.m().userModePrefix(t.props.message.user):"")+" ")]),n("a",{attrs:{"data-nick":(t.props.message.nick||"").toLowerCase()}},[t._v(" "+t._s(t.props.m().displayNick())+" ")])]),t.props.message.bodyTemplate&&t.props.message.bodyTemplate.$el?n("div",{directives:[{name:"rawElement",rawName:"v-rawElement",value:t.props.message.bodyTemplate.$el,expression:"props.message.bodyTemplate.$el"}],staticClass:"kiwi-messagelist-body"}):n("div",{staticClass:"kiwi-messagelist-body",domProps:{innerHTML:t._s(t.props.ml.formatMessage(t.props.message))}})]),t.props.ml.message_info_open===t.props.message?n(t.injections.components.MessageInfo,{tag:"component",attrs:{message:t.props.message,buffer:t.props.ml.buffer},on:{close:function(e){return t.props.ml.toggleMessageInfo()}}}):t._e(),t.props.message.embed.payload?n("div",[n(t.injections.components.MediaViewer,{tag:"component",attrs:{url:t.props.message.embed.payload,"show-pin":!0},on:{close:function(e){t.props.message.embed.payload=""},pin:function(e){return t.props.ml.openEmbedInPreview(t.props.message)}}})],1):t._e()],1)},s=[]},c96d:function(e,t,n){"use strict";n.r(t);var i=n("9280"),s=n("cea1");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("2246");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},cb48:function(e,t,n){"use strict";var i=n("2e72"),s=n.n(i);s.a},cb84:function(e,t,n){},cbf5:function(e,t,n){},ccc0:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("65b8")),r=n("5a16"),o=i(n("9c24")),c=i(n("787b")),u=i(n("462f")),l=i(n("3b2f")),f={props:{},showRealName:function(){var e=this.props;if(!e.ml.buffer.setting("show_realnames"))return!1;var t=e.ml.buffer.getNetwork().ircClient;return!!t.network.cap.isEnabled("extended-join")&&(!(!e.message.user||!e.message.user.realname)&&(e.message.user.nick.toLowerCase()!==e.message.user.realname.toLowerCase()&&!r.urlRegex.test(e.message.user.realname)))},getNetwork:function(){var e=this.props;return e.ml.buffer.getNetwork()},isRepeat:function(){var e=this.props,t=e.ml,n=e.idx,i=e.message,s=t.filteredMessages[n-1];return!!s&&s.nick===i.nick&&i.time-s.time<6e4&&"traffic"!==s.type&&"traffic"!==i.type&&i.type===s.type},isHoveringOverMessage:function(e){var t=this.props;return e.nick&&e.nick.toLowerCase()===t.ml.hover_nick.toLowerCase()},isMessage:function(e){var t=["privmsg","action","notice","message"];return(0,a.default)(t).call(t,e.type)>-1},displayAvatar:function(e){var t=this.props;return!!e.user&&(!t.ml.buffer.isServer()&&!t.ml.buffer.isSpecial())},userMode:function(e){var t=this.props;return t.ml.buffer.userMode(e)},userModePrefix:function(e){var t=this.props;return t.ml.buffer.userModePrefix(e)}},d={inject:{components:{default:{MessageAvatar:c.default,MessageInfo:o.default,AwayStatusIndicator:u.default,MediaViewer:l.default}}},props:{ml:Object,message:Object,idx:Number,m:{default:function(){return function(){return f.props=this,f}}}}};t.default=d,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["MessageListMessageModern"],window._kiwi_exports.components.MessageListMessageModern=t.default?t.default:t},ccca:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("e4f0")),r=i(n("44a4"));function o(e){return{get:function(){return this.modeVal(e)},set:function(t){return this.setMode((t?"+":"-")+e)}}}function c(e){return{get:function(){var t=this.modeVal(e);return!1===t?"":t},set:function(t){t?this.setMode("+"+e,t):this.setMode("-"+e,this.modeVal(e))}}}var u={props:["buffer"],data:function(){return{showPrevTopics:!1}},computed:{modeM:o("m"),modeI:o("i"),modeT:o("t"),modeN:o("n"),modeK:c("k"),topic:{get:function(){return this.buffer.topic},set:function(e){var t=e.replace("\n"," ");(0,r.default)(t).call(t)?this.buffer.getNetwork().ircClient.setTopic(this.buffer.name,t):this.buffer.getNetwork().ircClient.raw("TOPIC ".concat(this.buffer.name," :"))}},prevTopics:function(){var e;return(0,a.default)(e=this.buffer.topics).call(e,(function(e){return(0,r.default)(e).call(e)}))}},methods:{updateBanList:function(){this.buffer.getNetwork().ircClient.raw("MODE",this.buffer.name,"+b")},setMode:function(e,t){this.buffer.getNetwork().ircClient.raw("MODE",this.buffer.name,e,t)},modeVal:function(e){var t=!1;return t="undefined"!==typeof this.buffer.modes[e]&&(!this.buffer.modes[e]||this.buffer.modes[e]),t},areWeAnOp:function(){return this.buffer.isUserAnOp(this.buffer.getNetwork().nick)}}};t.default=u,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["ChannelInfo"],window._kiwi_exports.components.ChannelInfo=t.default?t.default:t},ccf5:function(e,t,n){"use strict";var i=n("e3cb"),s=n.n(i);s.a},cd21:function(e,t,n){"use strict";n.r(t);var i=n("a4a2"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},cd87:function(e,t,n){},cea1:function(e,t,n){"use strict";n.r(t);var i=n("3a28"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},cee1:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-header kiwi-theme-bg",on:{click:e.onHeaderClick}},[e.isChannel()?[n("div",{staticClass:"kiwi-header-name-container"},[n("div",{staticClass:"kiwi-header-name"},[e._v(e._s(e.buffer.name))])]),e.isJoined&&e.isConnected?n("div",{key:e.buffer.id,staticClass:"kiwi-header-options"},[e._l(e.pluginUiChannelElements,(function(e){return n("div",{directives:[{name:"rawElement",rawName:"v-rawElement",value:e.el,expression:"plugin.el"}],key:e.id,staticClass:"kiwi-header-option"})})),n("div",{staticClass:"kiwi-header-option kiwi-header-option-about",class:{"kiwi-header-option--active":"about"===e.sidebarSection}},[n("a",{attrs:{title:e.$t("more_information")},on:{click:function(t){return e.sidebarState.toggleAbout()}}},[n("i",{staticClass:"fa fa-info",attrs:{"aria-hidden":"true"}})])]),n("div",{staticClass:"kiwi-header-option kiwi-header-option-nicklist",class:{"kiwi-header-option--active":"nicklist"===e.sidebarSection||"user"===e.sidebarSection}},[n("a",{attrs:{title:e.$t("person",{count:Object.keys(e.buffer.users).length})},on:{click:function(t){return e.sidebarState.toggleNicklist()}}},[n("i",{staticClass:"fa fa-users",attrs:{"aria-hidden":"true"}}),n("span",[e._v(e._s(Object.keys(e.buffer.users).length))])])]),n("div",{staticClass:"kiwi-header-option kiwi-header-option-settings",class:{"kiwi-header-option--active":"settings"===e.sidebarSection}},[n("a",{attrs:{title:e.$t("channel_settings")},on:{click:function(t){return e.sidebarState.toggleBufferSettings()}}},[n("i",{staticClass:"fa fa-cog",attrs:{"aria-hidden":"true"}})])]),e.sidebarState.isPinned?n("div",{staticClass:"kiwi-header-option kiwi-header-option-unpinsidebar"},[n("a",{on:{click:function(t){return e.sidebarState.unpin()}}},[n("i",{staticClass:"fa fa-thumb-tack",attrs:{"aria-hidden":"true"}})])]):e._e()],2):e._e(),!e.isJoined&&e.isConnected?n("div",{staticClass:"kiwi-header-notjoined"},[n("a",{staticClass:"u-link kiwi-header-join-channel-button",on:{click:e.joinCurrentBuffer}},[e._v(" "+e._s(e.$t("container_join"))+" ")])]):e._e(),n("transition",{attrs:{name:"kiwi-header-prompttrans"}},[e.prompts.closeChannel?n("input-confirm",{staticClass:"kiwi-header-prompt",attrs:{label:e.$t("prompt_leave_channel"),"flip-connotation":!0},on:{ok:e.closeCurrentBuffer,submit:function(t){e.prompts.closeChannel=!1}}}):e._e()],1)]:e.isServer()?[n("div",{staticClass:"kiwi-header-name-container"},[n("div",{staticClass:"kiwi-header-name"},[e._v(" "+e._s(e.buffer.getNetwork().name)+" ")])]),n("div",{staticClass:"kiwi-header-server-connection"},["disconnected"===e.buffer.getNetwork().state?n("a",{staticClass:"u-button u-button-primary",on:{click:e.onConnectButtonClick}},[e._v(" "+e._s(e.$t("connect"))+" ")]):"connecting"===e.buffer.getNetwork().state?n("span",[n("i",{staticClass:"fa fa-spin fa-spinner",attrs:{"aria-hidden":"true"}}),e._v(" "+e._s(e.$t("connecting"))+" ")]):e._e()])]:e.isQuery()?[n("div",{staticClass:"kiwi-header-name-container"},[n("div",{staticClass:"kiwi-header-name"},[n("away-status-indicator",{staticClass:"kiwi-header-awaystatus",attrs:{network:e.buffer.getNetwork(),user:e.network.userByName(e.buffer.name)}}),e._v(" "+e._s(e.buffer.name)+" ")],1)]),n("div",{key:e.buffer.id,staticClass:"kiwi-header-options"},[e.userOnline?n("div",{staticClass:"kiwi-header-option kiwi-header-option-user",class:{"kiwi-header-option--active":"user"===e.sidebarSection}},[n("a",{on:{click:function(t){return e.toggleUser()}}},[n("i",{staticClass:"fa fa-user",attrs:{"aria-hidden":"true"}})])]):e._e(),e._l(e.pluginUiQueryElements,(function(e){return n("div",{directives:[{name:"rawElement",rawName:"v-rawElement",value:e.el,expression:"plugin.el"}],key:e.id,staticClass:"kiwi-header-option"})})),n("div",{staticClass:"kiwi-header-option kiwi-header-option-leave"},[n("a",{on:{click:e.closeCurrentBuffer}},[n("i",{staticClass:"fa fa-times",attrs:{"aria-hidden":"true"}})])])],2)]:e.isSpecial()?[n("div",{staticClass:"kiwi-header-name-container"},[n("div",{staticClass:"kiwi-header-name"},[e._v(e._s(e.buffer.name))])]),n("div",{staticClass:"kiwi-header-options"},[n("div",{staticClass:"kiwi-header-option kiwi-header-option-leave"},[n("a",{on:{click:e.closeCurrentBuffer}},[n("i",{staticClass:"fa fa-times",attrs:{"aria-hidden":"true"}})])])])]:e._e()],2)},s=[]},cee4:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("b6ce")),r=i(n("4573")),o=i(n("f391")),c=i(n("5ea5")),u=i(n("f21b")),l=i(n("1f5b")),f=i(n("1fe6")),d={components:{ContainerHeader:o.default,Sidebar:c.default,NotConnected:u.default,MessageList:l.default,ServerView:f.default},props:["network","buffer","sidebarState"],data:function(){return{}},computed:{bufferType:function(){var e="";return this.buffer?this.buffer.isServer()?e="server":this.buffer.isChannel()?e="channel":this.buffer.isQuery()&&(e="query"):e="none",e},unreadMessages:function(){var e,t=0,n=!1;return(0,r.default)(e=this.$state.networks).call(e,(function(e){var i;(0,r.default)(i=e.buffers).call(i,(function(e){t+=(0,a.default)(e).unread||0,(0,a.default)(e).highlight&&(n=!0)}))})),{count:t,highlight:n}}},created:function(){var e=this;this.listen(this.$state,"sidebar.toggle",(function(){e.$state.$emit("sidebar."+(e.sidebarState.isDrawn?"hide":"show"))})),this.listen(this.$state,"sidebar.show",(function(){e.sidebarState.showNicklist()})),this.listen(this.$state,"sidebar.hide",(function(){e.sidebarState.close()})),this.listen(this.$state,"userbox.show",(function(t,n){e.sidebarState.showUser(t)})),this.listen(this.$state,"userbox.hide",(function(){e.sidebarState.close()})),this.listen(this.$state,"document.keydown",(function(t){if(33===t.keyCode||34===t.keyCode){var n=e.$el.querySelector(".kiwi-messagelist")||e.$el.querySelector(".u-tabbed-content");if(n){var i=n.clientHeight-.1*n.clientHeight,s=n.scrollTop,a=n.scrollHeight;33===t.keyCode?(s-=i,s<0&&(s=0)):(s+=i,s>a&&(s=a)),n.scrollTop=s}}}))},methods:{toggleStateBrowser:function(){this.$state.$emit("statebrowser.toggle")},toggleSidebar:function(){this.buffer.isChannel()&&this.$state.$emit("sidebar.toggle")}}};t.default=d,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["Container"],window._kiwi_exports.components.Container=t.default?t.default:t},cf54:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-customserver",class:[e.is_connecting?"kiwi-customserver--connecting":""]},[n("div",{staticClass:"kiwi-customserver-container"},[e.is_connecting?n("h2",[e._v(" "+e._s(e.$t("connecting"))+" "),n("a",{staticClass:"u-link",on:{click:e.infoClick}},[n("i",{staticClass:"fa fa-info-circle",attrs:{"aria-hidden":"true"}})])]):n("h2",{domProps:{innerHTML:e._s(e.title)}}),n("transition",{attrs:{name:"kiwi-connectingloader"}},[e.is_connecting?n("div",{staticClass:"kiwi-customserver-loader"},[n("i",{staticClass:"fa fa-spin fa-spinner",attrs:{"aria-hidden":"true"}})]):n("form",{staticClass:"u-form u-form--big kiwi-customserver-form",on:{submit:function(t){return t.preventDefault(),e.startUp(t)}}},[e.network&&e.network.state_error?n("div",{staticClass:"kiwi-customserver-error"},[e._v(" We couldn't connect to the server :( "),n("span",[e._v(e._s(e.readableStateError(e.network.state_error)))])]):e._e(),"default"===e.server_type?[n("input-text",{attrs:{label:e.$t("server")},model:{value:e.server,callback:function(t){e.server=t},expression:"server"}},[n("span",{staticClass:"fa-stack fa-lg kiwi-customserver-tls",class:[e.tls?"kiwi-customserver-tls--enabled":""],on:{click:function(t){e.tls=!e.tls}}},[n("i",{staticClass:"fa fa-lock fa-stack-1x kiwi-customserver-tls-lock"}),e.tls?e._e():n("i",{staticClass:"fa fa-times fa-stack-1x kiwi-customserver-tls-minus"})])]),n("input-text",{staticClass:"kiwi-customserver-nick",attrs:{label:e.$t("nick")},model:{value:e.nick,callback:function(t){e.nick=t},expression:"nick"}}),n("label",{staticClass:"kiwi-customserver-have-password"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.show_password_box,expression:"show_password_box"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.show_password_box)?e._i(e.show_password_box,null)>-1:e.show_password_box},on:{change:function(t){var n=e.show_password_box,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.show_password_box=n.concat([a])):r>-1&&(e.show_password_box=n.slice(0,r).concat(n.slice(r+1)))}else e.show_password_box=s}}}),n("span",[e._v(" "+e._s(e.$t("password_have"))+" ")])]),e.show_password_box?n("input-text",{directives:[{name:"focus",rawName:"v-focus"}],attrs:{label:e.$t("password"),"show-plain-text":!0,type:"password"},model:{value:e.password,callback:function(t){e.password=t},expression:"password"}}):e._e(),n("input-text",{attrs:{label:e.$t("channel")},model:{value:e.channel,callback:function(t){e.channel=t},expression:"channel"}})]:e._e(),"default_simple"===e.server_type?[n("input-text",{staticClass:"kiwi-customserver-nick",attrs:{label:e.$t("nick")},model:{value:e.nick,callback:function(t){e.nick=t},expression:"nick"}}),n("label",{staticClass:"kiwi-customserver-have-password"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.show_password_box,expression:"show_password_box"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.show_password_box)?e._i(e.show_password_box,null)>-1:e.show_password_box},on:{change:function(t){var n=e.show_password_box,i=t.target,s=!!i.checked;if(Array.isArray(n)){var a=null,r=e._i(n,a);i.checked?r<0&&(e.show_password_box=n.concat([a])):r>-1&&(e.show_password_box=n.slice(0,r).concat(n.slice(r+1)))}else e.show_password_box=s}}}),n("span",[e._v(e._s(e.$t("password_have")))])]),e.show_password_box?n("input-text",{directives:[{name:"focus",rawName:"v-focus"}],attrs:{label:e.$t("password"),type:"password"},model:{value:e.password,callback:function(t){e.password=t},expression:"password"}}):e._e(),n("input-text",{staticClass:"kiwi-customserver-channel",attrs:{label:e.$t("channel")},model:{value:e.channel,callback:function(t){e.channel=t},expression:"channel"}})]:e._e(),"znc"===e.server_type?[n("input-text",{attrs:{label:e.$t("server")},model:{value:e.server,callback:function(t){e.server=t},expression:"server"}},[n("span",{staticClass:"fa-stack fa-lg kiwi-customserver-tls",class:[e.tls?"kiwi-customserver-tls--enabled":""],on:{click:function(t){e.tls=!e.tls}}},[n("i",{staticClass:"fa fa-lock fa-stack-1x kiwi-customserver-tls-lock"}),e.tls?e._e():n("i",{staticClass:"fa fa-times fa-stack-1x kiwi-customserver-tls-minus"})])]),n("input-text",{staticClass:"kiwi-customserver-nick",attrs:{label:e.$t("username")},model:{value:e.nick,callback:function(t){e.nick=t},expression:"nick"}}),e.znc_network_support?n("input-text",{attrs:{label:e.$t("network")},model:{value:e.znc_network,callback:function(t){e.znc_network=t},expression:"znc_network"}}):e._e(),n("input-text",{attrs:{label:e.$t("password"),type:"password"},model:{value:e.password,callback:function(t){e.password=t},expression:"password"}})]:e._e(),n("button",{staticClass:"u-button u-button-primary u-submit",attrs:{type:"submit"}},[e._v(" "+e._s(e.buttonText)+" ")]),e.show_type_switcher?n("div",{staticClass:"kiwi-customserver-server-types"},[n("a",{staticClass:"u-link",on:{click:function(t){e.server_type="default"}}},[e._v(e._s(e.$t("network")))]),n("a",{staticClass:"u-link",on:{click:function(t){e.server_type="znc"}}},[e._v(e._s(e.$t("znc")))])]):e._e()],2)])],1)])},s=[]},d0fe:function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80");a(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n("3002")),o=s(n("2b0b")),c=s(n("fa81")),u=s(n("4573")),l=s(n("a3e3")),f=s(n("8fa2")),d=s(n("14b1")),p=s(n("3393")),h=s(n("44a4")),w=s(n("65b8")),m=s(n("2ef0")),v=i(n("5a16")),_=i(n("934b")),g=s(n("6150")),k=s(n("385f")),b=s(n("474e")),y=s(n("5bc7")),C=s(n("c111")),x=s(n("1bb3")),$=s(n("462f")),S=s(n("28e2")),N={components:{AutoComplete:b.default,AwayStatusIndicator:$.default,SelfUser:x.default,TypingUsersList:S.default},props:["container","buffer"],data:function(){return{self:this,selfuser_open:!1,autocomplete_open:!1,autocomplete_items:[],autocomplete_filter:"",autocomplete_filtering:!0,active_tool:null,active_tool_props:{},pluginUiElements:k.default.singleton().controlInputPlugins,showPlugins:!0,current_input_value:"",has_focus:!1}},computed:{currentNick:function(){var e=this.$state.getActiveNetwork();return e?e.nick:""},networkState:function(){var e=this.$state.getActiveNetwork();return e?e.state:""},shouldShowSendButton:function(){return this.$state.ui.is_touch||this.$state.setting("showSendButton")},shouldShowEmojiPicker:function(){return this.$state.setting("showEmojiPicker")&&!this.$state.ui.is_touch},shouldShowColorPicker:function(){return this.$state.setting("showColorPicker")},shouldShowInputButtons:function(){return!!(this.pluginUiElements.length||this.shouldShowEmojiPicker||this.shouldShowColorPicker)},history:function(){return this.$state.setting("buffers.shared_input")?this.$state.ui.input_history:this.buffer.input_history},history_pos:{get:function(){return this.$state.setting("buffers.shared_input")?this.$state.ui.input_history_pos:this.buffer.input_history_pos},set:function(e){this.$state.setting("buffers.shared_input")?this.$state.ui.input_history_pos=e:this.buffer.input_history_pos=e}}},watch:{history_pos:function(e){var t=this.history[this.history_pos];this.$refs.input.setValue(t||"")},buffer:function(){this.$state.setting("buffers.shared_input")||this.inputRestore(),this.autocomplete_open=!1}},created:function(){var e=this;this.typingTimer=null,this.lastTypingTime=0,this.listen(this.$state,"document.keydown",(function(t){if(e.$refs.input&&!(t.ctrlKey||t.altKey||t.metaKey)&&16!==t.keyCode&&17!==t.keyCode){var n=[37,38,39,40];if(!t.shiftKey||-1===(0,w.default)(n).call(n,t.keyCode)){var i=["input","select","textarea","button","datalist","keygen"],s=(0,w.default)(i).call(i,t.target.tagName.toLowerCase())>-1||t.target.getAttribute("contenteditable");s||e.$refs.input.focus()}}})),this.listen(this.$state,"input.insertnick",(function(t){if(e.$refs.input){var n=t;""===e.current_input_value?n+=": ":n+=" ",e.$refs.input.insertText(n)}})),this.listen(this.$state,"input.tool",(function(t){e.toggleInputTool(t)}))},mounted:function(){this.inputRestore()},methods:{inputUpdate:function(e){this.current_input_value=e,this.$state.setting("buffers.shared_input")?this.$state.ui.current_input=e:this.buffer.current_input=e,this.maybeHidePlugins()},inputRestore:function(){var e=this.$state.setting("buffers.shared_input")?this.$state.ui.current_input:this.buffer.current_input;this.$refs.input.reset(e),this.$refs.input.selectionToEnd()},toggleSelfUser:function(){"connected"===this.networkState&&(this.selfuser_open=!this.selfuser_open)},maybeHidePlugins:function(){this.$state.ui.app_width<500&&(this.showPlugins=!1)},onToolClickTextStyle:function(){this.toggleInputTool(y.default)},onToolClickEmoji:function(){this.toggleInputTool(C.default)},closeInputTool:function(){this.active_tool=null},toggleInputTool:function(e){e&&this.active_tool!==e?(this.active_tool_props={buffer:this.buffer,ircinput:this.$refs.input},this.active_tool=e):this.active_tool=null},toggleBold:function(){this.$refs.input.toggleBold()},toggleItalic:function(){this.$refs.input.toggleItalic()},toggleUnderline:function(){this.$refs.input.toggleUnderline()},onAutocompleteCancel:function(){this.autocomplete_open=!1},onAutocompleteTemp:function(e,t){this.autocomplete_filtering||this.$refs.input.setCurrentWord(e)},onAutocompleteSelected:function(e,t){var n=e;this.$refs.input.setCurrentWord(n),this.autocomplete_open=!1},inputKeyDown:function(e){var t,n=this,i=!1;if(i=-1!==(0,w.default)(t=navigator.appVersion).call(t,"Mac")?e.metaKey:e.ctrlKey,!this.autocomplete_open||!this.$refs.autocomplete.handleOnKeyDown(e))if(this.autocomplete_open&&!this.autocomplete_filtering&&this.$refs.autocomplete.selectCurrentItem(),13!==e.keyCode||(!e.altKey||e.shiftKey||e.metaKey||e.ctrlKey)&&(!e.shiftKey||e.altKey||e.metaKey||e.ctrlKey))if(13===e.keyCode)e.preventDefault(),this.submitForm();else if(32===e.keyCode){if(this.$state.setting("buffers.show_emoticons")){var s=this.$refs.input.getCurrentWord(),a=this.$state.setting("emojis");if(a.hasOwnProperty(s.word)){var r=a[s.word],o=this.$state.setting("emojiLocation")+r+".png";this.$refs.input.setCurrentWord(""),this.$refs.input.addImg(s.word+" ",o)}}}else if(38===e.keyCode)e.preventDefault(),this.historyBack(),this.$nextTick((function(){n.$refs.input.selectionToEnd()}));else if(40===e.keyCode)e.preventDefault(),this.historyForward(),this.$nextTick((function(){n.$refs.input.selectionToEnd()}));else if(9!==e.keyCode||e.shiftKey||e.altKey||e.metaKey||e.ctrlKey)i&&75===e.keyCode?(this.toggleInputTool(y.default),e.preventDefault()):i&&66===e.keyCode?(this.toggleBold(),e.preventDefault()):i&&73===e.keyCode?(this.toggleItalic(),e.preventDefault()):i&&85===e.keyCode&&(this.toggleUnderline(),e.preventDefault());else{var c=this.$refs.input.getCurrentWord(),u=c.word.substr(0,c.position),l=this.$refs.input.getRawText(),f=[];f=0===(0,w.default)(l).call(l,"/set")?this.buildAutoCompleteItems({settings:!0}):this.buildAutoCompleteItems({users:!0,buffers:!0}),this.openAutoComplete(f),this.autocomplete_filter=u,this.autocomplete_filtering=!1,e.preventDefault()}else e.preventDefault(),this.$refs.input.insertText("\n")},inputKeyUp:function(e){var t=this.$refs.input.getRawText(),n=this.$refs.input.getCurrentWord(),i=n.word.substr(0,n.position);27===e.keyCode&&this.autocomplete_open||this.autocomplete_open&&""===i?this.autocomplete_open=!1:this.autocomplete_open?"@"===i[0]&&(i=i.substr(1)):"@"===i?(this.openAutoComplete(this.buildAutoCompleteItems({users:!0})),this.autocomplete_filtering=!0):"/"===t?(this.openAutoComplete(this.buildAutoCompleteItems({commands:!0})),this.autocomplete_filtering=!0):"#"===i?(this.openAutoComplete(this.buildAutoCompleteItems({buffers:!0})),this.autocomplete_filtering=!0):9!==e.keyCode||e.shiftKey||e.altKey||e.metaKey||e.ctrlKey?e.key.match(/^(Shift|Control|Alt|Enter)/)||((0,h.default)(t).call(t)?this.startTyping():this.stopTyping(!0)):e.preventDefault(),this.autocomplete_open&&this.autocomplete_filtering&&(this.autocomplete_filter=i)},submitForm:function(){var e,t=this.$refs.input.getValue();if(t){var n=this.$refs.input.buildIrcText();this.$state.$emit("input.raw",n),this.history.push(t),(0,p.default)(e=this.history).call(e,0,this.history.length-50),this.history_pos=this.history.length,this.$refs.input.reset(),this.stopTyping(!1)}},historyBack:function(){this.history_pos>0&&this.history_pos--},historyForward:function(){this.history_poshttps://kiwiirc.com/nextclient/#irc://irc.server.com/#channel?type=znc&nick=username

What's new in Kiwi Next?

Networks and settings remembered

All your settings and networks will be remembered for when you come back. You won't need to be re-entering your favourite networks every time you open Kiwi anymore.

Mobile and tablet support

Now that over 50% of internet usage is now on mobile, Kiwi has complete mobile support with new layouts and messages. Everything is accessible with just your fingers.

Embedded images and videos

Opening photos and videos within Kiwi now gets pinned at the bottom of the screen. This lets you switch channels, keep talking without it going off-screen, and have that permenant youtube video playing while you're talking.

ZNC integration

When connecting to a ZNC server, Kiwi will now automatically detect it and look for any other networks in your ZNC account. If any are found then they are shown in a list - just one click away from connecting to it.

Aliases editor

A full alias editor to create command aliases to handle users in your channel, administrate your network or project, or even join multiple commands into a single helpful command. Created by a simple text editor that lets you copy/paste/share your aliases wherever you please.

Raw IRC power

If you're a power IRC user or like to get indepth, Kiwi now uses the raw IRC protocol directly in the browser. Look at the raw IRC messages going back and forth, send raw commands, or use it's scripting to test out new protocol ideas and experiments.

The most IRCv3 compliant open source web IRC client

IRC is being pushed forward by the IRCv3 working group which brings us new features that any IRC client can be using. Not only taking part, but Kiwi is one of the most IRCv3 complete web clients that exists.

";e.exports=n},d3e9:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-serverview"},[n("div",{staticClass:"kiwi-serverview-inner"},[n("tabbed-view",{key:e.network.id,ref:"tabs",on:{changed:e.tabChanged}},[n("tabbed-tab",{attrs:{header:e.$t("messages"),focus:e.hasMessages,name:"messages"}},[n("message-list",{attrs:{buffer:e.serverBuffer}})],1),e.restrictedServer?e._e():n("tabbed-tab",{attrs:{header:e.$t("settings"),focus:!e.hasMessages,name:"settings"}},[n("network-settings",{attrs:{network:e.network}})],1),e.networkConnected?n("tabbed-tab",{attrs:{header:e.$t("channels"),name:"channels"}},[n("channel-list",{attrs:{network:e.network}})],1):e._e(),e._l(e.pluginUiElements,(function(t){return n("tabbed-tab",{key:t.id,attrs:{header:t.title}},[n(t.component,e._b({tag:"div"},"div",t.props,!1))],1)}))],2)],1)])},s=[]},d4b7:function(e,t,n){"use strict";var i=n("f664"),s=n.n(i);s.a},d587:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("e4f0")),r=i(n("acf5")),o=i(n("86b8")),c=i(n("385f")),u=i(n("ffd2")),l=i(n("f93d")),f=i(n("7a9c")),d=i(n("b4f0")),p=new o.default,h={components:{BufferSettings:d.default,StateBrowserNetwork:u.default,StateBrowserUsermenu:l.default},props:["networks","sidebarState"],data:function(){return{show_provided_networks:!1,provided_networks:(0,r.default)(null),pluginUiElements:c.default.singleton().stateBrowserPlugins}},computed:{getNetwork:function(){return this.$state.getActiveNetwork()},isPersistingState:function(){return!!this.$state.persistence},isRestrictedServer:function(){return!!this.$state.settings.restricted},networksToShow:function(){var e;return(0,a.default)(e=this.networks).call(e,(function(e){return!e.hidden}))}},created:function(){var e=this;p.on("networks",(function(t){e.provided_networks=t}))},methods:{clickAddNetwork:function(){var e="Guest"+Math.floor(100*Math.random()),t=this.$state.getNetworkFromAddress("");"undefined"===typeof t&&(t=this.$state.addNetwork("Network",e,{})),t.showServerBuffer("settings")},clickAppSettings:function(){this.$state.$emit("active.component.toggle",f.default)},hideStatebrowser:function(){this.$state.$emit("statebrowser.hide")},connectProvidedNetwork:function(e){var t=this.$state.addNetwork(e.name,e.nick,{server:e.server,port:e.port,tls:e.tls,password:e.password});t.ircClient.connect()}}};t.default=h,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["StateBrowser"],window._kiwi_exports.components.StateBrowser=t.default?t.default:t},d58a:function(e,t,n){"use strict";var i=n("2472"),s=n.n(i);s.a},d610:function(e,t,n){"use strict";n.r(t);var i=n("5fa6"),s=n("32f6");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("eb64");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},d66b:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-settings-advanced"},[n("div",{staticClass:"kiwi-settings-advanced-notice"},[e._v(e._s(e.$t("settings_advanced_header")))]),n("form",{staticClass:"u-form"},[n("div",{staticClass:"kiwi-settings-advanced-filter-container"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.filterString,expression:"filterString"}],staticClass:"u-input",attrs:{placeholder:e.$t("settings_advanced_filter")},domProps:{value:e.filterString},on:{input:function(t){t.target.composing||(e.filterString=t.target.value)}}}),e.filterString?n("i",{staticClass:"fa fa-times",attrs:{"aria-hidden":"true"},on:{click:function(t){e.filterString=""}}}):n("i",{staticClass:"fa fa-search",attrs:{"aria-hidden":"true"}})]),n("table",{staticClass:"u-table kiwi-settings-advanced-table",attrs:{cellspacing:"0"}},[0===e.filteredSettings.length?n("tr",[n("td",{staticClass:"kiwi-settings-advanced-noresult"},[e._v(" "+e._s(e.filterString)+" - "+e._s(e.$t("not_found"))+" ")])]):e._l(e.filteredSettings,(function(t){return n("tr",{key:t.key,class:{"kiwi-advanced-setting":!t.modified,"kiwi-advanced-setting--modified":t.modified}},[n("td",[n("label",{attrs:{for:"setting-"+t.key}},[e._v(e._s(t.key))])]),t.modified?n("td",[n("a",{staticClass:"u-link",on:{click:function(n){return e.resetValue(n,t.key)}}},[e._v(" "+e._s(e.$t("settings_advanced_reset"))+" "),n("i",{staticClass:"fa fa-undo",staticStyle:{"margin-left":"10px"}})])]):n("td"),n("td",["boolean"===t.type?n("input",{attrs:{id:"setting-"+t.key,type:"checkbox"},domProps:{checked:t.val},on:{change:function(n){return e.updateSetting(n,t.key)}}}):"number"===t.type?n("input",{staticClass:"u-input",attrs:{id:"setting-"+t.key,type:"number"},domProps:{value:t.val},on:{keydown:function(e){return e.type.indexOf("key")||13===e.keyCode?e.target.blur():null},change:function(n){return e.updateSetting(n,t.key)},blur:function(n){return e.updateSetting(n,t.key)}}}):n("input",{staticClass:"u-input",attrs:{id:"setting-"+t.key},domProps:{value:t.val},on:{keydown:function(e){return e.type.indexOf("key")||13===e.keyCode?e.target.blur():null},blur:function(n){return e.updateSetting(n,t.key)}}})])])}))],2)])])},s=[]},d777:function(e,t,n){"use strict";var i=n("a9c9"),s=n.n(i);s.a},d7d2:function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80");a(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n("05f2")),o=s(n("8fa2")),c=s(n("284c")),u=s(n("9474")),l=s(n("2b0b")),f=s(n("65b8")),d=s(n("4573")),p=s(n("44a4")),h=s(n("acf5")),w=s(n("2ef0")),m=i(n("852e")),v=i(n("19b1")),_=n("5ee5"),g=_.component("irc-input",{props:["placeholder"],data:function(){return{last_known_value:"",text_value:"",current_el:null,current_el_pos:0,default_colour:null,code_map:(0,h.default)(null)}},computed:{editor:function(){return this.$refs.editor}},mounted:function(){this.resetStyles()},methods:{onTextInput:function(e){var t;"\n"===e.data[e.data.length-1]&&(e.preventDefault(),this.setCurrentWord((0,p.default)(t=e.data).call(t)))},onPaste:function(e){var t=this;if(e.preventDefault(),"undefined"!==typeof e.clipboardData){var n,i=!1,s=e.clipboardData;if((0,d.default)(n=s.types).call(n,(function(e){var t=["Files","image"];(0,d.default)(t).call(t,(function(t){(0,f.default)(e).call(e,t)>-1&&(i=!0)}))})),i)return;document.execCommand("insertText",!1,s.getData("text/plain"))}else{var a=window.clipboardData.getData("Text");if(!a)return;var r=window.getSelection(),o=r.getRangeAt(0);o&&(o.deleteContents(),o.insertNode(document.createTextNode(a)))}(0,l.default)((function(){t.updateValueProps()}),0)},onFocus:function(e){!this.getRawText()&&this.default_colour&&this.setColour(this.default_colour.code,this.default_colour.colour),this.$emit("focus",e)},updateValueProps:function(){var e=window.getSelection();0!==e.rangeCount&&(this.current_el_pos=e.anchorOffset,this.current_el=e.anchorNode,this.maybeEmitInput())},selectionToEnd:function(){var e=this.$refs.editor.lastChild||this.$refs.editor;this.current_el=e,3===e.nodeType?this.current_el_pos=e.length:this.current_el_pos=0},setValue:function(e){this.value=e,this.$refs.editor.innerHTML=e},getValue:function(){return this.$refs.editor.innerHTML},maybeEmitInput:function(){var e=this.$refs.editor.innerHTML;this.last_known_value!==e&&(this.$emit("input",e),this.last_known_value=e)},buildIrcText:function(){var e=this,t=this.$refs.editor.innerHTML,n="",i=[];function s(e){i[i.length-1]+=e}function a(){return i[i.length-1]}var r=new m.Parser({onopentag:function(t,r){i.push("");var o="";if(r.style){var c,l,d,p=r.style.match(/color: ([^;]+)/);if(p){o=p[1];var h=e.code_map[o];if(!h){var w=o.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);if(w){var m=v.rgb2hex({r:(0,u.default)(w[1],10),g:(0,u.default)(w[2],10),b:(0,u.default)(w[3],10)});h=e.code_map[m]}}h&&(n+=""+h,s(""+h))}(0,f.default)(c=r.style).call(c,"bold")>-1&&(n+="",s("")),(0,f.default)(l=r.style).call(l,"italic")>-1&&(n+="",s("")),(0,f.default)(d=r.style).call(d,"underline")>-1&&(n+="",s(""))}else if(r.color){var _=e.code_map[r.color]||e.code_map[r.color.replace(/,/g,", ")]||e.code_map[v.hex2rgb(r.color)];_&&(n+=""+_,s(""+_))}else"strong"===t?(n+="",s("")):"em"===t?(n+="",s("")):"u"===t?(n+="",s("")):"div"!==t&&"br"!==t||(n+=a(),n+="\n",n+=a());r.src&&e.code_map[r.src]&&(n+=e.code_map[r.src])},ontext:function(e){n+=e},onclosetag:function(e){n+=a(),i.pop()}},{decodeEntities:!0});return r.write(t),r.end(),n},reset:function(e){this.$refs.editor.innerHTML=e||"",this.current_el_pos=0,this.current_el=this.$refs.editor;var t=this.$refs.editor.querySelector("br");t&&t.parentNode.removeChild(t),this.default_colour&&(this.focus(),this.setColour(this.default_colour.code,this.default_colour.colour)),this.updateValueProps()},resetStyles:function(){this.focus(),document.execCommand("styleWithCSS",!1,!0),document.execCommand("selectAll",!1,null),document.execCommand("removeFormat",!1,null),this.default_colour=null},setColour:function(e,t){var n=window.getSelection().getRangeAt(0);n&&n.collapsed&&(this.default_colour={code:e,colour:t}),this.focus(),document.execCommand("styleWithCSS",!1,!0),document.execCommand("foreColor",!1,t),this.code_map[t]=e,this.updateValueProps()},toggleBold:function(){document.execCommand("bold",!1,null),this.updateValueProps()},toggleItalic:function(){document.execCommand("italic",!1,null),this.updateValueProps()},toggleUnderline:function(){document.execCommand("underline",!1,null),this.updateValueProps()},addImg:function(e,t){this.focus();var n=(0,c.default)((0,o.default)(w.default).call(w.default,this.$refs.editor.querySelectorAll("img")));document.execCommand("styleWithCSS",!1,!0),document.execCommand("insertImage",!1,t),this.code_map[t]=e;var i=null,s=(0,c.default)((0,o.default)(w.default).call(w.default,this.$refs.editor.querySelectorAll("img")));(0,d.default)(s).call(s,(function(e){-1===(0,f.default)(n).call(n,e)&&(i=e)}));var a=0,r=i;while(r)r=r.previousSibling,a++;this.current_el=this.$refs.editor,this.current_el_pos=a,this.updateValueProps(),this.focus()},insertText:function(e){this.focus(),document.execCommand("insertText",!1,e),this.updateValueProps(),this.focus()},setCurrentWord:function(e,t){var n=this.current_el,i=this.current_el_pos,s=n.textContent||"",a=s.substr(0,i),o=(0,r.default)(a).call(a," ");-1===o?o=0:o++;var c=o,u=s.substr(i);o=(0,f.default)(u).call(u," "),-1===o&&(o=u.length);var l=o;n.textContent=a.substr(0,c)+e+u.substr(l);var d=document.createRange();t?(d.setStart(n,i),d.setEnd(n,i)):3===n.nodeType?(d.setStart(n,c+e.length),d.setEnd(n,c+e.length)):(d.setStart(n,1),d.setEnd(n,1));var p=window.getSelection();p.removeAllRanges(),p.addRange(d),this.updateValueProps()},getCurrentWord:function(){var e=this.current_el,t=this.current_el_pos,n=e.textContent,i=n.substr(0,t),s=(0,r.default)(i).call(i," ");-1===s?s=0:s++;var a=s;s=(0,f.default)(n).call(n," ",a),-1===s&&(s=n.length);var o=s;return{word:n.substr(a,o),position:t-a}},getRawText:function(){return this.$refs.editor.innerText},focus:function(){var e=window.getSelection(),t=document.createRange();t.setStart(this.current_el||this.$refs.editor,this.current_el_pos||0),e.removeAllRanges(),e.addRange(t)}}});t.default=g,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["utils"]||(window._kiwi_exports["components"]["utils"]={}),window._kiwi_exports["components"]["utils"]["IrcInput"],window._kiwi_exports.components.utils.IrcInput=t.default?t.default:t},d831:function(e,t,n){"use strict";n.r(t);var i=n("2283"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},d949:function(e,t,n){"use strict";var i=n("3ea4"),s=n.n(i);s.a},d9a4:function(e,t,n){"use strict";var i=n("d269"),s=n.n(i);s.a},db24:function(e,t,n){"use strict";n.r(t);var i=n("8618"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},dbb5:function(e,t,n){},dbd7:function(e,t,n){"use strict";n.r(t);var i=n("ba5c"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},dcac:function(e,t,n){"use strict";var i=n("274d"),s=n.n(i);s.a},dd9f:function(e,t,n){"use strict";var i=n("0eca"),s=n.n(i);s.a},ddcd:function(e,t,n){"use strict";n.r(t);var i=n("7f4f"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},def7:function(e,t,n){},df3a:function(e,t,n){"use strict";n.r(t);var i=n("b23c"),s=n("12fa");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("52fe");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!0,null,null,null);t["default"]=o.exports},dfb5:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(e,t){var n,i=t._c;return t.props.user&&""!==t.$options.m.status(t.props)?i("span",{staticClass:"kiwi-typingstatusindicator",class:(n={"kiwi-typingstatusindicator--paused":"paused"===t.$options.m.status(t.props)},n[t.data.staticClass]=!0,n)},[t._v("…")]):t._e()},s=[]},e019:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.AudioManager=void 0;var a=i(n("65b8")),r=i(n("3002")),o=i(n("9f12")),c=i(n("53fe")),u=function(){function e(t){(0,o.default)(this,e),this.lastPlayed=0,this.audio=t}return(0,c.default)(e,[{key:"play",value:function(){(!this.lastPlayed||(0,r.default)()-this.lastPlayed>2e3)&&(this.audio.play(),this.lastPlayed=(0,r.default)())}},{key:"listen",value:function(e){var t=this;e.$on("audio.bleep",(function(){t.play()}))}},{key:"watchForMessages",value:function(e){var t=this;e.$on("message.new",(function(n){var i=n.message,s=n.buffer;if(!s.setting("mute_sound")){var r=["connection","traffic","mode","nick"];if(!((0,a.default)(r).call(r,i.type)>-1)&&!i.ignore&&!s.isSpecial()){var o=s.getNetwork().nick!==i.nick&&(i.isHighlight&&"highlight"===s.setting("alert_on")||"message"===s.setting("alert_on")),c=e.getActiveBuffer()===s,u=c&&e.ui.app_has_focus;(o||s.isQuery()&&!u)&&t.play()}}}))}}]),e}();t.AudioManager=u,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["libs"]||(window._kiwi_exports["libs"]={}),window._kiwi_exports["libs"]["AudioManager"],window._kiwi_exports.libs.AudioManager=t.default?t.default:t},e110:function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80");a(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n("2ef0")),o=i(n("862b")),c={props:["ircinput"],computed:{emojis:function(){var e={},t=this.$state.setting("emojis");return r.default.each(t,(function(t,n){e[t]=n})),e},location:function(){return this.$state.setting("emojiLocation")}},methods:{onImgClick:function(e){var t=window.getComputedStyle(e.target,null).getPropertyValue("background-image");t=o.extractURL(t);var n=e.target.dataset.code;this.ircinput.addImg(n,t)}}};t.default=c,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["inputtools"]||(window._kiwi_exports["components"]["inputtools"]={}),window._kiwi_exports["components"]["inputtools"]["Emoji"],window._kiwi_exports.components.inputtools.Emoji=t.default?t.default:t},e15f:function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80");a(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n("3393")),o=s(n("2b0b")),c=s(n("b6ce")),u=s(n("800f")),l=s(n("52da")),f=s(n("a3e3")),d=s(n("284c")),p=s(n("9474")),h=s(n("3002")),w=s(n("3f18")),m=s(n("44a4")),v=s(n("65b8")),_=s(n("4573")),g=s(n("bf2d")),k=s(n("9f12")),b=s(n("53fe")),y=i(n("5a16")),C=i(n("862b")),x=s(n("2ef0")),$=s(n("31aa")),S={},N=function(){function e(t){var n=this;(0,k.default)(this,e),this.state=t,this.aliasRewriter=new $.default,this.aliasRewriter.importFromString(t.setting("aliases")),t.$watch("user_settings.aliases",(function(e){n.aliasRewriter.importFromString(t.setting("aliases"))})),this.listenForInput()}return(0,b.default)(e,[{key:"defaultContext",value:function(){return{network:this.state.getActiveNetwork(),buffer:this.state.getActiveBuffer()}}},{key:"validateContext",value:function(e){if("object"!==(0,g.default)(e)||!Object.prototype.hasOwnProperty.call(e,"buffer")||!Object.prototype.hasOwnProperty.call(e,"network")||"object"!==(0,g.default)(e.buffer)||"object"!==(0,g.default)(e.network))throw new TypeError("context must contain both network and buffer properties")}},{key:"listenForInput",value:function(){var e=this;this.state.$on("input.raw",(function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.defaultContext(),i=t.split("\n");(0,_.default)(i).call(i,(function(t){return e.processLine(t,n)}))}))}},{key:"processLine",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.defaultContext();this.validateContext(t);var n=t.network,i=t.buffer,s=e,a=C.stripStyles(s),r="//"===a.substr(0,2);"/"!==a[0]||r?(r&&(s=s.substr(1)),s=i.isServer()?"/quote "+s:"/msg "+i.name+" "+s):"/"===a[0]&&"/"!==s[0]&&(s=a);var o={network:n.name,server:n.connection.server,channel:n.isChannelName(i.name)?i.name:"",query:n.isChannelName(i.name)?"":i.name,destination:i.name,nick:n.nick};if(s=this.aliasRewriter.process(s,o),s){s=s.substr(1);var c=(0,v.default)(s).call(s," ");-1===c&&(c=s.length);var u=s.substr(0,c),l=s.substr(c+1),f={handled:!1,raw:e,command:u,params:l};this.state.$emit("input.command."+u,f,u,l),f.handled||(S[u.toLowerCase()]&&S[u.toLowerCase()].call(this,f,u,l),f.handled||n.ircClient.raw(s))}}}]),e}();function A(e,t,n,i){t.handled=!0;var s=this.state.getActiveNetwork(),a=(0,v.default)(i).call(i," ");-1===a&&(a=i.length);var r=i.substr(0,a),o=i.substr(a+1);if(o=""!==o.replace(/\s+/g,"")?(0,w.default)(o).call(o):o.replace(/[\r]+$/,""),o){var c=r,u=s.ircClient.network.extractTargetGroup(r);u&&(c=u.target);var l=c.length&&this.state.getOrAddBufferByName(s.id,c);if(l){var f="privmsg";"action"===e?f="action":"notice"===e&&(f="notice");var d=y.formatText(f,{nick:s.nick,text:o}),p={time:(0,h.default)(),nick:s.nick,message:d,type:e};this.state.addMessage(l,p)}var m={privmsg:"say",action:"action",notice:"notice"},_=m[e]||"say";s.ircClient[_](r,o)}}t.default=N,S.lines=function(e,t,n){var i,s=this;e.handled=!0,(0,_.default)(i=n.split("|")).call(i,(function(e){s.processLine((0,m.default)(e).call(e))}))},S.msg=function(e,t,n){A.call(this,"privmsg",e,t,n)},S.action=function(e,t,n){A.call(this,"action",e,t,n)},S.notice=function(e,t,n){A.call(this,"notice",e,t,n)},S.dice=function(e,t,n){e.handled=!0;var i=this.state.getActiveBuffer(),s=this.state.getActiveNetwork(),a=n.replace(/\D/g,"");a=(0,p.default)(a||"0",10),a<=0&&(a=6);var r=Math.floor(Math.random()*a)+1,o=y.t("dice_roll",{sides:y.formatNumber(a),number:y.formatNumber(r)});s.ircClient.action(i.name,o),this.state.addMessage(i,{nick:s.nick,message:o,type:"action"})},S.ctcp=function(e,t,n){var i,s;e.handled=!0;var a=n.split(" "),r=a.shift(),o=a.shift();if(o&&r){var c=this.state.getActiveNetwork();(i=c.ircClient).ctcpRequest.apply(i,(0,d.default)((0,f.default)(s=[r,o]).call(s,a)))}},S.join=function(e,t,n){var i=this;e.handled=!0;var s=this.state.getActiveNetwork(),a=C.extractBuffers(n);if(0===a.length){var r=this.state.getActiveBuffer();return r.isChannel()&&!r.joined?void s.ircClient.join(r.name,r.key):void this.state.addMessage(r,{nick:"*",message:y.t("error_no_channel_join"),type:"error"})}var o=!1;(0,_.default)(a).call(a,(function(e,t){if("0"!==e.name){var n=s.isChannelName(e.name)?e.name:"#"+e.name,a=i.state.addBuffer(s.id,n);a&&!o&&(i.state.setActiveBuffer(s.id,a.name),o=!0),e.key&&(a.key=e.key),s.ircClient.join(n,e.key)}}))},S.part=function(e,t,n){e.handled=!0;var i=this.state.getActiveNetwork(),s=[],a="";if(""===n)s=[this.state.getActiveBuffer().name];else{var r=n.split(" ");i.isChannelName(r[0])?(s=x.default.compact(r[0].split(",")),a=(0,l.default)(r).call(r,1).join(" ")):(s=[this.state.getActiveBuffer().name],a=n)}(0,_.default)(s).call(s,(function(e){i.ircClient.part(e,a)}))},S.quit=function(e,t,n){e.handled=!0;var i=this.state.getActiveNetwork();i.ircClient.quit(n)},S.topic=function(e,t,n){e.handled=!0;var i=this.state.getActiveNetwork(),s="",a="";if(""!==n){var r=n.split(" ");i.isChannelName(r[0])?(s=r[0],a=(0,l.default)(r).call(r,1).join(" ")):(s=this.state.getActiveBuffer().name,a=n),i.ircClient.setTopic(s,a)}},S.kick=function(e,t,n){e.handled=!0;var i=this.state.getActiveNetwork(),s="",a="",r="";if(""!==n){var o=n.split(" ");i.isChannelName(o[0])&&(a=o.shift()),s=o.shift(),r=o.join(" "),a||(a=this.state.getActiveBuffer().name),s&&i.ircClient.raw("KICK",a,s,r)}},S.ignore=function(e,t,n){e.handled=!0;var i=this.state.getActiveNetwork(),s=n.split(" ").shift();if(s){var a=this.state.getUser(i.id,s);if(a){a.ignore=!0;var r=this.state.getActiveBuffer();this.state.addMessage(r,{nick:"*",message:"Ignoring "+a.nick,type:"message"})}}},S.unignore=function(e,t,n){e.handled=!0;var i=this.state.getActiveNetwork(),s=n.split(" ").shift();if(s){var a=this.state.getUser(i.id,s);if(a){a.ignore=!1;var r=this.state.getActiveBuffer();this.state.addMessage(r,{nick:"*",message:"No longer ignoring "+a.nick,type:"message"})}}},S.close=function(e,t,n){var i=this;e.handled=!0;var s=this.state.getActiveNetwork(),a=x.default.compact(n.split(/[, ]/));0===a.length&&(a=[this.state.getActiveBuffer().name]),(0,_.default)(a).call(a,(function(e){var t=s.bufferByName(e);t&&i.state.removeBuffer(t)}))},S.query=function(e,t,n){e.handled=!0;var i=(0,v.default)(n).call(n," ");-1===i&&(i=n.length);var s=n.substr(0,i),a=n.substr(i+1),r=this.state.getActiveNetwork(),o=this.state.getOrAddBufferByName(r.id,s);this.state.setActiveBuffer(r.id,o.name),a&&this.state.$emit("input.raw","/msg "+o.name+" "+a)},S.invite=function(e,t,n){var i;e.handled=!0;var s=this.state.getActiveNetwork(),a=this.state.getActiveBuffer(),r=n.split(" "),o=r.shift(),c=r.shift();c||(c=a.name),s.isChannelName(c)&&(s.ircClient.raw("INVITE",o,c),this.state.addMessage(a,{nick:"*",message:(0,f.default)(i="Invited ".concat(o," to ")).call(i,c),type:"message"}))},S.nick=function(e,t,n){e.handled=!0;var i=(0,v.default)(n).call(n," ");-1===i&&(i=n.length);var s=n.substr(0,i),a=this.state.getActiveNetwork();a.ircClient.changeNick(s)},S.away=function(e,t,n){e.handled=!0;var i=this.state.getActiveNetwork();i.ircClient.raw("AWAY",n||"Currently away")},S.back=function(e,t,n){e.handled=!0;var i=this.state.getActiveNetwork();i.ircClient.raw("AWAY")},S.quote=function(e,t,n){e.handled=!0;var i=this.state.getActiveNetwork();"cap"===n.split(" ")[0].toLowerCase()&&i.setting("show_raw_caps",!0);var s=this.state.getActiveBuffer();s.isServer()&&this.state.addMessage(s,{time:(0,h.default)(),nick:"",message:n}),i.ircClient.raw(n)},S.whois=function(e,t,n){var i=this;e.handled=!0;var s=n.split(" "),a=this.state.getActiveNetwork(),r=this.state.getActiveBuffer();a.ircClient.whois(s[0],s[0],(function(e){if(e.error){var t=y.formatText("whois_error",{nick:e.nick,text:e.error});i.state.addMessage(r,{time:(0,h.default)(),nick:"",message:t,type:"error"})}else{var n=[],a=function(e){e&&n.push(e)},o={mask:"is {{nick}}!{{user}}@{{host}} * ({{real_name}})",from:"is connecting from {{actual_hostname}} {{actual_ip}}",channels:"is on {{channels}}",server:"is using {{server}} ({{server_info}})",operator:"{{operator}}",modes:"{{modes}}",account:"is logged in as {{account}}",registered_nick:"{{registered_nick}}",secure:"is using a secure connection",idle:"has been idle for {{idle}}",logon:"connected on {{logon}}",nick:"",user:"",ident:"",hostname:"",real_name:"",actual_ip:"",server_info:"",actual_hostname:""};if(e.nick&&e.hostname&&a(o.mask.replace("{{nick}}",e.nick).replace("{{user}}",e.ident).replace("{{host}}",e.hostname).replace("{{real_name}}",e.real_name)),e.actual_hostname&&e.actual_ip&&a(o.from.replace("{{actual_hostname}}",e.actual_hostname).replace("{{actual_ip}}",e.actual_ip)),e.channels&&a(o.channels.replace("{{channels}}",e.channels)),e.server&&a(o.server.replace("{{server}}",e.server).replace("{{server_info}}",e.server_info)),e.operator&&a(o.operator.replace("{{operator}}",e.operator)),e.modes&&a(o.modes.replace("{{modes}}",e.modes)),e.account&&a(o.account.replace("{{account}}",e.account)),e.registered_nick&&a(o.registered_nick.replace("{{registered_nick}}",e.registered_nick)),e.secure&&a(o.secure),e.idle){var c=Math.floor((0,p.default)(e.idle,10));a(o.idle.replace("{{idle}}",y.formatDuration(c)))}if(e.logon){var l=(0,p.default)(e.logon,10);if(!(0,u.default)(l)){var d=new Date(1e3*l);a(o.logon.replace("{{logon}}",d))}}x.default.each(e,(function(e,t){var n;"undefined"===typeof o[t]&&(x.default.isArray(e)?(0,_.default)(e).call(e,(function(e){var n;return a((0,f.default)(n="".concat(t,": ")).call(n,e))})):a((0,f.default)(n="".concat(t,": ")).call(n,e)))})),(0,_.default)(n).call(n,(function(e){i.state.addMessage(r,{nick:s[0],message:e,type:"whois"})}))}}))},S.whowas=function(e,t,n){var i=this;e.handled=!0;var s=n.split(" "),a=this.state.getActiveNetwork(),r=this.state.getActiveBuffer();a.ircClient.whowas(s[0],s[0],(function(e){var t;if(e.error){var n=y.formatText("whowas_error",{nick:e.nick,text:e.error});i.state.addMessage(r,{time:(0,h.default)(),nick:"",message:n,type:"whowas"})}else(0,_.default)(t=["whowas_ident","whowas_server"]).call(t,(function(t){var n=y.formatText(t,{nick:e.nick,ident:e.ident,host:e.hostname,name:e.real_name,server:e.server,info:e.server_info});i.state.addMessage(r,{time:(0,h.default)(),nick:e.nick,message:n,type:"whowas"})}))}))},S.mode=function(e,t,n){e.handled=!0;var i=this.state.getActiveNetwork(),s=this.state.getActiveBuffer(),a=s.isChannel()?s.name:i.nick,u=x.default.compact(n.split(" "));n&&"+"!==n[0]&&"-"!==n[0]&&(a=u.shift()),u[0]?("+b"!==u[0]||u[1]||((0,c.default)(s).requested_banlist=!0,(0,o.default)((function(){(0,c.default)(s).requested_banlist=!1}),4e3)),i.ircClient.mode(a,u[0],(0,r.default)(u).call(u,1))):(i.ircClient.mode(a),a===s.name&&((0,c.default)(s).requested_modes=!0,(0,o.default)((function(){(0,c.default)(s).requested_modes=!1}),4e3)))},S.names=function(e,t,n){e.handled=!0;var i=this.state.getActiveNetwork(),s=n;s||(s=this.state.getActiveBuffer().name),i.ircClient.raw("NAMES "+s)},S.inject=function(e,t,n){e.handled=!0;var i=this.state.getActiveNetwork(),s=i.ircClient.connection;s.addReadBuffer(n)},S.clear=function(e,t,n){e.handled=!0;var i=this.state.getActiveBuffer();i.clearMessages(),this.state.addMessage(i,{nick:"*",message:"Scrollback cleared"})},S.echo=function(e,t,n){e.handled=!0;var i=this.state.getActiveBuffer();this.state.addMessage(i,{nick:"*",message:n})},S.set=function(e,t,n){var i,s;e.handled=!0;var a=this.state.getActiveBuffer(),r="",o=(0,v.default)(n).call(n," ");if(o>-1){var c;r=n.substr(0,o);var u=(0,m.default)(c=n.substr(o+1)).call(c);switch((0,m.default)(i=u.toLowerCase()).call(i)){case"true":case"on":u=!0;break;case"false":case"off":u=!1;break;default:}'"'===u[0]&&'"'===u[u.length-1]&&(u=u.substr(1,u.length-2)),this.state.setting(r,u)}else r=n;this.state.addMessage(a,{nick:"*",message:(0,f.default)(s="".concat(r," = ")).call(s,this.state.setting(r))})},S.list=function(e,t,n){e.handled=!0;var i=this.state.getActiveNetwork();i.channel_list.length||"updating"===i.channel_list_state||(i.channel_list_state="updating",i.ircClient.raw("LIST "+n)),i.showServerBuffer("channels")},S.server=function(e,t,n){e.handled=!0;var i=n.split(" "),s=i[0],a=i[1]||6667,r=!1,o=i[2],c=i[3]||"ircuser";"+"===a[0]?(r=!0,a=(0,p.default)(a.substr(1),10)):(r=!1,a=(0,p.default)(a,10)),this.state.addNetwork(s,c,{server:s,port:a,tls:r,password:o})},S.beep=function(e,t,n){e.handled=!0,this.state.$emit("audio.bleep")},S.notify=function(e,t,n){e.handled=!0,this.state.$emit("notification.show",n)},window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["libs"]||(window._kiwi_exports["libs"]={}),window._kiwi_exports["libs"]["InputHandler"],window._kiwi_exports.libs.InputHandler=t.default?t.default:t},e25e:function(e,t,n){},e3cb:function(e,t,n){},e402:function(e,t,n){"use strict";n.r(t);var i=n("dfb5"),s=n("395a");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!0,null,null,null);t["default"]=o.exports},e4a8:function(e,t,n){},e54d:function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80"),r=n("44a4");a(t,"__esModule",{value:!0}),t.default=$;var o=s(n("2d80")),c=s(n("1e75")),u=s(n("aa3c")),l=s(n("7c78")),f=s(n("e4f0")),d=s(n("3960")),p=s(n("fa81")),h=s(n("2fa7")),w=s(n("4573")),m=s(n("65b8")),v=s(n("a3e3")),_=s(n("298b")),g=n("2ef0"),k=s(n("f72e")),b=i(n("118f")),y=n("5a16");function C(e,t){var n=(0,p.default)(e);if(d.default){var i=(0,d.default)(e);t&&(i=(0,f.default)(i).call(i,(function(t){return(0,l.default)(e,t).enumerable}))),n.push.apply(n,i)}return n}function x(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=(0,k.default)().setting("emojis"),s=(0,b.default)(e,t),a=(0,_.default)(s).call(s,(function(e,t,s){return(0,v.default)(e).call(e,S(t,n,i))}),[]);return a}function S(e,t,n){var i,s,a=/\S+/g,r=[];while(null!==(i=a.exec(e.content))){s=i[0];var o=N(s)||A(s)||M(s,t)||T(s,n);o&&r.push({index:i.index+o.index,match:o.match,block:(0,b.createNewBlock)(o.match,e.styles,o.type,o.meta)})}return 0===r.length?[e]:B(e,r)}function N(e){var t=y.channelRegex.exec(e);return null!==t&&{index:t[1].length+t[2].length,match:t[3],type:"channel",meta:{channel:t[3]}}}function A(e){var t=y.urlRegex.exec(e);if(null===t)return!1;var n=t[0];if(n.match(/^javascript:/i))return!1;var i=".,;:";while((0,m.default)(i).call(i,n[n.length-1])>-1)n=n.substr(0,n.length-1);-1===(0,m.default)(n).call(n,"(")&&")"===n[n.length-1]&&(n=n.substr(0,n.length-1));var s=n;return s.match(/^www\./i)&&(s="http://"+n),{index:t.index,match:n,matchText:s,type:"url",meta:{url:s}}}function M(e,t){if(!t)return!1;var n=null,i=",.!:;-+)]?¿\\/<>@",s=Object.prototype.hasOwnProperty,a=0,o=r(g)(e,i),c=o.toLowerCase();return!!s.call(t,c)&&(n=t[c],a=(0,m.default)(e).call(e,o),{index:a,match:o,type:"user",meta:{user:o,colour:n.colour}})}function T(e,t){return!(t.hasOwnProperty&&!t.hasOwnProperty(e))&&{index:0,match:e,type:"emoji",meta:{emoji:t[e]}}}function B(e,t){var n=[],i=0;return(0,w.default)(t).call(t,(function(t,s){var a=e.content.substr(i,t.index-i);a&&n.push({content:a,styles:x({},e.styles),containsContent:!!a}),n.push(t.block),i=t.index+t.match.length})),i0?[n("select",{ref:"addInviteList"},e._l(e.knownAccounts,(function(t){return n("option",{key:t.nick,domProps:{value:t.account}},[e._v(e._s(t.account))])})),0),n("button",{on:{click:function(t){return e.addAccountInvite(e.$refs.addInviteList.value)}}},[e._v(" "+e._s(e.$t("invite_add_invite"))+" ")])]:e._e()],2):e._e(),!e.supportsAccounts&&e.areWeAnOp?n("div",{staticClass:"kiwi-invitelist-addmask"},[n("input",{ref:"addInviteText",staticClass:"u-input",attrs:{type:"text"}}),n("button",{on:{click:function(t){return e.addInvite(e.$refs.addInviteText.value)}}},[e._v(" "+e._s(e.$t("invite_add_invite"))+" ")])]):e._e(),e.inviteList.length>0?n("table",{staticClass:"kiwi-invitelist-table"},[n("tr",[n("th",[e._v(e._s(e.$t("invites_user")))]),n("th",[e._v(e._s(e.$t("invites_by")))]),n("th"),n("th")]),e._l(e.inviteListAccounts,(function(t){return n("tr",{key:t.invited},[n("td",{staticClass:"kiwi-invitelist-table-mask"},[e._v(" "+e._s(e.displayMask(t))+" ")]),n("td",{staticClass:"kiwi-invitelist-table-invitedby"},[e._v(" "+e._s(t.invited_by)+" ")]),n("td",{staticClass:"kiwi-invitelist-table-invitedat"},[e._v(" "+e._s(new Date(1e3*t.invited_at).toDateString())+" ")]),n("td",{staticClass:"kiwi-invitelist-table-actions"},[e.areWeAnOp?n("i",{staticClass:"fa fa-trash",attrs:{"aria-hidden":"true"},on:{click:function(n){return e.removeInvite(t.invited)}}}):e._e()])])})),e._l(e.inviteListNonAccounts,(function(t){return n("tr",{key:t.invited},[n("td",{staticClass:"kiwi-invitelist-table-mask"},[e._v(" "+e._s(e.displayMask(t))+" ")]),n("td",{staticClass:"kiwi-invitelist-table-invitedby"},[e._v(" "+e._s(t.invited_by)+" ")]),n("td",{staticClass:"kiwi-invitelist-table-invitedat"},[e._v(" "+e._s(new Date(1e3*t.invited_at).toDateString())+" ")]),n("td",{staticClass:"kiwi-invitelist-table-actions"},[e.areWeAnOp?n("i",{staticClass:"fa fa-trash",attrs:{"aria-hidden":"true"},on:{click:function(n){return e.removeInvite(t.invited)}}}):e._e()])])}))],2):e._e()]),e.is_refreshing?n("div",[e._v(" "+e._s(e.$t("invites_refreshing"))+" ")]):e._e()])])},s=[]},e68e:function(e){e.exports=JSON.parse('{"locales":["af-za","ar-sa","bg-bg","bs-ba","ca-es","cs-cz","da-dk","de-de","dev","el-gr","en-us","es-ar","es-em","es-es","es-us","eu-es","fi-fi","fr-fr","gl-es","he-il","hi-in","hu-hu","id-id","it-it","ja-jp","ko-kr","nl-nl","no-no","pl-pl","pt-br","pt-pt","ro-ro","ru-ru","sl-si","sq-al","sr-sp","sv-se","tr-tr","uk-ua","vi-vn","zh-cn","zh-tw"]}')},e690:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),s(t,"State",{enumerable:!0,get:function(){return o.default}}),t.default=void 0;var a=i(n("d610")),r=i(n("385f")),o=i(n("8bab")),c=i(n("b4f0")),u=i(n("57d8")),l=i(n("9aad")),f=i(n("8e26")),d=i(n("b3ed")),p=i(n("bbd9")),h={components:{BufferSettings:c.default,SidebarAboutBuffer:l.default,ChannelInfo:u.default,ChannelBanlist:f.default,ChannelInvitelist:d.default,Nicklist:p.default,UserBox:a.default},props:["network","buffer","sidebarState"],data:function(){return{pluginUiElements:r.default.singleton().sideBarPlugins,accessTab:"banlist"}},computed:{section:function(){return this.sidebarState.activeComponent?"component":this.sidebarState.section()},settingShowJoinParts:{get:function(){return this.buffer.setting("show_joinparts")},set:function(e){return this.buffer.setting("show_joinparts",e)}},settingShowTopics:{get:function(){return this.buffer.setting("show_topics")},set:function(e){return this.buffer.setting("show_topics",e)}},settingShowNickChanges:{get:function(){return this.buffer.setting("show_nick_changes")},set:function(e){return this.buffer.setting("show_nick_changes",e)}},settingShowModeChanges:{get:function(){return this.buffer.setting("show_mode_changes")},set:function(e){return this.buffer.setting("show_mode_changes",e)}},settingColouredNicklist:{get:function(){return this.buffer.setting("coloured_nicklist")},set:function(e){return this.buffer.setting("coloured_nicklist",e)}},settingExtraFormatting:{get:function(){return this.buffer.setting("extra_formatting")},set:function(e){return this.buffer.setting("extra_formatting",e)}},settingShareTyping:{get:function(){return this.buffer.setting("share_typing")},set:function(e){return this.buffer.setting("share_typing",e)}},bufferType:function(){var e="";return this.buffer?this.buffer.isServer()?e="server":this.buffer.isChannel()?e="channel":this.buffer.isQuery()&&(e="query"):e="none",e}}};t.default=h,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["Sidebar"],window._kiwi_exports.components.Sidebar=t.default?t.default:t},e7f8:function(e,t,n){"use strict";n.r(t);var i=n("8ce2"),s=n("f427");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},e82a:function(e,t,n){},e93b:function(e,t,n){"use strict";n.r(t);var i=n("cee4"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},e941:function(e,t,n){},ea3f:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("3b2f")),r=i(n("462f")),o=i(n("9c24")),c={props:{},getNetwork:function(){var e=this.props;return e.ml.buffer.getNetwork()},isRepeat:function(){var e=this.props,t=e.ml,n=e.idx,i=e.message,s=t.filteredMessages[n-1];return!!s&&s.nick===i.nick&&i.time-s.time<6e4&&"traffic"!==s.type&&"traffic"!==i.type&&i.type===s.type},isHoveringOverMessage:function(e){var t=this.props;return e.nick&&e.nick.toLowerCase()===t.hover_nick.toLowerCase()},userMode:function(e){var t=this.props;return t.ml.buffer.userMode(e)},userModePrefix:function(e){var t=this.props;return t.ml.buffer.userModePrefix(e)}},u={inject:{components:{default:{AwayStatusIndicator:r.default,MessageInfo:o.default,MediaViewer:a.default}}},props:{ml:Object,message:Object,idx:Number,m:{default:function(){return function(){return c.props=this,c}}}}};t.default=u,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["MessageListMessageCompact"],window._kiwi_exports.components.MessageListMessageCompact=t.default?t.default:t},eaab:function(e,t,n){"use strict";n.r(t);var i=n("e690"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},eaac:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("44a4")),r={data:function(){return{show_help:!1}},computed:{aliasText:{get:function(){var e;return(0,a.default)(e=this.$state.setting("aliases")).call(e)},set:function(e){this.$state.setting("aliases",(0,a.default)(e).call(e))}}}};t.default=r,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["SettingsAliases"],window._kiwi_exports.components.SettingsAliases=t.default?t.default:t},eb64:function(e,t,n){"use strict";var i=n("8331"),s=n.n(i);s.a},ed03:function(e,t,n){},edbf:function(e,t,n){"use strict";n.r(t);var i=n("87bc"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},edc9:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("a3e3")),r={components:{},props:["buffer"],data:function(){return{}},computed:{settingAlertOn:{get:function(){return this.buffer.setting("alert_on")},set:function(e){var t,n,i=this.buffer.getNetwork(),s=i.connection.bncnetid;s&&i.ircClient.raw((0,a.default)(t=(0,a.default)(n="BOUNCER changebuffer ".concat(s," ")).call(n,this.buffer.name," notify=")).call(t,e));return this.buffer.setting("alert_on",e)}},settingMuteSound:{get:function(){return this.buffer.setting("mute_sound")},set:function(e){return this.buffer.setting("mute_sound",e)}},settingHideMessageCount:{get:function(){return this.buffer.setting("hide_message_counts")},set:function(e){return this.buffer.setting("hide_message_counts",e)}}}};t.default=r,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["BufferSettings"],window._kiwi_exports.components.BufferSettings=t.default?t.default:t},eeb2:function(e,t,n){"use strict";var i=n("92f5"),s=n.n(i);s.a},eee1:function(e,t,n){},eef1:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=o;var a=i(n("3002")),r=i(n("acf5"));function o(){return function(t,n,i){c(t),n.use(e)};function e(e,t,n,i,s){if("TAGMSG"===e&&t.tags["+draft/typing"]||"PRIVMSG"===e&&t.nick){var a=t.params[0].toLowerCase()===i.user.nick.toLowerCase()?t.nick:t.params[0],r=t.tags["+draft/typing"]||"done";i.emit("typing",{target:a,nick:t.nick,ident:t.ident,hostname:t.hostname,status:r}),s()}else s()}}function c(e){var t=e.typing={},n=(0,r.default)(null);function i(){return e.network.cap.isEnabled("message-tags")}t.start=function(t){if(i()){var s=n[t.toLowerCase()];if(!(s&&s>(0,a.default)()-3e3)){n[t.toLowerCase()]=(0,a.default)();var r=new e.Message("TAGMSG",t);r.tags["+draft/typing"]="active",e.raw(r)}}},t.pause=function(t){if(i()){var n=new e.Message("TAGMSG",t);n.tags["+draft/typing"]="paused",e.raw(n)}},t.stop=function(t){if(i()){var s=new e.Message("TAGMSG",t);s.tags["+draft/typing"]="done",e.raw(s),delete n[t.toLowerCase()]}}}window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["libs"]||(window._kiwi_exports["libs"]={}),window._kiwi_exports["libs"]["TypingMiddleware"],window._kiwi_exports.libs.TypingMiddleware=t.default?t.default:t},f07a:function(e,t,n){"use strict";n.r(t);var i=n("7544"),s=n("3c51");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("d9a4");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},f21b:function(e,t,n){"use strict";n.r(t);var i=n("28a9"),s=n("333e");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("6058");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},f21d:function(e,t,n){"use strict";n.r(t);var i=n("eaac"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},f391:function(e,t,n){"use strict";n.r(t);var i=n("cee1"),s=n("d1dd");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("6ac05");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},f427:function(e,t,n){"use strict";n.r(t);var i=n("6281"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},f45b:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"kiwi-wrap kiwi-theme-bg",class:{"kiwi-wrap--statebrowser-drawopen":e.stateBrowserDrawOpen,"kiwi-wrap--monospace":e.$state.setting("useMonospace"),"kiwi-wrap--touch":e.$state.ui.is_touch},attrs:{"data-activebuffer":e.buffer?e.buffer.name.toLowerCase():""},on:{click:e.emitDocumentClick,"!paste":function(t){return e.emitBufferPaste(t)}}},[n("link",{attrs:{href:e.themeUrl,rel:"stylesheet",type:"text/css"}}),!e.hasStarted||!e.fallbackComponent&&0===e.networks.length?[n(e.startupComponent,{tag:"component",on:{start:e.startUp}})]:[n("state-browser",{attrs:{networks:e.networks,"sidebar-state":e.sidebarState}}),n("div",{staticClass:"kiwi-workspace",class:{"kiwi-workspace--disconnected":e.network&&"connected"!==e.network.state},on:{click:function(t){e.stateBrowserDrawOpen=!1}}},[n("div",{staticClass:"kiwi-workspace-background"}),!e.activeComponent&&e.network?[n("container",{attrs:{network:e.network,buffer:e.buffer,"sidebar-state":e.sidebarState},scopedSlots:e._u([e.mediaviewerOpen?{key:"before",fn:function(){return[n("media-viewer",{staticClass:"kiwi-main-mediaviewer",attrs:{url:e.mediaviewerUrl,component:e.mediaviewerComponent,"component-props":e.mediaviewerComponentProps,"is-iframe":e.mediaviewerIframe},on:{close:function(t){return e.$state.$emit("mediaviewer.hide",{source:"user"})}}})]},proxy:!0}:null],null,!0)}),e.buffer.show_input?n("control-input",{attrs:{container:e.networks,buffer:e.buffer}}):e._e()]:e.activeComponent?n(e.activeComponent,e._b({tag:"component"},"component",e.activeComponentProps,!1)):n(e.fallbackComponent,e._b({tag:"component"},"component",e.fallbackComponentProps,!1))],2)]],2)},s=[]},f4a7:function(e,t,n){},f664:function(e,t,n){},f67b:function(e,t,n){"use strict";n.r(t);var i=n("149a"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},f6d9:function(e,t,n){"use strict";var i=n("f4a7"),s=n.n(i);s.a},f72e:function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80");a(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n("2d80")),o=s(n("1e75")),c=s(n("aa3c")),u=s(n("7c78")),l=s(n("e4f0")),f=s(n("3960")),d=s(n("fa81")),p=s(n("4c43")),h=s(n("3002")),w=s(n("b6ce")),m=s(n("65b8")),v=s(n("298b")),_=s(n("9474")),g=s(n("fc56")),k=s(n("3393")),b=s(n("2fa7")),y=s(n("4573")),C=s(n("5b1a")),x=s(n("14b1")),$=s(n("acf5")),S=i(n("862b")),N=s(n("5ee5")),A=s(n("2ef0")),M=n("56f3"),T=s(n("05d6")),B=s(n("20fd")),P=s(n("b27f")),O=s(n("b73b"));function I(e,t){var n=(0,d.default)(e);if(f.default){var i=(0,f.default)(e);t&&(i=(0,l.default)(i).call(i,(function(t){return(0,u.default)(e,t).enumerable}))),n.push.apply(n,i)}return n}function E(e){for(var t=1;te?t.id:e}var o=s.channelId?(0,_.default)(s.channelId,10):(0,v.default)(A.default).call(A.default,this.networks,r,0)+1,c=new T.default(o,a,t,n);c.name=e,c.username=s.username,c.gecos=s.gecos,c.password=s.account_password||"",c.connection.password=s.password,c.connection.nick=i,c.connection.server=s.server||"",c.connection.port=s.port||6667,c.connection.tls=s.tls||!1,c.connection.path=s.path||"",c.connection.direct=!!s.direct,c.connection.path=s.path||"",c.connection.encoding=s.encoding||"utf8",c.connection.bncnetid=s.bncnetid||"",s.services&&(c.services=s.services),this.networks.push(c),this.addBuffer(c.id,"*").joined=!0;var u={network:c};return a.$emit("network.new",u),c},removeNetwork:function(e){var t,n,i=this.getNetwork(e);if(i){"connected"===i.state&&i.ircClient.quit();while(i.buffers.length>0)this.removeBuffer(i.buffers[0]);var s=!1;i===this.getActiveNetwork()&&(s=!0);var r=(0,m.default)(t=this.networks).call(t,i);(0,k.default)(n=this.networks).call(n,r,1),s&&this.openLastActiveBuffer();var o={network:i};a.$emit("network.removed",o)}},getActiveBuffer:function(){return this.getBufferByName(this.ui.active_network,this.ui.active_buffer)},setActiveBuffer:function(e,t){if(e){if(this.ui.active_network){this.ui.last_active_buffers.push({networkid:this.ui.active_network,bufferName:this.ui.active_buffer});var n=this.ui.last_active_buffers;this.ui.last_active_buffers=(0,k.default)(n).call(n,n.length-20)}this.ui.active_network=e,this.ui.active_buffer=t;var i=this.getBufferByName(e,t);i&&(0,w.default)(i).unread&&((0,w.default)(i).unread=0),i&&i.markAsRead(!0)}else this.ui.active_network=0,this.ui.active_buffer=""},openLastActiveBuffer:function(){for(var e,t,n=this.ui.last_active_buffers,i=n.length-1;i>=0;i--){var s=this.getNetwork(n[i].networkid);if(s){var a=s.bufferByName(n[i].bufferName);if(a){e=s,t=a,(0,k.default)(n).call(n,i);break}}}if(!t){var r=this.getActiveNetwork()||this.networks[0];if(r){e=r;var o=r.buffers[1];t=o||r.serverBuffer()}}t?this.setActiveBuffer(e.id,t.name):this.setActiveBuffer()},updateBufferLastRead:function(e,t){var n=this.getBufferByName(e,t);n&&(n.last_read=(0,h.default)(),n.active_timeout=null)},getOrAddBufferByName:function(e,t){var n=this.getNetwork(e);if(!n)return null;var i=t.toLowerCase(),s=(0,g.default)(A.default).call(A.default,n.buffers,(function(e){return e.name.toLowerCase()===i}));return s||(s=this.addBuffer(e,t)),s},getBufferByName:function(e,t){if(!t)return null;var n=this.getNetwork(e);if(!n)return null;var i=t.toLowerCase(),s=(0,g.default)(A.default).call(A.default,n.buffers,(function(e){return e.name.toLowerCase()===i}));return s},addBuffer:function(e,t){if(!t)return!1;var n=this.getBufferByName(e,t);if(n)return n;var s=this.getNetwork(e);if(!s)return!1;n=new B.default(t,s.id,a,i),s.buffers.push(n);var r={buffer:n};return a.$emit("buffer.new",r),n},removeBuffer:function(e){var t,n,s=this.getActiveBuffer()===e,r=this.getNetwork(e.networkid);if(r){var o={buffer:e};a.$emit("buffer.close",o);var c,u=(0,m.default)(t=r.buffers).call(t,e);if(u>-1)(0,k.default)(c=r.buffers).call(c,u,1);var l=(0,p.default)(A.default).call(A.default,i,{networkid:r.id,buffer:e.name});if(l>-1&&(0,k.default)(i).call(i,l,1),e.isChannel()&&e.joined&&r.ircClient.part(e.name),e.isQuery()){var f=a.getBuffersWithUser(r.id,e.name);0===f.length&&a.removeUser(r.d,{nick:e.name})}s&&this.openLastActiveBuffer(),(0,y.default)(n=(0,d.default)(e.users)).call(n,(function(t){var n=e.users[t];delete n.buffers[e.id]}))}},addMessage:function(e,t){if(e&&e.getNetwork()){var n=this.getUser(e.networkid,t.nick),i=new O.default(t,n);n&&n.ignore&&(i.ignore=!0),e.addMessage(i);var s=!1,r=["privmsg","action","notice","wallops"];e.setting("traffic_as_activity")&&"traffic"===t.type&&r.push("traffic"),(0,m.default)(r).call(r,t.type)>-1&&(s=!0);var o=e.networkid===this.ui.active_network&&e.name===this.ui.active_buffer,c=e.getNetwork(),u=t.time>=e.last_read,l=!!c&&S.mentionsNick(i.message,c.ircClient.user.nick),f=(a.setting("highlights")||"").toLowerCase().split(" ");if(!l&&f.length>0&&(0,y.default)(f).call(f,(function(e){var t;e&&(0,m.default)(t=i.message.toLowerCase()).call(t,e)>-1&&(l=!0)})),a.setting("teamHighlights")){var d=i.message,p={everyone:/(^|\s)@everybody($|\s|[,.;])/,channel:/(^|\s)@channel($|\s|[,.;])/,here:/(^|\s)@here($|\s|[,.;])/};(d.match(p.everyone)||d.match(p.channel))&&(l=!0),d.match(p.here)&&c&&!c.away&&(l=!0)}i.isHighlight=l,u&&o&&a.ui.app_has_focus&&(e.last_read=t.time),u&&s&&!o&&!i.ignore&&(e.incrementFlag("unread"),l&&e.flag("highlight",!0));var h=e.setting("alert_on"),w=!!c&&t.nick===c.nick;if(u&&"never"!==h&&"nick"!==t.type&&"mode"!==t.type&&"traffic"!==t.type&&!e.isSpecial()&&!i.ignore&&!w){var v="",_=t.nick?t.nick+": ":"";_+=t.message,l?v="You were mentioned in "+e.name:"message"!==h||l||(v=e.name),v&&this.$emit("notification.show",_,{title:v,onclick:function(){a.setActiveBuffer(e.networkid,e.name),parent&&parent.focus&&parent.focus(),window.focus&&window.focus()}})}o&&!a.ui.app_has_focus&&"traffic"!==t.type&&("message"===e.setting("flash_title")||"highlight"===e.setting("flash_title")&&l)&&this.$emit("notification.title",!0),this.$emit("message.new",{message:i,buffer:e})}},getUser:function(e,t,n){var i=null,s=n;if(!s){var a=this.getNetwork(e);a&&(s=a.users)}return s&&(i=s[t.toLowerCase()]),i},usersTransaction:function(e,t){var n=this.getNetwork(e);if(n){var i=A.default.clone(n.users);t(i),n.users=i}},addUser:function(e,t,n){var i=null;if(i="number"===typeof e?this.getNetwork(e):e,!i)return null;var s=n||i.users,r=null;return s[t.nick.toLowerCase()]?(r=a.getUser(i.id,t.nick,s),A.default.each(t,(function(e,t){"undefined"!==typeof e&&(r[t]=e)}))):r=s[t.nick.toLowerCase()]=new P.default(t),r},removeUser:function(e,t){var n=this.getNetwork(e);if(n){var i=a.getBuffersWithUser(e,t.nick);(0,y.default)(i).call(i,(function(e){a.removeUserFromBuffer(e,t.nick)})),this.$delete(n.users,t.nick.toLowerCase())}},addMultipleUsersToBuffer:function(e,t){var n=this,i=this.getNetwork(e.networkid),s=A.default.clone(e.users);a.usersTransaction(i.id,(function(r){(0,y.default)(t).call(t,(function(t){var o=t.user,c=t.modes,u=a.getUser(i.id,o.nick,r);u||(u=n.addUser(i,o,r)),s[u.nick.toLowerCase()]=u,u.buffers[e.id]?u.buffers[e.id].modes=c||[]:a.$set(u.buffers,e.id,{modes:c||[],buffer:e})}))})),e.users=s},addUserToBuffer:function(e,t,n){var i=this.getNetwork(e.networkid),s=a.getUser(i.id,t.nick);s?A.default.each(t,(function(e,t){s[t]!==e&&(s[t]=e)})):s=this.addUser(i,t),e.addUser(s),s.buffers[e.id]?a.$set(s.buffers[e.id],"modes",n||[]):a.$set(s.buffers,e.id,{modes:n||[],buffer:e})},removeUserFromBuffer:function(e,t){e.removeUser(t)},getBuffersWithUser:function(e,t){var n,i=this.getNetwork(e);if(!i)return[];var s=t.toLowerCase(),a=[];return(0,y.default)(n=i.buffers).call(n,(function(e){var n=e.name.toLowerCase();(e.users[s]||s===n||t===i.nick&&e.isQuery())&&a.push(e)})),a},changeUserNick:function(e,t,n){var i=this.getNetwork(e);if(i){var s=a.getUser(i.id,t);if(s){var r,o=n.toLowerCase(),c=t.toLowerCase();if(s.nick=n,c!==o)a.$set(i.users,o,i.users[c]),a.$delete(i.users,c),(0,y.default)(r=(0,d.default)(s.buffers)).call(r,(function(e){var t=s.buffers[e].buffer;a.$set(t.users,o,t.users[c]),a.$delete(t.users,c)}));var u=this.getBufferByName(i.id,t);u&&u.rename(n)}}},getStartups:function(){return s}}});return a}var j=null;function U(){return j=j||L(),j}U.create=function(){return L()},U.recreate=function(){var e;j&&(j.resetState(),j.$destroy(),(0,k.default)(e=j._watchers).call(e,0,j._watchers.length));return j=L(),j};var R=U;t.default=R,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["libs"]||(window._kiwi_exports["libs"]={}),window._kiwi_exports["libs"]["state"],window._kiwi_exports.libs.state=t.default?t.default:t},f79f:function(e,t,n){"use strict";n.r(t);var i=n("36dc"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},f7c0:function(e,t,n){},f803:function(e,t,n){"use strict";n.r(t);var i=n("91b5"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},f92e:function(e,t,n){"use strict";var i=n("568d"),s=n("1bd5"),a=n("2d80");a(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n("65b8")),o=s(n("4573"));n("ff4d");var c=s(n("be30"));n("9736");var u=s(n("b7c6")),l=s(n("78fd")),f=s(n("3f9b")),d=s(n("b347")),p=s(n("c96d")),h=s(n("fa38")),w=s(n("62c3")),m=s(n("7a9c")),v=s(n("185a")),_=s(n("51357")),g=s(n("3b2f")),k=n("5ea5"),b=i(n("02fe")),y=i(n("8f39")),C=s(n("189e")),x=s(n("0470")),$=x.default.namespace("App.vue"),S={components:{StateBrowser:w.default,Container:v.default,ControlInput:_.default,MediaViewer:g.default},data:function(){return{startupComponent:null,hasStarted:!1,stateBrowserDrawOpen:!1,activeComponent:null,activeComponentProps:{},fallbackComponent:null,fallbackComponentProps:{},mediaviewerOpen:!1,mediaviewerUrl:"",mediaviewerComponent:null,mediaviewerComponentProps:{},mediaviewerIframe:!1,themeUrl:"",sidebarState:new k.State}},computed:{networks:function(){return this.$state.networks},network:function(){return this.$state.getActiveNetwork()},buffer:function(){return this.$state.getActiveBuffer()}},created:function(){var e=this;this.listenForActiveComponents(),this.watchForThemes(),this.initStateBrowser(),this.initMediaviewer(),this.configureFavicon(),this.listen(document,"keydown",(function(t){return e.onKeyDown(t)})),this.listen(window,"focus",(function(t){return e.onFocus(t)})),this.listen(window,"blur",(function(t){return e.onBlur(t)})),this.listen(window,"touchstart",(function(t){return e.onTouchStart(t)}))},mounted:function(){var e={welcome:l.default,customServer:d.default,kiwiBnc:p.default,znc:f.default,personal:h.default},t=this.$state.getStartups(),n=this.$state.settings.startupScreen||"personal",i=t[n]||e[n];i?this.startupComponent=i:x.default.error('Startup screen "'.concat(n,'" does not exist')),this.trackWindowDimensions()},methods:{startUp:function(e){var t=this;if($("startUp()"),e&&e.fallbackComponent&&(this.fallbackComponent=e.fallbackComponent),e&&e.fallbackComponentProps&&(this.fallbackComponentProps=e.fallbackComponentProps),!this.hasStarted){this.warnOnPageClose();var n=function e(){t.$state.$off("document.clicked",e),t.$state.$off("input.raw",e),b.requestPermission(t.$state),b.listenForNewMessages(t.$state)};this.$state.$once("document.clicked",n),this.$state.$once("input.raw",n)}this.hasStarted=!0},listenForActiveComponents:function(){var e=this;this.listen(this.$state,"active.component",(function(t,n){e.activeComponent=null,t&&(e.activeComponentProps=n,e.activeComponent=t)})),this.listen(this.$state,"active.component.toggle",(function(t,n){t===e.activeComponent?e.activeComponent=null:t&&(e.activeComponentProps=n,e.activeComponent=t)}))},watchForThemes:function(){var e=this,t=C.default.instance();this.themeUrl=C.default.themeUrl(t.currentTheme()),this.$nextTick((function(){return(0,c.default)()})),this.listen(this.$state,"theme.change",(function(){e.themeUrl=C.default.themeUrl(t.currentTheme()),e.$nextTick((function(){return(0,c.default)()}))}))},initStateBrowser:function(){var e=this;this.listen(this.$state,"statebrowser.toggle",(function(){e.stateBrowserDrawOpen=!e.stateBrowserDrawOpen})),this.listen(this.$state,"statebrowser.show",(function(){e.stateBrowserDrawOpen=!0})),this.listen(this.$state,"statebrowser.hide",(function(){e.stateBrowserDrawOpen=!1}))},initMediaviewer:function(){var e=this;this.listen(this.$state,"mediaviewer.show",(function(t){var n={};n="string"===typeof t?{url:t}:t,e.mediaviewerUrl=n.url,e.mediaviewerComponent=n.component,e.mediaviewerComponentProps=n.componentProps,e.mediaviewerIframe=n.iframe,e.mediaviewerOpen=!0})),this.listen(this.$state,"mediaviewer.hide",(function(){e.mediaviewerOpen=!1}))},configureFavicon:function(){var e=this;u.default.setOptions({width:7,height:9,color:"#ffffff",background:"#b32d2d",fallback:!0}),this.$state.$watch("ui.favicon_counter",(function(e){e?u.default.setBubble(e):u.default.reset()})),this.listen(this.$state,"message.new",(function(t){var n=t.message;!n.isHighlight||n.ignore||e.$state.ui.app_has_focus||e.$state.ui.favicon_counter++}))},trackWindowDimensions:function(){var e=this,t=function(){e.$state.ui.app_width=e.$el.clientWidth,e.$state.ui.app_height=e.$el.clientHeight,e.$state.ui.is_narrow=e.$el.clientWidth<=769};this.listen(window,"resize",t),t()},warnOnPageClose:function(){var e=this;window.onbeforeunload=function(){if(e.$state.setting("warnOnExit"))return e.$t("window_unload")},window.onunload=function(){var t;(0,o.default)(t=e.$state.networks).call(t,(function(t){t.connection.direct&&"connected"===t.state&&t.ircClient.raw("QUIT",e.$state.setting("quitMessage")||"Client Closed Connection")}))}},emitBufferPaste:function(e){this.$state.getActiveBuffer()&&null===this.activeComponent&&(e.target instanceof HTMLInputElement||e.target instanceof HTMLSelectElement||e.target instanceof HTMLTextAreaElement||this.$state.$emit("buffer.paste",e))},emitDocumentClick:function(e){this.$state.$emit("document.clicked",e)},onTouchStart:function(e){this.$state.ui.is_touch=!0},onBlur:function(e){this.$state.ui.app_has_focus=!1},onFocus:function(e){this.$state.ui.app_has_focus=!0;var t=this.$state.getActiveBuffer();t&&t.markAsRead(!0),this.$state.ui.favicon_counter=0},onKeyDown:function(e){var t;this.$state.$emit("document.keydown",e);var n=!1;if(n=-1!==(0,r.default)(t=navigator.appVersion).call(t,"Mac")?e.metaKey:e.ctrlKey&&!e.altKey,n&&221===e.keyCode){var i=y.getNextBuffer();i&&this.$state.setActiveBuffer(i.networkid,i.name),e.preventDefault()}else if(n&&219===e.keyCode){var s=y.getPreviousBuffer();s&&this.$state.setActiveBuffer(s.networkid,s.name),e.preventDefault()}else if(n&&79===e.keyCode)this.$state.$emit("active.component.toggle",m.default),e.preventDefault();else if(n&&83===e.keyCode){var a=this.$state.getActiveNetwork();a&&a.showServerBuffer("settings"),e.preventDefault()}}}};t.default=S,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["App"],window._kiwi_exports.components.App=t.default?t.default:t},f93a:function(e,t,n){"use strict";var i=n("6cad"),s=n.n(i);s.a},f93d:function(e,t,n){"use strict";n.r(t);var i=n("b2d4"),s=n("7f44");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("6daf");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},fa38:function(e,t,n){"use strict";n.r(t);var i=n("a2f1"),s=n("b361");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("3cac");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports},faa3:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("462f")),r=i(n("e402")),o=i(n("df3a")),c={props:{},userColour:function(){var e=this.props;return e.nicklist.useColouredNicks?e.user.getColour():""},shouldShowAvatars:function(){var e=this.props;return e.nicklist.buffer.setting("nicklist_avatars")}},u={inject:{components:{default:{AwayStatusIndicator:a.default,TypingStatusIndicator:r.default,Avatar:o.default}}},props:{network:Object,user:Object,nicklist:Object,m:{default:function(){return function(){return c.props=this,c}}}}};t.default=u,window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["components"]||(window._kiwi_exports["components"]={}),window._kiwi_exports["components"]["NicklistUser"],window._kiwi_exports.components.NicklistUser=t.default?t.default:t},fb75:function(e,t,n){},fc9a:function(e,t,n){},fcde:function(e,t,n){"use strict";var i=n("1bd5"),s=n("2d80");s(t,"__esModule",{value:!0}),t.createChannelConstructor=h;var a=i(n("4573")),r=i(n("65b8")),o=i(n("a3e3")),c=i(n("acf5")),u=i(n("cc7d")),l=i(n("ba10")),f=(0,c.default)(null),d=(0,c.default)(null),p="0";function h(e,t,n){var i=e.toLowerCase();f[i]||(f[i]=w(i,t));var s=n;return s||(s=f[i].nextChannelId++),m(f[i],s)}function w(e,t){var n=new l.default;return n.sessionId="",f[e]=n,n.nextChannelId=1,n.connected=!1,n.reconnect=n.connect=function(){if(n.ws){try{n.ws.close()}catch(i){}n.ws=null}n.ws=new u.default(e),n.ws.onopen=function(){var e,i=t?"CONTROL SESSION "+t:"CONTROL START";n.ws.send((0,o.default)(e=":".concat(p," ")).call(e,i)),n.connected=!0,n.emit("open")},n.ws.onclose=function(e){n.connected=!1,n.ws=null,n.emit("close",e)},n.ws.onmessage=function(e){if(n.emit("message",e),":"===e.data[0]){var t=e.data,i=(0,r.default)(t).call(t," ");if(-1===i)return void n.emit("open."+t.substr(1));var s=t.substr(1,i-1);e.data=t.substr(i+1),n.emit("message."+s,e)}else{var a=e.data.split(" ");"SESSION"===a[0]&&(n.sessionId=a[1])}}},n.connect(),n}function m(e,t){return function(i){return d[t]?e.connected&&d[t].initChannel():d[t]=new n(i),d[t]};function n(n){var i=[],s="utf8",o=new l.default;return o.id=t,o.isOpen=!1,o.state=0,o.remoteState=0,e.on("open",(function(){e.ws.send(":"+t)})),e.on("open."+t,(function(){o.isOpen=!0,i.length&&((0,a.default)(i).call(i,(function(e){o.sendControl(e)})),i=[]),o.setEncoding(s),o.remoteState=1,o.emit("open")})),e.on("close",(function(e){o.state=3,o.remoteState=0,o.isOpen=!1,o.emit("close",e)})),e.on("message."+t,(function(e){var t,n,i;if(0===(0,r.default)(t=e.data).call(t,"control ")&&(0===(0,r.default)(n=e.data).call(n,"control connected")&&(o.remoteState=1),0===(0,r.default)(i=e.data).call(i,"control closed"))){var s=e.data.split(" ")[2];o.remoteState=0,o.emit("close",s)}1===o.remoteState&&o.emit("line",e.data)})),o.sendControl=function(n){o.isOpen?e.ws.send(":"+t+" "+n):i.push(n)},o.writeLine=function(n){o.remoteState>=1&&e.ws.send(":"+t+" "+n)},o.connect=function(){i=[],e.ws||e.reconnect();var t=n.host,s=n.port,a=n.tls||n.ssl;o.sendControl("HOST "+t+":"+(a?"+":"")+s)},o.close=function(){o.remoteState>=1&&e.ws.send(":"+t)},o.setEncoding=function(n){return s=n,e.connected&&e.ws.send(":"+t+" ENCODING "+n),!0},o.disposeSocket=function(){},o.initChannel=function(){e.ws.send(":"+t)},e.connected&&o.initChannel(),o}}window._kiwi_exports=window._kiwi_exports||{},window._kiwi_exports["libs"]||(window._kiwi_exports["libs"]={}),window._kiwi_exports["libs"]["ServerConnection"],window._kiwi_exports.libs.ServerConnection=t.default?t.default:t},fd86:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var i=function(e,t){var n=t._c;return n(t.$options.c.Avatar,{tag:"component",attrs:{user:t.props.user,message:t.props.message,size:"small"}})},s=[]},fedd:function(e,t,n){"use strict";n.r(t);var i=n("edc9"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},ff31:function(e,t,n){"use strict";n.r(t);var i=n("ad51"),s=n.n(i);for(var a in i)"default"!==a&&function(e){n.d(t,e,(function(){return i[e]}))}(a);t["default"]=s.a},ffd2:function(e,t,n){"use strict";n.r(t);var i=n("b70f"),s=n("edbf");for(var a in s)"default"!==a&&function(e){n.d(t,e,(function(){return s[e]}))}(a);n("40cd");var r=n("2877"),o=Object(r["a"])(s["default"],i["a"],i["b"],!1,null,null,null);t["default"]=o.exports}}); +//# sourceMappingURL=app.a6afa5ad.js.map \ No newline at end of file diff --git a/sources/dist/static/js/app.a6afa5ad.js.map b/sources/dist/static/js/app.a6afa5ad.js.map new file mode 100644 index 0000000..9af262c --- /dev/null +++ b/sources/dist/static/js/app.a6afa5ad.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/AutoComplete.vue?dc94","webpack:///./src/components/StartupError.vue?cf4c","webpack:///./src/libs/Notifications.js","webpack:///./src/components/MessageListMessageCompact.vue?4e14","webpack:///./src/libs/polyfill/Element.closest.js","webpack:///./src/libs/Logger.js","webpack:///./src/components/utils/TabbedView.vue?4476","webpack:///./src/libs/state/NetworkState.js","webpack:///./src/components/startups/CustomServer.vue?2bdd","webpack:///./src/components/Avatar.vue?021a","webpack:///./src/components/utils/InputConfirm.vue?7413","webpack:///./src/components/startups/ZncLogin.vue?d9c7","webpack:///./src/components/utils/IrcInput.vue?3e92","webpack:///./src/components/MessageList.vue?97ac","webpack:///./src/thirdparty/kiwiirccom.vue?7d18","webpack:///./src/libs/MessageFormatter.js","webpack:///./src/components/utils/InputPrompt.vue?106f","webpack:///./src/components/Avatar.vue?5de3","webpack:///./src/components/startups/ZncLogin.vue?bc87","webpack:///./src/components/ServerView.vue?320a","webpack:///./src/res/kiwiLoadingLogo.png","webpack:///./src/components/MessageInfo.vue?fc4e","webpack:///./src/components/utils/InputText.vue?d4fa","webpack:///./src/components/inputtools/TextStyle.vue?4a34","webpack:///./src/components/App.vue?2df3","webpack:///./src/components/NetworkSettings.vue?5552","webpack:///./src/components/ChannelInvitelist.vue?c75c","webpack:///./src/components/Container.vue?dafa","webpack:///./src/components/utils/InputText.vue?9897","webpack:///./src/libs/ThemeManager.js","webpack:///./src/components/utils/InputConfirm.vue?b85e","webpack:///./src/helpers/Colours.js","webpack:///./src/components/SelfUser.vue?f66b","webpack:///./src/components/MessageList.vue?719c","webpack:///./src/components/MessageListMessageModern.vue?0934","webpack:///./src/components/ServerSelector.vue?3a8e","webpack:///./src/components/MessageList.vue?4207","webpack:///./src/components/ServerView.vue?a991","webpack:///./src/libs/state/BufferState.js","webpack:///./src/components/MessageListMessageInline.vue?d335","webpack:///./src/components/startups/KiwiBnc.vue?a30a","webpack:///./src/components/AwayStatusIndicator.vue?8196","webpack:///./src/libs/BouncerMiddleware.js","webpack:///./src/components/ServerView.vue?2406","webpack:///./src/components/inputtools/Emoji.vue?ac55","webpack:///./src/components/MessageInfo.vue?5c1d","webpack:///./src/components/AwayStatusIndicator.vue?5a7c","webpack:///./src/components/NotConnected.vue?ca74","webpack:///./src/components/NicklistUser.vue?04de","webpack:///./src/components/TypingUsersList.vue?e190","webpack:///./src/components/startups/CommonLayout.vue?c656","webpack:///./src/thirdparty/kiwiirccom.vue?938e","webpack:///./src/components/utils/IrcInput.vue?fdcf","webpack:///./src/components/StateBrowser.vue?b090","webpack:///./src/components/ChannelInfo.vue?af4a","webpack:///./src/libs/WindowTitle.js","webpack:///./src/components/StateBrowserUsermenu.vue?40ef","webpack:///./src/libs/AliasRewriter.js","webpack:///./src/components/MessageListMessageInline.vue?ef74","webpack:///./src/components/UserBox.vue?8c8a","webpack:///./src/components/NotConnected.vue?7b97","webpack:///./src/components/SidebarAboutBuffer.vue?37f1","webpack:///./src/components/ControlInput.vue?5c3b","webpack:///./src/components/utils/InputConfirm.vue?fc76","webpack:///./src/components/StartupError.vue?5377","webpack:///./src/components/MessageInfo.vue?edeb","webpack:///./src/libs/GlobalApi.js","webpack:///./src/components/TypingStatusIndicator.vue?e82d","webpack:///./src/components/startups/KiwiBnc.vue?91f0","webpack:///./src/components/startups/ZncLogin.vue?2112","webpack:///./src/components/MediaViewer.vue?4a05","webpack:///./src/components/BufferKey.vue?6d5c","webpack:///./src/components/startups/Personal.vue?3cce","webpack:///./src/components/MessageList.vue?fa35","webpack:///./src/components/MessageListAvatar.vue?2335","webpack:///./src/components/StateBrowser.vue?7339","webpack:///./src/components/StartupError.vue?1d61","webpack:///./src/components/startups/ZncLogin.vue?fbeb","webpack:///./src/components/StateBrowserNetwork.vue?b81e","webpack:///./src/components/startups/CommonLayout.vue?eb03","webpack:///./src/components/TypingUsersList.vue?65cb","webpack:///./src/components/utils/InputPrompt.vue?bac6","webpack:///./src/components/AwayStatusIndicator.vue?0480","webpack:///./src/components/ChannelInfo.vue?88df","webpack:///./src/components/AutoComplete.vue?6857","webpack:///./src/components/ChannelList.vue?b249","webpack:///./src/components/UserBox.vue?33eb","webpack:///./src/components/utils/IrcInput.vue?1147","webpack:///./src/components/AutoComplete.vue?1847","webpack:///./src/libs/batchedAdd.js","webpack:///./src/thirdparty/index.js","webpack:///./src/components/TypingUsersList.vue?8678","webpack:///./src/components/startups/Welcome.vue?dbe3","webpack:///./src/components/ControlInput.vue?8ded","webpack:///./src/thirdparty/kiwiirccom.vue?fe34","webpack:///./src/components/ServerSelector.vue?9dcb","webpack:///./src/components/StateBrowser.vue?14dd","webpack:///./src/components/Avatar.vue?eabd","webpack:///./src/components/LoadingAnimation.vue?710c","webpack:///./src/components/ContainerHeader.vue?a8e3","webpack:///./src/components/ChannelBanlist.vue?3e4b","webpack:///./src/components/SidebarState.vue?dea5","webpack:///./src/components/SettingsAdvanced.vue?d0b4","webpack:///./src/components/startups/Personal.vue?7893","webpack:///./src/components/ChannelInfo.vue?6d37","webpack:///./src/main.js","webpack:///./src/res/configTemplates.js","webpack:///./src/components/ChannelInfo.vue?e1a9","webpack:///./src/components/NetworkSettings.vue?2baf","webpack:///./src/components/ChannelBanlist.vue?fc93","webpack:///./src/components/startups/CustomServer.vue?1e5a","webpack:///./src/components/ServerSelector.vue?2148","webpack:///./src/helpers/TextFormatting.js","webpack:///./src/components/BufferSettings.vue?0248","webpack:///./src/components/inputtools/TextStyle.vue?2c74","webpack:///./src/libs/IrcClient.js","webpack:///./src/components/MessageListMessageModern.vue?71b5","webpack:///./src/components/AppSettings.vue?3a4f","webpack:///./src/components/Sidebar.vue?780a","webpack:///./src/components/utils/InputText.vue?ef0a","webpack:///./src/components/UserBox.vue?cfb7","webpack:///./src/components/StartupError.vue?f239","webpack:///./src/components/NotConnected.vue?a936","webpack:///./src/thirdparty/kiwiirccom.vue?6983","webpack:///./src/components/App.vue?6f48","webpack:///./src/res/autocompleteCommands.js","webpack:///./src/libs/StatePersistence.js","webpack:///./src/components/ServerSelector.vue?bcc9","webpack:///./src/components/Captcha.vue?9c06","webpack:///./src/components/StateBrowser.vue?8c18","webpack:///./src/components/startups/CommonLayout.vue?b4ed","webpack:///./src/components/LoadingAnimation.vue?a8d8","webpack:///./src/components/Nicklist.vue?c28d","webpack:///./src/components/ChannelList.vue?15a7","webpack:///./src/components/ContainerHeader.vue?4434","webpack:///./src/components/AppSettings.vue?a7b2","webpack:///./src/components/TypingUsersList.vue?f591","webpack:///./src/components/StateBrowserUsermenu.vue?d1b2","webpack:///./src/thirdparty/kiwiirccom.vue?10df","webpack:///./src/components/ChannelList.vue?75c6","webpack:///./src/libs/storage/Local.js","webpack:///./src/components/LoadingAnimation.vue?6d68","webpack:///./src/components/AwayStatusIndicator.vue?0773","webpack:///./src/helpers/IrcdDiffs.js","webpack:///./src/components/utils/IrcInput.vue?d746","webpack:///./src/components/MessageList.vue?5e4c","webpack:///./src/components/BufferKey.vue?eef4","webpack:///./src/components/App.vue?0284","webpack:///./src/components/MessageListAvatar.vue","webpack:///./src/components/utils/InputPrompt.vue?4c2e","webpack:///./src/components/utils/InputConfirm.vue?069e","webpack:///./src/components/startups/Welcome.vue?957b","webpack:///./src/components/AppSettings.vue?372f","webpack:///./src/libs/ConfigLoader.js","webpack:///./src/components/AutoComplete.vue?ceb9","webpack:///./src/components/utils/TabbedView.vue?9de9","webpack:///./src/components/StateBrowserUsermenu.vue?81c2","webpack:///./src/components/startups/Welcome.vue?8754","webpack:///./src/components/startups/CustomServer.vue?1104","webpack:///./src/components/utils/InputText.vue?6cfe","webpack:///./src/components/MessageListAvatar.vue?39f9","webpack:///./src/components/AppSettings.vue?8116","webpack:///./src/components/utils/TabbedView.vue?8ac1","webpack:///./src/components/ChannelList.vue?c4fc","webpack:///./src/components/TypingUsersList.vue?5fa8","webpack:///./src/components/NicklistUser.vue?de0f","webpack:///./src/components/ServerSelector.vue?2dba","webpack:///./src/components/Sidebar.vue?db28","webpack:///./src/components/SelfUser.vue?c9d9","webpack:///./src/helpers/Misc.js","webpack:///./src/libs/NetworkProvider.js","webpack:///./src/libs/IPC.js","webpack:///./src/components/SidebarAboutBuffer.vue?ef7f","webpack:///./src/components/StateBrowserNetwork.vue?bea4","webpack:///./src/components/Container.vue?ddfe","webpack:///./src/components/MessageInfo.vue?b223","webpack:///./src/components/NetworkSettings.vue?14e1","webpack:///./src/components/Container.vue?d547","webpack:///./src/components/SidebarState.vue","webpack:///./src/components/utils/TabbedView.vue?04ef","webpack:///./src/components/inputtools/TextStyle.vue?3e37","webpack:///./src/components/SidebarAboutBuffer.vue?2912","webpack:///./src/components/Captcha.vue?1eee","webpack:///./src/components/inputtools/Emoji.vue?c0df","webpack:///./src/components/ChannelBanlist.vue?27e7","webpack:///./src/libs/bufferTools.js","webpack:///./src/components/startups/ZncLogin.vue?1169","webpack:///./src/components/ChannelInvitelist.vue?5b3d","webpack:///./src/components/ControlInput.vue?e8c8","webpack:///./src/components/startups/KiwiBnc.vue?bcf5","webpack:///./src/libs/renderers/Html.js","webpack:///./src/libs/settingTools.js","webpack:///./src/components/AutoComplete.vue?8da5","webpack:///./src/components/NotConnected.vue?2426","webpack:///./src/components/MessageListMessageCompact.vue?ae43","webpack:///./src/components/SettingsAdvanced.vue?ffa2","webpack:///./src/components/TypingStatusIndicator.vue?ba3e","webpack:///./src/components/SidebarAboutBuffer.vue?5feb","webpack:///./src/components/utils/TabbedView.vue?da16","webpack:///./src/libs/ChathistoryMiddleware.js","webpack:///./src/components/NetworkSettings.vue?eb6e","webpack:///./src/components/SidebarAboutBuffer.vue?2808","webpack:///./src/components/MessageInfo.vue?2118","webpack:///./src/components/SelfUser.vue?8a05","webpack:///./src/components/MessageListMessageModern.vue?f965","webpack:///./src/components/utils/InputPrompt.vue?60ce","webpack:///./src/components/startups/Personal.vue?fe66","webpack:///./src/components/MediaViewer.vue?acb6","webpack:///./src/components/utils/InputConfirm.vue?667d","webpack:///./src/components/BufferKey.vue?fdc1","webpack:///./src/components/SettingsAliases.vue?da04","webpack:///./src/components/MediaViewer.vue?6df6","webpack:///./src/components/SettingsAliases.vue?18b7","webpack:///./src/components/utils/InputPrompt.vue?e19e","webpack:///./src/components/Nicklist.vue?f797","webpack:///./src/components/SettingsAdvanced.vue?9cb0","webpack:///./src/components/ControlInput.vue?a75e","webpack:///./src/components/Avatar.vue?d278","webpack:///./src/libs/state/UserState.js","webpack:///./src/components/StateBrowserUsermenu.vue?3fa7","webpack:///./src/components/startups/CustomServer.vue?d1f0","webpack:///./src/components/startups/Personal.vue?8c27","webpack:///./src/components/startups/CommonLayout.vue?de75","webpack:///./src/components/NicklistUser.vue?a32b","webpack:///./src/components/ChannelInvitelist.vue?1913","webpack:///./src/components/ServerView.vue?d132","webpack:///./src/libs/BouncerProvider.js","webpack:///./src/components/BufferSettings.vue?a9b7","webpack:///./src/components/SidebarState.vue?0e21","webpack:///./src/components/inputtools/TextStyle.vue?74e3","webpack:///./src/components/StateBrowserNetwork.vue?3b6e","webpack:///./src/libs/Message.js","webpack:///./src/components/MediaViewer.vue?f614","webpack:///./src/components/MessageListMessageModern.vue?1b3e","webpack:///./src/components/ChannelBanlist.vue?2f2a","webpack:///./src/components/MessageListMessageInline.vue?6760","webpack:///./src/libs/state/common.js","webpack:///./src/components/Nicklist.vue?0081","webpack:///./src/components/MessageListMessageCompact.vue?1def","webpack:///./src/components/SelfUser.vue?50cf","webpack:///./src/libs/SoundBleep.js","webpack:///./src/components/AppSettings.vue?e286","webpack:///./src/components/NicklistUser.vue?fe74","webpack:///./src/components/MessageListMessageInline.vue?3a80","webpack:///./src/components/inputtools/Emoji.vue?e1e5","webpack:///./src/components/LoadingAnimation.vue?cfb2","webpack:///./src/components/SettingsAliases.vue?24ba","webpack:///./src/components/SettingsAdvanced.vue?f320","webpack:///./src/components/MessageListMessageInline.vue?4c40","webpack:///./src/components/startups/KiwiBnc.vue?de6f","webpack:///./src/components/ChannelList.vue?978b","webpack:///./src/components/MessageListMessageModern.vue?6a9b","webpack:///./src/components/ChannelInfo.vue?fa2f","webpack:///./src/components/Nicklist.vue?b4f8","webpack:///./src/components/MediaViewer.vue?7a2e","webpack:///./src/components/startups/KiwiBnc.vue?bc43","webpack:///./src/components/ContainerHeader.vue?a28b","webpack:///./src/components/Container.vue?3c20","webpack:///./src/components/startups/CustomServer.vue?32be","webpack:///./src/components/ControlInput.vue?7f8f","webpack:///./src/components/ContainerHeader.vue?64d0","webpack:///./src/thirdparty/about.html","webpack:///./src/components/ServerView.vue?38fb","webpack:///./src/components/startups/Welcome.vue?f844","webpack:///./src/components/StateBrowser.vue?08b7","webpack:///./src/components/inputtools/TextStyle.vue?8108","webpack:///./src/components/UserBox.vue?6a29","webpack:///./src/components/SettingsAdvanced.vue?34da","webpack:///./src/components/LoadingAnimation.vue?bc88","webpack:///./src/components/utils/IrcInput.vue?2711","webpack:///./src/components/AwayStatusIndicator.vue?c490","webpack:///./src/components/NetworkSettings.vue?b367","webpack:///./src/components/BufferKey.vue?b621","webpack:///./src/components/SelfUser.vue?d5d2","webpack:///./src/components/ChannelBanlist.vue?2ec2","webpack:///./src/components/MessageListMessageCompact.vue?93f6","webpack:///./src/components/Sidebar.vue?274a","webpack:///./src/components/startups/Welcome.vue?410d","webpack:///./src/components/Avatar.vue?21c4","webpack:///./src/components/TypingStatusIndicator.vue?799c","webpack:///./src/libs/AudioManager.js","webpack:///./src/components/inputtools/Emoji.vue?c1e1","webpack:///./src/libs/InputHandler.js","webpack:///./src/components/TypingStatusIndicator.vue","webpack:///./src/libs/MessageParser.js","webpack:///./src/components/ChannelInvitelist.vue?aff9","webpack:///./src/components/Sidebar.vue?f2eb","webpack:///./src/components/Captcha.vue","webpack:///./src/components/Container.vue?71da","webpack:///./src/components/MessageListMessageCompact.vue?e34c","webpack:///./src/components/Sidebar.vue?44fc","webpack:///./src/components/SettingsAliases.vue?dc98","webpack:///./src/components/UserBox.vue?1ed9","webpack:///./src/components/StateBrowserNetwork.vue?7863","webpack:///./src/components/BufferSettings.vue?76c7","webpack:///./src/components/BufferSettings.vue?0382","webpack:///./src/libs/TypingMiddleware.js","webpack:///./src/components/BufferKey.vue?8aa2","webpack:///./src/components/NotConnected.vue?e36a","webpack:///./src/components/SettingsAliases.vue?0520","webpack:///./src/components/ContainerHeader.vue?087a","webpack:///./src/components/Captcha.vue?3831","webpack:///./src/components/App.vue?48f1","webpack:///./src/components/utils/InputText.vue?3821","webpack:///./src/components/inputtools/Emoji.vue?6055","webpack:///./src/libs/state.js","webpack:///./src/components/StartupError.vue?3dd3","webpack:///./src/components/ChannelInvitelist.vue?18e7","webpack:///./src/components/App.vue?10ef","webpack:///./src/components/startups/CommonLayout.vue?e37b","webpack:///./src/components/StateBrowserUsermenu.vue?c34c","webpack:///./src/components/startups/Personal.vue?2d70","webpack:///./src/components/NicklistUser.vue?b449","webpack:///./src/libs/ServerConnection.js","webpack:///./src/components/MessageListAvatar.vue?6661","webpack:///./src/components/BufferSettings.vue?a8ea","webpack:///./src/components/Nicklist.vue?fe55","webpack:///./src/components/StateBrowserNetwork.vue?3a5e"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","component","_interopRequireDefault","_Object$defineProperty","requestPermission","show","listenForNewMessages","_assign","_bind","_setTimeout2","_lodash","isEnabled","state","Notification","permission","$emit","title","body","opts","_context","notify","icon","ttl","default","close","throttledShow","throttle","$on","message","_opts","onclick","notification","_kiwi_exports","libs","Notifications","Element","matches","msMatchesSelector","webkitMatchesSelector","closest","el","this","parentElement","parentNode","nodeType","_concat","defaultLogger","makeLogger","_default","label","rootLogger","logger","info","arguments","logLevel","compareLevel","level","LEVEL_DEBUG","LEVEL_INFO","LEVEL_ERROR","debug","_window$console","_len","args","Array","_key","concat","console","log","_window$console2","_context2","_len2","_key2","error","_window$console3","_context3","_len3","_key3","assert","condition","_context4","_len4","_key4","setLevel","newLevel","namespace","newLabel","_context5","Logger","_interopRequireWildcard","_setImmediate2","_indexOf","_create","_classCallCheck2","_createClass2","_vue","_common","IrcClient","NetworkState","id","appState","userDict","bufferDict","_this","editable_name","state_error","last_error","auto_commands","is_znc","is_bnc","hidden","channel_list","channel_list_state","ircd","connection","server","port","tls","path","password","direct","encoding","bncnetid","nick","settings","show_raw_caps","username","gecos","away","observable","def","newVal","$set","networks","_this$ircClient","ircClient","connect","getBufferByName","val","input","chanPrefixes","network","supports","tabName","_this2","setActiveBuffer","serverBuffer","buffers","getBuffersWithUser","buffer","isUserAnOp","user","getUser","hasWhois","operator","frameworkClient","methods","props","avatar","firstNickLetter","hasAvatar","small","large","avatarStyle","style","url","size","colour","getColour","String","components","Avatar","render","_vm","_h","$createElement","_c","_self","ref","staticClass","scopedSlots","_u","fn","staticStyle","proxy","on","$event","preventDefault","formSubmit","domProps","_s","greetingText","_v","readableStateError","_e","attrs","$t","model","callback","$$v","expression","znc_network","readyToStart","buttonText","staticRenderFns","class","smooth_scroll","target","currentTarget","onListClick","directives","rawName","flag","requestScrollback","_l","day","dayNum","filteredMessagesGroupedDay","messages","Date","time","toDateString","shouldShowUnreadMarker","selectedMessages","template","$el","listType","filteredMessages","indexOf","thisMl","getNetwork","parse","createNewBlock","_parseInt2","_keys","_forEach","tokens","inp","block","blocks","openTokens","pos","len","tok","findTokenAtPosition","extras","extra","content","containsContent","newBlock","styles","newPos","token","substr","undefined","type","meta","prevBlock","openToks","underline","bold","remainingText","nextPos","italic","quote","str","endPos","k","colours","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","colourMatchRegexp","match","exec","fgColour","bgColour","color","background","MessageFormatter","display","prompt","_t","complete","_k","keyCode","cancel","composing","hideCancel","_GlobalApi","_MessageList","_NetworkSettings","_ChannelList","MessageList","NetworkSettings","ChannelList","pluginUiElements","singleton","serverViewPlugins","computed","hasMessages","getMessages","restrictedServer","$state","setting","networkConnected","watch","$nextTick","$refs","tabs","a","created","listen","showTab","setActiveByName","tabChanged","show_input","ServerView","stopPropagation","mentioned_urls","urlPreview","requestingInput","openQuery","areWeAnOp","isSelf","onKick","onBan","Vue","plainTextEnabled","inputIdCache","inputId","Math","floor","random","toString","currentValue","set","updateValue","newValue","isEdgeBrowser","navigator","appVersion","utils","InputText","showPlainText","isArray","_i","$$a","$$el","$$c","checked","$$i","_q","$slots","_now","_find","_trim","createdInstance","ThemeManager","listenForIrcEvents","varsEl","varName","document","querySelector","getComputedStyle","v","getPropertyValue","themes","currentThemeName","toLowerCase","theme","isMatch","theTheme","availableThemes","currentTheme","replace","instance","event","ctcpType","reload","parts","split","qs","connoteCss","yes","no","hex2rgb","rgb2hex","rgb2hsl","hsl2rgb","rgb2rgbString","_slice","_map","_hex","shorthandRegex","hex","g","b","rgb","join","max","min","h","hsl","hue2rgb","_p","q","round","helpers","Colours","_some","_reduce","_flags","_filter","_splice","_batchedAdd","bufferTools","nextBufferId","BufferState","networkid","messageDict","topics","joined","enabled","created_at","users","modes","flags","unread","has_opened","channel_badkey","chathistory_available","requested_modes","requested_banlist","is_requesting_chathistory","last_read","active_timeout","message_count","current_input","input_history","input_history_pos","chathistory_request_count","messagesObj","messageIds","onNetworkConnecting","onNetworkMotd","isQuery","requestLatestScrollback","onBufferClose","$off","onNetworkConnectingBound","onBufferCloseBound","onNetworkMotdBound","createMessageBatch","createUserBatch","isChannel","maybeStartWhoLoop","chathistory","isSupported","bufMessages","startTime","endTime","server_time","ircNetwork","options","CHANTYPES","isSpecial","isServer","userBufferInfo","opModes","hasOp","netPrefixes","PREFIX","prefix","symbol","newName","oldName","setActive","getActiveBuffer","bufferMessages","_direction","direction","chathistoryFuncName","lastMessage","earliest","current","ignoreTypes","validType","Error","firstMessage","latest","existingMessageIds","then","hasNewMessages","commands","msg","tags","msgid","finally","_this3","before","delayed","clearTimeout","_context6","markAsRead","allowedUpdate","bnc","bufferSeen","flagName","addUserBatch","nickLower","_context7","hasMode","userMode","currentUser","userObj","pull","queue","$delete","_context8","_this4","each","addMessageBatch","newMessage","addMessage","fnNames","privmsg","action","notice","fnName","reason","part","networkState","historySupport","messagesInBatchQueue","getLoadingState","bufferState","addSingleUser","u","addMultipleUsers","clone","addSingleMessage","isMessageTrimming","trimMessages","orderedMessages","inPlace","noFilter","addMultipleMessages","newMessages","_context9","toAdd","scrollbackSize","_context10","removed","nextLoop","on001","command","eventNetwork","updateWhoStatusLoop","bufferByName","whoLoop","isJoined","hasAwayNotify","cap","who","_state","toggleSelfAway","isUserSelf","isAway","raw","toggle","shouldShowStatus","awayNotifyEnabled","Boolean","AwayStatusIndicator","bouncerMiddleware","_promise","_ircFramework","Misc","client","rawEvents","parsedEvents","requestCap","addFunctionsToClient","use","theMiddleware","rawLine","next","params","command_handler","emit","MessageTags","decode","networkId","host","connected","currentNick","account","account_password","netId","detectedBuffers","_netId","_tags","topic","seen","netName","eventObj","_netId2","_netName","_eventObj","hasNetwork","getNetworks","resolve","reject","once","getBuffers","closeBuffer","bufferName","seenTime","timeStr","dateIso","addNetwork","tagString","createTagString","onOk","off","onError","removeNetwork","saveNetwork","tagParts","tag","BouncerMiddleware","text","eCode","location","onImgClick","_obj","$options","connecting","shouldShowLoading","reconnect","channel","showNetworkSettings","closing","backgroundStyle","startupOptions","infoBackground","backgroundImage","infoContent","startApp","removeEventListener","persistence","watchStateForChanges","$parent","addEventListener","startups","CommonLayout","_regenerator","_asyncToGenerator2","TextFormatting","_about","firstRun","ctor","about_open","aboutContent","showServerBuffer","toggleStateBrowser","init","mark","_callee","wrap","prev","fallbackComponent","constructor","stop","_created","_callee2","getStartups","kiwiirccom","thirdparty","modifiers","showPrevTopics","topicText","idx","trim","modeM","modeI","modeT","modeN","modeK","_setInterval2","WindowTitle","windowTitle","alert","updateTitle","$watch","alertTmr","stopAlert","enable","startAlert","clearInterval","newTitle","_AwayStatusIndicator","is_usermenu_open","userInitial","initial","charAt","toUpperCase","networkName","isConnected","clickForget","confirmed","confirm","forgetState","StateBrowserUsermenu","AliasRewriter","recursiveDepth","depth","aliases","line","spaceSep","substring","actions","vars","aliasLen","words","alias","currentAliasWord","currentAliasWordLen","processedConditionals","compiled","checkVar","num","firstWord","processInput","process","_MediaViewer","_MessageInfo","displayNick","suffix","ml","userModePrefix","inject","MessageInfo","MediaViewer","Number","_sort","_Html","_MessageParser","pluginUiSections","aboutBufferPlugins","closedSections","formattedTopic","highlights","isHighlight","html","toggleSection","section","SidebarAboutBuffer","selfuser_open","has_focus","toggleSelfUser","submitForm","maybeHidePlugins","autocomplete_items","autocomplete_filter","onAutocompleteTemp","onAutocompleteSelected","onAutocompleteCancel","inputUpdate","inputKeyDown","inputKeyUp","closeInputTool","showPlugins","onToolClickTextStyle","onToolClickEmoji","plugin","controlinput","self","active_tool","_b","active_tool_props","StartupError","_construct","_toConsumableArray2","_inherits2","_possibleConstructorReturn2","_getPrototypeOf2","_eventemitter","_json","_compareVersions","_Logger","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","NewTarget","Reflect","sham","Proxy","e","singletonInstance","pluginsToInit","nextPluginId","GlobalApi","_EventEmitter","_super","version","JSON5","controlInputPlugins","stateBrowserPlugins","channelHeaderPlugins","queryHeaderPlugins","sideBarPlugins","appSettingsPlugins","isReady","initPlugins","pluginName","initPlugin","pluginLogger","err","stack","modPath","mod","stateEmit","thisEmit","themeManager","element","extend","tab","dest","source","require","replaceObjectProps","_CommonLayout","StartupLayout","loading","statusMessage","greeting","startUp","_startUp","bncnet","cleanUpEvents","onRegistered","onClose","getBncNetwork","_ref","bncNetworks","sent","t0","addNetworkToState","monitorNetworkChanges","layout","active","net","bncname","newBuffer","addBuffer","getTime","bncNet","existingNets","rememberNetworks","saveState","bncName","debouncedSaveState","debounce","deep","networkFromBnc","currentNum","existingNet","KiwiBnc","network_extras","showNetwork","showPass","showUser","show_password_box","hash","autoConnect","networkErrorMessage","netList","compact","onClosed","extraNet","ZncLogin","_strftime","_BufferKey","_MessageListMessageCompact","_MessageListMessageModern","_MessageListMessageInline","_LoadingAnimation","BOTTOM_SCROLL_MARGIN","BufferKey","MessageListMessageModern","MessageListMessageCompact","MessageListMessageInline","LoadingAnimation","auto_scroll","force_smooth_scroll","chathistoryAvailable","hover_nick","message_info_open","timeToClose","startClosing","useExtraFormatting","shouldShowChathistoryTools","isCorrectBufferType","shouldRequestChannelKey","ourNick","days","lastDay","shouldShowJoiningLoader","checkScrollingState","maybeScrollToBottom","oldBuffer","scrollToBottom","mounted","addCopyListeners","opt","maybeScrollToId","isHoveringOverMessage","toggleMessageInfo","canShowInfoForMessage","sel","getSelection","rangeCount","range","getRangeAt","collapsed","previous","lastRead","shouldShowDateChangeMarker","getDay","showInfoForTypes","bufferSetting","formatTime","formatTimeFull","format","toLocaleString","formatMessage","toHtml","isMessageHighlight","userColour","openUserBox","onMessageDblClick","messageClickTmr","dataNick","getAttribute","userByName","onMessageClick","delay","isLink","tagName","channelName","userNick","embed","payload","ui","is_touch","nodeName","scrolledUpByPx","scrollHeight","offsetHeight","scrollTop","onListResize","messageElement","offsetTop","getSelectedMessages","messageEls","querySelectorAll","selectedMessageEls","intersectsNode","restrictTextSelection","classList","add","userSelect","unrestrictTextSelection","remove","removeSelections","removeNative","selection","removeAllRanges","LogFormatter","toLocaleTimeString","hour","minute","second","copyData","selecting","selectionChangeOff","contains","onSelectionChange","anchorNode","className","selectedMesssageEls","dataset","messageId","clipboard","writeText","createElement","appendChild","innerHTML","select","execCommand","removeChild","openEmbedInPreview","_Avatar","MessageListAvatar","clickAppSettings","keys","provided_networks","show_provided_networks","pNets","pNetTypeName","pNet","connectProvidedNetwork","sidebarState","isRestrictedServer","clickAddNetwork","noprompt","focus","InputPrompt","ipRegex","IrcdDiffs","whoisRequested","whoisLoading","availableChannelModes","availableModes","prefixes","knownPrefix","isAChannelModeAdmin","isQChannelModeOwner","supportsHalfOp","description","formattedRealname","realname","isUserOnBuffer","oldVal","changes","targets","userChannels","channels","linkifyChannels","userModeOnThisBuffer","is_narrow","onChannelsClick","updateWhoisData","whois","kickUser","createBanMask","extban","extbanAccount","ipTest","RegExp","v4","v6","test","hexTest","_match","mask","banUser","banMask","kickbanUser","UserBox","placeholder","updateValueProps","onTextInput","onPaste","onFocus","item","selected_idx","selectCurrentItem","batchedAdd","singleFn","batchedFn","numInsertsSec","inTick","numInLastSec","queueLoopTmr","loopInterval","checkSecRateTmr","queueLoop","maybeStartLoop","resetAddCounter","batchFn","typingUsers","altComponent","onAltClose","errorMessage","toggablePass","footerText","_m","_BufferSettings","_ChannelInfo","_ChannelBanlist","BufferSettings","ChannelInfo","ChannelBanlist","pluginUiChannelElements","pluginUiQueryElements","prompts","closeChannel","sidebarSection","userOnline","showPrompt","onConnectButtonClick","toggleUser","joinCurrentBuffer","closeCurrentBuffer","removeBuffer","onHeaderClick","ContainerHeader","updateBanlist","banlist","ban","banned","banned_by","banned_at","removeBan","_BouncerProvider","_IPC","hasOtherTab","addedNetworkToExisting","readyToShowOptions","hasFragment","parseFragment","findOtherTabs","listenForOtherTabs","send","addEmptyNetwork","abrupt","handleIPCMessage","timer","removeListener","addNetworkToExistingTab","con","temporary","storageKey","getNetworkFromAddress","fragment","uriCheck","decodeURIComponent","connections","parseIrcUri","persistSetting","controllerNet","bouncer","remember_buffers","includeBuffers","setSetting","Personal","_includes","_typeof2","_symbol","_setTimeout3","_setInterval3","_i18next","_i18nextXhrBackend","_vueI18next","_vueVirtualScroller","_available","_enUs","_App","_StartupError","_ConfigLoader","_ThemeManager","_InputHandler","_StatePersistence","Storage","_AudioManager","_SoundBleep","_WindowTitle","_configTemplates","logLevelMatch","href","api","kiwi","getQueryVariable","variable","query","search","pair","mixin","beforeDestroy","listeningEvents","listenOnce","_fn","onceFn","$once","timerEvents","tmr","setInterval","_setInterval","setTimeout","_setTimeout","directive","binding","rawEl","bindings","inserted","getElementsByTagName","ROSymbol","loadApp","configFile","configObj","kiwiConfig","showError","configContents","parseErr","configLoader","addValueReplacement","protocol","hostname","referrer","loadFromObj","loadFromUrl","applyConfig","initState","initInputCommands","initLocales","initThemes","loadPlugins","initSound","catch","config","dedotObject","configTemplates","applyConfigObj","obj","plugins","pluginIdx","loadNextScript","sSrc","fOnload","scr","onerror","onload","src","fetch","response","pluginRaw","scripts","limitedScr","i18n","whitelist","locales","fallbackLng","lowerCaseLng","backend","loadPath","crossDomain","withCredentials","interpolation","escapeValue","addResourceBundle","$i18n","i18next","i18nLoadedAt","lng","setDefaultLanguage","defaultLang","preferredLangs","languages","unshift","changeLanguage","lang","_initState","stateKey","persistLog","persist","state_key","loadStateIfExists","setState","themeMgr","setThemeManager","argTheme","setTheme","sound","SoundBleep","bleep","AudioManager","watchForMessages","cb","ResizeObserver","observe","unbind","unobserve","useMonospace","language","restricted","startupScreen","kiwiServer","warnOnExit","quitMessage","messageLayout","alert_on","timestamp_format","timestamp_full_format","show_timestamps","scrollback_size","show_hostnames","show_joinparts","show_topics","show_nick_changes","show_mode_changes","traffic_as_activity","coloured_nicklist","colour_nicknames_in_messages","block_pms","show_emoticons","extra_formatting","mute_sound","hide_message_counts","show_realnames","default_ban_mask","default_kick_reason","shared_input","show_message_info","who_loop","share_typing","flash_title","nicklist_avatars","show_link_previews","inline_link_auto_previews","inline_link_auto_preview_whitelist","nick_format","autoReconnect","disconnectOnSaslFail","allowRegisterProtocolHandler","noticeActiveBuffer","nicklistGroupAway","showChanlistModes","showAutocomplete","showEmojiPicker","showColorPicker","showSendButton","showAwayStatusIndicators","sidebarDefault","showRaw","hideSettings","teamHighlights","embedly","Key","emojis","emojiLocation","textFormats","user_full","channel_join","channel_part","channel_quit","channel_kicked","channel_selfkick","channel_badpassword","channel_topic","channel_banned","channel_inviteonly","channel_alreadyin","channel_limitreached","channel_invalid_name","channel_topic_setby","channel_has_been_invited","server_connecting","server_connecting_error","selfmode","nickname_alreadyinuse","network_disconnected","network_connected","whois_channels","whois_idle_and_signon","whois_away","whois_server","whois_idle","whois_notfound","nick_changed","applet_notfound","encoding_changed","encoding_invalid","settings_saved","ignore_title","ignore_none","ignore_nick","ignore_stop_notice","ignore_stopped","chanop_privs_needed","no_such_nick","unknown_command","motd","ctcp_response","ctcp_request","whois_ident","whois_error","whowas_ident","whowas_server","whowas_error","quit","rejoin","set_setting","list_aliases","ignored_pattern","wallops","message_nick","general_error","presetNetworks","irc","team","_url","_isNan","_Captcha","_ServerSelector","ServerSelector","Captcha","server_type","znc_username","znc_password","show_advanced","switch_tabs_on_connect","network_list","settingShowRaw","directWs","addr","setZncPass","isZnc","newPass","toggleTls","_default2","usePreset","networkList","showCustom","willEmit","presetServer","parseFormatted","toUri","importUris","ret","pipePos","colonPos","serverList","servers","createNickColour","toInt","hexVal","mapRange","formatAndT","formatUser","formatUserFull","formatText","formatDuration","formatNumber","channelRegex","urlRegex","_parseFloat2","murmurhash3","word","mLead","mPrefix","mChannel","mSuffix","chan","escape","lead","link","themeMngr","nickNum","x86","hash32","bucketSize","themeVar","hueOffset","abs","int","index","vMin","vMax","dMin","dMax","vValue","vRange","dRange","formatId","formatParams","localeId","localeParams","fNick","fUsername","fHost","ident","timeSeconds","seconds","weeks","hours","minutes","tmp","count","settingAlertOn","settingMuteSound","settingHideMessageCount","_Object$defineProperty2","_defineProperty2","_defineProperties","_getOwnPropertyDescriptors","_getOwnPropertyDescriptor","_getOwnPropertySymbols","_defineProperty3","_TypingMiddleware","_ChathistoryMiddleware","ServerConnection","ownKeys","enumerableOnly","symbols","sym","_objectSpread","_context26","_context27","Client","message_max_length","clientMiddleware","originalIrcClientConnect","auto_reconnect","configOptions","transport","createChannelConstructor","originalIrcClientRaw","Message","rawString","ircLineParser","handled","getOrAddBufferByName","from_server","typingStatus","status","isRegistered","parsedEventsHandler","rawEventsHandler","last_error_numeric","clearUsers","param","end","ircEventObj","eventTime","timeToLocal","serverTime","from","redirect_to","to","addUser","numConnects","targetNick","_buffer","containsNick","isChannelMessage","isChannelName","channelBuffer","_buffer2","clearMessageRange","isPrivateMessage","existingBuffer","activeBuffer","hasActiveBuffer","PM_BLOCK_BLOCKED","PM_BLOCK_REQUIRES_CHECK","pmBlock","isNickExemptFromPmBlocks","blockNewPms","_buffer3","textFormatType","messageBody","_message","awaitingWhois","pendingPms","whoisData","pm","_buffer4","_messageBody","rename","_buffer5","addUserToBuffer","_messageBody2","type_extra","_buffer6","removeUserFromBuffer","kicked","_messageBody3","chanop","_buffer7","remainingBuffers","removeUser","_nick","_messageBody4","_buffer8","_context11","real_name","prop","_buffer9","_buffer10","usersTransaction","_context12","eventUser","_context13","channel_modes","channel_list_cache","_context14","filteredEvent","_buffer11","_messageBody5","registered","_context15","newNick","rand","_messageBody6","newnick","changeNick","_buffer12","new_nick","changeUserNick","_messageBody7","_buffers","_context16","_context17","_buffer13","hadExistingUsers","addMultipleUsersToBuffer","correctBuffer","_buffer14","_context18","modeStrs","adding","modeChar","tFormat","timeCreated","_buffer15","_modeStrs","_context19","modeIdx","_adding","modeLocaleIds","modeLocaleDataBuilders","builders","localeDataFn","localeData","localeKey","_context20","modeslines","_context21","_context22","_serverBuffer","_buffer16","bans","banText","_context23","_context24","dateStr","_context25","_buffer17","_messageBody8","_buffer18","textFormatId","_messageBody9","ctcpResponse","_messageBody10","_buffer19","_buffer20","_messageBody11","ignore","server_info","$$selectedVal","filter","selected","map","_value","multiple","res","autocompleteCommands","_stringify","StatePersistence","storage","isPersisting","watcher","_loadStateIfExists","storedState","importState","exportState","watchVals","buffersVals","_forgetState","resetState","recaptchaUrl","recaptchaSiteId","recaptchaResponse","showCaptcha","loadRecaptcha","recaptchaLoaded","grecaptcha","captchacontainer","sitekey","recaptchaSuccess","recaptchaExpired","defer","filter_visible","shouldShowAvatars","toggleUserFilter","sortedUsers","onFilterBlur","user_filter","list","isLoading","maybeUpdateList","prevPage","page","maxPages","nextPage","noResults","last_updated","num_users","joinChannel","formatAndTrimTopic","_localesList","_SettingsAliases","_SettingsAdvanced","bindSetting","settingName","SettingsAliases","SettingsAdvanced","customThemeUrl","localesList","themeSupportsMonospace","canRegisterProtocolHandler","registerProtocolHandler","timestamps_24h","newFormat","settingShowAutoComplete","settingUseMonospace","settingHighlights","settingBufferColourNicknames","settingBufferShowTimestamps","settingBufferShowEmoticons","settingBufferBlockPms","settingBufferScrollbackSize","settingBufferExtraFormatting","settingBufferTrafficAsActivity","settingBufferMuteSound","settingBufferShareTyping","settingBufferInlineLinkPreviews","settingDefaultBanMask","settingDefaultKickReason","settingAdvancedEnable","show_advanced_tab","settingLanguage","messageLayouts","traditional","modern","inline","settingMessageLayout","invert","listenForThemeSettings","closeSettings","refreshTheme","watches","updateFn","watchTheme","watchCustomThemeUrl","setCustomThemeUrl","teardownFn","unwatchFn","enableAdvancedTab","makeDefaultProtocolHandler","origin","pathname","AppSettings","supportedCached","localStorage","getItem","setItem","storageAvailable","x","removeItem","DOMException","code","logo","Y","fontSize","font","animationFrame","destroying","getContext","tmpText","width","height","draw","cancelAnimationFrame","clearRect","globalCompositeOperation","drawImage","fillStyle","fillText","globalAlpha","requestAnimationFrame","ircdType","notSupported","notAdmin","notOwner","flipConnotation","InputConfirm","_xhr","ConfigLoader","valReplacements","configUrl","errMsg","m1","m2","setConfig","confObj","walkObject","_val","insertReplacements","out","items_","filteredItems","filterVal","items","localeCompare","filteredAndLimitedItems","itemIdx","numItems","idxFrom","idxTo","isInRange","selectedItem","getBoundingClientRect","tempCurrentItem","handleOnKeyDown","cancelKeyCodes","shiftKey","altKey","AutoComplete","_lastIndexOf","showChannel","showNick","connectWithoutChannel","captchaReady","footer","ready","bufferObjs","extractBuffers","bufferObj","nickPatternStr","nickPattern","pattern","escapeRegExp","connectOptions","previousNet","queryStringVal","processNickRandomNumber","showPassword","toggablePassword","allowNoChannel","direct_path","netAddress","clearMessages","hasSwitchedActiveBuffer","handleCaptcha","connectionInfoFromConfig","Welcome","znc_network_support","show_type_switcher","is_connecting","saveThisSessionsState","applyDefaults","hasSetActiveBuffer","infoClick","CustomServer","_reverse","sidebarOpen","page_size","listState","filteredList","found","sortBy","paginated","offset","canGoForward","canGoBackward","rawTopic","showModes","_values","_TypingStatusIndicator","TypingStatusIndicator","getActiveNetwork","myNick","TypingUsersList","isOpen","activeComponent","settingShowJoinParts","settingShowTopics","settingShowNickChanges","settingShowModeChanges","settingExtraFormatting","settingColouredNicklist","settingShareTyping","accessTab","sidebarUser","error_message","self_user_settings_open","modeString","netUser","awayStatus","openSelfActions","closeSelfUser","onNewNickSubmit","userNameCancel","networkSupportsAway","checkUserAway","getUserFromString","SelfUser","extractURL","stripStyles","mentionsNick","matchUri","parseIntZero","_TextFormatting","strftimeUTC","timezone","spaceIdx","bufferNames","punc","escapedNick","stylesStrippedInput","_name","regex","results","errs","err_unknown_host","err_forbidden","err_timeout","err_refused","err_tls","err_proxy","wsUri","websocket","uri","reg","connectionString","_channelName","hasPrefix","_place","place","ourPlace","date","_eventEmitter","NetworkProvider","providers","provider","availableNetworks","pType","_assertThisInitialized2","IpcBroadcastChannel","bc","BroadcastChannel","onmessage","postMessage","IpcLocalStorage","_EventEmitter2","_super2","parsedMsg","JSON","IPC","channel_filter","channel_filter_display","channel_add_display","channel_add_input_has_focus","channel_add_input","isActiveNetwork","totalNetworkCount","serverUnread","totalUnread","serverHighlight","highlight","filteredBuffers","filtered","orderBuffers","onNewChannelInputFocus","onNewChannelInputBlur","submitNewChannelForm","newChannelVal","chanName","ignoreNames","onChannelFilterInputBlur","closeFilterChannel","awayNotifySupported","showMessageCounts","isActiveBuffer","active_network","active_buffer","showNetworkChannels","onSearchChannelClick","toggleFilterChannel","toggleAddChannel","StateBrowserNetwork","promptedReason","defaultReason","isDrawn","unreadMessages","header","prefixID","$children","setActiveCheck","getActive","foundChild","child","TabbedView","onColourClick","rgbObj","ircinput","setColour","onResetClick","resetStyles","inputtools","TextStyle","getNextBuffer","getPreviousBuffer","_findIndex","order","instance_num","showJoinParts","showTopics","showNickChanges","showModeChanges","getBufferFromDirection","ordered","getNetworkFromDirection","inviteListSorter","aMask","invited","bMask","inviteList","is_refreshing","supportsAccounts","inviteListAccounts","accounts","inviteListNonAccounts","invites","channelIsInviteOnly","anyRegisteredUserCanJoin","invite","knownAccounts","inviteAccountNames","accountUsers","orderBy","updateInvitelist","displayMask","inviteEvent","removeInvite","addAccountInvite","accountName","addInvite","setInviteOnly","removeInviteOnly","renderEmoticons","showEmoticons","retHtml","classes","linkifyUrl","addHandle","handleClass","linkifyUser","linkifyChannel","addEmoji","buildSpan","nice","cssClass","handleContent","escaped","isSingle","emoji","renderers","Html","buildTree","ignoreKeys","base","modified","ourBase","settingTools","forceLoader","netStatus","maybeForceLoader","minimumLoaderViewtime","NotConnected","filterString","filteredSettings","getSetting","resetValue","settingKey","updateSetting","about","when","Intl","DateTimeFormat","showNicklist","scrollToMessage","chathistoryMiddleware","batchCallbacks","history","messageReference","callbacks","cbs","targetCallbacks","dateOrTime","after","around","between","fromDateOrTime","toDateOrTime","fromRef","toRef","ChathistoryMiddleware","embedlyTagIncluded","embedlyKey","updateEmbed","isIframe","checkEmbedlyAndShowCard","embedlyLink","head","script","_NicklistUser","intlCollator","strCompare","compare","global","Collator","numeric","NicklistUser","userbox_user","prefixOrders","nickMap","bufferUsers","nickFilter","lowercaseNick","bufferId","bufferA","bufferB","_msg","modesA","modesB","aP","bP","useColouredNicks","openUserbox","Nicklist","UserState","typingState","_target","typing","started","timeout","delete","timeoutLen","nicklist","injections","_slicedToArray2","_BouncerMiddleware","BouncerProvider","controllerNetwork","rewriteConnections","networksSnapshot","monitoringChanges","onNetworkState","onBouncerNetworks","_bncNetwork$connectio","bncNetwork","_this$parseBncCredent","parseBncCredentials","_this$parseBncCredent2","listenToState","_onNetworkMotd","_this$parseBncCredent3","_this$parseBncCredent4","netid","syncBncNetwork","initAndAddNetworks","_x","_x2","isController","getController","effectedNetwork","getNetworkFromBncNetId","_initAndAddNetworks","_x3","isNetworkInBncList","_syncBncNetwork","_callee3","clientBuffer","existingBuffers","bncBuffer","_x4","_addNetworkToState","_callee4","_x5","server_password","controller","snapshot","networkInfo","snapshotCurrentNetworks","_this5","netname","bncNetworkPassword","_bncNetworkPassword$s","_bncNetworkPassword$s2","app_width","hasNick","showBufferSettings","showAbout","toggleNicklist","toggleBufferSettings","toggleAbout","SidebarState","_defineProperty","nextId","writable","extractMessageId","bodyTemplate","messageList","hasRendered","userList","maybeAutoEmbed","showLinkPreviews","whitelistRegex","componentProps","isRepeat","isMessage","displayAvatar","MessageAvatar","showRealName","banEvent","unban","canSet","definition","audio","canPlayType","play","show_help","aliasText","_MessageListAvatar","prevMessage","types","generateComputedMode","modeVal","setMode","generateComputedModeWithParam","newTopic","setTopic","prevTopics","updateBanList","unpin","_ContainerHeader","_Sidebar","_NotConnected","_ServerView","Sidebar","bufferType","ev","scrollDistance","clientHeight","scrollMax","toggleSidebar","Container","_autocompleteCommands","_AutoComplete","_TextStyle","_Emoji","_SelfUser","_TypingUsersList","autocomplete_open","autocomplete_filtering","current_input_value","activeNetwork","shouldShowSendButton","shouldShowEmojiPicker","shouldShowColorPicker","shouldShowInputButtons","history_pos","setValue","inputRestore","typingTimer","lastTypingTime","ctrlKey","metaKey","arrowKeyCodes","elements","doNotRefocus","insertText","toolComponent","toggleInputTool","currentInput","reset","selectionToEnd","tool","toggleBold","toggleItalic","toggleUnderline","selectedValue","setCurrentWord","autocomplete","currentWord","getCurrentWord","emojiList","addImg","historyBack","historyForward","_currentWord","currentToken","position","inputText","getRawText","buildAutoCompleteItems","openAutoComplete","inputVal","startTyping","stopTyping","rawInput","getValue","ircText","buildIrcText","bufferList","commandList","desc","settingList","shouldShareTyping","start","sendStopPause","pause","ControlInput","_NetworkProvider","_StateBrowserNetwork","_StateBrowserUsermenu","_AppSettings","netProv","isPersistingState","networksToShow","hideStatebrowser","StateBrowser","blur","htmlparser","last_known_value","text_value","current_el","current_el_pos","default_colour","code_map","editor","clipboardData","ignoreThisPaste","clpData","ig","getData","clpText","deleteContents","insertNode","createTextNode","anchorOffset","maybeEmitInput","lastChild","currentHtml","textValue","toggles","addToggle","getToggles","parser","Parser","onopentag","attribs","codeLookup","mappedCode","_mappedCode","ontext","onclosetag","pop","decodeEntities","write","rawHtml","br","existingImages","newImg","images","img","prevElCnt","previousSibling","keepPosition","textContent","startVal","space","startPos","endVal","createRange","setStart","setEnd","addRange","innerText","IrcInput","lastPlayed","shouldBleep","inFocus","app_has_focus","available","ascii","Emoji","_trimEnd","_AliasRewriter","inputCommands","InputHandler","aliasRewriter","importFromString","listenForInput","context","TypeError","defaultContext","lines","processLine","validateContext","stylesStrippedLine","escapedCommand","aliasVars","destination","handleMessage","localBuffer","extractedTarget","extractTargetGroup","subLine","dice","sides","rndNumber","number","ctcp","_network$ircClient","ctcpRequest","lineParts","kick","toKick","kickReason","toIgnore","unignore","toUnignore","back","_this6","formats","registered_nick","secure","idle","logon","actual_ip","actual_hostname","idleSeconds","logonTime","logonDate","whowas","_this7","whowasData","names","addReadBuffer","clear","echo","spacePos","serverAddr","serverPort","serverTls","serverPassword","beep","_trimInstanceProperty","parseMessage","_MessageFormatter","formatOpts","formatedBlocks","acc","processBlock","wordMatch","wordsRegex","specialMatches","matchChannel","matchUrl","matchUser","matchEmoji","mergeMatches","channelMatch","urlMatch","punctuation","urlText","matchText","hasProp","nickIdx","trimWord","normWord","resultBlocks","lastProcessedIndex","specialMatch","beforeMatchContent","MessageParser","addInviteList","addInviteText","invited_by","invited_at","_SidebarState","_UserBox","_SidebarAboutBuffer","_ChannelInvitelist","_Nicklist","ChannelInvitelist","typingMiddleware","activeTyping","lastSentStatus","TypingMiddleware","stateBrowserDrawOpen","emitDocumentClick","emitBufferPaste","themeUrl","hasStarted","startupComponent","mediaviewerUrl","mediaviewerComponent","mediaviewerComponentProps","mediaviewerIframe","activeComponentProps","fallbackComponentProps","_NetworkState","_BufferState","_UserState","_Message","createNewState","stateObj","user_settings","sessionId","last_active_buffers","app_height","favicon_counter","availableStartups","toExport","networkObj","cloneDeep","stateStr","importObj","importNetwork","impBuffer","$data","userSetting","propName","nextVal","netAddr","serverInfo","networkidReduce","currentMax","channelId","services","findNewNetwork","openLastActiveBuffer","lastActive","targetNetwork","targetBuffer","_network","updateBufferLastRead","toMatch","bufferIdx","messageIdx","bufferMessage","includeAsActivity","typesForActivty","isNewMessage","extraHighlights","patterns","everyone","here","incrementFlag","notifyTitle","notifyMessage","parent","usersArr_","usersArr","newUsers","bufUsers","newUser","normalisedNick","bufferNameLower","oldNick","normalisedNew","normalisedOld","recreate","$destroy","_watchers","_cssVarsPonyfill","_tinycon","_Welcome","_ZncLogin","_CustomServer","_KiwiBnc","_Personal","_StateBrowser","_Container","_ControlInput","mediaviewerOpen","State","listenForActiveComponents","watchForThemes","initStateBrowser","initMediaviewer","configureFavicon","onKeyDown","onBlur","onTouchStart","startupScreens","welcome","customServer","kiwiBnc","znc","personal","extraStartupScreens","startupName","startup","trackWindowDimensions","warnOnPageClose","requestNotificationPermission","iframe","setOptions","fallback","setBubble","_this8","trackWindowDims","clientWidth","_this9","onbeforeunload","onunload","HTMLInputElement","HTMLSelectElement","HTMLTextAreaElement","App","_sockjsClient","serverConnections","createdChannels","controlChannel","_addr","_socketChannel","createNewConnection","socketChannel","nextChannelId","createChannelOnConnection","wsAddr","ws","onopen","connectStr","onclose","initChannel","ConnectionChannel","sendControlBuffer","remoteState","sendControl","setEncoding","writeLine","ssl","newEncoding","disposeSocket"],"mappings":"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","file":"static/js/app.a6afa5ad.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"vendor\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoComplete.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoComplete.vue?vue&type=style&index=0&lang=css&\"","import { render, staticRenderFns } from \"./StartupError.vue?vue&type=template&id=3613e78a&\"\nimport script from \"./StartupError.vue?vue&type=script&lang=js&\"\nexport * from \"./StartupError.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StartupError.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.requestPermission = requestPermission;\nexports.show = show;\nexports.listenForNewMessages = listenForNewMessages;\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/assign\"));\n\nvar _bind = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/bind\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar isEnabled = false;\n\nfunction requestPermission(state) {\n // Do we support notifications?\n if (!('Notification' in window)) {\n isEnabled = false;\n return;\n } // Permissions already been granted?\n\n\n if (Notification.permission === 'granted') {\n state.$emit('notification.enabled');\n isEnabled = true;\n return;\n }\n\n if (Notification.permission !== 'denied') {\n Notification.requestPermission(function (permission) {\n if (permission === 'granted') {\n state.$emit('notification.enabled');\n isEnabled = true;\n } else {\n isEnabled = false;\n }\n });\n }\n}\n\nfunction show(title, body, opts) {\n if (!isEnabled) {\n return false;\n }\n\n var notify = new Notification(title, {\n body: body,\n icon: opts.icon\n });\n\n if (opts.ttl) {\n var _context;\n\n (0, _setTimeout2.default)((0, _bind.default)(_context = notify.close).call(_context, notify), opts.ttl);\n }\n\n return notify;\n}\n\nvar throttledShow = _lodash.default.throttle(show, 2000);\n\nfunction listenForNewMessages(state) {\n state.$on('notification.show', function (message, _opts) {\n if (!isEnabled) {\n return;\n }\n\n var opts = (0, _assign.default)({\n title: 'Kiwi IRC',\n message: message,\n icon: '',\n onclick: null,\n ttl: 10000\n }, _opts);\n\n if (!opts.message) {\n return;\n }\n\n var notification = throttledShow(opts.title, opts.message, {\n ttl: opts.ttl\n });\n\n if (notification && typeof opts.onclick === 'function') {\n notification.onclick = opts.onclick;\n }\n });\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"Notifications\"]\r\nwindow._kiwi_exports.libs.Notifications = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./MessageListMessageCompact.vue?vue&type=template&id=44d09d1c&scoped=true&functional=true&\"\nimport script from \"./MessageListMessageCompact.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageListMessageCompact.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MessageListMessageCompact.vue?vue&type=style&index=0&id=44d09d1c&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n \"44d09d1c\",\n null\n \n)\n\nexport default component.exports","// From the Element.closest mdn page.\nif (!Element.prototype.matches) {\n Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n}\n\nif (!Element.prototype.closest) {\n Element.prototype.closest = function closest(s) {\n var el = this;\n\n do {\n if (el.matches(s)) {\n return el;\n }\n\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n\n return null;\n };\n}","\"use strict\";\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar defaultLogger = makeLogger();\nvar _default = defaultLogger;\nexports.default = _default;\n\nfunction makeLogger(label, rootLogger) {\n function logger() {\n logger.info.apply(logger, arguments);\n }\n\n logger.LEVEL_DEBUG = 2;\n logger.LEVEL_INFO = 1;\n logger.LEVEL_ERROR = 0;\n logger.level = logger.LEVEL_ERROR;\n\n function logLevel(compareLevel) {\n var l = rootLogger || logger;\n return l.level >= compareLevel;\n }\n\n logger.debug = function logDebug() {\n if (logLevel(logger.LEVEL_DEBUG)) {\n var _window$console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (label) {\n var _context;\n\n args[0] = (0, _concat.default)(_context = \"[\".concat(label, \"] DEBUG \")).call(_context, args[0]);\n }\n\n (_window$console = window.console).log.apply(_window$console, args);\n }\n };\n\n logger.info = function logInfo() {\n if (logLevel(logger.LEVEL_INFO)) {\n var _window$console2;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (label) {\n var _context2;\n\n args[0] = (0, _concat.default)(_context2 = \"[\".concat(label, \"] INFO \")).call(_context2, args[0]);\n }\n\n (_window$console2 = window.console).log.apply(_window$console2, args);\n }\n };\n\n logger.error = function logError() {\n if (logLevel(logger.LEVEL_ERROR)) {\n var _window$console3;\n\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n if (label) {\n var _context3;\n\n args[0] = (0, _concat.default)(_context3 = \"[\".concat(label, \"] ERROR \")).call(_context3, args[0]);\n }\n\n (_window$console3 = window.console).error.apply(_window$console3, args);\n }\n };\n\n logger.assert = function assert(condition) {\n var _context4;\n\n if (condition) {\n return;\n }\n\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n this.error.apply(this, (0, _concat.default)(_context4 = ['Assertion failed.']).call(_context4, args));\n };\n\n logger.setLevel = function setLevel(newLevel) {\n logger.level = newLevel;\n };\n\n logger.namespace = function namespace(newLabel) {\n var l = newLabel;\n\n if (label) {\n var _context5;\n\n l = (0, _concat.default)(_context5 = \"[\".concat(label, \"][\")).call(_context5, l, \"]\");\n }\n\n return makeLogger(l, logger);\n };\n\n return logger;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"Logger\"]\r\nwindow._kiwi_exports.libs.Logger = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TabbedView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TabbedView.vue?vue&type=script&lang=js&\"","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _setImmediate2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-immediate\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _common = require(\"./common\");\n\nvar IrcClient = _interopRequireWildcard(require(\"../IrcClient\"));\n\n/** @module */\n\n/** The IRC network instance */\nvar NetworkState = /*#__PURE__*/function () {\n function NetworkState(id, appState, userDict, bufferDict) {\n var _this = this;\n\n (0, _classCallCheck2.default)(this, NetworkState);\n // Enumerable properties that become reactive under Vue\n this.id = id;\n this.name = '';\n this.editable_name = false; // State of the transport\n\n this.state = 'disconnected';\n this.state_error = ''; // Last error from the IRC server. Resets on reconnect\n\n this.last_error = '';\n this.auto_commands = '';\n this.is_znc = false;\n this.is_bnc = false;\n this.hidden = false;\n this.channel_list = [];\n this.channel_list_state = ''; // The IRCd type as mentioned in the 002 numeric\n\n this.ircd = '';\n this.connection = {\n server: '',\n port: 6667,\n tls: false,\n path: '',\n // Server password\n password: '',\n direct: false,\n encoding: 'utf8',\n bncnetid: '',\n nick: ''\n };\n this.settings = {\n show_raw_caps: false\n };\n this.nick = '';\n this.username = '';\n this.gecos = ''; // SASL password\n\n this.password = '';\n this.away = '';\n\n _vue.default.observable(this); // Some non-enumerable properties (vues $watch won't cover these properties)\n\n\n (0, _common.def)(this, 'appState', appState, false);\n (0, _common.def)(this, 'userDict', userDict, false);\n (0, _common.def)(this, 'bufferDict', bufferDict, false);\n (0, _common.def)(this, 'frameworkClient', null, true);\n (0, _common.def)(this, 'users', (0, _create.default)(null), function (newVal) {\n appState.$set(userDict.networks, _this.id, newVal);\n }); // Pending prviate messages awaiting whois operator check\n\n (0, _common.def)(this, 'pendingPms', [], false);\n bufferDict.$set(bufferDict.networks, this.id, []);\n }\n\n (0, _createClass2.default)(NetworkState, [{\n key: \"connect\",\n value: function connect() {\n var _this$ircClient;\n\n (_this$ircClient = this.ircClient).connect.apply(_this$ircClient, arguments);\n }\n }, {\n key: \"bufferByName\",\n value: function bufferByName(name) {\n return this.appState.getBufferByName(this.id, name);\n }\n }, {\n key: \"serverBuffer\",\n value: function serverBuffer() {\n return this.appState.getBufferByName(this.id, '*');\n }\n }, {\n key: \"setting\",\n value: function setting(name, val) {\n if (typeof val !== 'undefined') {\n this.appState.$set(this.settings, name, val);\n return val;\n }\n\n return this.settings[name];\n }\n }, {\n key: \"isChannelName\",\n value: function isChannelName(input) {\n if (typeof input !== 'string' || !input) {\n return false;\n }\n\n var chanPrefixes = this.ircClient.network.supports('CHANTYPES') || '#&';\n return (0, _indexOf.default)(chanPrefixes).call(chanPrefixes, input[0]) > -1;\n }\n }, {\n key: \"showServerBuffer\",\n value: function showServerBuffer(tabName) {\n var _this2 = this;\n\n this.appState.$emit('active.component', null);\n this.appState.setActiveBuffer(this.id, this.serverBuffer().name); // Hacky, but the server buffer component listens for events to switch\n // between tabs\n\n (0, _setImmediate2.default)(function () {\n _this2.appState.$emit('server.tab.show', tabName || 'settings');\n });\n }\n /**\n * Check if a nick is exempt from block PM's\n * @param {String} nick of the user to check\n * @returns {Boolean} If the boolean is null a whois check is required\n */\n\n }, {\n key: \"isNickExemptFromPmBlocks\",\n value: function isNickExemptFromPmBlocks(nick) {\n // Check if nick is op of shared channel\n var buffers = this.appState.getBuffersWithUser(this.id, nick);\n\n for (var i = 0; i < buffers.length; i++) {\n var buffer = buffers[i];\n\n if (buffer.isUserAnOp(nick)) {\n return true;\n }\n }\n\n var user = this.appState.getUser((0, _indexOf.default)(this), nick);\n\n if (!user || !user.hasWhois) {\n // if we have not seen or whois the user they might be a network oper\n // so return null then a whois can be performed\n return null;\n }\n\n if (user.operator) {\n return true;\n }\n\n return false;\n }\n }, {\n key: \"currentUser\",\n value: function currentUser() {\n return this.appState.getUser(this.id, this.nick);\n }\n }, {\n key: \"userByName\",\n value: function userByName(nick) {\n return this.appState.getUser(this.id, nick);\n }\n }, {\n key: \"ircClient\",\n get: function get() {\n if (!this.frameworkClient) {\n this.frameworkClient = IrcClient.create(this.appState, this);\n }\n\n return this.frameworkClient;\n }\n }, {\n key: \"buffers\",\n get: function get() {\n return this.bufferDict.networks[this.id];\n }\n }]);\n return NetworkState;\n}();\n\nexports.default = NetworkState;","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomServer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomServer.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar methods = {\n props: {},\n avatar: function avatar(props) {\n // let props = this.props;\n return props.message && props.message.avatar || props.user && props.user.avatar;\n },\n firstNickLetter: function firstNickLetter(props) {\n // let props = this.props;\n return (props.message && props.message.nick || props.user && props.user.nick || '')[0];\n },\n hasAvatar: function hasAvatar(props) {\n // let props = this.props;\n return !!(props.user.avatar && (props.user.avatar.small || props.user.avatar.large));\n },\n avatarStyle: function avatarStyle(props) {\n // let props = this.props;\n var style = {};\n\n if (this.hasAvatar(props)) {\n var url = props.size === 'small' && this.avatar(props).small ? this.avatar(props).small : this.avatar(props).large;\n style['background-image'] = \"url(\\\"\".concat(url, \"\\\")\");\n } else {\n style['background-color'] = \"\".concat(this.colour(props));\n }\n\n return style;\n },\n colour: function colour(props) {\n // let props = this.props;\n var user = props.message && props.message.user || props.user;\n return user.getColour();\n }\n};\nvar _default = {\n props: {\n message: Object,\n user: Object,\n size: String\n },\n m: methods\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"Avatar\"]\r\nwindow._kiwi_exports.components.Avatar = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputConfirm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputConfirm.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('startup-layout',{ref:\"layout\",staticClass:\"kiwi-welcome-znc\",scopedSlots:_vm._u([(!_vm.network || _vm.network.state === 'disconnected')?{key:\"connection\",fn:function(){return [_c('form',{staticClass:\"u-form u-form--big kiwi-welcome-znc-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.formSubmit($event)}}},[_c('h2',{domProps:{\"innerHTML\":_vm._s(_vm.greetingText)}}),(_vm.network && (_vm.network.last_error || _vm.network.state_error))?_c('div',{staticClass:\"kiwi-welcome-znc-error\"},[_vm._v(\" We couldn't connect to the server :( \"),_c('span',[_vm._v(\" \"+_vm._s(_vm.network.last_error || _vm.readableStateError(_vm.network.state_error))+\" \")])]):_vm._e(),(_vm.showUser)?_c('input-text',{staticClass:\"kiwi-welcome-znc-nick\",attrs:{\"label\":_vm.$t('username')},model:{value:(_vm.username),callback:function ($$v) {_vm.username=$$v},expression:\"username\"}}):_vm._e(),(_vm.showPass)?_c('input-text',{staticClass:\"kiwi-welcome-znc-password\",attrs:{\"label\":_vm.$t('password'),\"type\":\"password\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}):_vm._e(),(_vm.showNetwork)?_c('input-text',{staticClass:\"kiwi-welcome-znc-channel\",attrs:{\"label\":_vm.$t('network')},model:{value:(_vm.znc_network),callback:function ($$v) {_vm.znc_network=$$v},expression:\"znc_network\"}}):_vm._e(),_c('button',{staticClass:\"u-button u-button-primary u-submit kiwi-welcome-znc-start\",attrs:{\"disabled\":!_vm.readyToStart,\"type\":\"submit\"},domProps:{\"innerHTML\":_vm._s(_vm.buttonText)}})],1)]},proxy:true}:(_vm.network.state !== 'connected')?{key:\"connection\",fn:function(){return [_c('i',{staticClass:\"fa fa-spin fa-spinner\",staticStyle:{\"font-size\":\"2em\",\"margin-top\":\"1em\"}})]},proxy:true}:null],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IrcInput.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IrcInput.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{key:'messagelist-' + _vm.buffer.name,staticClass:\"kiwi-messagelist\",class:{'kiwi-messagelist--smoothscroll': _vm.smooth_scroll},on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.onListClick($event)}}},[_c('div',{directives:[{name:\"resizeobserver\",rawName:\"v-resizeobserver\",value:(_vm.onListResize),expression:\"onListResize\"}]},[(_vm.shouldShowChathistoryTools)?_c('div',{staticClass:\"kiwi-messagelist-scrollback\"},[(!_vm.buffer.flag('is_requesting_chathistory'))?_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){return _vm.buffer.requestScrollback()}}},[_vm._v(\" \"+_vm._s(_vm.$t('messages_load'))+\" \")]):_c('a',{staticClass:\"u-link\"},[_vm._v(\"...\")])]):_vm._e(),_vm._l((_vm.filteredMessagesGroupedDay),function(day){return _c('div',{key:day.dayNum},[(_vm.filteredMessagesGroupedDay.length > 1 && day.messages.length > 0)?_c('div',{key:'msgdatemarker' + day.dayNum,staticClass:\"kiwi-messagelist-seperator\"},[_c('span',[_vm._v(_vm._s((new Date(day.messages[0].time)).toDateString()))])]):_vm._e(),_vm._l((day.messages),function(message){return [(_vm.shouldShowUnreadMarker(message))?_c('div',{key:'msgunreadmarker' + message.id,staticClass:\"kiwi-messagelist-seperator\"},[_c('span',[_vm._v(_vm._s(_vm.$t('unread_messages')))])]):_vm._e(),_c('div',{key:'msg' + message.id,class:[\n 'kiwi-messagelist-item',\n _vm.selectedMessages[message.id] ?\n 'kiwi-messagelist-item--selected' :\n ''\n ]},[(message.render() && message.template && message.template.$el)?_c('div',{directives:[{name:\"rawElement\",rawName:\"v-rawElement\",value:(message.template.$el),expression:\"message.template.$el\"}]}):(_vm.listType === 'modern')?_c('message-list-message-modern',{attrs:{\"message\":message,\"idx\":_vm.filteredMessages.indexOf(message),\"ml\":_vm.thisMl}}):(_vm.listType === 'inline')?_c('message-list-message-inline',{attrs:{\"message\":message,\"idx\":_vm.filteredMessages.indexOf(message),\"ml\":_vm.thisMl}}):(_vm.listType === 'compact')?_c('message-list-message-compact',{attrs:{\"message\":message,\"idx\":_vm.filteredMessages.indexOf(message),\"ml\":_vm.thisMl}}):_vm._e()],1)]})],2)}),_c('transition',{attrs:{\"name\":\"kiwi-messagelist-joinloadertrans\"}},[(_vm.shouldShowJoiningLoader)?_c('div',{staticClass:\"kiwi-messagelist-joinloader\"},[_c('LoadingAnimation')],1):_vm._e()]),(_vm.shouldRequestChannelKey)?_c('buffer-key',{attrs:{\"buffer\":_vm.buffer,\"network\":_vm.buffer.getNetwork()}}):_vm._e()],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./kiwiirccom.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./kiwiirccom.vue?vue&type=script&lang=js&\"","\"use strict\";\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = parse;\nexports.createNewBlock = createNewBlock;\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/assign\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar tokens = (0, _create.default)(null);\n/**\n * Token functions may return:\n * null - move forward in the input by the length of the token\n * -1 - do not treat this character as a token and continue as normal content\n * 0+ - move to this point in the input\n */\n\n/* eslint-disable dot-notation */\n\ntokens['_'] = {\n token: '_',\n extra: true,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n var _context;\n\n if (openToks[this.token]) {\n delete block.styles.underline;\n openToks[this.token] = null;\n prevBlock.content += this.token;\n return null;\n } // If this style is alrady open by something else, ignore it\n\n\n if (block.styles.underline === true) {\n return -1;\n } // Underscores may be part of a word or URL so consider it an opening\n\n\n if (pos > 0 && inp[pos - 1] !== ' ') {\n return -1;\n } // token if it's on it's own\n // Only underline if we have a closing _ further on\n\n\n if ((0, _indexOf.default)(_context = inp.substr(pos + 1)).call(_context, this.token) === -1) {\n return -1;\n }\n\n openToks[this.token] = true;\n block.styles.underline = true;\n block.content += this.token;\n return null;\n }\n};\ntokens['*'] = {\n token: '*',\n extra: true,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n if (openToks[this.token]) {\n delete block.styles.bold;\n openToks[this.token] = null;\n prevBlock.content += this.token;\n return null;\n } // If this style is alrady open by something else, ignore it\n\n\n if (block.styles.bold === true) {\n return -1;\n } // Ignore is after a : character. :* is usually a kiss emoji\n\n\n if (inp[pos - 1] === ':') {\n return -1;\n } // * may be part of a word (ie. pasting code) or URL so only start bolding if * is after a\n // space\n\n\n if (pos > 0 && inp[pos - 1] !== ' ') {\n return -1;\n } // Only style if:\n // * we have a closing * further on\n // * the * further on has a space after it or is the last character\n\n\n var remainingText = inp.substr(pos + 1);\n var nextPos = (0, _indexOf.default)(remainingText).call(remainingText, this.token);\n\n if (nextPos === -1 || nextPos < remainingText.length - 1 && remainingText[nextPos + 1] !== ' ') {\n return -1;\n }\n\n openToks[this.token] = true;\n block.styles.bold = true;\n block.content += this.token;\n return null;\n }\n};\ntokens['**'] = {\n token: '**',\n extra: true,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n var _context2;\n\n if (openToks[this.token]) {\n delete block.styles.italic;\n openToks[this.token] = null;\n prevBlock.content += this.token;\n return null;\n } // If this style is alrady open by something else, ignore it\n\n\n if (block.styles.italic === true) {\n return -1;\n } // Only style if we have a closing ** further on\n\n\n if ((0, _indexOf.default)(_context2 = inp.substr(pos + 1)).call(_context2, this.token) === -1) {\n return -1;\n }\n\n openToks[this.token] = true;\n block.styles.italic = true;\n block.content += this.token;\n return null;\n }\n};\ntokens['`'] = {\n token: '`',\n extra: true,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n if (openToks[this.token]) {\n delete block.styles.quote;\n openToks[this.token] = null;\n prevBlock.content += this.token;\n return null;\n } // Backticks may be part of a word or NICK so only consider it a codeblock if\n // it's at the start of a scentence or comes after a space\n\n\n if (pos > 0 && inp[pos - 1] !== ' ') {\n return -1;\n } // Find the closing backtick\n\n\n var str = inp.substr(pos + 1);\n var endPos = (0, _indexOf.default)(str).call(str, this.token); // If we don't have a closing backtick further on, don't take this as an opening backtick\n\n if (endPos === -1) {\n return -1;\n } // Only consider the found closing backtick as closing if it comes before a space or is at\n // the end of the text. If it's in the middle of text then it's highly lickely part of that\n // text and not actually closing. eg. `hello and wel`come\n\n\n if (str[endPos + 1] && str[endPos + 1] !== ' ') {\n return -1;\n } // No styling should appear in this codeblock. Add all the content we can\n // before jumping the position forward in the input\n\n\n openToks[this.token] = true;\n block.styles.quote = true;\n block.content += this.token + str.substr(0, endPos);\n block.containsContent = true; // The + 1 because:\n // We added 2 ` characters, but we want the last ` character to call this\n // fn again so it can be closed.\n\n return pos + endPos + 1;\n }\n}; // Bold\n\ntokens['\\x02'] = {\n token: '\\x02',\n extra: false,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n if (openToks[this.token]) {\n delete block.styles.bold;\n openToks[this.token] = null;\n } else {\n openToks[this.token] = true;\n block.styles.bold = true;\n }\n\n return null;\n }\n}; // Italic\n\ntokens['\\x1D'] = {\n token: '\\x1D',\n extra: false,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n if (openToks[this.token]) {\n delete block.styles.italic;\n openToks[this.token] = null;\n } else {\n openToks[this.token] = true;\n block.styles.italic = true;\n }\n\n return null;\n }\n}; // Underline\n\ntokens['\\x1F'] = {\n token: '\\x1F',\n extra: false,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n if (openToks[this.token]) {\n delete block.styles.underline;\n openToks[this.token] = null;\n } else {\n openToks[this.token] = true;\n block.styles.underline = true;\n }\n\n return null;\n }\n}; // Clear all styles\n\ntokens['\\x0F'] = {\n token: '\\x0F',\n extra: false,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n var _context3, _context4;\n\n (0, _forEach.default)(_context3 = (0, _keys.default)(block.styles)).call(_context3, function (k) {\n return delete block.styles[k];\n });\n (0, _forEach.default)(_context4 = (0, _keys.default)(openToks)).call(_context4, function (k) {\n return delete openToks[k];\n });\n return null;\n }\n}; // Colours\n\ntokens['\\x03'] = {\n token: '\\x03',\n extra: false,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n var colours = {\n 0: 'white',\n 1: 'black',\n 2: 'blue',\n 3: 'green',\n 4: 'light-red',\n 5: 'brown',\n 6: 'purple',\n 7: 'orange',\n 8: 'yellow',\n 9: 'light-green',\n 10: 'cyan',\n 11: 'light-cyan',\n 12: 'light-blue',\n 13: 'pink',\n 14: 'grey',\n 15: 'light-grey'\n };\n var colourMatchRegexp = /^\\x03(([0-9][0-9]?)(,([0-9][0-9]?))?)/;\n var match = colourMatchRegexp.exec(inp.substr(pos, 6));\n\n if (match) {\n // fg colour = 2, bg colour = 4\n var fgColour = colours[(0, _parseInt2.default)(match[2], 10)];\n var bgColour = colours[(0, _parseInt2.default)(match[4], 10)];\n\n if (typeof fgColour !== 'undefined') {\n block.styles.color = fgColour;\n }\n\n if (typeof bgColour !== 'undefined') {\n block.styles.background = bgColour;\n }\n\n return pos + match[0].length;\n } // 03 without a colour = delete any existing colour\n\n\n delete block.styles.color;\n delete block.styles.background;\n return null;\n }\n}; // Reverse (unimplemented)\n\ntokens['\\x16'] = {\n token: '\\x16',\n extra: false,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n return null;\n }\n};\n\nfunction parse(inp, _opts) {\n var opts = _opts || {};\n var block = createNewBlock();\n var blocks = [block];\n var openTokens = (0, _create.default)(null);\n var pos = 0;\n var len = inp.length;\n\n while (pos < len) {\n var tok = findTokenAtPosition();\n\n if (!tok || !opts.extras && tok.extra) {\n block.content += inp[pos];\n block.containsContent = true;\n pos++;\n continue;\n } // Current character is a token of some sort\n\n\n var newBlock = null; // Consecutive tokens can stack up styles into the same blocks. A consecutive\n // token means that the block before it will not have any content yet\n\n if (block.containsContent) {\n newBlock = createNewBlock();\n } else {\n newBlock = block;\n }\n\n (0, _assign.default)(newBlock.styles, block.styles);\n var newPos = tok.fn(inp, pos, newBlock, block, openTokens);\n\n if (newPos === -1) {\n // The token invalidated itself so treat it as content\n block.content += tok.token;\n block.containsContent = true;\n pos += tok.token.length;\n continue;\n }\n\n block = newBlock; // This block may have already been pushed if this is a consecutive token\n\n if (blocks[blocks.length - 1] !== newBlock) {\n blocks.push(newBlock);\n }\n\n if (typeof newPos === 'number') {\n pos = newPos;\n } else {\n pos += tok.token.length;\n }\n }\n\n return blocks;\n\n function findTokenAtPosition() {\n var tok = tokens[inp.substr(pos, 2)] || tokens[inp[pos]];\n return tok;\n }\n}\n\nfunction createNewBlock() {\n var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var styles = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'text';\n var meta = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var newBlock = {\n styles: styles,\n content: content,\n containsContent: !!content,\n type: type,\n meta: meta\n };\n return newBlock;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"MessageFormatter\"]\r\nwindow._kiwi_exports.libs.MessageFormatter = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"u-input-prompt\",style:({display: _vm.block ? 'block' : 'inline-block'})},[(_vm.state==='pre')?_c('div',{on:{\"click\":_vm.prompt}},[_vm._t(\"default\")],2):_vm._e(),(_vm.state==='prompt')?_c('form',{staticClass:\"u-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.complete($event)}}},[_c('span',{staticClass:\"u-input-prompt-label\"},[_vm._v(_vm._s(_vm.label))]),_c('div',{staticClass:\"u-input-prompt-inputs\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],staticClass:\"u-input\",domProps:{\"value\":(_vm.value)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.cancel($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.value=$event.target.value}}}),_c('a',{staticClass:\"u-button u-button-primary\",on:{\"click\":_vm.complete}},[_vm._v(_vm._s(_vm.$t('ok')))]),(!_vm.hideCancel)?_c('a',{staticClass:\"u-button u-button-warning\",on:{\"click\":_vm.cancel}},[_vm._v(\" \"+_vm._s(_vm.$t('cancel'))+\" \")]):_vm._e()])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=script&lang=js&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZncLogin.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZncLogin.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _MessageList = _interopRequireDefault(require(\"./MessageList\"));\n\nvar _NetworkSettings = _interopRequireDefault(require(\"./NetworkSettings\"));\n\nvar _ChannelList = _interopRequireDefault(require(\"./ChannelList\"));\n\nvar _default = {\n components: {\n MessageList: _MessageList.default,\n NetworkSettings: _NetworkSettings.default,\n ChannelList: _ChannelList.default\n },\n props: ['network'],\n data: function data() {\n return {\n pluginUiElements: _GlobalApi.default.singleton().serverViewPlugins\n };\n },\n computed: {\n hasMessages: function hasMessages() {\n return this.network.serverBuffer().getMessages().length > 0;\n },\n serverBuffer: function serverBuffer() {\n return this.network.serverBuffer();\n },\n restrictedServer: function restrictedServer() {\n return this.$state.setting('restricted');\n },\n networkConnected: function networkConnected() {\n return this.network.state === 'connected';\n }\n },\n watch: {\n networkConnected: function networkConnected() {\n var _this = this;\n\n this.$nextTick(function () {\n // Vue won't update the tabs being displayed here so we to\n // manually update a property to force a re-render of the tabs\n _this.$refs.tabs.a++;\n });\n }\n },\n created: function created() {\n var _this2 = this;\n\n this.listen(this.$state, 'server.tab.show', function (tabName) {\n _this2.showTab(tabName);\n });\n },\n methods: {\n showTab: function showTab(tabName) {\n this.$refs.tabs.setActiveByName(tabName);\n },\n tabChanged: function tabChanged(tabName) {\n this.serverBuffer.show_input = tabName === 'messages';\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"ServerView\"]\r\nwindow._kiwi_exports.components.ServerView = exports.default ? exports.default : exports;\r\n","module.exports = __webpack_public_path__ + \"static/img/kiwiLoadingLogo.ee10be5a.png\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-messageinfo\",on:{\"click\":function($event){$event.stopPropagation();}}},[(_vm.message.mentioned_urls.length > 0)?_c('div',{staticClass:\"kiwi-messageinfo-urls\"},_vm._l((_vm.message.mentioned_urls),function(url){return _c('div',{key:url,staticClass:\"kiwi-messageinfo-url\"},[_c('a',{staticClass:\"u-button u-button-secondary\",on:{\"click\":function($event){return _vm.urlPreview(url)}}},[_vm._v(\"Preview\")]),_c('a',{staticClass:\"u-link\",attrs:{\"href\":url,\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(url)+\" \")])])}),0):_vm._e(),_c('div',{staticClass:\"kiwi-messageinfo-actions\",class:{'kiwi-messageinfo-actions--open': _vm.requestingInput}},[(!_vm.requestingInput)?_c('a',{staticClass:\"u-link kiwi-messageinfo-reply\",on:{\"click\":_vm.openQuery}},[_vm._v(\" Reply in private \")]):_vm._e(),(_vm.areWeAnOp() && !_vm.isSelf())?_c('div',{staticClass:\"kiwi-messageinfo-opbuttons\"},[_c('input-prompt',{attrs:{\"label\":\"Kick reason:\"},on:{\"submit\":_vm.onKick,\"cancel\":function($event){_vm.requestingInput = false}}},[(!_vm.requestingInput)?_c('a',{staticClass:\"u-link kiwi-messageinfo-kick-user\",on:{\"click\":function($event){_vm.requestingInput = true}}},[_vm._v(\" Kick \"+_vm._s(_vm.message.nick)+\" \")]):_vm._e()]),_c('input-prompt',{attrs:{\"label\":\"Ban reason:\"},on:{\"submit\":_vm.onBan,\"cancel\":function($event){_vm.requestingInput = false}}},[(!_vm.requestingInput)?_c('a',{staticClass:\"u-link kiwi-messageinfo-ban-user\",on:{\"click\":function($event){_vm.requestingInput = true}}},[_vm._v(\" Ban \"+_vm._s(_vm.message.nick)+\" \")]):_vm._e()])],1):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar Vue = require('vue');\n\nvar _default = Vue.component('input-text', {\n props: ['value', 'label', 'type', 'showPlainText'],\n data: function data() {\n return {\n plainTextEnabled: false,\n inputIdCache: ''\n };\n },\n computed: {\n inputId: function inputId() {\n if (!this.inputIdCache) {\n // eslint-disable-next-line\n this.inputIdCache = 'inp_' + Math.floor(Math.random() * 1e17).toString(36);\n }\n\n return this.inputIdCache;\n },\n currentValue: {\n get: function getCurrentValue() {\n return this.value;\n },\n set: function setCurrentValue(newVal) {\n this.$emit('input', newVal);\n }\n }\n },\n methods: {\n updateValue: function updateValue(newValue) {\n this.$emit('input', newValue);\n },\n isEdgeBrowser: function isEdgeBrowser() {\n var _context;\n\n return (0, _indexOf.default)(_context = navigator.appVersion).call(_context, 'Edge') > -1;\n }\n }\n});\n\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"utils\"]) window._kiwi_exports[\"components\"][\"utils\"] = {};\nwindow._kiwi_exports[\"components\"][\"utils\"][\"InputText\"]\r\nwindow._kiwi_exports.components.utils.InputText = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextStyle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextStyle.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NetworkSettings.vue?vue&type=template&id=563b7322&\"\nimport script from \"./NetworkSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./NetworkSettings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NetworkSettings.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInvitelist.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInvitelist.vue?vue&type=style&index=0&lang=less&\"","import { render, staticRenderFns } from \"./Container.vue?vue&type=template&id=0a567944&\"\nimport script from \"./Container.vue?vue&type=script&lang=js&\"\nexport * from \"./Container.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Container.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"u-input-text\"},[(_vm.label)?_c('label',{attrs:{\"for\":_vm.inputId}},[_vm._v(_vm._s(_vm.label))]):_vm._e(),_c('div',{staticClass:\"u-input-text-inputs\",staticStyle:{\"display\":\"flex\"}},[(_vm.type==='password')?[((_vm.plainTextEnabled && !_vm.isEdgeBrowser() ? 'text' : 'password')==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentValue),expression:\"currentValue\"}],staticClass:\"u-input\",class:{'u-form-input-plaintext' : !_vm.isEdgeBrowser() && _vm.showPlainText},attrs:{\"id\":_vm.inputId,\"autocomplete\":\"off\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.currentValue)?_vm._i(_vm.currentValue,null)>-1:(_vm.currentValue)},on:{\"keypress\":function($event){return _vm.$emit('keypress', $event)},\"change\":function($event){var $$a=_vm.currentValue,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.currentValue=$$a.concat([$$v]))}else{$$i>-1&&(_vm.currentValue=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.currentValue=$$c}}}}):((_vm.plainTextEnabled && !_vm.isEdgeBrowser() ? 'text' : 'password')==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentValue),expression:\"currentValue\"}],staticClass:\"u-input\",class:{'u-form-input-plaintext' : !_vm.isEdgeBrowser() && _vm.showPlainText},attrs:{\"id\":_vm.inputId,\"autocomplete\":\"off\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\",\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.currentValue,null)},on:{\"keypress\":function($event){return _vm.$emit('keypress', $event)},\"change\":function($event){_vm.currentValue=null}}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentValue),expression:\"currentValue\"}],staticClass:\"u-input\",class:{'u-form-input-plaintext' : !_vm.isEdgeBrowser() && _vm.showPlainText},attrs:{\"id\":_vm.inputId,\"autocomplete\":\"off\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\",\"type\":_vm.plainTextEnabled && !_vm.isEdgeBrowser() ? 'text' : 'password'},domProps:{\"value\":(_vm.currentValue)},on:{\"keypress\":function($event){return _vm.$emit('keypress', $event)},\"input\":function($event){if($event.target.composing){ return; }_vm.currentValue=$event.target.value}}}),(_vm.showPlainText && !_vm.isEdgeBrowser())?_c('i',{staticClass:\"u-input-text-plaintext fa fa-eye\",class:{'u-input-text-plaintext--active': _vm.plainTextEnabled},attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){_vm.plainTextEnabled = !_vm.plainTextEnabled}}}):_vm._e()]:(_vm.type==='number')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentValue),expression:\"currentValue\"}],staticClass:\"u-input\",attrs:{\"id\":_vm.inputId,\"type\":\"number\"},domProps:{\"value\":(_vm.currentValue)},on:{\"keypress\":function($event){return _vm.$emit('keypress', $event)},\"input\":function($event){if($event.target.composing){ return; }_vm.currentValue=$event.target.value}}}):(_vm.type==='textarea')?_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentValue),expression:\"currentValue\"}],staticClass:\"u-input\",attrs:{\"id\":_vm.inputId},domProps:{\"value\":(_vm.currentValue)},on:{\"keypress\":function($event){return _vm.$emit('keypress', $event)},\"input\":function($event){if($event.target.composing){ return; }_vm.currentValue=$event.target.value}}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentValue),expression:\"currentValue\"}],staticClass:\"u-input\",attrs:{\"id\":_vm.inputId,\"autocomplete\":\"off\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"},domProps:{\"value\":(_vm.currentValue)},on:{\"keypress\":function($event){return _vm.$emit('keypress', $event)},\"input\":function($event){if($event.target.composing){ return; }_vm.currentValue=$event.target.value}}}),(_vm.$slots.default)?_c('div',{staticClass:\"u-input-text-c\"},[_vm._t(\"default\")],2):_vm._e()],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar createdInstance = null;\n\nvar ThemeManager = /*#__PURE__*/function () {\n function ThemeManager(state) {\n (0, _classCallCheck2.default)(this, ThemeManager);\n this.state = state;\n this.listenForIrcEvents();\n this.varsEl = null;\n }\n\n (0, _createClass2.default)(ThemeManager, [{\n key: \"themeVar\",\n value: function themeVar(varName) {\n var _context;\n\n if (!this.varsEl) {\n this.varsEl = document.querySelector('.kiwi-wrap');\n }\n\n var styles = window.getComputedStyle(this.varsEl);\n var v = styles.getPropertyValue('--kiwi-' + varName);\n return (0, _trim.default)(_context = v || '').call(_context);\n }\n }, {\n key: \"availableThemes\",\n value: function availableThemes() {\n return this.state.settings.themes;\n }\n }, {\n key: \"currentTheme\",\n value: function currentTheme() {\n var state = this.state;\n var currentThemeName = state.setting('theme');\n currentThemeName = currentThemeName.toLowerCase();\n var theme = (0, _find.default)(_lodash.default).call(_lodash.default, state.settings.themes, function (t) {\n var isMatch = t.name.toLowerCase() === currentThemeName;\n return isMatch;\n }); // If no theme was set, use the first one in our theme list\n\n if (!theme) {\n theme = state.settings.themes[0];\n }\n\n return theme;\n }\n }, {\n key: \"setTheme\",\n value: function setTheme(theme) {\n var theTheme = null;\n\n if (typeof theme === 'string') {\n // Make sure this theme exists\n theTheme = (0, _find.default)(_lodash.default).call(_lodash.default, this.availableThemes(), function (t) {\n var isMatch = t.name.toLowerCase() === theme.toLowerCase();\n return isMatch;\n });\n\n if (!theTheme) {\n return;\n }\n } else {\n theTheme = theme;\n }\n\n this.state.setting('theme', theTheme.name);\n this.state.$emit('theme.change');\n }\n }, {\n key: \"reload\",\n value: function reload() {\n var theme = this.currentTheme();\n\n if (!theme) {\n return;\n }\n\n var url = theme.url;\n\n if ((0, _indexOf.default)(url).call(url, 'cb=') > -1) {\n url = url.replace(/cb=[0-9]+/, function () {\n return 'cb=' + (0, _now.default)();\n });\n } else if ((0, _indexOf.default)(url).call(url, '?') > -1) {\n url += '&cb=' + (0, _now.default)();\n } else {\n url += '?cb=' + (0, _now.default)();\n }\n\n theme.url = url;\n this.state.$emit('theme.change');\n }\n }, {\n key: \"setCustomThemeUrl\",\n value: function setCustomThemeUrl(url) {\n var theme = (0, _find.default)(_lodash.default).call(_lodash.default, ThemeManager.instance().availableThemes(), {\n name: 'custom'\n });\n\n if (theme) {\n theme.url = url;\n }\n\n if (theme.name === 'custom') {\n this.state.$emit('theme.change');\n }\n } // When we get a CTCP 'kiwi theme reload' then reload our theme. Handy for theme devs\n\n }, {\n key: \"listenForIrcEvents\",\n value: function listenForIrcEvents() {\n var _this = this;\n\n this.state.$on('irc.ctcp request', function (event, network) {\n var _context2;\n\n var ctcpType = (event.type || '').toLowerCase();\n\n if (ctcpType === 'kiwi' && (0, _indexOf.default)(_context2 = event.message).call(_context2, 'theme reload') > -1) {\n _this.reload();\n }\n });\n }\n }], [{\n key: \"themeUrl\",\n value: function themeUrl(theme) {\n var parts = theme.url.split('?');\n var url = parts[0];\n var qs = parts[1] || '';\n\n if (url[url.length - 1] !== '/') {\n url += '/';\n }\n\n return url + 'theme.css' + (qs ? '?' + qs : '');\n }\n }]);\n return ThemeManager;\n}();\n\nexports.default = ThemeManager;\n\nThemeManager.instance = function instance(state) {\n if (!createdInstance) {\n createdInstance = new ThemeManager(state);\n }\n\n return createdInstance;\n};\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"ThemeManager\"]\r\nwindow._kiwi_exports.libs.ThemeManager = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"u-input-confirm kiwi-theme-bg\"},[(_vm.state==='pre')?_c('div',{on:{\"click\":_vm.prompt}},[_vm._t(\"default\")],2):_vm._e(),(_vm.state==='prompt')?[_c('span',{staticClass:\"u-input-confirm-label\"},[_vm._v(_vm._s(_vm.label))]),_c('a',{staticClass:\"u-button\",class:['u-button-'+_vm.connoteCss.yes],on:{\"click\":function($event){return _vm.complete(true)}}},[_vm._v(\" \"+_vm._s(_vm.$t('yes'))+\" \")]),_c('a',{staticClass:\"u-button\",class:['u-button-'+_vm.connoteCss.no],on:{\"click\":function($event){return _vm.complete(false)}}},[_vm._v(\" \"+_vm._s(_vm.$t('no'))+\" \")])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n'kiwi public';\n/** @module */\n\n/**\n * Converts a hex CSS color value to RGB.\n * Adapted from http://stackoverflow.com/a/5624139.\n *\n * @param {String} _hex The hexadecimal color value\n * @return {Object} The RGB representation\n */\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.hex2rgb = hex2rgb;\nexports.rgb2hex = rgb2hex;\nexports.rgb2hsl = rgb2hsl;\nexports.hsl2rgb = hsl2rgb;\nexports.rgb2rgbString = rgb2rgbString;\n\nvar _slice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/slice\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nfunction hex2rgb(_hex) {\n // Expand shorthand form (e.g. \"03F\") to full form (e.g. \"0033FF\")\n var shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n\n var hex = _hex.replace(shorthandRegex, function (m, r, g, b) {\n return r + r + g + g + b + b;\n });\n\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: (0, _parseInt2.default)(result[1], 16),\n g: (0, _parseInt2.default)(result[2], 16),\n b: (0, _parseInt2.default)(result[3], 16)\n } : null;\n}\n/**\n * Converts an RGB color value to a hex string.\n * @param {Object} rgb RGB as r, g, and b keys\n * @return {String} Hex color string\n */\n\n\nfunction rgb2hex(rgb) {\n var _context;\n\n return '#' + (0, _map.default)(_context = ['r', 'g', 'b']).call(_context, function (key) {\n var _context2;\n\n return (0, _slice.default)(_context2 = '0' + rgb[key].toString(16)).call(_context2, -2);\n }).join('');\n}\n/**\n * Converts an RGB color value to HSL. Conversion formula adapted from\n * http://en.wikipedia.org/wiki/HSL_color_space. This function adapted\n * from http://stackoverflow.com/a/9493060.\n * Assumes r, g, and b are contained in the set [0, 255] and\n * returns h, s, and l in the set [0, 1].\n *\n * @param Object rgb RGB as r, g, and b keys\n * @return Object HSL as h, s, and l keys\n */\n\n\nfunction rgb2hsl(rgb) {\n var r = rgb.r;\n var g = rgb.g;\n var b = rgb.b;\n r /= 255;\n g /= 255;\n b /= 255;\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n\n if (max === min) {\n h = s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n if (max === r) {\n h = (g - b) / d + (g < b ? 6 : 0);\n } else if (max === g) {\n h = (b - r) / d + 2;\n } else if (max === b) {\n h = (r - g) / d + 4;\n }\n\n h /= 6;\n }\n\n return {\n h: h,\n s: s,\n l: l\n };\n}\n/**\n * Converts an HSL color value to RGB. Conversion formula adapted from\n * http://en.wikipedia.org/wiki/HSL_color_space. This function adapted\n * from http://stackoverflow.com/a/9493060.\n * Assumes h, s, and l are contained in the set [0, 1] and\n * returns r, g, and b in the set [0, 255].\n *\n * @param Object hsl HSL as h, s, and l keys\n * @return Object RGB as r, g, and b values\n */\n\n\nfunction hsl2rgb(hsl) {\n function hue2rgb(_p, _q, _t) {\n var p = _p;\n var q = _q;\n var t = _t;\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n\n var h = hsl.h;\n var s = hsl.s;\n var l = hsl.l;\n var r = 0;\n var g = 0;\n var b = 0;\n\n if (s === 0) {\n r = g = b = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return {\n r: Math.round(r * 255),\n g: Math.round(g * 255),\n b: Math.round(b * 255)\n };\n}\n\nfunction rgb2rgbString(rgb) {\n return 'rgb(' + [rgb.r, rgb.g, rgb.b].join(',') + ')';\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"helpers\"]) window._kiwi_exports[\"helpers\"] = {};\nwindow._kiwi_exports[\"helpers\"][\"Colours\"]\r\nwindow._kiwi_exports.helpers.Colours = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./SelfUser.vue?vue&type=template&id=f88f3ac2&\"\nimport script from \"./SelfUser.vue?vue&type=script&lang=js&\"\nexport * from \"./SelfUser.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SelfUser.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageList.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageModern.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageModern.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageList.vue?vue&type=template&id=19cb3f7a&\"\nimport script from \"./MessageList.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MessageList.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { render, staticRenderFns } from \"./ServerView.vue?vue&type=template&id=604d1314&\"\nimport script from \"./ServerView.vue?vue&type=script&lang=js&\"\nexport * from \"./ServerView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ServerView.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _some = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/some\"));\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/assign\"));\n\nvar _reduce = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/reduce\"));\n\nvar _flags = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/flags\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _splice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/splice\"));\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _bind = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/bind\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _common = require(\"./common\");\n\nvar _batchedAdd = _interopRequireDefault(require(\"../batchedAdd\"));\n\nvar bufferTools = _interopRequireWildcard(require(\"../bufferTools\"));\n\n/** @module */\nvar nextBufferId = 0;\n/** The IRC buffer instance */\n\nvar BufferState = /*#__PURE__*/function () {\n function BufferState(name, networkid, state, messageDict) {\n (0, _classCallCheck2.default)(this, BufferState);\n // Enumerable properties that become reactive under Vue\n this.id = nextBufferId++;\n this.networkid = networkid;\n this.name = name;\n this.topics = [];\n this.key = '';\n this.joined = false;\n this.enabled = true;\n this.created_at = null;\n this.users = (0, _create.default)(null);\n this.modes = (0, _create.default)(null);\n this.flags = {\n unread: 0,\n has_opened: false,\n channel_badkey: false,\n chathistory_available: true,\n requested_modes: false,\n requested_banlist: false,\n is_requesting_chathistory: false\n };\n this.settings = {};\n this.last_read = 0;\n this.active_timeout = null;\n this.message_count = 0;\n this.current_input = '';\n this.input_history = [];\n this.input_history_pos = 0;\n this.show_input = true; // Counter for chathistory requests. While this value is 0, it means that this buffer is\n // still loading messages\n\n this.chathistory_request_count = 0;\n\n _vue.default.observable(this); // Some non-enumerable properties (vues $watch won't cover these properties)\n\n\n (0, _common.def)(this, 'state', state, false);\n (0, _common.def)(this, 'messageDict', messageDict, false);\n var messagesObj = {\n networkid: this.networkid,\n buffer: this.name,\n messages: [],\n messageIds: (0, _create.default)(null)\n };\n this.messageDict.push(messagesObj);\n (0, _common.def)(this, 'messagesObj', messagesObj, false);\n (0, _common.def)(this, 'isMessageTrimming', true, true);\n (0, _common.def)(this, 'addMessageBatch', createMessageBatch(this), false);\n (0, _common.def)(this, 'addUserBatch', createUserBatch(this), false); // poll who to update away status if away-notify is not enabled\n\n if (this.isChannel()) {\n maybeStartWhoLoop(this);\n } // When the network re-connects, we reset the chathistory request counter.\n // This will make the `getLoadingState()` stay as 'loading' while the chathistory reloads.\n\n\n function onNetworkConnecting(event) {\n if (event.network === this.getNetwork()) {\n this.chathistory_request_count = 0;\n }\n }\n\n function onNetworkMotd(event, network) {\n if (network === this.getNetwork() && this.isQuery()) {\n this.requestLatestScrollback();\n }\n } // Clean up the previous event and itself when the buffer is closed.\n\n\n function onBufferClose(event) {\n if (event.buffer === this) {\n this.state.$off('network.connecting', onNetworkConnectingBound);\n this.state.$off('buffer.close', onBufferCloseBound);\n this.state.$off('irc.motd', onNetworkMotdBound);\n }\n }\n\n var onNetworkConnectingBound = (0, _bind.default)(onNetworkConnecting).call(onNetworkConnecting, this);\n var onBufferCloseBound = (0, _bind.default)(onBufferClose).call(onBufferClose, this);\n var onNetworkMotdBound = (0, _bind.default)(onNetworkMotd).call(onNetworkMotd, this);\n state.$on('network.connecting', onNetworkConnectingBound);\n state.$on('buffer.close', onBufferCloseBound);\n state.$on('irc.motd', onNetworkMotdBound);\n\n if (this.isQuery() && this.getNetwork().ircClient.chathistory.isSupported()) {\n // Get PM message histories, while channel buffers request it after their nicklist\n // has been received\n this.requestLatestScrollback();\n }\n }\n\n (0, _createClass2.default)(BufferState, [{\n key: \"getNetwork\",\n value: function getNetwork() {\n return this.state.getNetwork(this.networkid);\n }\n }, {\n key: \"getMessages\",\n value: function getMessages() {\n var bufMessages = (0, _find.default)(_lodash.default).call(_lodash.default, this.messageDict, {\n networkid: this.networkid,\n buffer: this.name\n });\n return bufMessages ? bufMessages.messages : [];\n }\n }, {\n key: \"clearMessages\",\n value: function clearMessages() {\n var _context;\n\n (0, _splice.default)(_context = this.messagesObj.messages).call(_context, 0, this.messagesObj.messages.length);\n this.messagesObj.messageIds = (0, _create.default)(null);\n } // Remove a block of messages between a time (server-time) range. Inclusive.\n\n }, {\n key: \"clearMessageRange\",\n value: function clearMessageRange(startTime, endTime) {\n var _context2,\n _this = this;\n\n this.messagesObj.messages = (0, _filter.default)(_context2 = this.messagesObj.messages).call(_context2, function (message) {\n if (message.server_time < startTime || message.server_time > endTime) {\n return true;\n } // This message will be removed\n\n\n delete _this.messagesObj.messageIds[message.id];\n return false;\n }); // Mark that something changed\n\n this.message_count++;\n }\n }, {\n key: \"isServer\",\n value: function isServer() {\n return this.name === '*';\n }\n }, {\n key: \"isChannel\",\n value: function isChannel() {\n var chanPrefixes = ['#', '&'];\n var ircNetwork = this.getNetwork().ircClient.network;\n\n if (ircNetwork && ircNetwork.options.CHANTYPES) {\n chanPrefixes = ircNetwork.options.CHANTYPES;\n }\n\n return (0, _indexOf.default)(chanPrefixes).call(chanPrefixes, this.name[0]) > -1;\n }\n }, {\n key: \"isQuery\",\n value: function isQuery() {\n var chanPrefixes = ['#', '&'];\n var ircNetwork = this.getNetwork().ircClient.network;\n\n if (ircNetwork && ircNetwork.options.CHANTYPES) {\n chanPrefixes = ircNetwork.options.CHANTYPES;\n }\n\n return (0, _indexOf.default)(chanPrefixes).call(chanPrefixes, this.name[0]) === -1 && !this.isSpecial() && !this.isServer();\n }\n }, {\n key: \"isSpecial\",\n value: function isSpecial() {\n // Special buffer names (Usually controller queries, like *status or *raw).\n // Server buffer '*' is not included in this classification.\n var name = this.name;\n return name[0] === '*' && name.length > 1;\n }\n }, {\n key: \"isUserAnOp\",\n value: function isUserAnOp(nick) {\n var user = this.state.getUser(this.networkid, nick);\n\n if (!user) {\n return false;\n }\n\n var userBufferInfo = user.buffers[this.id];\n\n if (!userBufferInfo) {\n return false;\n }\n\n var modes = userBufferInfo.modes;\n var opModes = ['Y', 'y', 'q', 'a', 'o', 'h'];\n var hasOp = (0, _find.default)(_lodash.default).call(_lodash.default, modes, function (mode) {\n return (0, _indexOf.default)(opModes).call(opModes, mode.toLowerCase()) > -1;\n });\n return !!hasOp;\n }\n /**\n * Get a users prefix symbol on a buffer from its modes\n * @param {Object} user The user object\n */\n\n }, {\n key: \"userModePrefix\",\n value: function userModePrefix(user) {\n // The user may not be on the buffer\n if (!user.buffers[this.id]) {\n return '';\n }\n\n var modes = user.buffers[this.id].modes;\n\n if (modes.length === 0) {\n return '';\n }\n\n var network = this.getNetwork();\n var netPrefixes = network.ircClient.network.options.PREFIX; // Find the first (highest) netPrefix in the users buffer modes\n\n var prefix = (0, _find.default)(_lodash.default).call(_lodash.default, netPrefixes, function (p) {\n return (0, _indexOf.default)(modes).call(modes, p.mode) > -1;\n });\n return prefix ? prefix.symbol : '';\n }\n /**\n * Get a users mode on a buffer\n * @param user {Object} The user object\n */\n\n }, {\n key: \"userMode\",\n value: function userMode(user) {\n // The user may not be on the buffer\n if (!user.buffers[this.id]) {\n return '';\n }\n\n var modes = user.buffers[this.id].modes;\n\n if (modes.length === 0) {\n return '';\n } // if there is only one mode just return it\n\n\n if (modes.length === 1) {\n return modes[0];\n }\n\n var network = this.getNetwork();\n var netPrefixes = network.ircClient.network.options.PREFIX; // Find the first (highest) netPrefix in the users buffer modes\n\n var prefix = (0, _find.default)(_lodash.default).call(_lodash.default, netPrefixes, function (p) {\n return (0, _indexOf.default)(modes).call(modes, p.mode) > -1;\n });\n return prefix ? prefix.mode : '';\n }\n }, {\n key: \"setting\",\n value: function setting(name, val) {\n if (typeof val !== 'undefined') {\n this.state.$set(this.settings, name, val);\n return val;\n } // Check the buffer specific settings before reverting to global settings\n\n\n var result = typeof this.settings[name] !== 'undefined' ? this.settings[name] : this.state.setting('buffers.' + name);\n return result;\n }\n }, {\n key: \"rename\",\n value: function rename(newName) {\n var network = this.getNetwork();\n var oldName = this.name;\n var setActive = this.state.getActiveBuffer() === this;\n this.name = newName;\n\n if (setActive) {\n this.state.setActiveBuffer(network.id, newName);\n } // update the buffer name on our messages\n\n\n var bufferMessages = (0, _find.default)(_lodash.default).call(_lodash.default, this.messageDict, {\n networkid: network.id,\n buffer: oldName\n });\n bufferMessages.buffer = newName;\n }\n }, {\n key: \"flag\",\n value: function flag(name, val) {\n if (typeof val !== 'undefined') {\n this.state.$set((0, _flags.default)(this), name, val);\n return val;\n }\n\n return (0, _flags.default)(this)[name];\n }\n }, {\n key: \"requestScrollback\",\n value: function requestScrollback(_direction) {\n var _this2 = this;\n\n var direction = _direction || 'backward';\n var time = '';\n var chathistoryFuncName = 'before'; // Going backwards takes the earliest message we already have and requests messages\n // before it. Going forward takes the last message we have and requests messages after\n // it.\n\n if (direction === 'backward') {\n var _context3;\n\n var lastMessage = (0, _reduce.default)(_context3 = this.getMessages()).call(_context3, function (earliest, current) {\n var ignoreTypes = ['traffic', 'topic', 'connection', 'presence'];\n var validType = (0, _indexOf.default)(ignoreTypes).call(ignoreTypes, earliest.type) === -1;\n\n if (validType && earliest.time && earliest.time < current.time) {\n return earliest;\n }\n\n return current;\n }, this.getMessages()[0]);\n chathistoryFuncName = 'before';\n time = lastMessage ? new Date(lastMessage.server_time) : new Date();\n } else if (direction === 'forward') {\n var _context4;\n\n var firstMessage = (0, _reduce.default)(_context4 = this.getMessages()).call(_context4, function (latest, current) {\n var ignoreTypes = ['traffic', 'topic', 'connection', 'presence'];\n var validType = (0, _indexOf.default)(ignoreTypes).call(ignoreTypes, latest.type) === -1;\n\n if (validType && latest.time && latest.time > current.time) {\n return latest;\n }\n\n return current;\n }, this.getMessages()[0]);\n chathistoryFuncName = 'after';\n time = firstMessage ? new Date(firstMessage.server_time) : new Date();\n } else {\n throw new Error('Invalid direction for requestScrollback(): ' + _direction);\n }\n\n var ircClient = this.getNetwork().ircClient;\n this.flag('is_requesting_chathistory', true);\n this.chathistory_request_count += 1;\n var existingMessageIds = (0, _assign.default)({}, this.messagesObj.messageIds);\n ircClient.chathistory[chathistoryFuncName](this.name, time).then(function (event) {\n var _context5;\n\n if (!event) {\n _this2.flag('chathistory_available', false);\n\n return;\n } // The BNC server may reply with messages that are already in the buffer.\n // If we get no new messages that we didn't already have, assume that we have\n // all the available history\n\n\n var hasNewMessages = (0, _some.default)(_context5 = event.commands).call(_context5, function (msg) {\n return msg.tags.msgid && !existingMessageIds[msg.tags.msgid];\n }); // If there are new messages, then there could be more in the backlog.\n // If there are no new messages, then the chat history is empty.\n\n _this2.flag('chathistory_available', hasNewMessages);\n }).finally(function () {\n _this2.flag('is_requesting_chathistory', false);\n });\n }\n }, {\n key: \"requestLatestScrollback\",\n value: function requestLatestScrollback() {\n var _this3 = this;\n\n var ircClient = this.getNetwork().ircClient;\n this.flag('is_requesting_chathistory', true);\n this.chathistory_request_count += 1;\n ircClient.chathistory.before(this.name, '*').finally(function () {\n _this3.flag('is_requesting_chathistory', false);\n });\n }\n }, {\n key: \"markAsRead\",\n value: function markAsRead(delayed) {\n if (this.active_timeout) {\n clearTimeout(this.active_timeout);\n this.active_timeout = null;\n }\n\n if (delayed) {\n var _context6;\n\n this.active_timeout = (0, _setTimeout2.default)((0, _bind.default)(_context6 = this.markAsRead).call(_context6, this), 10000, false);\n } else {\n this.last_read = (0, _now.default)();\n this.flag('highlight', false); // If running under a bouncer, set it on the server-side too\n\n var network = this.getNetwork();\n var allowedUpdate = !network ? false : this.isChannel() || this.isQuery();\n\n if (allowedUpdate && network.connection.bncnetid) {\n network.ircClient.bnc.bufferSeen(network.connection.bncnetid, this.name);\n }\n }\n }\n }, {\n key: \"incrementFlag\",\n value: function incrementFlag(flagName) {\n (0, _flags.default)(this)[flagName] = ((0, _flags.default)(this)[flagName] || 0) + 1;\n }\n }, {\n key: \"addUser\",\n value: function addUser(user) {\n this.addUserBatch(user);\n }\n }, {\n key: \"hasNick\",\n value: function hasNick(nick) {\n var nickLower = nick.toLowerCase();\n return nickLower in this.users || this.isQuery() && this.name.toLowerCase() === nickLower;\n }\n }, {\n key: \"hasMode\",\n value: function hasMode(mode) {\n var _context7;\n\n return (0, _indexOf.default)(_context7 = (0, _keys.default)(this.modes)).call(_context7, mode) > -1;\n }\n }, {\n key: \"shouldShareTyping\",\n value: function shouldShareTyping() {\n var network = this.getNetwork();\n\n if (!this.setting('share_typing')) {\n // Feature disabled\n return false;\n }\n\n if (!this.isChannel() && !this.isQuery()) {\n // Qnly share tying with channels and queries\n return false;\n }\n\n if (this.isChannel() && !this.joined) {\n // Channel is in an unjoined state\n return false;\n }\n\n if (this.hasMode('m') && !this.userMode(network.currentUser())) {\n // Channel is moderated (+m) and we do not have a user mode +v or above\n return false;\n }\n\n return true;\n }\n }, {\n key: \"removeUser\",\n value: function removeUser(nick) {\n var userObj = this.state.getUser(this.networkid, nick); // A user could be queued to be added, so make sure it's not there as it\n // would just be added again. Eg. user joins/parts during a flood\n\n _lodash.default.pull(this.addUserBatch.queue(), userObj);\n\n this.state.$delete(this.users, nick.toLowerCase());\n\n if (userObj) {\n delete userObj.buffers[this.id];\n }\n }\n }, {\n key: \"clearUsers\",\n value: function clearUsers() {\n var _context8,\n _this4 = this;\n\n // Users could be queued to be added, so make sure to clear them as they\n // would just be added again. Eg. user joins/parts during a flood\n this.addUserBatch && (0, _splice.default)(_context8 = this.addUserBatch.queue()).call(_context8, 0);\n\n _lodash.default.each(this.users, function (userObj, nick) {\n delete userObj.buffers[_this4.id];\n });\n\n this.state.$set(this, 'users', {});\n }\n }, {\n key: \"addMessage\",\n value: function addMessage(message) {\n this.addMessageBatch(message);\n }\n }, {\n key: \"say\",\n value: function say(message) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var network = this.getNetwork();\n var newMessage = {\n time: (0, _now.default)(),\n nick: network.nick,\n message: message,\n type: opts.type || 'privmsg'\n };\n this.state.addMessage(this, newMessage);\n var fnNames = {\n privmsg: 'say',\n action: 'action',\n notice: 'notice'\n };\n var fnName = fnNames[opts.type] || 'say';\n network.ircClient[fnName](this.name, message);\n }\n }, {\n key: \"join\",\n value: function join() {\n if (!this.isChannel()) {\n return;\n }\n\n var network = this.getNetwork();\n network.ircClient.join(this.name, this.key || '');\n }\n }, {\n key: \"part\",\n value: function part(reason) {\n if (!this.isChannel()) {\n return;\n }\n\n var network = this.getNetwork();\n network.ircClient.part(this.name, reason || '');\n }\n }, {\n key: \"scrollToMessage\",\n value: function scrollToMessage(id) {\n this.state.$emit('messagelist.scrollto', {\n id: id\n });\n }\n }, {\n key: \"getLoadingState\",\n value: function getLoadingState() {\n var networkState = this.getNetwork().state;\n var historySupport = !!this.getNetwork().ircClient.chathistory.isSupported();\n var messagesInBatchQueue = this.addMessageBatch.queue().length; // Hack; We need to make vue aware that we depend on message_count in order to\n // update the loading state.\n // eslint-disable-next-line no-unused-vars\n\n var messageCount = this.message_count;\n\n if (networkState === 'disconnected') {\n return 'disconnected';\n } else if (networkState === 'connecting') {\n return 'connecting';\n } else if (networkState === 'connected' && this.enabled && historySupport && ((0, _flags.default)(this).is_requesting_chathistory || // If chathistory is supported then a request will always be made when first\n // joining a channel. If request_count===0 then we're still waiting for it\n // to happen.\n this.chathistory_request_count === 0 || // keep in loading state while the batch is being processed\n messagesInBatchQueue > 0)) {\n return 'loading';\n }\n\n return 'done';\n }\n }, {\n key: \"isReady\",\n value: function isReady() {\n return this.getLoadingState() === 'done';\n }\n }, {\n key: \"topic\",\n get: function get() {\n return this.topics.length === 0 ? '' : this.topics[this.topics.length - 1];\n },\n set: function set(newVal) {\n this.topics.push(newVal);\n }\n }]);\n return BufferState;\n}();\n/**\n * Batch up floods of addUsers for a huge performance gain.\n * Generally happens when reconnecting to a BNC\n */\n\n\nexports.default = BufferState;\n\nfunction createUserBatch(bufferState) {\n var addSingleUser = function addSingleUser(u) {\n bufferState.state.$set(bufferState.users, u.nick.toLowerCase(), u);\n };\n\n var addMultipleUsers = function addMultipleUsers(users) {\n var o = _lodash.default.clone(bufferState.users);\n\n (0, _forEach.default)(users).call(users, function (u) {\n o[u.nick.toLowerCase()] = u;\n });\n bufferState.users = o;\n };\n\n return (0, _batchedAdd.default)(addSingleUser, addMultipleUsers, 2);\n}\n/**\n * batch up floods of new messages for a huge performance gain\n */\n\n\nfunction createMessageBatch(bufferState) {\n var addSingleMessage = function addSingleMessage(newMessage) {\n if (bufferState.messagesObj.messageIds[newMessage.id]) {\n return;\n }\n\n bufferState.messagesObj.messages.push(newMessage);\n bufferState.messagesObj.messageIds[newMessage.id] = newMessage;\n\n if (bufferState.isMessageTrimming) {\n trimMessages();\n }\n\n bufferTools.orderedMessages(bufferState, {\n inPlace: true,\n noFilter: true\n });\n bufferState.message_count++;\n };\n\n var addMultipleMessages = function addMultipleMessages(newMessages) {\n var toAdd = (0, _filter.default)(newMessages).call(newMessages, function (msg) {\n return !bufferState.messagesObj.messageIds[msg.id];\n });\n\n if (toAdd.length > 0) {\n var _context9;\n\n bufferState.messagesObj.messages = (0, _concat.default)(_context9 = bufferState.messagesObj.messages).call(_context9, toAdd);\n (0, _forEach.default)(toAdd).call(toAdd, function (msg) {\n bufferState.messagesObj.messageIds[msg.id] = msg;\n });\n\n if (bufferState.isMessageTrimming) {\n trimMessages();\n }\n\n bufferTools.orderedMessages(bufferState, {\n inPlace: true,\n noFilter: true\n });\n } // Trigger Vue's reactivity on the buffer whether messages were added or not, just in case\n // anything was depending on the batch queue which has now been emptied.\n\n\n bufferState.message_count++;\n };\n\n var trimMessages = function trimMessages() {\n var scrollbackSize = bufferState.setting('scrollback_size');\n var length = bufferState.messagesObj.messages.length;\n\n if (bufferState.messagesObj.messages.length > scrollbackSize) {\n var _context10;\n\n var removed = (0, _splice.default)(_context10 = bufferState.messagesObj.messages).call(_context10, 0, length - scrollbackSize);\n (0, _forEach.default)(removed).call(removed, function (msg) {\n return delete bufferState.messagesObj.messageIds[msg.id];\n });\n }\n };\n\n return (0, _batchedAdd.default)(addSingleMessage, addMultipleMessages, 4);\n} // Update our user list status every 30seconds to get each users current away status\n\n\nfunction maybeStartWhoLoop(bufferState) {\n var network = bufferState.state.getNetwork(bufferState.networkid);\n\n if (network.state === 'connected') {\n // network is connected start the loop if its needed\n nextLoop();\n } else {\n // Network is not coonnected. Wait until it is\n var on001 = function on001(command, event, eventNetwork) {\n if (eventNetwork === network) {\n bufferState.state.$off('irc.raw.001', on001);\n nextLoop();\n }\n };\n\n bufferState.state.$on('irc.raw.001', on001);\n }\n\n function nextLoop() {\n (0, _setTimeout2.default)(updateWhoStatusLoop, 30000);\n }\n\n function updateWhoStatusLoop() {\n network = bufferState.state.getNetwork(bufferState.networkid); // Make sure the network still exists\n\n if (!network) {\n return;\n } // Make sure the buffer still exists\n\n\n if (!network.bufferByName(bufferState.name)) {\n return;\n }\n\n var whoLoop = bufferState.setting('who_loop');\n var isJoined = bufferState.joined;\n var hasAwayNotify = network.ircClient.network.cap.isEnabled('away-notify');\n var networkConnected = network.state === 'connected';\n\n if (whoLoop && networkConnected && isJoined && !hasAwayNotify) {\n network.ircClient.who(bufferState.name, function () {\n nextLoop();\n });\n } else {\n nextLoop();\n }\n }\n}","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageInline.vue?vue&type=style&index=0&id=7979fe60&lang=less&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageInline.vue?vue&type=style&index=0&id=7979fe60&lang=less&scoped=true&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KiwiBnc.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KiwiBnc.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _state = _interopRequireDefault(require(\"@/libs/state\"));\n\nvar methods = {\n props: {},\n toggleSelfAway: function toggleSelfAway(props) {\n // let props = this.props;\n if (props.isUserSelf) {\n var val = props.user.isAway();\n props.network.ircClient.raw('AWAY', val ? '' : 'Currently away');\n }\n },\n isUserSelf: function isUserSelf(props) {\n // let props = this.props;\n if (props.toggle === false) {\n return false;\n }\n\n var user = (0, _state.default)().getUser(props.network.id, props.network.nick);\n return props.user === user;\n },\n shouldShowStatus: function shouldShowStatus(props) {\n // let props = this.props;\n if (!(0, _state.default)().setting('showAwayStatusIndicators')) {\n return false;\n }\n\n if (props.network.state !== 'connected') {\n return false;\n }\n\n var awayNotifyEnabled = props.network.ircClient.network.cap.isEnabled('away-notify');\n return (0, _state.default)().setting('buffers.who_loop') || awayNotifyEnabled;\n }\n};\nvar _default = {\n props: {\n network: Object,\n user: Object,\n toggle: Boolean\n },\n m: methods\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"AwayStatusIndicator\"]\r\nwindow._kiwi_exports.components.AwayStatusIndicator = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n/** @module */\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = bouncerMiddleware;\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _ircFramework = require(\"irc-framework\");\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\n/**\n * Adds the BOUNCER IRCv3 spec to irc-framework\n */\nfunction bouncerMiddleware() {\n var networks = [];\n var buffers = {};\n return function middleware(client, rawEvents, parsedEvents) {\n client.requestCap('bouncer');\n addFunctionsToClient(client);\n rawEvents.use(theMiddleware);\n };\n\n function theMiddleware(command, message, rawLine, client, next) {\n var _context, _context2, _context3;\n\n if (command !== 'BOUNCER') {\n next();\n return;\n }\n\n var params = message.params;\n\n if (params[0] === 'listnetworks' && (0, _indexOf.default)(_context = ['end', 'RPL_OK']).call(_context, params[1]) > -1) {\n client.command_handler.emit('bouncer networks', networks);\n networks = [];\n } else if (params[0] === 'listnetworks') {\n var tags = _ircFramework.MessageTags.decode(params[2]);\n\n networks.push({\n networkId: params[1],\n name: tags.network,\n host: tags.host,\n port: (0, _parseInt2.default)(tags.port, 10),\n tls: tags.tls === '1',\n connected: tags.state === 'connected',\n nick: tags.nick,\n currentNick: tags.currentNick,\n password: tags.password || '',\n account: tags.account || '',\n account_password: tags.account_password || ''\n });\n } else if (params[0] === 'listbuffers' && (0, _indexOf.default)(_context2 = ['end', 'RPL_OK']).call(_context2, params[2]) > -1) {\n var netId = params[1] || '';\n var detectedBuffers = buffers[netId] || [];\n delete buffers[netId];\n client.command_handler.emit('bouncer buffers', detectedBuffers);\n client.command_handler.emit('bouncer buffers ' + netId, detectedBuffers);\n } else if (params[0] === 'listbuffers') {\n var _netId = params[1] || '';\n\n var _tags = _ircFramework.MessageTags.decode(params[2]);\n\n buffers[_netId] = buffers[_netId] || [];\n\n buffers[_netId].push({\n networkId: _netId,\n network: _tags.network,\n name: _tags.buffer,\n topic: _tags.topic,\n joined: _tags.joined === '1',\n seen: _tags.seen,\n notify: _tags.notify || 'highlight'\n });\n } else if (params[0] === 'state') {\n client.command_handler.emit('bouncer state', {\n networkId: params[1],\n network: params[2],\n state: params[3]\n });\n } // BOUNCER addnetwork NetID Network1 ERR_NAMEINUSE\n\n\n if (params[0] === 'addnetwork' && params[3].substr(0, 4) === 'ERR_') {\n var netName = (params[2] || '').toLowerCase();\n var eventObj = {\n error: params[3],\n reason: params[4] || ''\n };\n client.command_handler.emit('bouncer addnetwork error', eventObj);\n client.command_handler.emit('bouncer addnetwork error ' + netName, eventObj);\n } else if (params[0] === 'addnetwork' && (0, _indexOf.default)(_context3 = ['end', 'RPL_OK']).call(_context3, params[3]) > -1) {\n // BOUNCER addnetwork 5 Network1 RPL_OK\n var _netId2 = params[1] || '';\n\n var _netName = (params[2] || '').toLowerCase();\n\n var _eventObj = {\n networkId: _netId2,\n network: _netName\n };\n client.command_handler.emit('bouncer addnetwork ok', _eventObj);\n client.command_handler.emit('bouncer addnetwork ok ' + _netName, _eventObj);\n }\n }\n}\n\nfunction addFunctionsToClient(client) {\n var bnc = client.bnc = {};\n\n bnc.tags = function tags() {\n var token = client.network.supports('bouncer');\n return !token || typeof token !== 'string' ? {} : _ircFramework.MessageTags.decode(token) || {};\n };\n\n bnc.hasNetwork = function hasNetwork() {\n var token = client.network.supports('bouncer');\n\n if (!token || token === true) {\n return false;\n }\n\n var tags = _ircFramework.MessageTags.decode(token);\n\n return tags && !!tags.network;\n };\n\n bnc.getNetworks = function getNetworks() {\n return new _promise.default(function (resolve, reject) {\n client.raw('BOUNCER listnetworks');\n client.once('bouncer networks', function (networks) {\n resolve(networks);\n });\n });\n };\n\n bnc.getBuffers = function getBuffers(netId) {\n return new _promise.default(function (resolve, reject) {\n client.raw('BOUNCER listbuffers ' + netId);\n client.once('bouncer buffers ' + netId, function (buffers) {\n resolve(buffers);\n });\n });\n };\n\n bnc.closeBuffer = function closeBuffer(netId, bufferName) {\n return new _promise.default(function (resolve, reject) {\n var _context4;\n\n client.raw((0, _concat.default)(_context4 = \"BOUNCER delbuffer \".concat(netId, \" \")).call(_context4, bufferName));\n });\n };\n\n bnc.bufferSeen = function bufferSeen(netId, bufferName, seenTime) {\n return new _promise.default(function (resolve, reject) {\n var _context5, _context6;\n\n // 1 tells the bouncer to use the current time\n var timeStr = seenTime ? Misc.dateIso(seenTime) : '1';\n client.raw((0, _concat.default)(_context5 = (0, _concat.default)(_context6 = \"BOUNCER changebuffer \".concat(netId, \" \")).call(_context6, bufferName, \" seen=\")).call(_context5, timeStr));\n });\n };\n\n bnc.addNetwork = function addNetwork(netName, host, port, tls, nick, user, password) {\n var tags = {};\n tags.network = netName;\n tags.host = host;\n tags.port = port;\n tags.tls = tls ? 1 : 0;\n tags.nick = nick;\n tags.password = password;\n\n if (user) {\n tags.user = user;\n }\n\n var tagString = createTagString(tags);\n return new _promise.default(function (resolve, reject) {\n client.raw('BOUNCER addnetwork ' + tagString);\n client.once('bouncer addnetwork ok ' + netName.toLowerCase(), onOk);\n client.once('bouncer addnetwork error', onError);\n\n function onOk(event) {\n client.off('bouncer addnetwork error', onError);\n resolve(event);\n }\n\n function onError(event) {\n client.off('bouncer addnetwork ok ' + netName.toLowerCase(), onOk);\n reject({\n error: event.error,\n reason: event.reason\n });\n }\n });\n };\n\n bnc.removeNetwork = function removeNetwork(netId, bufferName) {\n return new _promise.default(function (resolve, reject) {\n client.raw(\"BOUNCER delnetwork \".concat(netId));\n });\n };\n\n bnc.saveNetwork = function saveNetwork(netId, opts) {\n var tags = {};\n\n if (typeof opts.network !== 'undefined') {\n tags.network = opts.network;\n }\n\n if (typeof opts.host !== 'undefined') {\n tags.host = opts.host;\n }\n\n if (typeof opts.port !== 'undefined') {\n tags.port = opts.port;\n }\n\n if (typeof opts.tls !== 'undefined') {\n tags.tls = opts.tls ? 1 : 0;\n }\n\n if (typeof opts.nick !== 'undefined') {\n tags.nick = opts.nick;\n }\n\n if (typeof opts.user !== 'undefined') {\n tags.user = opts.user;\n }\n\n if (typeof opts.password !== 'undefined') {\n tags.password = opts.password;\n }\n\n if (typeof opts.account_password !== 'undefined') {\n tags.account_password = opts.account_password;\n }\n\n if (typeof opts.account !== 'undefined') {\n tags.account = opts.account;\n }\n\n var tagString = createTagString(tags);\n return new _promise.default(function (resolve, reject) {\n if (tagString.length === 0) {\n resolve();\n } else {\n var _context7;\n\n client.raw((0, _concat.default)(_context7 = \"BOUNCER changenetwork \".concat(netId, \" \")).call(_context7, tagString));\n }\n });\n };\n}\n\nfunction createTagString(tags) {\n var _context8;\n\n var tagParts = [];\n (0, _forEach.default)(_context8 = (0, _keys.default)(tags)).call(_context8, function (tag) {\n var val = tags[tag];\n\n if (typeof val !== 'undefined') {\n val = val.toString().replace(' ', '\\\\s').replace(';', '\\\\:');\n tagParts.push(tag + '=' + val);\n } else {\n tagParts.push(tag);\n }\n });\n return tagParts.join(';');\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"BouncerMiddleware\"]\r\nwindow._kiwi_exports.libs.BouncerMiddleware = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerView.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-inputtool-emoji\"},[_c('div',{staticClass:\"kiwi-inputtool-emoji-palette\",on:{\"mousedown\":function($event){$event.preventDefault();},\"click\":function($event){$event.preventDefault();}}},_vm._l((_vm.emojis),function(text,eCode){return _c('div',{key:eCode,staticClass:\"kiwi-inputtool-emoji-emoji\",style:({'background-image':(\"url(\" + _vm.location + eCode + \".png)\")}),attrs:{\"data-code\":text + ' '},on:{\"click\":_vm.onImgClick}})}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageInfo.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageInfo.vue?vue&type=style&index=0&lang=css&\"","var render = function (_h,_vm) {\nvar _obj;\nvar _c=_vm._c;return (_vm.$options.m.shouldShowStatus(_vm.props))?_c('span',{staticClass:\"kiwi-awaystatusindicator\",class:( _obj = {\n 'kiwi-awaystatusindicator--away': _vm.props.user && _vm.props.user.isAway(),\n 'kiwi-awaystatusindicator--self': _vm.$options.m.isUserSelf(_vm.props)\n }, _obj[_vm.data.staticClass] = true, _obj ),on:{\"click\":function($event){return _vm.$options.m.toggleSelfAway(_vm.props)}}}):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-notconnected kiwi-warning-block\",class:{ connecting: _vm.shouldShowLoading }},[(!_vm.shouldShowLoading)?[_c('div',{staticClass:\"kiwi-notconnected-caption\"},[_c('span',[_vm._v(_vm._s(_vm.$t('not_connected')))]),(!_vm.shouldShowLoading)?_c('i',{staticClass:\"fa fa-frown-o\",attrs:{\"aria-hidden\":\"true\"}}):_vm._e()]),_c('div',{staticClass:\"kiwi-notconnected-buttons\"},[(_vm.isChannel())?[_c('span',{staticClass:\"kiwi-notconnected-button\",attrs:{\"disabled\":!_vm.readyToStart},on:{\"click\":_vm.reconnect}},[_c('i',{staticClass:\"fa fa-arrow-circle-o-right\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('reconnect_channel', {channel: _vm.buffer.name}))+\" \")])]:(_vm.isServer())?[_c('span',{staticClass:\"kiwi-notconnected-button\",attrs:{\"disabled\":!_vm.readyToStart},on:{\"click\":_vm.reconnect}},[_c('i',{staticClass:\"fa fa-arrow-circle-o-right\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('reconnect_network', {network: _vm.buffer.getNetwork().name}))+\" \")])]:(_vm.isQuery())?[_c('span',{staticClass:\"kiwi-notconnected-button\",attrs:{\"disabled\":!_vm.readyToStart},on:{\"click\":_vm.reconnect}},[_c('i',{staticClass:\"fa fa-arrow-circle-o-right\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('reconnect_query', {user: _vm.buffer.name}))+\" \")])]:_vm._e(),(!_vm.restrictedServer)?_c('a',{staticClass:\"kiwi-notconnected-button kiwi-notconnected-button-settings\",on:{\"click\":_vm.showNetworkSettings}},[_c('i',{staticClass:\"fa fa-cogs\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e()],2)]:_c('div',{staticClass:\"kiwi-notconnected-caption\"},[_vm._v(\" \"+_vm._s(_vm.$t('connecting'))+\" \"),_c('i',{staticClass:\"fa fa-refresh fa-spin kiwi-notconnected-bigicon\",attrs:{\"aria-hidden\":\"true\"}})]),_c('captcha',{staticClass:\"kiwi-notconnected-captcha\",attrs:{\"network\":_vm.network}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./NicklistUser.vue?vue&type=template&id=f1a1d6b2&functional=true&\"\nimport script from \"./NicklistUser.vue?vue&type=script&lang=js&\"\nexport * from \"./NicklistUser.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NicklistUser.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { render, staticRenderFns } from \"./TypingUsersList.vue?vue&type=template&id=59987590&\"\nimport script from \"./TypingUsersList.vue?vue&type=script&lang=js&\"\nexport * from \"./TypingUsersList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TypingUsersList.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar _default = {\n data: function data() {\n return {\n closing: false\n };\n },\n computed: {\n backgroundStyle: function backgroundStyle() {\n var style = {};\n var options = this.$state.settings.startupOptions;\n\n if (options.infoBackground) {\n style['background-image'] = \"url(\".concat(options.infoBackground, \")\");\n }\n\n return style;\n },\n backgroundImage: function backgroundImage() {\n return this.$state.settings.startupOptions.infoBackground || '';\n },\n infoContent: function infoContent() {\n return this.$state.settings.startupOptions.infoContent || '';\n }\n },\n methods: {\n close: function close() {\n var _this = this;\n\n this.closing = true;\n\n var startApp = function startApp(event) {\n _this.$el.removeEventListener('transitionend', startApp);\n\n _this.$state.persistence.watchStateForChanges(); // Hacky to be using $parent but this component should only be used in a sepcific\n // scope within startup screens\n\n\n _this.$parent.$emit('start');\n };\n\n this.$el.addEventListener('transitionend', startApp, false);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"startups\"]) window._kiwi_exports[\"components\"][\"startups\"] = {};\nwindow._kiwi_exports[\"components\"][\"startups\"][\"CommonLayout\"]\r\nwindow._kiwi_exports.components.startups.CommonLayout = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime-corejs3/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/asyncToGenerator\"));\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar _state = _interopRequireDefault(require(\"@/libs/state\"));\n\nvar _about = _interopRequireDefault(require(\"./about.html\"));\n\nvar firstRun = true;\nvar ctor = {\n data: function data() {\n return {\n about_open: false\n };\n },\n computed: {\n networks: function networks() {\n return this.$state.networks;\n },\n aboutContent: function aboutContent() {\n return _about.default;\n }\n },\n methods: {\n addNetwork: function addNetwork() {\n var nick = 'Guest' + Math.floor(Math.random() * 100);\n var network = this.$state.addNetwork(TextFormatting.t('new_network'), nick, {});\n network.showServerBuffer('settings');\n },\n toggleStateBrowser: function toggleStateBrowser() {\n this.$state.$emit('statebrowser.show');\n },\n init: function init() {\n var _this = this;\n\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _this.$state.persistence.watchStateForChanges();\n\n _this.$emit('start', {\n fallbackComponent: _this.constructor\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n }\n },\n created: function () {\n var _created = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (firstRun) {\n this.init();\n firstRun = false;\n }\n\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function created() {\n return _created.apply(this, arguments);\n }\n\n return created;\n }()\n};\nvar _default = ctor;\nexports.default = _default;\n(0, _state.default)().getStartups().kiwiirccom = ctor;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"thirdparty\"]) window._kiwi_exports[\"thirdparty\"] = {};\nwindow._kiwi_exports[\"thirdparty\"][\"kiwiirccom\"]\r\nwindow._kiwi_exports.thirdparty.kiwiirccom = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IrcInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IrcInput.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowser.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowser.vue?vue&type=style&index=0&lang=less&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-channelinfo\"},[_c('form',{staticClass:\"u-form kiwi-channelinfo-basicmodes\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('label',{staticClass:\"kiwi-channelinfo-topic\"},[_c('span',[_vm._v(_vm._s(_vm.$t('channel_topic')))]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.topic),expression:\"topic\",modifiers:{\"lazy\":true}}],attrs:{\"rows\":\"2\"},domProps:{\"value\":(_vm.topic)},on:{\"change\":function($event){_vm.topic=$event.target.value}}})]),(_vm.buffer.topics.length > 1)?_c('div',{staticClass:\"kiwi-channelinfo-previoustopics\"},[_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){_vm.showPrevTopics = !_vm.showPrevTopics}}},[_vm._v(\" Previous topics \"),_c('i',{class:'fa fa-caret-' + (_vm.showPrevTopics ? 'up' : 'down')})]),(_vm.showPrevTopics)?_c('ul',_vm._l((_vm.prevTopics),function(topicText,idx){return _c('li',{key:idx},[_c('span',[_vm._v(_vm._s(topicText.trim()))])])}),0):_vm._e()]):_vm._e(),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('channel_moderated')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.modeM),expression:\"modeM\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.modeM)?_vm._i(_vm.modeM,null)>-1:(_vm.modeM)},on:{\"change\":function($event){var $$a=_vm.modeM,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.modeM=$$a.concat([$$v]))}else{$$i>-1&&(_vm.modeM=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.modeM=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('channel_invite')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.modeI),expression:\"modeI\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.modeI)?_vm._i(_vm.modeI,null)>-1:(_vm.modeI)},on:{\"change\":function($event){var $$a=_vm.modeI,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.modeI=$$a.concat([$$v]))}else{$$i>-1&&(_vm.modeI=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.modeI=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('channel_moderated_topic')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.modeT),expression:\"modeT\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.modeT)?_vm._i(_vm.modeT,null)>-1:(_vm.modeT)},on:{\"change\":function($event){var $$a=_vm.modeT,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.modeT=$$a.concat([$$v]))}else{$$i>-1&&(_vm.modeT=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.modeT=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('channel_external')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.modeN),expression:\"modeN\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.modeN)?_vm._i(_vm.modeN,null)>-1:(_vm.modeN)},on:{\"change\":function($event){var $$a=_vm.modeN,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.modeN=$$a.concat([$$v]))}else{$$i>-1&&(_vm.modeN=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.modeN=$$c}}}})]),_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('password')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.modeK),expression:\"modeK\",modifiers:{\"lazy\":true}}],staticClass:\"u-input\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.modeK)},on:{\"change\":function($event){_vm.modeK=$event.target.value}}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _setInterval2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-interval\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar WindowTitle = /*#__PURE__*/function () {\n function WindowTitle(state) {\n var _this = this;\n\n (0, _classCallCheck2.default)(this, WindowTitle);\n this.state = state;\n this.title = state.settings.windowTitle || '';\n this.alert = false; // Update the window title if we have one\n\n if (state.settings.windowTitle) {\n this.updateTitle();\n }\n\n state.$watch('settings.windowTitle', function (newVal) {\n _this.updateTitle(newVal);\n });\n state.$watch('ui.app_has_focus', function (newVal) {\n if (newVal && _this.alertTmr) {\n _this.stopAlert();\n }\n });\n state.$on('notification.title', function (enable) {\n if (enable) {\n _this.startAlert();\n } else {\n _this.stopAlert();\n }\n });\n }\n\n (0, _createClass2.default)(WindowTitle, [{\n key: \"startAlert\",\n value: function startAlert() {\n var _this2 = this;\n\n if (this.alertTmr) {\n return;\n }\n\n this.alertTmr = (0, _setInterval2.default)(function () {\n _this2.updateTitle();\n }, 1000);\n }\n }, {\n key: \"stopAlert\",\n value: function stopAlert() {\n if (this.alertTmr) {\n clearInterval(this.alertTmr);\n this.alertTmr = null;\n }\n\n this.updateTitle();\n }\n }, {\n key: \"updateTitle\",\n value: function updateTitle(newTitle) {\n if (typeof newTitle === 'string') {\n this.title = newTitle;\n }\n\n if (this.alertTmr && !this.alert) {\n window.document.title = '* ' + this.title;\n this.alert = true;\n } else {\n window.document.title = this.title;\n this.alert = false;\n }\n }\n }]);\n return WindowTitle;\n}();\n\nexports.default = WindowTitle;","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\nvar _default = {\n components: {\n AwayStatusIndicator: _AwayStatusIndicator.default\n },\n props: ['network'],\n data: function data() {\n return {\n is_usermenu_open: false\n };\n },\n computed: {\n userInitial: function userInitial() {\n var initial = 'U';\n\n if (this.network && this.network.nick) {\n initial = this.network.nick.charAt(0).toUpperCase();\n }\n\n return initial;\n },\n networkName: function networkName() {\n var name = TextFormatting.t('no_network');\n\n if (this.network) {\n name = this.network.name;\n }\n\n return name;\n },\n getUser: function getUser() {\n return this.network ? this.network.currentUser() : null;\n },\n isConnected: function isConnected() {\n return this.network && this.network.state === 'connected';\n }\n },\n methods: {\n clickForget: function clickForget() {\n var msg = 'This will delete all stored networks and start fresh. Are you sure?';\n /* eslint-disable no-restricted-globals, no-alert */\n\n var confirmed = confirm(msg);\n\n if (!confirmed) {\n return;\n }\n\n this.$state.persistence.forgetState();\n window.location.reload();\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"StateBrowserUsermenu\"]\r\nwindow._kiwi_exports.components.StateBrowserUsermenu = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n/** @module */\n\n/**\n * Command input Alias + re-writing\n *\n * Variables used in aliases:\n * - $0 = the command being run\n * - $1 = first param of input\n * - $N = Nth param of input\n * - $1+2 = first param of input and the next 2 words\n * - $2+4 = second param of input and the next 4 words\n * - $2+ = second param of input and all words after\n * - $variable = variable as set in the vars object\n */\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _slice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/slice\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar AliasRewriter = /*#__PURE__*/function () {\n function AliasRewriter() {\n (0, _classCallCheck2.default)(this, AliasRewriter);\n // Max alias recursion depth\n this.recursiveDepth = 3; // Current alias recursion depth\n\n this.depth = 0;\n this.aliases = {};\n }\n /** Reset the current aliases object from a newline delimited string of aliases */\n\n\n (0, _createClass2.default)(AliasRewriter, [{\n key: \"importFromString\",\n value: function importFromString(str) {\n var _context,\n _this = this;\n\n // Clear out the current aliases before adding new ones in\n this.aliases = {};\n (0, _forEach.default)(_context = str.split('\\n')).call(_context, function (line) {\n var _context2;\n\n if (line[0] !== '/') {\n return;\n }\n\n var spaceSep = (0, _indexOf.default)(line).call(line, ' ');\n\n if (spaceSep === -1) {\n return;\n }\n\n var command = line.substring(0, spaceSep);\n var actions = (0, _trim.default)(_context2 = line.substring(spaceSep + 1)).call(_context2);\n\n if (!actions) {\n return;\n }\n\n _this.aliases[command.toLowerCase()] = actions;\n });\n } // Takes an array of words to process!\n\n }, {\n key: \"processInput\",\n value: function processInput(input, vars) {\n var words = input || [];\n var alias = this.aliases[words[0].toLowerCase()];\n var aliasLen;\n var currentAliasWord = '';\n var currentAliasWordLen = 0;\n var processedConditionals = false;\n var compiled = []; // If an alias wasn't found, return the original input\n\n if (!alias) return input; // Split the alias up into useable words\n\n alias = alias.split(' ');\n aliasLen = alias.length; // Iterate over each word and pop them into the final compiled array.\n // Any $ words are processed with the result ending into the compiled array.\n\n for (var i = 0; i < aliasLen; i++) {\n currentAliasWord = alias[i];\n currentAliasWordLen = currentAliasWord.length; // $var? word makes this command only run if the var exists\n\n if (!processedConditionals && currentAliasWord[0] === '$' && currentAliasWord[currentAliasWordLen - 1] === '?') {\n var checkVar = currentAliasWord.substr(1, currentAliasWordLen - 2);\n\n if (!vars[checkVar]) {\n compiled = [];\n break;\n } else {\n continue;\n }\n } else {\n processedConditionals = true;\n } // Non $ word\n\n\n if (currentAliasWord[0] !== '$') {\n compiled.push(currentAliasWord);\n continue;\n } // Refering to an input word ($N)\n\n\n if ((currentAliasWord[1] || '').match(/\\d/)) {\n var num = currentAliasWord.match(/\\$(\\d+)(\\+)?(\\d+)?/); // Did we find anything or does the word it refers to non-existant?\n\n if (!num || !words[num[1]]) continue;\n\n if (num[2] === '+' && num[3]) {\n // Add X number of words\n compiled = (0, _concat.default)(compiled).call(compiled, (0, _slice.default)(words).call(words, (0, _parseInt2.default)(num[1], 10), (0, _parseInt2.default)(num[1], 10) + (0, _parseInt2.default)(num[3], 10)));\n } else if (num[2] === '+') {\n // Add the remaining of the words\n compiled = (0, _concat.default)(compiled).call(compiled, (0, _slice.default)(words).call(words, (0, _parseInt2.default)(num[1], 10)));\n } else {\n // Add a single word\n compiled.push(words[(0, _parseInt2.default)(num[1], 10)]);\n }\n\n continue;\n } // Refering to a variable\n\n\n if (typeof vars[currentAliasWord.substr(1)] !== 'undefined') {\n // Get the variable\n compiled.push(vars[currentAliasWord.substr(1)]);\n continue;\n }\n }\n\n return compiled;\n }\n /** Take a string input, process any aliases and output the finalised string */\n\n }, {\n key: \"process\",\n value: function process(input, vars) {\n var line = input || '';\n var words = line.split(' ');\n var firstWord = (words[0] || '').toLowerCase();\n this.depth++;\n\n if (this.depth >= this.recursiveDepth) {\n this.depth--;\n return line;\n }\n\n if (this.aliases[firstWord]) {\n words = this.processInput(words, vars);\n firstWord = (words[0] || '').toLowerCase();\n\n if (this.aliases[firstWord]) {\n words = this.process(words.join(' '), vars).split(' ');\n }\n }\n\n this.depth--;\n return words.join(' ');\n }\n }]);\n return AliasRewriter;\n}();\n\nexports.default = AliasRewriter;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"AliasRewriter\"]\r\nwindow._kiwi_exports.libs.AliasRewriter = exports.default ? exports.default : exports;\r\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _MediaViewer = _interopRequireDefault(require(\"./MediaViewer\"));\n\nvar _MessageInfo = _interopRequireDefault(require(\"./MessageInfo\"));\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar methods = {\n props: {},\n displayNick: function displayNick() {\n var props = this.props;\n var suffix = props.message.nick ? ':' : '';\n return props.message.nick + suffix;\n },\n userMode: function userMode(user) {\n var props = this.props;\n return props.ml.buffer.userMode(user);\n },\n userModePrefix: function userModePrefix(user) {\n var props = this.props;\n return props.ml.buffer.userModePrefix(user);\n }\n};\nvar _default = {\n inject: {\n components: {\n default: {\n MessageInfo: _MessageInfo.default,\n MediaViewer: _MediaViewer.default\n }\n }\n },\n props: {\n ml: Object,\n message: Object,\n idx: Number,\n m: {\n default: function m() {\n // vue uses this function to generate the prop. `this`==null Return our own function\n return function n() {\n // Give our methods some props context before its function is called.\n // This is only safe because the function on the methods object is called on\n // the same js tick\n methods.props = this;\n return methods;\n };\n }\n }\n }\n};\nexports.default = _default;","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserBox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserBox.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotConnected.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotConnected.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _sort = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/sort\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _Html = _interopRequireDefault(require(\"@/libs/renderers/Html\"));\n\nvar _MessageParser = _interopRequireDefault(require(\"@/libs/MessageParser\"));\n\nvar _default = {\n props: ['network', 'buffer', 'sidebarState'],\n data: function data() {\n return {\n pluginUiSections: _GlobalApi.default.singleton().aboutBufferPlugins,\n closedSections: {}\n };\n },\n computed: {\n b: function b() {\n return this.buffer || {};\n },\n formattedTopic: function formattedTopic() {\n var blocks = (0, _MessageParser.default)(this.b.topic || '', {\n extras: false\n });\n var content = (0, _Html.default)(blocks);\n return content;\n },\n highlights: function highlights() {\n var _context, _context2, _context3, _context4, _context5, _context6;\n\n // Tap into buffer.message_count to force vuejs to update this function when\n // it changes\n\n /* eslint-disable no-unused-vars */\n var tmp = this.buffer.message_count;\n return (0, _sort.default)(_context = (0, _filter.default)(_context2 = (0, _filter.default)(_context3 = (0, _filter.default)(_context4 = (0, _filter.default)(_context5 = (0, _filter.default)(_context6 = this.buffer.getMessages()).call(_context6, function (m) {\n return m.isHighlight;\n })).call(_context5, function (m) {\n return m.type !== 'traffic';\n })).call(_context4, function (m) {\n return m.type !== 'topic';\n })).call(_context3, function (m) {\n return m.type !== 'mode';\n })).call(_context2, function (m) {\n return m.html;\n })).call(_context, function (a, b) {\n return b.time - a.time;\n });\n }\n },\n methods: {\n toggleSection: function toggleSection(section) {\n this.$set(this.closedSections, section, !this.closedSections[section]);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"SidebarAboutBuffer\"]\r\nwindow._kiwi_exports.components.SidebarAboutBuffer = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-controlinput kiwi-theme-bg\",class:{\n 'kiwi-controlinput-selfuser--open': _vm.selfuser_open,\n 'kiwi-controlinput--focus': _vm.has_focus,\n }},[_c('div',{staticClass:\"kiwi-controlinput-selfuser\"},[_c('transition',{attrs:{\"name\":\"kiwi-selfuser-trans\"}},[(_vm.networkState==='connected'\n && _vm.selfuser_open === true)?_c('self-user',{attrs:{\"network\":_vm.buffer.getNetwork()},on:{\"close\":function($event){_vm.selfuser_open=false}}}):_vm._e()],1)],1),_c('div',{staticClass:\"kiwi-controlinput-inner\"},[(_vm.buffer.getNetwork() && _vm.buffer.getNetwork().state === 'connected')?_c('away-status-indicator',{attrs:{\"network\":_vm.buffer.getNetwork(),\"user\":_vm.buffer.getNetwork().currentUser()}}):_vm._e(),(_vm.currentNick)?_c('div',{staticClass:\"kiwi-controlinput-user\",on:{\"click\":_vm.toggleSelfUser}},[_c('span',{staticClass:\"kiwi-controlinput-user-nick\"},[_vm._v(_vm._s(_vm.currentNick))]),_c('i',{staticClass:\"fa\",class:[_vm.selfuser_open ? 'fa-caret-down' : 'fa-caret-up'],attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_c('form',{staticClass:\"kiwi-controlinput-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submitForm($event)},\"click\":_vm.maybeHidePlugins}},[(_vm.autocomplete_open)?_c('auto-complete',{ref:\"autocomplete\",attrs:{\"items\":_vm.autocomplete_items,\"filter\":_vm.autocomplete_filter,\"buffer\":_vm.buffer},on:{\"temp\":_vm.onAutocompleteTemp,\"selected\":_vm.onAutocompleteSelected,\"cancel\":_vm.onAutocompleteCancel}}):_vm._e(),(_vm.buffer.setting('share_typing'))?_c('typing-users-list',{attrs:{\"buffer\":_vm.buffer}}):_vm._e(),_c('div',{staticClass:\"kiwi-controlinput-input-wrap\"},[_c('irc-input',{ref:\"input\",staticClass:\"kiwi-controlinput-input\",attrs:{\"placeholder\":_vm.$t('input_placeholder'),\"wrap\":\"off\"},on:{\"input\":_vm.inputUpdate,\"keydown\":function($event){return _vm.inputKeyDown($event)},\"keyup\":function($event){return _vm.inputKeyUp($event)},\"click\":_vm.closeInputTool,\"focus\":function($event){_vm.has_focus = true},\"blur\":function($event){_vm.has_focus = false}}})],1),(_vm.shouldShowSendButton)?_c('button',{staticClass:\"kiwi-controlinput-send fa fa-paper-plane\",attrs:{\"type\":\"submit\"}}):_vm._e()],1),(_vm.shouldShowInputButtons)?_c('div',{ref:\"plugins\",staticClass:\"kiwi-controlinput-tools\"},[_c('div',{staticClass:\"kiwi-controlinput-tools-container-expand\",class:{'kiwi-controlinput-tools-container-expand--inverse': !_vm.showPlugins},on:{\"click\":function($event){_vm.showPlugins=!_vm.showPlugins}}},[_c('i',{staticClass:\"fa fa-bars\",attrs:{\"aria-hidden\":\"true\"}})]),_c('transition',{attrs:{\"name\":\"kiwi-plugin-ui-trans\"}},[(_vm.showPlugins)?_c('div',{staticClass:\"kiwi-controlinput-tools-container\"},[(_vm.shouldShowColorPicker)?_c('a',{staticClass:\"kiwi-controlinput-tool\",on:{\"click\":function($event){$event.preventDefault();return _vm.onToolClickTextStyle($event)}}},[_c('i',{staticClass:\"fa fa-adjust\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),(_vm.shouldShowEmojiPicker)?_c('a',{staticClass:\"kiwi-controlinput-tool\",on:{\"click\":function($event){$event.preventDefault();return _vm.onToolClickEmoji($event)}}},[_c('i',{staticClass:\"fa fa-smile-o\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_vm._l((_vm.pluginUiElements),function(plugin){return _c('div',{directives:[{name:\"rawElement\",rawName:\"v-rawElement\",value:({\n el: plugin.el,\n props: {\n controlinput: _vm.self,\n }\n }),expression:\"{\\n el: plugin.el,\\n props: {\\n controlinput: self,\\n }\\n }\"}],key:plugin.id,staticClass:\"kiwi-controlinput-tool\"})})],2):_vm._e()])],1):_vm._e()],1),_c('div',{staticClass:\"kiwi-controlinput-active-tool\"},[_c(_vm.active_tool,_vm._b({tag:\"component\"},'component',_vm.active_tool_props,false))],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputConfirm.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputConfirm.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar _default = {\n props: ['error']\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"StartupError\"]\r\nwindow._kiwi_exports.components.StartupError = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageInfo.vue?vue&type=script&lang=js&\"","\"use strict\";\n'kiwi public';\n/** @module */\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _construct = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/reflect/construct\"));\n\nvar _slice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/slice\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/toConsumableArray\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/inherits\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/getPrototypeOf\"));\n\nvar _eventemitter = _interopRequireDefault(require(\"eventemitter3\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _json = _interopRequireDefault(require(\"json5\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _compareVersions = _interopRequireDefault(require(\"compare-versions\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _Logger = _interopRequireDefault(require(\"./Logger\"));\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = (0, _construct.default)(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !_construct.default) return false; if (_construct.default.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call((0, _construct.default)(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar singletonInstance = null;\nvar pluginsToInit = [];\nvar nextPluginId = 0;\n/** The global kiwi API instance */\n\nvar GlobalApi = /*#__PURE__*/function (_EventEmitter) {\n (0, _inherits2.default)(GlobalApi, _EventEmitter);\n\n var _super = _createSuper(GlobalApi);\n\n function GlobalApi() {\n var _this;\n\n (0, _classCallCheck2.default)(this, GlobalApi);\n _this = _super.call(this); // eslint-disable-next-line no-undef\n\n _this.version = __VERSION__;\n /** A reference to the internal Vuejs instance */\n\n _this.Vue = _vue.default;\n /** Expose JSON5 so that plugins can use the same config format */\n\n _this.JSON5 = _json.default;\n /** The applications internal state */\n\n _this.state = null;\n /** The applications ThemeManager */\n\n _this.themes = null;\n _this.controlInputPlugins = [];\n _this.stateBrowserPlugins = [];\n _this.channelHeaderPlugins = [];\n _this.queryHeaderPlugins = [];\n _this.sideBarPlugins = [];\n _this.appSettingsPlugins = [];\n _this.serverViewPlugins = [];\n _this.aboutBufferPlugins = [];\n _this.tabs = (0, _create.default)(null);\n _this.isReady = false;\n /* eslint-disable no-underscore-dangle */\n\n _this.exports = window._kiwi_exports || {};\n\n _this.on('init', function () {\n _this.isReady = true;\n\n _this.initPlugins();\n });\n\n return _this;\n }\n\n (0, _createClass2.default)(GlobalApi, [{\n key: \"versionMatches\",\n value: function versionMatches(v) {\n return (0, _compareVersions.default)(this.version, v) >= 0;\n }\n /**\n * Register a plugin with kiwi\n *\n * Plugins being loaded at startup will be registered once Kiwi is ready. At any\n * other point the plugin will be registered instantly\n * @param {String} pluginName The name of this plugin\n * @param {Function} fn A callback function to start the plugin. function(kiwi, logger)\n */\n\n }, {\n key: \"plugin\",\n value: function plugin(pluginName, fn) {\n var plugin = {\n name: pluginName,\n fn: fn\n };\n\n if (this.isReady) {\n this.initPlugin(plugin);\n } else {\n pluginsToInit.push(plugin);\n }\n } // Init any plugins that were added before we were ready\n\n }, {\n key: \"initPlugins\",\n value: function initPlugins() {\n var _this2 = this;\n\n (0, _forEach.default)(pluginsToInit).call(pluginsToInit, function (plugin) {\n return _this2.initPlugin(plugin);\n });\n pluginsToInit = [];\n }\n }, {\n key: \"initPlugin\",\n value: function initPlugin(plugin) {\n var pluginLogger = _Logger.default.namespace(\"Plugin \".concat(plugin.name));\n\n try {\n plugin.fn(this, pluginLogger);\n this.state.$emit('plugin.loaded', {\n name: plugin.name\n });\n } catch (err) {\n pluginLogger.error(err.stack);\n }\n }\n /**\n * Get a reference to an internal Kiwi module\n *\n * E.g. require('helpers/TextFormatting');\n * @param {String} mod The module path\n */\n\n }, {\n key: \"require\",\n value: function require(modPath) {\n var path = modPath.replace(/\\//g, '.');\n\n var mod = _lodash.default.get(this.exports, path);\n\n if (typeof mod === 'undefined') {\n _Logger.default.error('Module does not exist: ' + modPath);\n }\n\n return mod;\n }\n }, {\n key: \"setState\",\n value: function setState(state) {\n var _this3 = this;\n\n this.state = state; // Hacky, but since Vues emitter doesnt support 'all', hijack its $emit call\n // so that we can forward the event on to plugins\n\n var stateEmit = this.state.$emit;\n var thisEmit = this.emit;\n\n this.state.$emit = function () {\n var _context3;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n try {\n var _context, _context2;\n\n thisEmit.call.apply(thisEmit, (0, _concat.default)(_context = [_this3, 'all', args[0]]).call(_context, (0, _toConsumableArray2.default)((0, _slice.default)(args).call(args, 1))));\n thisEmit.call.apply(thisEmit, (0, _concat.default)(_context2 = [_this3]).call(_context2, args));\n } catch (err) {\n _Logger.default.error(err.stack);\n }\n\n return stateEmit.call.apply(stateEmit, (0, _concat.default)(_context3 = [_this3.state]).call(_context3, args));\n }; // Let plugins emit events into the internal state\n\n\n this.emit = function () {\n var _context4, _context5;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n stateEmit.call.apply(stateEmit, (0, _concat.default)(_context4 = [_this3.state]).call(_context4, args));\n thisEmit.call.apply(thisEmit, (0, _concat.default)(_context5 = [_this3]).call(_context5, args));\n };\n }\n }, {\n key: \"setThemeManager\",\n value: function setThemeManager(themeManager) {\n this.themes = themeManager;\n }\n /**\n * Change the logging level output\n * @param {number} newLevel The new logging level\n */\n\n }, {\n key: \"logLevel\",\n value: function logLevel(newLevel) {\n _Logger.default.setLevel(newLevel);\n }\n }, {\n key: \"addUi\",\n\n /**\n * Add a DOM element to different parts of the Kiwi UI\n * - addUi('input', domElement)\n * - addUi('browser', domElement)\n * - addUi('header_channel', domElement)\n * - addUi('header_query', domElement)\n * @param {string} type Where this DOM element should be added\n * @param {element} element The HTML element to add\n * @param {object} args Optional arguments for this plugis\n */\n value: function addUi(type, element) {\n var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var plugin = {\n el: element,\n id: nextPluginId++,\n args: args\n };\n\n switch (type) {\n case 'input':\n this.controlInputPlugins.push(plugin);\n break;\n\n case 'browser':\n this.stateBrowserPlugins.push(plugin);\n break;\n\n case 'header_channel':\n this.channelHeaderPlugins.push(plugin);\n break;\n\n case 'header_query':\n this.queryHeaderPlugins.push(plugin);\n break;\n\n case 'about_buffer':\n this.aboutBufferPlugins.push(plugin);\n break;\n\n default:\n break;\n }\n }\n /**\n * Add a Vue component as a tab to different tabbed views in the Kiwi API\n * - addTab('channel', 'title', component, props)\n * - addTab('settings', 'title', component, props)\n * - addTab('server', 'title', component, props)\n * @param {String} type The type of tab to add. This determines where it will be shown\n * @param {String} title The title shown on the tab\n * @param {Component} component The vuejs component that is displayed for this tab\n * @param {Object} props Optional properties for the vuejs component\n */\n\n }, {\n key: \"addTab\",\n value: function addTab(type, title, component, props) {\n var plugin = {\n id: nextPluginId++,\n title: title,\n component: component,\n props: props\n };\n\n switch (type) {\n case 'channel':\n this.sideBarPlugins.push(plugin);\n break;\n\n case 'settings':\n this.appSettingsPlugins.push(plugin);\n break;\n\n case 'server':\n this.serverViewPlugins.push(plugin);\n break;\n\n default:\n break;\n }\n }\n /**\n * Register a Vue component that may be shown in future. It is shown over the entire\n * client alongside the StateBrowser\n * @param {String} name A name to reference this view in future\n * @param {Component} component The vuejs component to create the view\n * @param {Object} props Optional properties the the vuejs component\n */\n\n }, {\n key: \"addView\",\n value: function addView(name, component, props) {\n this.tabs[name] = {\n id: nextPluginId++,\n component: _vue.default.extend(component),\n props: props || {}\n };\n }\n /**\n * Show a previously registered view\n * @param {String} name The name of previously registered view to show\n */\n\n }, {\n key: \"showView\",\n value: function showView(name) {\n // null disables any active component and reverts the UI back to the buffers\n var tab = this.tabs[name];\n\n if (tab) {\n this.state.$emit('active.component', tab.component, tab.props);\n } else {\n this.state.$emit('active.component', null);\n }\n }\n /**\n * Show a Vuejs component in the sidebar\n * @param {Object} component The vuejs component to render\n */\n\n }, {\n key: \"showInSidebar\",\n value: function showInSidebar(component) {\n this.state.$emit('sidebar.component', component);\n }\n /**\n * Add a custom startup screen that may be loaded by the configuration file\n * @param {String} name The name of this startup screen\n * @param {Object} ctor The constructor object for the vuejs component\n */\n\n }, {\n key: \"addStartup\",\n value: function addStartup(name, ctor) {\n var startups = this.state.getStartups();\n startups[name] = ctor;\n }\n /**\n *\n * @param {String} dest The module path to replace\n * @param {Object} source The new module to insert in place\n */\n\n }, {\n key: \"replaceModule\",\n value: function replaceModule(dest, source) {\n var mod = this.require(dest);\n\n if (!mod) {\n throw new Error(\"The module \".concat(dest, \" does not exist\"));\n }\n\n Misc.replaceObjectProps(mod, source);\n }\n }, {\n key: \"log\",\n get: function get() {\n return _Logger.default;\n }\n }], [{\n key: \"singleton\",\n value: function singleton() {\n singletonInstance = singletonInstance || new GlobalApi();\n return singletonInstance;\n }\n }]);\n return GlobalApi;\n}(_eventemitter.default);\n\nexports.default = GlobalApi;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"GlobalApi\"]\r\nwindow._kiwi_exports.libs.GlobalApi = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypingStatusIndicator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypingStatusIndicator.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime-corejs3/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/asyncToGenerator\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _Logger = _interopRequireDefault(require(\"@/libs/Logger\"));\n\nvar _CommonLayout = _interopRequireDefault(require(\"./CommonLayout\"));\n\nvar log = _Logger.default.namespace('Startup/kiwiBnc');\n\nvar _default = {\n components: {\n StartupLayout: _CommonLayout.default\n },\n data: function data() {\n return {\n loading: false,\n username: '',\n password: '',\n statusMessage: ''\n };\n },\n computed: {\n greetingText: function greetingText() {\n var greeting = this.$state.settings.startupOptions.greetingText;\n return typeof greeting === 'string' ? greeting : this.$t('start_greeting');\n },\n buttonText: function buttonText() {\n if (this.loading) {\n return '';\n }\n\n var greeting = this.$state.settings.startupOptions.buttonText;\n return typeof greeting === 'string' ? greeting : this.$t('start_button');\n }\n },\n methods: {\n startUp: function () {\n var _startUp = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n var _this = this;\n\n var bncnet, cleanUpEvents, onRegistered, onError, onClose;\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n this.statusMessage = this.$t('logging_in');\n this.loading = true;\n bncnet = this.getBncNetwork();\n\n cleanUpEvents = function cleanUpEvents() {\n bncnet.ircClient.off('registered', onRegistered);\n bncnet.ircClient.off('irc error', onError);\n bncnet.ircClient.off('close', onClose);\n };\n\n onRegistered = /*#__PURE__*/function () {\n var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var bncNetworks, i, network, buffers;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cleanUpEvents();\n _context.next = 3;\n return bncnet.ircClient.bnc.getNetworks();\n\n case 3:\n bncNetworks = _context.sent;\n i = 0;\n\n case 5:\n if (!(i < bncNetworks.length)) {\n _context.next = 22;\n break;\n }\n\n network = bncNetworks[i];\n network.buffers = [];\n _context.prev = 8;\n _context.next = 11;\n return bncnet.ircClient.bnc.getBuffers(network.name);\n\n case 11:\n buffers = _context.sent;\n network.buffers = buffers;\n _context.next = 18;\n break;\n\n case 15:\n _context.prev = 15;\n _context.t0 = _context[\"catch\"](8);\n // Log the error here or something\n log.error(_context.t0);\n\n case 18:\n _this.addNetworkToState(network);\n\n case 19:\n i++;\n _context.next = 5;\n break;\n\n case 22:\n _this.monitorNetworkChanges(bncnet, bncNetworks);\n\n _this.$refs.layout.close();\n\n case 24:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[8, 15]]);\n }));\n\n return function onRegistered() {\n return _ref.apply(this, arguments);\n };\n }();\n\n onError = function onError(event) {\n cleanUpEvents();\n _this.statusMessage = _this.$t('invalid_login');\n _this.loading = false;\n };\n\n onClose = function onClose(event) {\n cleanUpEvents();\n _this.statusMessage = _this.$t('invalid_login');\n _this.loading = false;\n };\n\n bncnet.ircClient.once('registered', onRegistered);\n bncnet.ircClient.once('irc error', onError);\n bncnet.ircClient.once('close', onClose);\n bncnet.ircClient.connect();\n\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function startUp() {\n return _startUp.apply(this, arguments);\n }\n\n return startUp;\n }(),\n getBncNetwork: function getBncNetwork() {\n var bnc = this.$state.setting('bnc');\n\n if (bnc.network) {\n bnc.username = this.username;\n bnc.password = this.password;\n return bnc.network;\n }\n\n var options = this.$state.settings.startupOptions; // Indicate that all our connections will be going through a BNC\n\n bnc.active = true;\n bnc.server = options.server || '';\n bnc.port = options.port || 6667;\n bnc.tls = !!options.tls;\n bnc.username = this.username;\n bnc.password = this.password;\n var bncnet = this.$state.addNetwork('bnccontrol', this.username, {\n server: bnc.server,\n port: bnc.port,\n tls: bnc.tls\n });\n bnc.network = bncnet;\n return bncnet;\n },\n addNetworkToState: function addNetworkToState(network) {\n var _context3,\n _this2 = this;\n\n // Expects network to be in the format of:\n // {\n // \"buffers\":[{\"channel\":\"1\",\"name\":\"#prawnsalad\",\"joined\":\"1\"}],\n // \"name\":\"freenode\",\n // \"channel\":\"1\",\n // \"connected\":\"1\",\n // \"host\":\"irc.freenode.net\",\n // \"port\":\"6667\",\n // \"tls\":\"0\",\n // \"nick\":\"notprawn99829\"\n // },\n var net = this.$state.addNetwork(network.name, network.nick, {\n server: network.host,\n port: network.port,\n tls: network.tls,\n password: network.password,\n bncname: network.name,\n username: network.user\n });\n (0, _forEach.default)(_context3 = network.buffers).call(_context3, function (buffer) {\n var newBuffer = _this2.$state.addBuffer(net.id, buffer.name);\n\n if (buffer.joined) {\n newBuffer.enabled = true;\n }\n\n if (buffer.seen) {\n newBuffer.last_read = new Date(buffer.seen).getTime();\n }\n });\n },\n monitorNetworkChanges: function monitorNetworkChanges(bncNet, bncNetworks) {\n var _this3 = this;\n\n var existingNets = (0, _create.default)(null);\n\n function rememberNetworks() {\n var _context4;\n\n (0, _forEach.default)(_context4 = this.$state.networks).call(_context4, function (network) {\n if (!network.connection.bncname) {\n return;\n }\n\n existingNets[network.connection.bncname] = {\n name: network.connection.bncname,\n host: network.connection.server,\n port: network.connection.port,\n tls: network.connection.tls,\n password: network.password,\n nick: network.nick,\n username: network.username\n };\n });\n }\n\n rememberNetworks();\n\n var saveState = function saveState(newVal) {\n var _context5;\n\n (0, _forEach.default)(_context5 = _this3.$state.networks).call(_context5, function (network) {\n // Only deal with BNC networks\n if (network.name === 'bnccontrol') {\n return;\n }\n\n var bncName = network.connection.bncname;\n var current = existingNets[bncName] || {};\n var tags = {};\n\n if (network.connection.server !== current.host) {\n tags.host = network.connection.server;\n }\n\n if (network.connection.port !== current.port) {\n tags.port = network.connection.port;\n }\n\n if (network.connection.tls !== current.tls) {\n tags.tls = network.connection.tls;\n }\n\n if (network.password !== current.password) {\n tags.password = network.password;\n }\n\n if (network.nick !== current.nick) {\n tags.nick = network.nick;\n }\n\n if (network.username !== current.username) {\n tags.user = network.username;\n } // A newly added network would not have a current name property set yet.\n // Only save the network if we've entered a host.\n\n\n if (!current.name && tags.host) {\n network.connection.bncname = network.name;\n bncNet.ircClient.bnc.addNetwork(network.name, tags.host, tags.port, tags.tls, tags.nick, tags.user, tags.password);\n } else if (current.name) {\n bncNet.ircClient.bnc.saveNetwork(bncName, tags);\n }\n });\n rememberNetworks();\n };\n\n var debouncedSaveState = _lodash.default.debounce(saveState, 2000);\n\n this.$state.$watch('networks', debouncedSaveState, {\n deep: true\n }); // Just before we connect to a network, make sure the BNC is sabed and connected to\n // it or at least trying to connect.\n\n this.$state.$on('network.connecting', function (event) {\n saveState();\n var netName = event.network.connection.bncname;\n var networkFromBnc = (0, _find.default)(_lodash.default).call(_lodash.default, bncNetworks, {\n name: netName\n });\n\n if (networkFromBnc && !networkFromBnc.connected) {\n bncNet.ircClient.raw('BOUNCER connect ' + netName);\n }\n }); // Very hacky until we have network name renaming on the bnc. When a new network\n // is added, change the name to the next available network name.\n\n this.$state.$on('network.new', function (event) {\n var currentNum = 1;\n var existingNet = true;\n\n while (existingNet) {\n existingNet = (0, _find.default)(_lodash.default).call(_lodash.default, _this3.$state.networks, {\n name: 'Network' + currentNum\n });\n\n if (!existingNet) {\n event.network.name = 'Network' + currentNum;\n }\n\n currentNum++;\n }\n });\n this.$state.$on('network.removed', function (event) {\n bncNet.ircClient.bnc.removeNetwork(event.network.connection.bncname);\n });\n this.$state.$on('buffer.close', function (event) {\n var buffer = event.buffer;\n var network = event.buffer.getNetwork();\n var bncName = network.connection.bncname;\n\n if (bncName) {\n bncNet.ircClient.bnc.closeBuffer(bncName, buffer.name);\n }\n });\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"startups\"]) window._kiwi_exports[\"components\"][\"startups\"] = {};\nwindow._kiwi_exports[\"components\"][\"startups\"][\"KiwiBnc\"]\r\nwindow._kiwi_exports.components.startups.KiwiBnc = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _CommonLayout = _interopRequireDefault(require(\"./CommonLayout\"));\n\nvar _default = {\n components: {\n StartupLayout: _CommonLayout.default\n },\n data: function data() {\n return {\n network: null,\n network_extras: null,\n username: '',\n password: '',\n znc_network: '',\n showNetwork: true,\n showPass: true,\n showUser: true,\n show_password_box: false\n };\n },\n computed: {\n greetingText: function greetingText() {\n var greeting = this.$state.settings.startupOptions.greetingText;\n return typeof greeting === 'string' ? greeting : this.$t('start_greeting');\n },\n buttonText: function buttonText() {\n var greeting = this.$state.settings.startupOptions.buttonText;\n return typeof greeting === 'string' ? greeting : this.$t('start_button');\n },\n readyToStart: function readyToStart() {\n return this.username && (this.password || this.showPass === false);\n },\n infoContent: function infoContent() {\n return this.$state.settings.startupOptions.infoContent || '';\n }\n },\n created: function created() {\n var options = this.$state.settings.startupOptions;\n this.username = options.username || '';\n this.password = options.password || '';\n this.znc_network = window.location.hash.substr(1) || options.network || '';\n this.showNetwork = typeof options.showNetwork === 'boolean' ? options.showNetwork : true;\n this.showUser = typeof options.showUser === 'boolean' ? options.showUser : true;\n this.showPass = typeof options.showPass === 'boolean' ? options.showPass : true;\n\n if (options.autoConnect && this.username && this.password) {\n this.startUp();\n }\n },\n methods: {\n readableStateError: function readableStateError(err) {\n return Misc.networkErrorMessage(err);\n },\n formSubmit: function formSubmit() {\n if (this.readyToStart) {\n this.startUp();\n }\n },\n addNetwork: function addNetwork(netName) {\n var options = this.$state.settings.startupOptions;\n var password = this.username;\n\n if (netName) {\n password += '/' + netName;\n }\n\n password += ':' + this.password;\n var net = this.$state.addNetwork(netName, 'ZNC', {\n server: (0, _trim.default)(_lodash.default).call(_lodash.default, options.server),\n port: options.port,\n tls: options.tls,\n password: password\n });\n return net;\n },\n startUp: function startUp() {\n var _this = this;\n\n if (this.network) {\n this.$state.removeNetwork(this.network.id);\n }\n\n var netList = _lodash.default.compact(this.znc_network.split(','));\n\n if (netList.length === 0) {\n netList.push('');\n } // add our first network and make sure we can connect\n // before trying to add other networks.\n\n\n var net = this.network = this.addNetwork(netList.shift());\n this.network_extras = netList;\n\n var onRegistered = function onRegistered() {\n var _context;\n\n _this.$state.setActiveBuffer(net.id, net.serverBuffer().name);\n\n net.ircClient.off('registered', onRegistered);\n net.ircClient.off('close', onClosed);\n (0, _forEach.default)(_context = _this.network_extras).call(_context, function (netName, idx) {\n var extraNet = _this.addNetwork((0, _trim.default)(_lodash.default).call(_lodash.default, netName));\n\n extraNet.ircClient.connect();\n });\n\n _this.$refs.layout.close();\n };\n\n var onClosed = function onClosed() {\n net.ircClient.off('registered', onRegistered);\n net.ircClient.off('close', onClosed);\n };\n\n net.ircClient.once('registered', onRegistered);\n net.ircClient.once('close', onClosed);\n net.ircClient.connect();\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"startups\"]) window._kiwi_exports[\"components\"][\"startups\"] = {};\nwindow._kiwi_exports[\"components\"][\"startups\"][\"ZncLogin\"]\r\nwindow._kiwi_exports.components.startups.ZncLogin = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./MediaViewer.vue?vue&type=template&id=16e4bd89&\"\nimport script from \"./MediaViewer.vue?vue&type=script&lang=js&\"\nexport * from \"./MediaViewer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MediaViewer.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BufferKey.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BufferKey.vue?vue&type=script&lang=js&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Personal.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Personal.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _sort = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/sort\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/toConsumableArray\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _bind = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/bind\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _flags = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/flags\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _strftime = _interopRequireDefault(require(\"strftime\"));\n\nvar _Logger = _interopRequireDefault(require(\"@/libs/Logger\"));\n\nvar bufferTools = _interopRequireWildcard(require(\"@/libs/bufferTools\"));\n\nvar _BufferKey = _interopRequireDefault(require(\"./BufferKey\"));\n\nvar _MessageListMessageCompact = _interopRequireDefault(require(\"./MessageListMessageCompact\"));\n\nvar _MessageListMessageModern = _interopRequireDefault(require(\"./MessageListMessageModern\"));\n\nvar _MessageListMessageInline = _interopRequireDefault(require(\"./MessageListMessageInline\"));\n\nvar _LoadingAnimation = _interopRequireDefault(require(\"./LoadingAnimation.vue\"));\n\nrequire('@/libs/polyfill/Element.closest');\n\nvar log = _Logger.default.namespace('MessageList.vue'); // If we're scrolled up more than this many pixels, don't auto scroll down to the bottom\n// of the message list\n\n\nvar BOTTOM_SCROLL_MARGIN = 60;\nvar _default = {\n components: {\n BufferKey: _BufferKey.default,\n MessageListMessageModern: _MessageListMessageModern.default,\n MessageListMessageCompact: _MessageListMessageCompact.default,\n MessageListMessageInline: _MessageListMessageInline.default,\n LoadingAnimation: _LoadingAnimation.default\n },\n props: ['buffer'],\n data: function data() {\n return {\n smooth_scroll: false,\n auto_scroll: true,\n force_smooth_scroll: null,\n chathistoryAvailable: true,\n hover_nick: '',\n message_info_open: null,\n timeToClose: false,\n startClosing: false,\n selectedMessages: (0, _create.default)(null)\n };\n },\n computed: {\n thisMl: function thisMl() {\n return this;\n },\n listType: function listType() {\n if (this.$state.setting('messageLayout')) {\n log.info('Deprecation Warning: The config option \\'messageLayout\\' has been moved to buffers.messageLayout');\n }\n\n return this.buffer.setting('messageLayout') || this.$state.setting('messageLayout');\n },\n useExtraFormatting: function useExtraFormatting() {\n // Enables simple markdown formatting\n return this.buffer.setting('extra_formatting');\n },\n shouldShowChathistoryTools: function shouldShowChathistoryTools() {\n // Only show it if we're connected\n if (this.buffer.getNetwork().state !== 'connected') {\n return false;\n }\n\n var isCorrectBufferType = this.buffer.isChannel() || this.buffer.isQuery();\n var isSupported = !!this.buffer.getNetwork().ircClient.chathistory.isSupported();\n return isCorrectBufferType && isSupported && (0, _flags.default)(this.buffer).chathistory_available;\n },\n shouldRequestChannelKey: function shouldRequestChannelKey() {\n return this.buffer.getNetwork().state === 'connected' && this.buffer.isChannel() && (0, _flags.default)(this.buffer).channel_badkey;\n },\n ourNick: function ourNick() {\n return this.buffer ? this.buffer.getNetwork().nick : '';\n },\n filteredMessagesGroupedDay: function filteredMessagesGroupedDay() {\n var _context;\n\n // Group messages by day\n var days = [];\n var lastDay = null;\n (0, _forEach.default)(_context = this.filteredMessages).call(_context, function (message) {\n var day = Math.floor(message.time / 1000 / 86400);\n\n if (!lastDay || day !== lastDay) {\n days.push({\n dayNum: day,\n messages: []\n });\n lastDay = day;\n }\n\n days[days.length - 1].messages.push(message);\n });\n return days;\n },\n filteredMessages: function filteredMessages() {\n return bufferTools.orderedMessages(this.buffer);\n },\n shouldShowJoiningLoader: function shouldShowJoiningLoader() {\n return this.buffer.isChannel() && this.buffer.enabled && !this.buffer.joined && this.buffer.getNetwork().state === 'connected';\n }\n },\n watch: {\n filteredMessages: function filteredMessages() {\n var _this = this;\n\n // Data has changed and now preparing to update the DOM.\n // Check our scrolling state before the DOM updates so that we know if we're scrolled\n // at the bottom before new messages are added\n this.checkScrollingState(); // Wait until after the DOM has updated before possibly scrolling down based on the\n // previous check\n\n this.$nextTick(function () {\n _this.maybeScrollToBottom();\n });\n },\n buffer: function buffer(newBuffer, oldBuffer) {\n var _this2 = this;\n\n if (oldBuffer) {\n oldBuffer.isMessageTrimming = true;\n }\n\n if (!newBuffer) {\n return;\n }\n\n this.message_info_open = null;\n\n if (this.buffer.getNetwork().state === 'connected') {\n (0, _flags.default)(newBuffer).has_opened = true;\n }\n\n this.auto_scroll = true;\n this.force_smooth_scroll = false;\n this.$nextTick(function () {\n _this2.scrollToBottom();\n });\n }\n },\n mounted: function mounted() {\n var _this3 = this;\n\n this.addCopyListeners();\n this.$nextTick(function () {\n _this3.scrollToBottom(); // this.smooth_scroll = true;\n\n });\n this.listen(this.$state, 'mediaviewer.opened', function () {\n _this3.$nextTick(_this3.maybeScrollToBottom.apply(_this3));\n });\n this.listen(this.$state, 'messagelist.scrollto', function (opt) {\n if (opt && opt.id) {\n _this3.maybeScrollToId(opt.id);\n }\n });\n },\n methods: {\n isHoveringOverMessage: function isHoveringOverMessage(message) {\n return message.nick && message.nick.toLowerCase() === this.hover_nick.toLowerCase();\n },\n toggleMessageInfo: function toggleMessageInfo(message) {\n if (!message) {\n this.message_info_open = null;\n } else if (this.message_info_open === message) {// It's already open, so don't do anything\n } else if (this.canShowInfoForMessage(message)) {\n var _context2;\n\n // If in the process of selecting text, don't show the info box\n var sel = window.getSelection();\n\n if (sel.rangeCount > 0) {\n var range = sel.getRangeAt(0);\n\n if (range && !range.collapsed) {\n return;\n }\n }\n\n this.message_info_open = message;\n this.$nextTick((0, _bind.default)(_context2 = this.maybeScrollToBottom).call(_context2, this));\n }\n },\n shouldShowUnreadMarker: function shouldShowUnreadMarker(message) {\n var _context3;\n\n var idx = (0, _indexOf.default)(_context3 = this.filteredMessages).call(_context3, message);\n var previous = this.filteredMessages[idx - 1];\n var current = this.filteredMessages[idx];\n var lastRead = this.buffer.last_read;\n\n if (!lastRead) {\n return false;\n }\n\n if (!current) {\n return false;\n } // If the last message has been read, and this message not read\n\n\n if (previous && previous.time < lastRead && current.time > lastRead) {\n return true;\n }\n\n return false;\n },\n shouldShowDateChangeMarker: function shouldShowDateChangeMarker(idx) {\n var previous = this.filteredMessages[idx - 1];\n var current = this.filteredMessages[idx];\n\n if (!previous && new Date(current.time).getDay() !== new Date().getDay()) {\n // The first message of the lsit and it's not today\n return true;\n } else if (!previous) {\n // The first message of the lsit but it's today\n return false;\n } // If the last message has been read, and this message not read\n\n\n if (new Date(previous.time).getDay() !== new Date(current.time).getDay()) {\n return true;\n }\n\n return false;\n },\n canShowInfoForMessage: function canShowInfoForMessage(message) {\n var showInfoForTypes = ['privmsg', 'notice', 'action'];\n return (0, _indexOf.default)(showInfoForTypes).call(showInfoForTypes, message.type) > -1;\n },\n bufferSetting: function bufferSetting(key) {\n return this.buffer.setting(key);\n },\n formatTime: function formatTime(time) {\n return (0, _strftime.default)(this.buffer.setting('timestamp_format') || '%T', new Date(time));\n },\n formatTimeFull: function formatTimeFull(time) {\n var format = this.buffer.setting('timestamp_full_format');\n return format ? (0, _strftime.default)(format, new Date(time)) : new Date(time).toLocaleString();\n },\n formatMessage: function formatMessage(message) {\n return message.toHtml(this);\n },\n isMessageHighlight: function isMessageHighlight(message) {\n // Highlighting ourselves when we join or leave a channel is silly\n if (message.type === 'traffic') {\n return false;\n }\n\n return message.isHighlight;\n },\n userColour: function userColour(user) {\n if (user && this.bufferSetting('colour_nicknames_in_messages')) {\n return user.getColour();\n }\n\n return '';\n },\n openUserBox: function openUserBox(nick) {\n var user = this.$state.getUser(this.buffer.networkid, nick);\n\n if (user) {\n this.$state.$emit('userbox.show', user, {\n buffer: this.buffer\n });\n }\n },\n onListClick: function onListClick(event) {\n this.toggleMessageInfo();\n },\n onMessageDblClick: function onMessageDblClick(event, message) {\n clearTimeout(this.messageClickTmr);\n var dataNick = event.target.getAttribute('data-nick');\n\n if (!dataNick) {\n return;\n }\n\n var network = this.buffer.getNetwork();\n var user = network.userByName(dataNick); // The user might have left use dataNick as fallback\n\n var nick = user && user.nick ? user.nick : dataNick;\n this.$state.$emit('input.insertnick', nick);\n },\n onMessageClick: function onMessageClick(event, message, delay) {\n // Delaying the click for 200ms allows us to check for a second click. ie. double click\n // Quick hack as we only need double click for nicks, nothing else\n if (delay && event.target.getAttribute('data-nick')) {\n clearTimeout(this.messageClickTmr);\n this.messageClickTmr = (0, _setTimeout2.default)(this.onMessageClick, 200, event, message, false);\n return;\n }\n\n var isLink = event.target.tagName === 'A';\n var channelName = event.target.getAttribute('data-channel-name');\n\n if (channelName && isLink) {\n var network = this.buffer.getNetwork();\n this.$state.addBuffer(this.buffer.networkid, channelName);\n network.ircClient.join(channelName);\n this.$state.setActiveBuffer(this.buffer.networkid, channelName);\n return;\n }\n\n var userNick = event.target.getAttribute('data-nick');\n\n if (userNick && isLink) {\n this.openUserBox(userNick);\n return;\n }\n\n var url = event.target.getAttribute('data-url');\n\n if (url && isLink) {\n if (this.$state.setting('buffers.inline_link_auto_previews')) {\n message.embed.type = 'url';\n message.embed.payload = url;\n } else {\n this.$state.$emit('mediaviewer.show', url);\n }\n }\n\n if (this.message_info_open && this.message_info_open !== message) {\n // Clicking on another message while another info is open, just close the info\n this.toggleMessageInfo();\n event.preventDefault();\n return;\n }\n\n if (this.$state.ui.is_touch && this.$state.setting('buffers.show_message_info')) {\n if (this.canShowInfoForMessage(message) && event.target.nodeName === 'A') {\n // We show message info boxes on touch screen devices so that the user has an\n // option to preview the links or do other stuff.\n event.preventDefault();\n }\n\n this.toggleMessageInfo(message);\n }\n },\n checkScrollingState: function checkScrollingState() {\n var el = this.$el;\n var scrolledUpByPx = el.scrollHeight - (el.offsetHeight + el.scrollTop); // We need to know at this point (before the DOM has updated with new messages) if we\n // are at the bottom of the messagelist or not, otherwise once the DOM has updated then\n // it is too late to determine if we should auto scroll down\n\n if (scrolledUpByPx > BOTTOM_SCROLL_MARGIN) {\n this.auto_scroll = false;\n this.buffer.isMessageTrimming = false;\n } else {\n this.auto_scroll = true;\n this.buffer.isMessageTrimming = true;\n }\n\n if (this.force_smooth_scroll !== null) {\n this.smooth_scroll = this.force_smooth_scroll;\n this.force_smooth_scroll = null; // TODO: Enabling smooth_scroll breaks the auto-scroll-to-bottom on fast buffers as\n // it takes time to scroll down and it looks like we're scrolled too far up when\n // detecting if were scrolled up or not. Look into ways around this so that we\n // can enable it as it does look a lot better.\n // } else if (scrolledUpByPx < BOTTOM_SCROLL_MARGIN) {\n // this.smooth_scroll = true;\n } else {\n this.smooth_scroll = false;\n }\n },\n onListResize: function onListResize(e) {\n // The messagelist has resized or had new content added so check if we should auto\n // scroll down to the bottom\n this.maybeScrollToBottom();\n },\n scrollToBottom: function scrollToBottom() {\n this.$el.scrollTop = this.$el.scrollHeight;\n },\n maybeScrollToBottom: function maybeScrollToBottom() {\n if (this.auto_scroll) {\n this.scrollToBottom();\n }\n },\n maybeScrollToId: function maybeScrollToId(id) {\n var messageElement = this.$el.querySelector('.kiwi-messagelist-message[data-message-id=\"' + id + '\"]');\n\n if (messageElement && messageElement.offsetTop) {\n this.$el.scrollTop = messageElement.offsetTop;\n this.auto_scroll = false;\n }\n },\n getSelectedMessages: function getSelectedMessages() {\n var sel = document.getSelection();\n var r = sel.getRangeAt(0);\n var messageEls = (0, _toConsumableArray2.default)(this.$el.querySelectorAll('.kiwi-messagelist-message'));\n var selectedMessageEls = (0, _filter.default)(messageEls).call(messageEls, function (el) {\n return r.intersectsNode(el);\n });\n return selectedMessageEls;\n },\n restrictTextSelection: function restrictTextSelection() {\n // Prevents the selection cursor escaping the message list.\n document.querySelector('body').classList.add('kiwi-unselectable');\n this.$el.style.userSelect = 'text';\n },\n unrestrictTextSelection: function unrestrictTextSelection() {\n // Allows all page elements to be selected again.\n document.querySelector('body').classList.remove('kiwi-unselectable');\n this.$el.style.userSelect = 'auto';\n },\n removeSelections: function removeSelections() {\n var removeNative = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.selectedMessages = (0, _create.default)(null);\n var selection = document.getSelection();\n\n if (removeNative && selection) {\n // stops the native browser selection being left behind after ctrl+c\n selection.removeAllRanges();\n }\n },\n addCopyListeners: function addCopyListeners() {\n var _this4 = this;\n\n // Better copy pasting\n var LogFormatter = function LogFormatter(msg) {\n var _context4;\n\n var text = '';\n\n switch (msg.type) {\n case 'privmsg':\n text = (0, _concat.default)(_context4 = \"<\".concat(msg.nick, \"> \")).call(_context4, msg.message);\n break;\n\n case 'nick':\n case 'mode':\n case 'action':\n case 'traffic':\n text = \"\".concat(msg.message);\n break;\n\n default:\n text = msg.message;\n }\n\n if (text.length) {\n var _context5;\n\n return (0, _concat.default)(_context5 = \"[\".concat(new Date(msg.time).toLocaleTimeString({\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit'\n }), \"] \")).call(_context5, text);\n }\n\n return null;\n };\n\n var copyData = '';\n var selecting = false;\n var selectionChangeOff = null;\n this.listen(document, 'selectstart', function (e) {\n if (!_this4.$el.contains(e.target)) {\n // Selected elsewhere on the page\n copyData = '';\n\n _this4.removeSelections();\n\n return;\n }\n\n _this4.removeSelections();\n\n selectionChangeOff = _this4.listen(document, 'selectionchange', onSelectionChange);\n });\n this.listen(document, 'mouseup', function (e) {\n selectionChangeOff && selectionChangeOff();\n\n _this4.unrestrictTextSelection();\n\n if (selecting) {\n e.preventDefault();\n }\n\n selecting = false;\n });\n\n var onSelectionChange = function onSelectionChange(e) {\n if (!_this4.$el) {\n return true;\n }\n\n copyData = ''; // Store the text data to be copied in this.\n\n var selection = document.getSelection();\n\n if (!selection || !selection.anchorNode || !selection.anchorNode.parentNode.closest('.' + _this4.$el.className)) {\n _this4.unrestrictTextSelection();\n\n _this4.removeSelections();\n\n return true;\n }\n\n _this4.removeSelections(); // Prevent the selection escaping the message list\n\n\n _this4.restrictTextSelection();\n\n if (selection.rangeCount > 0) {\n var _context6, _context7;\n\n selecting = true;\n\n var selectedMesssageEls = _this4.getSelectedMessages();\n\n var selectedMessages = [];\n (0, _forEach.default)(selectedMesssageEls).call(selectedMesssageEls, function (el) {\n var m = _this4.buffer.messagesObj.messageIds[el.dataset.messageId];\n\n if (m) {\n selectedMessages.push(m);\n }\n }); // If only 1 message is selected then treat the selection as native text\n // selection. Most likely copying part of a message only.\n\n if (selectedMessages.length === 1) {\n selectedMessages = [];\n }\n\n _this4.selectedMessages = (0, _create.default)(null);\n (0, _forEach.default)(selectedMessages).call(selectedMessages, function (m) {\n _this4.selectedMessages[m.id] = m;\n }); // Iterate through the selected messages, format and store as a\n // string to be used in the copy handler\n\n copyData = (0, _map.default)(_context6 = (0, _filter.default)(_context7 = (0, _sort.default)(selectedMessages).call(selectedMessages, function (a, b) {\n return a.time > b.time ? 1 : -1;\n })).call(_context7, function (m) {\n var _context8;\n\n return (0, _trim.default)(_context8 = m.message).call(_context8).length;\n })).call(_context6, LogFormatter).join('\\r\\n');\n } else {\n _this4.unrestrictTextSelection();\n }\n\n return false;\n };\n\n this.listen(document, 'copy', function (e) {\n if (!copyData || !copyData.length) {\n // Just do a normal copy if no special data\n return true;\n }\n\n if (navigator.clipboard) {\n // Supports Clipboard API\n navigator.clipboard.writeText(copyData);\n } else {\n var input = document.createElement('textarea');\n document.body.appendChild(input);\n input.innerHTML = copyData;\n input.select();\n document.execCommand('copy');\n document.body.removeChild(input);\n }\n\n return true;\n });\n },\n // Move a messages embeded content to the main media preview\n openEmbedInPreview: function openEmbedInPreview(message) {\n // First open the embed in the main media preview\n var embed = message.embed;\n\n if (embed.type === 'url') {\n this.$state.$emit('mediaviewer.show', embed.payload);\n } else if (embed.type === 'component') {\n this.$state.$emit('mediaviewer.show', {\n component: embed.payload\n });\n } // Remove the embed from the message\n\n\n embed.payload = null;\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"MessageList\"]\r\nwindow._kiwi_exports.components.MessageList = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _Avatar = _interopRequireDefault(require(\"./Avatar\"));\n\n// This component simply wraps the Avatar component so that plugins may override this messagelist\n// avatar separately than the nicklist avatar\nvar _default = {\n c: {\n Avatar: _Avatar.default\n },\n props: ['message', 'user']\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"MessageListAvatar\"]\r\nwindow._kiwi_exports.components.MessageListAvatar = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-statebrowser kiwi-theme-bg\"},[(!_vm.$state.setting('hideSettings'))?_c('div',{staticClass:\"kiwi-statebrowser-appsettings\",attrs:{\"title\":_vm.$t('kiwi_settings')},on:{\"click\":_vm.clickAppSettings}},[_c('i',{staticClass:\"fa fa-cog\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),(_vm.isPersistingState)?_c('state-browser-usermenu',{attrs:{\"network\":_vm.getNetwork}}):_vm._e(),_c('div',{staticClass:\"kiwi-statebrowser-tools\"},_vm._l((_vm.pluginUiElements),function(plugin){return _c('div',{directives:[{name:\"rawElement\",rawName:\"v-rawElement\",value:(plugin.el),expression:\"plugin.el\"}],key:plugin.id,staticClass:\"kiwi-statebrowser-tool\"})}),0),(Object.keys(_vm.provided_networks).length > 0)?_c('div',{staticClass:\"kiwi-statebrowser-availablenetworks\"},[_c('div',{staticClass:\"kiwi-statebrowser-availablenetworks-toggle\",on:{\"click\":function($event){_vm.show_provided_networks=!_vm.show_provided_networks}}},[_vm._v(\" ↪ \"+_vm._s(_vm.$t('state_available'))+\" \")]),_c('div',{staticClass:\"kiwi-statebrowser-availablenetworks-networks\",class:{\n 'kiwi-statebrowser-availablenetworks-networks--open': _vm.show_provided_networks\n }},_vm._l((_vm.provided_networks),function(pNets,pNetTypeName){return _c('div',{key:pNetTypeName,staticClass:\"kiwi-statebrowser-availablenetworks-type\"},[_c('div',{staticClass:\"kiwi-statebrowser-availablenetworks-name\"},[_vm._v(_vm._s(pNetTypeName))]),_vm._l((pNets),function(pNet){return _c('div',{key:pNet.name,staticClass:\"kiwi-statebrowser-availablenetworks-link\",class:[\n pNet.connected?'kiwi-statebrowser-availablenetworks-link--connected':''\n ]},[_c('a',{on:{\"click\":function($event){return _vm.connectProvidedNetwork(pNet)}}},[_vm._v(_vm._s(pNet.name))]),_c('br')])})],2)}),0)]):_vm._e(),_c('div',{staticClass:\"kiwi-statebrowser-scrollarea\"},[_c('div',{staticClass:\"kiwi-statebrowser-networks\"},_vm._l((_vm.networksToShow),function(network){return _c('state-browser-network',{key:network.id,attrs:{\"network\":network,\"sidebar-state\":_vm.sidebarState}})}),1)]),(!_vm.isRestrictedServer)?_c('div',{staticClass:\"kiwi-statebrowser-newnetwork\"},[_c('a',{staticClass:\"u-button u-button-primary\",on:{\"click\":_vm.clickAddNetwork}},[_vm._v(\" \"+_vm._s(_vm.$t('add_network'))+\" \"),_c('i',{staticClass:\"fa fa-plus\",attrs:{\"aria-hidden\":\"true\"}})])]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-wrap kiwi-wrap-error\"},[_c('h2',[_vm._v(\"Kiwi IRC could not start :(\")]),_c('div',[_vm._v(_vm._s(_vm.error))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ZncLogin.vue?vue&type=template&id=d0abb22c&\"\nimport script from \"./ZncLogin.vue?vue&type=script&lang=js&\"\nexport * from \"./ZncLogin.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ZncLogin.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserNetwork.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserNetwork.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommonLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommonLayout.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypingUsersList.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypingUsersList.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar Vue = require('vue');\n\nvar _default = Vue.component('input-prompt', {\n props: ['label', 'hideCancel', 'noprompt', 'block'],\n data: function data() {\n return {\n value: '',\n state: 'pre'\n };\n },\n created: function created() {\n if (this.noprompt) {\n this.prompt();\n }\n },\n methods: {\n prompt: function prompt() {\n var _this = this;\n\n this.state = 'prompt';\n this.$nextTick(function () {\n _this.$el.querySelector('input').focus();\n });\n },\n complete: function complete() {\n this.$emit('submit', this.value);\n this.state = 'pre';\n },\n cancel: function cancel() {\n this.$emit('cancel');\n this.state = 'pre';\n }\n }\n});\n\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"utils\"]) window._kiwi_exports[\"components\"][\"utils\"] = {};\nwindow._kiwi_exports[\"components\"][\"utils\"][\"InputPrompt\"]\r\nwindow._kiwi_exports.components.utils.InputPrompt = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./AwayStatusIndicator.vue?vue&type=template&id=6a59392d&functional=true&\"\nimport script from \"./AwayStatusIndicator.vue?vue&type=script&lang=js&\"\nexport * from \"./AwayStatusIndicator.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AwayStatusIndicator.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AutoComplete.vue?vue&type=template&id=c151b764&\"\nimport script from \"./AutoComplete.vue?vue&type=script&lang=js&\"\nexport * from \"./AutoComplete.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AutoComplete.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { render, staticRenderFns } from \"./ChannelList.vue?vue&type=template&id=20211d72&\"\nimport script from \"./ChannelList.vue?vue&type=script&lang=js&\"\nexport * from \"./ChannelList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ChannelList.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar ipRegex = _interopRequireWildcard(require(\"ip-regex\"));\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar IrcdDiffs = _interopRequireWildcard(require(\"@/helpers/IrcdDiffs\"));\n\nvar _Html = _interopRequireDefault(require(\"@/libs/renderers/Html\"));\n\nvar _MessageParser = _interopRequireDefault(require(\"@/libs/MessageParser\"));\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\nvar _default = {\n components: {\n AwayStatusIndicator: _AwayStatusIndicator.default\n },\n props: ['buffer', 'network', 'user'],\n data: function data() {\n return {\n whoisRequested: false,\n whoisLoading: false\n };\n },\n computed: {\n // Channel modes differ on some IRCds so get them from the network options\n availableChannelModes: function availableChannelModes() {\n var availableModes = [];\n var prefixes = this.network.ircClient.network.options.PREFIX;\n var knownPrefix = {\n q: 'Owner',\n a: 'Admin',\n o: 'Operator',\n h: 'Half-Operator',\n v: 'Voice'\n };\n\n if (!IrcdDiffs.isAChannelModeAdmin(this.network)) {\n delete knownPrefix.a;\n }\n\n if (!IrcdDiffs.isQChannelModeOwner(this.network)) {\n delete knownPrefix.q;\n }\n\n if (!IrcdDiffs.supportsHalfOp(this.network)) {\n delete knownPrefix.h;\n }\n\n (0, _forEach.default)(prefixes).call(prefixes, function (prefix) {\n var mode = prefix.mode;\n\n if (knownPrefix[mode]) {\n availableModes.push({\n mode: mode,\n description: knownPrefix[mode]\n });\n }\n });\n return availableModes;\n },\n areWeAnOp: function areWeAnOp() {\n if (!this.buffer) {\n return false;\n }\n\n return this.buffer.isUserAnOp(this.buffer.getNetwork().nick);\n },\n formattedRealname: function formattedRealname() {\n var blocks = (0, _MessageParser.default)(this.user.realname || '', {\n extras: false\n });\n var content = (0, _Html.default)(blocks, false);\n return content;\n },\n isUserOnBuffer: function isUserOnBuffer() {\n if (!this.buffer) {\n return false;\n }\n\n if (!this.user.buffers[this.buffer.id]) {\n // Probably switched buffer while the userbox was open\n return false;\n }\n\n return true;\n },\n userMode: {\n get: function getUserMode() {\n if (!this.buffer) {\n return '';\n }\n\n var userBufferInfo = this.user.buffers[this.buffer.id];\n\n if (!userBufferInfo) {\n // Probably switched buffer while the userbox was open\n return '';\n }\n\n var modes = userBufferInfo.modes;\n return modes.length > 0 ? modes[0] : '';\n },\n // Switch the current user mode for the new one\n set: function setUserMode(newVal) {\n var _context;\n\n var client = this.network.ircClient;\n var oldVal = this.userMode;\n var changes = [];\n var targets = [];\n\n if (oldVal) {\n changes.push('-' + oldVal);\n targets.push(this.user.nick);\n }\n\n if (newVal) {\n changes.push('+' + newVal);\n targets.push(this.user.nick);\n }\n\n var params = (0, _concat.default)(_context = ['MODE', this.buffer.name, changes.join('')]).call(_context, targets);\n client.raw(params);\n }\n },\n userChannels: function userChannels() {\n var _context2;\n\n var channels = (0, _trim.default)(_context2 = this.user.channels).call(_context2).split(' ');\n\n for (var i = 0; i < channels.length; i++) {\n channels[i] = TextFormatting.linkifyChannels(channels[i]);\n }\n\n return channels.join(' ');\n },\n isSelf: function isSelf() {\n return this.user === this.network.currentUser();\n }\n },\n watch: {\n user: function watchUser() {\n // Reset the whois view since the user is now different\n this.whoisRequested = false;\n this.whoisLoading = false;\n }\n },\n methods: {\n userModeOnThisBuffer: function userModeOnBuffer(user) {\n if (!this.buffer) {\n return '';\n }\n\n var userBufferInfo = user.buffers[this.buffer.id];\n var modes = userBufferInfo.modes;\n return modes.length > 0 ? modes[0] : '';\n },\n openQuery: function openQuery() {\n var buffer = this.$state.addBuffer(this.network.id, this.user.nick);\n this.$state.setActiveBuffer(this.network.id, buffer.name);\n\n if (this.$state.ui.is_narrow) {\n this.$state.$emit('userbox.hide');\n }\n },\n onChannelsClick: function onChannelsClick(event) {\n var channelName = event.target.getAttribute('data-channel-name');\n\n if (channelName) {\n var network = this.buffer.getNetwork();\n this.$state.addBuffer(this.buffer.networkid, channelName);\n network.ircClient.join(channelName);\n }\n },\n updateWhoisData: function updateWhoisData() {\n var _this = this;\n\n this.whoisRequested = true;\n this.whoisLoading = true;\n this.network.ircClient.whois(this.user.nick, function () {\n _this.whoisLoading = false;\n });\n },\n kickUser: function kickUser() {\n var reason = this.$state.setting('buffers.default_kick_reason');\n this.network.ircClient.raw('KICK', this.buffer.name, this.user.nick, reason);\n },\n createBanMask: function createBanMask() {\n // try to ban via user account first\n if (this.user.account) {\n var _context3;\n\n // if EXTBAN is supported use that\n var extban = IrcdDiffs.extbanAccount(this.network);\n\n if (extban) {\n return extban + ':' + this.user.account;\n } // if the account name is in the host ban the host\n // Eg. user@network/user/accountname\n\n\n if ((0, _indexOf.default)(_context3 = this.user.host.toLowerCase()).call(_context3, this.user.account.toLowerCase()) > -1) {\n return '*!*@' + this.user.host;\n }\n } // if an ip address is in the host and not the whole host ban the ip\n // Eg. user@gateway/1.2.3.4\n\n\n var ipTest = new RegExp('(' + ipRegex.v4().source + '|' + ipRegex.v6().source + ')');\n\n if (ipTest.test(this.user.host)) {\n var match = this.user.host.match(ipTest)[0];\n\n if (match !== this.user.host) {\n return '*!*@*' + match + '*';\n }\n } // if an 8 char hex is the username ban by username. Commonly used in gateways\n // Eg. 59d4c432@a.clients.kiwiirc.com\n\n\n var hexTest = /^([a-f0-9]{8})$/i;\n\n if (hexTest.test(this.user.username)) {\n var _match = this.user.username.match(hexTest)[0];\n return '*!' + _match + '@*';\n } // fallback to default_ban_mask from config\n\n\n var mask = this.$state.setting('buffers.default_ban_mask');\n mask = mask.replace('%n', this.user.nick);\n mask = mask.replace('%i', this.user.username);\n mask = mask.replace('%h', this.user.host);\n return mask;\n },\n banUser: function banUser() {\n if (!this.user.username || !this.user.host) {\n return;\n }\n\n var banMask = this.createBanMask();\n this.network.ircClient.raw('MODE', this.buffer.name, '+b', banMask);\n },\n kickbanUser: function kickbanuser() {\n if (!this.user.username || !this.user.host) {\n return;\n }\n\n var banMask = this.createBanMask();\n var reason = this.$state.setting('buffers.default_kick_reason');\n this.network.ircClient.raw('MODE', this.buffer.name, '+b', banMask);\n this.network.ircClient.raw('KICK', this.buffer.name, this.user.nick, reason);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"UserBox\"]\r\nwindow._kiwi_exports.components.UserBox = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-ircinput\"},[_c('div',{ref:\"editor\",staticClass:\"kiwi-ircinput-editor\",attrs:{\"placeholder\":_vm.placeholder,\"contenteditable\":\"true\",\"role\":\"textbox\",\"spellcheck\":\"true\"},on:{\"keypress\":function($event){_vm.updateValueProps(); _vm.$emit('keypress', $event)},\"keydown\":function($event){_vm.updateValueProps(); _vm.$emit('keydown', $event)},\"keyup\":function($event){_vm.updateValueProps(); _vm.$emit('keyup', $event)},\"textInput\":function($event){_vm.updateValueProps(); _vm.onTextInput($event); _vm.$emit('textInput', $event)},\"mouseup\":function($event){return _vm.updateValueProps();},\"click\":function($event){return _vm.$emit('click', $event)},\"paste\":_vm.onPaste,\"focus\":function($event){return _vm.onFocus()},\"blur\":function($event){return _vm.$emit('blur', $event)}}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-autocomplete kiwi-theme-bg\"},_vm._l((_vm.filteredAndLimitedItems),function(item){return _c('div',{key:item.type+item.text,class:{\n 'kiwi-autocomplete-item': true,\n 'kiwi-autocomplete-item--selected': item.idx === _vm.selected_idx},on:{\"click\":function($event){_vm.selected_idx = item.idx; _vm.selectCurrentItem()}}},[(item.type === 'user')?[_c('span',{staticClass:\"kiwi-autocomplete-item-value\"},[_vm._v(_vm._s(item.text))]),_c('span',{staticClass:\"u-link kiwi-autocomplete-item-action\",on:{\"click\":function($event){$event.stopPropagation();return _vm.openQuery(item.text)}}},[_vm._v(\" \"+_vm._s(_vm.$t('send_message'))+\" \")])]:(item.type === 'command')?[_c('span',{staticClass:\"kiwi-autocomplete-item-value\"},[_vm._v(_vm._s(item.text))]),_c('span',{staticClass:\"u-link kiwi-autocomplete-item-description\"},[_vm._v(\" \"+_vm._s(item.description)+\" \")])]:[_c('span',{staticClass:\"kiwi-autocomplete-item-value\"},[_vm._v(_vm._s(item.text))])]],2)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n'kiwi public';\n/**\n * batchedAdd prevents a flood of new inserts into state. Based on JS ticks, inserts /sec are\n * counted by each JS tick that inserts an item. Eg. 10 inserts in 1 tick = 1 count. 10 inserts\n * on different JS ticks = 10 counts.\n * After X counts/sec, batch each second worth of new items at the same time.\n */\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = batchedAdd;\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nfunction batchedAdd(singleFn, batchedFn) {\n var numInsertsSec = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 3;\n var inTick = false;\n var queue = [];\n var numInLastSec = 0;\n var queueLoopTmr = null;\n var loopInterval = 1000;\n var checkSecRateTmr = null;\n\n function queueLoop() {\n numInLastSec = 0;\n\n if (queue.length) {\n // emptying queue before calling batchedFn in case that function triggers\n // code that needs to see that the queue has been processed.\n var q = queue;\n queue = [];\n batchedFn(q);\n queueLoopTmr = (0, _setTimeout2.default)(queueLoop, loopInterval);\n } else {\n queueLoopTmr = null;\n }\n }\n\n function maybeStartLoop() {\n if (!queueLoopTmr) {\n queueLoopTmr = (0, _setTimeout2.default)(queueLoop, loopInterval);\n }\n } // Reset numInLastSec after loopInterval. This allows enough time for the counter to\n // increase to detect batching. Only needs to run if we are not currently batching and\n // only needs to run once at a time.\n\n\n function resetAddCounter() {\n if (!queueLoopTmr && !checkSecRateTmr) {\n checkSecRateTmr = (0, _setTimeout2.default)(function () {\n checkSecRateTmr = null;\n\n if (!queueLoopTmr) {\n numInLastSec = 0;\n }\n }, loopInterval);\n }\n }\n\n function batchFn(item) {\n if (!inTick) {\n numInLastSec++;\n } // If already queuing or we reached our limit on items/sec, queue the item\n\n\n if (queue.length || numInLastSec > numInsertsSec) {\n queue.push(item);\n maybeStartLoop();\n } else {\n inTick = true;\n (0, _setTimeout2.default)(function () {\n inTick = false;\n });\n singleFn(item);\n resetAddCounter();\n }\n }\n\n batchFn.queue = function getQueue() {\n return queue;\n };\n\n return batchFn;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"batchedAdd\"]\r\nwindow._kiwi_exports.libs.batchedAdd = exports.default ? exports.default : exports;\r\n","\"use strict\";\n\nrequire(\"./kiwiirccom\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-typinguserslist\"},[_vm._l((_vm.typingUsers),function(user,idx){return _c('span',{key:user.nick,style:({ color: _vm.userColour(user) })},[_vm._v(\" \"+_vm._s(user.nick)+_vm._s(_vm.typingUsers.length - 1 > idx ? ',' : '')+\" \")])}),_vm._v(\" \"+_vm._s(_vm.typingUsers.length > 0 ? '…' : '')+\" \")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('startup-layout',{ref:\"layout\",staticClass:\"kiwi-welcome-simple\",scopedSlots:_vm._u([(_vm.startupOptions.altComponent)?{key:\"connection\",fn:function(){return [_c(_vm.startupOptions.altComponent,{tag:\"component\",on:{\"close\":_vm.onAltClose}})]},proxy:true}:{key:\"connection\",fn:function(){return [_c('form',{staticClass:\"u-form u-form--big kiwi-welcome-simple-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.formSubmit($event)}}},[_c('h2',{domProps:{\"innerHTML\":_vm._s(_vm.greetingText)}}),(_vm.errorMessage)?_c('div',{staticClass:\"kiwi-welcome-simple-error\"},[_vm._v(_vm._s(_vm.errorMessage))]):(_vm.network && (_vm.network.last_error || _vm.network.state_error))?_c('div',{staticClass:\"kiwi-welcome-simple-error\"},[(!_vm.network.last_error && _vm.network.state_error)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('network_noconnect'))+\" \")]):_vm._e(),_c('span',[_vm._v(\" \"+_vm._s(_vm.network.last_error || _vm.readableStateError(_vm.network.state_error))+\" \")])]):_vm._e(),_c('input-text',{directives:[{name:\"focus\",rawName:\"v-focus\",value:(!_vm.nick || !_vm.show_password_box),expression:\"!nick || !show_password_box\"}],attrs:{\"label\":_vm.$t('nick'),\"type\":\"text\"},model:{value:(_vm.nick),callback:function ($$v) {_vm.nick=$$v},expression:\"nick\"}}),(_vm.showPass && _vm.toggablePass)?_c('div',{staticClass:\"kiwi-welcome-simple-input-container\"},[_c('label',{staticClass:\"kiwi-welcome-simple-have-password\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.show_password_box),expression:\"show_password_box\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.show_password_box)?_vm._i(_vm.show_password_box,null)>-1:(_vm.show_password_box)},on:{\"change\":function($event){var $$a=_vm.show_password_box,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.show_password_box=$$a.concat([$$v]))}else{$$i>-1&&(_vm.show_password_box=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.show_password_box=$$c}}}}),_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('password_have'))+\" \")])])]):_vm._e(),(_vm.showPass && (_vm.show_password_box || !_vm.toggablePass))?_c('div',{staticClass:\"kiwi-welcome-simple-input-container\"},[_c('input-text',{directives:[{name:\"focus\",rawName:\"v-focus\",value:(_vm.nick || _vm.show_password_box),expression:\"nick || show_password_box\"}],attrs:{\"show-plain-text\":true,\"label\":_vm.$t('password'),\"type\":\"password\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}})],1):_vm._e(),(_vm.showChannel)?_c('div',{staticClass:\"kiwi-welcome-simple-input-container\"},[_c('input-text',{attrs:{\"label\":_vm.$t('channel')},model:{value:(_vm.channel),callback:function ($$v) {_vm.channel=$$v},expression:\"channel\"}})],1):_vm._e(),_c('captcha',{attrs:{\"network\":_vm.network}}),(!_vm.network || _vm.network.state === 'disconnected')?_c('button',{staticClass:\"u-button u-button-primary u-submit kiwi-welcome-simple-start\",attrs:{\"disabled\":!_vm.readyToStart,\"type\":\"submit\"},domProps:{\"innerHTML\":_vm._s(_vm.buttonText)}}):_c('button',{staticClass:\"u-button u-button-primary u-submit kiwi-welcome-simple-start\",attrs:{\"disabled\":\"\"}},[_c('i',{staticClass:\"fa fa-spin fa-spinner\",attrs:{\"aria-hidden\":\"true\"}})]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.footerText)}})],1)]},proxy:true}],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ControlInput.vue?vue&type=template&id=5fae6b90&\"\nimport script from \"./ControlInput.vue?vue&type=script&lang=js&\"\nexport * from \"./ControlInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ControlInput.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { render, staticRenderFns } from \"./kiwiirccom.vue?vue&type=template&id=5b797949&\"\nimport script from \"./kiwiirccom.vue?vue&type=script&lang=js&\"\nexport * from \"./kiwiirccom.vue?vue&type=script&lang=js&\"\nimport style0 from \"./kiwiirccom.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerSelector.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerSelector.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowser.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('img',{staticClass:\"kiwi-loading-logo\",attrs:{\"src\":require(\"../res/kiwiLoadingLogo.png\")}}),_c('canvas',{staticClass:\"kiwi-loading-animation\"})])}]\n\nexport { render, staticRenderFns }","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _Html = _interopRequireDefault(require(\"@/libs/renderers/Html\"));\n\nvar _MessageParser = _interopRequireDefault(require(\"@/libs/MessageParser\"));\n\nvar _BufferSettings = _interopRequireDefault(require(\"./BufferSettings\"));\n\nvar _ChannelInfo = _interopRequireDefault(require(\"./ChannelInfo\"));\n\nvar _ChannelBanlist = _interopRequireDefault(require(\"./ChannelBanlist\"));\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\nvar _default = {\n components: {\n BufferSettings: _BufferSettings.default,\n ChannelInfo: _ChannelInfo.default,\n ChannelBanlist: _ChannelBanlist.default,\n AwayStatusIndicator: _AwayStatusIndicator.default\n },\n props: ['buffer', 'sidebarState'],\n data: function data() {\n return {\n pluginUiChannelElements: _GlobalApi.default.singleton().channelHeaderPlugins,\n pluginUiQueryElements: _GlobalApi.default.singleton().queryHeaderPlugins,\n prompts: {\n closeChannel: false\n }\n };\n },\n computed: {\n isJoined: function isJoined() {\n var buffer = this.buffer;\n return buffer.getNetwork().state === 'connected' && buffer.joined;\n },\n isConnected: function isConnected() {\n return this.buffer.getNetwork().state === 'connected';\n },\n formattedTopic: function formattedTopic() {\n var blocks = (0, _MessageParser.default)(this.buffer.topic, {\n extras: false\n });\n var content = (0, _Html.default)(blocks);\n return content;\n },\n network: function network() {\n return this.buffer.getNetwork();\n },\n sidebarSection: function sidebarSection() {\n return this.sidebarState.section();\n },\n userOnline: function userOnline() {\n var user = this.$state.getUser(this.buffer.getNetwork().id, this.buffer.name);\n return !!user;\n }\n },\n created: function created() {\n var _this = this;\n\n this.listen(this.$state, 'document.clicked', function (e) {\n // If clicking anywhere else on the page, close all our prompts\n if (!_this.$el.contains(e.target)) {\n var _context;\n\n (0, _forEach.default)(_context = (0, _keys.default)(_this.prompts)).call(_context, function (prompt) {\n _this.prompts[prompt] = false;\n });\n }\n });\n },\n methods: {\n showPrompt: function showPrompt(prompt) {\n this.prompts[prompt] = true;\n },\n isChannel: function isChannel() {\n return this.buffer.isChannel();\n },\n isServer: function isServer() {\n return this.buffer.isServer();\n },\n isQuery: function isQuery() {\n return this.buffer.isQuery();\n },\n isSpecial: function isSpecial() {\n return this.buffer.isSpecial();\n },\n showNetworkSettings: function showNetworkSettings(network) {\n network.showServerBuffer('settings');\n },\n onConnectButtonClick: function onConnectButtonClick() {\n var network = this.buffer.getNetwork();\n\n if (!network.connection.server) {\n network.showServerBuffer('settings');\n } else {\n network.ircClient.connect();\n }\n },\n toggleUser: function toggleUser() {\n var user = this.$state.getUser(this.buffer.getNetwork().id, this.buffer.name);\n this.sidebarState.toggleUser(user);\n },\n joinCurrentBuffer: function joinCurrentBuffer() {\n var network = this.buffer.getNetwork();\n this.buffer.enabled = true;\n network.ircClient.join(this.buffer.name);\n },\n closeCurrentBuffer: function closeCurrentBuffer() {\n this.$state.removeBuffer(this.buffer);\n },\n onHeaderClick: function onHeaderClick(event) {\n var channelName = event.target.getAttribute('data-channel-name');\n\n if (channelName) {\n var network = this.buffer.getNetwork();\n this.$state.addBuffer(this.buffer.networkid, channelName);\n network.ircClient.join(channelName);\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"ContainerHeader\"]\r\nwindow._kiwi_exports.components.ContainerHeader = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-channelbanlist\"},[_c('form',{staticClass:\"u-form kiwi-channelbanlist\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('a',{staticClass:\"u-link\",on:{\"click\":_vm.updateBanlist}},[_vm._v(_vm._s(_vm.$t('bans_refresh')))]),(_vm.banlist.length > 0)?_c('table',{staticClass:\"kiwi-channelbanlist-table\"},[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('bans_user')))]),_c('th'),_c('th')]),_vm._l((_vm.banlist),function(ban){return _c('tr',{key:ban.banned,attrs:{\"title\":'By ' + ban.banned_by}},[_c('td',{staticClass:\"kiwi-channelbanlist-table-mask\"},[_vm._v(_vm._s(ban.banned))]),_c('td',{staticClass:\"kiwi-channelbanlist-table-bannedat\"},[_vm._v(\" \"+_vm._s((new Date(ban.banned_at * 1000)).toDateString())+\" \")]),_c('td',{staticClass:\"kiwi-channelbanlist-table-actions\"},[_c('i',{staticClass:\"fa fa-trash\",attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){return _vm.removeBan(ban.banned)}}})])])})],2):(_vm.is_refreshing)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('bans_refreshing'))+\" \")]):_c('div',{staticClass:\"kiwi-channelbanlist-empty\"},[_vm._v(\" \"+_vm._s(_vm.$t('bans_nobody'))+\" \")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarState.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarState.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsAdvanced.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsAdvanced.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime-corejs3/regenerator\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/asyncToGenerator\"));\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _BouncerProvider = _interopRequireDefault(require(\"@/libs/BouncerProvider\"));\n\nvar _IPC = _interopRequireDefault(require(\"@/libs/IPC\"));\n\nvar firstRun = true;\nvar _default = {\n data: function data() {\n return {\n hasOtherTab: false,\n addedNetworkToExisting: false,\n server: null,\n readyToShowOptions: false\n };\n },\n computed: {\n networks: function networks() {\n return this.$state.networks;\n },\n hasFragment: function hasFragment() {\n return window.location.hash && window.location.hash.length > 1;\n }\n },\n created: function created() {\n var _this = this;\n\n this.$state.setting('allowRegisterProtocolHandler', true);\n var server = null;\n\n if (this.hasFragment) {\n server = this.parseFragment();\n this.server = server;\n }\n\n if (server) {\n this.findOtherTabs().then(function (hasOtherTab) {\n if (hasOtherTab) {\n _this.hasOtherTab = true; // Don't start the main kiwi app here as it's already open elsewhere\n } else {\n _this.listenForOtherTabs();\n\n _this.init();\n }\n\n _this.readyToShowOptions = true;\n });\n } else {\n this.listenForOtherTabs();\n this.init();\n }\n },\n methods: {\n listenForOtherTabs: function listenForOtherTabs() {\n var _this2 = this;\n\n _IPC.default.on('message', function (e) {\n // respond to other tabs that are looking\n var msg = e.data;\n\n if (msg.type === 'ping' && _this2.networks.length > 0) {\n _IPC.default.send({\n type: 'pong'\n });\n } else if (msg.type === 'addNetwork') {\n var _context;\n\n var network = (0, _find.default)(_context = _this2.networks).call(_context, function (n) {\n return n.name === msg.server;\n });\n\n if (!network) {\n network = _this2.$state.addNetwork(msg.server, msg.nick || 'Guest' + Math.floor(Math.random() * 100), msg);\n }\n\n network.showServerBuffer('settings');\n }\n });\n },\n addEmptyNetwork: function addEmptyNetwork() {\n var nick = 'Guest' + Math.floor(Math.random() * 100);\n var network = this.$state.addNetwork(TextFormatting.t('new_network'), nick, {});\n network.showServerBuffer('settings');\n },\n findOtherTabs: function findOtherTabs() {\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n return _regenerator.default.wrap(function _callee$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt(\"return\", new _promise.default(function (resolve, reject) {\n var handleIPCMessage = function handleIPCMessage(e) {\n var msg = e.data;\n\n if (msg.type === 'pong') {\n clearTimeout(timer);\n resolve(true);\n }\n };\n\n var timer = (0, _setTimeout2.default)(function (e) {\n _IPC.default.removeListener('message', handleIPCMessage);\n\n resolve(false);\n }, 200);\n\n _IPC.default.on('message', handleIPCMessage);\n\n _IPC.default.send({\n type: 'ping'\n });\n }));\n\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee);\n }))();\n },\n addNetworkToExistingTab: function addNetworkToExistingTab() {\n var nick = 'Guest' + Math.floor(Math.random() * 100);\n var con = this.server;\n this.$state.addNetwork(TextFormatting.t('new_network'), nick, {});\n\n _IPC.default.send({\n nick: nick,\n server: con.server,\n port: con.port,\n tls: con.tls,\n password: con.password || '',\n type: 'addNetwork'\n });\n\n window.location.hash = '';\n this.addedNetworkToExisting = true;\n },\n addNetwork: function addNetwork() {\n var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.server) {\n return;\n }\n\n var con = this.server;\n\n if (temporary) {\n this.$state.persistence.storageKey = null;\n this.$state.persistence.forgetState();\n this.init();\n }\n\n var network = this.$state.getNetworkFromAddress(con.server);\n\n if (!network) {\n network = this.$state.addNetwork(con.server, con.nick || 'Guest' + Math.floor(Math.random() * 100), {\n server: con.server,\n port: con.port,\n tls: con.tls,\n password: con.password || ''\n });\n }\n\n window.location.hash = '';\n network.showServerBuffer('settings');\n this.$emit('start', {\n fallbackComponent: this.constructor\n });\n },\n parseFragment: function parseFragment() {\n if (window.location.hash.substr(1)) {\n var fragment = window.location.hash.substr(1); // Check to see if we're dealing with an encoded irc: uri (browsers do this\n // when clicking an IRC link)\n\n var uriCheck = fragment.substr(0, 7).toLowerCase();\n\n if (uriCheck === 'ircs%3a' || uriCheck.substr(0, 6) === 'irc%3a') {\n fragment = decodeURIComponent(fragment);\n }\n\n var connections = Misc.parseIrcUri(fragment);\n var con = connections[0];\n return con;\n }\n\n return null;\n },\n toggleStateBrowser: function toggleStateBrowser() {\n this.$state.$emit('statebrowser.show');\n },\n init: function init() {\n var _this3 = this;\n\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n var persistSetting, _context3, controllerNet, bouncer;\n\n return _regenerator.default.wrap(function _callee2$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n if (firstRun) {\n _context4.next = 2;\n break;\n }\n\n return _context4.abrupt(\"return\");\n\n case 2:\n firstRun = false; // persist the buffers in the state by default\n\n persistSetting = _this3.$state.settings.startupOptions.remember_buffers;\n\n if (typeof persistSetting === 'undefined') {\n _this3.$state.persistence.includeBuffers = true;\n } else {\n _this3.$state.persistence.includeBuffers = !!persistSetting;\n }\n\n _this3.$state.persistence.watchStateForChanges();\n\n if (_this3.$state.settings.startupOptions.bouncer) {\n controllerNet = (0, _find.default)(_context3 = _this3.$state.networks).call(_context3, function (n) {\n return n.is_bnc;\n });\n\n if (controllerNet) {\n bouncer = new _BouncerProvider.default(_this3.$state);\n bouncer.enable(controllerNet.connection.server, controllerNet.connection.port, controllerNet.connection.tls, controllerNet.connection.direct, controllerNet.connection.path);\n }\n } // force restricted: false as users need access\n // to network settings to add a network\n\n\n _this3.$state.setSetting('settings.restricted', false);\n\n _this3.$emit('start', {\n fallbackComponent: _this3.constructor\n });\n\n case 9:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee2);\n }))();\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"startups\"]) window._kiwi_exports[\"components\"][\"startups\"] = {};\nwindow._kiwi_exports[\"components\"][\"startups\"][\"Personal\"]\r\nwindow._kiwi_exports.components.startups.Personal = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInfo.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInfo.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime-corejs3/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/asyncToGenerator\"));\n\nvar _includes = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/includes\"));\n\nvar _splice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/splice\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/toConsumableArray\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/typeof\"));\n\nvar _symbol = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/symbol\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _setTimeout3 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _setInterval3 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-interval\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _json = _interopRequireDefault(require(\"json5\"));\n\nvar _i18next = _interopRequireDefault(require(\"i18next\"));\n\nvar _i18nextXhrBackend = _interopRequireDefault(require(\"i18next-xhr-backend\"));\n\nvar _vueI18next = _interopRequireDefault(require(\"@panter/vue-i18next\"));\n\nvar _vueVirtualScroller = _interopRequireDefault(require(\"vue-virtual-scroller\"));\n\nrequire(\"vue-virtual-scroller/dist/vue-virtual-scroller.css\");\n\nrequire(\"whatwg-fetch\");\n\nrequire(\"intersection-observer\");\n\nvar _available = _interopRequireDefault(require(\"@/res/locales/available.json\"));\n\nvar _enUs = _interopRequireDefault(require(\"@/../static/locales/en-us.json\"));\n\nvar _App = _interopRequireDefault(require(\"@/components/App\"));\n\nvar _StartupError = _interopRequireDefault(require(\"@/components/StartupError\"));\n\nvar _Logger = _interopRequireDefault(require(\"@/libs/Logger\"));\n\nvar _ConfigLoader = _interopRequireDefault(require(\"@/libs/ConfigLoader\"));\n\nvar _state = _interopRequireDefault(require(\"@/libs/state\"));\n\nvar _ThemeManager = _interopRequireDefault(require(\"@/libs/ThemeManager\"));\n\nvar _InputHandler = _interopRequireDefault(require(\"@/libs/InputHandler\"));\n\nvar _StatePersistence = _interopRequireDefault(require(\"@/libs/StatePersistence\"));\n\nvar Storage = _interopRequireWildcard(require(\"@/libs/storage/Local\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _AudioManager = require(\"@/libs/AudioManager\");\n\nvar _SoundBleep = require(\"@/libs/SoundBleep\");\n\nvar _WindowTitle = _interopRequireDefault(require(\"@/libs/WindowTitle\"));\n\nvar _configTemplates = require(\"@/res/configTemplates\");\n\nrequire(\"@/components/utils/TabbedView\");\n\nrequire(\"@/components/utils/InputText\");\n\nrequire(\"@/components/utils/IrcInput\");\n\nrequire(\"@/components/utils/InputPrompt\");\n\nrequire(\"@/components/utils/InputConfirm\");\n\nrequire(\"@/thirdparty/\");\n\n// fetch polyfill\n// polyfill for vue-virtual-scroller & ie11\n// Global utilities\n_vue.default.use(_vueVirtualScroller.default);\n\nvar logLevelMatch = window.location.href.match(/kiwi-loglevel=(\\d)/);\n\nif (logLevelMatch && logLevelMatch[1]) {\n var newLevel = (0, _parseInt2.default)(logLevelMatch[1], 10);\n\n _Logger.default.setLevel(newLevel);\n\n (0, _Logger.default)('Logging level set to', newLevel);\n}\n\nvar log = _Logger.default.namespace('main'); // Add the global API as soon as possible so that things can start listening to it\n\n\nvar api = window.kiwi = _GlobalApi.default.singleton(); // Third party imports now have access to the state and api\n\n/* eslint-disable import/first */\n\n\nfunction getQueryVariable(variable) {\n var query = window.location.search.substring(1);\n var vars = query.split('&');\n\n for (var i = 0; i < vars.length; i++) {\n var pair = vars[i].split('=');\n\n if (pair[0] === variable) {\n return pair[1];\n }\n }\n\n return false;\n} // Add a handy this.listen() fn to Vue instances. Saves on the need to add an event listener\n// and then manually remove them all the time.\n\n\n_vue.default.mixin({\n beforeDestroy: function beforeDestroy() {\n var _context;\n\n (0, _forEach.default)(_context = this.listeningEvents || []).call(_context, function (fn) {\n return fn();\n });\n },\n methods: {\n listen: function listen(source, event, fn) {\n this.listeningEvents = this.listeningEvents || [];\n\n var off = function off() {\n (source.removeEventListener || source.$off || source.off).call(source, event, fn);\n };\n\n this.listeningEvents.push(off);\n (source.addEventListener || source.$on || source.on).call(source, event, fn);\n return off;\n },\n listenOnce: function listenOnce(source, event, _fn) {\n var fn = _fn;\n this.listeningEvents = this.listeningEvents || [];\n\n var off = function off() {\n (source.removeEventListener || source.$off || source.off).call(source, event, fn);\n };\n\n this.listeningEvents.push(off);\n\n if (source.addEventListener) {\n // Create our own once handler as the DOM doesn't support this itself\n fn = function onceFn() {\n source.removeEventListener(event, onceFn);\n fn.apply(void 0, arguments);\n };\n\n source.addEventListener(event, fn);\n } else {\n (source.$once || source.once).call(source, event, fn);\n }\n\n return off;\n }\n }\n}); // Timer functions that are auto cleaned up when a component is destroyed\n\n\n_vue.default.mixin({\n beforeDestroy: function beforeDestroy() {\n var _context2;\n\n (0, _forEach.default)(_context2 = this.timerEvents || []).call(_context2, function (tmr) {\n return clearTimeout(tmr);\n });\n },\n methods: {\n setInterval: function (_setInterval) {\n function setInterval() {\n return _setInterval.apply(this, arguments);\n }\n\n setInterval.toString = function () {\n return _setInterval.toString();\n };\n\n return setInterval;\n }(function () {\n this.timerEvents = this.timerEvents || [];\n\n var v = _setInterval3.default.apply(void 0, arguments);\n\n this.timerEvents.push(v);\n return v;\n }),\n setTimeout: function (_setTimeout) {\n function setTimeout() {\n return _setTimeout.apply(this, arguments);\n }\n\n setTimeout.toString = function () {\n return _setTimeout.toString();\n };\n\n return setTimeout;\n }(function () {\n this.timerEvents = this.timerEvents || [];\n\n var v = _setTimeout3.default.apply(void 0, arguments);\n\n this.timerEvents.push(v);\n return v;\n })\n }\n}); // Make the state available to all components by default\n\n\n_vue.default.mixin({\n computed: {\n $state: function $state() {\n return (0, _state.default)();\n }\n }\n}); // Allow adding existing raw elements to component templates\n// Eg:
\n// Eg:
\n\n\n_vue.default.directive('rawElement', {\n bind: function bind(el, binding) {\n if (binding.value.nodeName) {\n el.appendChild(binding.value);\n } else if (binding.value.el) {\n var rawEl = binding.value.el;\n el.appendChild(rawEl); // Add any data attributes to the raw element\n\n if (binding.value.data) {\n var _context3;\n\n (0, _forEach.default)(_context3 = (0, _keys.default)(binding.value.data)).call(_context3, function (key) {\n rawEl.dataset[key] = binding.value.data[key];\n });\n } // Add any properties to the raw element\n\n\n if (binding.value.props) {\n var _context4;\n\n (0, _forEach.default)(_context4 = (0, _keys.default)(binding.value.props)).call(_context4, function (key) {\n rawEl[key] = binding.value.props[key];\n });\n }\n }\n }\n}); // Register a global custom directive called `v-focus`\n\n\n_vue.default.directive('focus', {\n // Support conditional eg. v-focus=\"false\"\n bind: function bind(el, bindings) {\n el.dataset.focus = bindings.value === undefined || !!bindings.value;\n },\n // When the bound element is inserted into the DOM...\n inserted: function inserted(el) {\n // dataset properties are strings\n if (el.dataset.focus !== 'true') {\n return;\n } // Element is input so focus it\n\n\n if (el.tagName === 'INPUT') {\n el.focus();\n return;\n } // Try to focus the first input element\n\n\n var input = el.getElementsByTagName('input')[0];\n\n if (input) {\n input.focus();\n }\n }\n});\n\nvar ROSymbol = (0, _symbol.default)('resizeobserver');\n\n_vue.default.directive('resizeobserver', {\n bind: function bind(el, bindings) {\n var cb = bindings.value || function noop() {};\n\n el[ROSymbol] = new ResizeObserver(cb);\n el[ROSymbol].observe(el);\n },\n unbind: function unbind(el) {\n el[ROSymbol].unobserve(el);\n }\n});\n\nloadApp();\n\nfunction loadApp() {\n var configFile = 'static/config.json';\n var configObj = null;\n /**\n * Finding the config file\n * In order, looks in the following places:\n * 1. If a 'config' argument is in the query string, static/config_THEVALUE_.json\n * 2. If a window.kiwiConfig function exists, use it's return value as the config object.\n * 3. If a is found, then the content becomes the config\n * URL.\n * 4. If a is found, then the\n * content becomes the config JSON without making another web request.\n */\n\n if (getQueryVariable('config')) {\n configFile = 'static/config_' + getQueryVariable('config') + '.json';\n } else if (typeof window.kiwiConfig === 'function') {\n try {\n configObj = window.kiwiConfig();\n } catch (err) {\n log.error('Config file: ' + err.stack);\n showError();\n }\n } else if (document.querySelector('meta[name=\"kiwiconfig\"]')) {\n configFile = document.querySelector('meta[name=\"kiwiconfig\"]').content;\n } else if (document.querySelector('script[name=\"kiwiconfig\"]')) {\n var configContents = document.querySelector('script[name=\"kiwiconfig\"]').innerHTML;\n\n try {\n configObj = _json.default.parse(configContents);\n } catch (parseErr) {\n log.error('Config file: ' + parseErr.stack);\n showError();\n }\n }\n\n var configLoader = new _ConfigLoader.default();\n configLoader.addValueReplacement('protocol', window.location.protocol).addValueReplacement('wsprotocol', window.location.protocol === 'https:' ? 'wss:' : 'ws:').addValueReplacement('tls', window.location.protocol === 'https:').addValueReplacement('hostname', window.location.hostname).addValueReplacement('host', window.location.host).addValueReplacement('port', window.location.port || (window.location.protocol === 'https:' ? 443 : 80)).addValueReplacement('hash', (window.location.hash || '').substr(1)).addValueReplacement('query', (window.location.search || '').substr(1)).addValueReplacement('referrer', window.document.referrer);\n (configObj ? configLoader.loadFromObj(configObj) : configLoader.loadFromUrl(configFile)).then(applyConfig).then(initState).then(initInputCommands).then(initLocales).then(initThemes).then(loadPlugins).then(initSound).then(startApp).catch(showError);\n}\n\nfunction applyConfig(config) {\n Misc.dedotObject(config); // if we have a config template apply that before other configs\n\n if (_configTemplates.configTemplates[config.template]) {\n applyConfigObj(_configTemplates.configTemplates[config.template], (0, _state.default)().settings);\n }\n\n applyConfigObj(config, (0, _state.default)().settings);\n} // Recursively merge an object onto another via Vue.$set\n\n\nfunction applyConfigObj(obj, target) {\n _lodash.default.each(obj, function (val, key) {\n if ((0, _typeof2.default)(val) === 'object') {\n if ((0, _typeof2.default)(target[key]) !== 'object') {\n // Create the correct type of object\n var newVal = _lodash.default.isArray(val) ? [] : {};\n\n _vue.default.set(target, key, newVal);\n }\n\n applyConfigObj(val, target[key]);\n } else {\n _vue.default.set(target, key, val);\n }\n });\n}\n\nfunction loadPlugins() {\n return new _promise.default(function (resolve, reject) {\n var plugins = (0, _state.default)().settings.plugins || [];\n var pluginIdx = -1;\n loadNextScript();\n\n function loadNextScript(sSrc, fOnload) {\n var _context5;\n\n var plugin = plugins[++pluginIdx];\n\n if (!plugin) {\n resolve();\n return;\n }\n\n if ((0, _indexOf.default)(_context5 = plugin.url).call(_context5, '.js') > -1) {\n // The plugin is a .js file so inject it as a script\n var scr = document.createElement('script');\n\n scr.onerror = function () {\n var _context6;\n\n log.error((0, _concat.default)(_context6 = \"Error loading plugin '\".concat(plugin.name, \"' from '\")).call(_context6, plugin.url, \"'\"));\n loadNextScript();\n };\n\n scr.onload = function () {\n loadNextScript();\n };\n\n document.body.appendChild(scr);\n scr.src = plugin.url;\n } else {\n // Treat the plugin as a HTML document and just inject it into the document\n fetch(plugin.url).then(function (response) {\n return response.text();\n }).then(function (pluginRaw) {\n var el = document.createElement('div');\n el.id = 'kiwi_plugin_' + plugin.name.replace(/[ \"']/g, '');\n el.style.display = 'none';\n el.innerHTML = pluginRaw; // The browser won't execute any script elements so we need to extract them and\n // place them into the DOM using our own script elements\n\n var scripts = (0, _toConsumableArray2.default)(el.querySelectorAll('script')); // IE11 does not support nodes.forEach()\n\n (0, _forEach.default)(scripts).call(scripts, function (limitedScr) {\n limitedScr.parentElement.removeChild(limitedScr);\n var scr = document.createElement('script');\n scr.text = limitedScr.text;\n el.appendChild(scr);\n });\n document.body.appendChild(el);\n loadNextScript();\n }).catch(function () {\n var _context7;\n\n log.error((0, _concat.default)(_context7 = \"Error loading plugin '\".concat(plugin.name, \"' from '\")).call(_context7, plugin.url, \"'\"));\n loadNextScript();\n });\n }\n }\n });\n}\n\nfunction initLocales() {\n _vue.default.use(_vueI18next.default); // Make the translation services available via the global API\n\n\n api.i18n = _i18next.default;\n\n _i18next.default.use(_i18nextXhrBackend.default);\n\n _i18next.default.init({\n whitelist: _available.default.locales,\n fallbackLng: 'en-us',\n lowerCaseLng: true,\n backend: {\n loadPath: 'static/locales/{{lng}}.json',\n // allow cross domain requests\n crossDomain: false,\n // allow credentials on cross domain requests\n withCredentials: false\n },\n interpolation: {\n // We let vuejs handle HTML output escaping\n escapeValue: false\n }\n }); // Build in the english translation so it can be used as a fallback\n\n\n _i18next.default.addResourceBundle('en-us', 'translation', _enUs.default); // Override the $t function so that empty translations fallback to en-us\n\n\n _vue.default.mixin({\n computed: {\n $t: function $t() {\n var _this = this;\n\n return function (key, options) {\n var val = _this.$i18n.i18next.t(key, options, _this.$i18n.i18nLoadedAt);\n\n if (!val) {\n var opts = options || {};\n opts.lng = 'en-us';\n val = _this.$i18n.i18next.t(key, opts, _this.$i18n.i18nLoadedAt);\n }\n\n return val;\n };\n }\n }\n });\n\n var setDefaultLanguage = function setDefaultLanguage() {\n var defaultLang = (0, _state.default)().setting('language');\n var preferredLangs = _lodash.default.clone(window.navigator && window.navigator.languages) || []; // our configs default lang overrides all others\n\n if (defaultLang) {\n preferredLangs.unshift(defaultLang);\n } // set a default language\n\n\n _i18next.default.changeLanguage('en-us'); // Go through our browser languages until we find one that we support\n\n\n for (var idx = 0; idx < preferredLangs.length; idx++) {\n var lang = preferredLangs[idx]; // if this is a language such as 'fr', add a following one of 'fr-fr' to cover\n // both cases\n\n if (lang.length === 2) {\n (0, _splice.default)(preferredLangs).call(preferredLangs, idx + 1, 0, lang + '-' + lang);\n }\n\n if ((0, _includes.default)(_lodash.default).call(_lodash.default, _available.default.locales, lang.toLowerCase())) {\n _i18next.default.changeLanguage(lang, function (err, t) {\n if (err) {\n // setting the language failed so set default again\n _i18next.default.changeLanguage('en-us');\n }\n });\n\n break;\n }\n }\n };\n\n setDefaultLanguage(); // Update the language if the setting changes.\n\n (0, _state.default)().$watch('user_settings.language', function (lang) {\n if (!lang && !(0, _state.default)().setting('language')) {\n setDefaultLanguage();\n } else {\n _i18next.default.changeLanguage(lang || (0, _state.default)().setting('language') || 'en-us');\n }\n });\n}\n\nfunction initState() {\n return _initState.apply(this, arguments);\n}\n\nfunction _initState() {\n _initState = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var stateKey, persistLog, persist;\n return _regenerator.default.wrap(function _callee$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n stateKey = (0, _state.default)().settings.startupOptions.state_key; // Default to a preset key if it wasn't set\n\n if (typeof stateKey === 'undefined') {\n stateKey = 'kiwi-state';\n }\n\n persistLog = _Logger.default.namespace('StatePersistence');\n persist = new _StatePersistence.default(stateKey || '', (0, _state.default)(), Storage, persistLog);\n persist.includeBuffers = !!(0, _state.default)().settings.startupOptions.remember_buffers;\n\n if (!stateKey) {\n _context8.next = 8;\n break;\n }\n\n _context8.next = 8;\n return persist.loadStateIfExists();\n\n case 8:\n api.setState((0, _state.default)());\n\n case 9:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee);\n }));\n return _initState.apply(this, arguments);\n}\n\nfunction initThemes() {\n var themeMgr = _ThemeManager.default.instance((0, _state.default)());\n\n api.setThemeManager(themeMgr);\n var argTheme = getQueryVariable('theme');\n\n if (argTheme) {\n themeMgr.setTheme(argTheme);\n }\n}\n\nfunction initSound() {\n var sound = new _SoundBleep.SoundBleep();\n var bleep = new _AudioManager.AudioManager(sound);\n bleep.listen((0, _state.default)());\n bleep.watchForMessages((0, _state.default)());\n}\n\nfunction initInputCommands() {\n /* eslint-disable no-new */\n new _InputHandler.default((0, _state.default)());\n}\n\nfunction startApp() {\n new _WindowTitle.default((0, _state.default)());\n api.emit('init');\n /* eslint-disable no-new */\n\n new _vue.default({\n el: '#app',\n render: function render(h) {\n return h(_App.default);\n },\n i18n: new _vueI18next.default(_i18next.default)\n });\n api.emit('ready');\n}\n\nfunction showError(err) {\n if (err) {\n log.error('Error starting Kiwi IRC:', err);\n } else {\n log.error('Unknown error starting Kiwi IRC');\n }\n /* eslint-disable no-new */\n\n\n new _vue.default({\n el: '#app',\n render: function render(h) {\n return h(_StartupError.default, {\n props: {\n error: err\n }\n });\n }\n });\n}","\"use strict\";\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.configTemplates = void 0;\n\n/**\n * Configuration templates\n *\n * All the default values for config options throughout kiwi are set here, under\n * the 'default' template object below.\n * If a 'default.template' value is set in the user config, this is used to\n * find the next template object below and is merged over the default config\n * template.\n * The user config (config.json by default) is then merged over the resulting\n * config object.\n *\n * The advanced settings dialog also displays these settings by iterating\n * through the keys. The values must not be null otherwise they will not be\n * shown.\n */\nvar configTemplates = {\n default: {\n plugins: [],\n windowTitle: 'Kiwi IRC - The web IRC client',\n useMonospace: false,\n language: '',\n theme: 'Default',\n themes: [{\n name: 'Default',\n url: 'static/themes/default'\n }],\n // Restricted to a single IRC server\n restricted: true,\n // The startup screen\n startupScreen: 'customServer',\n // Where to find the kiwi server\n kiwiServer: '/webirc/kiwiirc/',\n // If active, all connections will be routed via this BNC server. Network settings\n // will be read and updated to the BNC as they are changed.\n bnc: {\n active: false,\n server: '',\n port: 6667,\n tls: false,\n path: '',\n username: '',\n password: ''\n },\n warnOnExit: true,\n quitMessage: 'Page closed',\n // Default buffer settings\n buffers: {\n messageLayout: 'modern',\n alert_on: 'highlight',\n timestamp_format: '%H:%M:%S',\n // If timestamp_full_format is falsy, the browsers locale date format will be used\n timestamp_full_format: '',\n show_timestamps: true,\n scrollback_size: 250,\n show_hostnames: false,\n show_joinparts: true,\n show_topics: true,\n show_nick_changes: true,\n show_mode_changes: true,\n traffic_as_activity: false,\n coloured_nicklist: true,\n colour_nicknames_in_messages: true,\n block_pms: false,\n show_emoticons: true,\n extra_formatting: true,\n mute_sound: false,\n hide_message_counts: false,\n show_realnames: false,\n default_ban_mask: '*!%i@%h',\n default_kick_reason: 'Your behaviour is not conducive to the desired environment.',\n shared_input: false,\n show_message_info: true,\n who_loop: true,\n share_typing: true,\n // flash_title: message/highlight/off\n flash_title: 'message',\n nicklist_avatars: false,\n show_link_previews: true,\n inline_link_auto_previews: true,\n inline_link_auto_preview_whitelist: '.*'\n },\n // Startup screen default\n startupOptions: {\n server: '',\n port: 6667,\n tls: false,\n channel: '',\n nick: 'kiwi_?',\n direct: false,\n state_key: 'kiwi-state',\n remember_buffers: true,\n nick_format: ''\n },\n autoReconnect: false,\n disconnectOnSaslFail: true,\n allowRegisterProtocolHandler: false,\n noticeActiveBuffer: true,\n nicklistGroupAway: false,\n showChanlistModes: false,\n showAutocomplete: true,\n showEmojiPicker: true,\n showColorPicker: false,\n showSendButton: false,\n showAwayStatusIndicators: true,\n sidebarDefault: 'nicklist',\n showRaw: false,\n hideSettings: null,\n highlights: '',\n teamHighlights: false,\n aliases: \"\\n# General aliases\\n/p /part $1+\\n/me /action $destination $1+\\n/j /join $1+\\n/q /query $1+\\n/w /whois $1+\\n/raw /quote $1+\\n/connect /server $1+\\n/disconnect /quit $1+\\n/cycle $channel? /lines /part $channel | /join $channel\\n/active /back $1+\\n/umode /mode $nick $1+\\n\\n# Op related aliases\\n/op /quote mode $channel +o $1+\\n/deop /quote mode $channel -o $1+\\n/hop /quote mode $channel +h $1+\\n/dehop /quote mode $channel -h $1+\\n/voice /quote mode $channel +v $1+\\n/devoice /quote mode $channel -v $1+\\n/k /kick $channel $1+\\n/bans /mode $channel +b\\n/ban /quote mode $channel +b $1+\\n/unban /quote mode $channel -b $1+\\n\\n# Misc aliases\\n/slap /me slaps $1 around a bit with a large trout\\n/tick /msg $channel \\u2714\",\n embedly: {\n Key: ''\n },\n\n /* eslint-disable quote-props */\n emojis: {\n '-___-': '1f611',\n ':\\'-)': '1f602',\n '\\':-)': '1f605',\n '\\':-D': '1f605',\n '>:-)': '1f606',\n '\\':-(': '1f613',\n '>:-(': '1f620',\n ':\\'-(': '1f622',\n 'O:-)': '1f607',\n '0:-3': '1f607',\n '0:-)': '1f607',\n '0;^)': '1f607',\n 'O;-)': '1f607',\n '0;-)': '1f607',\n 'O:-3': '1f607',\n '-__-': '1f611',\n ':-Þ': '1f61b',\n '<3': '2764',\n ':)': '1f606',\n '>;)': '1f606',\n '>=)': '1f606',\n 'XD': '1f606',\n ';-)': '1f609',\n '*-)': '1f609',\n ';-]': '1f609',\n ';^)': '1f609',\n '\\':(': '1f613',\n '\\'=(': '1f613',\n ':-*': '1f618',\n ':^*': '1f618',\n '>:P': '1f61c',\n 'X-P': '1f61c',\n '>:[': '1f61e',\n ':-(': '1f61e',\n ':-[': '1f61e',\n '>:(': '1f620',\n ':\\'(': '1f622',\n ';-(': '1f622',\n '>.<': '1f623',\n '#-)': '1f635',\n '%-)': '1f635',\n 'X-)': '1f635',\n '\\\\0/': '1f646',\n '\\\\O/': '1f646',\n '0:3': '1f607',\n '0:)': '1f607',\n 'O:)': '1f607',\n 'O=)': '1f607',\n 'O:3': '1f607',\n 'B-)': '1f60e',\n '8-)': '1f60e',\n 'B-D': '1f60e',\n '8-D': '1f60e',\n '-_-': '1f611',\n '>:\\\\': '1f615',\n '>:/': '1f615',\n ':-/': '1f615',\n ':-.': '1f615',\n ':-P': '1f61b',\n ':Þ': '1f61b',\n ':-b': '1f61b',\n ':-O': '1f62e',\n 'O_O': '1f62e',\n '>:O': '1f62e',\n ':-X': '1f636',\n ':-#': '1f636',\n ':-)': '1f642',\n '(y)': '1f44d',\n ':D': '1f603',\n '=D': '1f603',\n ';)': '1f609',\n '*)': '1f609',\n ';]': '1f609',\n ';D': '1f609',\n ':*': '1f618',\n '=*': '1f618',\n ':(': '1f61e',\n ':[': '1f61e',\n '=(': '1f61e',\n ':@': '1f620',\n ';(': '1f622',\n 'D:': '1f628',\n ':$': '1f633',\n '=$': '1f633',\n '#)': '1f635',\n '%)': '1f635',\n 'X)': '1f635',\n 'B)': '1f60e',\n '8)': '1f60e',\n ':/': '1f615',\n ':\\\\': '1f615',\n '=/': '1f615',\n '=\\\\': '1f615',\n ':L': '1f615',\n '=L': '1f615',\n ':P': '1f61b',\n ':p': '1f61b',\n '=P': '1f61b',\n ':b': '1f61b',\n ':O': '1f62e',\n ':X': '1f636',\n ':#': '1f636',\n '=X': '1f636',\n '=#': '1f636',\n ':)': '1f642',\n '=]': '1f642',\n '=)': '1f642',\n ':]': '1f642'\n },\n emojiLocation: 'https://kiwiirc.com/shared/emoji/',\n textFormats: {\n user: '%nick',\n user_full: '%nick (%username@%host)',\n channel_join: '→ %text',\n channel_part: '← %text (%reason)',\n channel_quit: '← %text (%reason)',\n channel_kicked: '← %text (%reason)',\n channel_selfkick: '× %text (%reason)',\n channel_badpassword: '× %text',\n channel_topic: 'ⓘ %text',\n channel_banned: '× %text',\n channel_badkey: '⚠ %text',\n channel_inviteonly: '⚠ %channel %text',\n channel_alreadyin: '⚠ %nick %text',\n channel_limitreached: '⚠ %channel %text',\n channel_invalid_name: '⚠ %channel %text',\n channel_topic_setby: 'ⓘ %text',\n channel_has_been_invited: 'ⓘ %nick %text',\n server_connecting: '%text',\n server_connecting_error: '%text',\n mode: 'ⓘ %text',\n selfmode: 'ⓘ %nick %text',\n nickname_alreadyinuse: '⚠ %text',\n network_disconnected: '%text',\n network_connected: '%text',\n whois_channels: '%text',\n whois_idle_and_signon: '%text',\n whois_away: '%text',\n whois_server: '%text',\n whois_idle: '%text',\n whois_notfound: 'ⓘ %text',\n nick_changed: 'ⓘ %text',\n applet_notfound: '⚠ %text',\n encoding_changed: 'ⓘ %text',\n encoding_invalid: '⚠ %text',\n settings_saved: 'ⓘ %text',\n ignore_title: '%text:',\n ignore_none: '%text',\n ignore_nick: '%text',\n ignore_stop_notice: '%text',\n ignore_stopped: '%text',\n chanop_privs_needed: '⚠ %text',\n no_such_nick: 'ⓘ %nick: %text',\n unknown_command: 'ⓘ %text',\n motd: '%text',\n ctcp_response: '[CTCP %nick reply] %message',\n ctcp_request: '[CTCP %nick] %message',\n privmsg: '%text',\n notice: '%text',\n action: '* %nick %text',\n whois_ident: '%nick [%nick!%ident@%host] * %text',\n whois_error: '[%nick] %text',\n whois: '%text',\n whowas_ident: 'was [%nick!%ident@%host] * %name',\n whowas_server: 'using %server (%info)',\n whowas_error: '[%nick] %text',\n who: '%nick [%nick!%ident@%host] * %realname',\n quit: '%text',\n rejoin: '%text',\n set_setting: 'ⓘ %text',\n list_aliases: 'ⓘ %text',\n ignored_pattern: 'ⓘ %text',\n wallops: '[WALLOPS] %text',\n message_nick: '%prefix%nick',\n general_error: '%text'\n },\n presetNetworks: []\n },\n // Config template for those hardcore irc veterans\n irc: {\n showEmojiPicker: false,\n sidebarDefault: 'nicklist',\n buffers: {\n messageLayout: 'inline',\n show_hostnames: true,\n coloured_nicklist: false,\n colour_nicknames_in_messages: false,\n show_emoticons: false,\n show_message_info: false,\n share_typing: false,\n inline_link_auto_previews: false\n }\n },\n // Config template for working as part of a team\n team: {\n teamHighlights: true,\n buffers: {\n messageLayout: 'modern',\n show_joinparts: false,\n show_nick_changes: true,\n show_mode_changes: true,\n show_realnames: true\n }\n }\n};\nexports.configTemplates = configTemplates;","import { render, staticRenderFns } from \"./ChannelInfo.vue?vue&type=template&id=118a686e&\"\nimport script from \"./ChannelInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./ChannelInfo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ChannelInfo.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _url = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/url\"));\n\nvar _isNan = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/number/is-nan\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _Captcha = _interopRequireDefault(require(\"@/components/Captcha\"));\n\nvar _ServerSelector = _interopRequireDefault(require(\"./ServerSelector\"));\n\nvar _default = {\n components: {\n ServerSelector: _ServerSelector.default,\n Captcha: _Captcha.default\n },\n props: ['network'],\n data: function data() {\n return {\n server_type: 'network',\n znc_username: '',\n znc_network: '',\n znc_password: '',\n show_advanced: false,\n switch_tabs_on_connect: false,\n network_list: []\n };\n },\n computed: {\n settingShowRaw: {\n get: function get() {\n return this.network.setting('show_raw');\n },\n set: function set(val) {\n return this.network.setting('show_raw', val);\n }\n },\n directWs: {\n get: function get() {\n if (!this.network.connection.direct) {\n return '';\n }\n\n var connection = this.network.connection;\n var addr = '';\n addr += connection.tls ? 'wss://' : 'ws://';\n addr += connection.server;\n var port = (0, _parseInt2.default)(connection.port, 10);\n\n if ((0, _isNan.default)(port)) {\n port = connection.tls ? 443 : 80;\n } // Only include the port if needed\n\n\n if (connection.tls && port !== 443 || !connection.tls && port !== 80) {\n addr += ':' + connection.port;\n }\n\n addr += connection.path;\n return addr;\n },\n set: function set(newVal) {\n var url = null;\n\n try {\n url = new _url.default(newVal);\n } catch (e) {\n return;\n }\n\n var connection = this.network.connection;\n connection.tls = url.protocol.toLowerCase() === 'wss:';\n connection.server = url.hostname;\n var port = (0, _parseInt2.default)(url.port, 10);\n\n if ((0, _isNan.default)(port)) {\n port = url.protocol.toLowerCase() === 'wss:' ? 443 : 80;\n }\n\n connection.port = port;\n var u = url.href.replace(url.protocol + '//', '');\n connection.path = u.substr((0, _indexOf.default)(u).call(u, '/'));\n }\n }\n },\n watch: {\n znc_username: function znc_username() {\n this.setZncPass();\n },\n znc_network: function znc_network() {\n this.setZncPass();\n },\n znc_password: function znc_password() {\n this.setZncPass();\n },\n 'network.state': function networkState() {\n if (!this.switch_tabs_on_connect) {\n return;\n }\n\n if (this.network.state === 'connected') {\n this.switch_tabs_on_connect = false;\n this.$state.$emit('server.tab.show', 'messages');\n } else if (this.network.state_error) {\n this.switch_tabs_on_connect = false;\n }\n }\n },\n created: function created() {\n var isZnc = !!(this.network.connection.password || '').match(/^(.*)\\/(.*):(.*)$/);\n this.server_type = isZnc ? 'znc' : 'network';\n\n if (isZnc) {\n var match = (this.network.connection.password || '').match(/^(.*)\\/(.*):(.*)$/);\n this.znc_username = match[1] || '';\n this.znc_network = match[2] || '';\n this.znc_password = match[3] || '';\n }\n\n this.network_list = this.$state.setting('presetNetworks') || [];\n },\n methods: {\n readableStateError: function readableStateError(err) {\n return Misc.networkErrorMessage(err);\n },\n connect: function connect() {\n this.switch_tabs_on_connect = true;\n this.network.ircClient.connect();\n },\n reconnect: function reconnect() {\n this.network.ircClient.connect();\n },\n removeNetwork: function removeNetwork() {\n /* eslint-disable no-restricted-globals, no-alert */\n var confirmed = confirm('Really remove this network? This cannot be undone!');\n\n if (!confirmed) {\n return;\n }\n\n this.$state.removeNetwork(this.network.id);\n this.$state.$emit('active.component');\n },\n setZncPass: function setZncPass() {\n var _context, _context2;\n\n var newPass = (0, _concat.default)(_context = (0, _concat.default)(_context2 = \"\".concat(this.znc_username, \"/\")).call(_context2, this.znc_network, \":\")).call(_context, this.znc_password);\n this.network.connection.password = newPass;\n this.network.connection.nick = this.znc_username;\n },\n toggleTls: function toggleTls() {\n var connection = this.network.connection;\n connection.tls = !connection.tls; // Switching the port only if were currently using the most common TLS/plain text ports\n\n if (connection.tls && connection.port === 6667) {\n connection.port = 6697;\n } else if (!connection.tls && connection.port === 6697) {\n connection.port = 6667;\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"NetworkSettings\"]\r\nwindow._kiwi_exports.components.NetworkSettings = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelBanlist.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelBanlist.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomServer.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomServer.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _default2 = {\n props: {\n usePreset: {\n type: Boolean,\n default: true\n },\n networkList: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n connection: {\n type: Object,\n default: function _default() {}\n }\n },\n data: function data() {\n return {\n name: '',\n presetNetworks: [],\n showCustom: true,\n willEmit: false\n };\n },\n computed: {\n presetServer: {\n set: function set(newVal) {\n if (newVal === 'custom') {\n this.name = '';\n this.connection.server = '';\n this.connection.port = 6697;\n this.connection.tls = true;\n this.showCustom = true;\n } else {\n var addr = this.parseFormatted(newVal);\n this.name = addr.name;\n this.connection.server = addr.server;\n this.connection.port = addr.port;\n this.connection.tls = addr.tls;\n this.showCustom = false;\n }\n },\n get: function get() {\n return this.showCustom ? 'custom' : this.toUri(this.connection);\n }\n }\n },\n created: function created() {\n if (this.networkList) {\n this.importUris(this.networkList);\n } // If the given network is in the preset server list, select it\n\n\n var con = this.connection;\n\n if ((0, _find.default)(_lodash.default).call(_lodash.default, this.presetNetworks, function (s) {\n var match = s.server === con.server && s.port === con.port && s.tls === con.tls;\n return match;\n })) {\n this.showCustom = false;\n }\n },\n methods: {\n toUri: function toUri(s) {\n var _context, _context2;\n\n return (0, _concat.default)(_context = (0, _concat.default)(_context2 = \"\".concat(s.server, \":\")).call(_context2, s.tls ? '+' : '')).call(_context, s.port);\n },\n toggleTls: function toggleTls() {\n this.connection.tls = !this.connection.tls; // Switching the port only if were currently using the most common TLS/plain text ports\n\n if (this.connection.tls && this.connection.port === 6667) {\n this.connection.port = 6697;\n } else if (!this.connection.tls && this.connection.port === 6697) {\n this.connection.port = 6667;\n }\n },\n // parseFormatted - Parse freenode|irc.freenode.net:+6697 links\n parseFormatted: function parseFormatted(input) {\n var ret = {\n name: '',\n server: '',\n port: 6667,\n tls: false\n };\n var val = input;\n var pipePos = (0, _indexOf.default)(val).call(val, '|');\n\n if (pipePos > -1) {\n ret.name = val.substr(0, pipePos);\n val = val.substr(pipePos + 1);\n }\n\n var colonPos = (0, _indexOf.default)(val).call(val, ':');\n\n if (colonPos === -1) {\n ret.server = val;\n val = '';\n } else {\n ret.server = val.substr(0, colonPos);\n val = val.substr(colonPos + 1);\n }\n\n if (val[0] === '+') {\n ret.tls = true;\n val = val.substr(1);\n }\n\n if (val.length > 0) {\n ret.port = (0, _parseInt2.default)(val, 10);\n val = '';\n }\n\n if (!ret.name) {\n ret.name = ret.server;\n }\n\n return ret;\n },\n importUris: function importUris(serverList) {\n var _this = this;\n\n // [ 'freenode|irc.freenode.net:+6697', 'irc.snoonet.org:6667' ]\n var servers = (0, _map.default)(serverList).call(serverList, function (s) {\n return _this.parseFormatted(s);\n });\n this.$set(this, 'presetNetworks', servers);\n }\n }\n};\nexports.default = _default2;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"ServerSelector\"]\r\nwindow._kiwi_exports.components.ServerSelector = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n/** @module */\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.linkifyChannels = linkifyChannels;\nexports.createNickColour = createNickColour;\nexports.toInt = toInt;\nexports.hexVal = hexVal;\nexports.mapRange = mapRange;\nexports.formatAndT = formatAndT;\nexports.formatUser = formatUser;\nexports.formatUserFull = formatUserFull;\nexports.formatText = formatText;\nexports.formatDuration = formatDuration;\nexports.formatNumber = formatNumber;\nexports.t = t;\nexports.channelRegex = exports.urlRegex = void 0;\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/typeof\"));\n\nvar _parseFloat2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-float\"));\n\nvar _isNan = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/number/is-nan\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _state = _interopRequireDefault(require(\"@/libs/state\"));\n\nvar _ThemeManager = _interopRequireDefault(require(\"@/libs/ThemeManager\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar ipRegex = _interopRequireWildcard(require(\"ip-regex\"));\n\nvar _i18next = _interopRequireDefault(require(\"i18next\"));\n\nvar murmurhash3 = _interopRequireWildcard(require(\"murmurhash3js\"));\n\nvar urlRegex = new RegExp( // Detect either a protocol or 'www.' to start a URL\n/(([A-Za-z][A-Za-z0-9-]*:\\/\\/)|(www\\.))/.source + '(' + // Hostname and tld\n/([\\w\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF.-]+\\.[a-zA-Z]{2,63})/.source + '|' + // IPv4 address\nipRegex.v4().source + '|' + // IPv6 address\n'(\\\\[?' + ipRegex.v6().source + '\\\\]?)' + ')' + // Optional port..\n/(:[0-9]+)?/.source + // Optional path..\n/(\\/[\\w\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF!:.?$'()[\\]*,;~+=&%@!\\-/]*)?/.source + // Optional fragment\n/(#.*)?/.source, 'i');\nexports.urlRegex = urlRegex;\nvar channelRegex = /(^|\\s)([@+~&%}]*)([#&][^ .,\\007<>\\n\\r]+?)([:;.,<>\\n\\r]+)?$/i;\nexports.channelRegex = channelRegex;\n\nfunction linkifyChannels(word) {\n // \"@#kiwiirc,\" = 3 parts. (prefix=@)(channel=#kiwiirc)(suffix=,)\n return word.replace(channelRegex, function (match, mLead, mPrefix, mChannel, mSuffix) {\n var _context, _context2, _context3, _context4;\n\n var chan = _lodash.default.escape((0, _trim.default)(mChannel).call(mChannel));\n\n var lead = _lodash.default.escape(mLead);\n\n var prefix = _lodash.default.escape(mPrefix);\n\n var suffix = _lodash.default.escape(mSuffix);\n\n var link = (0, _concat.default)(_context = \"\")).call(_context, chan, \"\");\n return (0, _concat.default)(_context2 = (0, _concat.default)(_context3 = (0, _concat.default)(_context4 = \"\".concat(lead)).call(_context4, prefix)).call(_context3, link)).call(_context2, suffix);\n });\n}\n/**\n * Convert a nickname string to a colour code\n * Uses these properties from the CSS theme file:\n * --kiwi-nickcolour-count: 200; - number of available nick colours\n * --kiwi-nickcolour-hueoffset: 0; - moves the hue value by hueoffset amounts\n * --kiwi-nickcolour-saturation: 70; - the nick saturation in HSL value\n * --kiwi-nickcolour-lightness: 40; - the nick lightness in HSL value\n */\n\n\nfunction createNickColour(nick) {\n var _context5, _context6;\n\n var themeMngr = _ThemeManager.default.instance();\n\n var nickLower = (nick || '').toLowerCase();\n var nickNum = murmurhash3.x86.hash32(nickLower);\n var bucketSize = toInt(themeMngr.themeVar('nickcolour-count')) || 200;\n var hueOffset = toInt(themeMngr.themeVar('nickcolour-hueoffset'));\n var hsl = {\n h: mapRange(Math.abs(nickNum) % bucketSize, 0, bucketSize, 0, 360) + hueOffset,\n s: toInt(themeMngr.themeVar('nickcolour-saturation')) || 70,\n l: toInt(themeMngr.themeVar('nickcolour-lightness')) || 40\n };\n return (0, _concat.default)(_context5 = (0, _concat.default)(_context6 = \"hsl(\".concat(hsl.h, \", \")).call(_context6, hsl.s, \"%, \")).call(_context5, hsl.l, \"%)\");\n}\n/**\n * Parse a string to an int, where NaN is 0\n * @param {string} inp\n */\n\n\nfunction toInt(inp) {\n var int = (0, _parseInt2.default)(inp, 10);\n\n if ((0, _isNan.default)(int)) {\n int = 0;\n }\n\n return int;\n}\n/**\n * Extract a substring from a hex string and parse it as an integer\n * @param {string} hash - Source hex string\n * @param {number} index - Start index of substring\n * @param {number} [length] - Length of substring. Defaults to 1.\n */\n\n\nfunction hexVal(hash, index, len) {\n return (0, _parseInt2.default)(hash.substr(index, len || 1), 16);\n}\n/*\n * Re-maps a number from one range to another\n * http://processing.org/reference/map_.html\n */\n\n\nfunction mapRange(value, vMin, vMax, dMin, dMax) {\n var vValue = (0, _parseFloat2.default)(value);\n var vRange = vMax - vMin;\n var dRange = dMax - dMin;\n return (vValue - vMin) * dRange / vRange + dMin;\n}\n/**\n * Format a string according to the configured textFormats, including a\n * translation for the %text formatting variable\n */\n\n\nfunction formatAndT(formatId, formatParams, localeId, localeParams) {\n var body = t(localeId, localeParams);\n\n if (formatParams) {\n formatParams.text = body;\n body = formatText(formatId, formatParams);\n } else {\n body = formatText(formatId, {\n text: body\n });\n }\n\n return body;\n}\n/**\n * Create a user reference string similar to 'nick'\n */\n\n\nfunction formatUser(fNick) {\n var nick = fNick; // Allow passing of a user object or irc-framework event\n\n if ((0, _typeof2.default)(nick) === 'object') {\n nick = nick.nick;\n }\n\n return formatText('user', {\n nick: nick\n });\n}\n/**\n * Create a full user reference similar to 'nick (user@host)'\n */\n\n\nfunction formatUserFull(fNick, fUsername, fHost) {\n var nick = '';\n var username = '';\n var host = ''; // Allow passing of a user object or irc-framework event\n\n if ((0, _typeof2.default)(fNick) === 'object') {\n var user = fNick;\n nick = user.nick;\n username = user.username || user.ident;\n host = user.hostname || user.host;\n } else {\n nick = fNick;\n username = fUsername;\n host = fHost;\n }\n\n return formatText('user_full', {\n nick: nick,\n username: username,\n host: host\n });\n}\n/**\n * Format a string according to the configured textFormats\n */\n\n\nfunction formatText(formatId, formatParams) {\n var format = (0, _state.default)().setting('textFormats.' + formatId);\n var params = formatParams; // Most texts only have a 'text' variable so allow passing of a string for this\n // variable as shorthand.\n\n if (typeof params === 'string') {\n params = {\n text: params\n };\n } // Expand a user mask into its individual parts (nick, ident, hostname)\n\n\n if (params.user) {\n params.nick = params.user.nick || '';\n params.username = params.user.username || '';\n params.host = params.user.hostname || '';\n params.prefix = params.user.prefix || '';\n } // Do the magic. Use the %shorthand syntax to produce output.\n\n\n var result = format.replace(/%([A-Z]{2,})/ig, function (match, key) {\n var ret = '';\n\n if (typeof params[key] !== 'undefined') {\n ret = params[key];\n }\n\n return ret;\n });\n return result;\n} // Convert a given duration in seconds to human readable weeks,days,hours,minutes,seconds\n// only showing the duration parts that are used eg 3666 --> 1 hour, 1 minute, 6 seconds\n\n\nfunction formatDuration(timeSeconds) {\n var seconds = timeSeconds;\n var weeks = Math.floor(seconds / (3600 * 24 * 7));\n seconds -= weeks * 3600 * 24 * 7;\n var days = Math.floor(seconds / (3600 * 24));\n seconds -= days * 3600 * 24;\n var hours = Math.floor(seconds / 3600);\n seconds -= hours * 3600;\n var minutes = Math.floor(seconds / 60);\n seconds -= minutes * 60;\n var tmp = [];\n weeks && tmp.push(t('week', {\n count: weeks\n }));\n (weeks || days) && tmp.push(t('day', {\n count: days\n }));\n (days || hours) && tmp.push(t('hour', {\n count: hours\n }));\n (days || hours || minutes) && tmp.push(t('minute', {\n count: minutes\n }));\n tmp.push(t('second', {\n count: seconds\n }));\n return tmp.join(' ');\n}\n\nfunction formatNumber(num) {\n return num.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,');\n}\n\nfunction t(key, options) {\n var val = _i18next.default.t(key, options);\n\n if (!val) {\n var opts = options || {};\n opts.lng = 'en-us';\n val = _i18next.default.t(key, opts);\n }\n\n return val;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"helpers\"]) window._kiwi_exports[\"helpers\"] = {};\nwindow._kiwi_exports[\"helpers\"][\"TextFormatting\"]\r\nwindow._kiwi_exports.helpers.TextFormatting = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-buffersettings\"},[_c('div',{staticClass:\"kiwi-buffersettings-alerts\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('settings_notify')))]),_c('hr'),_c('form',{staticClass:\"u-form\"},[_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingAlertOn),expression:\"settingAlertOn\"}],attrs:{\"type\":\"radio\",\"name\":\"alert_on\",\"value\":\"message\"},domProps:{\"checked\":_vm._q(_vm.settingAlertOn,\"message\")},on:{\"change\":function($event){_vm.settingAlertOn=\"message\"}}}),_c('span',[_vm._v(_vm._s(_vm.$t('settings_notify_all')))])]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingAlertOn),expression:\"settingAlertOn\"}],attrs:{\"type\":\"radio\",\"name\":\"alert_on\",\"value\":\"highlight\"},domProps:{\"checked\":_vm._q(_vm.settingAlertOn,\"highlight\")},on:{\"change\":function($event){_vm.settingAlertOn=\"highlight\"}}}),_c('span',[_vm._v(_vm._s(_vm.$t('settings_notify_mentioned')))])]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingAlertOn),expression:\"settingAlertOn\"}],attrs:{\"type\":\"radio\",\"name\":\"alert_on\",\"value\":\"never\"},domProps:{\"checked\":_vm._q(_vm.settingAlertOn,\"never\")},on:{\"change\":function($event){_vm.settingAlertOn=\"never\"}}}),_c('span',[_vm._v(_vm._s(_vm.$t('settings_notify_never')))])])]),_c('h3',[_vm._v(_vm._s(_vm.$t('settings')))]),_c('hr'),_c('form',{staticClass:\"u-form\"},[_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('settings_notify_mute')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingMuteSound),expression:\"settingMuteSound\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingMuteSound)?_vm._i(_vm.settingMuteSound,null)>-1:(_vm.settingMuteSound)},on:{\"change\":function($event){var $$a=_vm.settingMuteSound,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingMuteSound=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingMuteSound=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingMuteSound=$$c}}}})]),_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('settings_show_message_counts')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingHideMessageCount),expression:\"settingHideMessageCount\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingHideMessageCount)?_vm._i(_vm.settingHideMessageCount,null)>-1:(_vm.settingHideMessageCount)},on:{\"change\":function($event){var $$a=_vm.settingHideMessageCount,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingHideMessageCount=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingHideMessageCount=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingHideMessageCount=$$c}}}})])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./TextStyle.vue?vue&type=template&id=2a7204ee&\"\nimport script from \"./TextStyle.vue?vue&type=script&lang=js&\"\nexport * from \"./TextStyle.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TextStyle.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty2 = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty2(exports, \"__esModule\", {\n value: true\n});\n\nexports.create = create;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\"));\n\nvar _defineProperties = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/define-properties\"));\n\nvar _getOwnPropertyDescriptors = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors\"));\n\nvar _getOwnPropertyDescriptor = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\"));\n\nvar _getOwnPropertySymbols = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _splice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/splice\"));\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _slice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/slice\"));\n\nvar _flags = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/flags\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/toConsumableArray\"));\n\nvar _defineProperty3 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/defineProperty\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/assign\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _strftime = _interopRequireDefault(require(\"strftime\"));\n\nvar _ircFramework = _interopRequireDefault(require(\"irc-framework\"));\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar IrcdDiffs = _interopRequireWildcard(require(\"@/helpers/IrcdDiffs\"));\n\nvar _TypingMiddleware = _interopRequireDefault(require(\"./TypingMiddleware\"));\n\nvar _ChathistoryMiddleware = _interopRequireDefault(require(\"./ChathistoryMiddleware\"));\n\nvar ServerConnection = _interopRequireWildcard(require(\"./ServerConnection\"));\n\nfunction ownKeys(object, enumerableOnly) { var keys = (0, _keys.default)(object); if (_getOwnPropertySymbols.default) { var symbols = (0, _getOwnPropertySymbols.default)(object); if (enumerableOnly) symbols = (0, _filter.default)(symbols).call(symbols, function (sym) { return (0, _getOwnPropertyDescriptor.default)(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context26; (0, _forEach.default)(_context26 = ownKeys(Object(source), true)).call(_context26, function (key) { (0, _defineProperty3.default)(target, key, source[key]); }); } else if (_getOwnPropertyDescriptors.default) { (0, _defineProperties.default)(target, (0, _getOwnPropertyDescriptors.default)(source)); } else { var _context27; (0, _forEach.default)(_context27 = ownKeys(Object(source))).call(_context27, function (key) { (0, _defineProperty2.default)(target, key, (0, _getOwnPropertyDescriptor.default)(source, key)); }); } } return target; }\n\nfunction create(state, network) {\n var networkid = network.id;\n var ircClient = new _ircFramework.default.Client({\n // Most options are set under the overloaded .connect()\n version: null,\n message_max_length: 350\n });\n ircClient.requestCap('znc.in/self-message');\n ircClient.use((0, _ChathistoryMiddleware.default)());\n ircClient.use(clientMiddleware(state, network));\n ircClient.use((0, _TypingMiddleware.default)()); // Overload the connect() function to make sure we are connecting with the\n // most recent connection details from the network state\n\n var originalIrcClientConnect = ircClient.connect;\n\n ircClient.connect = function connect() {\n // Set some defaults if we don't have eveything\n if (!network.connection.nick) {\n network.connection.nick = 'Guest' + Math.floor(Math.random() * 100);\n }\n\n ircClient.options.host = network.connection.server;\n ircClient.options.port = network.connection.port;\n ircClient.options.tls = network.connection.tls;\n ircClient.options.path = network.connection.path;\n ircClient.options.password = network.connection.password;\n\n if (network.password) {\n ircClient.options.account = {\n account: network.connection.nick,\n password: network.password\n };\n } else {\n // No password so give an empty account config. This forces irc-framework to keep\n // the server password (options.password) separate from SASL\n ircClient.options.account = {};\n }\n\n ircClient.options.nick = network.connection.nick;\n ircClient.options.username = network.username || network.connection.nick;\n ircClient.options.gecos = network.gecos || 'https://kiwiirc.com/';\n ircClient.options.encoding = network.connection.encoding;\n ircClient.options.auto_reconnect = !!state.setting('autoReconnect'); // Apply any irc-fw options specified in kiwiirc config\n\n var configOptions = state.setting('ircFramework');\n\n if (configOptions) {\n (0, _assign.default)(ircClient.options, configOptions);\n }\n\n var eventObj = {\n network: network,\n transport: null\n };\n state.$emit('network.connecting', eventObj);\n\n if (eventObj.transport) {\n // A plugin might use its own transport of some kind\n ircClient.options.transport = eventObj.transport;\n } else if (!network.connection.direct) {\n // A direct connection uses a websocket to connect (note: some browsers limit\n // the number of connections to the same host!).\n // A non-direct connection will connect via the configured kiwi server using\n // with our own irc-framework compatible transport.\n ircClient.options.transport = ServerConnection.createChannelConstructor(state.settings.kiwiServer, (window.location.hash || '').substr(1), networkid);\n } else {\n // Use the irc-framework default transport\n ircClient.options.transport = undefined;\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n originalIrcClientConnect.apply(ircClient, args);\n }; // Overload the raw() function so that we can emit outgoing IRC messages to plugins\n\n\n var originalIrcClientRaw = ircClient.raw;\n\n ircClient.raw = function raw() {\n var message = null;\n\n if ((arguments.length <= 0 ? undefined : arguments[0]) instanceof _ircFramework.default.Message) {\n message = arguments.length <= 0 ? undefined : arguments[0];\n } else {\n var rawString = ircClient.rawString.apply(ircClient, arguments);\n message = _ircFramework.default.ircLineParser(rawString);\n }\n\n var eventObj = {\n network: network,\n message: message,\n handled: false\n };\n state.$emit('ircout', eventObj);\n\n if (!eventObj.handled) {\n originalIrcClientRaw.apply(ircClient, [message]);\n }\n };\n\n ircClient.on('raw', function (event) {\n if (!network.setting('show_raw') && !state.setting('showRaw')) {\n return;\n }\n\n var buffer = state.getOrAddBufferByName(networkid, '*raw');\n state.addMessage(buffer, {\n time: (0, _now.default)(),\n nick: '',\n message: (event.from_server ? '[S] ' : '[C] ') + event.line\n });\n });\n ircClient.on('typing', function (event) {\n var user = state.getUser(network.id, event.nick);\n\n if (user) {\n user.typingStatus(event.target, event.status);\n }\n });\n return ircClient;\n}\n\nfunction clientMiddleware(state, network) {\n var networkid = network.id; // eslint-disable-next-line\n\n var numConnects = 0;\n var isRegistered = false;\n return function middlewareFn(client, rawEvents, parsedEvents) {\n parsedEvents.use(parsedEventsHandler);\n rawEvents.use(rawEventsHandler);\n client.on('connecting', function () {\n network.state_error = '';\n network.state = 'connecting';\n network.last_error = '';\n network.last_error_numeric = 0;\n });\n client.on('connected', function () {\n network.state_error = '';\n network.state = 'connected';\n });\n client.on('socket close', function (err) {\n var _context;\n\n isRegistered = false;\n network.state = 'disconnected';\n network.state_error = err || '';\n (0, _forEach.default)(_context = network.buffers).call(_context, function (buffer) {\n if (!buffer) {\n return;\n }\n\n buffer.joined = false;\n buffer.clearUsers();\n });\n });\n };\n\n function rawEventsHandler(command, event, rawLine, client, next) {\n // Allow plugins to override raw IRC events\n var eventObj = _objectSpread(_objectSpread({}, event), {}, {\n raw: rawLine,\n handled: false\n });\n\n state.$emit('irc.raw', command, eventObj, network);\n\n if (eventObj.handled) {\n return;\n }\n\n state.$emit('irc.raw.' + command, command, eventObj, network);\n\n if (eventObj.handled) {\n return;\n }\n\n if (command === '002') {\n // Your host is server.example.net, running version InspIRCd-2.0\n var param = event.params[1] || '';\n var m = param.match(/running version (.*)$/);\n network.ircd = m ? m[1] : '';\n } // SASL failed auth\n\n\n if (command === '904') {\n if (!network.state !== 'connected') {\n network.last_error = 'Invalid login';\n\n if (state.setting('disconnectOnSaslFail')) {\n network.ircClient.connection.end();\n }\n }\n\n var serverBuffer = network.serverBuffer();\n state.addMessage(serverBuffer, {\n time: (0, _now.default)(),\n nick: '*',\n message: 'Invalid login'\n });\n }\n\n if (command === 'CAP' && network.setting('show_raw_caps')) {\n var _context2;\n\n var params = (0, _toConsumableArray2.default)(event.params);\n\n if ((0, _indexOf.default)(_context2 = params[params.length - 1]).call(_context2, ' ') > -1) {\n params[params.length - 1] = ':' + params[params.length - 1];\n }\n\n var buffer = network.serverBuffer();\n state.addMessage(buffer, {\n time: (0, _now.default)(),\n nick: '',\n message: event.command + ' ' + params.join(' ')\n });\n }\n\n next();\n }\n\n function parsedEventsHandler(command, event, client, next) {\n // Trigger this event through the state object first. If it's been handled\n // somewhere else then we ignore it.\n var ircEventObj = {\n handled: false\n };\n state.$emit('irc.' + command, event, network, ircEventObj);\n\n if (ircEventObj.handled) {\n next();\n return;\n } // Ignore any of the control messages. They're transport related to kiwi internals\n\n\n if (event && event.command === 'CONTROL') {\n next();\n return;\n } // If there is a time difference between this client and the server, convert it\n // to match our local time so it makes sense to the user\n\n\n var eventTime = event && event.time ? network.ircClient.network.timeToLocal(event.time) : (0, _now.default)();\n var serverTime = event && event.time || 0;\n\n if (command === 'channel_redirect') {\n var b = network.bufferByName(event.from);\n\n if (b) {\n (0, _flags.default)(b).redirect_to = event.to;\n }\n }\n\n if (command === 'registered') {\n isRegistered = true;\n network.nick = event.nick;\n state.addUser(networkid, {\n nick: event.nick,\n username: client.user.username\n });\n var serverBuffer = network.serverBuffer();\n state.addMessage(serverBuffer, {\n time: (0, _now.default)(),\n nick: '',\n message: TextFormatting.t('connected_to', {\n network: client.network.name\n })\n }); // Get some extra info about ourselves\n\n client.raw('WHO ' + event.nick);\n\n if (network.auto_commands) {\n var _context3;\n\n (0, _forEach.default)(_context3 = network.auto_commands.split('\\n')).call(_context3, function (line) {\n state.$emit('input.raw', line[0] === '/' ? line : \"/\".concat(line));\n });\n } // Join our channels\n // If under bouncer mode, the bouncer will send the channels were joined to instead.\n\n\n if (!network.connection.bncnetid) {\n var _context4;\n\n (0, _forEach.default)(_context4 = network.buffers).call(_context4, function (buffer) {\n if (buffer.isChannel() && buffer.enabled) {\n client.join(buffer.name, buffer.key);\n }\n });\n }\n\n numConnects++;\n }\n\n if (command === 'server options') {\n // If the network name has changed from the irc-framework default, update ours\n // Also if it isn't a BNC network as the name is then derived from the BNC info instead\n if (client.network.name !== 'Network' && !network.connection.bncnetid) {\n network.name = client.network.name;\n }\n } // Show unhandled data from the server in the servers tab\n\n\n if (command === 'unknown command') {\n if (event.command === '486') {\n // You must log in with services to message this user\n var targetNick = event.params[1];\n var buffer = state.getOrAddBufferByName(network.id, targetNick);\n state.addMessage(buffer, {\n time: (0, _now.default)(),\n nick: '*',\n message: event.params[2],\n type: 'error'\n });\n } else {\n var _buffer = network.serverBuffer();\n\n var message = ''; // Only show non-numeric commands\n\n if (!event.command.match(/^\\d+$/)) {\n message += event.command + ' ';\n }\n\n var containsNick = event.params[0] === network.ircClient.user.nick;\n var isChannelMessage = network.isChannelName(event.params[1]); // Strip out the nick if it's the first params (many commands include this)\n\n if (containsNick && isChannelMessage) {\n var _context5;\n\n var channelBuffer = network.bufferByName(event.params[1]);\n\n if (channelBuffer) {\n _buffer = channelBuffer;\n }\n\n message += (0, _slice.default)(_context5 = event.params).call(_context5, 2).join(', ');\n } else if (containsNick) {\n var _context6;\n\n message += (0, _slice.default)(_context6 = event.params).call(_context6, 1).join(', ');\n } else {\n message += event.params.join(', ');\n }\n\n state.addMessage(_buffer, {\n nick: '',\n message: message\n });\n }\n }\n\n if (command.toLowerCase() === 'batch start chathistory' && client.chathistory) {\n var _context7;\n\n // We have a new batch of messages. To prevent duplicate messages being shown, we remove\n // all messages we have locally in the range of these new messages so that the new block\n // of messages we recieved are displayed accurately. Each message in the block will\n // trigger a 'message' event after this.\n var startTime = 0;\n var endTime = 0;\n (0, _forEach.default)(_context7 = event.commands).call(_context7, function (message) {\n if (message.time && message.time > endTime) {\n endTime = message.time;\n }\n\n if (message.time && message.time < startTime) {\n startTime = message.time;\n }\n });\n\n if (!startTime || !endTime) {\n return;\n }\n\n var _buffer2 = state.getBufferByName(networkid, event.params[0]);\n\n if (_buffer2) {\n _buffer2.clearMessageRange(startTime, endTime);\n }\n }\n\n if (command === 'message') {\n var isPrivateMessage = false;\n var bufferName = event.from_server ? '*' : event.target; // PMs should go to a buffer with the name of the other user\n\n if (!event.from_server && event.target === client.user.nick) {\n isPrivateMessage = true;\n bufferName = event.nick;\n } // Chanserv sometimes PMs messages about a channel on join in the format of\n // [#channel] welcome!\n // Redirect these to #channel\n\n\n if (event.nick.toLowerCase() === 'chanserv' && isPrivateMessage && event.message[0] === '[') {\n var _context8;\n\n bufferName = event.message.substr(1, (0, _indexOf.default)(_context8 = event.message).call(_context8, ']') - 1);\n } // Notices from somewhere when we don't have an existing buffer for them should go into\n // the server tab. ie. notices from servers\n\n\n if (event.type === 'notice') {\n var existingBuffer = state.getBufferByName(networkid, bufferName);\n var noticeActiveBuffer = state.setting('noticeActiveBuffer');\n var activeBuffer = state.getActiveBuffer();\n var hasActiveBuffer = activeBuffer && activeBuffer.networkid === networkid; // If we don't have a buffer for this notice sender, either show it in our active\n // buffer or the server buffer\n\n if (!existingBuffer) {\n if (noticeActiveBuffer && hasActiveBuffer) {\n bufferName = activeBuffer.name;\n } else {\n bufferName = '*';\n }\n }\n }\n\n var PM_BLOCK_BLOCKED = false; // const PM_BLOCK_NOT_BLOCKED = true;\n\n var PM_BLOCK_REQUIRES_CHECK = null;\n var pmBlock = network.isNickExemptFromPmBlocks(event.nick);\n var blockNewPms = state.setting('buffers.block_pms');\n\n var _buffer3 = state.getBufferByName(networkid, bufferName);\n\n var textFormatType = 'privmsg';\n\n if (event.type === 'action') {\n textFormatType = 'action';\n } else if (event.type === 'notice') {\n textFormatType = 'notice';\n }\n\n var messageBody = TextFormatting.formatText(textFormatType, {\n nick: event.nick,\n username: event.ident,\n host: event.hostname,\n text: event.message\n });\n var _message = {\n time: eventTime,\n server_time: serverTime,\n nick: event.nick,\n message: messageBody,\n type: event.type,\n tags: event.tags || {}\n }; // If this is a new PM and the sending user is not exempt from blocks, ignore it\n\n if (blockNewPms && isPrivateMessage && !_buffer3 && pmBlock === PM_BLOCK_BLOCKED) {\n return;\n } // If we need to manually check if this user is blocked..\n // PM_BLOCK_REQUIRES_CHECK means we should whois the user to get their oper status. We\n // allways allow messages from opers.\n\n\n if (blockNewPms && isPrivateMessage && !_buffer3 && pmBlock === PM_BLOCK_REQUIRES_CHECK) {\n // if the nick is in pendingPms it has already issued a whois request\n var awaitingWhois = !!(0, _find.default)(_lodash.default).call(_lodash.default, network.pendingPms, {\n nick: event.nick\n });\n network.pendingPms.push({\n bufferName: bufferName,\n message: _message\n }); // Don't send another whois if we are already awaiting another\n\n if (awaitingWhois) {\n return;\n }\n\n network.ircClient.whois(event.nick, event.nick, function (whoisData) {\n var _context9;\n\n (0, _forEach.default)(_context9 = network.pendingPms).call(_context9, function (pm, idx, obj) {\n var nickLower = pm.message.nick.toLowerCase();\n\n if (nickLower === whoisData.nick.toLowerCase()) {\n if (whoisData.operator) {\n _buffer3 = state.getOrAddBufferByName(network.id, pm.bufferName);\n state.addMessage(_buffer3, pm.message);\n }\n\n (0, _splice.default)(obj).call(obj, idx, 1);\n }\n });\n });\n return;\n } // Make sure we have a buffer for our message\n\n\n if (!_buffer3) {\n _buffer3 = state.getOrAddBufferByName(networkid, bufferName);\n }\n\n state.addMessage(_buffer3, _message);\n }\n\n if (command === 'wallops') {\n var _buffer4 = state.getOrAddBufferByName(networkid, '*');\n\n var _messageBody = TextFormatting.formatText('wallops', {\n text: event.message\n });\n\n state.addMessage(_buffer4, {\n time: eventTime,\n server_time: serverTime,\n nick: event.nick,\n message: _messageBody,\n type: 'wallops'\n });\n }\n\n if (command === 'join') {\n // If we have any buffers marked as being redirected to this new channel, update\n // that buffer instead of creating a new one\n if (event.nick === client.user.nick) {\n var _context10;\n\n (0, _forEach.default)(_context10 = network.buffers).call(_context10, function (b) {\n if (((0, _flags.default)(b).redirect_to || '').toLowerCase() === event.channel.toLowerCase()) {\n state.$delete((0, _flags.default)(b), 'redirect_to');\n b.rename(event.channel);\n }\n });\n }\n\n var _buffer5 = state.getOrAddBufferByName(networkid, event.channel); // The case does not match, update buffer.name to the casing sent by the server\n\n\n if (_buffer5.name !== event.channel) {\n _buffer5.rename(event.channel);\n }\n\n state.addUserToBuffer(_buffer5, {\n nick: event.nick,\n username: event.ident,\n host: event.hostname,\n realname: event.gecos,\n account: event.account || ''\n });\n\n if (event.nick === client.user.nick) {\n _buffer5.enabled = true;\n _buffer5.joined = true;\n (0, _flags.default)(_buffer5).channel_badkey = false;\n network.ircClient.raw('MODE', event.channel);\n network.ircClient.who(event.channel);\n }\n\n var nick = _buffer5.setting('show_hostnames') ? TextFormatting.formatUserFull(event) : TextFormatting.formatUser(event);\n\n var _messageBody2 = TextFormatting.formatAndT('channel_join', null, 'has_joined', {\n nick: nick\n });\n\n state.addMessage(_buffer5, {\n time: (0, _now.default)(),\n nick: event.nick,\n message: _messageBody2,\n type: 'traffic',\n type_extra: 'join'\n });\n }\n\n if (command === 'kick') {\n var _buffer6 = state.getOrAddBufferByName(networkid, event.channel);\n\n state.removeUserFromBuffer(_buffer6, event.kicked);\n var _messageBody3 = '';\n\n if (event.kicked === client.user.nick) {\n _buffer6.joined = false;\n\n _buffer6.clearUsers();\n\n _messageBody3 = TextFormatting.formatAndT('channel_selfkick', {\n reason: event.message\n }, 'kicked_you_from', {\n nick: TextFormatting.formatUser(event),\n channel: event.channel\n });\n } else {\n _messageBody3 = TextFormatting.formatAndT('channel_kicked', {\n reason: event.message\n }, 'was_kicked_from', {\n nick: event.kicked,\n channel: event.channel,\n chanop: TextFormatting.formatUser(event.nick)\n });\n }\n\n state.addMessage(_buffer6, {\n time: (0, _now.default)(),\n nick: event.nick,\n message: _messageBody3,\n type: 'traffic',\n type_extra: 'kick'\n });\n }\n\n if (command === 'part') {\n var _buffer7 = state.getBufferByName(networkid, event.channel);\n\n if (!_buffer7) {\n return;\n }\n\n state.removeUserFromBuffer(_buffer7, event.nick);\n\n if (event.nick === client.user.nick) {\n _buffer7.joined = false;\n _buffer7.enabled = false;\n\n _buffer7.clearUsers();\n } // Remove the user from network state if no remaining common channels\n\n\n var remainingBuffers = state.getBuffersWithUser(networkid, event.nick);\n\n if (remainingBuffers.length === 0) {\n state.removeUser(networkid, {\n nick: event.nick\n });\n }\n\n var _nick = _buffer7.setting('show_hostnames') ? TextFormatting.formatUserFull(event) : TextFormatting.formatUser(event);\n\n var _messageBody4 = TextFormatting.formatAndT('channel_part', {\n reason: event.message\n }, 'has_left', {\n nick: _nick\n });\n\n state.addMessage(_buffer7, {\n time: (0, _now.default)(),\n nick: event.nick,\n message: _messageBody4,\n type: 'traffic',\n type_extra: 'part'\n });\n }\n\n if (command === 'quit') {\n var buffers = state.getBuffersWithUser(networkid, event.nick);\n (0, _forEach.default)(buffers).call(buffers, function (buffer) {\n if (!buffer) {\n return;\n }\n\n if (event.nick === client.user.nick) {\n buffer.joined = false;\n buffer.clearUsers();\n }\n\n var nick = buffer.setting('show_hostnames') ? TextFormatting.formatUserFull(event) : TextFormatting.formatUser(event);\n var messageBody = TextFormatting.formatAndT('channel_quit', {\n reason: event.message\n }, 'has_left', {\n nick: nick\n });\n state.addMessage(buffer, {\n time: (0, _now.default)(),\n nick: event.nick,\n message: messageBody,\n type: 'traffic',\n type_extra: 'quit'\n });\n });\n state.removeUser(networkid, {\n nick: event.nick\n });\n }\n\n if (command === 'invite') {\n var _buffer8 = network.serverBuffer();\n\n state.addMessage(_buffer8, {\n nick: '*',\n message: TextFormatting.t('invited_you', {\n nick: event.nick,\n channel: event.channel\n })\n });\n }\n\n if (command === 'account') {\n state.addUser(networkid, {\n nick: event.nick,\n account: event.account || ''\n });\n }\n\n if (command === 'whois') {\n var _context11;\n\n var obj = {\n nick: event.nick,\n host: event.hostname,\n username: event.ident,\n away: event.away || '',\n realname: event.real_name,\n hasWhois: true\n }; // Some other optional bits of info\n\n (0, _forEach.default)(_context11 = ['actual_host', 'helpop', 'bot', 'server', 'server_info', 'operator', 'channels', 'modes', 'idle', 'logon', 'registered_nick', 'account', 'secure', 'special']).call(_context11, function (prop) {\n if (typeof event[prop] !== 'undefined') {\n obj[prop] = event[prop];\n }\n });\n state.addUser(networkid, obj);\n }\n\n if (command === 'away') {\n state.addUser(networkid, {\n nick: event.nick,\n away: event.message || ''\n });\n\n var _buffer9 = state.getActiveBuffer();\n\n if (_buffer9 && event.nick === network.nick) {\n network.away = 'away';\n state.addMessage(_buffer9, {\n time: eventTime,\n server_time: serverTime,\n nick: '*',\n type: 'presence',\n message: event.message\n });\n }\n }\n\n if (command === 'back') {\n state.addUser(networkid, {\n nick: event.nick,\n away: ''\n });\n\n var _buffer10 = state.getActiveBuffer();\n\n if (_buffer10 && event.nick === network.nick) {\n network.away = '';\n state.addMessage(_buffer10, {\n time: eventTime,\n server_time: serverTime,\n nick: '*',\n type: 'presence',\n message: event.message\n });\n }\n }\n\n if (command === 'wholist') {\n state.usersTransaction(networkid, function (users) {\n var _context12;\n\n (0, _forEach.default)(_context12 = event.users).call(_context12, function (eventUser) {\n var _context13;\n\n var userObj = {\n nick: eventUser.nick,\n host: eventUser.hostname || undefined,\n username: eventUser.ident || undefined,\n away: eventUser.away ? 'Away' : '',\n realname: eventUser.real_name,\n account: eventUser.account || undefined\n };\n var user = state.addUser(networkid, userObj, users);\n\n if (!user) {\n // Should never happen as this network should always exist\n return;\n }\n\n var buffer = network.bufferByName(eventUser.channel);\n\n if (!buffer || !user.buffers[buffer.id]) {\n return;\n } // Add all the user channel modes\n\n\n var modes = user.buffers[buffer.id].modes;\n (0, _forEach.default)(_context13 = eventUser.channel_modes).call(_context13, function (mode) {\n if ((0, _indexOf.default)(modes).call(modes, mode) === -1) {\n modes.push(mode);\n }\n });\n });\n });\n }\n\n if (command === 'channel list start') {\n network.channel_list_cache = [];\n network.channel_list_state = 'updating';\n }\n\n if (command === 'channel list') {\n var _context14;\n\n network.channel_list_state = 'updating'; // Filter private channels from the channel list\n\n var filteredEvent = (0, _filter.default)(_lodash.default).call(_lodash.default, event, function (o) {\n return o.channel !== '*';\n }); // Store the channels in channel_list_cache before moving it all to\n // channel_list at the end. This gives a huge performance boost since\n // it doesn't need to be all reactive for every update\n\n network.channel_list_cache = (0, _concat.default)(_context14 = network.channel_list_cache || []).call(_context14, filteredEvent);\n }\n\n if (command === 'channel list end') {\n network.channel_list = network.channel_list_cache || [];\n network.channel_list_state = 'updated';\n delete network.channel_list_cache;\n }\n\n if (command === 'motd') {\n var _buffer11 = network.serverBuffer();\n\n var _messageBody5 = TextFormatting.formatText('motd', {\n text: event.motd\n });\n\n state.addMessage(_buffer11, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: _messageBody5,\n type: 'motd'\n });\n }\n\n if (command === 'nick in use' && !client.connection.registered) {\n var _context15;\n\n var newNick = client.user.nick + rand(1, 100);\n\n var _messageBody6 = TextFormatting.formatAndT('nickname_alreadyinuse', null, 'nick_in_use_retrying', {\n nick: client.user.nick,\n newnick: newNick\n });\n\n (0, _forEach.default)(_context15 = network.buffers).call(_context15, function (b) {\n state.addMessage(b, {\n time: (0, _now.default)(),\n nick: '',\n message: _messageBody6,\n type: 'error'\n });\n });\n client.changeNick(newNick);\n }\n\n if (command === 'nick in use' && client.connection.registered) {\n var _buffer12 = state.getActiveBuffer();\n\n _buffer12 && state.addMessage(_buffer12, {\n time: (0, _now.default)(),\n nick: '',\n type: 'error',\n message: \"The nickname '\".concat(event.nick, \"' is already in use!\")\n });\n }\n\n if (command === 'nick') {\n if (event.nick === client.user.nick) {\n network.nick = event.new_nick;\n }\n\n state.changeUserNick(networkid, event.nick, event.new_nick);\n\n var _messageBody7 = TextFormatting.formatAndT('nick_changed', null, 'now_known_as', {\n nick: event.nick,\n newnick: event.new_nick\n });\n\n var _buffers = state.getBuffersWithUser(networkid, event.new_nick);\n\n (0, _forEach.default)(_buffers).call(_buffers, function (buffer) {\n state.addMessage(buffer, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: _messageBody7,\n type: 'nick'\n });\n });\n }\n\n if (command === 'userlist') {\n var _context16, _context17;\n\n var _buffer13 = state.getOrAddBufferByName(networkid, event.channel);\n\n var hadExistingUsers = (0, _filter.default)(_context16 = (0, _keys.default)(_buffer13.users)).call(_context16, function (u) {\n return u !== network.ircClient.user.nick;\n }).length > 0;\n var users = [];\n (0, _forEach.default)(_context17 = event.users).call(_context17, function (user) {\n users.push({\n user: {\n nick: user.nick,\n username: user.ident,\n hostname: user.hostname\n },\n modes: user.modes\n });\n });\n state.addMultipleUsersToBuffer(_buffer13, users);\n\n if (!hadExistingUsers && network.ircClient.chathistory.isSupported()) {\n var correctBuffer = _buffer13.isChannel() || _buffer13.isQuery(); // TODO: If this is a reconnect (numConnects > 1) then paginate backwards\n // until we reach our last message.\n // OR\n // Add a marker at the gap between this new chathistory block starts and when\n // the existing messages end so that we can add a \"load missing messages\"\n // button there or have it auto request them when it scrolls into view\n\n\n if (correctBuffer) {\n _buffer13.requestLatestScrollback();\n }\n }\n }\n\n if (command === 'channel info') {\n var _buffer14 = network.bufferByName(event.channel);\n\n if (!_buffer14) {\n return;\n }\n\n if (event.modes) {\n var _context18;\n\n var modeStrs = [];\n (0, _forEach.default)(_context18 = event.modes).call(_context18, function (mode) {\n var adding = mode.mode[0] === '+';\n var modeChar = mode.mode.substr(1);\n\n if (adding) {\n state.$set(_buffer14.modes, modeChar, mode.param);\n } else if (!adding) {\n state.$delete(_buffer14.modes, modeChar);\n }\n\n modeStrs.push(mode.mode + (mode.param ? ' ' + mode.param : ''));\n });\n\n if ((0, _flags.default)(_buffer14).requested_modes) {\n state.addMessage(_buffer14, {\n time: eventTime,\n server_time: serverTime,\n nick: '*',\n message: _buffer14.name + ' ' + modeStrs.join(', ')\n });\n }\n }\n\n if (event.created_at) {\n _buffer14.created_at = new Date(event.created_at * 1000);\n }\n\n if (event.created_at && (0, _flags.default)(_buffer14).requested_modes) {\n var tFormat = _buffer14.setting('timestamp_full_format');\n\n var timeCreated = tFormat ? (0, _strftime.default)(tFormat, new Date(event.created_at * 1000)) : new Date(event.created_at * 1000).toLocaleString();\n state.addMessage(_buffer14, {\n time: eventTime,\n server_time: serverTime,\n nick: '*',\n message: _buffer14.name + ' ' + timeCreated\n });\n }\n }\n\n if (command === 'mode') {\n var _buffer15 = network.bufferByName(event.target);\n\n var _modeStrs = {};\n\n if (_buffer15) {\n var _context19;\n\n // Join all the same mode changes together so they can be shown on one\n // line such as \"prawnsalad sets +b on nick1, nick2\"\n (0, _forEach.default)(_context19 = event.modes).call(_context19, function (mode) {\n _modeStrs[mode.mode] = _modeStrs[mode.mode] || []; // If this mode has a user prefix then we need to update the user object\n\n var prefix = (0, _find.default)(_lodash.default).call(_lodash.default, network.ircClient.network.options.PREFIX, {\n mode: mode.mode[1]\n });\n\n if (prefix) {\n var user = state.getUser(network.id, mode.param);\n\n if (user) {\n var adding = mode.mode[0] === '+';\n var modes = user.buffers[_buffer15.id].modes;\n var modeIdx = (0, _indexOf.default)(modes).call(modes, prefix.mode); // Add or remove the mode from the users mode list\n\n if (adding && modeIdx === -1) {\n modes.push(prefix.mode);\n } else if (!adding && modeIdx > -1) {\n (0, _splice.default)(modes).call(modes, modeIdx, 1);\n }\n }\n\n _modeStrs[mode.mode].push({\n target: mode.param\n });\n } else {\n // Not a user prefix, add it as a channel mode\n // TODO: Why are these not appearing as the 'channel info' command?\n var _adding = mode.mode[0] === '+';\n\n var modeChar = mode.mode.substr(1);\n\n if (_adding) {\n state.$set(_buffer15.modes, modeChar, mode.param);\n } else if (!_adding) {\n state.$delete(_buffer15.modes, modeChar);\n }\n\n _modeStrs[mode.mode].push({\n target: _buffer15.name,\n param: mode.param\n });\n }\n }); // Mode -> locale ID mappings\n // If a mode isn't found here, the local ID modes_other is used\n\n var modeLocaleIds = {\n '+o': 'modes_give_ops',\n '-o': 'modes_take_ops',\n '+h': 'modes_give_halfops',\n '-h': 'modes_take_halfops',\n '+v': 'modes_give_voice',\n '-v': 'modes_take_voice',\n '+a': 'modes_give_admin',\n '-a': 'modes_take_admin',\n '+q': 'modes_give_owner',\n '-q': 'modes_take_owner',\n '+b': 'modes_gives_ban',\n '-b': 'modes_takes_ban'\n }; // Some IRCd differences\n\n if (!IrcdDiffs.isQChannelModeOwner(network)) {\n delete modeLocaleIds['+q'];\n delete modeLocaleIds['-q'];\n }\n\n if (!IrcdDiffs.isAChannelModeAdmin(network)) {\n delete modeLocaleIds['+a'];\n delete modeLocaleIds['-a'];\n }\n\n if (!IrcdDiffs.supportsHalfOp(network)) {\n delete modeLocaleIds['+h'];\n delete modeLocaleIds['-h'];\n } // Some modes have specific data for its locale data while most\n // use a default. The returned objects are passed to the translation\n // functions to build the translation\n\n\n var modeLocaleDataBuilders = {\n default: function _default(targets, mode) {\n return {\n mode: mode + (targets[0].param ? ' ' + targets[0].param : ''),\n target: (0, _map.default)(targets).call(targets, function (t) {\n return t.target;\n }).join(', '),\n nick: event.nick\n };\n },\n b: function b(targets, mode) {\n return {\n mode: mode,\n target: targets[0].param ? targets[0].param : '',\n nick: event.nick\n };\n }\n }; // Show one line per mode, listing each effecting user\n\n _lodash.default.each(_modeStrs, function (targets, mode) {\n // Find a locale data builder for this mode\n var builders = modeLocaleDataBuilders;\n var localeDataFn = builders[mode[1]] || builders.default;\n var localeData = localeDataFn(targets, mode); // Translate using the built locale data\n\n var localeKey = modeLocaleIds[mode] || 'modes_other';\n var text = TextFormatting.t(localeKey, localeData);\n var messageBody = TextFormatting.formatText('mode', {\n nick: event.nick,\n username: event.ident,\n host: event.hostname,\n target: (0, _map.default)(targets).call(targets, function (t) {\n return t.target;\n }).join(', '),\n text: text\n });\n state.addMessage(_buffer15, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: messageBody,\n type: 'mode'\n });\n });\n } else {\n var _context20;\n\n // target is not a channel buffer (user mode ?)\n // if mode had param, show in a new line\n var modeslines = {}; // Group each - or + modes to each of their own message lines\n\n (0, _forEach.default)(_context20 = event.modes).call(_context20, function (mode) {\n if (mode.param) {\n modeslines[mode.mode] = ' ' + mode.param;\n } else if (mode.mode[0] === '-') {\n var _context21;\n\n if (!modeslines['-']) {\n modeslines['-'] = '';\n }\n\n modeslines['-'] += (0, _slice.default)(_context21 = mode.mode).call(_context21, 1);\n } else {\n if (!modeslines['+']) {\n modeslines['+'] = '';\n }\n\n if (mode.mode[0] === '+') {\n var _context22;\n\n modeslines['+'] += (0, _slice.default)(_context22 = mode.mode).call(_context22, 1);\n } else {\n modeslines['+'] += mode.mode;\n }\n }\n });\n\n var _serverBuffer = network.serverBuffer();\n\n _lodash.default.each(modeslines, function (mode, value) {\n var text = TextFormatting.t('modes_other', {\n nick: event.nick,\n target: event.target,\n mode: value + mode\n });\n var messageBody = TextFormatting.formatText('mode', {\n nick: event.nick,\n username: event.ident,\n host: event.hostname,\n target: event.target,\n text: text\n });\n state.addMessage(_serverBuffer, {\n time: (0, _now.default)(),\n nick: '',\n message: messageBody,\n type: 'mode'\n });\n });\n }\n }\n\n if (command === 'banlist') {\n var _buffer16 = state.getBufferByName(networkid, event.channel);\n\n if (_buffer16 && (0, _flags.default)(_buffer16).requested_banlist) {\n if (!event.bans || event.bans.length === 0) {\n state.addMessage(_buffer16, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: TextFormatting.t('bans_nobody'),\n type: 'banlist'\n });\n } else {\n var banText = '';\n\n _lodash.default.each(event.bans, function (ban) {\n var _context23, _context24;\n\n var dateStr = new Date(ban.banned_at * 1000).toDateString();\n banText += (0, _concat.default)(_context23 = (0, _concat.default)(_context24 = \"+b \".concat(ban.banned, \" [by \")).call(_context24, ban.banned_by, \", \")).call(_context23, dateStr, \"]\\n\");\n });\n\n state.addMessage(_buffer16, {\n time: eventTime,\n server_time: serverTime,\n nick: '*',\n message: banText,\n type: 'banlist'\n });\n }\n\n (0, _flags.default)(_buffer16).requested_banlist = false;\n }\n }\n\n if (command === 'topic') {\n var _context25;\n\n var _buffer17 = state.getOrAddBufferByName(networkid, event.channel);\n\n _buffer17.topic = event.topic || '';\n var _messageBody8 = '';\n\n if (event.nick) {\n _messageBody8 = TextFormatting.formatAndT('channel_topic', null, 'changed_topic_to', {\n nick: event.nick,\n topic: event.topic\n });\n } else if ((0, _trim.default)(_context25 = _buffer17.topic).call(_context25)) {\n _messageBody8 = TextFormatting.formatText('channel_topic', _buffer17.topic);\n }\n\n if (_messageBody8) {\n state.addMessage(_buffer17, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: _messageBody8,\n type: 'topic'\n });\n }\n }\n\n if (command === 'ctcp response' || command === 'ctcp request') {\n var _buffer18 = network.bufferByName(event.target) || network.serverBuffer();\n\n var textFormatId = command === 'ctcp response' ? 'ctcp_response' : 'ctcp_request';\n\n var _messageBody9 = TextFormatting.formatText(textFormatId, {\n nick: event.nick,\n message: event.message,\n type: event.type\n });\n\n state.addMessage(_buffer18, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: _messageBody9,\n type: 'error'\n });\n\n if (command === 'ctcp request' && event.type === 'VERSION') {\n client.ctcpResponse(event.nick, 'VERSION', 'Kiwi IRC');\n }\n }\n\n if (command === 'nick invalid') {\n var _messageBody10 = TextFormatting.formatText('general_error', {\n text: event.reason\n });\n\n var _buffer19 = state.getActiveBuffer();\n\n state.addMessage(_buffer19, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: _messageBody10,\n type: 'error'\n });\n\n if (!isRegistered) {\n network.last_error_numeric = 432;\n network.last_error = event.reason;\n network.ircClient.quit();\n }\n }\n\n if (command === 'irc error') {\n var _buffer20;\n\n if (event.channel || event.nick) {\n _buffer20 = state.getOrAddBufferByName(network.id, event.channel || event.nick);\n }\n\n if (!_buffer20) {\n _buffer20 = network.serverBuffer();\n }\n\n if (!_buffer20) {\n // we could not find a buffer, this is likely because the network was removed\n return;\n } // TODO: Some of these errors contain a .error property whcih we can match against,\n // ie. password_mismatch.\n\n\n if (event.error === 'bad_channel_key') {\n (0, _flags.default)(_buffer20).channel_badkey = true;\n } // ignore error 432 (erroneous nickname) as it is handled above\n\n\n if (event.reason && network.last_error_numeric !== 432) {\n if (!isRegistered) {\n network.last_error = event.reason;\n }\n\n var _messageBody11 = TextFormatting.formatText('general_error', {\n text: event.reason || event.error\n });\n\n state.addMessage(_buffer20, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: _messageBody11,\n type: 'error'\n });\n } // Getting an error about a channel while we are not joined means that we couldn't join\n // or do some action on it. Disable it until we manually reattempt to join.\n\n\n if (_buffer20.isChannel() && !_buffer20.joined) {\n _buffer20.enabled = false;\n }\n }\n\n next();\n }\n}\n\nfunction rand(min, max) {\n return Math.floor(Math.random() * (max - min + 1) + min);\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"IrcClient\"]\r\nwindow._kiwi_exports.libs.IrcClient = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./MessageListMessageModern.vue?vue&type=template&id=fe3ccb9c&scoped=true&functional=true&\"\nimport script from \"./MessageListMessageModern.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageListMessageModern.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MessageListMessageModern.vue?vue&type=style&index=0&id=fe3ccb9c&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n \"fe3ccb9c\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSettings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=6e1b8873&\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Sidebar.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { render, staticRenderFns } from \"./InputText.vue?vue&type=template&id=54bd521c&\"\nimport script from \"./InputText.vue?vue&type=script&lang=js&\"\nexport * from \"./InputText.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InputText.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-userbox\"},[(_vm.isSelf)?_c('span',{staticClass:\"kiwi-userbox-selfprofile\"},[_vm._v(\" \"+_vm._s(_vm.$t('user_you'))+\" \")]):_vm._e(),_c('div',{staticClass:\"kiwi-userbox-header\"},[_c('h3',[_c('away-status-indicator',{attrs:{\"network\":_vm.network,\"user\":_vm.user}}),_vm._v(\" \"+_vm._s(_vm.user.nick)+\" \"),(_vm.userMode)?_c('span',{staticClass:\"kiwi-userbox-modestring\"},[_vm._v(\"+\"+_vm._s(_vm.userMode))]):_vm._e()],1),_c('div',{staticClass:\"kiwi-userbox-usermask\"},[_vm._v(_vm._s(_vm.user.username)+\"@\"+_vm._s(_vm.user.host))])]),_c('div',{staticClass:\"kiwi-userbox-basicinfo\"},[_c('span',{staticClass:\"kiwi-userbox-basicinfo-title\"},[_vm._v(_vm._s(_vm.$t('whois_realname'))+\":\")]),_c('span',{staticClass:\"kiwi-userbox-basicinfo-data\",domProps:{\"innerHTML\":_vm._s(_vm.formattedRealname)}})]),_c('p',{staticClass:\"kiwi-userbox-actions\"},[(!_vm.isSelf && !_vm.buffer.isQuery())?_c('a',{staticClass:\"kiwi-userbox-action\",on:{\"click\":_vm.openQuery}},[_c('i',{staticClass:\"fa fa-comment-o\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('send_a_message'))+\" \")]):_vm._e(),(!_vm.whoisRequested)?_c('a',{staticClass:\"kiwi-userbox-action\",on:{\"click\":_vm.updateWhoisData}},[_c('i',{staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('more_information'))+\" \")]):_vm._e()]),(!_vm.isSelf)?_c('form',{staticClass:\"u-form kiwi-userbox-ignoreuser\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user.ignore),expression:\"user.ignore\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.user.ignore)?_vm._i(_vm.user.ignore,null)>-1:(_vm.user.ignore)},on:{\"change\":function($event){var $$a=_vm.user.ignore,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.user, \"ignore\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.user, \"ignore\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.user, \"ignore\", $$c)}}}}),_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('ignore_user'))+\" \")])])]):_vm._e(),(_vm.whoisRequested)?_c('div',{staticClass:\"kiwi-userbox-whois\",class:[_vm.whoisLoading?'kiwi-userbox-whois--loading':'']},[(_vm.whoisLoading)?[_c('i',{staticClass:\"fa fa-spinner\",attrs:{\"aria-hidden\":\"true\"}})]:[_c('span',{staticClass:\"kiwi-userbox-whois-line\"},[_vm._v(\" \"+_vm._s(_vm.user.away ? _vm.$t('whois_status') + ': ' + _vm.user.away : _vm.$t('whois_status_available'))+\" \")]),(_vm.user.account)?_c('span',{staticClass:\"kiwi-userbox-whois-line\"},[_vm._v(\" \"+_vm._s(_vm.$t('user_account', {user: _vm.user.account}))+\" \")]):_vm._e(),_c('span',{staticClass:\"kiwi-userbox-whois-line\"},[_vm._v(\" \"+_vm._s(_vm.$t('user_realname', {realname: _vm.user.realname}))+\" \")]),(_vm.user.bot)?_c('span',{staticClass:\"kiwi-userbox-whois-line\"},[_vm._v(_vm._s(_vm.$t('user_bot')))]):_vm._e(),(_vm.user.helpop)?_c('span',{staticClass:\"kiwi-userbox-whois-line\"},[_vm._v(\" \"+_vm._s(_vm.$t('user_help'))+\" \")]):_vm._e(),(_vm.user.operator)?_c('span',{staticClass:\"kiwi-userbox-whois-line\"},[_vm._v(\" \"+_vm._s(_vm.$t('user_op'))+\" \")]):_vm._e(),(_vm.user.server)?_c('span',{staticClass:\"kiwi-userbox-whois-line\"},[_vm._v(\" \"+_vm._s(_vm.$t('user_server', { server: _vm.user.server, info: (_vm.user.server_info ? (\"(\" + (_vm.user.server_info) + \")\") : '') }))+\" \")]):_vm._e(),(_vm.user.secure)?_c('span',{staticClass:\"kiwi-userbox-whois-line\"},[_vm._v(\" \"+_vm._s(_vm.$t('user_secure'))+\" \")]):_vm._e(),(_vm.user.channels)?_c('span',{staticClass:\"kiwi-userbox-whois-line\",domProps:{\"innerHTML\":_vm._s(_vm.$t('user_channels', {channels: _vm.userChannels}))},on:{\"click\":function($event){return _vm.onChannelsClick($event)}}}):_vm._e()]],2):_vm._e(),(_vm.buffer.isChannel() && _vm.areWeAnOp && !_vm.isSelf)?_c('div',{staticClass:\"kiwi-userbox-opactions\"},[_c('form',{staticClass:\"u-form\",on:{\"submit\":function($event){$event.preventDefault();}}},[(_vm.isUserOnBuffer)?_c('label',[_vm._v(\" \"+_vm._s(_vm.$t('user_access'))+\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.userMode),expression:\"userMode\"}],on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.userMode=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_vm._l((_vm.availableChannelModes),function(mode){return _c('option',{key:mode.mode,domProps:{\"value\":mode.mode}},[_vm._v(\" \"+_vm._s(mode.description)+\" \")])}),_c('option',{attrs:{\"value\":\"\"}},[_vm._v(_vm._s(_vm.$t('user_normal')))])],2)]):_vm._e(),(_vm.isUserOnBuffer)?_c('label',[_c('button',{staticClass:\"u-button u-button-secondary\\n kiwi-userbox-opaction-kick kiwi-userbox-opaction\",on:{\"click\":_vm.kickUser}},[_c('i',{staticClass:\"fa fa-sign-out\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('user_kick'))+\" \")])]):_vm._e(),_c('label',[_c('button',{staticClass:\"u-button u-button-secondary\\n kiwi-userbox-opaction-ban kiwi-userbox-opaction\",on:{\"click\":_vm.banUser}},[_c('i',{staticClass:\"fa fa-ban\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('user_ban'))+\" \")])]),(_vm.isUserOnBuffer)?_c('label',[_c('button',{staticClass:\"u-button u-button-secondary\\n kiwi-userbox-opaction-kickban kiwi-userbox-opaction\",on:{\"click\":_vm.kickbanUser}},[_c('i',{staticClass:\"fa fa-exclamation-triangle\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('user_kickban'))+\" \")])]):_vm._e()])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StartupError.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StartupError.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotConnected.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotConnected.vue?vue&type=style&index=0&lang=less&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-personal\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('personal_client')))]),_c('p',[_vm._v(_vm._s(_vm.$t('personal_addjoin')))]),_c('p',[_vm._v(_vm._s(_vm.$t('personal_return')))]),_c('button',{staticClass:\"u-button u-button-primary\",on:{\"click\":_vm.addNetwork}},[_vm._v(\" \"+_vm._s(_vm.$t('personal_add'))+\" \")]),_vm._v(\" \"),_c('br'),(_vm.networks.length>0)?_c('a',{staticClass:\"u-link kiwi-personal-existing-networks\",on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleStateBrowser($event)}}},[_vm._v(\" \"+_vm._s(_vm.$t('personal_saved'))+\" \")]):_vm._e(),_c('div',{staticClass:\"kiwi-aboutnew-content\",class:{'kiwi-aboutnew-content--open': _vm.about_open},domProps:{\"innerHTML\":_vm._s(_vm.aboutContent)}}),_c('div',{staticClass:\"kiwi-aboutnew\"},[_c('div',{staticClass:\"kiwi-aboutnew-sep\"}),_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){_vm.about_open=!_vm.about_open}}},[_vm._v(\" Link to your network / channel \")]),_c('div',{staticClass:\"kiwi-aboutnew-help\"},[_c('a',{on:{\"click\":function($event){_vm.about_open=!_vm.about_open}}},[_c('i',{staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\"}})])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=5f4aa20c&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n'kiwi public';\n/* eslint-disable */\n// command descriptions can be either a static string or a translation key prefixed with locale_id_\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar _default = [{\n command: 'msg',\n alias: [],\n description: 'locale_id_command_msg'\n}, {\n command: 'action',\n alias: [],\n description: 'locale_id_command_action'\n}, {\n command: 'join',\n alias: [],\n description: 'locale_id_command_join'\n}, {\n command: 'part',\n alias: [],\n description: 'locale_id_command_part'\n}, {\n command: 'cycle',\n alias: [],\n description: 'locale_id_command_cycle'\n}, {\n command: 'nick',\n alias: [],\n description: 'locale_id_command_nick'\n}, {\n command: 'query',\n alias: [],\n description: 'locale_id_command_query'\n}, {\n command: 'invite',\n alias: [],\n description: 'locale_id_command_invite'\n}, {\n command: 'topic',\n alias: [],\n description: 'locale_id_command_topic'\n}, {\n command: 'notice',\n alias: [],\n description: 'locale_id_command_notice'\n}, {\n command: 'quote',\n alias: [],\n description: 'locale_id_command_quote'\n}, {\n command: 'kick',\n alias: [],\n description: 'locale_id_command_kick'\n}, {\n command: 'clear',\n alias: [],\n description: 'locale_id_command_clear'\n}, {\n command: 'ctcp',\n alias: [],\n description: 'locale_id_command_ctcp'\n}, {\n command: 'quit',\n alias: [],\n description: 'locale_id_command_quit'\n}, {\n command: 'server',\n alias: [],\n description: 'locale_id_command_server'\n}, {\n command: 'whois',\n alias: [],\n description: 'locale_id_command_whois'\n}, {\n command: 'whowas',\n alias: [],\n description: 'locale_id_command_whowas'\n}, {\n command: 'away',\n alias: [],\n description: 'locale_id_command_away'\n}, {\n command: 'back',\n alias: ['active'],\n description: 'locale_id_command_back'\n}, {\n command: 'encoding',\n alias: [],\n description: 'locale_id_command_encoding'\n}, {\n command: 'ignore',\n alias: [],\n description: 'locale_id_command_ignore'\n}, {\n command: 'unignore',\n alias: [],\n description: 'locale_id_command_unignore'\n}, {\n command: 'dice',\n alias: [],\n description: 'locale_id_command_dice'\n}];\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"res\"]) window._kiwi_exports[\"res\"] = {};\nwindow._kiwi_exports[\"res\"][\"autocompleteCommands\"]\r\nwindow._kiwi_exports.res.autocompleteCommands = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _stringify = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/json/stringify\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime-corejs3/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/asyncToGenerator\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar StatePersistence = /*#__PURE__*/function () {\n function StatePersistence(storageKey, state, storage, logger) {\n (0, _classCallCheck2.default)(this, StatePersistence);\n this.storageKey = storageKey;\n this.state = state;\n this.storage = storage;\n this.logger = logger;\n this.isPersisting = false;\n this.includeBuffers = true;\n this.watcher = null;\n this.state.persistence = this;\n }\n\n (0, _createClass2.default)(StatePersistence, [{\n key: \"loadStateIfExists\",\n value: function () {\n var _loadStateIfExists = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var storedState;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (this.storageKey) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n _context.next = 4;\n return this.storage.get(this.storageKey);\n\n case 4:\n storedState = _context.sent;\n\n if (storedState) {\n if (this.logger) {\n this.logger('Importing state', storedState);\n }\n\n this.state.importState(storedState);\n }\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function loadStateIfExists() {\n return _loadStateIfExists.apply(this, arguments);\n }\n\n return loadStateIfExists;\n }()\n }, {\n key: \"stopWatchingState\",\n value: function stopWatchingState() {\n if (this.watcher) {\n this.watcher();\n this.watcher = null;\n }\n }\n }, {\n key: \"watchStateForChanges\",\n value: function watchStateForChanges() {\n var _this = this;\n\n if (!this.storageKey) {\n return;\n } // Throttle saving the state into storage so we don't thrash the disk\n\n\n var debouncedSaveState = _lodash.default.debounce(function () {\n if (_this.logger) {\n _this.logger('State updated, setting localStorage');\n }\n\n _this.storage.set(_this.storageKey, _this.state.exportState(_this.includeBuffers));\n }, 1000);\n\n this.state.$watch('networks', debouncedSaveState, {\n deep: true\n });\n this.state.$watch('user_settings', debouncedSaveState, {\n deep: true\n }); // We need to touch each property of each buffer for that we want to save our state on.\n // If any of the properties change then the $watch()er will call debouncedSaveState()\n\n this.watcher = this.state.$watch(function () {\n var _context2;\n\n var watchVals = [];\n (0, _forEach.default)(_context2 = _this.state.networks).call(_context2, function (network) {\n var _context3, _context4;\n\n var buffersVals = [];\n buffersVals.push((0, _map.default)(_context3 = network.buffers).call(_context3, function (b) {\n return b.name;\n }).join(','));\n (0, _forEach.default)(_context4 = network.buffers).call(_context4, function (buffer) {\n buffersVals.push([buffer.name, buffer.settings, buffer.joined, buffer.enabled, buffer.last_read]);\n });\n watchVals.push(buffersVals);\n });\n return (0, _stringify.default)(watchVals);\n }, debouncedSaveState);\n this.isPersisting = true;\n }\n }, {\n key: \"forgetState\",\n value: function () {\n var _forgetState = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n return _regenerator.default.wrap(function _callee2$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n this.state.resetState();\n _context5.next = 3;\n return this.storage.set(this.storageKey, null);\n\n case 3:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function forgetState() {\n return _forgetState.apply(this, arguments);\n }\n\n return forgetState;\n }()\n }]);\n return StatePersistence;\n}();\n\nexports.default = StatePersistence;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"StatePersistence\"]\r\nwindow._kiwi_exports.libs.StatePersistence = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./ServerSelector.vue?vue&type=template&id=5136ddfa&\"\nimport script from \"./ServerSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./ServerSelector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ServerSelector.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar _default = {\n props: ['network'],\n data: function data() {\n return {\n recaptchaUrl: '',\n recaptchaSiteId: '',\n recaptchaResponse: '',\n showCaptcha: false\n };\n },\n created: function created() {\n var _this = this;\n\n var options = this.$state.settings.startupOptions;\n this.recaptchaSiteId = options.recaptchaSiteId || '';\n this.recaptchaUrl = options.recaptchaUrl || 'https://www.google.com/recaptcha/api.js';\n this.listen(this.$state, 'network.connecting', function (event) {\n event.network.ircClient.once('socket connected', function () {\n if (_this.recaptchaResponse) {\n event.network.ircClient.raw('CAPTCHA', _this.recaptchaResponse);\n }\n });\n });\n this.listen(this.$state, 'irc.raw.CAPTCHA', function (command, event, network) {\n if (network !== _this.network) {\n return;\n }\n\n if (event.params[0] === 'NEEDED') {\n _this.loadRecaptcha();\n }\n });\n },\n methods: {\n loadRecaptcha: function loadRecaptcha() {\n var _this2 = this;\n\n this.showCaptcha = true; // Recaptcha calls this callback once it's loaded and ready to be used\n\n window.recaptchaLoaded = function () {\n window.grecaptcha.render(_this2.$refs.captchacontainer, {\n sitekey: _this2.recaptchaSiteId,\n callback: _this2.recaptchaSuccess,\n 'expired-callback': _this2.recaptchaExpired\n });\n };\n\n var scr = document.createElement('script');\n scr.src = this.recaptchaUrl + '?onload=recaptchaLoaded&render=explicit';\n scr.defer = true;\n this.$el.appendChild(scr);\n },\n recaptchaSuccess: function recaptchaSuccess(response) {\n this.recaptchaResponse = response; // If we have a network instance already, send the captcha response\n\n if (this.network && this.network.state === 'connecting') {\n this.network.ircClient.raw('CAPTCHA', response);\n }\n\n this.showCaptcha = false;\n },\n recaptchaExpired: function recaptchaExpired() {\n this.recaptchaResponse = '';\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"Captcha\"]\r\nwindow._kiwi_exports.components.Captcha = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./StateBrowser.vue?vue&type=template&id=15af12f8&\"\nimport script from \"./StateBrowser.vue?vue&type=script&lang=js&\"\nexport * from \"./StateBrowser.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StateBrowser.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { render, staticRenderFns } from \"./CommonLayout.vue?vue&type=template&id=5651b698&\"\nimport script from \"./CommonLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./CommonLayout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CommonLayout.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { render, staticRenderFns } from \"./LoadingAnimation.vue?vue&type=template&id=0d280fd9&\"\nimport script from \"./LoadingAnimation.vue?vue&type=script&lang=js&\"\nexport * from \"./LoadingAnimation.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LoadingAnimation.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-nicklist\",class:{\n 'kiwi-nicklist--filtering': _vm.filter_visible,\n 'kiwi-nicklist--avatars': _vm.shouldShowAvatars,\n }},[_c('div',{staticClass:\"kiwi-nicklist-usercount\",on:{\"click\":_vm.toggleUserFilter}},[_c('span',[_vm._v(\" \"+_vm._s(_vm.filter_visible ? _vm.sortedUsers.length : _vm.$t('person', {count: _vm.sortedUsers.length}))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user_filter),expression:\"user_filter\"}],ref:\"user_filter\",attrs:{\"placeholder\":_vm.$t('filter_users')},domProps:{\"value\":(_vm.user_filter)},on:{\"blur\":_vm.onFilterBlur,\"input\":function($event){if($event.target.composing){ return; }_vm.user_filter=$event.target.value}}}),_c('i',{staticClass:\"fa fa-search\"})]),_c('DynamicScroller',{staticClass:\"kiwi-nicklist-users\",attrs:{\"items\":_vm.sortedUsers,\"min-item-size\":34,\"key-field\":'nick'},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var item = ref.item;\n var index = ref.index;\n var active = ref.active;\nreturn [_c('DynamicScrollerItem',{attrs:{\"item\":item,\"active\":active,\"size-dependencies\":[],\"data-index\":index}},[_c('nicklist-user',{key:item.nick,attrs:{\"user\":item,\"nicklist\":_vm.self,\"network\":_vm.network}})],1)]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-channellist\",class:{'kiwi-channellist-padding-top': !_vm.list.length}},[_c('div',{staticClass:\"kiwi-channellist-content-container\"},[_c('div',{staticClass:\"kiwi-channellist-nav\"},[_c('form',{staticClass:\"u-form u-form--big kiwi-channellist-search\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.search),expression:\"search\"}],staticClass:\"u-input\",attrs:{\"placeholder\":_vm.$t('do_search')},domProps:{\"value\":(_vm.search)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.search=$event.target.value}}}),_c('a',{staticClass:\"u-button kiwi-channellist-refresh\",class:{\n 'u-button-primary': !_vm.isLoading,\n 'u-button-secondary': _vm.isLoading,\n },on:{\"click\":_vm.maybeUpdateList}},[(!_vm.isLoading)?_c('i',{staticClass:\"fa fa-refresh\",attrs:{\"aria-hidden\":\"true\"}}):_c('i',{staticClass:\"fa fa-refresh fa-spin\",attrs:{\"aria-hidden\":\"true\"}})])]),(_vm.list.length)?_c('div',{staticClass:\"kiwi-channellist-pagination\"},[_c('a',{on:{\"click\":_vm.prevPage}},[_c('i',{staticClass:\"fa fa-step-backward\",attrs:{\"aria-hidden\":\"true\"}})]),_vm._v(\" \"+_vm._s(_vm.page + 1)+\" / \"+_vm._s(_vm.maxPages + 1)+\" \"),_c('a',{on:{\"click\":_vm.nextPage}},[_c('i',{staticClass:\"fa fa-step-forward\",attrs:{\"aria-hidden\":\"true\"}})])]):_vm._e()]),_c('div',{staticClass:\"kiwi-channellist-table\"},[(!_vm.isLoading && !_vm.noResults)?_c('table',{key:_vm.last_updated,attrs:{\"width\":\"100%\"}},[_c('tbody',_vm._l((_vm.paginated),function(channel){return _c('tr',{key:channel.channel},[_c('td',{staticClass:\"kiwi-channellist-user-center\"},[(channel.num_users >= 0)?_c('span',{staticClass:\"kiwi-channellist-users\"},[_c('i',{staticClass:\"fa fa-user\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(channel.num_users)+\" \")]):_vm._e()]),_c('td',[_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){return _vm.joinChannel(channel.channel)}}},[_vm._v(\" \"+_vm._s(channel.channel)+\" \")])]),_c('td',{staticClass:\"kiwi-channellist-table-topic\"},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.formatAndTrimTopic(channel.topic))}})]),_c('td',{staticClass:\"kiwi-channellist-user-center\"},[_c('a',{staticClass:\"u-button u-button-primary\",on:{\"click\":function($event){return _vm.joinChannel(channel.channel)}}},[_vm._v(\" \"+_vm._s(_vm.$t('container_join'))+\" \")])])])}),0)]):(_vm.noResults)?_c('div',{staticClass:\"kiwi-channellist-info\"},[_c('p',[_vm._v(_vm._s(_vm.$t('channel_list_nonefound')))])]):_c('div',{staticClass:\"kiwi-channellist-info\"},[_vm._v(_vm._s(_vm.$t('channel_list_fetch')))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContainerHeader.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContainerHeader.vue?vue&type=style&index=0&lang=less&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _ThemeManager = _interopRequireDefault(require(\"@/libs/ThemeManager\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _localesList = _interopRequireDefault(require(\"@/res/localesList\"));\n\nvar _SettingsAliases = _interopRequireDefault(require(\"./SettingsAliases\"));\n\nvar _SettingsAdvanced = _interopRequireDefault(require(\"./SettingsAdvanced\"));\n\n/**\n * Returns an object for a vuejs computated property on a state settings value\n * This allows default settings from the server config, but overrides with user config\n */\nfunction bindSetting(settingName) {\n return {\n get: function settingGetter() {\n return this.$state.setting(settingName);\n },\n set: function settingSetter(newVal) {\n this.$state.setting(settingName, newVal);\n }\n };\n}\n\nvar _default = {\n components: {\n SettingsAliases: _SettingsAliases.default,\n SettingsAdvanced: _SettingsAdvanced.default\n },\n data: function data() {\n return {\n theme: '',\n customThemeUrl: '',\n pluginUiElements: _GlobalApi.default.singleton().appSettingsPlugins,\n localesList: _localesList.default\n };\n },\n computed: {\n themeSupportsMonospace: function themeSupportsMonospace() {\n var themeMgr = _ThemeManager.default.instance();\n\n var val = themeMgr.themeVar('supports-monospace');\n return val === '1';\n },\n canRegisterProtocolHandler: function canRegisterProtocolHandler() {\n return !!navigator.registerProtocolHandler && this.$state.setting('allowRegisterProtocolHandler');\n },\n timestamps_24h: {\n get: function get24Timestamps() {\n // %H is 24 hour format\n return this.$state.setting('buffers.timestamp_format').substr(0, 2) === '%H';\n },\n set: function set24Timestamps(newVal) {\n var newFormat = newVal ? '%H:%M:%S' : '%l:%M:%S %p';\n this.$state.setting('buffers.timestamp_format', newFormat);\n }\n },\n settings: function getSettings() {\n return this.$state.settings;\n },\n settingShowAutoComplete: bindSetting('showAutocomplete'),\n settingUseMonospace: bindSetting('useMonospace'),\n settingHighlights: bindSetting('highlights'),\n settingBufferColourNicknames: bindSetting('buffers.colour_nicknames_in_messages'),\n settingBufferShowTimestamps: bindSetting('buffers.show_timestamps'),\n settingBufferShowEmoticons: bindSetting('buffers.show_emoticons'),\n settingBufferBlockPms: bindSetting('buffers.block_pms'),\n settingBufferScrollbackSize: bindSetting('buffers.scrollback_size'),\n settingBufferExtraFormatting: bindSetting('buffers.extra_formatting'),\n settingBufferTrafficAsActivity: bindSetting('buffers.traffic_as_activity'),\n settingBufferMuteSound: bindSetting('buffers.mute_sound'),\n settingBufferShareTyping: bindSetting('buffers.share_typing'),\n settingBufferInlineLinkPreviews: bindSetting('buffers.inline_link_auto_previews'),\n settingDefaultBanMask: bindSetting('buffers.default_ban_mask'),\n settingDefaultKickReason: bindSetting('buffers.default_kick_reason'),\n settingAdvancedEnable: {\n get: function getSettingShowAdvancedTab() {\n return this.$state.ui.show_advanced_tab;\n },\n set: function setSettingShowAdvancedTab(newVal) {\n this.$state.ui.show_advanced_tab = newVal;\n }\n },\n settingLanguage: {\n get: function getSettingLanguage() {\n return this.$state.setting('language') || '';\n },\n set: function setSettingLanguage(newVal) {\n this.$state.setting('language', newVal || null);\n }\n },\n messageLayouts: function messageLayouts() {\n return {\n traditional: 'compact',\n modern: 'modern',\n inline: 'inline'\n };\n },\n settingMessageLayout: {\n set: function setSettingMessageLayout(newVal) {\n var l = this.messageLayouts;\n this.$state.setting('buffers.messageLayout', l[newVal] || l.modern);\n },\n get: function get() {\n var s = this.$state.setting('buffers.messageLayout');\n\n var l = _lodash.default.invert(this.messageLayouts);\n\n return l[s];\n }\n }\n },\n created: function created() {\n this.listenForThemeSettings();\n },\n methods: {\n closeSettings: function closeSettings() {\n this.$state.$emit('active.component');\n },\n refreshTheme: function refreshTheme() {\n _ThemeManager.default.instance().reload();\n },\n listenForThemeSettings: function listenForThemeSettings() {\n var _this = this;\n\n var themeMgr = _ThemeManager.default.instance();\n\n var watches = []; // Called when the current theme changes (including url refreshes)\n\n var updateFn = function updateFn() {\n var theme = themeMgr.currentTheme();\n _this.theme = theme.name;\n _this.customThemeUrl = theme.name === 'custom' ? theme.url : '';\n };\n\n var watchTheme = function watchTheme(newVal) {\n themeMgr.setTheme(newVal);\n };\n\n var watchCustomThemeUrl = function watchCustomThemeUrl(newVal) {\n if (themeMgr.currentTheme().name === 'custom') {\n themeMgr.setCustomThemeUrl(newVal);\n }\n }; // Remove all our attached events to cleanup\n\n\n var teardownFn = function teardownFn() {\n _this.$state.$off('theme.change', updateFn);\n\n (0, _forEach.default)(watches).call(watches, function (unwatchFn) {\n return unwatchFn();\n });\n\n _this.$off('hook:destroy', teardownFn);\n }; // Update our info with the latest theme settings before we start\n // listening for changes\n\n\n updateFn();\n this.$state.$on('theme.change', updateFn);\n this.$once('hook:destroyed', teardownFn); // $watch returns a function to stop watching the data field. Add them into\n // an array to make it easier to iterate over them all and unwatch them all\n // when needed.\n\n watches = [this.$watch('theme', watchTheme), this.$watch('customThemeUrl', watchCustomThemeUrl)];\n },\n enableAdvancedTab: function enableAdvancedTab() {\n var _this2 = this;\n\n this.settingAdvancedEnable = true;\n this.$nextTick(function () {\n _this2.$refs.tabs.setActiveByName('advanced');\n\n _this2.$el.scrollTop = 0;\n });\n },\n makeDefaultProtocolHandler: function makeDefaultProtocolHandler() {\n navigator.registerProtocolHandler('irc', document.location.origin + document.location.pathname + '#%s', 'Kiwi IRC');\n navigator.registerProtocolHandler('ircs', document.location.origin + document.location.pathname + '#%s', 'Kiwi IRC');\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"AppSettings\"]\r\nwindow._kiwi_exports.components.AppSettings = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypingUsersList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypingUsersList.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserUsermenu.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserUsermenu.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./kiwiirccom.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./kiwiirccom.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelList.vue?vue&type=script&lang=js&\"","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.get = get;\nexports.set = set;\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\n\nvar supportedCached = null;\n\nfunction get(name) {\n if (!isSupported()) {\n return _promise.default.resolve();\n }\n\n return new _promise.default(function (resolve) {\n resolve(window.localStorage.getItem(name));\n });\n}\n\nfunction set(name, val) {\n if (!isSupported()) {\n return _promise.default.resolve();\n }\n\n return new _promise.default(function (resolve) {\n resolve(window.localStorage.setItem(name, val));\n });\n}\n\nfunction isSupported() {\n if (supportedCached === null) {\n supportedCached = storageAvailable('localStorage');\n }\n\n return supportedCached;\n} // https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API#Testing_for_availability\n\n\nfunction storageAvailable(type) {\n var storage;\n\n try {\n var x = '__storage_test__';\n storage = window[type];\n storage.setItem(x, x);\n storage.removeItem(x);\n return true;\n } catch (e) {\n return e instanceof DOMException && ( // everything except Firefox\n e.code === 22 || // Firefox\n e.code === 1014 || // test name field too, because code might not be present\n // everything except Firefox\n e.name === 'QuotaExceededError' || // Firefox\n e.name === 'NS_ERROR_DOM_QUOTA_REACHED') && // acknowledge QuotaExceededError only if there's something already stored\n storage.length !== 0;\n }\n}","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar _default = {\n data: function data() {\n return {\n logo: '',\n c: '',\n x: '',\n Y: [],\n t: 0,\n fontSize: 72,\n font: 'bold ' + 72 + 'px verdana',\n text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce eu arcu ipsum. ',\n animationFrame: null,\n destroying: false\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n this.logo = this.$el.querySelector('.kiwi-loading-logo');\n this.c = this.$el.querySelector('.kiwi-loading-animation');\n this.x = this.c.getContext('2d');\n var tmpText = '';\n\n for (var i = 0; i < 9; i += 1) {\n tmpText += this.text;\n }\n\n this.text = String(tmpText).match(/.{1,43}/g);\n this.c.width = 1256;\n this.c.height = 1080;\n\n for (var _i = 0; _i < this.text.length; _i += 1) {\n this.Y.push(_i * this.fontSize - 1600);\n }\n\n this.logo.onload = function () {\n if (_this.destroying) {\n // the component has already been destroyed, we nolonger need the animation\n return;\n }\n\n _this.draw();\n };\n },\n beforeDestroy: function beforeDestroy() {\n this.destroying = true;\n cancelAnimationFrame(this.animationFrame);\n },\n methods: {\n draw: function draw() {\n this.x.clearRect(0, 0, this.c.width, this.c.height);\n this.x.globalCompositeOperation = 'source-over';\n this.x.drawImage(this.logo, 0, 0, this.c.width, this.c.height);\n this.x.globalCompositeOperation = 'xor';\n this.x.fillStyle = '#000';\n this.x.font = this.font;\n\n for (var i = 0; i < this.text.length; i += 1) {\n if (this.t % 4.5 < 2) {\n this.Y[i] += (250 + (10 + i) / this.text.length * 4000) / 120;\n\n if (this.Y[i] > i * this.fontSize) {\n this.Y[i] = i * this.fontSize;\n }\n } else {\n if (this.text.length - (this.t % 4.5 - 2) / 2.5 * this.text.length * 1.75 < i) {\n this.Y[i] += 10 + this.Y[i] / 20;\n }\n\n if (this.Y[i] > 1080 || this.Y[i] < 0) {\n this.Y[i] = -1500 + i * this.fontSize;\n }\n }\n\n if (this.Y[i] > -100) {\n this.x.fillText(this.text[i], 0, this.fontSize + this.Y[i]);\n }\n }\n\n this.x.globalCompositeOperation = 'source-out';\n this.x.drawImage(this.logo, 0, 0, this.c.width, this.c.height);\n this.x.globalCompositeOperation = 'source-over';\n this.x.globalAlpha = 0.1;\n this.x.drawImage(this.logo, 0, 0, this.c.width, this.c.height);\n this.x.globalAlpha = 1;\n this.animationFrame = requestAnimationFrame(this.draw);\n this.t += 1 / 40;\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"LoadingAnimation\"]\r\nwindow._kiwi_exports.components.LoadingAnimation = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AwayStatusIndicator.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AwayStatusIndicator.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n'kiwi public'; // Do channels support half-op mode\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.supportsHalfOp = supportsHalfOp;\nexports.isAChannelModeAdmin = isAChannelModeAdmin;\nexports.isQChannelModeOwner = isQChannelModeOwner;\nexports.extbanAccount = extbanAccount;\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nfunction supportsHalfOp(network) {\n var ircdType = network.ircd.toLowerCase();\n var notSupported = ['ircd-seven', 'charybdis'];\n\n for (var i = 0; i < notSupported.length; i++) {\n if ((0, _indexOf.default)(ircdType).call(ircdType, notSupported[i]) > -1) {\n return false;\n }\n }\n\n return true;\n} // Does channel mode +a = admin\n\n\nfunction isAChannelModeAdmin(network) {\n var ircdType = network.ircd.toLowerCase();\n var notAdmin = ['ircd-seven', 'charybdis'];\n\n for (var i = 0; i < notAdmin.length; i++) {\n if ((0, _indexOf.default)(ircdType).call(ircdType, notAdmin[i]) > -1) {\n return false;\n }\n }\n\n return true;\n} // Does channel mode +q = owner\n\n\nfunction isQChannelModeOwner(network) {\n var ircdType = network.ircd.toLowerCase();\n var notOwner = ['ircd-seven', 'charybdis'];\n\n for (var i = 0; i < notOwner.length; i++) {\n if ((0, _indexOf.default)(ircdType).call(ircdType, notOwner[i]) > -1) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction extbanAccount(network) {\n // Eg. InspIRCd-2.0\n // Eg. UnrealIRCd-4.0.17\n // Eg. ircd-seven-1.1.7\n // Eg. u2.10.12.10+snircd(1.3.4a)\n var ircdType = network.ircd.toLowerCase(); // Eg. ~,qjncrRa\n // Eg. ,qjncrRa\n\n var extban = network.ircClient.network.supports('EXTBAN') || '';\n\n if (!extban) {\n return '';\n }\n\n var prefix = extban.split(',')[0];\n var type = 'a'; // https://docs.inspircd.org/3/modules/services_account/#extended-bans\n\n if ((0, _indexOf.default)(ircdType).call(ircdType, 'inspircd') > -1) {\n type = 'R';\n }\n\n return prefix + type;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"helpers\"]) window._kiwi_exports[\"helpers\"] = {};\nwindow._kiwi_exports[\"helpers\"][\"IrcdDiffs\"]\r\nwindow._kiwi_exports.helpers.IrcdDiffs = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./IrcInput.vue?vue&type=template&id=28587516&\"\nimport script from \"./IrcInput.vue?vue&type=script&lang=js&\"\nexport * from \"./IrcInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./IrcInput.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageList.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageList.vue?vue&type=style&index=0&lang=less&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-bufferkey kiwi-warning-block\"},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.joinChannel($event)}}},[_c('label',[_vm._v(_vm._s(_vm.$t('bufferkey_input')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.buffer.key),expression:\"buffer.key\"},{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.buffer.key)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.buffer, \"key\", $event.target.value)}}}),_c('div',{staticClass:\"kiwi-bufferkey-buttons\"},[_c('span',{staticClass:\"kiwi-bufferkey-button\",on:{\"click\":_vm.joinChannel}},[_c('i',{staticClass:\"fa fa-arrow-circle-o-right\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('bufferkey_rejoin', {channel: _vm.buffer.name}))+\" \")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=less&\"","import { render, staticRenderFns } from \"./MessageListAvatar.vue?vue&type=template&id=482f7543&functional=true&\"\nimport script from \"./MessageListAvatar.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageListAvatar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputPrompt.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputPrompt.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar Vue = require('vue');\n\nvar _default = Vue.component('input-confirm', {\n props: ['label', 'flipConnotation'],\n data: function data() {\n return {\n state: 'pre'\n };\n },\n computed: {\n connoteCss: function connoteCss() {\n return {\n yes: this.flipConnotation ? 'warning' : 'primary',\n no: this.flipConnotation ? 'primary' : 'warning'\n };\n }\n },\n created: function created() {\n if (!this.$slots.default) {\n this.state = 'prompt';\n }\n },\n methods: {\n prompt: function prompt() {\n this.state = 'prompt';\n },\n complete: function complete(val) {\n this.$emit('submit', val);\n this.$emit(val ? 'ok' : 'cancel');\n this.state = 'pre';\n }\n }\n});\n\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"utils\"]) window._kiwi_exports[\"components\"][\"utils\"] = {};\nwindow._kiwi_exports[\"components\"][\"utils\"][\"InputConfirm\"]\r\nwindow._kiwi_exports.components.utils.InputConfirm = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./Welcome.vue?vue&type=template&id=f29f0168&\"\nimport script from \"./Welcome.vue?vue&type=script&lang=js&\"\nexport * from \"./Welcome.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Welcome.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { render, staticRenderFns } from \"./AppSettings.vue?vue&type=template&id=610c0267&\"\nimport script from \"./AppSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./AppSettings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppSettings.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/typeof\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _xhr = _interopRequireDefault(require(\"xhr\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _json = _interopRequireDefault(require(\"json5\"));\n\nvar _Logger = _interopRequireDefault(require(\"./Logger\"));\n\nvar log = _Logger.default.namespace('ConfigLoader');\n\nvar ConfigLoader = /*#__PURE__*/function () {\n function ConfigLoader() {\n (0, _classCallCheck2.default)(this, ConfigLoader);\n this.config = (0, _create.default)(null);\n this.valReplacements = (0, _create.default)(null);\n }\n\n (0, _createClass2.default)(ConfigLoader, [{\n key: \"addValueReplacement\",\n value: function addValueReplacement(key, value) {\n this.valReplacements[key] = value;\n return this;\n }\n }, {\n key: \"loadFromUrl\",\n value: function loadFromUrl(configUrl) {\n var _this = this;\n\n return new _promise.default(function (resolve, reject) {\n (0, _xhr.default)({\n url: configUrl\n }, function (err, response) {\n if (err) {\n reject();\n return;\n }\n\n var configObj = null;\n\n try {\n configObj = _json.default.parse(response.body);\n } catch (parseErr) {\n log.error('Config ' + parseErr.message);\n var errMsg = 'Config file error: ' + parseErr.message.replace('JSON5: ', ''); // Convert \"at 22:16\" to \"at line 22, position 16\"\n\n /* eslint-disable arrow-body-style */\n\n errMsg = errMsg.replace(/at (\\d+):(\\d+)/g, function (m, m1, m2) {\n var _context;\n\n return (0, _concat.default)(_context = \"line \".concat(m1, \", position \")).call(_context, m2);\n });\n reject(errMsg);\n return;\n }\n\n _this.setConfig(configObj);\n\n resolve(_this.config);\n });\n });\n }\n }, {\n key: \"loadFromObj\",\n value: function loadFromObj(configObj) {\n var _this2 = this;\n\n return new _promise.default(function (resolve, reject) {\n _this2.setConfig(configObj);\n\n resolve(_this2.config);\n });\n }\n }, {\n key: \"setConfig\",\n value: function setConfig(confObj) {\n var _this3 = this;\n\n var walkObject = function walkObject(obj, target) {\n _lodash.default.each(obj, function (_val, key) {\n var val = _val;\n\n if (typeof val === 'string') {\n val = _this3.insertReplacements(val);\n target[key] = val;\n } else if ((0, _typeof2.default)(val) === 'object') {\n target[key] = _lodash.default.isArray(val) ? [] : {};\n walkObject(val, target[key]);\n } else {\n target[key] = val;\n }\n });\n };\n\n this.config = (0, _create.default)(null);\n walkObject(confObj, this.config);\n }\n }, {\n key: \"insertReplacements\",\n value: function insertReplacements(input) {\n var out = input;\n var keys = (0, _keys.default)(this.valReplacements);\n\n for (var i = 0; i < keys.length; i++) {\n var k = keys[i];\n\n if (input === '{{' + k + '}}') {\n // If we have an exact match, return the exact replacement value we have as\n // it may not be a string\n return this.valReplacements[k];\n }\n\n out = out.replace('{{' + k + '}}', this.valReplacements[k]);\n }\n\n return out;\n }\n }]);\n return ConfigLoader;\n}();\n\nexports.default = ConfigLoader;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"ConfigLoader\"]\r\nwindow._kiwi_exports.libs.ConfigLoader = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _sort = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/sort\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _default = {\n props: ['filter', 'buffer', 'items'],\n data: function data() {\n return {\n items_: [{\n text: 'anick1',\n type: 'user'\n }, {\n text: 'anick2',\n type: 'user'\n }, {\n text: 'bnick3',\n type: 'user'\n }, {\n text: 'cnick4'\n }, {\n text: 'dnick5'\n }],\n selected_idx: 0\n };\n },\n computed: {\n filteredItems: function filteredItems() {\n var _context, _context2;\n\n var filterVal = ((0, _filter.default)(this) || '').toLowerCase();\n return (0, _sort.default)(_context = (0, _filter.default)(_context2 = (0, _lodash.default)(this.items)).call(_context2, function (item) {\n var _context3, _context4;\n\n var s = false;\n\n if ((0, _indexOf.default)(_context3 = item.text.toLowerCase()).call(_context3, filterVal) === 0) {\n s = true;\n }\n\n (0, _forEach.default)(_context4 = item.alias || []).call(_context4, function (alias) {\n var _context5;\n\n if ((0, _indexOf.default)(_context5 = alias.toLowerCase()).call(_context5, filterVal) === 0) {\n s = true;\n }\n });\n return s;\n })).call(_context, function (a, b) {\n return a.text.localeCompare(b.text);\n }).value();\n },\n filteredAndLimitedItems: function filteredAndLimitedItems() {\n var _context6,\n _this = this;\n\n return (0, _filter.default)(_context6 = this.filteredItems).call(_context6, function (item, itemIdx, items) {\n var numItems = items.length - 1;\n var idxFrom = _this.selected_idx - 3;\n var idxTo = _this.selected_idx + 3;\n var isInRange = false; // Adjust the number of items before and after the selected item\n // when we reach either end of the list.\n // If we don't do this then this:\n // * Item 1\n // * item 2\n // * Item 3\n // * Item 4\n // * Item 5 < selected\n // Can turn into this:\n // * Item 4\n // * Item 5 < selected\n\n if (idxFrom < 0) {\n idxTo += -idxFrom;\n idxFrom = 0;\n } else if (idxTo > numItems) {\n idxFrom -= idxTo - numItems;\n idxTo = numItems;\n }\n\n if (itemIdx >= idxFrom && itemIdx <= idxTo) {\n isInRange = true;\n } // Keep track of the pre-limited index for item selection\n\n\n item.idx = itemIdx;\n return isInRange;\n });\n },\n selectedItem: function selectedItem() {\n var item = this.filteredItems[this.selected_idx];\n return item || null;\n }\n },\n watch: {\n selected_idx: function watchSelectedIdx() {\n var _this2 = this;\n\n // nextTick() as the DOM hasn't updated yet\n this.$nextTick(function () {\n var el = _this2.$el.querySelector('.kiwi-autocomplete-item--selected');\n\n if (!el) {\n return;\n }\n\n _this2.$el.scrollTop = el.offsetTop - el.getBoundingClientRect().height * 2;\n });\n this.tempCurrentItem();\n },\n filter: function watchFilter() {\n var numItems = this.filteredAndLimitedItems.length - 1;\n\n if (this.selected_idx > numItems) {\n this.selected_idx = numItems;\n }\n }\n },\n mounted: function mounted() {\n this.tempCurrentItem();\n },\n methods: {\n handleOnKeyDown: function handleOnKeyDown(event) {\n var handled = false;\n var cancelKeyCodes = [13, // return\n 188, // comma\n 190 // period\n ];\n\n if ((0, _indexOf.default)(cancelKeyCodes).call(cancelKeyCodes, event.keyCode) > -1) {\n // If no item is selected (ie. on an empty list), leave the return key\n // to do its default action as if the autocomplete box isn't active.\n if (!this.selectedItem) {\n this.cancel();\n } else {\n this.selectCurrentItem();\n\n if (event.keyCode === 13) {\n event.preventDefault();\n }\n\n handled = true;\n }\n } else if (event.keyCode === 38 || event.keyCode === 9 && event.shiftKey) {\n // Up or tab + shift\n if (this.selected_idx > 0) {\n this.selected_idx--;\n } else {\n // Wrap around to the end\n this.selected_idx = this.filteredItems.length - 1;\n }\n\n event.preventDefault();\n handled = true;\n } else if (event.keyCode === 40 && !event.altKey || event.keyCode === 9) {\n // Down or tab\n if (this.selected_idx < this.filteredItems.length - 1) {\n this.selected_idx++;\n } else {\n // Wrap around to the start\n this.selected_idx = 0;\n }\n\n event.preventDefault();\n handled = true;\n } else if (event.keyCode === 16) {\n handled = true;\n }\n\n return handled;\n },\n openQuery: function openQuery(nick) {\n var buffer = this.$state.addBuffer(this.buffer.networkid, nick);\n this.$state.setActiveBuffer(buffer.networkid, buffer.name);\n this.cancel();\n },\n tempCurrentItem: function tempCurrentItem() {\n var item = this.selectedItem;\n\n if (!item) {\n return;\n }\n\n this.$emit('temp', item.value || item.text, item);\n },\n selectCurrentItem: function selectCurrentItem() {\n var item = this.selectedItem;\n var value = '';\n\n if (item) {\n value = item.value || item.text;\n }\n\n this.$emit('selected', value, item);\n },\n cancel: function cancel() {\n this.$emit('cancel');\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"AutoComplete\"]\r\nwindow._kiwi_exports.components.AutoComplete = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./TabbedView.vue?vue&type=template&id=6c7be4c1&\"\nimport script from \"./TabbedView.vue?vue&type=script&lang=js&\"\nexport * from \"./TabbedView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TabbedView.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserUsermenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserUsermenu.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/assign\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _lastIndexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/last-index-of\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _Logger = _interopRequireDefault(require(\"@/libs/Logger\"));\n\nvar _BouncerProvider = _interopRequireDefault(require(\"@/libs/BouncerProvider\"));\n\nvar _Captcha = _interopRequireDefault(require(\"@/components/Captcha\"));\n\nvar _CommonLayout = _interopRequireDefault(require(\"./CommonLayout\"));\n\nvar log = _Logger.default.namespace('Welcome.vue');\n\nvar _default = {\n components: {\n Captcha: _Captcha.default,\n StartupLayout: _CommonLayout.default\n },\n data: function data() {\n return {\n errorMessage: '',\n network: null,\n channel: '',\n nick: '',\n password: '',\n showChannel: true,\n showPass: true,\n toggablePass: true,\n showNick: true,\n show_password_box: false,\n connectWithoutChannel: false,\n showPlainText: false,\n captchaReady: false\n };\n },\n computed: {\n startupOptions: function startupOptions() {\n return this.$state.settings.startupOptions;\n },\n greetingText: function greetingText() {\n var greeting = this.$state.settings.startupOptions.greetingText;\n return typeof greeting === 'string' ? greeting : this.$t('start_greeting');\n },\n footerText: function footerText() {\n var footer = this.$state.settings.startupOptions.footerText;\n return typeof footer === 'string' ? footer : '';\n },\n buttonText: function buttonText() {\n var greeting = this.$state.settings.startupOptions.buttonText;\n return typeof greeting === 'string' ? greeting : this.$t('start_button');\n },\n readyToStart: function readyToStart() {\n var ready = !!this.nick;\n\n if (!this.connectWithoutChannel && !this.channel) {\n ready = false;\n } // Make sure the channel name starts with a common channel prefix\n\n\n if (!this.connectWithoutChannel) {\n var bufferObjs = Misc.extractBuffers(this.channel);\n (0, _forEach.default)(bufferObjs).call(bufferObjs, function (bufferObj) {\n var _context;\n\n if ((0, _indexOf.default)(_context = '#&').call(_context, bufferObj.name[0]) === -1) {\n ready = false;\n }\n });\n } // If toggling the password is is disabled, assume it is required\n\n\n if (!this.toggablePass && !this.password) {\n ready = false;\n }\n\n var nickPatternStr = this.$state.setting('startupOptions.nick_format');\n var nickPattern = '';\n\n if (!nickPatternStr) {\n // Nicks cannot start with [0-9- ]\n // ? is not a valid nick character but we allow it as it gets replaced\n // with a number.\n nickPattern = /^[a-z_\\\\[\\]{}^`|][a-z0-9_\\-\\\\[\\]{}^`|]*$/i;\n } else {\n // Support custom pattern matches. Eg. only '@example.com' may be allowed\n // on some IRCDs\n var pattern = '';\n var flags = '';\n\n if (nickPatternStr[0] === '/') {\n // Custom regex\n var pos = (0, _lastIndexOf.default)(nickPatternStr).call(nickPatternStr, '/');\n pattern = nickPatternStr.substring(1, pos);\n flags = nickPatternStr.substr(pos + 1);\n } else {\n // Basic contains rule\n pattern = _lodash.default.escapeRegExp(nickPatternStr);\n flags = 'i';\n }\n\n try {\n nickPattern = new RegExp(pattern, flags);\n } catch (error) {\n log.error('Nick format error: ' + error.message);\n return false;\n }\n }\n\n if (!this.nick.match(nickPattern)) {\n ready = false;\n }\n\n return ready;\n }\n },\n created: function created() {\n var _context2;\n\n var options = this.startupOptions;\n var connectOptions = this.connectOptions(); // Take some settings from a previous network if available\n\n var previousNet = null;\n\n if ((0, _trim.default)(_context2 = connectOptions.hostname).call(_context2)) {\n var _context3;\n\n previousNet = this.$state.getNetworkFromAddress((0, _trim.default)(_context3 = connectOptions.hostname).call(_context3));\n }\n\n if (Misc.queryStringVal('nick')) {\n this.nick = Misc.queryStringVal('nick');\n } else if (previousNet && previousNet.connection.nick) {\n this.nick = previousNet.connection.nick;\n } else {\n this.nick = options.nick;\n }\n\n this.nick = this.processNickRandomNumber(this.nick || '');\n this.password = options.password || '';\n this.channel = decodeURIComponent(window.location.hash) || options.channel || '';\n this.showChannel = typeof options.showChannel === 'boolean' ? options.showChannel : true;\n this.showNick = typeof options.showNick === 'boolean' ? options.showNick : true;\n this.showPass = typeof options.showPassword === 'boolean' ? options.showPassword : true;\n this.toggablePass = typeof options.toggablePassword === 'boolean' ? options.toggablePassword : true;\n this.connectWithoutChannel = !!options.allowNoChannel;\n\n if (options.bouncer) {\n this.toggablePass = false;\n this.showPass = true;\n this.showChannel = false;\n this.connectWithoutChannel = true;\n var bouncer = new _BouncerProvider.default(this.$state);\n bouncer.enable(connectOptions.hostname, connectOptions.port, connectOptions.tls, connectOptions.direct, connectOptions.direct_path);\n }\n\n if (options.autoConnect && this.nick && (this.channel || this.connectWithoutChannel)) {\n this.startUp();\n }\n },\n methods: {\n onAltClose: function onAltClose(event) {\n if (event.channel) {\n this.channel = event.channel;\n }\n\n if (event.nick) {\n this.nick = event.nick;\n }\n\n if (event.password) {\n this.password = event.password;\n }\n\n if (event.error) {\n this.errorMessage = event.error;\n }\n\n this.$state.settings.startupOptions.altComponent = null;\n },\n readableStateError: function readableStateError(err) {\n return Misc.networkErrorMessage(err);\n },\n formSubmit: function formSubmit() {\n if (this.readyToStart) {\n this.startUp();\n }\n },\n startUp: function startUp() {\n var _this = this;\n\n this.errorMessage = '';\n var options = (0, _assign.default)({}, this.$state.settings.startupOptions);\n var connectOptions = this.connectOptions();\n var netAddress = (0, _trim.default)(_lodash.default).call(_lodash.default, connectOptions.hostname); // Check if we have this network already\n\n var net = this.network || this.$state.getNetworkFromAddress(netAddress);\n var password = this.password; // If the network doesn't already exist, add a new one\n\n net = net || this.$state.addNetwork('Network', this.nick, {\n server: netAddress,\n port: connectOptions.port,\n tls: connectOptions.tls,\n password: password,\n encoding: (0, _trim.default)(_lodash.default).call(_lodash.default, options.encoding),\n direct: connectOptions.direct,\n path: connectOptions.direct_path || '',\n gecos: options.gecos,\n username: options.username\n }); // Clear the server buffer in case it already existed and contains messages relating to\n // the previous connection, such as errors. They are now redundant since this is a\n // new connection.\n\n net.serverBuffer().clearMessages(); // If we retreived an existing network, update the nick+password with what\n // the user has just put in place\n\n net.connection.nick = this.nick;\n\n if (options.bouncer) {\n var _context4;\n\n // Bouncer mode uses server PASS\n net.connection.password = (0, _concat.default)(_context4 = \"\".concat(this.nick, \":\")).call(_context4, password);\n net.password = '';\n } else {\n net.connection.password = '';\n net.password = password;\n }\n\n if ((0, _trim.default)(_lodash.default).call(_lodash.default, options.encoding || '')) {\n net.connection.encoding = (0, _trim.default)(_lodash.default).call(_lodash.default, options.encoding);\n }\n\n this.network = net; // Only switch to the first channel we join if multiple are being joined\n\n var hasSwitchedActiveBuffer = false;\n var bufferObjs = Misc.extractBuffers(this.channel);\n (0, _forEach.default)(bufferObjs).call(bufferObjs, function (bufferObj) {\n var newBuffer = _this.$state.addBuffer(net.id, bufferObj.name);\n\n newBuffer.enabled = true;\n\n if (newBuffer && !hasSwitchedActiveBuffer) {\n _this.$state.setActiveBuffer(net.id, newBuffer.name);\n\n hasSwitchedActiveBuffer = true;\n }\n\n if (bufferObj.key) {\n newBuffer.key = bufferObj.key;\n }\n }); // switch to server buffer if no channels are joined\n\n if (!options.bouncer && !hasSwitchedActiveBuffer) {\n this.$state.setActiveBuffer(net.id, net.serverBuffer().name);\n }\n\n net.ircClient.connect();\n\n var onRegistered = function onRegistered() {\n if (_this.$refs.layout) {\n _this.$refs.layout.close();\n }\n\n net.ircClient.off('registered', onRegistered);\n net.ircClient.off('close', onClosed);\n };\n\n var onClosed = function onClosed() {\n net.ircClient.off('registered', onRegistered);\n net.ircClient.off('close', onClosed);\n };\n\n net.ircClient.once('registered', onRegistered);\n net.ircClient.once('close', onClosed);\n },\n processNickRandomNumber: function processNickRandomNumber(nick) {\n // Replace ? with a random number\n var tmp = (nick || '').replace(/\\?/g, function () {\n return Math.floor(Math.random() * 100).toString();\n });\n return (0, _trim.default)(_lodash.default).call(_lodash.default, tmp);\n },\n handleCaptcha: function handleCaptcha(isReady) {\n this.captchaReady = isReady;\n },\n connectOptions: function connectOptions() {\n var options = (0, _assign.default)({}, this.$state.settings.startupOptions);\n var connectOptions = Misc.connectionInfoFromConfig(options); // If a server isn't specified in the config, set some defaults\n // The webircgateway will have a default network set and will connect\n // there instead. This just removes the requirement of specifying the same\n // irc network address in both the server-side and client side configs\n\n connectOptions.hostname = connectOptions.hostname || 'default';\n\n if (!connectOptions.port && connectOptions.direct) {\n connectOptions.port = connectOptions.tls ? 443 : 80;\n } else if (!connectOptions.port && !connectOptions.direct) {\n connectOptions.port = connectOptions.tls ? 6697 : 6667;\n }\n\n return connectOptions;\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"startups\"]) window._kiwi_exports[\"components\"][\"startups\"] = {};\nwindow._kiwi_exports[\"components\"][\"startups\"][\"Welcome\"]\r\nwindow._kiwi_exports.components.startups.Welcome = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime-corejs3/regenerator\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/asyncToGenerator\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _default = {\n data: function data() {\n return {\n title: 'Where are you connecting today?',\n buttonText: '',\n server_type: 'default',\n server: '',\n tls: false,\n nick: '',\n password: '',\n encoding: 'utf8',\n channel: '',\n znc_network: '',\n znc_network_support: true,\n direct: false,\n direct_path: '',\n show_type_switcher: true,\n show_password_box: false,\n is_connecting: false,\n network: null\n };\n },\n created: function () {\n var _created = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var _this = this;\n\n var saveThisSessionsState, network, fragment, uriCheck, connections, con;\n return _regenerator.default.wrap(function _callee$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n saveThisSessionsState = false; // If we have networks from a previous state, launch directly into it\n\n if (this.$state.networks.length > 0) {\n network = this.$state.networks[0];\n this.$state.setActiveBuffer(network.id, network.serverBuffer().name);\n saveThisSessionsState = true;\n this.$emit('start');\n } else if (window.location.hash.substr(1)) {\n fragment = window.location.hash.substr(1); // Check to see if we're dealing with an encoded irc: uri (browsers do this\n // when clicking an IRC link)\n\n uriCheck = fragment.substr(0, 7).toLowerCase();\n\n if (uriCheck === 'ircs%3a' || uriCheck.substr(0, 6) === 'irc%3a') {\n fragment = decodeURIComponent(fragment);\n }\n\n connections = Misc.parseIrcUri(fragment); // If more than 1 connection string is given, skip the connection screen\n // and add them all right away.\n\n if (connections.length === 0) {\n saveThisSessionsState = true;\n this.applyDefaults();\n } else if (connections.length === 1) {\n saveThisSessionsState = false;\n this.server_type = 'default_simple';\n this.show_type_switcher = false;\n con = connections[0];\n this.server = con.server + ':' + con.port;\n this.tls = con.tls;\n this.nick = this.processNickRandomNumber(con.nick);\n this.channel = con.channels.join(',');\n this.direct = con.direct;\n this.encoding = con.encoding;\n\n if (con.params.type === 'znc') {\n // Older ZNC versions only support user:pass while newer supports\n // user/network:pass. Setting the network to _ denotes that we are\n // connecting to an older ZNC without network support.\n if (con.params.network === '_') {\n this.znc_network_support = false;\n } else {\n this.znc_network = con.params.network || '';\n }\n\n this.server_type = 'znc';\n this.title = 'Enter your password to connect to ZNC';\n } else {\n this.title = 'Enter a nickname to join';\n }\n } else if (connections.length > 1) {\n saveThisSessionsState = false;\n (0, _forEach.default)(connections).call(connections, function (con, idx) {\n var _context;\n\n var net = _this.$state.addNetwork(con.server, con.nick, {\n server: con.server,\n port: con.port,\n tls: con.tls,\n password: con.password || ''\n });\n\n (0, _forEach.default)(_context = con.channels).call(_context, function (channelName) {\n var buffer = _this.$state.addBuffer(net.id, channelName);\n\n buffer.enabled = true;\n }); // Set the first server buffer active\n\n if (idx === 0) {\n _this.$state.setActiveBuffer(net.id, net.serverBuffer().name);\n }\n });\n this.$emit('start');\n }\n } else {\n saveThisSessionsState = true;\n this.applyDefaults();\n }\n\n if (this.$state.settings.startupOptions.greetingText) {\n this.title = this.$state.settings.startupOptions.greetingText;\n }\n\n if (this.$state.settings.startupOptions.buttonText) {\n this.buttonText = this.$state.settings.startupOptions.buttonText;\n } else {\n this.buttonText = this.$t('connect');\n }\n\n if (saveThisSessionsState) {\n this.$state.persistence.watchStateForChanges();\n }\n\n case 5:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee, this);\n }));\n\n function created() {\n return _created.apply(this, arguments);\n }\n\n return created;\n }(),\n methods: {\n readableStateError: function readableStateError(err) {\n return Misc.networkErrorMessage(err);\n },\n startUp: function startUp() {\n var _this2 = this;\n\n var net;\n\n if (!this.nick) {\n this.$el.querySelector('.kiwi-customserver-nick input').focus();\n return;\n }\n\n var nick = this.nick;\n\n if (this.server_type === 'znc') {\n // Older ZNC versions only support user:pass while newer supports user/network:pass\n var password = nick;\n\n if (this.znc_network) {\n password += '/' + this.znc_network;\n }\n\n password += ':' + this.password;\n net = this.$state.addNetwork('ZNC', 'ZNC', {\n server: this.server.split(':')[0],\n port: (0, _parseInt2.default)(this.server.split(':')[1] || 6667, 10),\n tls: this.tls,\n password: password\n });\n } else {\n net = this.$state.addNetwork('Network', nick, {\n server: this.server.split(':')[0],\n port: (0, _parseInt2.default)(this.server.split(':')[1] || 6667, 10),\n tls: this.tls,\n password: this.password,\n direct: this.direct,\n path: this.direct_path,\n encoding: this.encoding\n });\n }\n\n if (net) {\n var hasSetActiveBuffer = false;\n var bufferObjs = Misc.extractBuffers(this.channel);\n (0, _forEach.default)(bufferObjs).call(bufferObjs, function (bufferObj, idx) {\n var buffer = _this2.$state.addBuffer(net.id, bufferObj.name);\n\n buffer.enabled = true;\n\n if (bufferObj.key) {\n buffer.key = bufferObj.key;\n }\n\n if (idx === 0) {\n _this2.$state.setActiveBuffer(net.id, buffer.name);\n\n hasSetActiveBuffer = true;\n }\n });\n\n if (!hasSetActiveBuffer) {\n this.$state.setActiveBuffer(net.id, net.serverBuffer().name);\n }\n\n this.is_connecting = true;\n this.network = net;\n net.ircClient.connect();\n\n var onRegistered = function onRegistered() {\n (0, _setTimeout2.default)(function () {\n _this2.is_connecting = false;\n }, 1000);\n\n _this2.$emit('start');\n\n net.ircClient.off('registered', onRegistered);\n net.ircClient.off('close', onClosed);\n };\n\n var onClosed = function onClosed() {\n (0, _setTimeout2.default)(function () {\n _this2.is_connecting = false;\n }, 1000);\n net.ircClient.off('registered', onRegistered);\n net.ircClient.off('close', onClosed);\n };\n\n net.ircClient.once('registered', onRegistered);\n net.ircClient.once('close', onClosed);\n }\n },\n processNickRandomNumber: function processNickRandomNumber(nick) {\n // Replace ? with a random number\n var tmp = (nick || '').replace(/\\?/g, function () {\n return Math.floor(Math.random() * 100).toString();\n });\n return (0, _trim.default)(_lodash.default).call(_lodash.default, tmp);\n },\n infoClick: function infoClick() {\n if (this.network) {\n var net = this.network;\n this.$state.setActiveBuffer(net.id, net.serverBuffer().name);\n }\n\n this.$emit('start');\n },\n applyDefaults: function applyDefaults() {\n this.server = this.$state.settings.startupOptions.server;\n this.tls = this.$state.settings.startupOptions.tls;\n this.nick = this.processNickRandomNumber(this.$state.settings.startupOptions.nick);\n this.channel = this.$state.settings.startupOptions.channel;\n this.direct = this.$state.settings.startupOptions.direct;\n this.direct_path = this.$state.settings.startupOptions.direct_path;\n this.encoding = this.$state.settings.startupOptions.encoding; // Only include the port in the server box if it's not the default\n\n if (this.$state.settings.startupOptions.port.toString() !== '6667') {\n this.server += ':' + this.$state.settings.startupOptions.port.toString();\n }\n\n this.title = 'Where are you connecting today?';\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"startups\"]) window._kiwi_exports[\"components\"][\"startups\"] = {};\nwindow._kiwi_exports[\"components\"][\"startups\"][\"CustomServer\"]\r\nwindow._kiwi_exports.components.startups.CustomServer = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputText.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputText.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListAvatar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListAvatar.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSettings.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSettings.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TabbedView.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TabbedView.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _reverse = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/reverse\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _Html = _interopRequireDefault(require(\"@/libs/renderers/Html\"));\n\nvar _MessageParser = _interopRequireDefault(require(\"@/libs/MessageParser\"));\n\nvar _default = {\n props: ['network'],\n data: function data() {\n return {\n sidebarOpen: false,\n page: 0,\n page_size: 200,\n search: '',\n last_updated: 0\n };\n },\n computed: {\n noResults: function noResults() {\n return this.listState === 'updated' && this.filteredList.length === 0;\n },\n isLoading: function isLoading() {\n return this.listState === 'updating';\n },\n listState: function listState() {\n return this.network.channel_list_state;\n },\n list: function list() {\n return this.network.channel_list || [];\n },\n filteredList: function filteredList() {\n var _this = this,\n _context4;\n\n var list = [];\n\n if (this.search.length <= 2) {\n list = this.list;\n } else {\n var _context;\n\n list = (0, _filter.default)(_context = this.list).call(_context, function (channel) {\n var _context2, _context3;\n\n var found = false;\n\n if ((0, _indexOf.default)(_context2 = channel.channel.toLowerCase()).call(_context2, _this.search) > -1) {\n found = true;\n }\n\n if ((0, _indexOf.default)(_context3 = channel.topic.toLowerCase()).call(_context3, _this.search) > -1) {\n found = true;\n }\n\n return found;\n });\n }\n\n return (0, _reverse.default)(_context4 = _lodash.default.sortBy(list, 'num_users')).call(_context4);\n },\n paginated: function paginated() {\n var offset = this.page * this.page_size;\n var list = this.filteredList;\n var channels = [];\n\n for (var i = offset; i < offset + this.page_size; i++) {\n if (list[i]) {\n channels.push(list[i]);\n }\n }\n\n return channels;\n },\n maxPages: function maxPages() {\n return Math.floor(this.filteredList.length / this.page_size);\n },\n canGoForward: function canGoForward() {\n return this.page * this.page_size >= this.filteredList.length;\n },\n canGoBackward: function canGoBackward() {\n return this.page > 0;\n }\n },\n watch: {\n search: function search() {\n this.page = 0;\n }\n },\n methods: {\n nextPage: function nextPage() {\n if (this.page < this.maxPages) {\n this.page++;\n }\n },\n prevPage: function prevPage() {\n if (this.page > 0) {\n this.page--;\n }\n },\n maybeUpdateList: function maybeUpdateList() {\n if (this.listState !== 'updating') {\n this.network.ircClient.raw('LIST');\n }\n },\n formatAndTrimTopic: function formatAndTrimTopic(rawTopic) {\n var showModes = this.$state.setting('showChanlistModes');\n var topic = showModes ? rawTopic : rawTopic.replace(/^\\[([^\\]]+)\\] ?/, '');\n var blocks = (0, _MessageParser.default)(topic, {\n extras: false\n });\n var content = (0, _Html.default)(blocks);\n return content;\n },\n joinChannel: function joinChannel(channelName) {\n this.$state.addBuffer(this.network.id, channelName);\n this.network.ircClient.join(channelName);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"ChannelList\"]\r\nwindow._kiwi_exports.components.ChannelList = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _values = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/values\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/defineProperty\"));\n\nvar _TypingStatusIndicator = _interopRequireDefault(require(\"./TypingStatusIndicator\"));\n\nvar _default = {\n components: {\n TypingStatusIndicator: _TypingStatusIndicator.default\n },\n props: ['buffer'],\n computed: {\n users: function users() {\n if (this.buffer.isQuery()) {\n // if this is a query return the target as users\n var network = this.$state.getActiveNetwork();\n var user = this.$state.getUser(network.id, this.buffer.name);\n return user ? (0, _defineProperty2.default)({}, user.nick, user) : {};\n }\n\n return this.buffer.users;\n },\n typingUsers: function typingUsers() {\n var _context,\n _this = this;\n\n var myNick = this.$state.getActiveNetwork().nick;\n return (0, _filter.default)(_context = (0, _values.default)(this.users)).call(_context, function (u) {\n return u.nick !== myNick && u.typingStatus(_this.buffer.name).status;\n });\n }\n },\n methods: {\n userColour: function userColour(user) {\n return user && this.buffer.setting('colour_nicknames_in_messages') ? user.getColour() : '';\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"TypingUsersList\"]\r\nwindow._kiwi_exports.components.TypingUsersList = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NicklistUser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NicklistUser.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-serverselector\",class:{'kiwi-serverselector--custom': _vm.presetServer === 'custom'}},[(_vm.usePreset && _vm.presetNetworks.length > 0)?_c('div',{staticClass:\"kiwi-serverselector-presets\"},[_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('server')))]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.presetServer),expression:\"presetServer\"}],on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.presetServer=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"value\":\"custom\"}},[_vm._v(\"Custom Server\")]),_c('option',{attrs:{\"disabled\":\"\"}},[_vm._v(\"-----------------\")]),_vm._l((_vm.presetNetworks),function(s){return _c('option',{key:s.name,domProps:{\"value\":_vm.toUri(s)}},[_vm._v(_vm._s(s.name))])})],2)])]):_vm._e(),(_vm.showCustom || _vm.presetNetworks.length === 0 || !_vm.usePreset)?[_c('input-text',{directives:[{name:\"focus\",rawName:\"v-focus\"}],staticClass:\"kiwi-networksettings-connection-address\",attrs:{\"label\":_vm.$t('server')},model:{value:(_vm.connection.server),callback:function ($$v) {_vm.$set(_vm.connection, \"server\", $$v)},expression:\"connection.server\"}}),_c('input-text',{staticClass:\"kiwi-networksettings-connection-port\",attrs:{\"label\":_vm.$t('settings_port'),\"type\":\"number\"},model:{value:(_vm.connection.port),callback:function ($$v) {_vm.$set(_vm.connection, \"port\", $$v)},expression:\"connection.port\"}},[_c('span',{staticClass:\"fa-stack fa-lg kiwi-customserver-tls\",class:{ 'kiwi-customserver-tls--enabled' : _vm.connection.tls },on:{\"click\":_vm.toggleTls}},[(_vm.connection.tls)?_c('i',{staticClass:\"fa fa-lock fa-stack-1x kiwi-customserver-tls-lock\"}):_c('i',{staticClass:\"fa fa-unlock fa-stack-1x kiwi-customserver-tls-minus\"})])])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-sidebar kiwi-theme-bg\",class:['kiwi-sidebar-section-' + _vm.section]},[(!_vm.sidebarState.isOpen)?_c('span',{staticClass:\"kiwi-sidebar-options\"},[_c('div',{staticClass:\"kiwi-sidebar-close\",on:{\"click\":function($event){return _vm.sidebarState.close()}}},[_vm._v(\" \"+_vm._s(_vm.$t('close'))),_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})])]):_vm._e(),(_vm.sidebarState.activeComponent)?[_c(_vm.sidebarState.activeComponent,{tag:\"component\",attrs:{\"network\":_vm.network,\"buffer\":_vm.buffer,\"sidebar-state\":_vm.sidebarState}})]:(_vm.buffer)?[(_vm.buffer.isChannel())?[(_vm.section === 'settings')?_c('div',{staticClass:\"kiwi-sidebar-buffersettings\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('tabbed-view',[_c('tabbed-tab',{attrs:{\"header\":_vm.$t('settings'),\"focus\":true}},[_c('h3',[_vm._v(_vm._s(_vm.$t('channel_settings')))]),_c('hr'),_c('channel-info',{attrs:{\"buffer\":_vm.buffer}}),_c('div',{staticClass:\"kiwi-sidebar-settings\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('side_settings')))]),_c('hr'),_c('form',{staticClass:\"u-form\"},[_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('side_joins')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingShowJoinParts),expression:\"settingShowJoinParts\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingShowJoinParts)?_vm._i(_vm.settingShowJoinParts,null)>-1:(_vm.settingShowJoinParts)},on:{\"change\":function($event){var $$a=_vm.settingShowJoinParts,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingShowJoinParts=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingShowJoinParts=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingShowJoinParts=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('side_topics')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingShowTopics),expression:\"settingShowTopics\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingShowTopics)?_vm._i(_vm.settingShowTopics,null)>-1:(_vm.settingShowTopics)},on:{\"change\":function($event){var $$a=_vm.settingShowTopics,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingShowTopics=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingShowTopics=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingShowTopics=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('side_nick_changes')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingShowNickChanges),expression:\"settingShowNickChanges\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingShowNickChanges)?_vm._i(_vm.settingShowNickChanges,null)>-1:(_vm.settingShowNickChanges)},on:{\"change\":function($event){var $$a=_vm.settingShowNickChanges,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingShowNickChanges=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingShowNickChanges=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingShowNickChanges=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('side_mode_changes')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingShowModeChanges),expression:\"settingShowModeChanges\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingShowModeChanges)?_vm._i(_vm.settingShowModeChanges,null)>-1:(_vm.settingShowModeChanges)},on:{\"change\":function($event){var $$a=_vm.settingShowModeChanges,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingShowModeChanges=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingShowModeChanges=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingShowModeChanges=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('side_formatting')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingExtraFormatting),expression:\"settingExtraFormatting\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingExtraFormatting)?_vm._i(_vm.settingExtraFormatting,null)>-1:(_vm.settingExtraFormatting)},on:{\"change\":function($event){var $$a=_vm.settingExtraFormatting,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingExtraFormatting=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingExtraFormatting=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingExtraFormatting=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('side_colours')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingColouredNicklist),expression:\"settingColouredNicklist\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingColouredNicklist)?_vm._i(_vm.settingColouredNicklist,null)>-1:(_vm.settingColouredNicklist)},on:{\"change\":function($event){var $$a=_vm.settingColouredNicklist,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingColouredNicklist=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingColouredNicklist=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingColouredNicklist=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_share_typing')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingShareTyping),expression:\"settingShareTyping\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingShareTyping)?_vm._i(_vm.settingShareTyping,null)>-1:(_vm.settingShareTyping)},on:{\"change\":function($event){var $$a=_vm.settingShareTyping,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingShareTyping=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingShareTyping=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingShareTyping=$$c}}}})])])])],1),_c('tabbed-tab',{attrs:{\"header\":_vm.$t('access')}},[_c('a',{staticClass:\"u-link kiwi-sidebar-accesstab\",class:{\n 'kiwi-sidebar-accesstab--active': _vm.accessTab === 'banlist'\n },on:{\"click\":function($event){_vm.accessTab='banlist'}}},[_vm._v(\" \"+_vm._s(_vm.$t('banned'))+\" \")]),_c('a',{staticClass:\"u-link kiwi-sidebar-accesstab\",class:{\n 'kiwi-sidebar-accesstab--active': _vm.accessTab === 'invitelist'\n },on:{\"click\":function($event){_vm.accessTab='invitelist'}}},[_vm._v(\" \"+_vm._s(_vm.$t('invited'))+\" \")]),(_vm.accessTab==='banlist')?_c('channel-banlist',{attrs:{\"buffer\":_vm.buffer}}):_vm._e(),(_vm.accessTab==='invitelist')?_c('channel-invitelist',{attrs:{\"buffer\":_vm.buffer}}):_vm._e()],1),_c('tabbed-tab',{attrs:{\"header\":_vm.$t('notifications')}},[_c('buffer-settings',{attrs:{\"buffer\":_vm.buffer}})],1),_vm._l((_vm.pluginUiElements),function(item){return _c('tabbed-tab',{key:item.id,attrs:{\"header\":item.title}},[_c(item.component,_vm._b({tag:\"div\"},'div',item.props,false))],1)})],2)],1):(_vm.section === 'user')?_c('div',{staticClass:\"kiwi-sidebar-userbox\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('user-box',{attrs:{\"user\":_vm.sidebarState.sidebarUser,\"buffer\":_vm.buffer,\"network\":_vm.network}})],1):(_vm.section === 'nicklist')?_c('nicklist',{attrs:{\"network\":_vm.network,\"buffer\":_vm.buffer,\"sidebar-state\":_vm.sidebarState}}):(_vm.section === 'about')?_c('sidebar-about-buffer',{attrs:{\"network\":_vm.network,\"buffer\":_vm.buffer,\"sidebar-state\":_vm.sidebarState}}):_vm._e()]:(_vm.buffer.isQuery())?[(_vm.section === 'user')?_c('div',{staticClass:\"kiwi-sidebar-userbox\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('user-box',{attrs:{\"user\":_vm.sidebarState.sidebarUser,\"buffer\":_vm.buffer,\"network\":_vm.network}})],1):_vm._e()]:_vm._e()]:[_vm._v(\" \"+_vm._s(_vm.$t('side_buffer'))+\" \")]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\nvar _default = {\n components: {\n AwayStatusIndicator: _AwayStatusIndicator.default\n },\n props: {\n network: Object\n },\n data: function data() {\n return {\n new_nick: '',\n error_message: '',\n self_user_settings_open: false\n };\n },\n computed: {\n modeString: function modeString() {\n var _context;\n\n var str = '';\n (0, _forEach.default)(_context = this.network.ircClient.user.modes).call(_context, function (mode) {\n str += mode;\n }); // Only show the + if there are modes to show\n\n if (str) {\n str = '+' + str;\n }\n\n return str;\n },\n netUser: function netUser() {\n return this.network.ircClient.user;\n },\n awayStatus: {\n get: function get() {\n return this.network.currentUser().away;\n },\n set: function set(val) {\n this.network.ircClient.raw('AWAY', val ? 'Currently away' : '');\n }\n }\n },\n created: function created() {\n var _this = this;\n\n this.listen(this.network.ircClient, 'nick in use', function (event) {\n _this.error_message = TextFormatting.t('error_nick_in_use', {\n nick: event.nick\n });\n });\n },\n methods: {\n openSelfActions: function openSelfActions() {\n this.self_user_settings_open = true;\n },\n closeSelfUser: function closeSelfUser() {\n this.$emit('close');\n },\n onNewNickSubmit: function onNewNickSubmit(newVal) {\n this.new_nick = newVal;\n this.changeNick();\n },\n changeNick: function changeNick() {\n var _context2;\n\n var nick = (0, _trim.default)(_context2 = this.new_nick).call(_context2);\n\n if (nick.length === 0) {\n this.error_message = TextFormatting.t('error_empty_nick');\n return;\n }\n\n if (nick.match(/(^[0-9])|(\\s)/)) {\n this.error_message = TextFormatting.t('error_no_number');\n return;\n }\n\n this.error_message = '';\n this.network.ircClient.changeNick(nick);\n this.userNameCancel();\n },\n userNameCancel: function userNameCancel() {\n this.self_user_settings_open = false;\n },\n networkSupportsAway: function networkSupportsAway() {\n return this.network.ircClient.network.cap.isEnabled('away-notify');\n },\n checkUserAway: function checkUserAway() {\n return !!this.network.currentUser().away;\n },\n getUserFromString: function getUserFromString(name) {\n return this.$state.getUser(this.network.id, name);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"SelfUser\"]\r\nwindow._kiwi_exports.components.SelfUser = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n/** @module */\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.extractBuffers = extractBuffers;\nexports.extractURL = extractURL;\nexports.stripStyles = stripStyles;\nexports.mentionsNick = mentionsNick;\nexports.queryStringVal = queryStringVal;\nexports.networkErrorMessage = networkErrorMessage;\nexports.connectionInfoFromConfig = connectionInfoFromConfig;\nexports.matchUri = matchUri;\nexports.parseIrcUri = parseIrcUri;\nexports.dedotObject = dedotObject;\nexports.replaceObjectProps = replaceObjectProps;\nexports.dateIso = dateIso;\nexports.parseIntZero = parseIntZero;\n\nvar _isNan = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/number/is-nan\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/typeof\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _strftime = _interopRequireDefault(require(\"strftime\"));\n\nvar _TextFormatting = require(\"./TextFormatting\");\n\nvar strftimeUTC = _strftime.default.timezone('+0');\n/**\n * Extract an array of buffers from a string, parsing multiple buffer names and channel keys\n * \"#chan,#chan2\" => 2 channels without a key\n * \"#chan,#chan2 key\" => 2 channels, the first having a key\n * \"#chan,#chan2 key1,key2\" => 2 channels, both having a key\n * \"#chan,#chan2 ,key2\" => 2 channels, the second having a key\n * @param {string} str List of buffer names and channel keys\n */\n\n\nfunction extractBuffers(str) {\n var spaceIdx = (0, _indexOf.default)(str).call(str, ' ');\n if (spaceIdx === -1) spaceIdx = str.length;\n var bufferNames = str.substr(0, spaceIdx).split(',');\n var keys = str.substr(spaceIdx + 1).split(',');\n var buffers = [];\n (0, _forEach.default)(bufferNames).call(bufferNames, function (bufferName, idx) {\n // return if bufferName is empty\n if (!(0, _trim.default)(bufferName).call(bufferName)) {\n return;\n }\n\n buffers.push({\n name: bufferName,\n key: keys[idx] || ''\n });\n });\n return buffers;\n}\n\nfunction extractURL(str) {\n var matches = str.match(_TextFormatting.urlRegex);\n return matches ? matches[0] : '';\n}\n\nfunction stripStyles(str) {\n return str.replace(/(\\x03[0-9]{0,2})?([\\x02\\x16\\x1d\\x1f]+)?/g, '');\n}\n/**\n * Does a string mention a nickname?\n * @param {string} input The string to search within\n * @param {string} nick The nick to search for\n */\n\n\nfunction mentionsNick(input, nick) {\n var _context, _context2, _context3;\n\n if ((0, _indexOf.default)(_context = input.toLowerCase()).call(_context, nick.toLowerCase()) === -1) {\n return false;\n }\n\n var punc = '\\\\s,.!:;+()\\\\[\\\\]?¿\\\\/<>@-';\n\n var escapedNick = _lodash.default.escapeRegExp(nick);\n\n var stylesStrippedInput = stripStyles(input);\n var r = new RegExp((0, _concat.default)(_context2 = (0, _concat.default)(_context3 = \"(^|[\".concat(punc, \"])\")).call(_context3, escapedNick, \"([\")).call(_context2, punc, \"]|$)\"), 'i');\n return r.test(stylesStrippedInput);\n}\n/**\n * Get a query string value from the current URL\n * @param {string} _name The query string variable name\n * @param {string} _url The full URL to extract the variable from\n */\n\n\nfunction queryStringVal(_name, _url) {\n var url = _url || window.location.href;\n\n var name = _lodash.default.escapeRegExp(_name);\n\n var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)');\n var results = regex.exec(url);\n\n if (!results) {\n return null;\n }\n\n if (!results[2]) {\n return '';\n }\n\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n}\n/**\n * Convert a known error code to a human readable message\n * @param {string} err The error message from the network connection\n */\n\n\nfunction networkErrorMessage(err) {\n var errs = {\n err_unknown_host: 'Unknown domain name or host',\n err_forbidden: 'Forbidden to connect',\n err_timeout: 'Took too long to connect',\n err_refused: 'The server refused the connection',\n err_tls: 'Could not connect securely',\n err_proxy: 'The Kiwi IRC server had an error'\n };\n return errs[err] || 'Unknown error';\n}\n/**\n * Take a users connection object (usually from startupOptions) and normalise a connection\n * settings object. Parses websocket/direct/kiwiServer/etc options and creates a single\n * object that Kiwi can consistently read from.\n * @param {Object} config User provided connection config object\n */\n\n\nfunction connectionInfoFromConfig(config) {\n var connection = {\n tls: false,\n port: 0,\n hostname: '',\n direct: false,\n direct_path: ''\n };\n var wsUri = config.websocket ? matchUri(config.websocket) : null;\n\n if (wsUri) {\n var _context4;\n\n connection.direct = true;\n connection.tls = (0, _indexOf.default)(_context4 = ['wss', 'https', 'ircs']).call(_context4, wsUri.protocol) > -1;\n connection.port = wsUri.port;\n connection.hostname = wsUri.hostname;\n connection.direct_path = wsUri.path;\n\n if (wsUri.search) {\n connection.direct_path += '?' + wsUri.search;\n }\n } else {\n connection.tls = config.tls;\n connection.port = config.port;\n connection.hostname = config.server;\n connection.direct = !!config.direct;\n connection.direct_path = config.direct_path || '';\n }\n\n return connection;\n}\n\nfunction matchUri(uri) {\n var reg = /(?:([a-z]+):\\/\\/)?([a-z.0-9-]+)(?::(?:(\\+)?([0-9]+)))?(?:\\/([^?]*))?(?:\\?(.*))?/;\n /*\n 0: \"ws://hostname.com:6676/erferf?foo=val\"\n 1: \"ws\"\n 2: \"hostname.com\"\n 3: undefined\n 4: \"6676\"\n 5: \"erferf\"\n 6: \"foo=var\"\n */\n\n var m = uri.match(reg);\n\n if (!m) {\n return null;\n }\n\n return {\n protocol: (m[1] || '').toLowerCase(),\n hostname: m[2] || '',\n port: parseIntZero(m[4] || ''),\n path: '/' + (m[5] || ''),\n search: m[6] || ''\n };\n}\n/**\n * Parse a connection string into an object\n * E.g. [ircs?://]irc.network.net:[+]6667/channel?nick=mynick;\n * Multiple connections may be given, separated by ;\n * @param {string} str The connection string URI\n */\n\n\nfunction parseIrcUri(str) {\n var _context5;\n\n var reg = /(?:(ircs?):\\/\\/)?([a-z.0-9-]+)(?::(?:(\\+)?([0-9]+)))?(?:\\/([^?]*))?(?:\\?(.*))?/;\n var connections = [];\n (0, _forEach.default)(_context5 = str.split(';')).call(_context5, function (connectionString) {\n var _context6, _context7;\n\n if (!connectionString) {\n return;\n }\n\n var m = connectionString.match(reg);\n\n if (!m) {\n return;\n }\n\n var tls = m[1] === 'ircs' || !!m[3];\n var params = (0, _create.default)(null);\n (0, _forEach.default)(_context6 = (m[6] || '').split('&')).call(_context6, function (p) {\n var parts = p.split('=');\n\n if (parts.length === 2) {\n params[parts[0].toLowerCase()] = parts[1];\n }\n });\n var channels = m[5] || params.channel || '';\n channels = (0, _map.default)(_context7 = (0, _lodash.default)(channels.split(',')).compact()).call(_context7, function (_channelName) {\n var hasPrefix = _channelName[0] === '#' || _channelName[0] === '&';\n var channelName = hasPrefix ? _channelName : '#' + _channelName;\n return channelName;\n });\n connections.push({\n tls: tls,\n server: m[2],\n port: (0, _parseInt2.default)(m[4] || (tls ? 6697 : 6667), 10),\n channels: channels,\n nick: params.nick || '',\n encoding: params.encoding || 'utf8',\n params: params\n });\n });\n return connections;\n}\n/**\n * Scan though an object and extend any dot notated keys\n * @param {Object} confObj Source object to traverse\n */\n\n\nfunction dedotObject(confObj, _place) {\n var place = _place || [];\n var regex = /\\w\\.\\w/;\n\n _lodash.default.each(confObj, function (val, key) {\n var ourPlace = (0, _concat.default)(place).call(place, [key]);\n\n if ((0, _typeof2.default)(val) === 'object') {\n dedotObject(confObj[key], ourPlace);\n return;\n }\n\n if (regex.test(key)) {\n delete confObj[key];\n\n _lodash.default.set(confObj, ourPlace.join('.'), val);\n }\n });\n}\n/**\n * Replace the target object with source, while keeping the target object reference intact.\n * Delete all the properties from the target object and copy the properties from source\n * over to the target.\n * a = {one: 1, two: 2, three: 3}\n * b = {four: 4, five: 5, six: 6}\n * replaceObjectProps(a, b)\n * a.one === undefined;\n * a.six === 6;\n * @param {Object} target The target object that will be replaced\n * @param {Object} source The source object from which all properties will be copied from\n */\n\n\nfunction replaceObjectProps(target, source) {\n var _context8, _context9;\n\n (0, _forEach.default)(_context8 = (0, _keys.default)(target)).call(_context8, function (prop) {\n return delete target[prop];\n });\n (0, _forEach.default)(_context9 = (0, _keys.default)(source)).call(_context9, function (prop) {\n target[prop] = source[prop];\n });\n}\n/**\n * Create an ISO8601 formatted date\n * @param {Date} date The date object to create the time from. Defaults to the current time\n */\n\n\nfunction dateIso(date) {\n var d = date || new Date();\n return strftimeUTC('%Y-%m-%dT%H:%M:%S.%LZ', d);\n}\n/**\n * Cast a string to an int, returning 0 if it fails\n * @param {String} inp The number as a string to convert to an int\n */\n\n\nfunction parseIntZero(inp) {\n var int = (0, _parseInt2.default)(inp, 10);\n return (0, _isNan.default)(int) ? 0 : int;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"helpers\"]) window._kiwi_exports[\"helpers\"] = {};\nwindow._kiwi_exports[\"helpers\"][\"Misc\"]\r\nwindow._kiwi_exports.helpers.Misc = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _eventEmitter = _interopRequireDefault(require(\"event-emitter\"));\n\nvar NetworkProvider = /*#__PURE__*/function () {\n function NetworkProvider() {\n (0, _classCallCheck2.default)(this, NetworkProvider);\n (0, _eventEmitter.default)(this);\n this.providers = [];\n }\n\n (0, _createClass2.default)(NetworkProvider, [{\n key: \"addProvider\",\n value: function addProvider(provider) {\n var _this = this;\n\n this.providers.push(provider);\n provider.on('networks', function (networks) {\n _this.emit('networks', _this.availableNetworks());\n });\n }\n }, {\n key: \"availableNetworks\",\n value: function availableNetworks() {\n var _context;\n\n var networks = (0, _create.default)(null);\n (0, _forEach.default)(_context = this.providers).call(_context, function (provider) {\n var pType = provider.type;\n\n if (provider.networks.length > 0) {\n var _context2;\n\n networks[pType] = networks[pType] || [];\n networks[pType] = (0, _concat.default)(_context2 = networks[pType]).call(_context2, provider.networks);\n }\n });\n return networks;\n }\n }]);\n return NetworkProvider;\n}();\n\nexports.default = NetworkProvider;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"NetworkProvider\"]\r\nwindow._kiwi_exports.libs.NetworkProvider = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _stringify = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/json/stringify\"));\n\nvar _construct = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/reflect/construct\"));\n\nvar _bind = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/bind\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/inherits\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/getPrototypeOf\"));\n\nvar _eventemitter = _interopRequireDefault(require(\"eventemitter3\"));\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = (0, _construct.default)(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !_construct.default) return false; if (_construct.default.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call((0, _construct.default)(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar IpcBroadcastChannel = /*#__PURE__*/function (_EventEmitter) {\n (0, _inherits2.default)(IpcBroadcastChannel, _EventEmitter);\n\n var _super = _createSuper(IpcBroadcastChannel);\n\n function IpcBroadcastChannel() {\n var _context;\n\n var _this;\n\n (0, _classCallCheck2.default)(this, IpcBroadcastChannel);\n _this = _super.call(this);\n _this.bc = new BroadcastChannel('kiwi-ipc');\n _this.bc.onmessage = (0, _bind.default)(_context = _this.onmessage).call(_context, (0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n\n (0, _createClass2.default)(IpcBroadcastChannel, [{\n key: \"send\",\n value: function send(msg) {\n if (this.bc) {\n this.bc.postMessage(msg);\n }\n }\n }, {\n key: \"onmessage\",\n value: function onmessage(msg) {\n this.emit('message', msg);\n }\n }]);\n return IpcBroadcastChannel;\n}(_eventemitter.default);\n\nvar IpcLocalStorage = /*#__PURE__*/function (_EventEmitter2) {\n (0, _inherits2.default)(IpcLocalStorage, _EventEmitter2);\n\n var _super2 = _createSuper(IpcLocalStorage);\n\n function IpcLocalStorage() {\n var _context2;\n\n var _this2;\n\n (0, _classCallCheck2.default)(this, IpcLocalStorage);\n _this2 = _super2.call(this);\n window.addEventListener('storage', (0, _bind.default)(_context2 = _this2.onmessage).call(_context2, (0, _assertThisInitialized2.default)(_this2)));\n return _this2;\n }\n\n (0, _createClass2.default)(IpcLocalStorage, [{\n key: \"send\",\n value: function send(msg) {\n localStorage.setItem('kiwi-ipc', (0, _stringify.default)(msg));\n localStorage.removeItem('kiwi-ipc');\n }\n }, {\n key: \"onmessage\",\n value: function onmessage(msg) {\n if (msg.key === 'kiwi-ipc' && msg.newValue) {\n try {\n var parsedMsg = {\n data: JSON.parse(msg.newValue)\n };\n this.emit('message', parsedMsg);\n } catch (e) {\n this.emit('error');\n }\n }\n }\n }]);\n return IpcLocalStorage;\n}(_eventemitter.default);\n\nvar _default = window.BroadcastChannel ? new IpcBroadcastChannel() : new IpcLocalStorage();\n\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"IPC\"]\r\nwindow._kiwi_exports.libs.IPC = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarAboutBuffer.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarAboutBuffer.vue?vue&type=style&index=0&lang=less&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _flags = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/flags\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar bufferTools = _interopRequireWildcard(require(\"@/libs/bufferTools\"));\n\nvar _BufferSettings = _interopRequireDefault(require(\"./BufferSettings\"));\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\nvar _default = {\n components: {\n BufferSettings: _BufferSettings.default,\n AwayStatusIndicator: _AwayStatusIndicator.default\n },\n props: ['network', 'sidebarState'],\n data: function data() {\n return {\n collapsed: false,\n channel_filter: '',\n channel_filter_display: false,\n channel_add_display: false,\n channel_add_input_has_focus: false,\n channel_add_input: ''\n };\n },\n computed: {\n serverBuffer: function serverBuffer() {\n return this.network.serverBuffer();\n },\n isActiveNetwork: function isActiveNetwork() {\n return this.$state.getActiveNetwork() === this.network;\n },\n totalNetworkCount: function totalNetworkCount() {\n return this.$state.networks.length;\n },\n serverUnread: function serverUnread() {\n var _context;\n\n if (!this.collapsed) {\n return (0, _flags.default)(this.serverBuffer).unread;\n }\n\n var totalUnread = 0;\n (0, _forEach.default)(_context = this.network.buffers).call(_context, function (buffer) {\n if (buffer.isSpecial()) {\n return;\n }\n\n totalUnread += (0, _flags.default)(buffer).unread;\n });\n return totalUnread;\n },\n serverHighlight: function serverHighlight() {\n var _context2;\n\n if (!this.collapsed) {\n return (0, _flags.default)(this.serverBuffer).highlight;\n }\n\n var highlight = false;\n (0, _forEach.default)(_context2 = this.network.buffers).call(_context2, function (buffer) {\n if (buffer.isSpecial()) {\n return;\n }\n\n if ((0, _flags.default)(buffer).highlight) {\n highlight = true;\n }\n });\n return highlight;\n },\n filteredBuffers: function filteredBuffers() {\n var filter = this.channel_filter;\n var filtered = [];\n\n if (!filter) {\n filtered = this.network.buffers;\n } else {\n filtered = (0, _filter.default)(_lodash.default).call(_lodash.default, this.network.buffers, function (buffer) {\n var name = buffer.name.toLowerCase();\n return (0, _indexOf.default)(name).call(name, filter) > -1;\n });\n }\n\n return bufferTools.orderBuffers(filtered);\n }\n },\n methods: {\n onNewChannelInputFocus: function onNewChannelInputFocus() {\n // Auto insert the # if no value is already in. Easier for mobile users\n if (!this.channel_add_input) {\n this.channel_add_input = '#';\n }\n\n this.channel_add_input_has_focus = true;\n },\n onNewChannelInputBlur: function onNewChannelInputBlur() {\n // Remove the # since we may have auto inserted it as they tabbed past\n if (this.channel_add_input === '#') {\n this.channel_add_input = '';\n } // If nothing was entered into the input box, hide it just to clean up the UI\n\n\n if (!this.channel_add_input) {\n this.channel_add_display = false;\n }\n\n this.channel_add_input_has_focus = false;\n },\n submitNewChannelForm: function submitNewChannelForm() {\n var _this = this;\n\n var newChannelVal = this.channel_add_input;\n this.channel_add_input = '#';\n var network = this.network;\n var bufferObjs = Misc.extractBuffers(newChannelVal); // Only switch to the first channel we join if multiple are being joined\n\n var hasSwitchedActiveBuffer = false;\n (0, _forEach.default)(bufferObjs).call(bufferObjs, function (bufferObj) {\n var chanName = bufferObj.name;\n var ignoreNames = ['#0', '0', '&0'];\n\n if ((0, _indexOf.default)(ignoreNames).call(ignoreNames, chanName) > -1 || chanName.replace(/[#&]/g, '') === '') {\n return;\n }\n\n var newBuffer = _this.$state.addBuffer(network.id, chanName);\n\n if (newBuffer && !hasSwitchedActiveBuffer) {\n _this.$state.setActiveBuffer(network.id, newBuffer.name);\n\n hasSwitchedActiveBuffer = true;\n }\n\n if (bufferObj.key) {\n newBuffer.key = bufferObj.key;\n }\n\n if (network.isChannelName(chanName)) {\n network.ircClient.join(chanName, bufferObj.key);\n }\n });\n },\n onChannelFilterInputBlur: function onChannelFilterInputBlur() {\n var _this2 = this;\n\n // Hacky, but if we remove the channel filter UI at this blur event and the user\n // clicked a link in this filter UI, then the click event will not hit the target\n // link as it has been removed before the event reaches it.\n (0, _setTimeout2.default)(function () {\n _this2.closeFilterChannel();\n }, 200);\n },\n closeBuffer: function closeBuffer(buffer) {\n this.$state.removeBuffer(buffer);\n },\n awayNotifySupported: function awayNotifySupported() {\n return this.network.ircClient.network.cap.isEnabled('away-notify');\n },\n showMessageCounts: function showMessageCounts(buffer) {\n return !buffer.setting('hide_message_counts');\n },\n setActiveBuffer: function switchContainer(buffer) {\n // Clear any active component to show the buffer again\n this.$state.$emit('active.component', null);\n this.$state.setActiveBuffer(buffer.networkid, buffer.name);\n\n if (this.$state.ui.is_narrow) {\n this.$state.$emit('statebrowser.hide');\n }\n },\n isActiveBuffer: function isActiveBuffer(buffer) {\n return buffer.networkid === this.$state.ui.active_network && buffer.name === this.$state.ui.active_buffer;\n },\n showNetworkSettings: function showNetworkSettings(network) {\n network.showServerBuffer('settings');\n },\n showNetworkChannels: function showNetworkChannels(network) {\n network.showServerBuffer('channels');\n },\n onSearchChannelClick: function onSearchChannelClick() {\n // If we have no other buffers than the server buffer, take them straight\n // to the channel list for searching\n if (this.network.buffers.length > 1) {\n this.toggleFilterChannel();\n } else {\n this.network.showServerBuffer('channels');\n }\n },\n toggleAddChannel: function toggleAddChannel() {\n this.channel_add_display = !this.channel_add_display;\n this.channel_filter_display = false;\n },\n toggleFilterChannel: function toggleFilterChannel() {\n this.channel_filter_display = !this.channel_filter_display;\n this.channel_add_display = false;\n },\n closeFilterChannel: function closeFilterChannel() {\n this.channel_filter = '';\n this.channel_filter_display = false;\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"StateBrowserNetwork\"]\r\nwindow._kiwi_exports.components.StateBrowserNetwork = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar _default = {\n components: {},\n props: ['buffer', 'message'],\n data: function data() {\n return {\n requestingInput: false\n };\n },\n computed: {},\n methods: {\n urlPreview: function urlPreview(url) {\n this.$state.$emit('mediaviewer.show', url);\n },\n areWeAnOp: function areWeAnOp() {\n var ourNick = this.buffer.getNetwork().nick;\n return this.buffer.isUserAnOp(ourNick);\n },\n isSelf: function isSelf() {\n var user = this.$state.getUser(this.buffer.getNetwork().id, this.message.nick);\n return this.buffer.getNetwork().ircClient.user.nick === user.nick;\n },\n onBan: function onBan(reason) {\n var network = this.buffer.getNetwork();\n network.ircClient.mode(this.buffer.name, '+b', this.message.nick);\n },\n onKick: function onKick(promptedReason) {\n var network = this.buffer.getNetwork();\n var defaultReason = this.$state.setting('buffers.default_kick_reason');\n var reason = promptedReason || defaultReason;\n network.ircClient.raw('KICK', this.buffer.name, this.message.nick, reason);\n },\n openQuery: function openQuery() {\n var network = this.buffer.getNetwork();\n var buffer = this.$state.addBuffer(network.id, this.message.nick);\n this.$state.setActiveBuffer(network.id, buffer.name);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"MessageInfo\"]\r\nwindow._kiwi_exports.components.MessageInfo = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkSettings.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-container\",class:{\n /* 'kiwi-container-' + bufferType: true, */\n 'kiwi-container--sidebar-drawn': _vm.sidebarState.isDrawn,\n 'kiwi-container--sidebar-open': _vm.sidebarState.isOpen,\n 'kiwi-container--no-sidebar': _vm.buffer && _vm.buffer.isSpecial,\n}},[(_vm.buffer)?[_c('div',{staticClass:\"kiwi-container-toggledraw-statebrowser\",on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleStateBrowser($event)}}},[_c('div',{staticClass:\"kiwi-container-toggledraw-statebrowser-messagecount\",class:[\n _vm.unreadMessages.highlight ?\n 'kiwi-container-toggledraw-statebrowser-messagecount--highlight' :\n '' ]},[_c('span',{staticClass:\"kiwi-container-statebrowser-messagecount-alert\"},[_vm._v(\" \"+_vm._s(_vm.unreadMessages.count > 999 ? '999+' : _vm.unreadMessages.count)+\" \")]),_vm._m(0)])]),_c('container-header',{attrs:{\"buffer\":_vm.buffer,\"sidebar-state\":_vm.sidebarState}}),_vm._t(\"before\"),(_vm.buffer.getNetwork().state !== 'connected' && !_vm.buffer.isServer())?_c('not-connected',{attrs:{\"buffer\":_vm.buffer,\"network\":_vm.buffer.getNetwork()}}):_vm._e(),_c('div',{staticClass:\"kiwi-container-content\"},[(_vm.buffer.isServer())?[_c('server-view',{attrs:{\"network\":_vm.network}})]:[_c('message-list',{attrs:{\"buffer\":_vm.buffer}}),(!_vm.buffer.isSpecial())?_c('sidebar',{attrs:{\"network\":_vm.network,\"buffer\":_vm.buffer,\"sidebar-state\":_vm.sidebarState}}):_vm._e()],_vm._t(\"after\")],2)]:[_c('div',{staticClass:\"kiwi-container-empty\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('container_welcome')))]),_c('a',{staticClass:\"u-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleStateBrowser($event)}}},[_vm._v(\" \"+_vm._s(_vm.$t('container_statebrowser'))+\" \")])])]],2)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"kiwi-container-statebrowser-messagecount-close\"},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})])}]\n\nexport { render, staticRenderFns }","var render, staticRenderFns\nimport script from \"./SidebarState.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarState.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar Vue = require('vue');\n\nVue.component('tabbed-tab', {\n props: {\n header: {\n status: String\n },\n focus: {\n status: Boolean\n },\n name: {\n status: String\n }\n },\n data: function data() {\n return {\n active: false\n };\n },\n template: '
'\n});\n\nvar _default = Vue.component('tabbed-view', {\n data: function data() {\n return {\n // We increment this when we need to re-render the tabs.\n // Vue doesn't pick up on the $children changes all the time so we handle\n // it ourselves.\n a: 1,\n prefixID: Math.floor(Math.random() * 100000).toString(36)\n };\n },\n computed: {\n tabs: function computedtabs() {\n return this.$children;\n }\n },\n mounted: function mounted() {\n this.setActiveCheck();\n },\n methods: {\n getActive: function getActive() {\n var _context;\n\n var foundChild = null;\n (0, _forEach.default)(_context = this.$children).call(_context, function (child) {\n if (child.active) {\n foundChild = child;\n }\n });\n return foundChild;\n },\n setActive: function setActive(c) {\n var _context2;\n\n (0, _forEach.default)(_context2 = this.$children).call(_context2, function (child) {\n if (child !== c) {\n child.active = false;\n }\n });\n c.active = true; // Without this, vue doesnt update itself with the new $children :(\n\n this.a++;\n this.$emit('changed', c.name);\n },\n setActiveByName: function setActiveByName(name) {\n var _context3,\n _this = this;\n\n (0, _forEach.default)(_context3 = this.$children).call(_context3, function (child) {\n if (child.name === name) {\n _this.setActive(child);\n }\n });\n },\n setActiveCheck: function setActiveCheck() {\n var _context4,\n _this2 = this;\n\n (0, _forEach.default)(_context4 = this.$children).call(_context4, function (t) {\n if (t.focus) {\n _this2.setActive(t);\n }\n });\n }\n }\n});\n\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"utils\"]) window._kiwi_exports[\"components\"][\"utils\"] = {};\nwindow._kiwi_exports[\"components\"][\"utils\"][\"TabbedView\"]\r\nwindow._kiwi_exports.components.utils.TabbedView = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar Colours = _interopRequireWildcard(require(\"@/helpers/Colours\"));\n\nvar _default = {\n props: ['ircinput'],\n data: function data() {\n return {};\n },\n methods: {\n onColourClick: function onColourClick(event) {\n var colour = window.getComputedStyle(event.target, null).getPropertyValue('background-color'); // Convert rgb(x,x,x) to its hex form\n\n var m = colour.match(/^rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)$/);\n\n if (m) {\n var rgbObj = {\n r: (0, _parseInt2.default)(m[1], 10),\n g: (0, _parseInt2.default)(m[2], 10),\n b: (0, _parseInt2.default)(m[3], 10)\n };\n colour = Colours.rgb2hex(rgbObj);\n }\n\n var code = event.target.dataset.code;\n this.ircinput.setColour(code, colour);\n },\n onResetClick: function onResetClick() {\n this.ircinput.resetStyles();\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"inputtools\"]) window._kiwi_exports[\"components\"][\"inputtools\"] = {};\nwindow._kiwi_exports[\"components\"][\"inputtools\"][\"TextStyle\"]\r\nwindow._kiwi_exports.components.inputtools.TextStyle = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarAboutBuffer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarAboutBuffer.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.showCaptcha)?_c('div',{ref:\"captchacontainer\"}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Emoji.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Emoji.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChannelBanlist.vue?vue&type=template&id=7eabc099&\"\nimport script from \"./ChannelBanlist.vue?vue&type=script&lang=js&\"\nexport * from \"./ChannelBanlist.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ChannelBanlist.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.orderBuffers = orderBuffers;\nexports.orderedMessages = orderedMessages;\nexports.getNextBuffer = getNextBuffer;\nexports.getPreviousBuffer = getPreviousBuffer;\n\nvar _findIndex = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find-index\"));\n\nvar _reverse = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/reverse\"));\n\nvar _slice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/slice\"));\n\nvar _sort = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/sort\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _state = _interopRequireDefault(require(\"@/libs/state\"));\n\nfunction orderBuffers(buffers) {\n // Since vuejs will sort in-place and update views when .sort is called\n // on an array, clone it first so that we have a plain array to sort\n var list = (0, _map.default)(buffers).call(buffers, function (b) {\n return b;\n });\n list = (0, _filter.default)(_lodash.default).call(_lodash.default, list, function (buffer) {\n return !buffer.isServer();\n });\n list = (0, _sort.default)(list).call(list, function (a, b) {\n var order = 0;\n\n if (a.isChannel() && b.isQuery()) {\n order = -1;\n } else if (a.isQuery() && b.isChannel()) {\n order = 1;\n } else {\n order = a.name.localeCompare(b.name);\n }\n\n return order;\n });\n return list;\n}\n\nfunction orderedMessages(buffer) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var network = buffer.getNetwork();\n var currentNick = network.nick;\n var bufferMessages = buffer.getMessages(); // Hack; We need to make vue aware that we depend on buffer.message_count in order to\n // get the messagelist to update its DOM, as the change of message_count alerts\n // us that the messages have changed. This is done so that vue does not have to make\n // every emssage reactive which gets very expensive.\n\n /* eslint-disable no-unused-vars */\n\n var ignoredVar = buffer.message_count;\n var messages = [];\n\n if (opts.inPlace) {\n messages = bufferMessages;\n } else {\n messages = (0, _slice.default)(bufferMessages).call(bufferMessages, 0, bufferMessages.length);\n }\n\n (0, _sort.default)(messages).call(messages, function (a, b) {\n if (a.time > b.time) {\n return 1;\n } else if (b.time > a.time) {\n return -1;\n }\n\n return a.instance_num > b.instance_num ? 1 : -1;\n });\n\n if (opts.noFilter) {\n return messages;\n }\n\n var list = [];\n var showJoinParts = buffer.setting('show_joinparts');\n var showTopics = buffer.setting('show_topics');\n var showNickChanges = buffer.setting('show_nick_changes');\n var showModeChanges = buffer.setting('show_mode_changes');\n\n for (var i = messages.length - 1; i >= 0; i--) {\n if (!showJoinParts && messages[i].type === 'traffic') {\n continue;\n }\n\n if (!showTopics && messages[i].type === 'topic') {\n continue;\n }\n\n if (!showNickChanges && messages[i].type === 'nick') {\n continue;\n }\n\n if (!showModeChanges && messages[i].type === 'mode') {\n continue;\n } // Ignored users have the ignore flag set\n\n\n if (messages[i].ignore) {\n continue;\n } // Don't show the first connection message. Channels are only interested in\n // the joining message at first. Dis/connection messages are only relevant here\n // if the dis/connection happens between messages (during a conversation)\n\n\n if (messages[i].type === 'connection' && i === 0) {\n continue;\n } // When we join a channel the topic is usually sent next. But this looks\n // ugly when rendered. So we switch the topic + join messages around so\n // that the topic is first in the message list.\n\n\n if (messages[i].type === 'topic' && messages[i - 1] && messages[i - 1].type === 'traffic' && messages[i - 1].nick === currentNick) {\n list.push(messages[i - 1]);\n list.push(messages[i]);\n i--;\n } else {\n list.push(messages[i]);\n }\n }\n\n return (0, _reverse.default)(list).call(list);\n}\n\nfunction getNextBuffer() {\n return getBufferFromDirection(1);\n}\n\nfunction getPreviousBuffer() {\n return getBufferFromDirection(-1);\n}\n\nfunction getBufferFromDirection(direction) {\n var state = (0, _state.default)();\n var network = state.getActiveNetwork();\n var buffer = state.getActiveBuffer();\n\n if (!network || !buffer) {\n return null;\n }\n\n var ordered = orderBuffers(network.buffers);\n var index = (0, _findIndex.default)(_lodash.default).call(_lodash.default, ordered, ['name', buffer.name]) + direction;\n\n if (index >= ordered.length || index < 0) {\n network = getNetworkFromDirection(direction);\n ordered = orderBuffers(network.buffers);\n buffer = direction === 1 ? ordered[0] : ordered[ordered.length - 1];\n } else {\n buffer = ordered[index];\n }\n\n return buffer;\n}\n\nfunction getNetworkFromDirection(direction) {\n var state = (0, _state.default)();\n var network = state.getActiveNetwork();\n\n for (var i = 0; i < state.networks.length; i++) {\n var index = (0, _findIndex.default)(_lodash.default).call(_lodash.default, state.networks, ['id', network.id]) + direction;\n\n if (index >= state.networks.length && state.networks.length >= 0) {\n network = state.networks[0];\n } else if (index < 0) {\n network = state.networks[state.networks.length - 1];\n } else {\n network = state.networks[index];\n }\n\n if (network.buffers.length > 1) {\n return network;\n }\n }\n\n return network;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"bufferTools\"]\r\nwindow._kiwi_exports.libs.bufferTools = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZncLogin.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZncLogin.vue?vue&type=script&lang=js&\"","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _values = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/values\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _sort = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/sort\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar IrcdDiffs = _interopRequireWildcard(require(\"@/helpers/IrcdDiffs\"));\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nfunction inviteListSorter(a, b) {\n var aMask = a.invited.toUpperCase();\n var bMask = b.invited.toUpperCase();\n\n if (aMask < bMask) {\n return -1;\n }\n\n if (aMask > bMask) {\n return 1;\n }\n\n return 0;\n}\n\nvar _default = {\n props: ['buffer'],\n data: function data() {\n return {\n inviteList: [],\n is_refreshing: false\n };\n },\n computed: {\n supportsAccounts: function supportsAccounts() {\n return !!this.extban;\n },\n extban: function extban() {\n return IrcdDiffs.extbanAccount(this.buffer.getNetwork());\n },\n inviteListAccounts: function inviteListAccounts() {\n var _context,\n _this = this;\n\n var accounts = (0, _filter.default)(_context = this.inviteList).call(_context, function (i) {\n var _context2;\n\n return (0, _indexOf.default)(_context2 = i.invited).call(_context2, _this.extban) === 0;\n });\n (0, _sort.default)(accounts).call(accounts, inviteListSorter);\n return accounts;\n },\n inviteListNonAccounts: function inviteListNonAccounts() {\n var _this2 = this;\n\n var invites = []; // If the ircd doesn't support accounts extban type, consider every invex non-account\n\n if (!this.supportsAccounts) {\n invites = this.inviteList;\n } else {\n var _context3;\n\n invites = (0, _filter.default)(_context3 = this.inviteList).call(_context3, function (i) {\n var _context4;\n\n return (0, _indexOf.default)(_context4 = i.invited).call(_context4, _this2.extban) !== 0;\n });\n }\n\n (0, _sort.default)(invites).call(invites, inviteListSorter);\n return invites;\n },\n channelIsInviteOnly: function channelIsInviteOnly() {\n return typeof this.buffer.modes.i !== 'undefined';\n },\n anyRegisteredUserCanJoin: function anyRegisteredUserCanJoin() {\n var _context5;\n\n if (!this.supportsAccounts) {\n return false;\n }\n\n if (!this.channelIsInviteOnly) {\n return false;\n }\n\n var extban = this.extban; // Find any invite that only consists of the extban and nothing else. Eg. '~a:'\n\n return !!(0, _find.default)(_context5 = this.inviteListAccounts).call(_context5, function (invite) {\n return invite.invited === extban + ':';\n });\n },\n areWeAnOp: function areWeAnOp() {\n return this.buffer.isUserAnOp(this.buffer.getNetwork().nick);\n },\n knownAccounts: function knownAccounts() {\n var _context6, _context7;\n\n // Get an array of every account name we're aware of on the network, excluding\n // the ones we already have in our invite list\n var users = this.buffer.getNetwork().users;\n var extban = this.extban;\n var inviteAccountNames = (0, _map.default)(_context6 = this.inviteListAccounts).call(_context6, function (i) {\n var mask = i.invited;\n return mask.replace(extban + ':', '');\n });\n var accountUsers = [];\n (0, _forEach.default)(_context7 = (0, _values.default)(users)).call(_context7, function (user) {\n if (user.account && (0, _indexOf.default)(inviteAccountNames).call(inviteAccountNames, user.account) === -1) {\n accountUsers.push(user);\n }\n });\n return _lodash.default.orderBy(accountUsers, ['account', 'nick']);\n }\n },\n created: function created() {\n this.updateInvitelist();\n },\n methods: {\n displayMask: function displayMask(invite) {\n var display = invite.invited.replace(this.extban + ':', '');\n display = display || this.$t('invite_any_registered');\n return display;\n },\n updateInvitelist: function updateInvitelist() {\n var _this3 = this;\n\n if (this.buffer.getNetwork().state !== 'connected' || this.is_refreshing) {\n return;\n }\n\n var channelName = this.buffer.name;\n this.is_refreshing = true;\n this.buffer.getNetwork().ircClient.inviteList(channelName, function (inviteEvent) {\n if (inviteEvent) {\n _this3.inviteList = inviteEvent.invites;\n } else {\n _this3.inviteList = [];\n }\n\n _this3.is_refreshing = false;\n });\n },\n removeInvite: function removeInvite(mask) {\n var _context8;\n\n var channelName = this.buffer.name;\n this.buffer.getNetwork().ircClient.removeInvite(channelName, mask);\n this.inviteList = (0, _filter.default)(_context8 = this.inviteList).call(_context8, function (invite) {\n return invite.invited !== mask;\n });\n },\n addAccountInvite: function addAccountInvite(accountName) {\n var _context9;\n\n if (!accountName) {\n return;\n }\n\n var network = this.buffer.getNetwork();\n network.ircClient.addInvite(this.buffer.name, (0, _concat.default)(_context9 = \"\".concat(this.extban, \":\")).call(_context9, accountName));\n this.updateInvitelist();\n },\n addInvite: function addInvite(mask) {\n var network = this.buffer.getNetwork();\n network.ircClient.addInvite(this.buffer.name, mask);\n this.updateInvitelist();\n },\n setInviteOnly: function setInviteOnly() {\n this.buffer.getNetwork().ircClient.mode(this.buffer.name, '+i');\n },\n removeInviteOnly: function removeInviteOnly() {\n this.buffer.getNetwork().ircClient.mode(this.buffer.name, '-i');\n }\n }\n};\nexports.default = _default;","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ControlInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ControlInput.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('startup-layout',{ref:\"layout\",staticClass:\"kiwi-startbnc\",scopedSlots:_vm._u([{key:\"connection\",fn:function(){return [_c('form',{staticClass:\"kiwi-startbnc-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.startUp($event)}}},[_c('h2',{domProps:{\"innerHTML\":_vm._s(_vm.greetingText)}}),_c('div',{staticClass:\"kiwi-startbnc-status\"},[_vm._v(_vm._s(_vm.statusMessage))]),_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('username')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.username),expression:\"username\"}],attrs:{\"disabled\":_vm.loading,\"type\":\"text\"},domProps:{\"value\":(_vm.username)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.username=$event.target.value}}})]),_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('password')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],attrs:{\"disabled\":_vm.loading,\"type\":\"password\"},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value}}})]),_c('button',{staticClass:\"u-button u-button-primary u-submit\",attrs:{\"disabled\":_vm.loading || !_vm.username || !_vm.password,\"type\":\"submit\"}},[(!_vm.loading)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.buttonText)}}):_c('i',{staticClass:\"fa fa-spinner fa-spin\",attrs:{\"aria-hidden\":\"true\"}})])])]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _reduce = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/reduce\"));\n\nvar _lodash = require(\"lodash\");\n\nvar _state = _interopRequireDefault(require(\"@/libs/state\"));\n\nvar _default = render;\nexports.default = _default;\n\nfunction render(blocks, renderEmoticons) {\n var state = (0, _state.default)();\n var emojiLocation = state.setting('emojiLocation');\n var showEmoticons = typeof renderEmoticons === 'undefined' ? state.setting('buffers.show_emoticons') : !!renderEmoticons;\n var retHtml = (0, _reduce.default)(blocks).call(blocks, function (html, block, i) {\n var _context;\n\n // a\n var style = '';\n var classes = '';\n (0, _forEach.default)(_context = (0, _keys.default)(block.styles)).call(_context, function (s) {\n if (s === 'underline') {\n style += 'text-decoration:underline;';\n } else if (s === 'bold') {\n style += 'font-weight:bold;';\n } else if (s === 'italic') {\n style += 'font-style:italic;';\n } else if (s === 'quote') {\n classes += 'kiwi-formatting-extras-quote ';\n } else if (s === 'block') {\n classes += 'kiwi-formatting-extras-block ';\n } else if (s === 'color') {\n classes += \"irc-fg-colour-\".concat(block.styles[s], \" \");\n } else if (s === 'background') {\n classes += \"irc-bg-colour-\".concat(block.styles[s], \" \");\n }\n });\n var content;\n\n switch (block.type) {\n case 'url':\n content = linkifyUrl(block, {\n addHandle: state.setting('buffers.show_link_previews'),\n handleClass: 'fa fa-share-square u-link kiwi-messagelist-message-linkhandle'\n });\n break;\n\n case 'user':\n content = linkifyUser(block);\n break;\n\n case 'channel':\n content = linkifyChannel(block);\n break;\n\n case 'emoji':\n content = addEmoji(block, blocks.length === 1, emojiLocation, showEmoticons);\n break;\n\n default:\n content = (0, _lodash.escape)(block.content);\n }\n\n return html + buildSpan(content, classes, style);\n }, '');\n return \"\".concat(retHtml);\n}\n\nfunction linkifyUrl(block, _opts) {\n var _context2;\n\n var opts = _opts || {};\n var nice = ''; // Shorten the displayed URL if it's going to be too long\n\n if (block.content.length > 100) {\n nice = (0, _lodash.escape)(block.content.substr(0, 100)) + '...';\n } else {\n nice = (0, _lodash.escape)(block.content);\n } // Make the link clickable\n\n\n var href = block.meta.url.replace(/\"/g, '%22');\n var out = (0, _concat.default)(_context2 = \"\")).call(_context2, nice, \"\");\n\n if (opts.addHandle) {\n var _context3, _context4;\n\n var cssClass = opts.handleClass || '';\n var content = opts.handleContent || '';\n out += (0, _concat.default)(_context3 = (0, _concat.default)(_context4 = \"\")).call(_context3, content, \"\");\n }\n\n return out;\n}\n\nfunction linkifyUser(block) {\n var escaped = (0, _lodash.escape)(block.meta.user);\n var colour = block.meta.colour;\n return \"\".concat(escaped, \"\");\n}\n\nfunction linkifyChannel(block) {\n var _context5;\n\n return (0, _concat.default)(_context5 = \"\")).call(_context5, (0, _lodash.escape)(block.content), \"\");\n}\n\nfunction addEmoji(block, isSingle, emojiLocation, showEmoticons) {\n var _context6, _context7, _context8, _context9;\n\n if (!showEmoticons) {\n return block.content;\n }\n\n var emoji = block.meta.emoji;\n var classes = 'kiwi-messagelist-emoji' + (isSingle ? ' kiwi-messagelist-emoji--single' : '');\n var src = (0, _concat.default)(_context6 = \"\".concat(emojiLocation)).call(_context6, emoji, \".png\");\n return (0, _concat.default)(_context7 = (0, _concat.default)(_context8 = (0, _concat.default)(_context9 = \"\\\"\")).call(_context8,\");\n}\n\nfunction buildSpan(content, classes, style) {\n if (style === '' && classes === '') {\n return content;\n }\n\n return '\".concat(content, \"\");\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nif(!window._kiwi_exports[\"libs\"][\"renderers\"]) window._kiwi_exports[\"libs\"][\"renderers\"] = {};\nwindow._kiwi_exports[\"libs\"][\"renderers\"][\"Html\"]\r\nwindow._kiwi_exports.libs.renderers.Html = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public'; // What settings keys to ignore when building period delimited settings object\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.buildTree = buildTree;\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/typeof\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar ignoreKeys = ['emojis', 'themes', 'bnc', 'aliases', 'restricted', 'kiwiServer', 'hide_advanced', 'windowTitle', 'startupOptions', 'plugins', 'presetNetworks', 'ircFramework']; // Converts settings object to period delimited key based object\n// eg { buffers.alert_on: false }\n\nfunction buildTree(data, base, object, modified) {\n var _context;\n\n (0, _forEach.default)(_context = (0, _keys.default)(object)).call(_context, function (key) {\n var _context2;\n\n var value = object[key];\n var ourBase = (0, _concat.default)(base).call(base, [key]);\n\n if ((0, _indexOf.default)(_context2 = ['string', 'boolean', 'number']).call(_context2, (0, _typeof2.default)(value)) !== -1) {\n if ((0, _indexOf.default)(ignoreKeys).call(ignoreKeys, key) !== -1 || (ourBase[0] && (0, _indexOf.default)(ignoreKeys).call(ignoreKeys, ourBase[0])) !== -1) {\n return;\n }\n\n if (!data[ourBase.join('.')] || data[ourBase.join('.')].val !== value) {\n data[ourBase.join('.')] = {\n key: ourBase.join('.'),\n val: value,\n type: (0, _typeof2.default)(value),\n modified: modified\n };\n }\n } else if ((0, _typeof2.default)(value) === 'object' && value !== null) {\n buildTree(data, ourBase, value, modified);\n }\n });\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"settingTools\"]\r\nwindow._kiwi_exports.libs.settingTools = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoComplete.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoComplete.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _Captcha = _interopRequireDefault(require(\"@/components/Captcha\"));\n\nvar _default = {\n components: {\n Captcha: _Captcha.default\n },\n props: ['buffer', 'network'],\n data: function data() {\n return {\n forceLoader: false\n };\n },\n computed: {\n netStatus: function netStatus() {\n return this.buffer.getNetwork().state;\n },\n shouldShowLoading: function shouldShowLoading() {\n this.maybeForceLoader();\n\n if (this.network.state !== 'disconnected' || this.forceLoader) {\n return true;\n }\n\n return false;\n },\n restrictedServer: function restrictedServer() {\n return this.$state.setting('restricted');\n },\n readyToStart: function readyToStart() {\n return true;\n }\n },\n methods: {\n maybeForceLoader: function maybeForceLoader() {\n var _this = this;\n\n // The connection can fail almost imediately making it look like\n // the connection attempt didn't try anything. Make the connection\n // loder stay visible for at elast X seconds to indicate it's actually\n // tried something.\n var minimumLoaderViewtime = 2000;\n var networkState = this.network.state;\n\n if (networkState !== 'disconnected' && !this.forceLoader) {\n this.forceLoader = true;\n (0, _setTimeout2.default)(function () {\n _this.forceLoader = false;\n }, minimumLoaderViewtime);\n }\n },\n isChannel: function isChannel() {\n return this.buffer.isChannel();\n },\n isServer: function isServer() {\n return this.buffer.isServer();\n },\n isQuery: function isQuery() {\n return this.buffer.isQuery();\n },\n reconnect: function reconnect() {\n if (!this.readyToStart) {\n return;\n }\n\n if (this.buffer.isChannel()) {\n this.buffer.enabled = true;\n }\n\n this.buffer.getNetwork().ircClient.connect();\n },\n showNetworkSettings: function showNetworkSettings() {\n var network = this.buffer.getNetwork();\n network.showServerBuffer('settings');\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"NotConnected\"]\r\nwindow._kiwi_exports.components.NotConnected = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageCompact.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageCompact.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar settingTools = _interopRequireWildcard(require(\"@/libs/settingTools\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _default = {\n data: function data() {\n return {\n filterString: ''\n };\n },\n computed: {\n filteredSettings: function filteredSettings() {\n var _context;\n\n var settings = this.settings;\n var filter = this.filterString.toLowerCase();\n var out = [];\n (0, _forEach.default)(_context = (0, _keys.default)(settings)).call(_context, function (key) {\n var _context2;\n\n var value = settings[key];\n\n if ((0, _indexOf.default)(_context2 = value.key.toLowerCase()).call(_context2, filter) !== -1) {\n out.push(value);\n }\n });\n return out;\n },\n settings: function settings() {\n var _context3;\n\n var out = {};\n var base = [];\n settingTools.buildTree(out, base, this.$state.getSetting('settings'), false);\n settingTools.buildTree(out, base, this.$state.getSetting('user_settings'), true);\n return _lodash.default.orderBy((0, _map.default)(_context3 = (0, _keys.default)(out)).call(_context3, function (key) {\n return out[key];\n }), [function (o) {\n return o.key.split('.').length - 1;\n }, 'key'], ['asc']);\n }\n },\n methods: {\n resetValue: function resetValue(event, settingKey) {\n var newVal = this.$state.getSetting('settings.' + settingKey);\n\n if (!newVal) {\n newVal = null;\n }\n\n this.$state.setting(settingKey, newVal);\n },\n updateSetting: function updateSetting(event, settingKey) {\n var target = event.target;\n var val = target.type === 'checkbox' ? target.checked : target.value;\n\n switch (target.type) {\n case 'checkbox':\n val = target.checked;\n break;\n\n case 'number':\n val = (0, _parseInt2.default)(target.value, 10);\n break;\n\n default:\n val = target.value;\n break;\n }\n\n if (this.$state.setting(settingKey) === val) {\n return;\n }\n\n this.$state.setting(settingKey, val);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"SettingsAdvanced\"]\r\nwindow._kiwi_exports.components.SettingsAdvanced = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar methods = {\n props: {},\n status: function status(props) {\n // let props = this.props;\n if (!props.user || !props.buffer) {\n return '';\n }\n\n return props.user.typingStatus(props.buffer.name).status;\n }\n};\nvar _default = {\n props: {\n user: Object,\n buffer: Object\n },\n m: methods\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"TypingStatusIndicator\"]\r\nwindow._kiwi_exports.components.TypingStatusIndicator = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-aboutbuffer\"},[_c('h3',[_vm._v(_vm._s(_vm.b.name))]),_c('div',{staticClass:\"kiwi-aboutbuffer-section\",class:{'kiwi-aboutbuffer-section--closed': _vm.closedSections.about}},[_c('h4',{on:{\"click\":function($event){return _vm.toggleSection('about')}}},[_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"+_vm._s(_vm.$t('about'))+\" \")]),_c('div',[(_vm.b.topic)?_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.formattedTopic)}}):_c('p',[_vm._v(_vm._s(_vm.$t('no_topic_set')))]),(_vm.b.created_at)?_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('created_at', { when: new Intl.DateTimeFormat().format(_vm.b.created_at) }))+\" \")]):_vm._e(),_c('p',{staticClass:\"kiwi-aboutbuffer-usercount\"},[_c('a',{staticClass:\"u-link \",on:{\"click\":function($event){return _vm.sidebarState.showNicklist()}}},[_vm._v(\" \"+_vm._s(_vm.$t('person', {count: Object.keys(_vm.b.users || {}).length}))+\" \")])])])]),_c('div',{staticClass:\"kiwi-aboutbuffer-section\",class:{'kiwi-aboutbuffer-section--closed': _vm.closedSections.highlights}},[_c('h4',{on:{\"click\":function($event){return _vm.toggleSection('highlights')}}},[_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"+_vm._s(_vm.$t('highlights'))+\" \")]),_c('div',[(_vm.highlights.length > 0)?_c('ul',_vm._l((_vm.highlights),function(msg){return _c('li',{key:msg.id,staticClass:\"kiwi-aboutbuffer-highlight\",on:{\"click\":function($event){return _vm.buffer.scrollToMessage(msg.id)}}},[_vm._v(\" \"+_vm._s(msg.nick ? msg.nick + ': ' : '')),_c('span',{domProps:{\"innerHTML\":_vm._s(msg.html)}})])}),0):_c('p',[_vm._v(_vm._s(_vm.$t('nobody_mentioned_you')))])])]),_vm._l((_vm.pluginUiSections),function(plugin){return _c('div',{key:plugin.id,staticClass:\"kiwi-aboutbuffer-section\",class:{'kiwi-aboutbuffer-section--closed': _vm.closedSections[plugin.id]}},[_c('h4',{on:{\"click\":function($event){return _vm.toggleSection(plugin.id)}}},[_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"+_vm._s(plugin.args.title)+\" \")]),_c('div',{directives:[{name:\"rawElement\",rawName:\"v-rawElement\",value:(plugin.el),expression:\"plugin.el\"}]})])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"u-tabbed-view\"},[_c('div',{key:_vm.prefixID + _vm.a,staticClass:\"u-tabbed-view-tabs\"},_vm._l((_vm.tabs),function(c){return _c('a',{key:c.name || c.header,class:{\n 'u-tabbed-view-tab': true,\n 'u-tabbed-view-tab--active': c.active\n },on:{\"click\":function($event){return _vm.setActive(c)}}},[_vm._v(_vm._s(c.header))])}),0),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n'kiwi public';\n/** @module */\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = chathistoryMiddleware;\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/typeof\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\n/**\n * Adds the CHATHISTORY IRCv3 spec to irc-framework\n */\nfunction chathistoryMiddleware() {\n return function middleware(client, rawEvents, parsedEvents) {\n client.requestCap('draft/chathistory');\n addFunctionsToClient(client);\n parsedEvents.use(theMiddleware);\n };\n\n function theMiddleware(command, event, client, next) {\n if (command.toLowerCase() === 'batch end chathistory' && client.chathistory) {\n var target = event.params[0];\n client.chathistory.batchCallbacks.resolve(target, event);\n }\n\n if (command.toLowerCase() === 'fail' && event.params[0].toLowerCase() === 'chathistory') {\n // FAIL CHATHISTORY MESSAGE_ERROR the_given_command #target :Messages could not be ...\n if (event.params[1].toLowerCase() === 'message_error') {\n client.chathistory.batchCallbacks.resolve(event.params[3]);\n }\n }\n\n next();\n }\n}\n\nfunction addFunctionsToClient(client) {\n var history = client.chathistory = {};\n history.batchCallbacks = {\n callbacks: (0, _create.default)(null),\n add: function add(target, cb) {\n this.callbacks[target.toLowerCase()] = this.callbacks[target.toLowerCase()] || [];\n this.callbacks[target.toLowerCase()].push(cb);\n },\n resolve: function resolve(target, value) {\n var cbs = this.callbacks[target.toLowerCase()] || [];\n delete this.callbacks[target.toLowerCase()];\n (0, _forEach.default)(cbs).call(cbs, function (cb) {\n return cb(value);\n });\n },\n targetCallbacks: function targetCallbacks(target) {\n return this.callbacks[target.toLowerCase()];\n }\n };\n\n history.isSupported = function () {\n return !!client.network.supports('draft/chathistory');\n };\n\n history.before = function (target, dateOrTime) {\n return new _promise.default(function (resolve) {\n if (!history.isSupported()) {\n resolve();\n return;\n }\n\n client.raw('CHATHISTORY', 'BEFORE', target, messageReference(dateOrTime), '50');\n history.batchCallbacks.add(target, resolve);\n });\n };\n\n history.after = function (target, dateOrTime) {\n return new _promise.default(function (resolve) {\n if (!history.isSupported()) {\n resolve();\n return;\n }\n\n client.raw('CHATHISTORY', 'AFTER', target, messageReference(dateOrTime), '50');\n history.batchCallbacks.add(target, resolve);\n });\n };\n\n history.latest = function (target, dateOrTime) {\n return new _promise.default(function (resolve) {\n if (!history.isSupported()) {\n resolve();\n return;\n }\n\n client.raw('CHATHISTORY', 'LATEST', target, messageReference(dateOrTime), '50');\n history.batchCallbacks.add(target, resolve);\n });\n };\n\n history.around = function (target, dateOrTime) {\n return new _promise.default(function (resolve) {\n if (!history.isSupported()) {\n resolve();\n return;\n }\n\n client.raw('CHATHISTORY', 'AROUND', target, messageReference(dateOrTime), '50');\n history.batchCallbacks.add(target, resolve);\n });\n };\n\n history.between = function (target, fromDateOrTime, toDateOrTime) {\n return new _promise.default(function (resolve) {\n if (!history.isSupported()) {\n resolve();\n return;\n }\n\n var fromRef = messageReference(fromDateOrTime);\n var toRef = messageReference(toDateOrTime);\n client.raw('CHATHISTORY', 'BETWEEN', target, fromRef, toRef, 50);\n history.batchCallbacks.add(target, resolve);\n });\n };\n\n function messageReference(inp) {\n if ((0, _typeof2.default)(inp) === 'object') {\n return 'timestamp=' + Misc.dateIso(inp);\n }\n\n if (inp === '*') {\n return '*';\n }\n\n return 'msgid=' + inp;\n }\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"ChathistoryMiddleware\"]\r\nwindow._kiwi_exports.libs.ChathistoryMiddleware = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-networksettings\"},[_c('form',{staticClass:\"u-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.connect($event)}}},[_c('div',{staticClass:\"kiwi-title\"},[_vm._v(_vm._s(_vm.$t('settings_server_details')))]),_c('div',{staticClass:\"kiwi-networksettings-section-block\"},[(_vm.network.state_error)?_c('div',{staticClass:\"kiwi-networksettings-error\"},[_vm._v(\" \"+_vm._s(_vm.$t('network_noconnect'))+\" \"),_c('span',[_vm._v(_vm._s(_vm.readableStateError(_vm.network.state_error)))])]):(_vm.network.last_error)?_c('div',{staticClass:\"kiwi-networksettings-error\"},[_c('span',[_vm._v(_vm._s(_vm.network.last_error))])]):_vm._e(),_c('captcha',{staticClass:\"kiwi-networksettings-captcha\",attrs:{\"network\":_vm.network}}),(_vm.network.editable_name)?_c('div',{staticClass:\"kiwi-networksettings-networkname\"},[_c('input-text',{attrs:{\"label\":_vm.$t('network_name')},model:{value:(_vm.network.name),callback:function ($$v) {_vm.$set(_vm.network, \"name\", $$v)},expression:\"network.name\"}})],1):_vm._e(),_c('server-selector',{attrs:{\"connection\":_vm.network.connection,\"network-list\":_vm.network_list}}),_c('div',{staticClass:\"kiwi-networksettings-connection-password\"},[(_vm.server_type==='network')?[_c('input-text',{attrs:{\"label\":_vm.$t('settings_nickname')},model:{value:(_vm.network.connection.nick),callback:function ($$v) {_vm.$set(_vm.network.connection, \"nick\", $$v)},expression:\"network.connection.nick\"}}),_c('input-text',{attrs:{\"show-plain-text\":true,\"label\":_vm.$t('password'),\"type\":\"password\"},model:{value:(_vm.network.password),callback:function ($$v) {_vm.$set(_vm.network, \"password\", $$v)},expression:\"network.password\"}})]:[_c('input-text',{attrs:{\"label\":_vm.$t('username')},model:{value:(_vm.znc_username),callback:function ($$v) {_vm.znc_username=$$v},expression:\"znc_username\"}}),_c('input-text',{attrs:{\"label\":_vm.$t('network')},model:{value:(_vm.znc_network),callback:function ($$v) {_vm.znc_network=$$v},expression:\"znc_network\"}}),_c('input-text',{attrs:{\"label\":_vm.$t('password'),\"type\":\"password\"},model:{value:(_vm.znc_password),callback:function ($$v) {_vm.znc_password=$$v},expression:\"znc_password\"}})]],2),_c('div',{staticClass:\"kiwi-networksettings-server-types\"},[(_vm.server_type==='znc')?_c('div',{staticClass:\"kiwi-networksettings-server-types-info\"},[_vm._v(\" \"+_vm._s(_vm.$t('settings_znc_other'))+\" \")]):_vm._e(),_c('a',{staticClass:\"u-link kiwi-network-type-button\",class:{\n 'kiwi-networksettings-server-type-active':\n _vm.server_type==='network'\n },on:{\"click\":function($event){_vm.server_type='network'}}},[_vm._v(\" \"+_vm._s(_vm.$t('network'))+\" \")]),_c('a',{staticClass:\"u-link kiwi-network-type-button\",class:{\n 'kiwi-networksettings-server-type-active': _vm.server_type==='znc'\n },on:{\"click\":function($event){_vm.server_type='znc'}}},[_vm._v(\" \"+_vm._s(_vm.$t('znc'))+\" \")])]),_c('h4',{staticClass:\"kiwi-show-advanced-title\",on:{\"click\":function($event){_vm.show_advanced=!_vm.show_advanced}}},[_vm._v(\" \"+_vm._s(_vm.$t('settings_advanced'))+\" \"),_c('i',{staticClass:\"fa\",class:['fa-caret-'+(_vm.show_advanced?'up':'down')],attrs:{\"aria-hidden\":\"true\"}})]),(_vm.show_advanced)?_c('div',{staticClass:\"kiwi-networksettings-advanced\"},[[_c('input-text',{attrs:{\"label\":_vm.$t('settings_encoding')},model:{value:(_vm.network.connection.encoding),callback:function ($$v) {_vm.$set(_vm.network.connection, \"encoding\", $$v)},expression:\"network.connection.encoding\"}}),_c('input-text',{attrs:{\"show-plain-text\":true,\"label\":_vm.$t('server_password'),\"type\":\"password\"},model:{value:(_vm.network.connection.password),callback:function ($$v) {_vm.$set(_vm.network.connection, \"password\", $$v)},expression:\"network.connection.password\"}}),_c('input-text',{attrs:{\"label\":_vm.$t('whois_realname')},model:{value:(_vm.network.gecos),callback:function ($$v) {_vm.$set(_vm.network, \"gecos\", $$v)},expression:\"network.gecos\"}}),_c('label',[_c('span',{staticClass:\"kiwi-appsettings-showraw-label\"},[_vm._v(\" \"+_vm._s(_vm.$t('settings_show_raw'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingShowRaw),expression:\"settingShowRaw\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingShowRaw)?_vm._i(_vm.settingShowRaw,null)>-1:(_vm.settingShowRaw)},on:{\"change\":function($event){var $$a=_vm.settingShowRaw,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingShowRaw=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingShowRaw=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingShowRaw=$$c}}}})]),_c('label',[_c('span',{staticClass:\"kiwi-appsettings-showraw-label\"},[_vm._v(\" \"+_vm._s(_vm.$t('settings_use_websocket'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.network.connection.direct),expression:\"network.connection.direct\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.network.connection.direct)?_vm._i(_vm.network.connection.direct,null)>-1:(_vm.network.connection.direct)},on:{\"change\":function($event){var $$a=_vm.network.connection.direct,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.network.connection, \"direct\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.network.connection, \"direct\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.network.connection, \"direct\", $$c)}}}}),(_vm.network.connection.direct)?_c('input-text',{model:{value:(_vm.directWs),callback:function ($$v) {_vm.directWs=$$v},expression:\"directWs\"}}):_vm._e()],1),_c('label',{staticClass:\"u-form-block\"},[_c('input-text',{attrs:{\"label\":_vm.$t('settings_autorun'),\"type\":\"textarea\"},model:{value:(_vm.network.auto_commands),callback:function ($$v) {_vm.$set(_vm.network, \"auto_commands\", $$v)},expression:\"network.auto_commands\"}})],1)]],2):_vm._e(),(_vm.network.state === 'disconnected')?_c('button',{staticClass:\"u-button kiwi-connect-to-newnetwork\",on:{\"click\":function($event){return _vm.connect()}}},[_vm._v(\" \"+_vm._s(_vm.$t('network_connect'))+\" \")]):(_vm.network.state === 'connecting')?_c('button',{staticClass:\"u-button kiwi-connect-to-newnetwork\",attrs:{\"disabled\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('connecting'))+\" \")]):_vm._e()],1),_c('div',{staticClass:\"kiwi-dangerzone\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('settings_danger')))]),_c('a',{staticClass:\"u-button u-button-warning\",on:{\"click\":_vm.removeNetwork}},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('settings_remove'))+\" \")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SidebarAboutBuffer.vue?vue&type=template&id=ce12e04e&\"\nimport script from \"./SidebarAboutBuffer.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarAboutBuffer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SidebarAboutBuffer.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { render, staticRenderFns } from \"./MessageInfo.vue?vue&type=template&id=c93eacc8&\"\nimport script from \"./MessageInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageInfo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MessageInfo.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-selfuser kiwi-theme-bg\"},[(!_vm.self_user_settings_open)?_c('div',{staticClass:\"kiwi-selfuser-mask\"},[_c('span',{staticClass:\"kiwi-selfuser-nick\"},[_c('away-status-indicator',{attrs:{\"network\":_vm.network,\"user\":_vm.network.currentUser()}}),_vm._v(\" \"+_vm._s(_vm.network.nick)+\" \"),_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){return _vm.closeSelfUser()}}}),_c('i',{staticClass:\"fa fa-pencil\",attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){return _vm.openSelfActions()}}})],1),_c('span',{staticClass:\"kiwi-selfuser-host\"},[_vm._v(\" \"+_vm._s(_vm.netUser.username)+\"@\"+_vm._s(_vm.netUser.host)+\" ( \"+_vm._s(_vm.modeString)+\" ) \")]),(_vm.networkSupportsAway())?_c('div',{staticClass:\"u-form kiwi-away-checkbox-form\"},[_c('label',{staticClass:\"kiwi-selfuser-away-label\"},[_c('span',[_vm._v(_vm._s(_vm.$t('away')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.awayStatus),expression:\"awayStatus\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.awayStatus)?_vm._i(_vm.awayStatus,null)>-1:(_vm.awayStatus)},on:{\"change\":function($event){var $$a=_vm.awayStatus,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.awayStatus=$$a.concat([$$v]))}else{$$i>-1&&(_vm.awayStatus=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.awayStatus=$$c}}}})])]):_vm._e()]):_c('div',{staticClass:\"kiwi-selfuser-actions\"},[_c('form',{staticClass:\"u-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.changeNick($event)},\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }_vm.self_user_settings_open = false}}},[_c('input-prompt',{directives:[{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"label\":_vm.$t('enter_new_nick'),\"noprompt\":true,\"block\":true},on:{\"submit\":_vm.onNewNickSubmit,\"cancel\":function($event){_vm.self_user_settings_open = false}}})],1),(_vm.error_message)?_c('div',{staticClass:\"kiwi-selfuser-error-message\"},[_vm._v(_vm._s(_vm.error_message))]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageModern.vue?vue&type=style&index=0&id=fe3ccb9c&lang=less&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageModern.vue?vue&type=style&index=0&id=fe3ccb9c&lang=less&scoped=true&\"","import { render, staticRenderFns } from \"./InputPrompt.vue?vue&type=template&id=a573ee36&\"\nimport script from \"./InputPrompt.vue?vue&type=script&lang=js&\"\nexport * from \"./InputPrompt.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InputPrompt.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-personal\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('personal_client')))]),(_vm.server && _vm.server.server && !_vm.readyToShowOptions)?_c('div'):(_vm.server && _vm.server.server)?_c('div',[(_vm.addedNetworkToExisting)?_c('div',[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('personal_added_to_existing'))+\" \")])]):_c('div',[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.$t('personal_connect_to', { network: (\"\" + (_vm.server.server) + \"\") }))}}),(_vm.hasOtherTab)?_c('button',{staticClass:\"u-button u-button-primary\",on:{\"click\":_vm.addNetworkToExistingTab}},[_vm._v(\" \"+_vm._s(_vm.$t('personal_add_existing_tab'))+\" \")]):_c('button',{staticClass:\"u-button u-button-primary\",on:{\"click\":function($event){return _vm.addNetwork()}}},[_vm._v(\" Add network to Kiwi \")]),_c('br'),_c('button',{staticClass:\"u-button u-button-primary\",on:{\"click\":function($event){return _vm.addNetwork(true)}}},[_vm._v(\" \"+_vm._s(_vm.$t('personal_connect_temporary'))+\" \")]),_vm._v(\" \"),_c('br')])]):_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('personal_addjoin')))]),_c('p',[_vm._v(_vm._s(_vm.$t('personal_return')))]),_c('button',{staticClass:\"u-button u-button-primary\",on:{\"click\":_vm.addEmptyNetwork}},[_vm._v(\" \"+_vm._s(_vm.$t('personal_add'))+\" \")]),_vm._v(\" \"),_c('br'),(_vm.networks.length>0)?_c('a',{staticClass:\"u-link kiwi-personal-existing-networks\",on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleStateBrowser($event)}}},[_vm._v(\" \"+_vm._s(_vm.$t('personal_saved'))+\" \")]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar embedlyTagIncluded = false;\nvar _default = {\n props: ['url', 'component', 'componentProps', 'isIframe', 'showPin'],\n data: function data() {\n return {};\n },\n computed: {\n embedlyKey: function embedlyKey() {\n return this.$state.settings.embedly.key;\n }\n },\n watch: {\n url: function url() {\n this.updateEmbed();\n },\n isIframe: function isIframe() {\n this.updateEmbed();\n }\n },\n created: function created() {\n this.updateEmbed();\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.$state.$emit('mediaviewer.opened');\n });\n },\n methods: {\n updateEmbed: function updateEmbed() {\n var _this2 = this;\n\n if (!this.url || this.isIframe || this.component) {\n // return if embedly script is not needed\n return;\n }\n\n var checkEmbedlyAndShowCard = function checkEmbedlyAndShowCard() {\n // If the embedly function doesn't exist it's probably still loading\n // the embedly script\n if (typeof window.embedly !== 'function') {\n (0, _setTimeout2.default)(checkEmbedlyAndShowCard, 100);\n return;\n }\n\n _this2.$nextTick(function () {\n window.embedly('card', _this2.$refs.embedlyLink);\n });\n };\n\n if (!embedlyTagIncluded) {\n var head = document.getElementsByTagName('head')[0];\n var script = document.createElement('script');\n script.type = 'text/javascript';\n script.src = '//cdn.embedly.com/widgets/platform.js';\n head.appendChild(script);\n embedlyTagIncluded = true;\n }\n\n checkEmbedlyAndShowCard();\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"MediaViewer\"]\r\nwindow._kiwi_exports.components.MediaViewer = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./InputConfirm.vue?vue&type=template&id=4eef0170&\"\nimport script from \"./InputConfirm.vue?vue&type=script&lang=js&\"\nexport * from \"./InputConfirm.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InputConfirm.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _flags = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/flags\"));\n\nvar _default = {\n props: ['buffer', 'network'],\n data: function data() {\n return {};\n },\n methods: {\n joinChannel: function joinChannel() {\n (0, _flags.default)(this.buffer).channel_badkey = false;\n this.buffer.join();\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"BufferKey\"]\r\nwindow._kiwi_exports.components.BufferKey = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsAliases.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsAliases.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaViewer.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaViewer.vue?vue&type=style&index=0&lang=css&\"","import { render, staticRenderFns } from \"./SettingsAliases.vue?vue&type=template&id=f5a21556&\"\nimport script from \"./SettingsAliases.vue?vue&type=script&lang=js&\"\nexport * from \"./SettingsAliases.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SettingsAliases.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputPrompt.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputPrompt.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _sort = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/sort\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _Logger = _interopRequireDefault(require(\"@/libs/Logger\"));\n\nvar _NicklistUser = _interopRequireDefault(require(\"./NicklistUser\"));\n\nvar log = _Logger.default.namespace('Nicklist'); // This provides a better sort for numbered nicks but does not work on ios9\n\n\nvar intlCollator = null;\n\nif (global.Intl) {\n intlCollator = new Intl.Collator({}, {\n numeric: true\n });\n} // Hot function, so it's here for easier caching\n\n\nfunction strCompare(a, b) {\n if (intlCollator) {\n return intlCollator.compare(a, b);\n }\n\n if (a === b) {\n return 0;\n }\n\n return a > b ? 1 : -1;\n}\n\nvar _default = {\n components: {\n NicklistUser: _NicklistUser.default\n },\n props: ['network', 'buffer', 'sidebarState'],\n data: function data() {\n return {\n userbox_user: null,\n user_filter: '',\n filter_visible: false,\n self: this\n };\n },\n computed: {\n shouldShowAvatars: function shouldShowAvatars() {\n return this.buffer.setting('nicklist_avatars');\n },\n sortedUsers: function sortedUsers() {\n var _this = this;\n\n // Get a list of network prefixes and give them a rank number\n var netPrefixes = this.network.ircClient.network.options.PREFIX;\n var prefixOrders = (0, _create.default)(null);\n (0, _forEach.default)(netPrefixes).call(netPrefixes, function (prefix, idx) {\n prefixOrders[prefix.mode] = idx;\n }); // A few things here:\n // * Since vuejs will sort in-place and update views when .sort is called\n // on an array, clone it first so that we have a plain array to sort\n // * Keep a map of lowercased nicks to we don't need to call .toLowerCase()\n // on each one all the time. This is a hot function!\n\n var nickMap = (0, _create.default)(null);\n var users = [];\n var bufferUsers = this.buffer.users;\n var nickFilter = this.user_filter.toLowerCase();\n /* eslint-disable guard-for-in, no-restricted-syntax */\n\n for (var lowercaseNick in bufferUsers) {\n var user = bufferUsers[lowercaseNick];\n nickMap[user.nick] = lowercaseNick;\n\n if (!nickFilter || (0, _indexOf.default)(lowercaseNick).call(lowercaseNick, nickFilter) !== -1) {\n users.push(user);\n }\n }\n\n var bufferId = this.buffer.id;\n return (0, _sort.default)(users).call(users, function (a, b) {\n var bufferA = a.buffers[bufferId];\n var bufferB = b.buffers[bufferId];\n\n if (!bufferA) {\n var msg = 'Nicklist.sortedUsers() User A does not have the buffer in its list!';\n log.error(msg, a.nick, a.buffers);\n return -1;\n }\n\n if (!bufferB) {\n var _msg = 'Nicklist.sortedUsers() User B does not have the buffer in its list!';\n log.error(_msg, b.nick, b.buffers);\n return 1;\n }\n\n var modesA = bufferA.modes;\n var modesB = bufferB.modes; // Neither user has a prefix, compare text\n\n if (modesA.length === 0 && modesB.length === 0) {\n // Compare away status\n if (_this.$state.setting('nicklistGroupAway')) {\n if (a.away && !b.away) {\n return 1;\n }\n\n if (!a.away && b.away) {\n return -1;\n }\n }\n\n return strCompare(nickMap[a.nick], nickMap[b.nick]);\n } // Compare via prefixes..\n\n\n if (modesA.length > 0 && modesB.length === 0) {\n return -1;\n }\n\n if (modesA.length === 0 && modesB.length > 0) {\n return 1;\n } // Both users have a prefix so find the highest ranking one\n\n\n var aP = prefixOrders[_this.buffer.userMode(a)];\n\n var bP = prefixOrders[_this.buffer.userMode(b)];\n\n if (aP > bP) {\n return 1;\n } else if (aP < bP) {\n return -1;\n } // Prefixes are the same, compare away status\n\n\n if (_this.$state.setting('nicklistGroupAway')) {\n if (a.away && !b.away) {\n return 1;\n }\n\n if (!a.away && b.away) {\n return -1;\n }\n } // Prefixes are the same, resort to comparing text\n\n\n return strCompare(nickMap[a.nick], nickMap[b.nick]);\n });\n },\n useColouredNicks: function useColouredNicks() {\n return this.buffer.setting('coloured_nicklist');\n }\n },\n methods: {\n userModePrefix: function userModePrefix(user) {\n return this.buffer.userModePrefix(user);\n },\n userMode: function userMode(user) {\n return this.buffer.userMode(user);\n },\n openQuery: function openQuery(user) {\n var buffer = this.$state.addBuffer(this.buffer.networkid, user.nick);\n this.$state.setActiveBuffer(buffer.networkid, buffer.name);\n\n if (this.$state.ui.is_narrow) {\n this.sidebarState.close();\n }\n },\n openUserbox: function openUserbox(user) {\n this.$state.$emit('userbox.show', user, {\n buffer: this.buffer\n });\n },\n toggleUserFilter: function toggleUserFilter() {\n var _this2 = this;\n\n this.filter_visible = !this.filter_visible;\n\n if (this.filter_visible) {\n this.$nextTick(function () {\n return _this2.$refs.user_filter.focus();\n });\n } else {\n this.user_filter = '';\n }\n },\n onFilterBlur: function onFilterBlur() {\n if (!this.user_filter) {\n this.filter_visible = false;\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"Nicklist\"]\r\nwindow._kiwi_exports.components.Nicklist = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsAdvanced.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsAdvanced.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ControlInput.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ControlInput.vue?vue&type=style&index=0&lang=less&\"","var render = function (_h,_vm) {var _c=_vm._c;return _c('div',{staticClass:\"kiwi-avatar\",class:[_vm.$options.m.hasAvatar(_vm.props) ? 'kiwi-avatar--image' : '', _vm.data.staticClass],attrs:{\"data-nick\":_vm.props.message&&_vm.props.message.nick}},[_c('span',{style:(_vm.$options.m.avatarStyle(_vm.props))},[_vm._v(\" \"+_vm._s(_vm.$options.m.hasAvatar(_vm.props) ? '' : _vm.$options.m.firstNickLetter(_vm.props))+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar _common = require(\"./common\");\n\n/** @module */\nvar UserState = /*#__PURE__*/function () {\n function UserState(user) {\n (0, _classCallCheck2.default)(this, UserState);\n this.nick = user.nick;\n this.host = user.host || '';\n this.username = user.username || '';\n this.realname = user.realname || '';\n this.modes = user.modes || '';\n this.away = user.away || '';\n this.colour = user.colour || '';\n this.account = user.account || '';\n this.buffers = (0, _create.default)(null);\n this.hasWhois = false;\n this.typingState = (0, _create.default)(null);\n this.avatar = user.avatar || {\n small: '',\n large: ''\n };\n this.ignore = false;\n\n _vue.default.observable(this); // Whois details are non-enumerable properties (vues $watch won't cover these properties)\n\n\n (0, _common.def)(this, 'actual_host', '', true);\n (0, _common.def)(this, 'helpop', '', true);\n (0, _common.def)(this, 'bot', '', true);\n (0, _common.def)(this, 'server', '', true);\n (0, _common.def)(this, 'server_info', '', true);\n (0, _common.def)(this, 'operator', '', true);\n (0, _common.def)(this, 'channels', '', true);\n (0, _common.def)(this, 'modes', '', true);\n (0, _common.def)(this, 'idle', '', true);\n (0, _common.def)(this, 'logon', '', true);\n (0, _common.def)(this, 'registered_nick', '', true);\n (0, _common.def)(this, 'secure', '', true);\n (0, _common.def)(this, 'special', '', true);\n }\n\n (0, _createClass2.default)(UserState, [{\n key: \"getColour\",\n value: function getColour() {\n if (!this.colour) {\n this.colour = TextFormatting.createNickColour(this.nick);\n } // default will use the themes default text colour\n\n\n return this.colour === 'default' ? '' : this.colour;\n }\n }, {\n key: \"isAway\",\n value: function isAway() {\n return !!this.away;\n }\n }, {\n key: \"typingStatus\",\n value: function typingStatus(_target, status) {\n var _this = this;\n\n var target = _target.toLowerCase();\n\n if (!status) {\n return this.typingState[target] || {\n status: ''\n };\n }\n\n var typing = this.typingState[target];\n\n if (!typing) {\n _vue.default.set(this.typingState, target, {\n started: 0,\n status: ''\n });\n\n typing = this.typingState[target];\n }\n\n if (typing.timeout) {\n clearTimeout(typing.timeout);\n typing.timeout = null;\n }\n\n if (status === 'done') {\n _vue.default.delete(this.typingState, target);\n\n return null;\n }\n\n typing.started = (0, _now.default)();\n typing.status = status; // Paused state gets a longer timeout as it's usually someone stopping typing\n // to think about their words\n\n var timeoutLen = status === 'paused' ? 30000 : 6000;\n typing.timeout = (0, _setTimeout2.default)(function () {\n return _this.typingStatus(target, 'done');\n }, timeoutLen);\n return typing;\n }\n }]);\n return UserState;\n}();\n\nexports.default = UserState;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-statebrowser-usermenu\",class:[_vm.is_usermenu_open?'kiwi-statebrowser-usermenu--open':'']},[_c('div',{staticClass:\"kiwi-statebrowser-usermenu-avatar\",class:[_vm.isConnected ?\n 'kiwi-statebrowser-usermenu-avatar--connected' :\n 'kiwi-statebrowser-usermenu-avatar--disconnected'\n ],on:{\"click\":function($event){_vm.is_usermenu_open=!_vm.is_usermenu_open}}},[_vm._v(\" \"+_vm._s(_vm.userInitial)+\" \"),(_vm.network && _vm.network.state === 'connected')?_c('away-status-indicator',{attrs:{\"network\":_vm.network,\"user\":_vm.getUser,\"toggle\":false}}):_vm._e()],1),(_vm.is_usermenu_open)?_c('div',{staticClass:\"kiwi-statebrowser-usermenu-body\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('state_remembered'))+\" \")]),_c('a',{staticClass:\"u-link\",on:{\"click\":_vm.clickForget}},[_vm._v(_vm._s(_vm.$t('state_forget')))]),_c('div',{staticClass:\"kiwi-close-icon\",on:{\"click\":function($event){_vm.is_usermenu_open=false}}},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})])]):_c('div',{staticClass:\"kiwi-statebrowser-usermenu-network\"},[_vm._v(\" \"+_vm._s(_vm.networkName)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./CustomServer.vue?vue&type=template&id=bbf836da&\"\nimport script from \"./CustomServer.vue?vue&type=script&lang=js&\"\nexport * from \"./CustomServer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CustomServer.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Personal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Personal.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-startup-common\",class:[\n _vm.closing ? 'kiwi-startup-common--closing' : '',\n _vm.backgroundImage ? '' : 'kiwi-startup-common--no-bg' ],style:(_vm.backgroundStyle)},[_c('div',{staticClass:\"kiwi-startup-common-section kiwi-startup-common-section-connection\"},[_vm._t(\"connection\")],2),_c('div',{staticClass:\"kiwi-startup-common-section kiwi-startup-common-section-info\",style:(_vm.backgroundStyle)},[(_vm.infoContent)?_c('div',{staticClass:\"kiwi-startup-common-section-info-content\",domProps:{\"innerHTML\":_vm._s(_vm.infoContent)}}):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function (_h,_vm) {var _c=_vm._c;return _c('div',{staticClass:\"kiwi-nicklist-user\",class:[\n _vm.props.nicklist.userMode(_vm.props.user) ?\n 'kiwi-nicklist-user--mode-' + _vm.props.nicklist.userMode(_vm.props.user) :\n '',\n _vm.props.user.away ? 'kiwi-nicklist-user--away' : '',\n _vm.props.user.ignore ? 'kiwi-nicklist-user--ignore' : '',\n _vm.data.staticClass ],attrs:{\"data-nick\":(_vm.props.user.nick||'').toLowerCase()},on:{\"click\":function($event){return _vm.props.nicklist.openUserbox(_vm.props.user)}}},[(_vm.props.m().shouldShowAvatars())?_c('div',{staticClass:\"kiwi-avatar-container\"},[(_vm.props.user)?_c(_vm.injections.components.Avatar,{tag:\"component\",attrs:{\"user\":_vm.props.user,\"size\":\"small\"}}):_vm._e(),_c(_vm.injections.components.AwayStatusIndicator,{tag:\"component\",attrs:{\"network\":_vm.props.network,\"user\":_vm.props.user,\"toggle\":false}})],1):_c('div',[_c(_vm.injections.components.AwayStatusIndicator,{tag:\"component\",attrs:{\"network\":_vm.props.network,\"user\":_vm.props.user,\"toggle\":false}})],1),_c('span',{staticClass:\"kiwi-nicklist-user-prefix\"},[_vm._v(\" \"+_vm._s(_vm.props.nicklist.userModePrefix(_vm.props.user))+\" \")]),_c('span',{staticClass:\"kiwi-nicklist-user-nick\",style:({ 'color': _vm.props.m().userColour() })},[_vm._v(_vm._s(_vm.props.user.nick)+\" \")]),_c('span',{staticClass:\"kiwi-nicklist-messageuser\",on:{\"click\":function($event){$event.stopPropagation();return _vm.props.nicklist.openQuery(_vm.props.user)}}},[_c('i',{staticClass:\"fa fa-comment\",attrs:{\"aria-hidden\":\"true\"}})]),_c(_vm.injections.components.TypingStatusIndicator,{tag:\"component\",attrs:{\"user\":_vm.props.user,\"buffer\":_vm.props.nicklist.buffer}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ChannelInvitelist.vue?vue&type=template&id=ee75060e&\"\nimport script from \"./ChannelInvitelist.vue?vue&type=script&lang=js&\"\nexport * from \"./ChannelInvitelist.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ChannelInvitelist.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerView.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerView.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime-corejs3/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/asyncToGenerator\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/slicedToArray\"));\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _bind = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/bind\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _Logger = _interopRequireDefault(require(\"@/libs/Logger\"));\n\nvar _BouncerMiddleware = _interopRequireDefault(require(\"@/libs/BouncerMiddleware\"));\n\nvar log = _Logger.default.namespace('BouncerProvider.js');\n\nvar BouncerProvider = /*#__PURE__*/function () {\n function BouncerProvider(state) {\n var _context, _context2, _context3;\n\n (0, _classCallCheck2.default)(this, BouncerProvider);\n this.state = state; // This is the network that will be used to control the bouncer\n\n this.controllerNetwork = null; // The detected credentials for the BNC\n\n this.bnc = {\n enabled: false,\n username: '',\n password: '',\n server: '',\n port: 6667,\n tls: false,\n direct: false,\n path: '',\n registered: false\n }; // If enabled, new IRC connections will be re-routed through the bouncer\n\n this.rewriteConnections = true; // A snapshot of the current networks. Compared against to detect changed networks\n\n this.networksSnapshot = (0, _create.default)(null); // If we are currently monitoring for network settings changes\n\n this.monitoringChanges = false;\n state.$on('irc.motd', (0, _bind.default)(_context = this.onNetworkMotd).call(_context, this));\n state.$on('irc.bouncer state', (0, _bind.default)(_context2 = this.onNetworkState).call(_context2, this));\n state.$on('irc.bouncer networks', (0, _bind.default)(_context3 = this.onBouncerNetworks).call(_context3, this));\n }\n\n (0, _createClass2.default)(BouncerProvider, [{\n key: \"enable\",\n value: function enable(server, port, tls, direct, path) {\n var _context4, _context5, _bncNetwork$connectio, _context6;\n\n log((0, _concat.default)(_context4 = \"Using a Bouncer Provider with server \".concat(server, \":\")).call(_context4, port));\n this.bnc.server = server;\n this.bnc.port = port || 6667;\n this.bnc.tls = !!tls;\n this.bnc.direct = !!direct;\n this.bnc.path = path || '';\n this.bnc.enabled = true; // get the bnc controller network\n\n var bncNetwork = (0, _find.default)(_context5 = this.state.networks).call(_context5, function (network) {\n return network.is_bnc;\n }); // the bnc controller network password is saved in the format :.\n // if there is a bnc controller network with a password, use these credentials\n // for the bnc connection.\n\n if (bncNetwork === null || bncNetwork === void 0 ? void 0 : (_bncNetwork$connectio = bncNetwork.connection) === null || _bncNetwork$connectio === void 0 ? void 0 : _bncNetwork$connectio.password) {\n var _this$parseBncCredent = this.parseBncCredentials(bncNetwork.connection.password),\n _this$parseBncCredent2 = (0, _slicedToArray2.default)(_this$parseBncCredent, 2),\n username = _this$parseBncCredent2[0],\n password = _this$parseBncCredent2[1];\n\n this.bnc.username = username;\n this.bnc.password = password;\n } // Enable BOUNCER on existing connections\n\n\n (0, _forEach.default)(_context6 = this.state.networks).call(_context6, function (network) {\n network.ircClient.use((0, _BouncerMiddleware.default)());\n }); // this.monitorNetworkChanges();\n\n this.listenToState();\n } // Try to get a connected network that can be used to control the bouncer\n\n }, {\n key: \"getController\",\n value: function getController() {\n if (this.controllerNetwork && this.controllerNetwork.state === 'connected') {\n return this.controllerNetwork;\n }\n\n this.controllerNetwork = null;\n\n for (var i = 0; i < this.state.networks.length; i++) {\n var network = this.state.networks[i];\n var client = network.ircClient;\n\n if (network.state === 'connected' && client.network.cap.isEnabled('bouncer')) {\n this.controllerNetwork = network;\n break;\n }\n }\n\n return this.controllerNetwork;\n }\n }, {\n key: \"onNetworkMotd\",\n value: function () {\n var _onNetworkMotd = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(event, network) {\n var client, _this$parseBncCredent3, _this$parseBncCredent4, username, password;\n\n return _regenerator.default.wrap(function _callee$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n client = network.ircClient;\n\n if (this.bnc.enabled) {\n _context7.next = 3;\n break;\n }\n\n return _context7.abrupt(\"return\");\n\n case 3:\n if (client.network.cap.isEnabled('bouncer')) {\n _context7.next = 6;\n break;\n }\n\n log.debug(\"BOUNCER cap not available on network \".concat(network.name, \", not using for BNC\"));\n return _context7.abrupt(\"return\");\n\n case 6:\n // Set the bncnetid if the network upstream exists and we havn't already set it\n if (client.bnc.hasNetwork() && !network.connection.bncnetid) {\n network.connection.bncnetid = client.bnc.tags().netid;\n } // Use this initial network password for other network connections\n\n\n if (!this.bnc.username) {\n _this$parseBncCredent3 = this.parseBncCredentials(network.connection.password), _this$parseBncCredent4 = (0, _slicedToArray2.default)(_this$parseBncCredent3, 2), username = _this$parseBncCredent4[0], password = _this$parseBncCredent4[1];\n this.bnc.username = username;\n this.bnc.password = password;\n } // If this is a BNC network, sync it before anything else so that we get all its info\n // and buffer states as soon as possible\n\n\n if (!client.bnc.hasNetwork()) {\n _context7.next = 11;\n break;\n }\n\n _context7.next = 11;\n return this.syncBncNetwork(network);\n\n case 11:\n if (network.connection.bncnetid) {\n _context7.next = 14;\n break;\n }\n\n _context7.next = 14;\n return this.initAndAddNetworks(network);\n\n case 14:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee, this);\n }));\n\n function onNetworkMotd(_x, _x2) {\n return _onNetworkMotd.apply(this, arguments);\n }\n\n return onNetworkMotd;\n }()\n }, {\n key: \"onNetworkState\",\n value: function onNetworkState(event, network) {\n var isController = this.getController() === network; // We get connection state changes advertised on all bouncer connections, so only handle\n // the ones that come from the controller network since we only need to deal with it once.\n\n if (isController && event.state === 'disconnected') {\n // Mimick any network disconnections by closing this connection too\n var effectedNetwork = this.state.getNetworkFromBncNetId(event.networkId);\n\n if (effectedNetwork) {\n effectedNetwork.ircClient.connection.transport.close();\n }\n }\n }\n }, {\n key: \"initAndAddNetworks\",\n value: function () {\n var _initAndAddNetworks = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(network) {\n var client;\n return _regenerator.default.wrap(function _callee2$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n client = network.ircClient;\n this.bnc.registered = true; // hide the empty (non-network) controller network\n\n if (!network.ircClient.bnc.hasNetwork()) {\n network.hidden = true;\n network.is_bnc = true;\n } else {\n network.hidden = false;\n network.is_bnc = false;\n } // onBouncerNetworks will pick up the event handler for this\n\n\n client.bnc.getNetworks();\n\n case 4:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function initAndAddNetworks(_x3) {\n return _initAndAddNetworks.apply(this, arguments);\n }\n\n return initAndAddNetworks;\n }()\n }, {\n key: \"onBouncerNetworks\",\n value: function onBouncerNetworks(bncNetworks) {\n var _this = this,\n _context9;\n\n log.debug(\"Got \".concat(bncNetworks.length, \" networks from the BNC\"), bncNetworks);\n (0, _forEach.default)(bncNetworks).call(bncNetworks, function (bncNet) {\n return _this.addNetworkToState(bncNet);\n }); // Remove any networks we have locally but no longer exist on the BNC\n\n (0, _forEach.default)(_context9 = this.state.networks).call(_context9, function (existingNet) {\n var isNetworkInBncList = !!(0, _find.default)(bncNetworks).call(bncNetworks, function (n) {\n return n.networkId === existingNet.connection.bncnetid;\n });\n\n if (!existingNet.is_bnc && !isNetworkInBncList) {\n var _context10;\n\n log.debug((0, _concat.default)(_context10 = \"Network '\".concat(existingNet.name, \"' (\")).call(_context10, existingNet.id, \") was not in the BNC, removing locally\"));\n\n _this.state.removeNetwork(existingNet.id);\n }\n }); // start monitoring network changes\n\n this.monitorNetworkChanges();\n }\n }, {\n key: \"syncBncNetwork\",\n value: function () {\n var _syncBncNetwork = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(bncNetwork) {\n var _this2 = this,\n _context12;\n\n var client, buffers;\n return _regenerator.default.wrap(function _callee3$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n client = bncNetwork.ircClient;\n log.debug(\"Syncing network \".concat(bncNetwork.name, \" from the BNC\"));\n _context13.next = 4;\n return client.bnc.getBuffers(bncNetwork.connection.bncnetid);\n\n case 4:\n buffers = _context13.sent;\n (0, _forEach.default)(buffers).call(buffers, function (buffer) {\n // The list of buffers also include the network name. Make use of it and make sure our\n // network name is up to date while we can. It may have changed elsewhere\n if (bncNetwork.name !== buffer.network) {\n var _context11;\n\n log((0, _concat.default)(_context11 = \"Detected network name change while syncing buffers. \".concat(bncNetwork.name, \" > \")).call(_context11, buffer.network));\n bncNetwork.name = buffer.network;\n }\n\n var newBuffer = _this2.state.addBuffer(bncNetwork.id, buffer.name);\n\n if (!newBuffer) {\n // The BNC might be giving up bad buffer names or something, so just make sure\n // that it's handled if it ever coccurs\n log.error(\"Couldn't add BNC buffer, '\".concat(buffer.name, \"'\"), buffer);\n return;\n }\n\n if (buffer.joined) {\n newBuffer.enabled = true;\n newBuffer.joined = true;\n } else {\n newBuffer.enabled = false;\n newBuffer.joined = false;\n }\n\n if (buffer.seen) {\n newBuffer.last_read = new Date(buffer.seen).getTime();\n }\n\n if (buffer.notify) {\n newBuffer.setting('alert_on', buffer.notify);\n }\n\n newBuffer.topic = buffer.topic || '';\n\n if (bncNetwork.state === 'connected' && newBuffer.isChannel() && newBuffer.joined) {\n client.raw('NAMES ' + newBuffer.name);\n client.who(newBuffer.name);\n }\n }); // Remove any existing buffers that we no longer have on the bouncer\n\n (0, _forEach.default)(_context12 = bncNetwork.buffers).call(_context12, function (clientBuffer) {\n if (!clientBuffer.isChannel() && !clientBuffer.isQuery()) {\n return;\n }\n\n var existingBuffers = (0, _filter.default)(buffers).call(buffers, function (bncBuffer) {\n return bncBuffer.name.toLowerCase() === clientBuffer.name.toLowerCase();\n });\n\n if (existingBuffers.length === 0) {\n _this2.state.removeBuffer(clientBuffer);\n }\n });\n\n case 7:\n case \"end\":\n return _context13.stop();\n }\n }\n }, _callee3);\n }));\n\n function syncBncNetwork(_x4) {\n return _syncBncNetwork.apply(this, arguments);\n }\n\n return syncBncNetwork;\n }()\n }, {\n key: \"addNetworkToState\",\n value: function () {\n var _addNetworkToState = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(network) {\n var net;\n return _regenerator.default.wrap(function _callee4$(_context14) {\n while (1) {\n switch (_context14.prev = _context14.next) {\n case 0:\n // Expects network to be in the format of:\n // {\n // \"networkId\":\"xyz\",\n // \"name\":\"freenode\",\n // \"channel\":\"1\",\n // \"connected\":\"1\",\n // \"host\":\"irc.freenode.net\",\n // \"port\":\"6667\",\n // \"tls\":\"0\",\n // \"nick\":\"notprawn99829\"\n // },\n net = this.state.getNetworkFromBncNetId(network.networkId);\n\n if (!net) {\n net = this.state.addNetwork(network.name, network.nick || '', {\n server: network.host,\n port: network.port,\n tls: network.tls,\n password: network.password || '',\n bncnetid: network.networkId,\n username: network.user,\n account_password: network.account_password\n });\n } else {\n // Make sure our existing network is all up to date\n net.name = network.name;\n net.connection.server = network.host;\n net.connection.port = (0, _parseInt2.default)(network.port, 10);\n net.connection.tls = network.tls;\n net.connection.nick = network.account || network.nick;\n net.connection.password = network.password || '';\n net.nick = network.currentNick || network.nick || '';\n net.password = network.account_password;\n }\n\n net.editable_name = true;\n return _context14.abrupt(\"return\", net);\n\n case 4:\n case \"end\":\n return _context14.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function addNetworkToState(_x5) {\n return _addNetworkToState.apply(this, arguments);\n }\n\n return addNetworkToState;\n }() // Keep a snapshot of what the current networks are. They will be periodically\n // compared with the active networks to see if anything has changed before\n // saving those changes.\n\n }, {\n key: \"snapshotCurrentNetworks\",\n value: function snapshotCurrentNetworks() {\n var _context15,\n _this3 = this;\n\n this.networksSnapshot = (0, _create.default)(null);\n (0, _forEach.default)(_context15 = this.state.networks).call(_context15, function (network) {\n if (!network.connection.bncnetid) {\n return;\n }\n\n _this3.networksSnapshot[network.connection.bncnetid] = {\n bncnetid: network.connection.bncnetid,\n network: network.name,\n host: network.connection.server,\n port: network.connection.port,\n tls: network.connection.tls,\n account: network.connection.nick,\n account_password: network.password,\n server_password: network.connection.password,\n nick: network.connection.nick,\n username: network.username\n };\n });\n } // Compare the current networks with our previously saved snapshot of\n // networks. Save any changes to the bouncer\n\n }, {\n key: \"saveState\",\n value: function saveState() {\n var _context16,\n _this4 = this;\n\n var controller = this.getController();\n\n if (!controller) {\n log.debug('No controller available to save networks');\n return;\n }\n\n (0, _forEach.default)(_context16 = this.state.networks).call(_context16, function (network) {\n // don't save an empty controller to the network.\n // we can't use hasNetwork alone because that requires ircClient to be\n // connected, and we save new nets before they are connected\n if (_this4.getController() === network && !network.ircClient.bnc.hasNetwork()) {\n return;\n } // Don't save any hidden networks. This includes the BNC controller network\n\n\n if (network.hidden) {\n return;\n } // Every network needs a valid name\n\n\n if (!network.name.match(/^[a-zA-Z_0-9.]+$/)) {\n log.debug(\"Network \".concat(network.id, \" has an invalid name. Not saving to the BNC\"));\n return;\n }\n\n var bncnetid = network.connection.bncnetid;\n var snapshot = _this4.networksSnapshot[bncnetid] || {};\n var tags = {};\n\n if (network.name !== snapshot.network) {\n tags.network = network.name;\n }\n\n if (network.connection.server !== snapshot.host) {\n tags.host = network.connection.server;\n }\n\n if (network.connection.port !== snapshot.port) {\n tags.port = network.connection.port;\n }\n\n if (network.connection.tls !== snapshot.tls) {\n tags.tls = network.connection.tls;\n }\n\n if (network.password !== snapshot.account_password) {\n tags.account_password = network.password;\n }\n\n if (network.connection.nick !== snapshot.account) {\n tags.account = network.connection.nick;\n }\n\n if (network.connection.password !== snapshot.server_password) {\n tags.password = network.connection.password;\n }\n\n if (network.connection.nick !== snapshot.nick) {\n tags.nick = network.connection.nick;\n }\n\n if (network.username !== snapshot.username) {\n tags.user = network.username;\n } // A newly added network would not have a snapshot name (bncnetid) property set yet.\n // Only save the network if we've entered connection info.\n\n\n if (!snapshot.bncnetid && tags.host && tags.port && tags.nick) {\n log(\"Saving new network \".concat(network.name, \" to the BNC\")); // ?? network.connection.bncname = network.name;\n\n controller.ircClient.bnc.addNetwork(network.name, tags.host, tags.port, tags.tls, tags.nick, tags.user, tags.password).then(function (networkInfo) {\n network.connection.bncnetid = networkInfo.networkId;\n network.name = networkInfo.network;\n });\n } else if (snapshot.bncnetid && (0, _keys.default)(tags).length > 0) {\n log(\"Updating network \".concat(network.name, \" on the BNC\"));\n controller.ircClient.bnc.saveNetwork(bncnetid, tags);\n }\n });\n this.snapshotCurrentNetworks();\n }\n }, {\n key: \"monitorNetworkChanges\",\n value: function monitorNetworkChanges() {\n var _context17;\n\n if (this.monitoringChanges) {\n return;\n }\n\n this.monitoringChanges = true;\n this.snapshotCurrentNetworks();\n\n var debouncedSaveState = _lodash.default.debounce((0, _bind.default)(_context17 = this.saveState).call(_context17, this), 2000);\n\n this.state.$watch('networks', debouncedSaveState, {\n deep: true\n });\n }\n }, {\n key: \"listenToState\",\n value: function listenToState() {\n var _this5 = this;\n\n var state = this.state; // Just before we connect to a network, make sure the BNC is saved and connected to\n // it or at least trying to connect.\n // Ie. Quickly creating a network and hitting connect before it's had time to\n // save itself to the bouncer\n\n state.$on('network.connecting', function (event) {\n // Redirect the connection towards the bouncer with the network specific password\n var network = event.network;\n\n if (_this5.bnc.enabled && _this5.rewriteConnections) {\n var netname = network.name;\n var ircClient = network.ircClient;\n ircClient.options.host = _this5.bnc.server;\n ircClient.options.port = _this5.bnc.port;\n ircClient.options.tls = _this5.bnc.tls; // Only re-write the server password for non-bnc controller networks\n\n if (_this5.bnc.password && !event.network.is_bnc) {\n var _context18, _context19;\n\n var password = (0, _concat.default)(_context18 = (0, _concat.default)(_context19 = \"\".concat(_this5.bnc.username, \"/\")).call(_context19, netname, \":\")).call(_context18, _this5.bnc.password);\n ircClient.options.password = password;\n } // The SASL auth already happens on the BNC, we only use it for UI purposes in kiwi\n\n\n ircClient.options.account = {};\n network.connection.direct = _this5.bnc.direct;\n ircClient.options.path = _this5.bnc.path;\n }\n });\n state.$on('network.connecting', function (event) {\n var controller = _this5.getController();\n\n if (!controller) {\n log.debug('No controller available to save network states');\n return;\n }\n\n _this5.saveState();\n\n var network = event.network;\n\n if (network.connection.bncnetid) {\n controller.ircClient.raw('BOUNCER connect ' + network.connection.bncnetid);\n }\n });\n state.$on('irc.motd', function (event, network) {\n var _context20;\n\n (0, _forEach.default)(_context20 = network.buffers).call(_context20, function (buffer) {\n if (buffer.isChannel() && buffer.enabled && buffer.joined) {\n network.ircClient.who(buffer.name);\n }\n });\n });\n state.$on('network.new', function (event) {\n var network = event.network; // Enable BOUNCER on this connection\n\n network.ircClient.use((0, _BouncerMiddleware.default)());\n network.editable_name = true; // Update the network name to NetworkN if hasn't got once from the bouncer yet\n\n if (!network.connection.bncnetid) {\n var currentNum = 1;\n var existingNet = true;\n\n while (existingNet) {\n existingNet = (0, _find.default)(_lodash.default).call(_lodash.default, state.networks, {\n name: 'Network' + currentNum\n });\n\n if (!existingNet || network === existingNet) {\n network.name = 'Network' + currentNum;\n existingNet = null;\n }\n\n currentNum++;\n }\n }\n });\n state.$on('network.removed', function (event) {\n var controller = _this5.getController();\n\n if (!controller) {\n log.debug('No controller available to save network states');\n return;\n }\n\n if (event.network.connection.bncnetid) {\n controller.ircClient.bnc.removeNetwork(event.network.connection.bncnetid);\n }\n });\n state.$on('buffer.close', function (event) {\n var buffer = event.buffer;\n var network = event.buffer.getNetwork();\n var bncnetid = network.connection.bncnetid;\n\n var controller = _this5.getController();\n\n if (!controller) {\n log.debug('No controller available to save buffer states');\n return;\n }\n\n if (bncnetid) {\n controller.ircClient.bnc.closeBuffer(bncnetid, buffer.name);\n }\n });\n }\n }, {\n key: \"parseBncCredentials\",\n value: function parseBncCredentials(bncNetworkPassword) {\n var _bncNetworkPassword$s = bncNetworkPassword.split(':'),\n _bncNetworkPassword$s2 = (0, _slicedToArray2.default)(_bncNetworkPassword$s, 2),\n username = _bncNetworkPassword$s2[0],\n password = _bncNetworkPassword$s2[1];\n\n username = username.split('/')[0];\n return [username, password];\n }\n }]);\n return BouncerProvider;\n}();\n\nexports.default = BouncerProvider;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"BouncerProvider\"]\r\nwindow._kiwi_exports.libs.BouncerProvider = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./BufferSettings.vue?vue&type=template&id=29a6566a&\"\nimport script from \"./BufferSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./BufferSettings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BufferSettings.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _default = _vue.default.extend({\n data: function data() {\n return {\n sidebarOpen: false,\n // sidebarSection may contain: '', 'user', 'settings', 'nicklist', 'about', 'component'\n sidebarSection: '',\n sidebarUser: null,\n activeComponent: null\n };\n },\n computed: {\n isDrawn: function isDrawn() {\n return this.sidebarOpen && this.section() && this.$state.ui.app_width <= 769;\n },\n isOpen: function isOpen() {\n return this.sidebarOpen && this.section() && this.$state.ui.app_width > 769;\n }\n },\n created: function created() {\n var _this = this;\n\n this.listen(this.$state, 'sidebar.component', function (component) {\n _this.activeComponent = component;\n _this.sidebarOpen = !!component;\n _this.sidebarSection = component ? 'component' : '';\n }); // Allow forcing the sidebar open at startup\n\n this.$nextTick(function () {\n // nextTick is needed because app_width is 0 on created()\n var sidebarDefault = _this.$state.setting('sidebarDefault');\n\n if (sidebarDefault && _this.$state.ui.app_width > 769) {\n _this.sidebarSection = sidebarDefault;\n _this.sidebarOpen = true;\n }\n });\n },\n methods: {\n section: function section() {\n if (!this.sidebarOpen) {\n return '';\n }\n\n var section = this.sidebarSection;\n\n if (section === 'component') {\n return section;\n }\n\n var buffer = this.$state.getActiveBuffer();\n\n if (buffer.isQuery()) {\n // This is a query with only one possible sidebar dont change the current state\n // instead attempt to show the user, this allows channels to show their nicklist\n var user = this.$state.getUser(buffer.getNetwork().id, buffer.name);\n\n if (user) {\n this.sidebarUser = user;\n return 'user';\n }\n\n return '';\n } // The following code is for channels only\n\n\n if (!buffer.isChannel()) {\n return '';\n }\n\n if (section === 'user' && this.sidebarUser) {\n if (buffer.hasNick(this.sidebarUser.nick)) {\n return 'user';\n } // This was going to show a user that is not even present in the current channel\n // permantly switch back to nicklist so it does not jump back to user\n // when they switch to a channel with that user\n\n\n this.sidebarSection = 'nicklist';\n return this.sidebarSection;\n } else if (section === 'nicklist') {\n return 'nicklist';\n } else if (section === 'settings') {\n return 'settings';\n } else if (section === 'about') {\n return 'about';\n }\n\n return '';\n },\n close: function close() {\n this.activeComponent = null;\n this.sidebarOpen = false;\n this.sidebarSection = '';\n this.sidebarUser = null;\n },\n showUser: function showUser(user) {\n this.activeComponent = null;\n this.sidebarUser = user;\n this.sidebarOpen = true;\n this.sidebarSection = 'user';\n },\n showNicklist: function showNicklist() {\n this.activeComponent = null;\n this.sidebarOpen = true;\n this.sidebarSection = 'nicklist';\n },\n showBufferSettings: function showBufferSettings() {\n this.activeComponent = null;\n this.sidebarOpen = true;\n this.sidebarSection = 'settings';\n },\n showAbout: function showAbout() {\n this.activeComponent = null;\n this.sidebarOpen = true;\n this.sidebarSection = 'about';\n },\n toggleUser: function toggleUser(user) {\n this.section() === 'user' ? this.close() : this.showUser(user);\n },\n toggleNicklist: function toggleNicklist() {\n this.section() === 'nicklist' ? this.close() : this.showNicklist();\n },\n toggleBufferSettings: function toggleBufferSettings() {\n this.section() === 'settings' ? this.close() : this.showBufferSettings();\n },\n toggleAbout: function toggleAbout() {\n this.section() === 'about' ? this.close() : this.showAbout();\n }\n }\n});\n\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"SidebarState\"]\r\nwindow._kiwi_exports.components.SidebarState = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-inputtool-colours\"},[_c('div',{staticClass:\"kiwi-inputtool-colours-palette\",on:{\"mousedown\":function($event){$event.preventDefault();},\"click\":function($event){$event.preventDefault();}}},[_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-white\",attrs:{\"data-code\":\"00\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-black\",attrs:{\"data-code\":\"01\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-blue\",attrs:{\"data-code\":\"02\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-green\",attrs:{\"data-code\":\"03\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-light-red\",attrs:{\"data-code\":\"04\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-brown\",attrs:{\"data-code\":\"05\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-purple\",attrs:{\"data-code\":\"06\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-orange\",attrs:{\"data-code\":\"07\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-yellow\",attrs:{\"data-code\":\"08\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-light-green\",attrs:{\"data-code\":\"09\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-cyan\",attrs:{\"data-code\":\"10\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-light-cyan\",attrs:{\"data-code\":\"11\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-light-blue\",attrs:{\"data-code\":\"12\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-pink\",attrs:{\"data-code\":\"13\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-grey\",attrs:{\"data-code\":\"14\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-light-grey\",attrs:{\"data-code\":\"15\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour kiwi-inputtools-colours-reset\",on:{\"click\":_vm.onResetClick}},[_c('i',{staticClass:\"fa fa-ban\",attrs:{\"aria-hidden\":\"true\"}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-statebrowser-network\",class:[\n _vm.isActiveNetwork ? 'kiwi-statebrowser-network--active' : '' ]},[_c('div',{staticClass:\"kiwi-statebrowser-network-header\"},[_c('a',{staticClass:\"kiwi-statebrowser-network-name u-link\",on:{\"click\":function($event){return _vm.setActiveBuffer(_vm.serverBuffer)}}},[_vm._v(\" \"+_vm._s(_vm.network.name)+\" \")]),_c('div',{staticClass:\"kiwi-statebrowser-buffer-actions\"},[_c('div',{staticClass:\"kiwi-statebrowser-channel-labels\"},[(_vm.serverUnread && _vm.showMessageCounts(_vm.serverBuffer))?_c('div',{staticClass:\"kiwi-statebrowser-channel-label\",class:[\n _vm.serverHighlight ?\n 'kiwi-statebrowser-channel-label--highlight' :\n ''\n ]},[_vm._v(\" \"+_vm._s(_vm.serverUnread > 999 ? \"999+\": _vm.serverUnread)+\" \")]):_vm._e()])]),_c('div',{staticClass:\"kiwi-network-name-options\"},[(_vm.totalNetworkCount > 1)?_c('div',{staticClass:\"kiwi-network-name-option kiwi-network-name-option-collapse\",on:{\"click\":function($event){_vm.collapsed=!_vm.collapsed}}},[_c('i',{staticClass:\"fa\",class:[_vm.collapsed?'fa-plus-square-o':'fa-minus-square-o']})]):_vm._e()])]),(_vm.channel_filter_display)?_c('div',{staticClass:\"kiwi-statebrowser-channelfilter\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.channel_filter),expression:\"channel_filter\"},{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"placeholder\":_vm.$t('filter_channels'),\"type\":\"text\"},domProps:{\"value\":(_vm.channel_filter)},on:{\"blur\":_vm.onChannelFilterInputBlur,\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.closeFilterChannel($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.channel_filter=$event.target.value}}}),_c('p',[_c('a',{on:{\"click\":function($event){_vm.closeFilterChannel(); _vm.showNetworkChannels(_vm.network)}}},[_vm._v(\" \"+_vm._s(_vm.$t('find_more_channels'))+\" \")])])]):_vm._e(),(_vm.channel_add_display)?_c('div',{staticClass:\"kiwi-statebrowser-channels-info\"},[_c('form',{staticClass:\"kiwi-statebrowser-newchannel\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submitNewChannelForm($event)}}},[_c('div',{directives:[{name:\"focus\",rawName:\"v-focus\"}],staticClass:\"kiwi-statebrowser-newchannel-inputwrap\",class:[\n _vm.channel_add_input_has_focus ?\n 'kiwi-statebrowser-newchannel-inputwrap--focus' :\n ''\n ]},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.channel_add_input),expression:\"channel_add_input\"}],attrs:{\"placeholder\":_vm.$t('state_join'),\"type\":\"text\"},domProps:{\"value\":(_vm.channel_add_input)},on:{\"focus\":_vm.onNewChannelInputFocus,\"blur\":_vm.onNewChannelInputBlur,\"input\":function($event){if($event.target.composing){ return; }_vm.channel_add_input=$event.target.value}}})])])]):_vm._e(),_c('div',{staticClass:\"kiwi-statebrowser-network-toggable-area\",class:[\n _vm.collapsed ? 'kiwi-statebrowser-network-toggable-area--collapsed' : '' ]},[_c('transition',{attrs:{\"name\":\"kiwi-statebrowser-network-status-transition\"}},[(_vm.network.state !== 'connected')?_c('div',{staticClass:\"kiwi-statebrowser-network-status\"},[(_vm.network.state_error)?[_c('i',{staticClass:\"fa fa-exclamation-triangle\",attrs:{\"aria-hidden\":\"true\"}}),_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){return _vm.showNetworkSettings(_vm.network)}}},[_vm._v(\" \"+_vm._s(_vm.$t('state_configure'))+\" \")])]:(!_vm.network.connection.server)?[_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){return _vm.showNetworkSettings(_vm.network)}}},[_vm._v(\" \"+_vm._s(_vm.$t('state_configure'))+\" \")])]:(_vm.network.state === 'disconnected')?[_vm._v(\" \"+_vm._s(_vm.$t('state_disconnected'))+\" \"),_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){return _vm.network.ircClient.connect()}}},[_vm._v(\" \"+_vm._s(_vm.$t('connect'))+\" \")])]:(_vm.network.state === 'connecting')?[_vm._v(\" \"+_vm._s(_vm.$t('connecting'))+\" \")]:_vm._e()],2):_vm._e()]),_c('div',{staticClass:\"kiwi-statebrowser-channels\"},[(_vm.network.state === 'connected')?_c('div',{staticClass:\"kiwi-statebrowser-channels-options\"},[_c('div',{staticClass:\"kiwi-statebrowser-channels-option\",class:{ active: _vm.channel_add_display == true },on:{\"click\":function($event){return _vm.toggleAddChannel()}}},[_c('i',{staticClass:\"fa fa-plus\",attrs:{\"aria-hidden\":\"true\"}})]),_c('div',{staticClass:\"kiwi-statebrowser-channels-option\",class:{ active: _vm.channel_filter_display == true },on:{\"click\":_vm.onSearchChannelClick}},[_c('i',{staticClass:\"fa fa-search\",attrs:{\"aria-hidden\":\"true\"}})])]):_vm._e(),_vm._l((_vm.filteredBuffers),function(buffer){return _c('div',{key:buffer.name,staticClass:\"kiwi-statebrowser-channel\",class:{\n 'kiwi-statebrowser-channel-active': _vm.isActiveBuffer(buffer),\n 'kiwi-statebrowser-channel-notjoined': buffer.isChannel() && !buffer.joined\n },attrs:{\"data-name\":buffer.name.toLowerCase()}},[_c('div',{staticClass:\"kiwi-statebrowser-channel-name\",on:{\"click\":function($event){return _vm.setActiveBuffer(buffer)}}},[(buffer.isQuery() && _vm.awayNotifySupported())?_c('away-status-indicator',{attrs:{\"network\":_vm.network,\"user\":_vm.network.userByName(buffer.name)}}):_vm._e(),_vm._v(_vm._s(buffer.name)+\" \")],1),_c('div',{staticClass:\"kiwi-statebrowser-buffer-actions\"},[_c('div',{staticClass:\"kiwi-statebrowser-channel-labels\"},[(buffer.flags.unread && _vm.showMessageCounts(buffer))?_c('div',{staticClass:\"kiwi-statebrowser-channel-label\",class:[\n buffer.flags.highlight ?\n 'kiwi-statebrowser-channel-label--highlight' :\n ''\n ]},[_vm._v(\" \"+_vm._s(buffer.flags.unread > 999 ? \"999+\": buffer.flags.unread)+\" \")]):_vm._e()]),_c('div',{staticClass:\"kiwi-statebrowser-channel-leave\",on:{\"click\":function($event){return _vm.closeBuffer(buffer)}}},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})])])])})],2)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty2 = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty2(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _defineProperty = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _MessageParser = _interopRequireDefault(require(\"@/libs/MessageParser\"));\n\nvar _Html = _interopRequireDefault(require(\"@/libs/renderers/Html\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _state = _interopRequireDefault(require(\"./state\"));\n\nvar nextId = 0;\n\nfunction def(target, key, value) {\n (0, _defineProperty.default)(target, key, {\n writable: true,\n value: value\n });\n}\n\nvar Message = /*#__PURE__*/function () {\n function Message(message, user) {\n (0, _classCallCheck2.default)(this, Message);\n // instance_num is a running number for all messages created within Kiwi. Used to order\n // messages if the message time is the same.\n def(this, 'instance_num', nextId++);\n def(this, 'id', extractMessageId(message) || nextId++); // Two different times;\n // time = time in the users local time\n // server_time = time the server gave us\n\n def(this, 'time', message.time || (0, _now.default)());\n def(this, 'server_time', message.server_time || this.time);\n def(this, 'nick', message.nick);\n def(this, 'message', message.message);\n def(this, 'tags', message.tags);\n def(this, 'type', message.type || 'message');\n def(this, 'type_extra', message.type_extra);\n def(this, 'ignore', false);\n def(this, 'mentioned_urls', []); // If embed.payload is truthy, it will be embedded within the message\n\n this.embed = {\n type: 'url',\n payload: null\n };\n this.html = '';\n def(this, 'hasRendered', false); // template should be null or a Vue component to render this message\n\n def(this, 'template', message.template || null); // bodyTemplate should be null or a Vue component to render in the body of the message\n\n def(this, 'bodyTemplate', message.bodyTemplate || null);\n def(this, 'isHighlight', false); // We don't want the user object to be enumerable\n\n (0, _defineProperty.default)(this, 'user', {\n value: user\n });\n\n _vue.default.observable(this);\n }\n\n (0, _createClass2.default)(Message, [{\n key: \"render\",\n value: function render() {\n // Allow plugins to render their own messages if needed\n _GlobalApi.default.singleton().emit('message.render', {\n message: this\n });\n\n return this;\n }\n }, {\n key: \"toHtml\",\n value: function toHtml(messageList) {\n var _context;\n\n if (this.hasRendered) {\n return this.html;\n }\n\n this.hasRendered = true;\n var state = (0, _state.default)();\n var showEmoticons = state.setting('buffers.show_emoticons') && !messageList.buffer.isSpecial();\n var userList = messageList.buffer.users;\n var useExtraFormatting = !messageList.buffer.isSpecial() && messageList.useExtraFormatting && this.type === 'privmsg';\n var blocks = (0, _MessageParser.default)(this.message, {\n extras: useExtraFormatting\n }, userList);\n state.$emit('message.prestyle', {\n message: this,\n blocks: blocks\n });\n var content = (0, _Html.default)(blocks, showEmoticons);\n this.mentioned_urls = (0, _map.default)(_context = (0, _filter.default)(blocks).call(blocks, function (block) {\n return block.type === 'url';\n })).call(_context, function (block) {\n return block.meta.url;\n });\n this.html = content;\n this.maybeAutoEmbed();\n state.$emit('message.poststyle', {\n message: this,\n blocks: blocks\n });\n return this.html;\n }\n }, {\n key: \"maybeAutoEmbed\",\n value: function maybeAutoEmbed() {\n var _context2;\n\n if (!this.mentioned_urls || this.mentioned_urls.length === 0) {\n return;\n }\n\n var showLinkPreviews = (0, _state.default)().setting('buffers.inline_link_auto_previews');\n\n if (!showLinkPreviews) {\n return;\n } // Only auto preview links on user messages. Traffic, topics, notices, etc would get\n // annoying as they usually contain links of some sort\n\n\n if (this.type !== 'privmsg') {\n return;\n }\n\n var url = this.mentioned_urls[0];\n var whitelistRegex = (0, _state.default)().setting('buffers.inline_link_auto_preview_whitelist');\n whitelistRegex = (0, _trim.default)(_context2 = whitelistRegex || '').call(_context2);\n\n try {\n if (!whitelistRegex || !new RegExp(whitelistRegex, 'i').test(url)) {\n return;\n }\n } catch (err) {\n // A bad regex pattern will throw an error\n return;\n }\n\n this.embed.payload = url;\n this.embed.type = 'url';\n }\n }]);\n return Message;\n}();\n\nexports.default = Message;\n\nfunction extractMessageId(message) {\n if (!message.tags) {\n return undefined;\n }\n\n return message.tags.msgid || message.tags['draft/msgid'] || undefined;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"Message\"]\r\nwindow._kiwi_exports.libs.Message = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-mediaviewer\"},[_c('div',{staticClass:\"kiwi-mediaviewer-controls\"},[(_vm.showPin)?_c('a',{staticClass:\"u-button u-link kiwi-mediaviewer-controls-pin\",on:{\"click\":function($event){return _vm.$emit('pin')}}},[_c('i',{staticClass:\"fa fa-map-pin\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_c('a',{staticClass:\"u-button u-button-warning kiwi-mediaviewer-controls-close\",on:{\"click\":function($event){return _vm.$emit('close');}}},[_c('i',{staticClass:\"fa fa-window-close\",attrs:{\"aria-hidden\":\"true\"}})])]),(_vm.isIframe)?_c('iframe',{staticClass:\"kiwi-mediaviewer-iframe\",attrs:{\"src\":_vm.url}}):(_vm.component)?_c(_vm.component,{tag:\"component\",attrs:{\"component-props\":_vm.componentProps}}):_c('div',{key:_vm.url,staticClass:\"kiwi-mediaviewer-embedly\"},[_c('a',{ref:\"embedlyLink\",staticClass:\"kiwi-embedly-card\",attrs:{\"href\":_vm.url,\"data-card-key\":_vm.embedlyKey,\"data-card-chrome\":\"0\",\"data-card-controls\":\"0\",\"data-card-recommend\":\"0\"}},[_vm._v(_vm._s(_vm.$t('media_loading', {url: _vm.url})))])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function (_h,_vm) {var _c=_vm._c;return _c('div',{staticClass:\"kiwi-messagelist-message kiwi-messagelist-message--modern\",class:[\n _vm.props.m().isRepeat() ?\n 'kiwi-messagelist-message--authorrepeat' :\n 'kiwi-messagelist-message--authorfirst',\n 'kiwi-messagelist-message-' + _vm.props.message.type,\n _vm.props.message.type_extra ?\n 'kiwi-messagelist-message-' + _vm.props.message.type + '-' + _vm.props.message.type_extra :\n '',\n _vm.props.ml.isMessageHighlight(_vm.props.message) ?\n 'kiwi-messagelist-message--highlight' :\n '',\n _vm.props.ml.isHoveringOverMessage(_vm.props.message) ?\n 'kiwi-messagelist-message--hover' :\n '',\n _vm.props.ml.buffer.last_read && _vm.props.message.time > _vm.props.ml.buffer.last_read ?\n 'kiwi-messagelist-message--unread' :\n '',\n _vm.props.message.nick.toLowerCase() === _vm.props.ml.ourNick.toLowerCase() ?\n 'kiwi-messagelist-message--own' :\n '',\n _vm.props.ml.message_info_open === _vm.props.message ?\n 'kiwi-messagelist-message--info-open' :\n '',\n _vm.props.ml.message_info_open && _vm.props.ml.message_info_open !== _vm.props.message ?\n 'kiwi-messagelist-message--blur' :\n '',\n (_vm.props.message.user && _vm.props.m().userMode(_vm.props.message.user)) ?\n 'kiwi-messagelist-message--user-mode-' + _vm.props.m().userMode(_vm.props.message.user) :\n '',\n _vm.data.staticClass ],attrs:{\"data-message-id\":_vm.props.message.id,\"data-nick\":(_vm.props.message.nick||'').toLowerCase()},on:{\"click\":function($event){return _vm.props.ml.onMessageClick($event, _vm.props.message, true)},\"dblclick\":function($event){return _vm.props.ml.onMessageDblClick($event, _vm.props.message)}}},[_c('div',{staticClass:\"kiwi-messagelist-modern-left\"},[(_vm.props.m().isMessage(_vm.props.message) && _vm.props.m().displayAvatar(_vm.props.message))?_c(_vm.injections.components.MessageAvatar,{tag:\"component\",attrs:{\"message\":_vm.props.message,\"data-nick\":_vm.props.message.nick,\"user\":_vm.props.message.user}}):_vm._e(),(_vm.props.message.user && !_vm.props.m().isRepeat())?_c(_vm.injections.components.AwayStatusIndicator,{tag:\"component\",staticClass:\"kiwi-messagelist-awaystatus\",attrs:{\"network\":_vm.props.m().getNetwork(),\"user\":_vm.props.message.user,\"toggle\":false}}):_vm._e()],1),_c('div',{staticClass:\"kiwi-messagelist-modern-right\"},[_c('div',{staticClass:\"kiwi-messagelist-top\"},[(_vm.props.message.nick)?_c('a',{class:[\n 'kiwi-messagelist-nick',\n _vm.props.message.user && _vm.props.m().userMode(_vm.props.message.user) ?\n 'kiwi-messagelist-nick--mode-'+_vm.props.m().userMode(_vm.props.message.user) :\n ''\n ],style:({ 'color': _vm.props.ml.userColour(_vm.props.message.user) }),attrs:{\"data-nick\":(_vm.props.message.nick).toLowerCase()},on:{\"mouseover\":function($event){_vm.props.ml.hover_nick=_vm.props.message.nick.toLowerCase();},\"mouseout\":function($event){_vm.props.ml.hover_nick='';}}},[_c('span',{staticClass:\"kiwi-messagelist-nick-prefix\"},[_vm._v(_vm._s(_vm.props.message.user ? _vm.props.m().userModePrefix(_vm.props.message.user) : ''))]),_vm._v(_vm._s(_vm.props.message.nick)+\" \")]):_vm._e(),(_vm.props.m().showRealName())?_c('div',{staticClass:\"kiwi-messagelist-realname\",on:{\"click\":function($event){return _vm.props.ml.openUserBox(_vm.props.message.nick)},\"mouseover\":function($event){_vm.props.ml.hover_nick=_vm.props.message.nick.toLowerCase();},\"mouseout\":function($event){_vm.props.ml.hover_nick='';}}},[_vm._v(\" \"+_vm._s(_vm.props.message.user.realname)+\" \")]):_vm._e(),(_vm.props.m().isMessage(_vm.props.message) &&\n _vm.props.ml.bufferSetting('show_timestamps'))?_c('div',{staticClass:\"kiwi-messagelist-time\",attrs:{\"title\":_vm.props.ml.formatTimeFull(_vm.props.message.time)}},[_vm._v(\" \"+_vm._s(_vm.props.ml.formatTime(_vm.props.message.time))+\" \")]):_vm._e()]),(_vm.props.message.bodyTemplate && _vm.props.message.bodyTemplate.$el)?_c('div',{directives:[{name:\"rawElement\",rawName:\"v-rawElement\",value:(_vm.props.message.bodyTemplate.$el),expression:\"props.message.bodyTemplate.$el\"}],staticClass:\"kiwi-messagelist-body\"}):_c('div',{staticClass:\"kiwi-messagelist-body\",domProps:{\"innerHTML\":_vm._s(_vm.props.ml.formatMessage(_vm.props.message))}}),(_vm.props.ml.message_info_open===_vm.props.message)?_c(_vm.injections.components.MessageInfo,{tag:\"component\",attrs:{\"message\":_vm.props.message,\"buffer\":_vm.props.ml.buffer},on:{\"close\":function($event){return _vm.props.ml.toggleMessageInfo()}}}):_vm._e(),(_vm.props.message.embed.payload)?_c('div',[_c(_vm.injections.components.MediaViewer,{tag:\"component\",attrs:{\"url\":_vm.props.message.embed.payload,\"show-pin\":true},on:{\"close\":function($event){_vm.props.message.embed.payload = ''},\"pin\":function($event){return _vm.props.ml.openEmbedInPreview(_vm.props.message)}}})],1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _default = {\n props: ['buffer'],\n data: function data() {\n return {\n banlist: [],\n is_refreshing: false\n };\n },\n created: function created() {\n this.updateBanlist();\n },\n methods: {\n updateBanlist: function updateBanlist() {\n var _this = this;\n\n if (this.buffer.getNetwork().state !== 'connected' || this.is_refreshing) {\n return;\n }\n\n var channelName = this.buffer.name;\n this.is_refreshing = true;\n this.buffer.getNetwork().ircClient.banlist(channelName, function (banEvent) {\n _this.banlist = banEvent.bans;\n _this.is_refreshing = false;\n });\n },\n removeBan: function removeBan(mask) {\n var _context;\n\n var channelName = this.buffer.name;\n this.buffer.getNetwork().ircClient.unban(channelName, mask);\n this.banlist = (0, _filter.default)(_context = this.banlist).call(_context, function (ban) {\n return ban.banned !== mask;\n });\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"ChannelBanlist\"]\r\nwindow._kiwi_exports.components.ChannelBanlist = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./MessageListMessageInline.vue?vue&type=template&id=7979fe60&scoped=true&functional=true&\"\nimport script from \"./MessageListMessageInline.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageListMessageInline.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MessageListMessageInline.vue?vue&type=style&index=0&id=7979fe60&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n \"7979fe60\",\n null\n \n)\n\nexport default component.exports","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty2 = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty2(exports, \"__esModule\", {\n value: true\n});\n\nexports.def = def;\n\nvar _defineProperty = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\"));\n\n// Define a non-enumerable property on an object with an optional setter callback\nfunction def(target, key, value, canSet) {\n var val = value;\n var definition = {\n get: function get() {\n return val;\n }\n };\n\n if (canSet) {\n definition.set = function set(newVal) {\n var oldVal = val;\n val = newVal;\n\n if (typeof canSet === 'function') {\n canSet(newVal, oldVal);\n }\n };\n }\n\n (0, _defineProperty.default)(target, key, definition);\n\n if (typeof canSet === 'function') {\n canSet(val);\n }\n}","import { render, staticRenderFns } from \"./Nicklist.vue?vue&type=template&id=21a06ab6&\"\nimport script from \"./Nicklist.vue?vue&type=script&lang=js&\"\nexport * from \"./Nicklist.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Nicklist.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function (_h,_vm) {var _c=_vm._c;return _c('div',{staticClass:\"kiwi-messagelist-message kiwi-messagelist-message--compact\",class:[\n _vm.props.m().isRepeat() ?\n 'kiwi-messagelist-message--authorrepeat' :\n 'kiwi-messagelist-message--authorfirst',\n 'kiwi-messagelist-message-' + _vm.props.message.type,\n _vm.props.message.type_extra ?\n 'kiwi-messagelist-message-' + _vm.props.message.type + '-' + _vm.props.message.type_extra :\n '',\n _vm.props.ml.isMessageHighlight(_vm.props.message) ?\n 'kiwi-messagelist-message--highlight' :\n '',\n _vm.props.ml.isHoveringOverMessage(_vm.props.message) ?\n 'kiwi-messagelist-message--hover' :\n '',\n _vm.props.ml.buffer.last_read && _vm.props.message.time > _vm.props.ml.buffer.last_read ?\n 'kiwi-messagelist-message--unread' :\n '',\n _vm.props.message.nick.toLowerCase() === _vm.props.ml.ourNick.toLowerCase() ?\n 'kiwi-messagelist-message--own' :\n '',\n _vm.props.ml.message_info_open === _vm.props.message ?\n 'kiwi-messagelist-message--info-open' :\n '',\n _vm.props.ml.message_info_open && _vm.props.ml.message_info_open !== _vm.props.message ?\n 'kiwi-messagelist-message--blur' :\n '',\n (_vm.props.message.user && _vm.props.m().userMode(_vm.props.message.user)) ?\n 'kiwi-messagelist-message--user-mode-'+_vm.props.m().userMode(_vm.props.message.user) :\n '',\n _vm.data.staticClass ],attrs:{\"data-message-id\":_vm.props.message.id,\"data-nick\":(_vm.props.message.nick||'').toLowerCase()},on:{\"click\":function($event){return _vm.props.ml.onMessageClick($event, _vm.props.message, true)},\"dblclick\":function($event){return _vm.props.ml.onMessageDblClick($event, _vm.props.message)}}},[(_vm.props.ml.bufferSetting('show_timestamps'))?_c('div',{staticClass:\"kiwi-messagelist-time\",attrs:{\"title\":_vm.props.ml.formatTimeFull(_vm.props.message.time)}},[_vm._v(\" \"+_vm._s(_vm.props.ml.formatTime(_vm.props.message.time))+\" \")]):_vm._e(),_c('a',{class:[\n 'kiwi-messagelist-nick',\n (_vm.props.message.user && _vm.props.m().userMode(_vm.props.message.user)) ?\n 'kiwi-messagelist-nick--mode-'+_vm.props.m().userMode(_vm.props.message.user) :\n ''\n ],style:({ 'color': _vm.props.ml.userColour(_vm.props.message.user) }),attrs:{\"data-nick\":(_vm.props.message.nick||'').toLowerCase()},on:{\"mouseover\":function($event){_vm.props.ml.hover_nick=_vm.props.message.nick.toLowerCase();},\"mouseout\":function($event){_vm.props.ml.hover_nick='';}}},[(_vm.props.message.user)?_c(_vm.injections.components.AwayStatusIndicator,{tag:\"component\",attrs:{\"network\":_vm.props.m().getNetwork(),\"user\":_vm.props.message.user,\"toggle\":false}}):_vm._e(),_c('span',{staticClass:\"kiwi-messagelist-nick--prefix\"},[_vm._v(\" \"+_vm._s(_vm.props.message.user ? _vm.props.m().userModePrefix(_vm.props.message.user) : '')+\" \")]),_vm._v(\" \"+_vm._s(_vm.props.message.nick)+\" \")],1),(_vm.props.message.bodyTemplate && _vm.props.message.bodyTemplate.$el)?_c('div',{directives:[{name:\"rawElement\",rawName:\"v-rawElement\",value:(_vm.props.message.bodyTemplate.$el),expression:\"props.message.bodyTemplate.$el\"}],staticClass:\"kiwi-messagelist-body\"}):_c('div',{staticClass:\"kiwi-messagelist-body\",domProps:{\"innerHTML\":_vm._s(_vm.props.ml.formatMessage(_vm.props.message))}}),(_vm.props.ml.message_info_open===_vm.props.message)?_c(_vm.injections.components.MessageInfo,{tag:\"component\",attrs:{\"message\":_vm.props.message,\"buffer\":_vm.props.ml.buffer},on:{\"close\":function($event){return _vm.props.ml.toggleMessageInfo()}}}):_vm._e(),(_vm.props.message.embed.payload)?_c('div',[_c(_vm.injections.components.MediaViewer,{tag:\"component\",attrs:{\"url\":_vm.props.message.embed.payload,\"show-pin\":true},on:{\"close\":function($event){_vm.props.message.embed.payload = ''},\"pin\":function($event){return _vm.props.ml.openEmbedInPreview(_vm.props.message)}}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelfUser.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelfUser.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.SoundBleep = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar SoundBleep = /*#__PURE__*/function () {\n function SoundBleep() {\n (0, _classCallCheck2.default)(this, SoundBleep);\n this.audio = document.createElement('audio');\n var source = document.createElement('source');\n\n if (this.audio.canPlayType('audio/mpeg;')) {\n source.type = 'audio/mpeg';\n source.src = 'static/highlight.mp3';\n } else {\n source.type = 'audio/ogg';\n source.src = 'static/highlight.ogg';\n }\n\n this.audio.appendChild(source);\n }\n\n (0, _createClass2.default)(SoundBleep, [{\n key: \"play\",\n value: function play() {\n this.audio.play();\n }\n }]);\n return SoundBleep;\n}();\n\nexports.SoundBleep = SoundBleep;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-appsettings\"},[_c('div',{staticClass:\"kiwi-appsettings-title\",on:{\"click\":_vm.closeSettings}},[_c('span',[_vm._v(_vm._s(_vm.$t('close')))]),_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})]),_c('form',{staticClass:\"u-form\"},[_c('tabbed-view',{ref:\"tabs\",staticClass:\"kiwi-appsettings-tab-container\"},[_c('tabbed-tab',{attrs:{\"header\":_vm.$t('settings_general'),\"focus\":true,\"name\":\"general\"}},[_c('div',{staticClass:\"kiwi-appsettings-block\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('settings_general')))]),_c('div',{staticClass:\"kiwi-appsettings-section kiwi-appsettings-general\"},[_c('label',{staticClass:\"kiwi-appsettings-setting-language\"},[_c('div',[_c('i',{staticClass:\"fa fa-globe\"})]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingLanguage),expression:\"settingLanguage\"}],on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.settingLanguage=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"value\":\"\"}},[_vm._v(\" Auto \")]),_vm._l((_vm.localesList),function(l){return _c('option',{key:l[0],domProps:{\"value\":l[0]}},[_vm._v(\" \"+_vm._s(l[1])+\" \")])})],2)]),_c('label',{staticClass:\"kiwi-appsettings-setting-theme\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_theme'))+\" \")]),_c('a',{staticClass:\"kiwi-appsettings-theme-reload\",attrs:{\"title\":_vm.$t('refresh_theme')},on:{\"click\":_vm.refreshTheme}},[_c('i',{staticClass:\"fa fa-refresh\",attrs:{\"aria-hidden\":\"true\"}})]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.theme),expression:\"theme\"}],on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.theme=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.settings.themes),function(t){return _c('option',{key:t.name,domProps:{\"value\":t.name}},[_vm._v(\" \"+_vm._s(t.name)+\" \")])}),0)]),(_vm.theme==='custom')?_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('settings_themeurl'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.customThemeUrl),expression:\"customThemeUrl\"}],staticClass:\"u-input\",domProps:{\"value\":(_vm.customThemeUrl)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.customThemeUrl=$event.target.value}}})]):_vm._e(),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_show_autocomplete'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingShowAutoComplete),expression:\"settingShowAutoComplete\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingShowAutoComplete)?_vm._i(_vm.settingShowAutoComplete,null)>-1:(_vm.settingShowAutoComplete)},on:{\"change\":function($event){var $$a=_vm.settingShowAutoComplete,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingShowAutoComplete=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingShowAutoComplete=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingShowAutoComplete=$$c}}}})]),(_vm.themeSupportsMonospace)?_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_use_monospace'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingUseMonospace),expression:\"settingUseMonospace\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingUseMonospace)?_vm._i(_vm.settingUseMonospace,null)>-1:(_vm.settingUseMonospace)},on:{\"change\":function($event){var $$a=_vm.settingUseMonospace,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingUseMonospace=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingUseMonospace=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingUseMonospace=$$c}}}})]):_vm._e(),(_vm.canRegisterProtocolHandler)?_c('div',{staticStyle:{\"margin-top\":\"10px\",\"text-align\":\"center\"}},[_c('a',{staticClass:\"u-button u-button-primary\",on:{\"click\":function($event){return _vm.makeDefaultProtocolHandler()}}},[_c('i',[_vm._v(_vm._s(_vm.$t('settings_default_handler')))])])]):_vm._e()])]),_c('div',{staticClass:\"kiwi-appsettings-block\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('settings_messages_title')))]),_c('div',{staticClass:\"kiwi-appsettings-section kiwi-appsettings-messages\"},[_c('label',{staticClass:\"kiwi-appsettings-messagelistDisplay\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_messagelayout'))+\" \")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingMessageLayout),expression:\"settingMessageLayout\"}],on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.settingMessageLayout=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"value\":\"traditional\"}},[_vm._v(\"Traditional\")]),_c('option',{attrs:{\"value\":\"modern\"}},[_vm._v(\"Modern\")]),_c('option',{attrs:{\"value\":\"inline\"}},[_vm._v(\"Inline\")])])]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_timestamps'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingBufferShowTimestamps),expression:\"settingBufferShowTimestamps\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingBufferShowTimestamps)?_vm._i(_vm.settingBufferShowTimestamps,null)>-1:(_vm.settingBufferShowTimestamps)},on:{\"change\":function($event){var $$a=_vm.settingBufferShowTimestamps,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingBufferShowTimestamps=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingBufferShowTimestamps=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingBufferShowTimestamps=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_24hour_timestamps'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.timestamps_24h),expression:\"timestamps_24h\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.timestamps_24h)?_vm._i(_vm.timestamps_24h,null)>-1:(_vm.timestamps_24h)},on:{\"change\":function($event){var $$a=_vm.timestamps_24h,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.timestamps_24h=$$a.concat([$$v]))}else{$$i>-1&&(_vm.timestamps_24h=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.timestamps_24h=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_emoticons'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingBufferShowEmoticons),expression:\"settingBufferShowEmoticons\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingBufferShowEmoticons)?_vm._i(_vm.settingBufferShowEmoticons,null)>-1:(_vm.settingBufferShowEmoticons)},on:{\"change\":function($event){var $$a=_vm.settingBufferShowEmoticons,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingBufferShowEmoticons=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingBufferShowEmoticons=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingBufferShowEmoticons=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_block_private'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingBufferBlockPms),expression:\"settingBufferBlockPms\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingBufferBlockPms)?_vm._i(_vm.settingBufferBlockPms,null)>-1:(_vm.settingBufferBlockPms)},on:{\"change\":function($event){var $$a=_vm.settingBufferBlockPms,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingBufferBlockPms=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingBufferBlockPms=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingBufferBlockPms=$$c}}}})]),_c('label',{staticClass:\"kiwi-appsettings-full kiwi-appsettings-setting-scrollback\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingBufferScrollbackSize),expression:\"settingBufferScrollbackSize\"}],staticClass:\"u-input\",attrs:{\"type\":\"number\"},domProps:{\"value\":(_vm.settingBufferScrollbackSize)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.settingBufferScrollbackSize=$event.target.value}}}),_c('span',[_vm._v(_vm._s(_vm.$t('settings_scrollback'))+\" \")])]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_formatting'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingBufferExtraFormatting),expression:\"settingBufferExtraFormatting\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingBufferExtraFormatting)?_vm._i(_vm.settingBufferExtraFormatting,null)>-1:(_vm.settingBufferExtraFormatting)},on:{\"change\":function($event){var $$a=_vm.settingBufferExtraFormatting,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingBufferExtraFormatting=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingBufferExtraFormatting=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingBufferExtraFormatting=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_nick_colouring'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingBufferColourNicknames),expression:\"settingBufferColourNicknames\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingBufferColourNicknames)?_vm._i(_vm.settingBufferColourNicknames,null)>-1:(_vm.settingBufferColourNicknames)},on:{\"change\":function($event){var $$a=_vm.settingBufferColourNicknames,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingBufferColourNicknames=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingBufferColourNicknames=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingBufferColourNicknames=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_share_typing'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingBufferShareTyping),expression:\"settingBufferShareTyping\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingBufferShareTyping)?_vm._i(_vm.settingBufferShareTyping,null)>-1:(_vm.settingBufferShareTyping)},on:{\"change\":function($event){var $$a=_vm.settingBufferShareTyping,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingBufferShareTyping=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingBufferShareTyping=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingBufferShareTyping=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_show_inline_previews'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingBufferInlineLinkPreviews),expression:\"settingBufferInlineLinkPreviews\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingBufferInlineLinkPreviews)?_vm._i(_vm.settingBufferInlineLinkPreviews,null)>-1:(_vm.settingBufferInlineLinkPreviews)},on:{\"change\":function($event){var $$a=_vm.settingBufferInlineLinkPreviews,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingBufferInlineLinkPreviews=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingBufferInlineLinkPreviews=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingBufferInlineLinkPreviews=$$c}}}})])])]),_c('div',{staticClass:\"kiwi-appsettings-block\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('notifications')))]),_c('div',{staticClass:\"kiwi-appsettings-section kiwi-appsettings-notifications\"},[_c('label',{staticClass:\"kiwi-appsettings-setting-showjoinpart u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_show_joinpart'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingBufferTrafficAsActivity),expression:\"settingBufferTrafficAsActivity\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingBufferTrafficAsActivity)?_vm._i(_vm.settingBufferTrafficAsActivity,null)>-1:(_vm.settingBufferTrafficAsActivity)},on:{\"change\":function($event){var $$a=_vm.settingBufferTrafficAsActivity,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingBufferTrafficAsActivity=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingBufferTrafficAsActivity=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingBufferTrafficAsActivity=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_mute_sound'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingBufferMuteSound),expression:\"settingBufferMuteSound\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingBufferMuteSound)?_vm._i(_vm.settingBufferMuteSound,null)>-1:(_vm.settingBufferMuteSound)},on:{\"change\":function($event){var $$a=_vm.settingBufferMuteSound,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingBufferMuteSound=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingBufferMuteSound=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingBufferMuteSound=$$c}}}})]),_c('label',{staticClass:\"kiwi-appsettings-full\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_highlight'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingHighlights),expression:\"settingHighlights\"}],staticClass:\"u-input\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.settingHighlights)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.settingHighlights=$event.target.value}}})])])]),_c('div',{staticClass:\"kiwi-appsettings-block\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('operator_tools')))]),_c('div',{staticClass:\"kiwi-appsettings-section kiwi-appsettings-operator-tools\"},[_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('settings_default_ban_mask'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingDefaultBanMask),expression:\"settingDefaultBanMask\"}],staticClass:\"u-input\",domProps:{\"value\":(_vm.settingDefaultBanMask)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.settingDefaultBanMask=$event.target.value}}})]),_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('settings_default_kick_reason')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingDefaultKickReason),expression:\"settingDefaultKickReason\"}],staticClass:\"u-input\",domProps:{\"value\":(_vm.settingDefaultKickReason)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.settingDefaultKickReason=$event.target.value}}})])])]),(!_vm.$state.setting('hide_advanced') && !_vm.settingAdvancedEnable)?_c('div',{staticClass:\"kiwi-appsettings-block\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('settings_advanced_title')))]),_c('div',{staticClass:\"kiwi-appsettings-section kiwi-appsettings-advanced-enable\"},[_c('div',[_c('span',{staticStyle:{\"font-weight\":\"600\"}},[_vm._v(\" \"+_vm._s(_vm.$t('warning'))+\" \")]),_vm._v(\" \"+_vm._s(_vm.$t('settings_advanced_warning'))+\" \")]),_c('div',{staticStyle:{\"margin-top\":\"10px\",\"text-align\":\"center\"}},[_c('a',{staticClass:\"u-button u-button-warning\",on:{\"click\":function($event){return _vm.enableAdvancedTab()}}},[_c('i',[_vm._v(_vm._s(_vm.$t('settings_advanced_button')))])])])])]):_vm._e()]),_c('tabbed-tab',{attrs:{\"header\":_vm.$t('settings_aliases'),\"name\":\"aliases\"}},[_c('div',{staticClass:\"kiwi-appsettings-block kiwi-appsettings-block-aliases\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('settings_aliases')))]),_c('div',{staticClass:\"kiwi-appsettings-section kiwi-appsettings-aliases\"},[_c('settings-aliases')],1)])]),(_vm.settingAdvancedEnable)?_c('tabbed-tab',{attrs:{\"header\":_vm.$t('settings_advanced'),\"name\":\"advanced\"}},[_c('div',{staticClass:\"kiwi-appsettings-block kiwi-appsettings-block-advanced\"},[_c('div',{staticClass:\"kiwi-appsettings-section kiwi-appsettings-advanced\"},[_c('settings-advanced')],1)])]):_vm._e(),_vm._l((_vm.pluginUiElements),function(item){return _c('tabbed-tab',{key:item.id,attrs:{\"header\":item.title,\"name\":item.title}},[_c(item.component,_vm._b({tag:\"div\"},'div',item.props,false))],1)})],2)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NicklistUser.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NicklistUser.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageInline.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageInline.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Emoji.vue?vue&type=template&id=7def9e4c&\"\nimport script from \"./Emoji.vue?vue&type=script&lang=js&\"\nexport * from \"./Emoji.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Emoji.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingAnimation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingAnimation.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-settings-aliases\"},[_c('form',{staticClass:\"u-form\"},[_c('a',{staticClass:\"u-link kiwi-settings-aliases-showhelp\",on:{\"click\":function($event){_vm.show_help=!_vm.show_help}}},[_vm._v(\" \"+_vm._s(_vm.$t('what_are_aliases'))+\" \")]),(_vm.show_help)?_c('div',{staticClass:\"kiwi-settings-aliases-help\"},[_c('p',[_vm._v(\"Aliases let you rename existing IRC commands or even build entirely new ones.\")]),_vm._m(0),_c('h4',[_vm._v(\"Variables\")]),_vm._m(1),_vm._m(2),_c('h4',[_vm._v(\"Helper commands\")]),_vm._m(3)]):_vm._e(),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.aliasText),expression:\"aliasText\"}],staticClass:\"kiwi-settings-aliases-input\",domProps:{\"value\":(_vm.aliasText)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.aliasText=$event.target.value}}})])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\" They must be one per line and in the form of \"),_c('em',[_vm._v(\"/name /what it should do\")]),_vm._v(\". \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\" There are several variables that may be used to refer to the current environment such as the active channel or active nick. \"),_c('ul',[_c('li',[_c('em',[_vm._v(\"$server\")]),_vm._v(\" The current network name\")]),_c('li',[_c('em',[_vm._v(\"$channel / $destination\")]),_vm._v(\" The current channel / buffer name\")]),_c('li',[_c('em',[_vm._v(\"$nick\")]),_vm._v(\" The current nick\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\" You can also use variables to read input from the typed command. \"),_c('br'),_c('ul',[_c('li',[_c('em',[_vm._v(\"$0\")]),_vm._v(\" The command name\")]),_c('li',[_c('em',[_vm._v(\"$1\")]),_vm._v(\" The first argument from the typed input\")]),_c('li',[_c('em',[_vm._v(\"$2\")]),_vm._v(\" The second argument from the typed input\")]),_c('li',[_c('em',[_vm._v(\"$1+\")]),_vm._v(\" From the first argument to the last argument\")])]),_c('b',[_vm._v(\"Example 1:\")]),_vm._v(\" \"),_c('em',[_vm._v(\"/greet /msg $1 Hello, $1!\")]),_c('br'),_vm._v(\" This creates an IRC command /greet that accepts one argument. Typing \\\"/greet username\\\" will execute \\\"/msg username Hello, username!\\\". \"),_c('br'),_c('b',[_vm._v(\"Example 2:\")]),_vm._v(\" \"),_c('em',[_vm._v(\"/ban /quote mode $channel +b $1+\")]),_c('br'),_vm._v(\" This creates an IRC command /ban that does a few things. Typing \\\"/ban nick1 nick2\\\" will execute \\\"/quote mode #activechannel +b nick1 nick2\\\". $channel is replaced with the active channel name, $1+ is replaced with all the typed input from the first word to the end. \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('ul',[_c('li',[_c('em',[_vm._v(\"/echo\")]),_c('br'),_vm._v(\"Sends a message to the active buffer without sending it to the IRC network. Eg, /echo Something happened \")]),_c('li',[_c('em',[_vm._v(\"/lines\")]),_c('br'),_vm._v(\" Similar to Mirc script, this lets you execute multiples lines of commands separated by a pipe, \\\"|\\\".\"),_c('br'),_vm._v(\" Example: \\\"/lines /ban nick1 | /echo Banned user\\\" would first execute the /ban command, and then the /echo command. This comes in handy with creating short aliases such as the common \\\"/cycle\\\" command that parts and re-joins the active channel: \\\"/cycle /lines /part $channel | /join $channel\\\". \")])])])}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SettingsAdvanced.vue?vue&type=template&id=0b7f98c0&\"\nimport script from \"./SettingsAdvanced.vue?vue&type=script&lang=js&\"\nexport * from \"./SettingsAdvanced.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SettingsAdvanced.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function (_h,_vm) {var _c=_vm._c;return _c('div',{staticClass:\"kiwi-messagelist-message kiwi-messagelist-message--text\",class:[\n 'kiwi-messagelist-message-' + _vm.props.message.type,\n _vm.props.message.type_extra ?\n 'kiwi-messagelist-message-' + _vm.props.message.type + '-' + _vm.props.message.type_extra :\n '',\n _vm.props.ml.isMessageHighlight(_vm.props.message) ?\n 'kiwi-messagelist-message--highlight' :\n '',\n _vm.props.ml.isHoveringOverMessage(_vm.props.message) ?\n 'kiwi-messagelist-message--hover' :\n '',\n _vm.props.ml.buffer.last_read && _vm.props.message.time > _vm.props.ml.buffer.last_read ?\n 'kiwi-messagelist-message--unread' :\n '',\n _vm.props.message.nick.toLowerCase() === _vm.props.ml.ourNick.toLowerCase() ?\n 'kiwi-messagelist-message--own' :\n '',\n _vm.props.ml.message_info_open === _vm.props.message ?\n 'kiwi-messagelist-message--info-open' :\n '',\n _vm.props.ml.message_info_open && _vm.props.ml.message_info_open !== _vm.props.message ?\n 'kiwi-messagelist-message--blur' :\n '',\n (_vm.props.message.user && _vm.props.m().userMode(_vm.props.message.user)) ?\n 'kiwi-messagelist-message--user-mode-'+_vm.props.m().userMode(_vm.props.message.user) :\n '',\n _vm.data.staticClass ],attrs:{\"data-message-id\":_vm.props.message.id,\"data-nick\":(_vm.props.message.nick||'').toLowerCase()},on:{\"click\":function($event){return _vm.props.ml.onMessageClick($event, _vm.props.message, true)},\"dblclick\":function($event){return _vm.props.ml.onMessageDblClick($event, _vm.props.message)}}},[_c('div',[(_vm.props.ml.bufferSetting('show_timestamps'))?_c('span',{staticClass:\"kiwi-messagelist-time\"},[_vm._v(\" \"+_vm._s(_vm.props.ml.formatTime(_vm.props.message.time))+\" \")]):_vm._e(),_c('span',{class:[\n 'kiwi-messagelist-nick',\n (_vm.props.message.user && _vm.props.m().userMode(_vm.props.message.user)) ?\n 'kiwi-messagelist-nick--mode-'+_vm.props.m().userMode(_vm.props.message.user) :\n ''\n ],style:({ 'color': _vm.props.ml.userColour(_vm.props.message.user) }),attrs:{\"data-nick\":(_vm.props.message.nick||'').toLowerCase()},on:{\"mouseover\":function($event){_vm.props.ml.hover_nick=_vm.props.message.nick.toLowerCase();},\"mouseout\":function($event){_vm.props.ml.hover_nick='';}}},[_c('span',{staticClass:\"kiwi-messagelist-nick--prefix\"},[_vm._v(\" \"+_vm._s(_vm.props.message.user ? _vm.props.m().userModePrefix(_vm.props.message.user) : '')+\" \")]),_c('a',{attrs:{\"data-nick\":(_vm.props.message.nick||'').toLowerCase()}},[_vm._v(\" \"+_vm._s(_vm.props.m().displayNick())+\" \")])]),(_vm.props.message.bodyTemplate && _vm.props.message.bodyTemplate.$el)?_c('div',{directives:[{name:\"rawElement\",rawName:\"v-rawElement\",value:(_vm.props.message.bodyTemplate.$el),expression:\"props.message.bodyTemplate.$el\"}],staticClass:\"kiwi-messagelist-body\"}):_c('div',{staticClass:\"kiwi-messagelist-body\",domProps:{\"innerHTML\":_vm._s(_vm.props.ml.formatMessage(_vm.props.message))}})]),(_vm.props.ml.message_info_open===_vm.props.message)?_c(_vm.injections.components.MessageInfo,{tag:\"component\",attrs:{\"message\":_vm.props.message,\"buffer\":_vm.props.ml.buffer},on:{\"close\":function($event){return _vm.props.ml.toggleMessageInfo()}}}):_vm._e(),(_vm.props.message.embed.payload)?_c('div',[_c(_vm.injections.components.MediaViewer,{tag:\"component\",attrs:{\"url\":_vm.props.message.embed.payload,\"show-pin\":true},on:{\"close\":function($event){_vm.props.message.embed.payload = ''},\"pin\":function($event){return _vm.props.ml.openEmbedInPreview(_vm.props.message)}}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./KiwiBnc.vue?vue&type=template&id=e501b820&\"\nimport script from \"./KiwiBnc.vue?vue&type=script&lang=js&\"\nexport * from \"./KiwiBnc.vue?vue&type=script&lang=js&\"\nimport style0 from \"./KiwiBnc.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelList.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelList.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public'; // eslint-plugin-vue's max-len rule reads the entire file, including the CSS. so we can't use this\n// here as some of the rules cannot be broken up any smaller\n\n/* eslint-disable max-len */\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _TextFormatting = require(\"@/helpers/TextFormatting\");\n\nvar _MessageInfo = _interopRequireDefault(require(\"./MessageInfo\"));\n\nvar _MessageListAvatar = _interopRequireDefault(require(\"./MessageListAvatar\"));\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\nvar _MediaViewer = _interopRequireDefault(require(\"./MediaViewer\"));\n\nvar methods = {\n props: {},\n showRealName: function showRealName() {\n var props = this.props; // Showing realname is not enabled\n\n if (!props.ml.buffer.setting('show_realnames')) {\n return false;\n } // Server does not support extended-join so realname would be inconsistent\n\n\n var client = props.ml.buffer.getNetwork().ircClient;\n\n if (!client.network.cap.isEnabled('extended-join')) {\n return false;\n } // We dont have a user or users realname\n\n\n if (!props.message.user || !props.message.user.realname) {\n return false;\n } // No point showing the realname if it's the same as the nick\n\n\n if (props.message.user.nick.toLowerCase() === props.message.user.realname.toLowerCase()) {\n return false;\n } // If the realname contains a URL it's most likely a clients website\n\n\n if (_TextFormatting.urlRegex.test(props.message.user.realname)) {\n return false;\n }\n\n return true;\n },\n getNetwork: function getNetwork() {\n var props = this.props;\n return props.ml.buffer.getNetwork();\n },\n isRepeat: function isRepeat() {\n var props = this.props;\n var ml = props.ml;\n var idx = props.idx;\n var message = props.message;\n var prevMessage = ml.filteredMessages[idx - 1];\n return !!prevMessage && prevMessage.nick === message.nick && message.time - prevMessage.time < 60000 && prevMessage.type !== 'traffic' && message.type !== 'traffic' && message.type === prevMessage.type;\n },\n isHoveringOverMessage: function isHoveringOverMessage(message) {\n var props = this.props;\n return message.nick && message.nick.toLowerCase() === props.ml.hover_nick.toLowerCase();\n },\n isMessage: function isMessage(message) {\n var types = ['privmsg', 'action', 'notice', 'message'];\n return (0, _indexOf.default)(types).call(types, message.type) > -1;\n },\n displayAvatar: function displayAvatar(message) {\n var props = this.props; // if there is no user attached hide the avatar\n\n if (!message.user) {\n return false;\n } // dont show avatars in server or special buffers\n\n\n if (props.ml.buffer.isServer() || props.ml.buffer.isSpecial()) {\n return false;\n }\n\n return true;\n },\n userMode: function userMode(user) {\n var props = this.props;\n return props.ml.buffer.userMode(user);\n },\n userModePrefix: function userModePrefix(user) {\n var props = this.props;\n return props.ml.buffer.userModePrefix(user);\n }\n};\nvar _default = {\n inject: {\n components: {\n default: {\n MessageAvatar: _MessageListAvatar.default,\n MessageInfo: _MessageInfo.default,\n AwayStatusIndicator: _AwayStatusIndicator.default,\n MediaViewer: _MediaViewer.default\n }\n }\n },\n props: {\n ml: Object,\n message: Object,\n idx: Number,\n m: {\n default: function m() {\n // vue uses this function to generate the prop. `this`==null Return our own function\n return function n() {\n // Give our methods some props context before its function is called.\n // This is only safe because the function on the methods object is called on\n // the same js tick\n methods.props = this;\n return methods;\n };\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"MessageListMessageModern\"]\r\nwindow._kiwi_exports.components.MessageListMessageModern = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public'; // Helper to generate Vues computed methods for simple channel modes.\n// Eg. +i, +n, etc\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nfunction generateComputedMode(mode) {\n return {\n get: function computedModeGet() {\n return this.modeVal(mode);\n },\n set: function computedModeSet(newVal) {\n return this.setMode((newVal ? '+' : '-') + mode);\n }\n };\n} // Helper to generate Vues computed methods for channel modes with a parameter\n// Eg. \"+k key\"\n\n\nfunction generateComputedModeWithParam(mode) {\n return {\n get: function computedModeWithParamGet() {\n var val = this.modeVal(mode);\n return val === false ? '' : val;\n },\n set: function computedModeWithParamSet(newVal) {\n if (newVal) {\n this.setMode('+' + mode, newVal);\n } else {\n this.setMode('-' + mode, this.modeVal(mode));\n }\n }\n };\n}\n\nvar _default = {\n props: ['buffer'],\n data: function data() {\n return {\n showPrevTopics: false\n };\n },\n computed: {\n modeM: generateComputedMode('m'),\n modeI: generateComputedMode('i'),\n modeT: generateComputedMode('t'),\n modeN: generateComputedMode('n'),\n modeK: generateComputedModeWithParam('k'),\n topic: {\n get: function computedTopicGet() {\n return this.buffer.topic;\n },\n set: function computedTopicSet(newVal) {\n var newTopic = newVal.replace('\\n', ' '); // TODO: Update irc-framework to insert a trailing : if the last argument is an\n // empty string. The trailing : makes a difference between things like\n // requesting a topic and changing to an empty topic\n\n if (!(0, _trim.default)(newTopic).call(newTopic)) {\n this.buffer.getNetwork().ircClient.raw(\"TOPIC \".concat(this.buffer.name, \" :\"));\n } else {\n this.buffer.getNetwork().ircClient.setTopic(this.buffer.name, newTopic);\n }\n }\n },\n prevTopics: function prevTopics() {\n var _context;\n\n return (0, _filter.default)(_context = this.buffer.topics).call(_context, function (topic) {\n return (0, _trim.default)(topic).call(topic);\n });\n }\n },\n methods: {\n updateBanList: function updateBanList() {\n this.buffer.getNetwork().ircClient.raw('MODE', this.buffer.name, '+b');\n },\n setMode: function setMode(mode, param) {\n this.buffer.getNetwork().ircClient.raw('MODE', this.buffer.name, mode, param);\n },\n modeVal: function modeVal(mode) {\n var val = false;\n\n if (typeof this.buffer.modes[mode] === 'undefined') {\n // Specifically undefined = mode not set\n val = false;\n } else if (!this.buffer.modes[mode]) {\n // Falsy value = mode set without value\n val = true;\n } else {\n // Anything else = mode set with a value\n val = this.buffer.modes[mode];\n }\n\n return val;\n },\n areWeAnOp: function areWeAnOp() {\n return this.buffer.isUserAnOp(this.buffer.getNetwork().nick);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"ChannelInfo\"]\r\nwindow._kiwi_exports.components.ChannelInfo = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Nicklist.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Nicklist.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaViewer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaViewer.vue?vue&type=script&lang=js&\"","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KiwiBnc.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KiwiBnc.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-header kiwi-theme-bg\",on:{\"click\":_vm.onHeaderClick}},[(_vm.isChannel())?[_c('div',{staticClass:\"kiwi-header-name-container\"},[_c('div',{staticClass:\"kiwi-header-name\"},[_vm._v(_vm._s(_vm.buffer.name))])]),(_vm.isJoined && _vm.isConnected)?_c('div',{key:_vm.buffer.id,staticClass:\"kiwi-header-options\"},[_vm._l((_vm.pluginUiChannelElements),function(plugin){return _c('div',{directives:[{name:\"rawElement\",rawName:\"v-rawElement\",value:(plugin.el),expression:\"plugin.el\"}],key:plugin.id,staticClass:\"kiwi-header-option\"})}),_c('div',{staticClass:\"kiwi-header-option kiwi-header-option-about\",class:{\n 'kiwi-header-option--active': _vm.sidebarSection === 'about'\n }},[_c('a',{attrs:{\"title\":_vm.$t('more_information')},on:{\"click\":function($event){return _vm.sidebarState.toggleAbout()}}},[_c('i',{staticClass:\"fa fa-info\",attrs:{\"aria-hidden\":\"true\"}})])]),_c('div',{staticClass:\"kiwi-header-option kiwi-header-option-nicklist\",class:{\n 'kiwi-header-option--active': _vm.sidebarSection === 'nicklist'\n || _vm.sidebarSection === 'user'\n }},[_c('a',{attrs:{\"title\":_vm.$t('person', {count: Object.keys(_vm.buffer.users).length})},on:{\"click\":function($event){return _vm.sidebarState.toggleNicklist()}}},[_c('i',{staticClass:\"fa fa-users\",attrs:{\"aria-hidden\":\"true\"}}),_c('span',[_vm._v(_vm._s(Object.keys(_vm.buffer.users).length))])])]),_c('div',{staticClass:\"kiwi-header-option kiwi-header-option-settings\",class:{\n 'kiwi-header-option--active': _vm.sidebarSection === 'settings'\n }},[_c('a',{attrs:{\"title\":_vm.$t('channel_settings')},on:{\"click\":function($event){return _vm.sidebarState.toggleBufferSettings()}}},[_c('i',{staticClass:\"fa fa-cog\",attrs:{\"aria-hidden\":\"true\"}})])]),(_vm.sidebarState.isPinned)?_c('div',{staticClass:\"kiwi-header-option kiwi-header-option-unpinsidebar\"},[_c('a',{on:{\"click\":function($event){return _vm.sidebarState.unpin()}}},[_c('i',{staticClass:\"fa fa-thumb-tack\",attrs:{\"aria-hidden\":\"true\"}})])]):_vm._e()],2):_vm._e(),(!_vm.isJoined && _vm.isConnected)?_c('div',{staticClass:\"kiwi-header-notjoined\"},[_c('a',{staticClass:\"u-link kiwi-header-join-channel-button\",on:{\"click\":_vm.joinCurrentBuffer}},[_vm._v(\" \"+_vm._s(_vm.$t('container_join'))+\" \")])]):_vm._e(),_c('transition',{attrs:{\"name\":\"kiwi-header-prompttrans\"}},[(_vm.prompts.closeChannel)?_c('input-confirm',{staticClass:\"kiwi-header-prompt\",attrs:{\"label\":_vm.$t('prompt_leave_channel'),\"flip-connotation\":true},on:{\"ok\":_vm.closeCurrentBuffer,\"submit\":function($event){_vm.prompts.closeChannel=false}}}):_vm._e()],1)]:(_vm.isServer())?[_c('div',{staticClass:\"kiwi-header-name-container\"},[_c('div',{staticClass:\"kiwi-header-name\"},[_vm._v(\" \"+_vm._s(_vm.buffer.getNetwork().name)+\" \")])]),_c('div',{staticClass:\"kiwi-header-server-connection\"},[(_vm.buffer.getNetwork().state === 'disconnected')?_c('a',{staticClass:\"u-button u-button-primary\",on:{\"click\":_vm.onConnectButtonClick}},[_vm._v(\" \"+_vm._s(_vm.$t('connect'))+\" \")]):(_vm.buffer.getNetwork().state === 'connecting')?_c('span',[_c('i',{staticClass:\"fa fa-spin fa-spinner\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('connecting'))+\" \")]):_vm._e()])]:(_vm.isQuery())?[_c('div',{staticClass:\"kiwi-header-name-container\"},[_c('div',{staticClass:\"kiwi-header-name\"},[_c('away-status-indicator',{staticClass:\"kiwi-header-awaystatus\",attrs:{\"network\":_vm.buffer.getNetwork(),\"user\":_vm.network.userByName(_vm.buffer.name)}}),_vm._v(\" \"+_vm._s(_vm.buffer.name)+\" \")],1)]),_c('div',{key:_vm.buffer.id,staticClass:\"kiwi-header-options\"},[(_vm.userOnline)?_c('div',{staticClass:\"kiwi-header-option kiwi-header-option-user\",class:{\n 'kiwi-header-option--active': _vm.sidebarSection === 'user'\n }},[_c('a',{on:{\"click\":function($event){return _vm.toggleUser()}}},[_c('i',{staticClass:\"fa fa-user\",attrs:{\"aria-hidden\":\"true\"}})])]):_vm._e(),_vm._l((_vm.pluginUiQueryElements),function(plugin){return _c('div',{directives:[{name:\"rawElement\",rawName:\"v-rawElement\",value:(plugin.el),expression:\"plugin.el\"}],key:plugin.id,staticClass:\"kiwi-header-option\"})}),_c('div',{staticClass:\"kiwi-header-option kiwi-header-option-leave\"},[_c('a',{on:{\"click\":_vm.closeCurrentBuffer}},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})])])],2)]:(_vm.isSpecial())?[_c('div',{staticClass:\"kiwi-header-name-container\"},[_c('div',{staticClass:\"kiwi-header-name\"},[_vm._v(_vm._s(_vm.buffer.name))])]),_c('div',{staticClass:\"kiwi-header-options\"},[_c('div',{staticClass:\"kiwi-header-option kiwi-header-option-leave\"},[_c('a',{on:{\"click\":_vm.closeCurrentBuffer}},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})])])])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _flags = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/flags\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _ContainerHeader = _interopRequireDefault(require(\"./ContainerHeader\"));\n\nvar _Sidebar = _interopRequireDefault(require(\"./Sidebar\"));\n\nvar _NotConnected = _interopRequireDefault(require(\"./NotConnected\"));\n\nvar _MessageList = _interopRequireDefault(require(\"./MessageList\"));\n\nvar _ServerView = _interopRequireDefault(require(\"./ServerView\"));\n\nvar _default = {\n components: {\n ContainerHeader: _ContainerHeader.default,\n Sidebar: _Sidebar.default,\n NotConnected: _NotConnected.default,\n MessageList: _MessageList.default,\n ServerView: _ServerView.default\n },\n props: ['network', 'buffer', 'sidebarState'],\n data: function data() {\n return {};\n },\n computed: {\n bufferType: function bufferType() {\n var type = '';\n\n if (!this.buffer) {\n type = 'none';\n } else if (this.buffer.isServer()) {\n type = 'server';\n } else if (this.buffer.isChannel()) {\n type = 'channel';\n } else if (this.buffer.isQuery()) {\n type = 'query';\n }\n\n return type;\n },\n unreadMessages: function unreadMessages() {\n var _context;\n\n var count = 0;\n var highlight = false;\n (0, _forEach.default)(_context = this.$state.networks).call(_context, function (network) {\n var _context2;\n\n (0, _forEach.default)(_context2 = network.buffers).call(_context2, function (buffer) {\n count += (0, _flags.default)(buffer).unread || 0;\n\n if ((0, _flags.default)(buffer).highlight) {\n highlight = true;\n }\n });\n });\n return {\n count: count,\n highlight: highlight\n };\n }\n },\n created: function created() {\n var _this = this;\n\n this.listen(this.$state, 'sidebar.toggle', function () {\n _this.$state.$emit('sidebar.' + (_this.sidebarState.isDrawn ? 'hide' : 'show'));\n });\n this.listen(this.$state, 'sidebar.show', function () {\n _this.sidebarState.showNicklist();\n });\n this.listen(this.$state, 'sidebar.hide', function () {\n _this.sidebarState.close();\n });\n this.listen(this.$state, 'userbox.show', function (user, opts) {\n _this.sidebarState.showUser(user);\n });\n this.listen(this.$state, 'userbox.hide', function () {\n _this.sidebarState.close();\n });\n this.listen(this.$state, 'document.keydown', function (ev) {\n // Return if not Page Up or Page Down keys\n if (ev.keyCode !== 33 && ev.keyCode !== 34) {\n return;\n } // if no messagelist, select the first tabbed content to allow channel list scrolling\n\n\n var messageList = _this.$el.querySelector('.kiwi-messagelist') || _this.$el.querySelector('.u-tabbed-content');\n\n if (!messageList) {\n return;\n }\n\n var scrollDistance = messageList.clientHeight - 0.1 * messageList.clientHeight;\n var scrollTop = messageList.scrollTop;\n var scrollMax = messageList.scrollHeight;\n\n if (ev.keyCode === 33) {\n // up\n scrollTop -= scrollDistance;\n\n if (scrollTop < 0) {\n scrollTop = 0;\n }\n } else {\n // down\n scrollTop += scrollDistance;\n\n if (scrollTop > scrollMax) {\n scrollTop = scrollMax;\n }\n }\n\n messageList.scrollTop = scrollTop;\n });\n },\n methods: {\n toggleStateBrowser: function toggleStateBrowser() {\n this.$state.$emit('statebrowser.toggle');\n },\n toggleSidebar: function toggleSidebar() {\n if (this.buffer.isChannel()) {\n this.$state.$emit('sidebar.toggle');\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"Container\"]\r\nwindow._kiwi_exports.components.Container = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-customserver\",class:[_vm.is_connecting ? 'kiwi-customserver--connecting' : '']},[_c('div',{staticClass:\"kiwi-customserver-container\"},[(!_vm.is_connecting)?_c('h2',{domProps:{\"innerHTML\":_vm._s(_vm.title)}}):_c('h2',[_vm._v(\" \"+_vm._s(_vm.$t('connecting'))+\" \"),_c('a',{staticClass:\"u-link\",on:{\"click\":_vm.infoClick}},[_c('i',{staticClass:\"fa fa-info-circle\",attrs:{\"aria-hidden\":\"true\"}})])]),_c('transition',{attrs:{\"name\":\"kiwi-connectingloader\"}},[(!_vm.is_connecting)?_c('form',{staticClass:\"u-form u-form--big kiwi-customserver-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.startUp($event)}}},[(_vm.network && _vm.network.state_error)?_c('div',{staticClass:\"kiwi-customserver-error\"},[_vm._v(\" We couldn't connect to the server :( \"),_c('span',[_vm._v(_vm._s(_vm.readableStateError(_vm.network.state_error)))])]):_vm._e(),(_vm.server_type === 'default')?[_c('input-text',{attrs:{\"label\":_vm.$t('server')},model:{value:(_vm.server),callback:function ($$v) {_vm.server=$$v},expression:\"server\"}},[_c('span',{staticClass:\"fa-stack fa-lg kiwi-customserver-tls\",class:[_vm.tls ? 'kiwi-customserver-tls--enabled' : ''],on:{\"click\":function($event){_vm.tls=!_vm.tls}}},[_c('i',{staticClass:\"fa fa-lock fa-stack-1x kiwi-customserver-tls-lock\"}),(!_vm.tls)?_c('i',{staticClass:\"fa fa-times fa-stack-1x kiwi-customserver-tls-minus\"}):_vm._e()])]),_c('input-text',{staticClass:\"kiwi-customserver-nick\",attrs:{\"label\":_vm.$t('nick')},model:{value:(_vm.nick),callback:function ($$v) {_vm.nick=$$v},expression:\"nick\"}}),_c('label',{staticClass:\"kiwi-customserver-have-password\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.show_password_box),expression:\"show_password_box\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.show_password_box)?_vm._i(_vm.show_password_box,null)>-1:(_vm.show_password_box)},on:{\"change\":function($event){var $$a=_vm.show_password_box,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.show_password_box=$$a.concat([$$v]))}else{$$i>-1&&(_vm.show_password_box=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.show_password_box=$$c}}}}),_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('password_have'))+\" \")])]),(_vm.show_password_box)?_c('input-text',{directives:[{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"label\":_vm.$t('password'),\"show-plain-text\":true,\"type\":\"password\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}):_vm._e(),_c('input-text',{attrs:{\"label\":_vm.$t('channel')},model:{value:(_vm.channel),callback:function ($$v) {_vm.channel=$$v},expression:\"channel\"}})]:_vm._e(),(_vm.server_type === 'default_simple')?[_c('input-text',{staticClass:\"kiwi-customserver-nick\",attrs:{\"label\":_vm.$t('nick')},model:{value:(_vm.nick),callback:function ($$v) {_vm.nick=$$v},expression:\"nick\"}}),_c('label',{staticClass:\"kiwi-customserver-have-password\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.show_password_box),expression:\"show_password_box\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.show_password_box)?_vm._i(_vm.show_password_box,null)>-1:(_vm.show_password_box)},on:{\"change\":function($event){var $$a=_vm.show_password_box,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.show_password_box=$$a.concat([$$v]))}else{$$i>-1&&(_vm.show_password_box=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.show_password_box=$$c}}}}),_c('span',[_vm._v(_vm._s(_vm.$t('password_have')))])]),(_vm.show_password_box)?_c('input-text',{directives:[{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"label\":_vm.$t('password'),\"type\":\"password\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}):_vm._e(),_c('input-text',{staticClass:\"kiwi-customserver-channel\",attrs:{\"label\":_vm.$t('channel')},model:{value:(_vm.channel),callback:function ($$v) {_vm.channel=$$v},expression:\"channel\"}})]:_vm._e(),(_vm.server_type === 'znc')?[_c('input-text',{attrs:{\"label\":_vm.$t('server')},model:{value:(_vm.server),callback:function ($$v) {_vm.server=$$v},expression:\"server\"}},[_c('span',{staticClass:\"fa-stack fa-lg kiwi-customserver-tls\",class:[_vm.tls ? 'kiwi-customserver-tls--enabled' : ''],on:{\"click\":function($event){_vm.tls=!_vm.tls}}},[_c('i',{staticClass:\"fa fa-lock fa-stack-1x kiwi-customserver-tls-lock\"}),(!_vm.tls)?_c('i',{staticClass:\"fa fa-times fa-stack-1x kiwi-customserver-tls-minus\"}):_vm._e()])]),_c('input-text',{staticClass:\"kiwi-customserver-nick\",attrs:{\"label\":_vm.$t('username')},model:{value:(_vm.nick),callback:function ($$v) {_vm.nick=$$v},expression:\"nick\"}}),(_vm.znc_network_support)?_c('input-text',{attrs:{\"label\":_vm.$t('network')},model:{value:(_vm.znc_network),callback:function ($$v) {_vm.znc_network=$$v},expression:\"znc_network\"}}):_vm._e(),_c('input-text',{attrs:{\"label\":_vm.$t('password'),\"type\":\"password\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}})]:_vm._e(),_c('button',{staticClass:\"u-button u-button-primary u-submit\",attrs:{\"type\":\"submit\"}},[_vm._v(\" \"+_vm._s(_vm.buttonText)+\" \")]),(_vm.show_type_switcher)?_c('div',{staticClass:\"kiwi-customserver-server-types\"},[_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){_vm.server_type = 'default'}}},[_vm._v(_vm._s(_vm.$t('network')))]),_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){_vm.server_type = 'znc'}}},[_vm._v(_vm._s(_vm.$t('znc')))])]):_vm._e()],2):_c('div',{staticClass:\"kiwi-customserver-loader\"},[_c('i',{staticClass:\"fa fa-spin fa-spinner\",attrs:{\"aria-hidden\":\"true\"}})])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _values = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/values\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _splice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/splice\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar settingTools = _interopRequireWildcard(require(\"@/libs/settingTools\"));\n\nvar _autocompleteCommands = _interopRequireDefault(require(\"@/res/autocompleteCommands\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _AutoComplete = _interopRequireDefault(require(\"./AutoComplete\"));\n\nvar _TextStyle = _interopRequireDefault(require(\"./inputtools/TextStyle\"));\n\nvar _Emoji = _interopRequireDefault(require(\"./inputtools/Emoji\"));\n\nvar _SelfUser = _interopRequireDefault(require(\"./SelfUser\"));\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\nvar _TypingUsersList = _interopRequireDefault(require(\"./TypingUsersList\"));\n\nvar _default = {\n components: {\n AutoComplete: _AutoComplete.default,\n AwayStatusIndicator: _AwayStatusIndicator.default,\n SelfUser: _SelfUser.default,\n TypingUsersList: _TypingUsersList.default\n },\n props: ['container', 'buffer'],\n data: function data() {\n return {\n self: this,\n selfuser_open: false,\n autocomplete_open: false,\n autocomplete_items: [],\n autocomplete_filter: '',\n // Not filtering through the autocomplete list means that the entire word is put\n // in place when cycling through items. Just as with traditional IRC clients when\n // tabbing through nicks.\n // When filtering through the list, we keep typing more of the word we want as the\n // autocomplete list filters its results to show us the relevant items, not replacing\n // the current word until we select an item.\n autocomplete_filtering: true,\n active_tool: null,\n active_tool_props: {},\n pluginUiElements: _GlobalApi.default.singleton().controlInputPlugins,\n showPlugins: true,\n current_input_value: '',\n has_focus: false\n };\n },\n computed: {\n currentNick: function currentNick() {\n var activeNetwork = this.$state.getActiveNetwork();\n return activeNetwork ? activeNetwork.nick : '';\n },\n networkState: function networkState() {\n var activeNetwork = this.$state.getActiveNetwork();\n return activeNetwork ? activeNetwork.state : '';\n },\n shouldShowSendButton: function shouldShowSendButton() {\n return this.$state.ui.is_touch || this.$state.setting('showSendButton');\n },\n shouldShowEmojiPicker: function shouldShowEmojiPicker() {\n return this.$state.setting('showEmojiPicker') && !this.$state.ui.is_touch;\n },\n shouldShowColorPicker: function shouldShowColorPicker() {\n return this.$state.setting('showColorPicker');\n },\n shouldShowInputButtons: function shouldShowInputButtons() {\n if (this.pluginUiElements.length || this.shouldShowEmojiPicker || this.shouldShowColorPicker) {\n return true;\n }\n\n return false;\n },\n history: function history() {\n if (this.$state.setting('buffers.shared_input')) {\n return this.$state.ui.input_history;\n }\n\n return this.buffer.input_history;\n },\n history_pos: {\n get: function get() {\n if (this.$state.setting('buffers.shared_input')) {\n return this.$state.ui.input_history_pos;\n }\n\n return this.buffer.input_history_pos;\n },\n set: function set(newVal) {\n if (this.$state.setting('buffers.shared_input')) {\n this.$state.ui.input_history_pos = newVal;\n } else {\n this.buffer.input_history_pos = newVal;\n }\n }\n }\n },\n watch: {\n history_pos: function history_pos(newVal) {\n var val = this.history[this.history_pos];\n this.$refs.input.setValue(val || '');\n },\n buffer: function buffer() {\n if (!this.$state.setting('buffers.shared_input')) {\n this.inputRestore();\n }\n\n this.autocomplete_open = false;\n }\n },\n created: function created() {\n var _this = this;\n\n this.typingTimer = null;\n this.lastTypingTime = 0;\n this.listen(this.$state, 'document.keydown', function (ev) {\n // No input box currently? Nothing to shift focus to\n if (!_this.$refs.input) {\n return;\n } // If we're copying text, don't shift focus\n\n\n if (ev.ctrlKey || ev.altKey || ev.metaKey) {\n return;\n } // shift key on its own, don't shift focus we handle this below\n\n\n if (ev.keyCode === 16) {\n return;\n } // Firefox 66.0.3 on linux isn't consistently setting ev.ctrlKey === true when only\n // the control key is pressed so add a specific check for this\n // TODO: Remove this check once ff 66.0.3 is no longer around\n\n\n if (ev.keyCode === 17) {\n return;\n } // If we are using shift and arrow keys, don't shift focus\n // this allows users to adjust text selection\n\n\n var arrowKeyCodes = [37, 38, 39, 40];\n\n if (ev.shiftKey && (0, _indexOf.default)(arrowKeyCodes).call(arrowKeyCodes, ev.keyCode) !== -1) {\n return;\n } // If we're typing into an input box somewhere, ignore\n\n\n var elements = ['input', 'select', 'textarea', 'button', 'datalist', 'keygen'];\n var doNotRefocus = (0, _indexOf.default)(elements).call(elements, ev.target.tagName.toLowerCase()) > -1 || ev.target.getAttribute('contenteditable');\n\n if (doNotRefocus) {\n return;\n }\n\n _this.$refs.input.focus();\n });\n this.listen(this.$state, 'input.insertnick', function (nick) {\n if (!_this.$refs.input) {\n return;\n }\n\n var val = nick;\n\n if (_this.current_input_value === '') {\n val += ': ';\n } else {\n val += ' ';\n }\n\n _this.$refs.input.insertText(val);\n });\n this.listen(this.$state, 'input.tool', function (toolComponent) {\n _this.toggleInputTool(toolComponent);\n });\n },\n mounted: function mounted() {\n this.inputRestore();\n },\n methods: {\n inputUpdate: function inputUpdate(val) {\n this.current_input_value = val;\n\n if (this.$state.setting('buffers.shared_input')) {\n this.$state.ui.current_input = val;\n } else {\n this.buffer.current_input = val;\n }\n\n this.maybeHidePlugins();\n },\n inputRestore: function inputRestore() {\n var currentInput = this.$state.setting('buffers.shared_input') ? this.$state.ui.current_input : this.buffer.current_input;\n this.$refs.input.reset(currentInput);\n this.$refs.input.selectionToEnd();\n },\n toggleSelfUser: function toggleSelfUser() {\n if (this.networkState === 'connected') {\n this.selfuser_open = !this.selfuser_open;\n }\n },\n maybeHidePlugins: function maybeHidePlugins() {\n // Save some space if we're typing on a small screen\n if (this.$state.ui.app_width < 500) {\n this.showPlugins = false;\n }\n },\n onToolClickTextStyle: function onToolClickTextStyle() {\n this.toggleInputTool(_TextStyle.default);\n },\n onToolClickEmoji: function onToolClickEmoji() {\n this.toggleInputTool(_Emoji.default);\n },\n closeInputTool: function closeInputTool() {\n this.active_tool = null;\n },\n toggleInputTool: function toggleInputTool(tool) {\n if (!tool || this.active_tool === tool) {\n this.active_tool = null;\n } else {\n this.active_tool_props = {\n buffer: this.buffer,\n ircinput: this.$refs.input\n };\n this.active_tool = tool;\n }\n },\n toggleBold: function toggleBold() {\n this.$refs.input.toggleBold();\n },\n toggleItalic: function toggleItalic() {\n this.$refs.input.toggleItalic();\n },\n toggleUnderline: function toggleUnderline() {\n this.$refs.input.toggleUnderline();\n },\n onAutocompleteCancel: function onAutocompleteCancel() {\n this.autocomplete_open = false;\n },\n onAutocompleteTemp: function onAutocompleteTemp(selectedValue, selectedItem) {\n if (!this.autocomplete_filtering) {\n this.$refs.input.setCurrentWord(selectedValue);\n }\n },\n onAutocompleteSelected: function onAutocompleteSelected(selectedValue, selectedItem) {\n var word = selectedValue;\n this.$refs.input.setCurrentWord(word);\n this.autocomplete_open = false;\n },\n inputKeyDown: function inputKeyDown(event) {\n var _context,\n _this2 = this;\n\n var meta = false;\n\n if ((0, _indexOf.default)(_context = navigator.appVersion).call(_context, 'Mac') !== -1) {\n meta = event.metaKey;\n } else {\n meta = event.ctrlKey;\n } // If autocomplete has handled the event, don't also handle it here\n\n\n if (this.autocomplete_open && this.$refs.autocomplete.handleOnKeyDown(event)) {\n return;\n } // When not filtering, select the current autocomplete item so that we can type any\n // character directly after a nick\n\n\n if (this.autocomplete_open && !this.autocomplete_filtering) {\n this.$refs.autocomplete.selectCurrentItem();\n }\n\n if (event.keyCode === 13 && (event.altKey && !event.shiftKey && !event.metaKey && !event.ctrlKey || event.shiftKey && !event.altKey && !event.metaKey && !event.ctrlKey)) {\n // Add new line when shift+enter or alt+enter is pressed\n event.preventDefault();\n this.$refs.input.insertText('\\n');\n } else if (event.keyCode === 13) {\n // Send message when enter is pressed\n event.preventDefault();\n this.submitForm();\n } else if (event.keyCode === 32) {\n // Hitting space after just typing an ascii emoji will get it replaced with\n // its image\n if (this.$state.setting('buffers.show_emoticons')) {\n var currentWord = this.$refs.input.getCurrentWord();\n var emojiList = this.$state.setting('emojis');\n\n if (emojiList.hasOwnProperty(currentWord.word)) {\n var emoji = emojiList[currentWord.word];\n var url = this.$state.setting('emojiLocation') + emoji + '.png';\n this.$refs.input.setCurrentWord('');\n this.$refs.input.addImg(currentWord.word + ' ', url);\n }\n }\n } else if (event.keyCode === 38) {\n // Up\n event.preventDefault();\n this.historyBack();\n this.$nextTick(function () {\n _this2.$refs.input.selectionToEnd();\n });\n } else if (event.keyCode === 40) {\n // Down\n event.preventDefault();\n this.historyForward();\n this.$nextTick(function () {\n _this2.$refs.input.selectionToEnd();\n });\n } else if (event.keyCode === 9 && !event.shiftKey && !event.altKey && !event.metaKey && !event.ctrlKey) {\n // Tab and no other keys as tab+other is often a keyboard shortcut\n // Tab key was just pressed, start general auto completion\n var _currentWord = this.$refs.input.getCurrentWord();\n\n var currentToken = _currentWord.word.substr(0, _currentWord.position);\n\n var inputText = this.$refs.input.getRawText();\n var items = [];\n\n if ((0, _indexOf.default)(inputText).call(inputText, '/set') === 0) {\n items = this.buildAutoCompleteItems({\n settings: true\n });\n } else {\n items = this.buildAutoCompleteItems({\n users: true,\n buffers: true\n });\n }\n\n this.openAutoComplete(items);\n this.autocomplete_filter = currentToken; // Disable filtering so that tabbing cycles through words more like\n // traditional IRC clients.\n\n this.autocomplete_filtering = false;\n event.preventDefault();\n } else if (meta && event.keyCode === 75) {\n // meta + k\n this.toggleInputTool(_TextStyle.default);\n event.preventDefault();\n } else if (meta && event.keyCode === 66) {\n // meta + b\n this.toggleBold();\n event.preventDefault();\n } else if (meta && event.keyCode === 73) {\n // meta + i\n this.toggleItalic();\n event.preventDefault();\n } else if (meta && event.keyCode === 85) {\n // meta + u\n this.toggleUnderline();\n event.preventDefault();\n }\n },\n inputKeyUp: function inputKeyUp(event) {\n var inputVal = this.$refs.input.getRawText();\n var currentWord = this.$refs.input.getCurrentWord();\n var currentToken = currentWord.word.substr(0, currentWord.position);\n\n if (event.keyCode === 27 && this.autocomplete_open) {\n this.autocomplete_open = false;\n } else if (this.autocomplete_open && currentToken === '') {\n this.autocomplete_open = false;\n } else if (this.autocomplete_open) {\n // @ is a shortcut to open the nicklist autocomplete. It's not part\n // of the nick so strip it out before passing currentToken to the\n // filter.\n if (currentToken[0] === '@') {\n currentToken = currentToken.substr(1);\n }\n } else if (currentToken === '@') {\n // Just typed @ so start the nick auto completion\n this.openAutoComplete(this.buildAutoCompleteItems({\n users: true\n }));\n this.autocomplete_filtering = true;\n } else if (inputVal === '/') {\n // Just typed / so start the command auto completion\n this.openAutoComplete(this.buildAutoCompleteItems({\n commands: true\n }));\n this.autocomplete_filtering = true;\n } else if (currentToken === '#') {\n // Just typed # so start the command auto completion\n this.openAutoComplete(this.buildAutoCompleteItems({\n buffers: true\n }));\n this.autocomplete_filtering = true;\n } else if (event.keyCode === 9 && !event.shiftKey && !event.altKey && !event.metaKey && !event.ctrlKey) {\n // Tab and no other keys as tab+other is often a keyboard shortcut\n event.preventDefault();\n } else if (!event.key.match(/^(Shift|Control|Alt|Enter)/)) {\n if ((0, _trim.default)(inputVal).call(inputVal)) {\n this.startTyping();\n } else {\n this.stopTyping(true);\n }\n }\n\n if (this.autocomplete_open && this.autocomplete_filtering) {\n this.autocomplete_filter = currentToken;\n }\n },\n submitForm: function submitForm() {\n var _context2;\n\n var rawInput = this.$refs.input.getValue();\n\n if (!rawInput) {\n return;\n }\n\n var ircText = this.$refs.input.buildIrcText();\n this.$state.$emit('input.raw', ircText); // Add to history, keeping the history trimmed to the last 50 entries\n\n this.history.push(rawInput);\n (0, _splice.default)(_context2 = this.history).call(_context2, 0, this.history.length - 50);\n this.history_pos = this.history.length;\n this.$refs.input.reset();\n this.stopTyping(false);\n },\n historyBack: function historyBack() {\n if (this.history_pos > 0) {\n this.history_pos--;\n }\n },\n historyForward: function historyForward() {\n // Purposely let history_pos go 1 index beyond the history length\n // so that we can detect if we're not currently using a history value\n if (this.history_pos < this.history.length) {\n this.history_pos++;\n }\n },\n openAutoComplete: function openAutoComplete(items) {\n if (this.$state.setting('showAutocomplete')) {\n this.autocomplete_items = items;\n this.autocomplete_open = true;\n }\n },\n buildAutoCompleteItems: function buildAutoCompleteItems(_opts) {\n var opts = _opts || {};\n var list = [];\n\n if (opts.users) {\n var _context3;\n\n var userList = (0, _map.default)(_context3 = (0, _values.default)(_lodash.default).call(_lodash.default, this.buffer.users)).call(_context3, function (user) {\n var item = {\n text: user.nick,\n type: 'user'\n };\n return item;\n });\n\n if (this.buffer.isQuery()) {\n userList.push({\n text: this.buffer.name,\n type: 'user'\n });\n }\n\n list = (0, _concat.default)(list).call(list, userList);\n }\n\n if (opts.buffers) {\n var _context4;\n\n var bufferList = [];\n (0, _forEach.default)(_context4 = this.buffer.getNetwork().buffers).call(_context4, function (buffer) {\n if (buffer.isChannel()) {\n bufferList.push({\n text: buffer.name,\n type: 'buffer'\n });\n }\n });\n list = (0, _concat.default)(list).call(list, bufferList);\n }\n\n if (opts.commands) {\n var commandList = [];\n (0, _forEach.default)(_autocompleteCommands.default).call(_autocompleteCommands.default, function (command) {\n var _context5, _context6;\n\n // allow descriptions to be translation keys or static strings\n var desc = (0, _indexOf.default)(_context5 = command.description).call(_context5, 'locale_id_') === 0 ? TextFormatting.t(command.description.substr(10)) : command.description;\n commandList.push({\n text: '/' + command.command,\n description: desc,\n type: 'command',\n // Each alias needs the / command prefix adding\n alias: (0, _map.default)(_context6 = command.alias || []).call(_context6, function (c) {\n return '/' + c;\n })\n });\n });\n list = (0, _concat.default)(list).call(list, commandList);\n }\n\n if (opts.settings) {\n var _context7;\n\n var out = {};\n var base = [];\n settingTools.buildTree(out, base, this.$state.getSetting('settings'), false);\n settingTools.buildTree(out, base, this.$state.getSetting('user_settings'), true);\n var settingList = [];\n (0, _forEach.default)(_context7 = (0, _keys.default)(out)).call(_context7, function (setting) {\n settingList.push({\n text: setting,\n type: 'setting'\n });\n });\n list = (0, _concat.default)(list).call(list, settingList);\n }\n\n return list;\n },\n startTyping: function startTyping() {\n var network = this.buffer.getNetwork();\n\n if (!network.ircClient.network.cap.isEnabled('message-tags')) {\n return;\n }\n\n if (!this.buffer || !this.buffer.shouldShareTyping()) {\n return;\n }\n\n if (this.typingTimer) {\n clearTimeout(this.typingTimer);\n this.typingTimer = null;\n }\n\n this.typingTimer = (0, _setTimeout2.default)(this.stopTyping, 3000);\n\n if ((0, _now.default)() < this.lastTypingTime + 3000) {\n return;\n }\n\n network.ircClient.typing.start(this.buffer.name);\n this.lastTypingTime = (0, _now.default)();\n },\n stopTyping: function stopTyping(sendStopPause) {\n var _context8;\n\n var network = this.buffer.getNetwork();\n\n if (!network.ircClient.network.cap.isEnabled('message-tags')) {\n return;\n }\n\n if (!this.buffer || !this.buffer.shouldShareTyping()) {\n return;\n }\n\n if (this.typingTimer) {\n clearTimeout(this.typingTimer);\n this.typingTimer = null;\n this.lastTypingTime = 0;\n } // dont send done if a message was sent\n\n\n if (!sendStopPause) {\n return;\n }\n\n (0, _trim.default)(_context8 = this.$refs.input.getRawText()).call(_context8) ? network.ircClient.typing.pause(this.buffer.name) : network.ircClient.typing.stop(this.buffer.name);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"ControlInput\"]\r\nwindow._kiwi_exports.components.ControlInput = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContainerHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContainerHeader.vue?vue&type=script&lang=js&\"","// Module\nvar code = \"

Linking to your network /channel

Some quick examples on how you can link directly to your network or channels. Even better, embed them into an iframe directly on your website.

As a bonus, you can link to multiple IRC networks at the same time:

Or maybe you host a ZNC server and want to link to it:


What's new in Kiwi Next?

Networks and settings remembered

All your settings and networks will be remembered for when you come back. You won't need to be re-entering your favourite networks every time you open Kiwi anymore.

Mobile and tablet support

Now that over 50% of internet usage is now on mobile, Kiwi has complete mobile support with new layouts and messages. Everything is accessible with just your fingers.

Embedded images and videos

Opening photos and videos within Kiwi now gets pinned at the bottom of the screen. This lets you switch channels, keep talking without it going off-screen, and have that permenant youtube video playing while you're talking.

ZNC integration

When connecting to a ZNC server, Kiwi will now automatically detect it and look for any other networks in your ZNC account. If any are found then they are shown in a list - just one click away from connecting to it.

Aliases editor

A full alias editor to create command aliases to handle users in your channel, administrate your network or project, or even join multiple commands into a single helpful command. Created by a simple text editor that lets you copy/paste/share your aliases wherever you please.

Raw IRC power

If you're a power IRC user or like to get indepth, Kiwi now uses the raw IRC protocol directly in the browser. Look at the raw IRC messages going back and forth, send raw commands, or use it's scripting to test out new protocol ideas and experiments.

The most IRCv3 compliant open source web IRC client

IRC is being pushed forward by the IRCv3 working group which brings us new features that any IRC client can be using. Not only taking part, but Kiwi is one of the most IRCv3 complete web clients that exists.

\";\n// Exports\nmodule.exports = code;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-serverview\"},[_c('div',{staticClass:\"kiwi-serverview-inner\"},[_c('tabbed-view',{key:_vm.network.id,ref:\"tabs\",on:{\"changed\":_vm.tabChanged}},[_c('tabbed-tab',{attrs:{\"header\":_vm.$t('messages'),\"focus\":_vm.hasMessages,\"name\":\"messages\"}},[_c('message-list',{attrs:{\"buffer\":_vm.serverBuffer}})],1),(!_vm.restrictedServer)?_c('tabbed-tab',{attrs:{\"header\":_vm.$t('settings'),\"focus\":!_vm.hasMessages,\"name\":\"settings\"}},[_c('network-settings',{attrs:{\"network\":_vm.network}})],1):_vm._e(),(_vm.networkConnected)?_c('tabbed-tab',{attrs:{\"header\":_vm.$t('channels'),\"name\":\"channels\"}},[_c('channel-list',{attrs:{\"network\":_vm.network}})],1):_vm._e(),_vm._l((_vm.pluginUiElements),function(item){return _c('tabbed-tab',{key:item.id,attrs:{\"header\":item.title}},[_c(item.component,_vm._b({tag:\"div\"},'div',item.props,false))],1)})],2)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _NetworkProvider = _interopRequireDefault(require(\"@/libs/NetworkProvider\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _StateBrowserNetwork = _interopRequireDefault(require(\"./StateBrowserNetwork\"));\n\nvar _StateBrowserUsermenu = _interopRequireDefault(require(\"./StateBrowserUsermenu\"));\n\nvar _AppSettings = _interopRequireDefault(require(\"./AppSettings\"));\n\nvar _BufferSettings = _interopRequireDefault(require(\"./BufferSettings\"));\n\nvar netProv = new _NetworkProvider.default();\nvar _default = {\n components: {\n BufferSettings: _BufferSettings.default,\n StateBrowserNetwork: _StateBrowserNetwork.default,\n StateBrowserUsermenu: _StateBrowserUsermenu.default\n },\n props: ['networks', 'sidebarState'],\n data: function data() {\n return {\n show_provided_networks: false,\n provided_networks: (0, _create.default)(null),\n pluginUiElements: _GlobalApi.default.singleton().stateBrowserPlugins\n };\n },\n computed: {\n getNetwork: function getNetwork() {\n return this.$state.getActiveNetwork();\n },\n isPersistingState: function isPersistingState() {\n return !!this.$state.persistence;\n },\n isRestrictedServer: function isRestrictedServer() {\n return !!this.$state.settings.restricted;\n },\n networksToShow: function networksToShow() {\n var _context;\n\n return (0, _filter.default)(_context = this.networks).call(_context, function (net) {\n return !net.hidden;\n });\n }\n },\n created: function created() {\n var _this = this;\n\n netProv.on('networks', function (networks) {\n _this.provided_networks = networks;\n });\n },\n methods: {\n clickAddNetwork: function clickAddNetwork() {\n var nick = 'Guest' + Math.floor(Math.random() * 100);\n var network = this.$state.getNetworkFromAddress('');\n\n if (typeof network === 'undefined') {\n network = this.$state.addNetwork('Network', nick, {});\n }\n\n network.showServerBuffer('settings');\n },\n clickAppSettings: function clickAppSettings() {\n this.$state.$emit('active.component.toggle', _AppSettings.default);\n },\n hideStatebrowser: function hideStatebrowser() {\n this.$state.$emit('statebrowser.hide');\n },\n connectProvidedNetwork: function connectProvidedNetwork(pNet) {\n var net = this.$state.addNetwork(pNet.name, pNet.nick, {\n server: pNet.server,\n port: pNet.port,\n tls: pNet.tls,\n password: pNet.password\n });\n net.ircClient.connect();\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"StateBrowser\"]\r\nwindow._kiwi_exports.components.StateBrowser = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextStyle.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextStyle.vue?vue&type=style&index=0&lang=less&\"","import { render, staticRenderFns } from \"./UserBox.vue?vue&type=template&id=60d846c0&\"\nimport script from \"./UserBox.vue?vue&type=script&lang=js&\"\nexport * from \"./UserBox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserBox.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-settings-advanced\"},[_c('div',{staticClass:\"kiwi-settings-advanced-notice\"},[_vm._v(_vm._s(_vm.$t('settings_advanced_header')))]),_c('form',{staticClass:\"u-form\"},[_c('div',{staticClass:\"kiwi-settings-advanced-filter-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.filterString),expression:\"filterString\"}],staticClass:\"u-input\",attrs:{\"placeholder\":_vm.$t('settings_advanced_filter')},domProps:{\"value\":(_vm.filterString)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.filterString=$event.target.value}}}),(!_vm.filterString)?_c('i',{staticClass:\"fa fa-search\",attrs:{\"aria-hidden\":\"true\"}}):_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){_vm.filterString = ''}}})]),_c('table',{staticClass:\"u-table kiwi-settings-advanced-table\",attrs:{\"cellspacing\":\"0\"}},[(_vm.filteredSettings.length === 0)?_c('tr',[_c('td',{staticClass:\"kiwi-settings-advanced-noresult\"},[_vm._v(\" \"+_vm._s(_vm.filterString)+\" - \"+_vm._s(_vm.$t('not_found'))+\" \")])]):_vm._l((_vm.filteredSettings),function(setting){return _c('tr',{key:setting.key,class:{'kiwi-advanced-setting': !setting.modified,\n 'kiwi-advanced-setting--modified': setting.modified,\n }},[_c('td',[_c('label',{attrs:{\"for\":'setting-' + setting.key}},[_vm._v(_vm._s(setting.key))])]),(setting.modified)?_c('td',[_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){return _vm.resetValue($event, setting.key)}}},[_vm._v(\" \"+_vm._s(_vm.$t('settings_advanced_reset'))+\" \"),_c('i',{staticClass:\"fa fa-undo\",staticStyle:{\"margin-left\":\"10px\"}})])]):_c('td'),_c('td',[(setting.type === 'boolean')?_c('input',{attrs:{\"id\":'setting-' + setting.key,\"type\":\"checkbox\"},domProps:{\"checked\":setting.val},on:{\"change\":function($event){return _vm.updateSetting($event, setting.key)}}}):(setting.type === 'number')?_c('input',{staticClass:\"u-input\",attrs:{\"id\":'setting-' + setting.key,\"type\":\"number\"},domProps:{\"value\":setting.val},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==13){ return null; }return $event.target.blur()},\"change\":function($event){return _vm.updateSetting($event, setting.key)},\"blur\":function($event){return _vm.updateSetting($event, setting.key)}}}):_c('input',{staticClass:\"u-input\",attrs:{\"id\":'setting-' + setting.key},domProps:{\"value\":setting.val},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==13){ return null; }return $event.target.blur()},\"blur\":function($event){return _vm.updateSetting($event, setting.key)}}})])])})],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingAnimation.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingAnimation.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _lastIndexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/last-index-of\"));\n\nvar _values = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/values\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/toConsumableArray\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar htmlparser = _interopRequireWildcard(require(\"htmlparser2\"));\n\nvar Colours = _interopRequireWildcard(require(\"@/helpers/Colours\"));\n\nvar Vue = require('vue');\n\nvar _default = Vue.component('irc-input', {\n props: ['placeholder'],\n data: function data() {\n return {\n last_known_value: '',\n text_value: '',\n current_el: null,\n current_el_pos: 0,\n default_colour: null,\n code_map: (0, _create.default)(null)\n };\n },\n computed: {\n editor: function editor() {\n return this.$refs.editor;\n }\n },\n mounted: function mounted() {\n this.resetStyles();\n },\n methods: {\n onTextInput: function onTextInput(event) {\n // Mobile devices trigger a textInput event for things such as autocompletion\n // and suggested words. Unfortunately they end with a return character which\n // is not what we expect, so prevent the original event from inserting anything\n // and manually place it in with the current word.\n if (event.data[event.data.length - 1] === '\\n') {\n var _context;\n\n event.preventDefault();\n this.setCurrentWord((0, _trim.default)(_context = event.data).call(_context));\n }\n },\n onPaste: function onPaste(event) {\n var _this = this;\n\n event.preventDefault();\n\n if (typeof event.clipboardData !== 'undefined') {\n var _context2;\n\n var ignoreThisPaste = false;\n var clpData = event.clipboardData;\n (0, _forEach.default)(_context2 = clpData.types).call(_context2, function (type) {\n var ignoreTypes = ['Files', 'image'];\n (0, _forEach.default)(ignoreTypes).call(ignoreTypes, function (ig) {\n if ((0, _indexOf.default)(type).call(type, ig) > -1) {\n ignoreThisPaste = true;\n }\n });\n });\n\n if (ignoreThisPaste) {\n return;\n }\n\n document.execCommand('insertText', false, clpData.getData('text/plain'));\n } else {\n // IE11\n var clpText = window.clipboardData.getData('Text');\n\n if (!clpText) {\n return;\n }\n\n var selection = window.getSelection();\n var range = selection.getRangeAt(0);\n\n if (range) {\n range.deleteContents();\n range.insertNode(document.createTextNode(clpText));\n }\n }\n\n (0, _setTimeout2.default)(function () {\n _this.updateValueProps();\n }, 0);\n },\n onFocus: function onFocus(event) {\n // when the input is empty there are no children to remember the current colour\n // so upon regaining focus we must set the current colour again\n if (!this.getRawText() && this.default_colour) {\n this.setColour(this.default_colour.code, this.default_colour.colour);\n }\n\n this.$emit('focus', event);\n },\n updateValueProps: function updateValueProps() {\n var selection = window.getSelection();\n\n if (selection.rangeCount === 0) {\n return;\n }\n\n this.current_el_pos = selection.anchorOffset;\n this.current_el = selection.anchorNode;\n this.maybeEmitInput();\n },\n selectionToEnd: function selectionToEnd() {\n // Move the caret to the end\n var el = this.$refs.editor.lastChild || this.$refs.editor;\n this.current_el = el;\n\n if (el.nodeType === 3) {\n this.current_el_pos = el.length;\n } else {\n this.current_el_pos = 0;\n }\n },\n setValue: function setValue(newVal) {\n this.value = newVal;\n this.$refs.editor.innerHTML = newVal;\n },\n getValue: function getValue() {\n return this.$refs.editor.innerHTML;\n },\n maybeEmitInput: function maybeEmitInput() {\n var currentHtml = this.$refs.editor.innerHTML;\n\n if (this.last_known_value !== currentHtml) {\n this.$emit('input', currentHtml);\n this.last_known_value = currentHtml;\n }\n },\n buildIrcText: function buildIrcText() {\n var _this2 = this;\n\n var source = this.$refs.editor.innerHTML;\n var textValue = ''; // Toggles are IRC style and colour codes that should be reset at the end of\n // the current tag\n\n var toggles = [];\n\n function addToggle(t) {\n toggles[toggles.length - 1] += t;\n }\n\n function getToggles() {\n return toggles[toggles.length - 1];\n }\n\n var parser = new htmlparser.Parser({\n onopentag: function onopentag(name, attribs) {\n toggles.push('');\n var codeLookup = '';\n\n if (attribs.style) {\n var _context3, _context4, _context5;\n\n var match = attribs.style.match(/color: ([^;]+)/);\n\n if (match) {\n codeLookup = match[1];\n var mappedCode = _this2.code_map[codeLookup];\n\n if (!mappedCode) {\n // If we didn't have an IRC code for this colour, convert the\n // colour to its hex form and check if we have that instead\n var m = codeLookup.match(/^rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)$/);\n\n if (m) {\n var hex = Colours.rgb2hex({\n r: (0, _parseInt2.default)(m[1], 10),\n g: (0, _parseInt2.default)(m[2], 10),\n b: (0, _parseInt2.default)(m[3], 10)\n });\n mappedCode = _this2.code_map[hex];\n }\n }\n\n if (mappedCode) {\n textValue += '\\x03' + mappedCode;\n addToggle('\\x03' + mappedCode);\n }\n }\n\n if ((0, _indexOf.default)(_context3 = attribs.style).call(_context3, 'bold') > -1) {\n textValue += '\\x02';\n addToggle('\\x02');\n }\n\n if ((0, _indexOf.default)(_context4 = attribs.style).call(_context4, 'italic') > -1) {\n textValue += '\\x1d';\n addToggle('\\x1d');\n }\n\n if ((0, _indexOf.default)(_context5 = attribs.style).call(_context5, 'underline') > -1) {\n textValue += '\\x1f';\n addToggle('\\x1f');\n } // Welcome to the IE/Edge sucks section, time to do crazy things\n // IE11 doesnt support document.execCommand('styleWithCSS')\n // so we have individual nodes instead, which are handled below\n\n } else if (attribs.color) {\n // IE likes to remove spaces from rgb(1, 2, 3) it also likes converting rgb to hex\n var _mappedCode = _this2.code_map[attribs.color] || _this2.code_map[attribs.color.replace(/,/g, ', ')] || _this2.code_map[Colours.hex2rgb(attribs.color)];\n\n if (_mappedCode) {\n textValue += '\\x03' + _mappedCode;\n addToggle('\\x03' + _mappedCode);\n }\n } else if (name === 'strong') {\n textValue += '\\x02';\n addToggle('\\x02');\n } else if (name === 'em') {\n textValue += '\\x1d';\n addToggle('\\x1d');\n } else if (name === 'u') {\n textValue += '\\x1f';\n addToggle('\\x1f');\n } else if (name === 'div' || name === 'br') {\n // divs and breaks are both considered newlines. For each line we need to\n // close all current toggles and then reopen them for the next so that the\n // styles continue .\n textValue += getToggles();\n textValue += '\\n';\n textValue += getToggles();\n }\n\n if (attribs.src && _this2.code_map[attribs.src]) {\n textValue += _this2.code_map[attribs.src];\n }\n },\n ontext: function ontext(text) {\n textValue += text;\n },\n onclosetag: function onclosetag(tagName) {\n textValue += getToggles();\n toggles.pop();\n }\n }, {\n decodeEntities: true\n });\n /* eslint max-len: off */\n\n parser.write(source);\n parser.end();\n return textValue;\n },\n reset: function reset(rawHtml) {\n this.$refs.editor.innerHTML = rawHtml || '';\n this.current_el_pos = 0;\n this.current_el = this.$refs.editor; // Firefox inserts a
on empty contenteditables after it's been reset. But that\n // fucks up the placeholder :empty CSS selector we use. So just remove it.\n\n var br = this.$refs.editor.querySelector('br');\n\n if (br) {\n br.parentNode.removeChild(br);\n }\n\n if (this.default_colour) {\n this.focus();\n this.setColour(this.default_colour.code, this.default_colour.colour);\n }\n\n this.updateValueProps();\n },\n resetStyles: function resetStyles() {\n this.focus();\n document.execCommand('styleWithCSS', false, true);\n document.execCommand('selectAll', false, null);\n document.execCommand('removeFormat', false, null);\n this.default_colour = null;\n },\n setColour: function setColour(code, colour) {\n // If no current text selection, set this colour as the default colour for\n // future messages too\n var range = window.getSelection().getRangeAt(0);\n\n if (range && range.collapsed) {\n this.default_colour = {\n code: code,\n colour: colour\n };\n }\n\n this.focus();\n document.execCommand('styleWithCSS', false, true);\n document.execCommand('foreColor', false, colour);\n this.code_map[colour] = code;\n this.updateValueProps();\n },\n toggleBold: function toggleBold() {\n document.execCommand('bold', false, null);\n this.updateValueProps();\n },\n toggleItalic: function toggleItalic() {\n document.execCommand('italic', false, null);\n this.updateValueProps();\n },\n toggleUnderline: function toggleUnderline() {\n document.execCommand('underline', false, null);\n this.updateValueProps();\n },\n addImg: function addImg(code, url) {\n this.focus();\n var existingImages = (0, _toConsumableArray2.default)((0, _values.default)(_lodash.default).call(_lodash.default, this.$refs.editor.querySelectorAll('img')));\n document.execCommand('styleWithCSS', false, true);\n document.execCommand('insertImage', false, url);\n this.code_map[url] = code;\n var newImg = null;\n var images = (0, _toConsumableArray2.default)((0, _values.default)(_lodash.default).call(_lodash.default, this.$refs.editor.querySelectorAll('img'))); // Find image that has just been inserted\n\n (0, _forEach.default)(images).call(images, function (img) {\n if ((0, _indexOf.default)(existingImages).call(existingImages, img) === -1) {\n newImg = img;\n }\n }); // Find the position of this new image node\n\n var prevElCnt = 0;\n var el = newImg;\n\n while (el) {\n el = el.previousSibling;\n prevElCnt++;\n }\n\n this.current_el = this.$refs.editor;\n this.current_el_pos = prevElCnt;\n this.updateValueProps();\n this.focus();\n },\n // Insert some text at the current position\n insertText: function insertText(text) {\n this.focus();\n document.execCommand('insertText', false, text);\n this.updateValueProps();\n this.focus();\n },\n // Replace the word at the current position with another\n setCurrentWord: function setCurrentWord(text, keepPosition) {\n var el = this.current_el;\n var pos = this.current_el_pos;\n var val = el.textContent || '';\n var startVal = val.substr(0, pos);\n var space = (0, _lastIndexOf.default)(startVal).call(startVal, ' ');\n\n if (space === -1) {\n space = 0;\n } else {\n // include the space after the word\n space++;\n }\n\n var startPos = space;\n var endVal = val.substr(pos);\n space = (0, _indexOf.default)(endVal).call(endVal, ' ');\n if (space === -1) space = endVal.length;\n var endPos = space;\n el.textContent = startVal.substr(0, startPos) + text + endVal.substr(endPos); // Move the caret after the word\n\n var range = document.createRange();\n\n if (keepPosition) {\n range.setStart(el, pos);\n range.setEnd(el, pos);\n } else if (el.nodeType === 3) {\n // TEXT_NODE\n range.setStart(el, startPos + text.length);\n range.setEnd(el, startPos + text.length);\n } else {\n // el is another type of node, so setStart/End() counts in nodes instead\n // of text length\n range.setStart(el, 1);\n range.setEnd(el, 1);\n }\n\n var sel = window.getSelection();\n sel.removeAllRanges();\n sel.addRange(range);\n this.updateValueProps();\n },\n getCurrentWord: function getCurrentWord() {\n var el = this.current_el;\n var pos = this.current_el_pos;\n var val = el.textContent;\n var startVal = val.substr(0, pos);\n var space = (0, _lastIndexOf.default)(startVal).call(startVal, ' ');\n\n if (space === -1) {\n space = 0;\n } else {\n // include the space after the word\n space++;\n }\n\n var startPos = space;\n space = (0, _indexOf.default)(val).call(val, ' ', startPos);\n if (space === -1) space = val.length;\n var endPos = space;\n return {\n word: val.substr(startPos, endPos),\n position: pos - startPos\n };\n },\n getRawText: function getRawText() {\n return this.$refs.editor.innerText;\n },\n // Focus the editable div and move the caret to the end\n focus: function focus() {\n var selection = window.getSelection();\n var range = document.createRange();\n range.setStart(this.current_el || this.$refs.editor, this.current_el_pos || 0);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n }\n});\n\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"utils\"]) window._kiwi_exports[\"components\"][\"utils\"] = {};\nwindow._kiwi_exports[\"components\"][\"utils\"][\"IrcInput\"]\r\nwindow._kiwi_exports.components.utils.IrcInput = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AwayStatusIndicator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AwayStatusIndicator.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkSettings.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkSettings.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BufferKey.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BufferKey.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelfUser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelfUser.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelBanlist.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelBanlist.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageCompact.vue?vue&type=style&index=0&id=44d09d1c&lang=less&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageCompact.vue?vue&type=style&index=0&id=44d09d1c&lang=less&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Avatar.vue?vue&type=template&id=6fd4b616&functional=true&\"\nimport script from \"./Avatar.vue?vue&type=script&lang=js&\"\nexport * from \"./Avatar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Avatar.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function (_h,_vm) {\nvar _obj;\nvar _c=_vm._c;return (_vm.props.user && _vm.$options.m.status(_vm.props) !== '')?_c('span',{staticClass:\"kiwi-typingstatusindicator\",class:( _obj = {\n 'kiwi-typingstatusindicator--paused': _vm.$options.m.status(_vm.props) === 'paused'\n }, _obj[_vm.data.staticClass] = true, _obj )},[_vm._v(\"…\")]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n'kiwi public';\n/** @module */\n\n/**\n * Plays alert sounds\n */\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.AudioManager = void 0;\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar AudioManager = /*#__PURE__*/function () {\n function AudioManager(audio) {\n (0, _classCallCheck2.default)(this, AudioManager);\n this.lastPlayed = 0;\n this.audio = audio;\n }\n /** Play the alert sound */\n\n\n (0, _createClass2.default)(AudioManager, [{\n key: \"play\",\n value: function play() {\n // Only play the bleep once every 2 seconds\n if (!this.lastPlayed || (0, _now.default)() - this.lastPlayed > 2000) {\n this.audio.play();\n this.lastPlayed = (0, _now.default)();\n }\n }\n }, {\n key: \"listen\",\n value: function listen(state) {\n var _this = this;\n\n state.$on('audio.bleep', function () {\n _this.play();\n });\n }\n /** Watch the Kiwi state for any message highlights and play an alert */\n\n }, {\n key: \"watchForMessages\",\n value: function watchForMessages(state) {\n var _this2 = this;\n\n state.$on('message.new', function (event) {\n var message = event.message,\n buffer = event.buffer;\n\n if (buffer.setting('mute_sound')) {\n return;\n }\n\n var ignoreTypes = ['connection', 'traffic', 'mode', 'nick'];\n\n if ((0, _indexOf.default)(ignoreTypes).call(ignoreTypes, message.type) > -1) {\n return;\n }\n\n if (message.ignore || buffer.isSpecial()) {\n return;\n }\n\n var shouldBleep = buffer.getNetwork().nick !== message.nick && (message.isHighlight && buffer.setting('alert_on') === 'highlight' || buffer.setting('alert_on') === 'message');\n var isActiveBuffer = state.getActiveBuffer() === buffer;\n var inFocus = isActiveBuffer && state.ui.app_has_focus;\n\n if (shouldBleep || buffer.isQuery() && !inFocus) {\n _this2.play();\n }\n });\n }\n }]);\n return AudioManager;\n}();\n\nexports.AudioManager = AudioManager;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"AudioManager\"]\r\nwindow._kiwi_exports.libs.AudioManager = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _default = {\n props: ['ircinput'],\n computed: {\n emojis: function emojis() {\n var list = {};\n var available = this.$state.setting('emojis');\n\n _lodash.default.each(available, function (code, ascii) {\n list[code] = ascii;\n });\n\n return list;\n },\n location: function location() {\n return this.$state.setting('emojiLocation');\n }\n },\n methods: {\n onImgClick: function onImgClick(event) {\n var url = window.getComputedStyle(event.target, null).getPropertyValue('background-image');\n url = Misc.extractURL(url);\n var code = event.target.dataset.code;\n this.ircinput.addImg(code, url);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"inputtools\"]) window._kiwi_exports[\"components\"][\"inputtools\"] = {};\nwindow._kiwi_exports[\"components\"][\"inputtools\"][\"Emoji\"]\r\nwindow._kiwi_exports.components.inputtools.Emoji = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _splice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/splice\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _flags = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/flags\"));\n\nvar _isNan = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/number/is-nan\"));\n\nvar _slice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/slice\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/toConsumableArray\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _trimEnd = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim-end\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/typeof\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _AliasRewriter = _interopRequireDefault(require(\"./AliasRewriter\"));\n\n// Map of commandName=commandHandlerFn\nvar inputCommands = {};\n\nvar InputHandler = /*#__PURE__*/function () {\n function InputHandler(state) {\n var _this = this;\n\n (0, _classCallCheck2.default)(this, InputHandler);\n this.state = state;\n this.aliasRewriter = new _AliasRewriter.default(); // Load the aliases from general settings\n\n this.aliasRewriter.importFromString(state.setting('aliases')); // Only watch the user setting changes in order to reload them\n\n state.$watch('user_settings.aliases', function (newVal) {\n _this.aliasRewriter.importFromString(state.setting('aliases'));\n });\n this.listenForInput();\n }\n\n (0, _createClass2.default)(InputHandler, [{\n key: \"defaultContext\",\n value: function defaultContext() {\n return {\n network: this.state.getActiveNetwork(),\n buffer: this.state.getActiveBuffer()\n };\n }\n }, {\n key: \"validateContext\",\n value: function validateContext(context) {\n if ((0, _typeof2.default)(context) !== 'object' || !Object.prototype.hasOwnProperty.call(context, 'buffer') || !Object.prototype.hasOwnProperty.call(context, 'network') || (0, _typeof2.default)(context.buffer) !== 'object' || (0, _typeof2.default)(context.network) !== 'object') {\n throw new TypeError('context must contain both network and buffer properties');\n }\n }\n }, {\n key: \"listenForInput\",\n value: function listenForInput() {\n var _this2 = this;\n\n this.state.$on('input.raw', function (input) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _this2.defaultContext();\n var lines = input.split('\\n');\n (0, _forEach.default)(lines).call(lines, function (line) {\n return _this2.processLine(line, context);\n });\n });\n }\n }, {\n key: \"processLine\",\n value: function processLine(rawLine) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.defaultContext();\n this.validateContext(context);\n var network = context.network,\n buffer = context.buffer;\n var line = rawLine;\n var stylesStrippedLine = Misc.stripStyles(line); // If no command specified, server buffers = send raw, channels/queries = send message\n\n var escapedCommand = stylesStrippedLine.substr(0, 2) === '//';\n\n if (stylesStrippedLine[0] !== '/' || escapedCommand) {\n if (escapedCommand) {\n line = line.substr(1);\n }\n\n if (buffer.isServer()) {\n line = '/quote ' + line;\n } else {\n line = '/msg ' + buffer.name + ' ' + line;\n }\n } else if (stylesStrippedLine[0] === '/' && line[0] !== '/') {\n // If attempting to send a /command but it has a colour code in front, use the\n // style stripped version of the line\n line = stylesStrippedLine;\n }\n\n var aliasVars = {\n network: network.name,\n server: network.connection.server,\n channel: network.isChannelName(buffer.name) ? buffer.name : '',\n query: network.isChannelName(buffer.name) ? '' : buffer.name,\n destination: buffer.name,\n nick: network.nick\n };\n line = this.aliasRewriter.process(line, aliasVars); // An alias rewrite may have cancelled out the input\n\n if (!line) {\n return;\n } // Remove the / from the start of the line\n\n\n line = line.substr(1);\n var spaceIdx = (0, _indexOf.default)(line).call(line, ' ');\n if (spaceIdx === -1) spaceIdx = line.length;\n var command = line.substr(0, spaceIdx);\n var params = line.substr(spaceIdx + 1);\n var eventObj = {\n handled: false,\n raw: rawLine,\n command: command,\n params: params\n }; // Plugins may tap into this event to handle a command themselves\n\n this.state.$emit('input.command.' + command, eventObj, command, params);\n\n if (eventObj.handled) {\n return;\n }\n\n if (inputCommands[command.toLowerCase()]) {\n inputCommands[command.toLowerCase()].call(this, eventObj, command, params);\n }\n\n if (!eventObj.handled) {\n network.ircClient.raw(line);\n }\n }\n }]);\n return InputHandler;\n}();\n/**\n * The actual handler functions for commands. Called in context of the InputHandler instance\n * inputCommand['the /command name'] = function(){};\n */\n// /lines allows aliases to send multiple commands, separated by |\n\n\nexports.default = InputHandler;\n\ninputCommands.lines = function inputCommandLines(event, command, line) {\n var _context,\n _this3 = this;\n\n event.handled = true;\n (0, _forEach.default)(_context = line.split('|')).call(_context, function (subLine) {\n _this3.processLine((0, _trim.default)(subLine).call(subLine));\n });\n};\n\nfunction handleMessage(type, event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n var spaceIdx = (0, _indexOf.default)(line).call(line, ' ');\n if (spaceIdx === -1) spaceIdx = line.length;\n var bufferName = line.substr(0, spaceIdx);\n var message = line.substr(spaceIdx + 1); // Only trim whitespace from the end if we have existing content. Some people enjoy sending\n // pure whitespace messages which we don't want to interfere with\n\n if (message.replace(/\\s+/g, '') !== '') {\n message = (0, _trimEnd.default)(message).call(message);\n } else {\n // Windows uses \\r\\n for new lines as we split on \\n trim \\r from the end\n message = message.replace(/[\\r]+$/, '');\n } // Make sure we have some text to actually send\n\n\n if (!message) {\n return;\n }\n\n var localBuffer = bufferName;\n var extractedTarget = network.ircClient.network.extractTargetGroup(bufferName);\n\n if (extractedTarget) {\n localBuffer = extractedTarget.target;\n }\n\n var buffer = localBuffer.length && this.state.getOrAddBufferByName(network.id, localBuffer);\n\n if (buffer) {\n var textFormatType = 'privmsg';\n\n if (type === 'action') {\n textFormatType = 'action';\n } else if (type === 'notice') {\n textFormatType = 'notice';\n }\n\n var messageBody = TextFormatting.formatText(textFormatType, {\n nick: network.nick,\n text: message\n });\n var newMessage = {\n time: (0, _now.default)(),\n nick: network.nick,\n message: messageBody,\n type: type\n };\n this.state.addMessage(buffer, newMessage);\n }\n\n var fnNames = {\n privmsg: 'say',\n action: 'action',\n notice: 'notice'\n };\n var fnName = fnNames[type] || 'say';\n network.ircClient[fnName](bufferName, message);\n}\n\ninputCommands.msg = function inputCommandMsg(event, command, line) {\n handleMessage.call(this, 'privmsg', event, command, line);\n};\n\ninputCommands.action = function inputCommandMsg(event, command, line) {\n handleMessage.call(this, 'action', event, command, line);\n};\n\ninputCommands.notice = function inputCommandMsg(event, command, line) {\n handleMessage.call(this, 'notice', event, command, line);\n};\n\ninputCommands.dice = function inputCommandDice(event, command, line) {\n // /dice 100\n event.handled = true;\n var buffer = this.state.getActiveBuffer();\n var network = this.state.getActiveNetwork();\n var sides = line.replace(/\\D/g, '');\n sides = (0, _parseInt2.default)(sides || '0', 10);\n\n if (sides <= 0) {\n sides = 6;\n }\n\n var rndNumber = Math.floor(Math.random() * sides) + 1;\n var msg = TextFormatting.t('dice_roll', {\n sides: TextFormatting.formatNumber(sides),\n number: TextFormatting.formatNumber(rndNumber)\n });\n network.ircClient.action(buffer.name, msg);\n this.state.addMessage(buffer, {\n nick: network.nick,\n message: msg,\n type: 'action'\n });\n};\n\ninputCommands.ctcp = function inputCommandCtcp(event, command, line) {\n var _network$ircClient, _context2;\n\n event.handled = true;\n var params = line.split(' ');\n var target = params.shift();\n var ctcpType = params.shift();\n\n if (!ctcpType || !target) {\n return;\n }\n\n var network = this.state.getActiveNetwork();\n\n (_network$ircClient = network.ircClient).ctcpRequest.apply(_network$ircClient, (0, _toConsumableArray2.default)((0, _concat.default)(_context2 = [target, ctcpType]).call(_context2, params)));\n};\n\ninputCommands.join = function inputCommandJoin(event, command, line) {\n var _this4 = this;\n\n event.handled = true;\n var network = this.state.getActiveNetwork();\n var bufferObjs = Misc.extractBuffers(line); // handle join without any buffers specified\n\n if (bufferObjs.length === 0) {\n var buffer = this.state.getActiveBuffer(); // join the active channel if its not joined\n\n if (buffer.isChannel() && !buffer.joined) {\n network.ircClient.join(buffer.name, buffer.key);\n return;\n } // report an error if the user tries to join without specifying the channel\n\n\n this.state.addMessage(buffer, {\n nick: '*',\n message: TextFormatting.t('error_no_channel_join'),\n type: 'error'\n });\n return;\n } // Only switch to the first channel we join if multiple are being joined\n\n\n var hasSwitchedActiveBuffer = false;\n (0, _forEach.default)(bufferObjs).call(bufferObjs, function (bufferObj, idx) {\n // /join 0 parts all channels and is only ever used to troll IRC newbies.\n // Just disable it entirely.\n if (bufferObj.name === '0') {\n return;\n } // Prepend a # channel prefix if not specified already\n\n\n var chanName = network.isChannelName(bufferObj.name) ? bufferObj.name : '#' + bufferObj.name;\n\n var newBuffer = _this4.state.addBuffer(network.id, chanName);\n\n if (newBuffer && !hasSwitchedActiveBuffer) {\n _this4.state.setActiveBuffer(network.id, newBuffer.name);\n\n hasSwitchedActiveBuffer = true;\n }\n\n if (bufferObj.key) {\n newBuffer.key = bufferObj.key;\n }\n\n network.ircClient.join(chanName, bufferObj.key);\n });\n};\n\ninputCommands.part = function inputCommandPart(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n var bufferNames = [];\n var message = '';\n\n if (line === '') {\n // /part\n bufferNames = [this.state.getActiveBuffer().name];\n } else {\n var lineParts = line.split(' ');\n\n if (network.isChannelName(lineParts[0])) {\n // /part #channel,#possible_channel possible part message\n bufferNames = _lodash.default.compact(lineParts[0].split(','));\n message = (0, _slice.default)(lineParts).call(lineParts, 1).join(' ');\n } else {\n // /part possible part message\n bufferNames = [this.state.getActiveBuffer().name];\n message = line;\n }\n }\n\n (0, _forEach.default)(bufferNames).call(bufferNames, function (bufferName) {\n network.ircClient.part(bufferName, message);\n });\n};\n\ninputCommands.quit = function inputCommandQuit(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n network.ircClient.quit(line);\n};\n\ninputCommands.topic = function inputCommandTopic(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n var bufferName = '';\n var newTopic = '';\n\n if (line === '') {\n // /topic\n return;\n }\n\n var lineParts = line.split(' ');\n\n if (network.isChannelName(lineParts[0])) {\n // /topic #channel a topic\n bufferName = lineParts[0];\n newTopic = (0, _slice.default)(lineParts).call(lineParts, 1).join(' ');\n } else {\n // /topic a topic\n bufferName = this.state.getActiveBuffer().name;\n newTopic = line;\n }\n\n network.ircClient.setTopic(bufferName, newTopic);\n};\n\ninputCommands.kick = function inputCommandKick(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n var toKick = '';\n var bufferName = '';\n var kickReason = '';\n\n if (line === '') {\n // No params given\n return;\n }\n\n var lineParts = line.split(' ');\n\n if (network.isChannelName(lineParts[0])) {\n bufferName = lineParts.shift();\n }\n\n toKick = lineParts.shift();\n kickReason = lineParts.join(' ');\n\n if (!bufferName) {\n bufferName = this.state.getActiveBuffer().name;\n }\n\n if (!toKick) {\n return;\n }\n\n network.ircClient.raw('KICK', bufferName, toKick, kickReason);\n};\n\ninputCommands.ignore = function inputCommandIgnore(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n var toIgnore = line.split(' ').shift();\n\n if (!toIgnore) {\n return;\n }\n\n var user = this.state.getUser(network.id, toIgnore);\n\n if (user) {\n user.ignore = true;\n var buffer = this.state.getActiveBuffer();\n this.state.addMessage(buffer, {\n nick: '*',\n message: 'Ignoring ' + user.nick,\n type: 'message'\n });\n }\n};\n\ninputCommands.unignore = function inputCommandUnignore(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n var toUnignore = line.split(' ').shift();\n\n if (!toUnignore) {\n return;\n }\n\n var user = this.state.getUser(network.id, toUnignore);\n\n if (user) {\n user.ignore = false;\n var buffer = this.state.getActiveBuffer();\n this.state.addMessage(buffer, {\n nick: '*',\n message: 'No longer ignoring ' + user.nick,\n type: 'message'\n });\n }\n};\n\ninputCommands.close = function inputCommandClose(event, command, line) {\n var _this5 = this;\n\n event.handled = true;\n var network = this.state.getActiveNetwork();\n\n var bufferNames = _lodash.default.compact(line.split(/[, ]/));\n\n if (bufferNames.length === 0) {\n bufferNames = [this.state.getActiveBuffer().name];\n }\n\n (0, _forEach.default)(bufferNames).call(bufferNames, function (bufferName) {\n var buffer = network.bufferByName(bufferName);\n\n if (!buffer) {\n return;\n }\n\n _this5.state.removeBuffer(buffer);\n });\n};\n\ninputCommands.query = function inputCommandQuery(event, command, line) {\n event.handled = true;\n var pos = (0, _indexOf.default)(line).call(line, ' ');\n\n if (pos === -1) {\n pos = line.length;\n }\n\n var nick = line.substr(0, pos);\n var message = line.substr(pos + 1);\n var network = this.state.getActiveNetwork();\n var buffer = this.state.getOrAddBufferByName(network.id, nick);\n this.state.setActiveBuffer(network.id, buffer.name);\n\n if (message) {\n this.state.$emit('input.raw', '/msg ' + buffer.name + ' ' + message);\n }\n};\n\ninputCommands.invite = function inputCommandInvite(event, command, line) {\n var _context3;\n\n event.handled = true;\n var network = this.state.getActiveNetwork();\n var buffer = this.state.getActiveBuffer();\n var lineParts = line.split(' ');\n var nick = lineParts.shift();\n var channel = lineParts.shift();\n\n if (!channel) {\n channel = buffer.name;\n }\n\n if (!network.isChannelName(channel)) {\n return;\n }\n\n network.ircClient.raw('INVITE', nick, channel);\n this.state.addMessage(buffer, {\n nick: '*',\n message: (0, _concat.default)(_context3 = \"Invited \".concat(nick, \" to \")).call(_context3, channel),\n type: 'message'\n });\n};\n\ninputCommands.nick = function inputCommandNick(event, command, line) {\n event.handled = true;\n var spaceIdx = (0, _indexOf.default)(line).call(line, ' ');\n if (spaceIdx === -1) spaceIdx = line.length;\n var newNick = line.substr(0, spaceIdx);\n var network = this.state.getActiveNetwork();\n network.ircClient.changeNick(newNick);\n};\n\ninputCommands.away = function inputCommandAway(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n network.ircClient.raw('AWAY', line || 'Currently away');\n};\n\ninputCommands.back = function inputCommandAway(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n network.ircClient.raw('AWAY');\n};\n\ninputCommands.quote = function inputCommandQuote(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork(); // Sending a manual CAP command triggers raw CAPs to be shown in the server tab\n\n if (line.split(' ')[0].toLowerCase() === 'cap') {\n network.setting('show_raw_caps', true);\n }\n\n var buffer = this.state.getActiveBuffer();\n\n if (buffer.isServer()) {\n this.state.addMessage(buffer, {\n time: (0, _now.default)(),\n nick: '',\n message: line\n });\n }\n\n network.ircClient.raw(line);\n};\n\ninputCommands.whois = function inputCommandWhois(event, command, line) {\n var _this6 = this;\n\n event.handled = true;\n var parts = line.split(' ');\n var network = this.state.getActiveNetwork();\n var buffer = this.state.getActiveBuffer();\n network.ircClient.whois(parts[0], parts[0], function (whoisData) {\n if (whoisData.error) {\n var messageBody = TextFormatting.formatText('whois_error', {\n nick: whoisData.nick,\n text: whoisData.error\n });\n\n _this6.state.addMessage(buffer, {\n time: (0, _now.default)(),\n nick: '',\n message: messageBody,\n type: 'error'\n });\n\n return;\n }\n\n var out = [];\n\n var display = function display(message) {\n if (!message) {\n return;\n }\n\n out.push(message);\n };\n\n var formats = {\n mask: 'is {{nick}}!{{user}}@{{host}} * ({{real_name}})',\n from: 'is connecting from {{actual_hostname}} {{actual_ip}}',\n channels: 'is on {{channels}}',\n server: 'is using {{server}} ({{server_info}})',\n operator: '{{operator}}',\n modes: '{{modes}}',\n account: 'is logged in as {{account}}',\n registered_nick: '{{registered_nick}}',\n secure: 'is using a secure connection',\n idle: 'has been idle for {{idle}}',\n logon: 'connected on {{logon}}',\n // The following entries will be ignored from whoisData as display() ignores\n // empty lines.\n nick: '',\n user: '',\n ident: '',\n hostname: '',\n real_name: '',\n actual_ip: '',\n server_info: '',\n actual_hostname: ''\n }; // Display a select few entries first to keep a consistent order, and then\n // show any extra information at the end\n\n if (whoisData.nick && whoisData.hostname) {\n display(formats.mask.replace('{{nick}}', whoisData.nick).replace('{{user}}', whoisData.ident).replace('{{host}}', whoisData.hostname).replace('{{real_name}}', whoisData.real_name));\n }\n\n if (whoisData.actual_hostname && whoisData.actual_ip) {\n display(formats.from.replace('{{actual_hostname}}', whoisData.actual_hostname).replace('{{actual_ip}}', whoisData.actual_ip));\n }\n\n if (whoisData.channels) {\n display(formats.channels.replace('{{channels}}', whoisData.channels));\n }\n\n if (whoisData.server) {\n display(formats.server.replace('{{server}}', whoisData.server).replace('{{server_info}}', whoisData.server_info));\n }\n\n if (whoisData.operator) {\n display(formats.operator.replace('{{operator}}', whoisData.operator));\n }\n\n if (whoisData.modes) {\n display(formats.modes.replace('{{modes}}', whoisData.modes));\n }\n\n if (whoisData.account) {\n display(formats.account.replace('{{account}}', whoisData.account));\n }\n\n if (whoisData.registered_nick) {\n display(formats.registered_nick.replace('{{registered_nick}}', whoisData.registered_nick));\n }\n\n if (whoisData.secure) {\n display(formats.secure);\n }\n\n if (whoisData.idle) {\n var idleSeconds = Math.floor((0, _parseInt2.default)(whoisData.idle, 10));\n display(formats.idle.replace('{{idle}}', TextFormatting.formatDuration(idleSeconds)));\n }\n\n if (whoisData.logon) {\n var logonTime = (0, _parseInt2.default)(whoisData.logon, 10);\n\n if (!(0, _isNan.default)(logonTime)) {\n var logonDate = new Date(logonTime * 1000);\n display(formats.logon.replace('{{logon}}', logonDate));\n }\n }\n\n _lodash.default.each(whoisData, function (val, key) {\n // Only include lines we haven't already used\n if (typeof formats[key] === 'undefined') {\n // Some keys such as `special` are arrays of values\n if (_lodash.default.isArray(val)) {\n (0, _forEach.default)(val).call(val, function (v) {\n var _context4;\n\n return display((0, _concat.default)(_context4 = \"\".concat(key, \": \")).call(_context4, v));\n });\n } else {\n var _context5;\n\n display((0, _concat.default)(_context5 = \"\".concat(key, \": \")).call(_context5, val));\n }\n }\n });\n\n (0, _forEach.default)(out).call(out, function (l) {\n _this6.state.addMessage(buffer, {\n nick: parts[0],\n message: l,\n type: 'whois'\n });\n });\n });\n};\n\ninputCommands.whowas = function inputCommandWhowas(event, command, line) {\n var _this7 = this;\n\n event.handled = true;\n var parts = line.split(' ');\n var network = this.state.getActiveNetwork();\n var buffer = this.state.getActiveBuffer();\n network.ircClient.whowas(parts[0], parts[0], function (whowasData) {\n var _context6;\n\n if (whowasData.error) {\n var messageBody = TextFormatting.formatText('whowas_error', {\n nick: whowasData.nick,\n text: whowasData.error\n });\n\n _this7.state.addMessage(buffer, {\n time: (0, _now.default)(),\n nick: '',\n message: messageBody,\n type: 'whowas'\n });\n\n return;\n }\n\n (0, _forEach.default)(_context6 = ['whowas_ident', 'whowas_server']).call(_context6, function (prop) {\n var messageBody = TextFormatting.formatText(prop, {\n nick: whowasData.nick,\n ident: whowasData.ident,\n host: whowasData.hostname,\n name: whowasData.real_name,\n server: whowasData.server,\n info: whowasData.server_info\n });\n\n _this7.state.addMessage(buffer, {\n time: (0, _now.default)(),\n nick: whowasData.nick,\n message: messageBody,\n type: 'whowas'\n });\n });\n });\n};\n\ninputCommands.mode = function inputCommandMode(event, command, line) {\n event.handled = true; // /mode [target] [+-modes]\n\n var network = this.state.getActiveNetwork();\n var buffer = this.state.getActiveBuffer();\n var target = buffer.isChannel() ? buffer.name : network.nick;\n\n var parts = _lodash.default.compact(line.split(' '));\n\n if (line && line[0] !== '+' && line[0] !== '-') {\n target = parts.shift();\n }\n\n if (parts[0]) {\n // parts[0] = the mode(s)\n // parts[1] = optional mode arguments\n // If we're asking for a ban list, show the response in the active channel\n if (parts[0] === '+b' && !parts[1]) {\n (0, _flags.default)(buffer).requested_banlist = true; // An IRCd may fuck up and simply not reply to a MODE command. Give a few seconds\n // for it to reply and if not, ignore our request was sent\n\n (0, _setTimeout2.default)(function () {\n (0, _flags.default)(buffer).requested_banlist = false;\n }, 4000);\n }\n\n network.ircClient.mode(target, parts[0], (0, _splice.default)(parts).call(parts, 1));\n } else {\n // No modes specified will request the modes for the target\n network.ircClient.mode(target);\n\n if (target === buffer.name) {\n // If we have requested modes for the active channel then flag it to show\n // the response in the buffer itself. Wait a few seconds before removing\n // the flag as there is no way to determine that everything has been received.\n (0, _flags.default)(buffer).requested_modes = true;\n (0, _setTimeout2.default)(function () {\n (0, _flags.default)(buffer).requested_modes = false;\n }, 4000);\n }\n }\n};\n\ninputCommands.names = function inputCommandNames(event, command, line) {\n event.handled = true; // /names [#channel]\n\n var network = this.state.getActiveNetwork();\n var args = line;\n\n if (!args) {\n args = this.state.getActiveBuffer().name;\n }\n\n network.ircClient.raw('NAMES ' + args);\n};\n\ninputCommands.inject = function inputCommandInject(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n var connection = network.ircClient.connection;\n connection.addReadBuffer(line);\n};\n\ninputCommands.clear = function inputCommandClear(event, command, line) {\n event.handled = true;\n var buffer = this.state.getActiveBuffer();\n buffer.clearMessages();\n this.state.addMessage(buffer, {\n nick: '*',\n message: 'Scrollback cleared'\n });\n};\n\ninputCommands.echo = function inputCommandEcho(event, command, line) {\n event.handled = true;\n var buffer = this.state.getActiveBuffer();\n this.state.addMessage(buffer, {\n nick: '*',\n message: line\n });\n};\n\ninputCommands.set = function inputCommandEcho(event, command, line) {\n var _context8, _context9;\n\n event.handled = true;\n var buffer = this.state.getActiveBuffer();\n var setting = '';\n var spacePos = (0, _indexOf.default)(line).call(line, ' ');\n\n if (spacePos > -1) {\n var _context7;\n\n // Anything after the space becomes the new setting value\n // false = boolean false\n // true = boolean true\n // off = boolean false\n // on = boolean true\n // \"false\" = string false\n // \"true\" = string true\n setting = line.substr(0, spacePos);\n var value = (0, _trim.default)(_context7 = line.substr(spacePos + 1)).call(_context7);\n\n switch ((0, _trim.default)(_context8 = value.toLowerCase()).call(_context8)) {\n case 'true':\n case 'on':\n value = true;\n break;\n\n case 'false':\n case 'off':\n value = false;\n break;\n\n default:\n } // Unquote any quoted values\n // ie. \"true\" should jsut be the string true\n\n\n if (value[0] === '\"' && value[value.length - 1] === '\"') {\n value = value.substr(1, value.length - 2);\n }\n\n this.state.setting(setting, value);\n } else {\n setting = line;\n }\n\n this.state.addMessage(buffer, {\n nick: '*',\n message: (0, _concat.default)(_context9 = \"\".concat(setting, \" = \")).call(_context9, this.state.setting(setting))\n });\n};\n\ninputCommands.list = function inputCommandList(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n\n if (!network.channel_list.length && network.channel_list_state !== 'updating') {\n network.channel_list_state = 'updating';\n network.ircClient.raw('LIST ' + line);\n }\n\n network.showServerBuffer('channels');\n};\n\ninputCommands.server = function inputCommandServer(event, command, line) {\n event.handled = true;\n var parts = line.split(' ');\n var serverAddr = parts[0];\n var serverPort = parts[1] || 6667;\n var serverTls = false;\n var serverPassword = parts[2];\n var nick = parts[3] || 'ircuser';\n\n if (serverPort[0] === '+') {\n serverTls = true;\n serverPort = (0, _parseInt2.default)(serverPort.substr(1), 10);\n } else {\n serverTls = false;\n serverPort = (0, _parseInt2.default)(serverPort, 10);\n }\n\n this.state.addNetwork(serverAddr, nick, {\n server: serverAddr,\n port: serverPort,\n tls: serverTls,\n password: serverPassword\n });\n};\n\ninputCommands.beep = function inputCommandBeep(event, command, line) {\n event.handled = true;\n this.state.$emit('audio.bleep');\n};\n\ninputCommands.notify = function inputCommandNotify(event, command, line) {\n event.handled = true;\n this.state.$emit('notification.show', line);\n};\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"InputHandler\"]\r\nwindow._kiwi_exports.libs.InputHandler = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./TypingStatusIndicator.vue?vue&type=template&id=1cfe1b52&functional=true&\"\nimport script from \"./TypingStatusIndicator.vue?vue&type=script&lang=js&\"\nexport * from \"./TypingStatusIndicator.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty2 = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _trimInstanceProperty = require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\");\n\n_Object$defineProperty2(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = parseMessage;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\"));\n\nvar _defineProperties = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/define-properties\"));\n\nvar _getOwnPropertyDescriptors = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors\"));\n\nvar _getOwnPropertyDescriptor = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _getOwnPropertySymbols = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _defineProperty3 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/defineProperty\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _reduce = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/reduce\"));\n\nvar _lodash = require(\"lodash\");\n\nvar _state = _interopRequireDefault(require(\"@/libs/state\"));\n\nvar _MessageFormatter = _interopRequireWildcard(require(\"@/libs/MessageFormatter\"));\n\nvar _TextFormatting = require(\"@/helpers/TextFormatting\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = (0, _keys.default)(object); if (_getOwnPropertySymbols.default) { var symbols = (0, _getOwnPropertySymbols.default)(object); if (enumerableOnly) symbols = (0, _filter.default)(symbols).call(symbols, function (sym) { return (0, _getOwnPropertyDescriptor.default)(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; (0, _forEach.default)(_context = ownKeys(Object(source), true)).call(_context, function (key) { (0, _defineProperty3.default)(target, key, source[key]); }); } else if (_getOwnPropertyDescriptors.default) { (0, _defineProperties.default)(target, (0, _getOwnPropertyDescriptors.default)(source)); } else { var _context2; (0, _forEach.default)(_context2 = ownKeys(Object(source))).call(_context2, function (key) { (0, _defineProperty2.default)(target, key, (0, _getOwnPropertyDescriptor.default)(source, key)); }); } } return target; }\n\n/**\n * Receives a message, parses its irc blocks, and then finds urls, users, channels and emoji. Each\n * content is extracted to a separate block.\n * E.g. the message:\n * \"this is a message www.google.com and #kiwiirc\"\n * will be split into the blocks:\n * [\"this is a message \"][\"www.google.com\"][\" and \"][\"#kiwiirc\"]\n * The special content blocks will also contain additional info about their content according to\n * their type, such as the url, nick colour, emoji code...\n * @param {Array} blocks Array of style blocks from MessageFormatter\n * @param {Array} userList List of users to find within the message\n * @returns An array of blocks, where each special content will be extracted into a separate block.\n */\nfunction parseMessage(message) {\n var formatOpts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var userList = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var emojiList = (0, _state.default)().setting('emojis');\n var blocks = (0, _MessageFormatter.default)(message, formatOpts);\n var formatedBlocks = (0, _reduce.default)(blocks).call(blocks, function (acc, block, i) {\n return (0, _concat.default)(acc).call(acc, processBlock(block, userList, emojiList));\n }, []);\n return formatedBlocks;\n}\n/**\n * Receives a block, splits it into words and tries finding channels, urls, nicks, and emoji.\n * @param {Object} block A block that came from MessageFormatter.formatIrcMessage()\n * @param {Object} userList List of users to find within the message\n * @param {Object} emojiList List of emoji to find within the message\n * @returns An array of blocks, where each special content will be extracted into a separate block.\n */\n\n\nfunction processBlock(block, userList, emojiList) {\n var wordsRegex = /\\S+/g;\n var wordMatch;\n var word;\n var specialMatches = []; // Array containing the special matches. Each `specialMatch` is an object with:\n // {\n // index: \n // match: \n // block: \n // }\n // eslint-disable-next-line no-cond-assign\n\n while ((wordMatch = wordsRegex.exec(block.content)) !== null) {\n // `wordMatch` is an array with the match and the index of the match. We need that so\n // we can re-construct the original message.\n word = wordMatch[0];\n var match = matchChannel(word) || matchUrl(word) || matchUser(word, userList) || matchEmoji(word, emojiList);\n\n if (match) {\n specialMatches.push({\n index: wordMatch.index + match.index,\n match: match.match,\n block: (0, _MessageFormatter.createNewBlock)(match.match, block.styles, match.type, match.meta)\n });\n }\n } // if there are no special matches, return the original block as is.\n\n\n if (specialMatches.length === 0) {\n return [block];\n } // split block with special matches.\n\n\n return mergeMatches(block, specialMatches);\n}\n/**\n * Finds a channel in the word match.\n * @param {String} word Word to be searched for channels.\n * @returns {object} Object with the matched channel, index within the word, and block.\n */\n\n\nfunction matchChannel(word) {\n var channelMatch = _TextFormatting.channelRegex.exec(word); // matches the groups (spaces before)(prefix)(channel)(suffix punctuation)\n\n\n if (channelMatch === null) {\n return false;\n }\n\n return {\n index: channelMatch[1].length + channelMatch[2].length,\n match: channelMatch[3],\n type: 'channel',\n meta: {\n channel: channelMatch[3]\n }\n };\n}\n/**\n * Finds an url in the word match.\n * @param {String} word Word to be searched for urls.\n * @returns {Object} Object with the index of the url match in the block content, the\n * url match itself, and the new url text to be placed where the first url was.\n */\n\n\nfunction matchUrl(word) {\n var urlMatch = _TextFormatting.urlRegex.exec(word);\n\n if (urlMatch === null) {\n return false;\n }\n\n var url = urlMatch[0]; // Don't allow javascript execution\n\n if (url.match(/^javascript:/i)) {\n return false;\n } // Trim common punctuation from the end of a link. End of scentences etc.\n\n\n var punctuation = '.,;:';\n\n while ((0, _indexOf.default)(punctuation).call(punctuation, url[url.length - 1]) > -1) {\n url = url.substr(0, url.length - 1);\n } // Links almost always contain an opening bracket if the last character is a closing\n // bracket and should be part of the URL.\n // If there isn't an opening bracket but the URL ends in a closing bracket, consider the\n // closing bracket as punctuation outside of the URL.\n\n\n if ((0, _indexOf.default)(url).call(url, '(') === -1 && url[url.length - 1] === ')') {\n url = url.substr(0, url.length - 1);\n } // Add the http if no protocol was found\n\n\n var urlText = url;\n\n if (urlText.match(/^www\\./i)) {\n urlText = 'http://' + url;\n }\n\n return {\n index: urlMatch.index,\n match: url,\n matchText: urlText,\n type: 'url',\n meta: {\n url: urlText\n }\n };\n}\n/**\n * Finds an user in the word match.\n * @param {String} word Word to be searched for users.\n * @returns {Object} Object with the index of the user match in the block content, the\n * user match itself, and the user colour.\n */\n\n\nfunction matchUser(word, userList) {\n if (!userList) {\n return false;\n }\n\n var user = null;\n var punc = ',.!:;-+)]?¿\\\\/<>@';\n var hasProp = Object.prototype.hasOwnProperty;\n var nickIdx = 0;\n var trimWord = (0, _trimInstanceProperty(_lodash))(word, punc);\n var normWord = trimWord.toLowerCase();\n\n if (hasProp.call(userList, normWord)) {\n user = userList[normWord];\n nickIdx = (0, _indexOf.default)(word).call(word, trimWord);\n } else {\n return false;\n }\n\n return {\n index: nickIdx,\n match: trimWord,\n type: 'user',\n meta: {\n user: trimWord,\n colour: user.colour\n }\n };\n}\n/**\n * Finds an emoji in the word match.\n * @param {String} word Word to be searched for emoji.\n * @returns {Object} Object with the index of the emoji match in the block content, the\n * emoji match itself, and the emoji code.\n */\n\n\nfunction matchEmoji(word, emojiList) {\n if (emojiList.hasOwnProperty && !emojiList.hasOwnProperty(word)) {\n return false;\n }\n\n return {\n index: 0,\n match: word,\n type: 'emoji',\n meta: {\n emoji: emojiList[word]\n }\n };\n}\n/**\n * Merges the special matches into the block.\n * @param {Object} block A block that came from MessageFormatter.formatIrcMessage()\n * @param {Array} specialMatches Array of special matches. See definition above\n * @returns An array of blocks, where each special content will be extracted into a separate block.\n */\n\n\nfunction mergeMatches(block, specialMatches) {\n var resultBlocks = [];\n var lastProcessedIndex = 0; // for each special content, creat a block with the text up to the match, and a block with the\n // special content itself.\n\n (0, _forEach.default)(specialMatches).call(specialMatches, function (specialMatch, index) {\n var beforeMatchContent = block.content.substr(lastProcessedIndex, specialMatch.index - lastProcessedIndex);\n\n if (beforeMatchContent) {\n resultBlocks.push({\n content: beforeMatchContent,\n styles: _objectSpread({}, block.styles),\n containsContent: !!beforeMatchContent\n });\n }\n\n resultBlocks.push(specialMatch.block);\n lastProcessedIndex = specialMatch.index + specialMatch.match.length;\n }); // remaining content after the last special content.\n\n if (lastProcessedIndex < block.content.length) {\n resultBlocks.push({\n content: block.content.substr(lastProcessedIndex),\n styles: _objectSpread({}, block.styles),\n containsContent: !!block.content.substr(lastProcessedIndex)\n });\n }\n\n return resultBlocks;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"MessageParser\"]\r\nwindow._kiwi_exports.libs.MessageParser = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-invitelist\"},[_c('form',{staticClass:\"u-form kiwi-invitelist\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('a',{staticClass:\"u-link\",on:{\"click\":_vm.updateInvitelist}},[_vm._v(_vm._s(_vm.$t('invites_refresh')))]),(!_vm.channelIsInviteOnly)?_c('div',{staticClass:\"kiwi-invitelist-inviteonly-status\"},[_vm._v(\" \"+_vm._s(_vm.$t('invite_public_channel'))+\" \"),(_vm.areWeAnOp)?_c('a',{staticClass:\"u-link\",on:{\"click\":_vm.setInviteOnly}},[_vm._v(_vm._s(_vm.$t('invite_set_private')))]):_vm._e()]):_c('div',{staticClass:\"kiwi-invitelist-inviteonly-status\"},[_vm._v(\" \"+_vm._s(_vm.$t('invite_private_channel'))+\" \"),(_vm.areWeAnOp)?_c('a',{staticClass:\"u-link\",on:{\"click\":_vm.removeInviteOnly}},[_vm._v(_vm._s(_vm.$t('invite_set_public')))]):_vm._e()]),(_vm.anyRegisteredUserCanJoin)?_c('span',[_vm._v(_vm._s(_vm.$t('invite_registered_only')))]):_vm._e(),_c('div',[(_vm.supportsAccounts && _vm.areWeAnOp)?_c('div',[(_vm.knownAccounts.length > 0)?[_c('select',{ref:\"addInviteList\"},_vm._l((_vm.knownAccounts),function(user){return _c('option',{key:user.nick,domProps:{\"value\":user.account}},[_vm._v(_vm._s(user.account))])}),0),_c('button',{on:{\"click\":function($event){return _vm.addAccountInvite(_vm.$refs.addInviteList.value)}}},[_vm._v(\" \"+_vm._s(_vm.$t('invite_add_invite'))+\" \")])]:_vm._e()],2):_vm._e(),(!_vm.supportsAccounts && _vm.areWeAnOp)?_c('div',{staticClass:\"kiwi-invitelist-addmask\"},[_c('input',{ref:\"addInviteText\",staticClass:\"u-input\",attrs:{\"type\":\"text\"}}),_c('button',{on:{\"click\":function($event){return _vm.addInvite(_vm.$refs.addInviteText.value)}}},[_vm._v(\" \"+_vm._s(_vm.$t('invite_add_invite'))+\" \")])]):_vm._e(),(_vm.inviteList.length > 0)?_c('table',{staticClass:\"kiwi-invitelist-table\"},[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('invites_user')))]),_c('th',[_vm._v(_vm._s(_vm.$t('invites_by')))]),_c('th'),_c('th')]),_vm._l((_vm.inviteListAccounts),function(invite){return _c('tr',{key:invite.invited},[_c('td',{staticClass:\"kiwi-invitelist-table-mask\"},[_vm._v(\" \"+_vm._s(_vm.displayMask(invite))+\" \")]),_c('td',{staticClass:\"kiwi-invitelist-table-invitedby\"},[_vm._v(\" \"+_vm._s(invite.invited_by)+\" \")]),_c('td',{staticClass:\"kiwi-invitelist-table-invitedat\"},[_vm._v(\" \"+_vm._s((new Date(invite.invited_at * 1000)).toDateString())+\" \")]),_c('td',{staticClass:\"kiwi-invitelist-table-actions\"},[(_vm.areWeAnOp)?_c('i',{staticClass:\"fa fa-trash\",attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){return _vm.removeInvite(invite.invited)}}}):_vm._e()])])}),_vm._l((_vm.inviteListNonAccounts),function(invite){return _c('tr',{key:invite.invited},[_c('td',{staticClass:\"kiwi-invitelist-table-mask\"},[_vm._v(\" \"+_vm._s(_vm.displayMask(invite))+\" \")]),_c('td',{staticClass:\"kiwi-invitelist-table-invitedby\"},[_vm._v(\" \"+_vm._s(invite.invited_by)+\" \")]),_c('td',{staticClass:\"kiwi-invitelist-table-invitedat\"},[_vm._v(\" \"+_vm._s((new Date(invite.invited_at * 1000)).toDateString())+\" \")]),_c('td',{staticClass:\"kiwi-invitelist-table-actions\"},[(_vm.areWeAnOp)?_c('i',{staticClass:\"fa fa-trash\",attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){return _vm.removeInvite(invite.invited)}}}):_vm._e()])])})],2):_vm._e()]),(_vm.is_refreshing)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('invites_refreshing'))+\" \")]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n_Object$defineProperty(exports, \"State\", {\n enumerable: true,\n get: function get() {\n return _SidebarState.default;\n }\n});\n\nexports.default = void 0;\n\nvar _UserBox = _interopRequireDefault(require(\"@/components/UserBox\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _SidebarState = _interopRequireDefault(require(\"./SidebarState\"));\n\nvar _BufferSettings = _interopRequireDefault(require(\"./BufferSettings\"));\n\nvar _ChannelInfo = _interopRequireDefault(require(\"./ChannelInfo\"));\n\nvar _SidebarAboutBuffer = _interopRequireDefault(require(\"./SidebarAboutBuffer\"));\n\nvar _ChannelBanlist = _interopRequireDefault(require(\"./ChannelBanlist\"));\n\nvar _ChannelInvitelist = _interopRequireDefault(require(\"./ChannelInvitelist\"));\n\nvar _Nicklist = _interopRequireDefault(require(\"./Nicklist\"));\n\nvar _default = {\n components: {\n BufferSettings: _BufferSettings.default,\n SidebarAboutBuffer: _SidebarAboutBuffer.default,\n ChannelInfo: _ChannelInfo.default,\n ChannelBanlist: _ChannelBanlist.default,\n ChannelInvitelist: _ChannelInvitelist.default,\n Nicklist: _Nicklist.default,\n UserBox: _UserBox.default\n },\n props: ['network', 'buffer', 'sidebarState'],\n data: function data() {\n return {\n pluginUiElements: _GlobalApi.default.singleton().sideBarPlugins,\n accessTab: 'banlist'\n };\n },\n computed: {\n section: function section() {\n if (this.sidebarState.activeComponent) {\n return 'component';\n }\n\n return this.sidebarState.section();\n },\n settingShowJoinParts: {\n get: function get() {\n return this.buffer.setting('show_joinparts');\n },\n set: function set(newVal) {\n return this.buffer.setting('show_joinparts', newVal);\n }\n },\n settingShowTopics: {\n get: function get() {\n return this.buffer.setting('show_topics');\n },\n set: function set(newVal) {\n return this.buffer.setting('show_topics', newVal);\n }\n },\n settingShowNickChanges: {\n get: function get() {\n return this.buffer.setting('show_nick_changes');\n },\n set: function set(newVal) {\n return this.buffer.setting('show_nick_changes', newVal);\n }\n },\n settingShowModeChanges: {\n get: function get() {\n return this.buffer.setting('show_mode_changes');\n },\n set: function set(newVal) {\n return this.buffer.setting('show_mode_changes', newVal);\n }\n },\n settingColouredNicklist: {\n get: function get() {\n return this.buffer.setting('coloured_nicklist');\n },\n set: function set(newVal) {\n return this.buffer.setting('coloured_nicklist', newVal);\n }\n },\n settingExtraFormatting: {\n get: function get() {\n return this.buffer.setting('extra_formatting');\n },\n set: function set(newVal) {\n return this.buffer.setting('extra_formatting', newVal);\n }\n },\n settingShareTyping: {\n get: function getSettingShareTyping() {\n return this.buffer.setting('share_typing');\n },\n set: function setSettingShareTyping(newVal) {\n return this.buffer.setting('share_typing', newVal);\n }\n },\n bufferType: function bufferType() {\n var type = '';\n\n if (!this.buffer) {\n type = 'none';\n } else if (this.buffer.isServer()) {\n type = 'server';\n } else if (this.buffer.isChannel()) {\n type = 'channel';\n } else if (this.buffer.isQuery()) {\n type = 'query';\n }\n\n return type;\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"Sidebar\"]\r\nwindow._kiwi_exports.components.Sidebar = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./Captcha.vue?vue&type=template&id=f2855e34&\"\nimport script from \"./Captcha.vue?vue&type=script&lang=js&\"\nexport * from \"./Captcha.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public'; // eslint-plugin-vue's max-len rule reads the entire file, including the CSS. so we can't use this\n// here as some of the rules cannot be broken up any smaller\n\n/* eslint-disable max-len */\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _MediaViewer = _interopRequireDefault(require(\"./MediaViewer\"));\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\nvar _MessageInfo = _interopRequireDefault(require(\"./MessageInfo\"));\n\nvar methods = {\n props: {},\n getNetwork: function getNetwork() {\n var props = this.props;\n return props.ml.buffer.getNetwork();\n },\n isRepeat: function isRepeat() {\n var props = this.props;\n var ml = props.ml;\n var idx = props.idx;\n var message = props.message;\n var prevMessage = ml.filteredMessages[idx - 1];\n return !!prevMessage && prevMessage.nick === message.nick && message.time - prevMessage.time < 60000 && prevMessage.type !== 'traffic' && message.type !== 'traffic' && message.type === prevMessage.type;\n },\n isHoveringOverMessage: function isHoveringOverMessage(message) {\n var props = this.props;\n return message.nick && message.nick.toLowerCase() === props.hover_nick.toLowerCase();\n },\n userMode: function userMode(user) {\n var props = this.props;\n return props.ml.buffer.userMode(user);\n },\n userModePrefix: function userModePrefix(user) {\n var props = this.props;\n return props.ml.buffer.userModePrefix(user);\n }\n};\nvar _default = {\n inject: {\n components: {\n default: {\n AwayStatusIndicator: _AwayStatusIndicator.default,\n MessageInfo: _MessageInfo.default,\n MediaViewer: _MediaViewer.default\n }\n }\n },\n props: {\n ml: Object,\n message: Object,\n idx: Number,\n m: {\n default: function m() {\n // vue uses this function to generate the prop. `this`==null Return our own function\n return function n() {\n // Give our methods some props context before its function is called.\n // This is only safe because the function on the methods object is called on\n // the same js tick\n methods.props = this;\n return methods;\n };\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"MessageListMessageCompact\"]\r\nwindow._kiwi_exports.components.MessageListMessageCompact = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _default = {\n data: function data() {\n return {\n show_help: false\n };\n },\n computed: {\n aliasText: {\n get: function getAliasText() {\n var _context;\n\n return (0, _trim.default)(_context = this.$state.setting('aliases')).call(_context);\n },\n set: function setAliasText(newVal) {\n this.$state.setting('aliases', (0, _trim.default)(newVal).call(newVal));\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"SettingsAliases\"]\r\nwindow._kiwi_exports.components.SettingsAliases = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserBox.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserBox.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserNetwork.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserNetwork.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _default = {\n components: {},\n props: ['buffer'],\n data: function data() {\n return {};\n },\n computed: {\n settingAlertOn: {\n get: function getSettingAlertOn() {\n return this.buffer.setting('alert_on');\n },\n set: function setSettingAlertOn(val) {\n var network = this.buffer.getNetwork();\n var netId = network.connection.bncnetid;\n\n if (netId) {\n var _context, _context2;\n\n // If this buffer is on a BOUNCER account, update the setting there too\n // TODO: Move this to BouncerProvider snapshots\n network.ircClient.raw((0, _concat.default)(_context = (0, _concat.default)(_context2 = \"BOUNCER changebuffer \".concat(netId, \" \")).call(_context2, this.buffer.name, \" notify=\")).call(_context, val));\n }\n\n return this.buffer.setting('alert_on', val);\n }\n },\n settingMuteSound: {\n get: function getSettingAlertOn() {\n return this.buffer.setting('mute_sound');\n },\n set: function setSettingAlertOn(val) {\n return this.buffer.setting('mute_sound', val);\n }\n },\n settingHideMessageCount: {\n get: function getsettingHideMessageCount() {\n return this.buffer.setting('hide_message_counts');\n },\n set: function setsettingHideMessageCount(val) {\n return this.buffer.setting('hide_message_counts', val);\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"BufferSettings\"]\r\nwindow._kiwi_exports.components.BufferSettings = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BufferSettings.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BufferSettings.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n'kiwi public';\n/** @module */\n\n/**\n * Adds the +draft/typing IRCv3 spec to irc-framework\n */\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = typingMiddleware;\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nfunction typingMiddleware() {\n return function middleware(client, rawEvents, parsedEvents) {\n addFunctionsToClient(client);\n rawEvents.use(theMiddleware);\n };\n\n function theMiddleware(command, message, rawLine, client, next) {\n if (!(command === 'TAGMSG' && message.tags['+draft/typing']) && !(command === 'PRIVMSG' && message.nick)) {\n next();\n return;\n } // if we are params[0] then the target is the sender (direct message)\n\n\n var target = message.params[0].toLowerCase() === client.user.nick.toLowerCase() ? message.nick : message.params[0]; // if its a privmsg without typing tag emit done\n\n var status = message.tags['+draft/typing'] || 'done';\n client.emit('typing', {\n target: target,\n nick: message.nick,\n ident: message.ident,\n hostname: message.hostname,\n status: status\n });\n next();\n }\n}\n\nfunction addFunctionsToClient(client) {\n var typing = client.typing = {};\n var activeTyping = (0, _create.default)(null);\n\n function isEnabled() {\n return client.network.cap.isEnabled('message-tags');\n }\n\n typing.start = function start(target) {\n if (!isEnabled()) {\n return;\n }\n\n var lastSentStatus = activeTyping[target.toLowerCase()];\n\n if (lastSentStatus && lastSentStatus > (0, _now.default)() - 3000) {\n return;\n }\n\n activeTyping[target.toLowerCase()] = (0, _now.default)();\n var message = new client.Message('TAGMSG', target);\n message.tags['+draft/typing'] = 'active';\n client.raw(message);\n };\n\n typing.pause = function pause(target) {\n if (!isEnabled()) {\n return;\n }\n\n var message = new client.Message('TAGMSG', target);\n message.tags['+draft/typing'] = 'paused';\n client.raw(message);\n };\n\n typing.stop = function stop(target) {\n if (!isEnabled()) {\n return;\n }\n\n var message = new client.Message('TAGMSG', target);\n message.tags['+draft/typing'] = 'done';\n client.raw(message);\n delete activeTyping[target.toLowerCase()];\n };\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"TypingMiddleware\"]\r\nwindow._kiwi_exports.libs.TypingMiddleware = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./BufferKey.vue?vue&type=template&id=4f21f7f4&\"\nimport script from \"./BufferKey.vue?vue&type=script&lang=js&\"\nexport * from \"./BufferKey.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BufferKey.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { render, staticRenderFns } from \"./NotConnected.vue?vue&type=template&id=89f4398c&\"\nimport script from \"./NotConnected.vue?vue&type=script&lang=js&\"\nexport * from \"./NotConnected.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NotConnected.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsAliases.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsAliases.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContainerHeader.vue?vue&type=template&id=396dbf0b&\"\nimport script from \"./ContainerHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./ContainerHeader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ContainerHeader.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Captcha.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Captcha.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-wrap kiwi-theme-bg\",class:{\n 'kiwi-wrap--statebrowser-drawopen': _vm.stateBrowserDrawOpen,\n 'kiwi-wrap--monospace': _vm.$state.setting('useMonospace'),\n 'kiwi-wrap--touch': _vm.$state.ui.is_touch,\n },attrs:{\"data-activebuffer\":_vm.buffer ? _vm.buffer.name.toLowerCase() : ''},on:{\"click\":_vm.emitDocumentClick,\"!paste\":function($event){return _vm.emitBufferPaste($event)}}},[_c('link',{attrs:{\"href\":_vm.themeUrl,\"rel\":\"stylesheet\",\"type\":\"text/css\"}}),(!_vm.hasStarted || (!_vm.fallbackComponent && _vm.networks.length === 0))?[_c(_vm.startupComponent,{tag:\"component\",on:{\"start\":_vm.startUp}})]:[_c('state-browser',{attrs:{\"networks\":_vm.networks,\"sidebar-state\":_vm.sidebarState}}),_c('div',{staticClass:\"kiwi-workspace\",class:{\n 'kiwi-workspace--disconnected': _vm.network && _vm.network.state !== 'connected'\n },on:{\"click\":function($event){_vm.stateBrowserDrawOpen = false}}},[_c('div',{staticClass:\"kiwi-workspace-background\"}),(!_vm.activeComponent && _vm.network)?[_c('container',{attrs:{\"network\":_vm.network,\"buffer\":_vm.buffer,\"sidebar-state\":_vm.sidebarState},scopedSlots:_vm._u([(_vm.mediaviewerOpen)?{key:\"before\",fn:function(){return [_c('media-viewer',{staticClass:\"kiwi-main-mediaviewer\",attrs:{\"url\":_vm.mediaviewerUrl,\"component\":_vm.mediaviewerComponent,\"component-props\":_vm.mediaviewerComponentProps,\"is-iframe\":_vm.mediaviewerIframe},on:{\"close\":function($event){return _vm.$state.$emit('mediaviewer.hide', { source: 'user' });}}})]},proxy:true}:null],null,true)}),(_vm.buffer.show_input)?_c('control-input',{attrs:{\"container\":_vm.networks,\"buffer\":_vm.buffer}}):_vm._e()]:(!_vm.activeComponent)?_c(_vm.fallbackComponent,_vm._b({tag:\"component\"},'component',_vm.fallbackComponentProps,false)):_c(_vm.activeComponent,_vm._b({tag:\"component\"},'component',_vm.activeComponentProps,false))],2)]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputText.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputText.vue?vue&type=script&lang=js&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Emoji.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Emoji.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty2 = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty2(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\"));\n\nvar _defineProperties = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/define-properties\"));\n\nvar _getOwnPropertyDescriptors = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors\"));\n\nvar _getOwnPropertyDescriptor = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _getOwnPropertySymbols = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _findIndex = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find-index\"));\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _flags = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/flags\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _reduce = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/reduce\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _splice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/splice\"));\n\nvar _defineProperty3 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/defineProperty\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _stringify = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/json/stringify\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _configTemplates = require(\"@/res/configTemplates\");\n\nvar _NetworkState = _interopRequireDefault(require(\"./state/NetworkState\"));\n\nvar _BufferState = _interopRequireDefault(require(\"./state/BufferState\"));\n\nvar _UserState = _interopRequireDefault(require(\"./state/UserState\"));\n\nvar _Message = _interopRequireDefault(require(\"./Message\"));\n\nfunction ownKeys(object, enumerableOnly) { var keys = (0, _keys.default)(object); if (_getOwnPropertySymbols.default) { var symbols = (0, _getOwnPropertySymbols.default)(object); if (enumerableOnly) symbols = (0, _filter.default)(symbols).call(symbols, function (sym) { return (0, _getOwnPropertyDescriptor.default)(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context14; (0, _forEach.default)(_context14 = ownKeys(Object(source), true)).call(_context14, function (key) { (0, _defineProperty3.default)(target, key, source[key]); }); } else if (_getOwnPropertyDescriptors.default) { (0, _defineProperties.default)(target, (0, _getOwnPropertyDescriptors.default)(source)); } else { var _context15; (0, _forEach.default)(_context15 = ownKeys(Object(source))).call(_context15, function (key) { (0, _defineProperty2.default)(target, key, (0, _getOwnPropertyDescriptor.default)(source, key)); }); } } return target; }\n\nfunction createNewState() {\n var stateObj = {\n // May be set by a StatePersistence instance\n persistence: null,\n // Settings may be overridden via config.json\n settings: _configTemplates.configTemplates.default,\n user_settings: {},\n connection: {\n // disconnected / connecting / connected\n status: 'connected',\n sessionId: ''\n },\n ui: {\n active_network: 0,\n active_buffer: '',\n last_active_buffers: [],\n app_has_focus: true,\n app_width: 0,\n app_height: 0,\n is_touch: false,\n is_narrow: false,\n favicon_counter: 0,\n current_input: '',\n input_history: [],\n input_history_pos: 0,\n show_advanced_tab: false\n },\n networks: []\n };\n var userDict = new _vue.default({\n data: function data() {\n return {\n networks: {}\n };\n }\n /*\n (network id): {\n (lowercase nick): UserState,\n (lowercase nick): UserState,\n },\n */\n\n });\n var bufferDict = new _vue.default({\n data: function data() {\n return {\n networks: {}\n };\n }\n /*\n (network id): [\n BufferState,\n BufferState,\n ]\n */\n\n }); // Messages are seperate from the above state object to keep them from being reactive. Saves CPU\n\n var messages = [\n /* {\n networkid: 1,\n buffer: '#kiwiirc',\n messages: [\n Message,\n Message\n ],\n }, */\n ];\n var availableStartups = (0, _create.default)(null);\n var state = new _vue.default({\n data: stateObj,\n methods: {\n // Export enough state so that it can be imported in future to resume\n exportState: function exportState(includeBuffers) {\n var toExport = {};\n\n if (includeBuffers) {\n var _context;\n\n toExport.networks = (0, _map.default)(_context = state.networks).call(_context, function (network) {\n var _context2;\n\n var networkObj = {\n id: network.id,\n name: network.name,\n connection: {\n nick: network.connection.nick,\n server: network.connection.server,\n port: network.connection.port,\n tls: network.connection.tls,\n path: network.connection.path,\n password: network.connection.password,\n direct: network.connection.direct,\n encoding: network.connection.encoding,\n bncnetid: network.connection.bncnetid\n },\n auto_commands: network.auto_commands,\n settings: _lodash.default.cloneDeep(network.settings),\n username: network.username,\n gecos: network.gecos,\n password: network.password,\n hidden: network.hidden,\n is_bnc: network.is_bnc,\n buffers: []\n };\n networkObj.buffers = (0, _map.default)(_context2 = network.buffers).call(_context2, function (buffer) {\n var bufferObj = {\n name: buffer.name,\n key: buffer.key,\n enabled: !!buffer.enabled,\n settings: _lodash.default.cloneDeep(buffer.settings)\n };\n return bufferObj;\n });\n return networkObj;\n });\n }\n\n toExport.user_settings = state.user_settings;\n return (0, _stringify.default)(toExport);\n },\n // Import a previously exported state to continue that state\n importState: function importState(stateStr) {\n var _this = this;\n\n var importObj = JSON.parse(stateStr);\n\n if (importObj && importObj.networks) {\n var _context3;\n\n this.resetState();\n (0, _forEach.default)(_context3 = importObj.networks).call(_context3, function (importNetwork) {\n var _context4;\n\n var network = new _NetworkState.default(importNetwork.id, state, userDict, bufferDict);\n network.name = importNetwork.name;\n network.connection = _objectSpread(_objectSpread({}, network.connection), importNetwork.connection);\n network.auto_commands = importNetwork.auto_commands || '';\n network.settings = importNetwork.settings; // First check importNetwork.nick as this was used in older versions\n // TODO: Eventually remove this importNetwork.nick check\n\n network.nick = importNetwork.nick || importNetwork.connection.nick;\n\n if (!network.connection.nick && importNetwork.nick) {\n network.connection.nick = importNetwork.nick;\n }\n\n network.username = importNetwork.username;\n network.gecos = importNetwork.gecos;\n network.password = importNetwork.password;\n network.hidden = importNetwork.hidden;\n network.is_bnc = importNetwork.is_bnc;\n\n _this.networks.push(network);\n\n (0, _forEach.default)(_context4 = importNetwork.buffers).call(_context4, function (impBuffer) {\n var buffer = new _BufferState.default(impBuffer.name, network.id, state, messages);\n buffer.key = impBuffer.key;\n buffer.enabled = !!impBuffer.enabled;\n buffer.settings = impBuffer.settings;\n network.buffers.push(buffer);\n });\n });\n }\n\n if (importObj && importObj.user_settings) {\n this.user_settings = importObj.user_settings;\n }\n },\n resetState: function resetState() {\n this.$set(this.$data, 'user_settings', {});\n this.$set(this.$data, 'networks', []);\n (0, _splice.default)(messages).call(messages, 0);\n },\n setting: function setting(name, val) {\n if (typeof val !== 'undefined') {\n if (val === this.getSetting('settings.' + name)) {\n // Remove setting from user_settings if its the default\n return this.setSetting('user_settings.' + name, null);\n } // Setting any setting always goes into the user own settings space\n\n\n return this.setSetting('user_settings.' + name, val);\n } // Check the user specific settings before reverting to global settings\n\n\n var userSetting = this.getSetting('user_settings.' + name);\n var result = typeof userSetting !== 'undefined' ? userSetting : this.getSetting('settings.' + name);\n return result;\n },\n // Accept 'dotted.notation' to read a state property of any depth\n getSetting: function getSetting(name) {\n var parts = name.split('.');\n var val = this.$data;\n\n for (var i = 0; i < parts.length; i++) {\n val = val[parts[i]];\n\n if (typeof val === 'undefined') {\n break;\n }\n }\n\n return val;\n },\n // Accept 'dotted.notation' to set a state property of any depth\n setSetting: function setSetting(name, newVal) {\n var parts = name.split('.');\n var val = this.$data;\n\n for (var i = 0; i < parts.length; i++) {\n var propName = parts[i];\n var nextVal = val[propName];\n\n if (i < parts.length - 1 && typeof nextVal === 'undefined') {\n nextVal = this.$set(val, propName, {});\n } else if (i === parts.length - 1) {\n if (newVal === null) {\n this.$delete(val, propName);\n } else {\n this.$set(val, propName, newVal);\n }\n }\n\n val = nextVal;\n }\n\n return val;\n },\n getActiveNetwork: function getActiveNetwork() {\n return this.getNetwork(this.ui.active_network);\n },\n getNetwork: function getNetwork(networkid) {\n var network = (0, _find.default)(_lodash.default).call(_lodash.default, this.networks, {\n id: networkid\n });\n return network;\n },\n getNetworkFromAddress: function getNetworkFromAddress(netAddr) {\n return (0, _find.default)(_lodash.default).call(_lodash.default, this.networks, function (net) {\n var isMatch = netAddr.toLowerCase() === net.connection.server.toLowerCase();\n return isMatch;\n });\n },\n getNetworkFromBncNetId: function getNetworkFromBncNetId(bncnetid) {\n return (0, _find.default)(_lodash.default).call(_lodash.default, this.networks, function (net) {\n return bncnetid === net.connection.bncnetid;\n });\n },\n addNetwork: function addNetwork(name, nick, serverInfo) {\n // Find the current largest ID and increment it by 1\n function networkidReduce(currentMax, network) {\n return network.id > currentMax ? network.id : currentMax;\n }\n\n var networkid = serverInfo.channelId ? (0, _parseInt2.default)(serverInfo.channelId, 10) : (0, _reduce.default)(_lodash.default).call(_lodash.default, this.networks, networkidReduce, 0) + 1;\n var network = new _NetworkState.default(networkid, state, userDict, bufferDict);\n network.name = name;\n network.username = serverInfo.username;\n network.gecos = serverInfo.gecos;\n network.password = serverInfo.account_password || '';\n network.connection.password = serverInfo.password;\n network.connection.nick = nick;\n network.connection.server = serverInfo.server || '';\n network.connection.port = serverInfo.port || 6667;\n network.connection.tls = serverInfo.tls || false;\n network.connection.path = serverInfo.path || '';\n network.connection.direct = !!serverInfo.direct;\n network.connection.path = serverInfo.path || '';\n network.connection.encoding = serverInfo.encoding || 'utf8';\n network.connection.bncnetid = serverInfo.bncnetid || '';\n\n if (serverInfo.services) {\n network.services = serverInfo.services;\n }\n\n this.networks.push(network); // Add the server server buffer\n\n this.addBuffer(network.id, '*').joined = true;\n var eventObj = {\n network: network\n };\n state.$emit('network.new', eventObj);\n return network;\n },\n removeNetwork: function removeNetwork(networkid) {\n var _context5, _context6;\n\n var network = this.getNetwork(networkid);\n\n if (!network) {\n return;\n }\n\n if (network.state === 'connected') {\n network.ircClient.quit();\n }\n\n while (network.buffers.length > 0) {\n this.removeBuffer(network.buffers[0]);\n }\n\n var findNewNetwork = false;\n\n if (network === this.getActiveNetwork()) {\n findNewNetwork = true;\n }\n\n var idx = (0, _indexOf.default)(_context5 = this.networks).call(_context5, network);\n (0, _splice.default)(_context6 = this.networks).call(_context6, idx, 1);\n\n if (findNewNetwork) {\n this.openLastActiveBuffer();\n }\n\n var eventObj = {\n network: network\n };\n state.$emit('network.removed', eventObj);\n },\n getActiveBuffer: function getActiveBuffer() {\n return this.getBufferByName(this.ui.active_network, this.ui.active_buffer);\n },\n setActiveBuffer: function setActiveBuffer(networkid, bufferName) {\n if (!networkid) {\n this.ui.active_network = 0;\n this.ui.active_buffer = '';\n } else {\n if (this.ui.active_network) {\n // Keep track of last 20 viewed buffers. When closing buffers we can go back\n // to one of the previous ones\n this.ui.last_active_buffers.push({\n networkid: this.ui.active_network,\n bufferName: this.ui.active_buffer\n });\n var lastActive = this.ui.last_active_buffers;\n this.ui.last_active_buffers = (0, _splice.default)(lastActive).call(lastActive, lastActive.length - 20);\n }\n\n this.ui.active_network = networkid;\n this.ui.active_buffer = bufferName; // Clear any unread messages counters for this buffer\n\n var buffer = this.getBufferByName(networkid, bufferName);\n\n if (buffer && (0, _flags.default)(buffer).unread) {\n (0, _flags.default)(buffer).unread = 0;\n } // Update the buffers last read time\n\n\n if (buffer) {\n buffer.markAsRead(true);\n }\n }\n },\n openLastActiveBuffer: function openLastActiveBuffer() {\n var targetNetwork;\n var targetBuffer;\n var lastActive = this.ui.last_active_buffers; // Find the last buffer in our history that still exists\n\n for (var i = lastActive.length - 1; i >= 0; i--) {\n var network = this.getNetwork(lastActive[i].networkid);\n\n if (!network) {\n continue;\n }\n\n var buffer = network.bufferByName(lastActive[i].bufferName);\n\n if (!buffer) {\n continue;\n }\n\n targetNetwork = network;\n targetBuffer = buffer; // Trim the buffer history to this point\n\n (0, _splice.default)(lastActive).call(lastActive, i);\n break;\n } // Try to find a suitable buffer\n\n\n if (!targetBuffer) {\n var _network = this.getActiveNetwork() || this.networks[0];\n\n if (_network) {\n targetNetwork = _network;\n var _buffer = _network.buffers[1];\n\n if (_buffer) {\n targetBuffer = _buffer;\n } else {\n targetBuffer = _network.serverBuffer();\n }\n }\n }\n\n if (targetBuffer) {\n this.setActiveBuffer(targetNetwork.id, targetBuffer.name);\n } else {\n this.setActiveBuffer();\n }\n },\n updateBufferLastRead: function updateBufferLastRead(networkid, bufferName) {\n var buffer = this.getBufferByName(networkid, bufferName);\n\n if (buffer) {\n buffer.last_read = (0, _now.default)();\n buffer.active_timeout = null;\n }\n },\n getOrAddBufferByName: function getOrAddBufferByName(networkid, bufferName) {\n var network = this.getNetwork(networkid);\n\n if (!network) {\n return null;\n }\n\n var toMatch = bufferName.toLowerCase();\n var buffer = (0, _find.default)(_lodash.default).call(_lodash.default, network.buffers, function (b) {\n return b.name.toLowerCase() === toMatch;\n });\n\n if (!buffer) {\n buffer = this.addBuffer(networkid, bufferName);\n }\n\n return buffer;\n },\n getBufferByName: function getBufferByName(networkid, bufferName) {\n if (!bufferName) {\n return null;\n }\n\n var network = this.getNetwork(networkid);\n\n if (!network) {\n return null;\n }\n\n var toMatch = bufferName.toLowerCase();\n var buffer = (0, _find.default)(_lodash.default).call(_lodash.default, network.buffers, function (b) {\n return b.name.toLowerCase() === toMatch;\n });\n return buffer;\n },\n addBuffer: function addBuffer(networkid, bufferName) {\n if (!bufferName) {\n return false;\n } // If we already have this buffer, don't re-add it\n\n\n var buffer = this.getBufferByName(networkid, bufferName);\n\n if (buffer) {\n return buffer;\n } // Make sure we at least we have this network\n\n\n var network = this.getNetwork(networkid);\n\n if (!network) {\n return false;\n }\n\n buffer = new _BufferState.default(bufferName, network.id, state, messages);\n network.buffers.push(buffer);\n var eventObj = {\n buffer: buffer\n };\n state.$emit('buffer.new', eventObj);\n return buffer;\n },\n removeBuffer: function removeBuffer(buffer) {\n var _context7, _context9;\n\n var isActiveBuffer = this.getActiveBuffer() === buffer;\n var network = this.getNetwork(buffer.networkid);\n\n if (!network) {\n return;\n }\n\n var eventObj = {\n buffer: buffer\n };\n state.$emit('buffer.close', eventObj);\n var bufferIdx = (0, _indexOf.default)(_context7 = network.buffers).call(_context7, buffer);\n\n if (bufferIdx > -1) {\n var _context8;\n\n (0, _splice.default)(_context8 = network.buffers).call(_context8, bufferIdx, 1);\n }\n\n var messageIdx = (0, _findIndex.default)(_lodash.default).call(_lodash.default, messages, {\n networkid: network.id,\n buffer: buffer.name\n });\n\n if (messageIdx > -1) {\n (0, _splice.default)(messages).call(messages, messageIdx, 1);\n }\n\n if (buffer.isChannel() && buffer.joined) {\n network.ircClient.part(buffer.name);\n } // Remove the user from network state if no remaining common channels\n\n\n if (buffer.isQuery()) {\n var remainingBuffers = state.getBuffersWithUser(network.id, buffer.name);\n\n if (remainingBuffers.length === 0) {\n state.removeUser(network.d, {\n nick: buffer.name\n });\n }\n }\n\n if (isActiveBuffer) {\n this.openLastActiveBuffer();\n } // Remove this buffer from any users\n\n /* eslint-disable guard-for-in */\n\n\n (0, _forEach.default)(_context9 = (0, _keys.default)(buffer.users)).call(_context9, function (nick) {\n var user = buffer.users[nick];\n delete user.buffers[buffer.id];\n });\n },\n addMessage: function addMessage(buffer, message) {\n // Some messages try to be added after a network has been removed, meaning no buffer\n // will be available\n if (!buffer || !buffer.getNetwork()) {\n return;\n }\n\n var user = this.getUser(buffer.networkid, message.nick);\n var bufferMessage = new _Message.default(message, user);\n\n if (user && user.ignore) {\n bufferMessage.ignore = true;\n }\n\n buffer.addMessage(bufferMessage); // Increment the unread counter if this buffer is not active\n\n var includeAsActivity = false;\n var typesForActivty = ['privmsg', 'action', 'notice', 'wallops'];\n\n if (buffer.setting('traffic_as_activity') && message.type === 'traffic') {\n typesForActivty.push('traffic');\n }\n\n if ((0, _indexOf.default)(typesForActivty).call(typesForActivty, message.type) > -1) {\n includeAsActivity = true;\n }\n\n var isActiveBuffer = buffer.networkid === this.ui.active_network && buffer.name === this.ui.active_buffer;\n var network = buffer.getNetwork();\n var isNewMessage = message.time >= buffer.last_read;\n var isHighlight = !network ? false : Misc.mentionsNick(bufferMessage.message, network.ircClient.user.nick); // Check for extra custom highlight words\n\n var extraHighlights = (state.setting('highlights') || '').toLowerCase().split(' ');\n\n if (!isHighlight && extraHighlights.length > 0) {\n (0, _forEach.default)(extraHighlights).call(extraHighlights, function (word) {\n var _context10;\n\n if (!word) {\n return;\n }\n\n if ((0, _indexOf.default)(_context10 = bufferMessage.message.toLowerCase()).call(_context10, word) > -1) {\n isHighlight = true;\n }\n });\n }\n\n if (state.setting('teamHighlights')) {\n var m = bufferMessage.message;\n var patterns = {\n everyone: /(^|\\s)@everybody($|\\s|[,.;])/,\n channel: /(^|\\s)@channel($|\\s|[,.;])/,\n here: /(^|\\s)@here($|\\s|[,.;])/\n };\n\n if (m.match(patterns.everyone) || m.match(patterns.channel)) {\n isHighlight = true;\n }\n\n if (m.match(patterns.here) && network && !network.away) {\n isHighlight = true;\n }\n }\n\n bufferMessage.isHighlight = isHighlight;\n\n if (isNewMessage && isActiveBuffer && state.ui.app_has_focus) {\n buffer.last_read = message.time;\n } // Handle buffer flags\n\n\n if (isNewMessage && includeAsActivity && !isActiveBuffer && !bufferMessage.ignore) {\n buffer.incrementFlag('unread');\n\n if (isHighlight) {\n buffer.flag('highlight', true);\n }\n } // Handle any notifications\n\n\n var settingAlertOn = buffer.setting('alert_on');\n var isSelf = !network ? false : message.nick === network.nick;\n\n if (isNewMessage && settingAlertOn !== 'never' && message.type !== 'nick' && message.type !== 'mode' && message.type !== 'traffic' && !buffer.isSpecial() && !bufferMessage.ignore && !isSelf) {\n var notifyTitle = '';\n var notifyMessage = message.nick ? message.nick + ': ' : '';\n notifyMessage += message.message;\n\n if (isHighlight) {\n notifyTitle = 'You were mentioned in ' + buffer.name;\n } else if (settingAlertOn === 'message' && !isHighlight) {\n notifyTitle = buffer.name;\n }\n\n if (notifyTitle) {\n this.$emit('notification.show', notifyMessage, {\n title: notifyTitle,\n onclick: function onclick() {\n state.setActiveBuffer(buffer.networkid, buffer.name); // Newer webkit browser use parent.focus() while older webkit uses\n // window.focus()\n\n /* eslint-disable no-restricted-globals */\n\n if (parent && parent.focus) {\n parent.focus();\n }\n\n if (window.focus) {\n window.focus();\n }\n }\n });\n }\n }\n\n if (isActiveBuffer && !state.ui.app_has_focus && message.type !== 'traffic' && (buffer.setting('flash_title') === 'message' || buffer.setting('flash_title') === 'highlight' && isHighlight)) {\n this.$emit('notification.title', true);\n }\n\n this.$emit('message.new', {\n message: bufferMessage,\n buffer: buffer\n });\n },\n getUser: function getUser(networkid, nick, usersArr_) {\n var user = null;\n var users = usersArr_;\n\n if (!users) {\n var network = this.getNetwork(networkid);\n\n if (network) {\n users = network.users;\n }\n }\n\n if (users) {\n user = users[nick.toLowerCase()];\n }\n\n return user;\n },\n // Modify a networks user array without hitting vues reactive system until fn()\n // has completed. Good for making large changes in bulk\n usersTransaction: function usersTransaction(networkid, fn) {\n var network = this.getNetwork(networkid);\n\n if (!network) {\n return;\n }\n\n var users = _lodash.default.clone(network.users);\n\n fn(users);\n network.users = users;\n },\n addUser: function addUser(networkid, user, usersArr_) {\n var network = null; // Accept either a network ID or a direct network object\n\n if (typeof networkid === 'number') {\n network = this.getNetwork(networkid);\n } else {\n network = networkid;\n }\n\n if (!network) {\n return null;\n }\n\n var usersArr = usersArr_ || network.users;\n var userObj = null;\n\n if (!usersArr[user.nick.toLowerCase()]) {\n userObj = usersArr[user.nick.toLowerCase()] = new _UserState.default(user);\n } else {\n // Update the existing user object with any new info we have\n userObj = state.getUser(network.id, user.nick, usersArr);\n\n _lodash.default.each(user, function (val, prop) {\n if (typeof val !== 'undefined') {\n userObj[prop] = val;\n }\n });\n }\n\n return userObj;\n },\n removeUser: function removeUser(networkid, user) {\n var network = this.getNetwork(networkid);\n\n if (!network) {\n return;\n }\n\n var buffers = state.getBuffersWithUser(networkid, user.nick);\n (0, _forEach.default)(buffers).call(buffers, function (buffer) {\n state.removeUserFromBuffer(buffer, user.nick);\n });\n this.$delete(network.users, user.nick.toLowerCase());\n },\n addMultipleUsersToBuffer: function addMultipleUsersToBuffer(buffer, newUsers) {\n var _this2 = this;\n\n var network = this.getNetwork(buffer.networkid);\n\n var bufUsers = _lodash.default.clone(buffer.users);\n\n state.usersTransaction(network.id, function (users) {\n (0, _forEach.default)(newUsers).call(newUsers, function (newUser) {\n var user = newUser.user;\n var modes = newUser.modes;\n var userObj = state.getUser(network.id, user.nick, users);\n\n if (!userObj) {\n userObj = _this2.addUser(network, user, users);\n }\n\n bufUsers[userObj.nick.toLowerCase()] = userObj; // Add the buffer to the users buffer list\n\n if (!userObj.buffers[buffer.id]) {\n state.$set(userObj.buffers, buffer.id, {\n modes: modes || [],\n buffer: buffer\n });\n } else {\n userObj.buffers[buffer.id].modes = modes || [];\n }\n });\n });\n buffer.users = bufUsers;\n },\n addUserToBuffer: function addUserToBuffer(buffer, user, modes) {\n var network = this.getNetwork(buffer.networkid);\n var userObj = state.getUser(network.id, user.nick);\n\n if (!userObj) {\n userObj = this.addUser(network, user);\n } else {\n // Verify the user object is correct\n _lodash.default.each(user, function (val, prop) {\n if (userObj[prop] !== val) {\n userObj[prop] = val;\n }\n });\n }\n\n buffer.addUser(userObj); // Add the buffer to the users buffer list\n\n if (!userObj.buffers[buffer.id]) {\n state.$set(userObj.buffers, buffer.id, {\n modes: modes || [],\n buffer: buffer\n });\n } else {\n state.$set(userObj.buffers[buffer.id], 'modes', modes || []);\n }\n },\n removeUserFromBuffer: function removeUserFromBuffer(buffer, nick) {\n buffer.removeUser(nick);\n },\n getBuffersWithUser: function getBuffersWithUser(networkid, nick) {\n var _context11;\n\n var network = this.getNetwork(networkid);\n\n if (!network) {\n return [];\n }\n\n var normalisedNick = nick.toLowerCase();\n var buffers = [];\n (0, _forEach.default)(_context11 = network.buffers).call(_context11, function (buffer) {\n var bufferNameLower = buffer.name.toLowerCase();\n\n if (buffer.users[normalisedNick] || normalisedNick === bufferNameLower) {\n buffers.push(buffer);\n } else if (nick === network.nick && buffer.isQuery()) {\n buffers.push(buffer);\n }\n });\n return buffers;\n },\n changeUserNick: function changeUserNick(networkid, oldNick, newNick) {\n var network = this.getNetwork(networkid);\n\n if (!network) {\n return;\n }\n\n var user = state.getUser(network.id, oldNick);\n\n if (!user) {\n return;\n }\n\n var normalisedNew = newNick.toLowerCase();\n var normalisedOld = oldNick.toLowerCase();\n user.nick = newNick; // If the nick has completely changed (ie. not just a case change) then update all\n // associated buffers user lists\n\n if (normalisedOld !== normalisedNew) {\n var _context12;\n\n state.$set(network.users, normalisedNew, network.users[normalisedOld]);\n state.$delete(network.users, normalisedOld);\n (0, _forEach.default)(_context12 = (0, _keys.default)(user.buffers)).call(_context12, function (bufferId) {\n var buffer = user.buffers[bufferId].buffer;\n state.$set(buffer.users, normalisedNew, buffer.users[normalisedOld]);\n state.$delete(buffer.users, normalisedOld);\n });\n }\n\n var buffer = this.getBufferByName(network.id, oldNick);\n\n if (buffer) {\n buffer.rename(newNick);\n }\n },\n getStartups: function getStartups() {\n return availableStartups;\n }\n }\n });\n return state;\n}\n\nvar instance = null;\n\nfunction singleton() {\n instance = instance || createNewState();\n return instance;\n}\n\nsingleton.create = function createState() {\n return createNewState();\n};\n\nsingleton.recreate = function recreateState() {\n if (instance) {\n var _context13;\n\n instance.resetState();\n instance.$destroy(); // eslint-disable-next-line\n\n (0, _splice.default)(_context13 = instance._watchers).call(_context13, 0, instance._watchers.length);\n }\n\n instance = createNewState();\n return instance;\n};\n\nvar _default = singleton;\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"state\"]\r\nwindow._kiwi_exports.libs.state = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StartupError.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StartupError.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInvitelist.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInvitelist.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nrequire(\"font-awesome-webpack-4\");\n\nvar _cssVarsPonyfill = _interopRequireDefault(require(\"css-vars-ponyfill\"));\n\nrequire(\"@/res/globalStyle.css\");\n\nvar _tinycon = _interopRequireDefault(require(\"tinycon\"));\n\nvar _Welcome = _interopRequireDefault(require(\"@/components/startups/Welcome\"));\n\nvar _ZncLogin = _interopRequireDefault(require(\"@/components/startups/ZncLogin\"));\n\nvar _CustomServer = _interopRequireDefault(require(\"@/components/startups/CustomServer\"));\n\nvar _KiwiBnc = _interopRequireDefault(require(\"@/components/startups/KiwiBnc\"));\n\nvar _Personal = _interopRequireDefault(require(\"@/components/startups/Personal\"));\n\nvar _StateBrowser = _interopRequireDefault(require(\"@/components/StateBrowser\"));\n\nvar _AppSettings = _interopRequireDefault(require(\"@/components/AppSettings\"));\n\nvar _Container = _interopRequireDefault(require(\"@/components/Container\"));\n\nvar _ControlInput = _interopRequireDefault(require(\"@/components/ControlInput\"));\n\nvar _MediaViewer = _interopRequireDefault(require(\"@/components/MediaViewer\"));\n\nvar _Sidebar = require(\"@/components/Sidebar\");\n\nvar Notifications = _interopRequireWildcard(require(\"@/libs/Notifications\"));\n\nvar bufferTools = _interopRequireWildcard(require(\"@/libs/bufferTools\"));\n\nvar _ThemeManager = _interopRequireDefault(require(\"@/libs/ThemeManager\"));\n\nvar _Logger = _interopRequireDefault(require(\"@/libs/Logger\"));\n\nvar log = _Logger.default.namespace('App.vue');\n\nvar _default = {\n components: {\n StateBrowser: _StateBrowser.default,\n Container: _Container.default,\n ControlInput: _ControlInput.default,\n MediaViewer: _MediaViewer.default\n },\n data: function data() {\n return {\n startupComponent: null,\n hasStarted: false,\n // When on mobile screens, the statebrowser turns into a drawer\n stateBrowserDrawOpen: false,\n // If set, will become the main view instead of a buffer/nicklist container\n activeComponent: null,\n activeComponentProps: {},\n // If set, will become the main view when no networks are available to be shown\n // and there is no active component set\n fallbackComponent: null,\n fallbackComponentProps: {},\n mediaviewerOpen: false,\n mediaviewerUrl: '',\n mediaviewerComponent: null,\n mediaviewerComponentProps: {},\n mediaviewerIframe: false,\n themeUrl: '',\n sidebarState: new _Sidebar.State()\n };\n },\n computed: {\n networks: function networks() {\n return this.$state.networks;\n },\n network: function network() {\n return this.$state.getActiveNetwork();\n },\n buffer: function buffer() {\n return this.$state.getActiveBuffer();\n }\n },\n created: function created() {\n var _this = this;\n\n this.listenForActiveComponents();\n this.watchForThemes();\n this.initStateBrowser();\n this.initMediaviewer();\n this.configureFavicon();\n this.listen(document, 'keydown', function (event) {\n return _this.onKeyDown(event);\n });\n this.listen(window, 'focus', function (event) {\n return _this.onFocus(event);\n });\n this.listen(window, 'blur', function (event) {\n return _this.onBlur(event);\n });\n this.listen(window, 'touchstart', function (event) {\n return _this.onTouchStart(event);\n });\n },\n mounted: function mounted() {\n // Decide which startup screen to use depending on the config\n var startupScreens = {\n welcome: _Welcome.default,\n customServer: _CustomServer.default,\n kiwiBnc: _KiwiBnc.default,\n znc: _ZncLogin.default,\n personal: _Personal.default\n };\n var extraStartupScreens = this.$state.getStartups();\n var startupName = this.$state.settings.startupScreen || 'personal';\n var startup = extraStartupScreens[startupName] || startupScreens[startupName];\n\n if (!startup) {\n _Logger.default.error(\"Startup screen \\\"\".concat(startupName, \"\\\" does not exist\"));\n } else {\n this.startupComponent = startup;\n }\n\n this.trackWindowDimensions();\n },\n methods: {\n // Triggered by a startup screen event\n startUp: function startUp(opts) {\n var _this2 = this;\n\n log('startUp()');\n\n if (opts && opts.fallbackComponent) {\n this.fallbackComponent = opts.fallbackComponent;\n }\n\n if (opts && opts.fallbackComponentProps) {\n this.fallbackComponentProps = opts.fallbackComponentProps;\n } // Make sure a startup screen can't trigger these more than once\n\n\n if (!this.hasStarted) {\n this.warnOnPageClose(); // Wait for a click or sending a message before asking for notification permission.\n // Not doing this on an input event will get it blocked by some browsers.\n\n var requestNotificationPermission = function requestNotificationPermission() {\n _this2.$state.$off('document.clicked', requestNotificationPermission);\n\n _this2.$state.$off('input.raw', requestNotificationPermission);\n\n Notifications.requestPermission(_this2.$state);\n Notifications.listenForNewMessages(_this2.$state);\n };\n\n this.$state.$once('document.clicked', requestNotificationPermission);\n this.$state.$once('input.raw', requestNotificationPermission);\n }\n\n this.hasStarted = true;\n },\n listenForActiveComponents: function listenForActiveComponents() {\n var _this3 = this;\n\n this.listen(this.$state, 'active.component', function (component, props) {\n _this3.activeComponent = null;\n\n if (component) {\n _this3.activeComponentProps = props;\n _this3.activeComponent = component;\n }\n });\n this.listen(this.$state, 'active.component.toggle', function (component, props) {\n if (component === _this3.activeComponent) {\n _this3.activeComponent = null;\n } else if (component) {\n _this3.activeComponentProps = props;\n _this3.activeComponent = component;\n }\n });\n },\n watchForThemes: function watchForThemes() {\n var _this4 = this;\n\n var themes = _ThemeManager.default.instance();\n\n this.themeUrl = _ThemeManager.default.themeUrl(themes.currentTheme());\n this.$nextTick(function () {\n return (0, _cssVarsPonyfill.default)();\n });\n this.listen(this.$state, 'theme.change', function () {\n _this4.themeUrl = _ThemeManager.default.themeUrl(themes.currentTheme());\n\n _this4.$nextTick(function () {\n return (0, _cssVarsPonyfill.default)();\n });\n });\n },\n initStateBrowser: function initStateBrowser() {\n var _this5 = this;\n\n this.listen(this.$state, 'statebrowser.toggle', function () {\n _this5.stateBrowserDrawOpen = !_this5.stateBrowserDrawOpen;\n });\n this.listen(this.$state, 'statebrowser.show', function () {\n _this5.stateBrowserDrawOpen = true;\n });\n this.listen(this.$state, 'statebrowser.hide', function () {\n _this5.stateBrowserDrawOpen = false;\n });\n },\n initMediaviewer: function initMediaviewer() {\n var _this6 = this;\n\n this.listen(this.$state, 'mediaviewer.show', function (url) {\n var opts = {}; // The passed url may be a string or an options object\n\n if (typeof url === 'string') {\n opts = {\n url: url\n };\n } else {\n opts = url;\n }\n\n _this6.mediaviewerUrl = opts.url;\n _this6.mediaviewerComponent = opts.component;\n _this6.mediaviewerComponentProps = opts.componentProps;\n _this6.mediaviewerIframe = opts.iframe;\n _this6.mediaviewerOpen = true;\n });\n this.listen(this.$state, 'mediaviewer.hide', function () {\n _this6.mediaviewerOpen = false;\n });\n },\n configureFavicon: function configureFavicon() {\n var _this7 = this;\n\n // favicon bubble\n _tinycon.default.setOptions({\n width: 7,\n height: 9,\n color: '#ffffff',\n background: '#b32d2d',\n fallback: true\n });\n\n this.$state.$watch('ui.favicon_counter', function (newVal) {\n if (newVal) {\n _tinycon.default.setBubble(newVal);\n } else {\n _tinycon.default.reset();\n }\n });\n this.listen(this.$state, 'message.new', function (event) {\n var message = event.message;\n\n if (!message.isHighlight || message.ignore || _this7.$state.ui.app_has_focus) {\n return;\n }\n\n _this7.$state.ui.favicon_counter++;\n });\n },\n trackWindowDimensions: function trackWindowDimensions() {\n var _this8 = this;\n\n // Track the window dimensions into the reactive ui state\n var trackWindowDims = function trackWindowDims() {\n _this8.$state.ui.app_width = _this8.$el.clientWidth;\n _this8.$state.ui.app_height = _this8.$el.clientHeight;\n _this8.$state.ui.is_narrow = _this8.$el.clientWidth <= 769;\n };\n\n this.listen(window, 'resize', trackWindowDims);\n trackWindowDims();\n },\n warnOnPageClose: function warnOnPageClose() {\n var _this9 = this;\n\n window.onbeforeunload = function () {\n if (_this9.$state.setting('warnOnExit')) {\n return _this9.$t('window_unload');\n }\n\n return undefined;\n };\n\n window.onunload = function () {\n var _context;\n\n (0, _forEach.default)(_context = _this9.$state.networks).call(_context, function (net) {\n if (net.connection.direct && net.state === 'connected') {\n net.ircClient.raw('QUIT', _this9.$state.setting('quitMessage') || 'Client Closed Connection');\n }\n });\n };\n },\n emitBufferPaste: function emitBufferPaste(event) {\n // bail if no buffer is active, or the buffer is hidden by another component\n if (!this.$state.getActiveBuffer() || this.activeComponent !== null) {\n return;\n } // bail if the target is an input-like element\n\n\n if (event.target instanceof HTMLInputElement || event.target instanceof HTMLSelectElement || event.target instanceof HTMLTextAreaElement) {\n return;\n }\n\n this.$state.$emit('buffer.paste', event);\n },\n emitDocumentClick: function emitDocumentClick(event) {\n this.$state.$emit('document.clicked', event);\n },\n onTouchStart: function onTouchStart(event) {\n // Parts of the UI adjust themselves if we're known to be using a touchscreen\n this.$state.ui.is_touch = true;\n },\n onBlur: function onBlur(event) {\n this.$state.ui.app_has_focus = false;\n },\n onFocus: function onFocus(event) {\n this.$state.ui.app_has_focus = true;\n var buffer = this.$state.getActiveBuffer();\n\n if (buffer) {\n buffer.markAsRead(true);\n }\n\n this.$state.ui.favicon_counter = 0;\n },\n onKeyDown: function onKeyDown(event) {\n var _context2;\n\n this.$state.$emit('document.keydown', event);\n var meta = false;\n\n if ((0, _indexOf.default)(_context2 = navigator.appVersion).call(_context2, 'Mac') !== -1) {\n meta = event.metaKey;\n } else {\n // none english languages use ctrl + alt to access extended chars\n // make sure we do not interfere with that by only acting on ctrl\n meta = event.ctrlKey && !event.altKey;\n }\n\n if (meta && event.keyCode === 221) {\n // meta + ]\n var buffer = bufferTools.getNextBuffer();\n\n if (buffer) {\n this.$state.setActiveBuffer(buffer.networkid, buffer.name);\n }\n\n event.preventDefault();\n } else if (meta && event.keyCode === 219) {\n // meta + [\n var _buffer = bufferTools.getPreviousBuffer();\n\n if (_buffer) {\n this.$state.setActiveBuffer(_buffer.networkid, _buffer.name);\n }\n\n event.preventDefault();\n } else if (meta && event.keyCode === 79) {\n // meta + o\n this.$state.$emit('active.component.toggle', _AppSettings.default);\n event.preventDefault();\n } else if (meta && event.keyCode === 83) {\n // meta + s\n var network = this.$state.getActiveNetwork();\n\n if (network) {\n network.showServerBuffer('settings');\n }\n\n event.preventDefault();\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"App\"]\r\nwindow._kiwi_exports.components.App = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommonLayout.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommonLayout.vue?vue&type=style&index=0&lang=css&\"","import { render, staticRenderFns } from \"./StateBrowserUsermenu.vue?vue&type=template&id=7e2c9020&\"\nimport script from \"./StateBrowserUsermenu.vue?vue&type=script&lang=js&\"\nexport * from \"./StateBrowserUsermenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StateBrowserUsermenu.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { render, staticRenderFns } from \"./Personal.vue?vue&type=template&id=5935ee4a&\"\nimport script from \"./Personal.vue?vue&type=script&lang=js&\"\nexport * from \"./Personal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Personal.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\nvar _TypingStatusIndicator = _interopRequireDefault(require(\"./TypingStatusIndicator\"));\n\nvar _Avatar = _interopRequireDefault(require(\"./Avatar\"));\n\nvar methods = {\n props: {},\n userColour: function userColour() {\n var props = this.props;\n\n if (props.nicklist.useColouredNicks) {\n return props.user.getColour();\n }\n\n return '';\n },\n shouldShowAvatars: function shouldShowAvatars() {\n var props = this.props;\n return props.nicklist.buffer.setting('nicklist_avatars');\n }\n};\nvar _default = {\n inject: {\n components: {\n default: {\n AwayStatusIndicator: _AwayStatusIndicator.default,\n TypingStatusIndicator: _TypingStatusIndicator.default,\n Avatar: _Avatar.default\n }\n }\n },\n props: {\n network: Object,\n user: Object,\n nicklist: Object,\n m: {\n default: function m() {\n // vue uses this function to generate the prop. `this`==null Return our own function\n return function n() {\n // Give our methods some props context before its function is called.\n // This is only safe because the function on the methods object is called on\n // the same js tick\n methods.props = this;\n return methods;\n };\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"NicklistUser\"]\r\nwindow._kiwi_exports.components.NicklistUser = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n/** @module */\n\n/*\n * Multiplexed channels over a websocket connection\n * * Only allow 1 websocket per server\n * * Multiple channels through a single websocket\n * * A channel per IRC network connection\n * Messages are prefixed with : and the channel name then a space. eg:\n * :1 Here is the data\n *\n * Example protocol chatter:\n * Client > START Client tells the server it's starting a session\n * Server > SESSION 1234 Server sends the client the current session ID\n * Client > :1 Client is creating a new channel, ID 1\n * Server > :1 Server acknowledges the new channel, ID 1\n * Client > :1 some data Client sends data over channel 1 to the server\n * Server > :1 some data Server sends data over channel 1 to the client\n * Client > :2 Client is creating a new channel, ID 2\n * Server > :2 Server acknowledges the new channel, ID 2\n */\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.createChannelConstructor = createChannelConstructor;\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _sockjsClient = _interopRequireDefault(require(\"sockjs-client\"));\n\nvar _eventemitter = _interopRequireDefault(require(\"eventemitter3\"));\n\nvar serverConnections = (0, _create.default)(null);\nvar createdChannels = (0, _create.default)(null);\nvar controlChannel = '0';\n/**\n *\n * @param {String} _addr Sockjs endpoint\n * @param {String} sessionId Optional session ID to continue\n * @param {String} _socketChannel The optional multiplexed channel ID. Autogenerated if not provided\n */\n\nfunction createChannelConstructor(_addr, sessionId, _socketChannel) {\n var addr = _addr.toLowerCase();\n\n if (!serverConnections[addr]) {\n serverConnections[addr] = createNewConnection(addr, sessionId);\n } // If a channel ID hasn't been specified, create a new one\n\n\n var socketChannel = _socketChannel;\n\n if (!socketChannel) {\n socketChannel = serverConnections[addr].nextChannelId++;\n }\n\n return createChannelOnConnection(serverConnections[addr], socketChannel);\n}\n/*\n * Creates a new socket connection to a kiwi server.\n * Channels will be created on this connection to send data back and forth.\n */\n\n\nfunction createNewConnection(wsAddr, sessionId) {\n var connection = new _eventemitter.default();\n connection.sessionId = '';\n serverConnections[wsAddr] = connection;\n connection.nextChannelId = 1;\n connection.connected = false;\n\n connection.reconnect = connection.connect = function connect() {\n if (connection.ws) {\n try {\n connection.ws.close();\n } catch (err) {// Ignore any closing errors. Most likely due to not\n // being connected yet.\n }\n\n connection.ws = null;\n }\n\n connection.ws = new _sockjsClient.default(wsAddr);\n\n connection.ws.onopen = function () {\n var _context;\n\n var connectStr = sessionId ? 'CONTROL SESSION ' + sessionId : 'CONTROL START';\n connection.ws.send((0, _concat.default)(_context = \":\".concat(controlChannel, \" \")).call(_context, connectStr));\n connection.connected = true;\n connection.emit('open');\n };\n\n connection.ws.onclose = function (err) {\n connection.connected = false;\n connection.ws = null;\n connection.emit('close', err);\n };\n\n connection.ws.onmessage = function (event) {\n connection.emit('message', event); // If the message starts with \":channel \" then extract that channel and emit\n // an event for it.\n\n if (event.data[0] === ':') {\n var message = event.data;\n var spacePos = (0, _indexOf.default)(message).call(message, ' '); // If no space, ie. \":1\", this is the server acknowledging this channel\n // is now open and ready to be used.\n\n if (spacePos === -1) {\n connection.emit('open.' + message.substr(1));\n return;\n }\n\n var channelId = message.substr(1, spacePos - 1);\n event.data = message.substr(spacePos + 1);\n connection.emit('message.' + channelId, event);\n } else {\n // Core messages. Used for session handling and session syncing\n var parts = event.data.split(' ');\n\n if (parts[0] === 'SESSION') {\n connection.sessionId = parts[1];\n }\n }\n };\n };\n\n connection.connect();\n return connection;\n}\n/*\n * Create a channel on a server connection.\n * The ConnectionChannel implements an IrcFramework transport\n */\n\n\nfunction createChannelOnConnection(connection, channelId) {\n // Only allow 1 ConnectionChannel instance per channel\n return function ConnectionChannelWrapper(options) {\n if (!createdChannels[channelId]) {\n createdChannels[channelId] = new ConnectionChannel(options);\n } else if (connection.connected) {\n createdChannels[channelId].initChannel();\n }\n\n return createdChannels[channelId];\n };\n\n function ConnectionChannel(options) {\n var sendControlBuffer = [];\n var encoding = 'utf8';\n var channel = new _eventemitter.default();\n channel.id = channelId;\n channel.isOpen = false;\n channel.state = 0; // TODO: Is this used anywhere?\n // 0 = disconnected, 1 = connected\n\n channel.remoteState = 0; // When the websocket opens, open this channel on it\n\n connection.on('open', function () {\n connection.ws.send(':' + channelId);\n }); // When we get confirmation of this channel being opened, send any control\n // messages that were buffered\n\n connection.on('open.' + channelId, function () {\n channel.isOpen = true; // channel.emit('open');\n\n if (sendControlBuffer.length) {\n (0, _forEach.default)(sendControlBuffer).call(sendControlBuffer, function (line) {\n channel.sendControl(line);\n });\n sendControlBuffer = [];\n }\n\n channel.setEncoding(encoding); // This channel is now open and can start sending data to the server\n\n channel.remoteState = 1;\n channel.emit('open');\n });\n connection.on('close', function (err) {\n channel.state = 3;\n channel.remoteState = 0;\n channel.isOpen = false;\n channel.emit('close', err);\n });\n connection.on('message.' + channelId, function (event) {\n var _context2;\n\n if ((0, _indexOf.default)(_context2 = event.data).call(_context2, 'control ') === 0) {\n var _context3, _context4;\n\n // When we get the signal that the connection to the IRC server\n // has connected, start proxying all data\n if ((0, _indexOf.default)(_context3 = event.data).call(_context3, 'control connected') === 0) {\n channel.remoteState = 1;\n }\n\n if ((0, _indexOf.default)(_context4 = event.data).call(_context4, 'control closed') === 0) {\n var err = event.data.split(' ')[2];\n channel.remoteState = 0;\n channel.emit('close', err);\n }\n }\n\n if (channel.remoteState === 1) {\n channel.emit('line', event.data);\n }\n }); // Send a control message to the server (not relayed to an IRC network)\n\n channel.sendControl = function writeTarget(data) {\n if (channel.isOpen) {\n connection.ws.send(':' + channelId + ' ' + data);\n } else {\n sendControlBuffer.push(data);\n }\n };\n\n channel.writeLine = function writeTarget(data) {\n // Buffer the data if the socket has not yet been sent\n if (channel.remoteState >= 1) {\n connection.ws.send(':' + channelId + ' ' + data);\n }\n }; // Tell the server to connect to an IRC network\n\n\n channel.connect = function connect() {\n // Clear any buffered control messages so we have a clean slate\n sendControlBuffer = []; // If the websocket is not connected, try to reconnect it\n\n if (!connection.ws) {\n connection.reconnect();\n }\n\n var host = options.host;\n var port = options.port;\n var tls = options.tls || options.ssl;\n channel.sendControl('HOST ' + host + ':' + (tls ? '+' : '') + port);\n };\n\n channel.close = function close() {\n if (channel.remoteState >= 1) {\n connection.ws.send(':' + channelId);\n }\n }; // This is not supported but irc-framework transports need it, so just noop it\n\n\n channel.setEncoding = function setEncoding(newEncoding) {\n encoding = newEncoding;\n\n if (connection.connected) {\n connection.ws.send(':' + channelId + ' ENCODING ' + newEncoding);\n }\n\n return true;\n };\n\n channel.disposeSocket = function disposeSocket() {// noop\n };\n\n channel.initChannel = function initChannel() {\n connection.ws.send(':' + channelId);\n }; // Let the server know of this new channel if we're already connected\n\n\n if (connection.connected) {\n channel.initChannel();\n }\n\n return channel;\n }\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"ServerConnection\"]\r\nwindow._kiwi_exports.libs.ServerConnection = exports.default ? exports.default : exports;\r\n","var render = function (_h,_vm) {var _c=_vm._c;return _c(_vm.$options.c.Avatar,{tag:\"component\",attrs:{\"user\":_vm.props.user,\"message\":_vm.props.message,\"size\":\"small\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BufferSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BufferSettings.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Nicklist.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Nicklist.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StateBrowserNetwork.vue?vue&type=template&id=0debfeb8&\"\nimport script from \"./StateBrowserNetwork.vue?vue&type=script&lang=js&\"\nexport * from \"./StateBrowserNetwork.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StateBrowserNetwork.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file diff --git a/sources/dist/static/js/vendor.ef38e50b.js b/sources/dist/static/js/vendor.ef38e50b.js new file mode 100644 index 0000000..5638987 --- /dev/null +++ b/sources/dist/static/js/vendor.ef38e50b.js @@ -0,0 +1,202 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["vendor"],{"0040":function(t,e,n){"use strict";var r=function(){};t.exports=function(t){return{filterToEnabled:function(e,n){var o={main:[],facade:[]};return e?"string"===typeof e&&(e=[e]):e=[],t.forEach((function(t){t&&("websocket"!==t.transportName||!1!==n.websocket?e.length&&-1===e.indexOf(t.transportName)?r("not in whitelist",t.transportName):t.enabled(n)?(r("enabled",t.transportName),o.main.push(t),t.facadeTransport&&o.facade.push(t.facadeTransport)):r("disabled",t.transportName):r("disabled from server","websocket"))})),o}}}},"0054":function(t,e,n){var r=n("a5eb"),o=n("9883"),i=n("06fa"),a=o("JSON","stringify"),s=/[\uD800-\uDFFF]/g,u=/^[\uD800-\uDBFF]$/,c=/^[\uDC00-\uDFFF]$/,f=function(t,e,n){var r=n.charAt(e-1),o=n.charAt(e+1);return u.test(t)&&!c.test(o)||c.test(t)&&!u.test(r)?"\\u"+t.charCodeAt(0).toString(16):t},l=i((function(){return'"\\udf06\\ud834"'!==a("\udf06\ud834")||'"\\udead"'!==a("\udead")}));a&&r({target:"JSON",stat:!0,forced:l},{stringify:function(t,e,n){var r=a.apply(null,arguments);return"string"==typeof r?r.replace(s,f):r}})},"00ee":function(t,e,n){var r=n("b622"),o=r("toStringTag"),i={};i[o]="z",t.exports="[object z]"===String(i)},"00fd":function(t,e,n){var r=n("9e69"),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,s=r?r.toStringTag:void 0;function u(t){var e=i.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(u){}var o=a.call(t);return r&&(e?t[s]=n:delete t[s]),o}t.exports=u},"01d0":function(t,e,n){"use strict";var r=this&&this.__extends||function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},t(e,n)};return function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=new Map([["tag",1],["script",1],["style",1],["directive",1],["text",3],["cdata",4],["comment",8]]),i=function(){function t(t){this.type=t,this.parent=null,this.prev=null,this.next=null,this.startIndex=null,this.endIndex=null}return Object.defineProperty(t.prototype,"nodeType",{get:function(){return o.get(this.type)||1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parentNode",{get:function(){return this.parent||null},set:function(t){this.parent=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"previousSibling",{get:function(){return this.prev||null},set:function(t){this.prev=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"nextSibling",{get:function(){return this.next||null},set:function(t){this.next=t},enumerable:!0,configurable:!0}),t}();e.Node=i;var a=function(t){function e(e,n){var r=t.call(this,e)||this;return r.data=n,r}return r(e,t),Object.defineProperty(e.prototype,"nodeValue",{get:function(){return this.data},set:function(t){this.data=t},enumerable:!0,configurable:!0}),e}(i);e.DataNode=a;var s=function(t){function e(e,n){var r=t.call(this,"directive",n)||this;return r.name=e,r}return r(e,t),e}(a);e.ProcessingInstruction=s;var u=function(t){function e(e,n){var r=t.call(this,e)||this;return r.children=n,r}return r(e,t),Object.defineProperty(e.prototype,"firstChild",{get:function(){return this.children[0]||null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"lastChild",{get:function(){return this.children[this.children.length-1]||null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"childNodes",{get:function(){return this.children},set:function(t){this.children=t},enumerable:!0,configurable:!0}),e}(i);e.NodeWithChildren=u;var c=function(t){function e(e,n){var r=t.call(this,"script"===e?"script":"style"===e?"style":"tag",[])||this;return r.name=e,r.attribs=n,r.attribs=n,r}return r(e,t),Object.defineProperty(e.prototype,"tagName",{get:function(){return this.name},set:function(t){this.name=t},enumerable:!0,configurable:!0}),e}(u);e.Element=c},"0273":function(t,e,n){var r=n("c1b2"),o=n("4180"),i=n("2c6c");t.exports=r?function(t,e,n){return o.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"0293":function(t,e,n){"use strict";n("3e47");var r,o=n("a5eb"),i=n("c1b2"),a=n("c567"),s=n("3ac6"),u=n("c230"),c=n("d666"),f=n("5f7d"),l=n("78e7"),p=n("f44f"),h=n("471b"),d=n("cbd0").codeAt,v=n("e7f1"),g=n("2874"),b=n("e2c3"),m=n("2f5a"),y=s.URL,_=b.URLSearchParams,w=b.getState,x=m.set,E=m.getterFor("URL"),D=Math.floor,A=Math.pow,C="Invalid authority",S="Invalid scheme",F="Invalid host",k="Invalid port",O=/[A-Za-z]/,T=/[\d+-.A-Za-z]/,R=/\d/,L=/^(0x|0X)/,j=/^[0-7]+$/,P=/^\d+$/,N=/^[\dA-Fa-f]+$/,I=/[\u0000\u0009\u000A\u000D #%/:?@[\\]]/,B=/[\u0000\u0009\u000A\u000D #/:?@[\\]]/,M=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,U=/[\u0009\u000A\u000D]/g,$=function(t,e){var n,r,o;if("["==e.charAt(0)){if("]"!=e.charAt(e.length-1))return F;if(n=z(e.slice(1,-1)),!n)return F;t.host=n}else if(Z(t)){if(e=v(e),I.test(e))return F;if(n=q(e),null===n)return F;t.host=n}else{if(B.test(e))return F;for(n="",r=h(e),o=0;o4)return t;for(n=[],r=0;r1&&"0"==o.charAt(0)&&(i=L.test(o)?16:8,o=o.slice(8==i?1:2)),""===o)a=0;else{if(!(10==i?P:8==i?j:N).test(o))return t;a=parseInt(o,i)}n.push(a)}for(r=0;r=A(256,5-e))return null}else if(a>255)return null;for(s=n.pop(),r=0;r6)return;r=0;while(p()){if(o=null,r>0){if(!("."==p()&&r<4))return;l++}if(!R.test(p()))return;while(R.test(p())){if(i=parseInt(p(),10),null===o)o=i;else{if(0==o)return;o=10*o+i}if(o>255)return;l++}u[c]=256*u[c]+o,r++,2!=r&&4!=r||c++}if(4!=r)return;break}if(":"==p()){if(l++,!p())return}else if(p())return;u[c++]=e}else{if(null!==f)return;l++,c++,f=c}}if(null!==f){a=c-f,c=7;while(0!=c&&a>0)s=u[c],u[c--]=u[f+a-1],u[f+--a]=s}else if(8!=c)return;return u},H=function(t){for(var e=null,n=1,r=null,o=0,i=0;i<8;i++)0!==t[i]?(o>n&&(e=r,n=o),r=null,o=0):(null===r&&(r=i),++o);return o>n&&(e=r,n=o),e},V=function(t){var e,n,r,o;if("number"==typeof t){for(e=[],n=0;n<4;n++)e.unshift(t%256),t=D(t/256);return e.join(".")}if("object"==typeof t){for(e="",r=H(t),n=0;n<8;n++)o&&0===t[n]||(o&&(o=!1),r===n?(e+=n?":":"::",o=!0):(e+=t[n].toString(16),n<7&&(e+=":")));return"["+e+"]"}return t},W={},G=p({},W,{" ":1,'"':1,"<":1,">":1,"`":1}),Y=p({},G,{"#":1,"?":1,"{":1,"}":1}),X=p({},Y,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),J=function(t,e){var n=d(t,0);return n>32&&n<127&&!l(e,t)?t:encodeURIComponent(t)},K={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Z=function(t){return l(K,t.scheme)},Q=function(t){return""!=t.username||""!=t.password},tt=function(t){return!t.host||t.cannotBeABaseURL||"file"==t.scheme},et=function(t,e){var n;return 2==t.length&&O.test(t.charAt(0))&&(":"==(n=t.charAt(1))||!e&&"|"==n)},nt=function(t){var e;return t.length>1&&et(t.slice(0,2))&&(2==t.length||"/"===(e=t.charAt(2))||"\\"===e||"?"===e||"#"===e)},rt=function(t){var e=t.path,n=e.length;!n||"file"==t.scheme&&1==n&&et(e[0],!0)||e.pop()},ot=function(t){return"."===t||"%2e"===t.toLowerCase()},it=function(t){return t=t.toLowerCase(),".."===t||"%2e."===t||".%2e"===t||"%2e%2e"===t},at={},st={},ut={},ct={},ft={},lt={},pt={},ht={},dt={},vt={},gt={},bt={},mt={},yt={},_t={},wt={},xt={},Et={},Dt={},At={},Ct={},St=function(t,e,n,o){var i,a,s,u,c=n||at,f=0,p="",d=!1,v=!1,g=!1;n||(t.scheme="",t.username="",t.password="",t.host=null,t.port=null,t.path=[],t.query=null,t.fragment=null,t.cannotBeABaseURL=!1,e=e.replace(M,"")),e=e.replace(U,""),i=h(e);while(f<=i.length){switch(a=i[f],c){case at:if(!a||!O.test(a)){if(n)return S;c=ut;continue}p+=a.toLowerCase(),c=st;break;case st:if(a&&(T.test(a)||"+"==a||"-"==a||"."==a))p+=a.toLowerCase();else{if(":"!=a){if(n)return S;p="",c=ut,f=0;continue}if(n&&(Z(t)!=l(K,p)||"file"==p&&(Q(t)||null!==t.port)||"file"==t.scheme&&!t.host))return;if(t.scheme=p,n)return void(Z(t)&&K[t.scheme]==t.port&&(t.port=null));p="","file"==t.scheme?c=yt:Z(t)&&o&&o.scheme==t.scheme?c=ct:Z(t)?c=ht:"/"==i[f+1]?(c=ft,f++):(t.cannotBeABaseURL=!0,t.path.push(""),c=Dt)}break;case ut:if(!o||o.cannotBeABaseURL&&"#"!=a)return S;if(o.cannotBeABaseURL&&"#"==a){t.scheme=o.scheme,t.path=o.path.slice(),t.query=o.query,t.fragment="",t.cannotBeABaseURL=!0,c=Ct;break}c="file"==o.scheme?yt:lt;continue;case ct:if("/"!=a||"/"!=i[f+1]){c=lt;continue}c=dt,f++;break;case ft:if("/"==a){c=vt;break}c=Et;continue;case lt:if(t.scheme=o.scheme,a==r)t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.query=o.query;else if("/"==a||"\\"==a&&Z(t))c=pt;else if("?"==a)t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.query="",c=At;else{if("#"!=a){t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.path.pop(),c=Et;continue}t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.query=o.query,t.fragment="",c=Ct}break;case pt:if(!Z(t)||"/"!=a&&"\\"!=a){if("/"!=a){t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,c=Et;continue}c=vt}else c=dt;break;case ht:if(c=dt,"/"!=a||"/"!=p.charAt(f+1))continue;f++;break;case dt:if("/"!=a&&"\\"!=a){c=vt;continue}break;case vt:if("@"==a){d&&(p="%40"+p),d=!0,s=h(p);for(var b=0;b65535)return k;t.port=Z(t)&&_===K[t.scheme]?null:_,p=""}if(n)return;c=xt;continue}return k}p+=a;break;case yt:if(t.scheme="file","/"==a||"\\"==a)c=_t;else{if(!o||"file"!=o.scheme){c=Et;continue}if(a==r)t.host=o.host,t.path=o.path.slice(),t.query=o.query;else if("?"==a)t.host=o.host,t.path=o.path.slice(),t.query="",c=At;else{if("#"!=a){nt(i.slice(f).join(""))||(t.host=o.host,t.path=o.path.slice(),rt(t)),c=Et;continue}t.host=o.host,t.path=o.path.slice(),t.query=o.query,t.fragment="",c=Ct}}break;case _t:if("/"==a||"\\"==a){c=wt;break}o&&"file"==o.scheme&&!nt(i.slice(f).join(""))&&(et(o.path[0],!0)?t.path.push(o.path[0]):t.host=o.host),c=Et;continue;case wt:if(a==r||"/"==a||"\\"==a||"?"==a||"#"==a){if(!n&&et(p))c=Et;else if(""==p){if(t.host="",n)return;c=xt}else{if(u=$(t,p),u)return u;if("localhost"==t.host&&(t.host=""),n)return;p="",c=xt}continue}p+=a;break;case xt:if(Z(t)){if(c=Et,"/"!=a&&"\\"!=a)continue}else if(n||"?"!=a)if(n||"#"!=a){if(a!=r&&(c=Et,"/"!=a))continue}else t.fragment="",c=Ct;else t.query="",c=At;break;case Et:if(a==r||"/"==a||"\\"==a&&Z(t)||!n&&("?"==a||"#"==a)){if(it(p)?(rt(t),"/"==a||"\\"==a&&Z(t)||t.path.push("")):ot(p)?"/"==a||"\\"==a&&Z(t)||t.path.push(""):("file"==t.scheme&&!t.path.length&&et(p)&&(t.host&&(t.host=""),p=p.charAt(0)+":"),t.path.push(p)),p="","file"==t.scheme&&(a==r||"?"==a||"#"==a))while(t.path.length>1&&""===t.path[0])t.path.shift();"?"==a?(t.query="",c=At):"#"==a&&(t.fragment="",c=Ct)}else p+=J(a,Y);break;case Dt:"?"==a?(t.query="",c=At):"#"==a?(t.fragment="",c=Ct):a!=r&&(t.path[0]+=J(a,W));break;case At:n||"#"!=a?a!=r&&("'"==a&&Z(t)?t.query+="%27":t.query+="#"==a?"%23":J(a,W)):(t.fragment="",c=Ct);break;case Ct:a!=r&&(t.fragment+=J(a,G));break}f++}},Ft=function(t){var e,n,r=f(this,Ft,"URL"),o=arguments.length>1?arguments[1]:void 0,a=String(t),s=x(r,{type:"URL"});if(void 0!==o)if(o instanceof Ft)e=E(o);else if(n=St(e={},String(o)),n)throw TypeError(n);if(n=St(s,a,null,e),n)throw TypeError(n);var u=s.searchParams=new _,c=w(u);c.updateSearchParams(s.query),c.updateURL=function(){s.query=String(u)||null},i||(r.href=Ot.call(r),r.origin=Tt.call(r),r.protocol=Rt.call(r),r.username=Lt.call(r),r.password=jt.call(r),r.host=Pt.call(r),r.hostname=Nt.call(r),r.port=It.call(r),r.pathname=Bt.call(r),r.search=Mt.call(r),r.searchParams=Ut.call(r),r.hash=$t.call(r))},kt=Ft.prototype,Ot=function(){var t=E(this),e=t.scheme,n=t.username,r=t.password,o=t.host,i=t.port,a=t.path,s=t.query,u=t.fragment,c=e+":";return null!==o?(c+="//",Q(t)&&(c+=n+(r?":"+r:"")+"@"),c+=V(o),null!==i&&(c+=":"+i)):"file"==e&&(c+="//"),c+=t.cannotBeABaseURL?a[0]:a.length?"/"+a.join("/"):"",null!==s&&(c+="?"+s),null!==u&&(c+="#"+u),c},Tt=function(){var t=E(this),e=t.scheme,n=t.port;if("blob"==e)try{return new URL(e.path[0]).origin}catch(r){return"null"}return"file"!=e&&Z(t)?e+"://"+V(t.host)+(null!==n?":"+n:""):"null"},Rt=function(){return E(this).scheme+":"},Lt=function(){return E(this).username},jt=function(){return E(this).password},Pt=function(){var t=E(this),e=t.host,n=t.port;return null===e?"":null===n?V(e):V(e)+":"+n},Nt=function(){var t=E(this).host;return null===t?"":V(t)},It=function(){var t=E(this).port;return null===t?"":String(t)},Bt=function(){var t=E(this),e=t.path;return t.cannotBeABaseURL?e[0]:e.length?"/"+e.join("/"):""},Mt=function(){var t=E(this).query;return t?"?"+t:""},Ut=function(){return E(this).searchParams},$t=function(){var t=E(this).fragment;return t?"#"+t:""},qt=function(t,e){return{get:t,set:e,configurable:!0,enumerable:!0}};if(i&&u(kt,{href:qt(Ot,(function(t){var e=E(this),n=String(t),r=St(e,n);if(r)throw TypeError(r);w(e.searchParams).updateSearchParams(e.query)})),origin:qt(Tt),protocol:qt(Rt,(function(t){var e=E(this);St(e,String(t)+":",at)})),username:qt(Lt,(function(t){var e=E(this),n=h(String(t));if(!tt(e)){e.username="";for(var r=0;r1||"".split(/.?/).length?function(t,n){var r=String(a(this)),i=void 0===n?v:n>>>0;if(0===i)return[];if(void 0===t)return[r];if(!o(t))return e.call(r,t,i);var s,u,c,f=[],p=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),d=0,g=new RegExp(t.source,p+"g");while(s=l.call(g,r)){if(u=g.lastIndex,u>d&&(f.push(r.slice(d,s.index)),s.length>1&&s.index=i))break;g.lastIndex===s.index&&g.lastIndex++}return d===r.length?!c&&g.test("")||f.push(""):f.push(r.slice(d)),f.length>i?f.slice(0,i):f}:"0".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:e.call(this,t,n)}:e,[function(e,n){var o=a(this),i=void 0==e?void 0:e[t];return void 0!==i?i.call(e,o,n):r.call(String(o),e,n)},function(t,o){var a=n(r,t,this,o,r!==e);if(a.done)return a.value;var l=i(t),p=String(this),h=s(l,RegExp),b=l.unicode,m=(l.ignoreCase?"i":"")+(l.multiline?"m":"")+(l.unicode?"u":"")+(g?"y":"g"),y=new h(g?l:"^(?:"+l.source+")",m),_=void 0===o?v:o>>>0;if(0===_)return[];if(0===p.length)return null===f(y,p)?[p]:[];var w=0,x=0,E=[];while(x1?arguments[1]:void 0)}})},"147b":function(t,e,n){"use strict";var r=n("a5eb"),o=n("dee0").filter,i=n("9c96"),a=n("302b"),s=i("filter"),u=a("filter");r({target:"Array",proto:!0,forced:!s||!u},{filter:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},"14ab":function(t,e,n){"use strict";t.exports=function(){var t,e=Object.assign;return"function"===typeof e&&(t={foo:"raz"},e(t,{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},"14b1":function(t,e,n){t.exports=n("5c68")},"14c3":function(t,e,n){var r=n("c6b6"),o=n("9263");t.exports=function(t,e){var n=t.exec;if("function"===typeof n){var i=n.call(t,e);if("object"!==typeof i)throw TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(t))throw TypeError("RegExp#exec called on incompatible receiver");return o.call(t,e)}},"14df":function(t,e,n){var r=n("9883"),o=n("0cf0"),i=n("a205"),a=n("6f8d");t.exports=r("Reflect","ownKeys")||function(t){var e=o.f(a(t)),n=i.f;return n?e.concat(n(t)):e}},1519:function(t,e,n){n("bdf4");var r=n("a169");t.exports=r("Array").find},1548:function(t,e,n){"use strict";var r=n("3fb5"),o=n("ada0").EventEmitter,i=function(){};function a(t,e){i(t),o.call(this);var n=this;this.bufferPosition=0,this.xo=new e("POST",t,null),this.xo.on("chunk",this._chunkHandler.bind(this)),this.xo.once("finish",(function(t,e){i("finish",t,e),n._chunkHandler(t,e),n.xo=null;var r=200===t?"network":"permanent";i("close",r),n.emit("close",null,r),n._cleanup()}))}r(a,o),a.prototype._chunkHandler=function(t,e){if(i("_chunkHandler",t),200===t&&e)for(var n=-1;;this.bufferPosition+=n+1){var r=e.slice(this.bufferPosition);if(n=r.indexOf("\n"),-1===n)break;var o=r.slice(0,n);o&&(i("message",o),this.emit("message",o))}},a.prototype._cleanup=function(){i("_cleanup"),this.removeAllListeners()},a.prototype.abort=function(){i("abort"),this.xo&&(this.xo.close(),i("close"),this.emit("close",null,"user"),this.xo=null),this._cleanup()},t.exports=a},1561:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},"159b":function(t,e,n){var r=n("da84"),o=n("fdbc"),i=n("17c2"),a=n("9112");for(var s in o){var u=r[s],c=u&&u.prototype;if(c&&c.forEach!==i)try{a(c,"forEach",i)}catch(f){c.forEach=i}}},"16f1":function(t,e,n){n("5145"),n("3e47");var r=n("d9f3");t.exports=r},1793:function(t,e,n){"use strict";var r=n("6321"),o=/^\s*class[\s{/}]/,i=Function.prototype.toString;t.exports=function(t){return!!r(t)&&!o.test(i.call(t))}},"17c1":function(t,e,n){var r=n("bcb4");t.exports=r},"17c2":function(t,e,n){"use strict";var r=n("b727").forEach,o=n("a640"),i=n("ae40"),a=o("forEach"),s=i("forEach");t.exports=a&&s?[].forEach:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}},1816:function(t,e,n){"use strict";(function(e){var r=n("440d"),o=n("9c59"),i=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,a=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\S\s]*)/i,s="[\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF]",u=new RegExp("^"+s+"+");function c(t){return(t||"").toString().replace(u,"")}var f=[["#","hash"],["?","query"],function(t){return t.replace("\\","/")},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d+)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],l={hash:1,query:1};function p(t){var n;n="undefined"!==typeof window?window:"undefined"!==typeof e?e:"undefined"!==typeof self?self:{};var r=n.location||{};t=t||r;var o,a={},s=typeof t;if("blob:"===t.protocol)a=new v(unescape(t.pathname),{});else if("string"===s)for(o in a=new v(t,{}),l)delete a[o];else if("object"===s){for(o in t)o in l||(a[o]=t[o]);void 0===a.slashes&&(a.slashes=i.test(t.href))}return a}function h(t){t=c(t);var e=a.exec(t);return{protocol:e[1]?e[1].toLowerCase():"",slashes:!!e[2],rest:e[3]}}function d(t,e){if(""===t)return e;var n=(e||"/").split("/").slice(0,-1).concat(t.split("/")),r=n.length,o=n[r-1],i=!1,a=0;while(r--)"."===n[r]?n.splice(r,1):".."===n[r]?(n.splice(r,1),a++):a&&(0===r&&(i=!0),n.splice(r,1),a--);return i&&n.unshift(""),"."!==o&&".."!==o||n.push(""),n.join("/")}function v(t,e,n){if(t=c(t),!(this instanceof v))return new v(t,e,n);var i,a,s,u,l,g,b=f.slice(),m=typeof e,y=this,_=0;for("object"!==m&&"string"!==m&&(n=e,e=null),n&&"function"!==typeof n&&(n=o.parse),e=p(e),a=h(t||""),i=!a.protocol&&!a.slashes,y.slashes=a.slashes||i&&e.slashes,y.protocol=a.protocol||e.protocol||"",t=a.rest,a.slashes||(b[3]=[/(.*)/,"pathname"]);_=0&&(e=Object.assign({},e,{xmlMode:!1}))),!e.xmlMode&&["svg","math"].indexOf(t.name)>=0&&(e=Object.assign({},e,{xmlMode:"foreign"}));var n="<"+t.name,r=s(t.attribs,e);return r&&(n+=" "+r),!e.xmlMode||t.children&&0!==t.children.length?(n+=">",t.children&&(n+=c(t.children,e)),u[t.name]&&!e.xmlMode||(n+="")):n+="/>",n}function p(t){return"<"+t.data+">"}function h(t,e){var n=t.data||"";return!e.decodeEntities||t.parent&&t.parent.name in a||(n=o.encodeXML(n)),n}function d(t){return""}function v(t){return"\x3c!--"+t.data+"--\x3e"}},"18d8":function(t,e,n){var r=n("234d"),o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g,a=r((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(o,(function(t,n,r,o){e.push(r?o.replace(i,"$1"):n||t)})),e}));t.exports=a},"18ec":function(t,e,n){"use strict";var r="razdwatrzy";t.exports=function(){return"function"===typeof r.contains&&(!0===r.contains("dwa")&&!1===r.contains("foo"))}},1967:function(t,e,n){var r=n("3ac6"),o=n("ff96").trim,i=n("81f0"),a=r.parseInt,s=/^[+-]?0[Xx]/,u=8!==a(i+"08")||22!==a(i+"0x16");t.exports=u?function(t,e){var n=o(String(t));return a(n,e>>>0||(s.test(n)?16:10))}:a},"19aa":function(t,e){t.exports=function(t,e,n){if(!(t instanceof e))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return t}},"19f2":function(t,e,n){var r=n("a5eb"),o=n("3ac6"),i=n("5afb"),a=!o.setImmediate||!o.clearImmediate;r({global:!0,bind:!0,enumerable:!0,forced:a},{setImmediate:i.set,clearImmediate:i.clear})},"1a2d":function(t,e,n){var r=n("42a2"),o=n("1310"),i="[object Map]";function a(t){return o(t)&&r(t)==i}t.exports=a},"1a8c":function(t,e){function n(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}t.exports=n},"1a94":function(t,e,n){"use strict";t.exports=function(t){if("function"!==typeof t)throw new TypeError(t+" is not a function");return t}},"1b0d":function(t,e,n){var r=n("9412"),o=n("da43"),i=Array.prototype,a=String.prototype;t.exports=function(t){var e=t.includes;return t===i||t instanceof Array&&e===i.includes?r:"string"===typeof t||t===a||t instanceof String&&e===a.includes?o:e}},"1bac":function(t,e,n){var r=n("7d1f"),o=n("a029"),i=n("9934");function a(t){return r(t,i,o)}t.exports=a},"1bd5":function(t,e){function n(t){return t&&t.__esModule?t:{default:t}}t.exports=n},"1be4":function(t,e,n){var r=n("d066");t.exports=r("document","documentElement")},"1c0a":function(t,e,n){"use strict";var r=n("d63b"),o=n("8f95");t.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},"1c0b":function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},"1c29":function(t,e,n){n("fc93"),n("6f89"),n("8b7b"),n("e363"),n("64db"),n("22a9"),n("9080"),n("0e67"),n("e699"),n("e7cc"),n("2e85"),n("980e"),n("9ac4"),n("274e"),n("8d05"),n("ef09"),n("aa1b"),n("8176"),n("522d");var r=n("764b");t.exports=r.Symbol},"1c36":function(t,e,n){"use strict";var r=n("a5eb"),o=n("ff96").end,i=n("83ee"),a=i("trimEnd"),s=a?function(){return o(this)}:"".trimEnd;r({target:"String",proto:!0,forced:a},{trimEnd:s,trimRight:s})},"1c3c":function(t,e,n){var r=n("9e69"),o=n("2474"),i=n("9638"),a=n("a2be"),s=n("edfa"),u=n("ac41"),c=1,f=2,l="[object Boolean]",p="[object Date]",h="[object Error]",d="[object Map]",v="[object Number]",g="[object RegExp]",b="[object Set]",m="[object String]",y="[object Symbol]",_="[object ArrayBuffer]",w="[object DataView]",x=r?r.prototype:void 0,E=x?x.valueOf:void 0;function D(t,e,n,r,x,D,A){switch(n){case w:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case _:return!(t.byteLength!=e.byteLength||!D(new o(t),new o(e)));case l:case p:case v:return i(+t,+e);case h:return t.name==e.name&&t.message==e.message;case g:case m:return t==e+"";case d:var C=s;case b:var S=r&c;if(C||(C=u),t.size!=e.size&&!S)return!1;var F=A.get(t);if(F)return F==e;r|=f,A.set(t,e);var k=a(C(t),C(e),r,x,D,A);return A["delete"](t),k;case y:if(E)return E.call(t)==E.call(e)}return!1}t.exports=D},"1c7e":function(t,e,n){var r=n("b622"),o=r("iterator"),i=!1;try{var a=0,s={next:function(){return{done:!!a++}},return:function(){i=!0}};s[o]=function(){return this},Array.from(s,(function(){throw 2}))}catch(u){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var r={};r[o]=function(){return{next:function(){return{done:n=!0}}}},t(r)}catch(u){}return n}},"1cdc":function(t,e,n){var r=n("342f");t.exports=/(iphone|ipod|ipad).*applewebkit/i.test(r)},"1cec":function(t,e,n){var r=n("0b07"),o=n("2b3e"),i=r(o,"Promise");t.exports=i},"1d3a":function(t,e,n){"use strict";var r=n("a5eb"),o=n("dfdb"),i=n("6220"),a=n("4508"),s=n("6725"),u=n("a421"),c=n("6c15"),f=n("0363"),l=n("9c96"),p=n("302b"),h=l("slice"),d=p("slice",{ACCESSORS:!0,0:0,1:2}),v=f("species"),g=[].slice,b=Math.max;r({target:"Array",proto:!0,forced:!h||!d},{slice:function(t,e){var n,r,f,l=u(this),p=s(l.length),h=a(t,p),d=a(void 0===e?p:e,p);if(i(l)&&(n=l.constructor,"function"!=typeof n||n!==Array&&!i(n.prototype)?o(n)&&(n=n[v],null===n&&(n=void 0)):n=void 0,n===Array||void 0===n))return g.call(l,h,d);for(r=new(void 0===n?Array:n)(b(d-h,0)),f=0;h=51||!r((function(){var e=[],n=e.constructor={};return n[a]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},"1e52":function(t,e,n){var r=n("2364");t.exports=r},"1e54":function(t,e,n){var r=n("5e0b");t.exports=r},"1e63":function(t,e,n){var r=n("06fa");t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},"1e75":function(t,e,n){t.exports=n("2d3f")},"1efc":function(t,e){function n(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}t.exports=n},"1f3c":function(t,e,n){n("1c36");var r=n("a169");t.exports=r("String").trimRight},"1fb5":function(t,e,n){"use strict";e.byteLength=f,e.toByteArray=p,e.fromByteArray=v;for(var r=[],o=[],i="undefined"!==typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=a.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");-1===n&&(n=e);var r=n===e?0:4-n%4;return[n,r]}function f(t){var e=c(t),n=e[0],r=e[1];return 3*(n+r)/4-r}function l(t,e,n){return 3*(e+n)/4-n}function p(t){var e,n,r=c(t),a=r[0],s=r[1],u=new i(l(t,a,s)),f=0,p=s>0?a-4:a;for(n=0;n>16&255,u[f++]=e>>8&255,u[f++]=255&e;return 2===s&&(e=o[t.charCodeAt(n)]<<2|o[t.charCodeAt(n+1)]>>4,u[f++]=255&e),1===s&&(e=o[t.charCodeAt(n)]<<10|o[t.charCodeAt(n+1)]<<4|o[t.charCodeAt(n+2)]>>2,u[f++]=e>>8&255,u[f++]=255&e),u}function h(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]}function d(t,e,n){for(var r,o=[],i=e;iu?u:s+a));return 1===o?(e=t[n-1],i.push(r[e>>2]+r[e<<4&63]+"==")):2===o&&(e=(t[n-2]<<8)+t[n-1],i.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),i.join("")}o["-".charCodeAt(0)]=62,o["_".charCodeAt(0)]=63},"1fc8":function(t,e,n){var r=n("4245");function o(t,e){var n=r(this,t),o=n.size;return n.set(t,e),this.size+=n.size==o?0:1,this}t.exports=o},"1fe4":function(t,e,n){var r=n("3980");n("eba5"),n("f20a"),n("9029"),n("0ebb"),t.exports=r},"201b":function(t,e,n){"use strict";var r=n("a3e3"),o=n("cca4"),i=n("8c96"),a=n("65b8"),s=n("78b2"),u=n("505e"),c=n("c90a"),f=n("acf5"),l=n("2d80"),p=n("844d"),h=n("d254"),d=n("52da"),v=n("0dc8"),g=n("e946"),b=n("898c"),m=n("2dc0"),y=n("3b4c"),_=n("6b47");n("a4d3"),n("e01a"),n("d28b"),n("99af"),n("a630"),n("c975"),n("e260"),n("fb6a"),n("b0c0"),n("4ec9"),n("3410"),n("131a"),n("d3b7"),n("4ae1"),n("25f0"),n("3ca3"),n("ddb0"),n("96cf");var w=_.mark(Q),x=_.mark(tt);function E(t,e){return C(t)||A(t,e)||F(t,e)||D()}function D(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function A(t,e){if("undefined"!==typeof y&&m(Object(t))){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=b(t);!(r=(a=s.next()).done);r=!0)if(n.push(a.value),e&&n.length===e)break}catch(u){o=!0,i=u}finally{try{r||null==s["return"]||s["return"]()}finally{if(o)throw i}}return n}}function C(t){if(g(t))return t}function S(t,e){var n;if("undefined"===typeof y||null==v(t)){if(g(t)||(n=F(t))||e&&t&&"number"===typeof t.length){n&&(t=n);var r=0,o=function(){};return{s:o,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,s=!1;return{s:function(){n=b(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,i=t},f:function(){try{a||null==n["return"]||n["return"]()}finally{if(s)throw i}}}}function F(t,e){var n;if(t){if("string"===typeof t)return k(t,e);var r=d(n=Object.prototype.toString.call(t)).call(n,8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?h(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?k(t,e):void 0}}function k(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0&&Math.floor(e)===e&&isFinite(t)}function l(t){return o(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function p(t){return null==t?"":Array.isArray(t)||c(t)&&t.toString===u?JSON.stringify(t,null,2):String(t)}function h(t){var e=parseFloat(t);return isNaN(e)?t:e}function d(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o-1)return t.splice(n,1)}}var m=Object.prototype.hasOwnProperty;function y(t,e){return m.call(t,e)}function _(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var w=/-(\w)/g,x=_((function(t){return t.replace(w,(function(t,e){return e?e.toUpperCase():""}))})),E=_((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),D=/\B([A-Z])/g,A=_((function(t){return t.replace(D,"-$1").toLowerCase()})),C=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n};function S(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function F(t,e){for(var n in e)t[n]=e[n];return t}function k(t){for(var e={},n=0;n0,K=Y&&Y.indexOf("edge/")>0,Z=(Y&&Y.indexOf("android"),Y&&/iphone|ipad|ipod|ios/.test(Y)||"ios"===G),Q=(Y&&/chrome\/\d+/.test(Y),Y&&/phantomjs/.test(Y),Y&&Y.match(/firefox\/(\d+)/)),tt={}.watch,et=!1;if(V)try{var nt={};Object.defineProperty(nt,"passive",{get:function(){et=!0}}),window.addEventListener("test-passive",null,nt)}catch(n){}var rt=function(){return void 0===q&&(q=!V&&!W&&"undefined"!=typeof e&&e.process&&"server"===e.process.env.VUE_ENV),q},ot=V&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function it(t){return"function"==typeof t&&/native code/.test(t.toString())}var at,st="undefined"!=typeof Symbol&&it(Symbol)&&"undefined"!=typeof Reflect&&it(Reflect.ownKeys);at="undefined"!=typeof Set&&it(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var ut=O,ct=0,ft=function(){this.id=ct++,this.subs=[]};ft.prototype.addSub=function(t){this.subs.push(t)},ft.prototype.removeSub=function(t){b(this.subs,t)},ft.prototype.depend=function(){ft.target&&ft.target.addDep(this)},ft.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;e-1)if(i&&!y(o,"default"))a=!1;else if(""===a||a===A(t)){var u=Ut(String,o.type);(u<0||s0&&(ce((u=t(u,(n||"")+"_"+s))[0])&&ce(f)&&(l[c]=bt(f.text+u[0].text),u.shift()),l.push.apply(l,u)):a(u)?ce(f)?l[c]=bt(f.text+u):""!==u&&l.push(bt(u)):ce(u)&&ce(f)?l[c]=bt(f.text+u.text):(i(e._isVList)&&o(u.tag)&&r(u.key)&&o(n)&&(u.key="__vlist"+n+"_"+s+"__"),l.push(u)));return l}(t):void 0}function ce(t){return o(t)&&o(t.text)&&!1===t.isComment}function fe(t,e){if(t){for(var n=Object.create(null),r=st?Reflect.ownKeys(t):Object.keys(t),o=0;o0,a=t?!!t.$stable:!i,s=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&r&&r!==n&&s===r.$key&&!i&&!r.$hasNormal)return r;for(var u in o={},t)t[u]&&"$"!==u[0]&&(o[u]=de(e,u,t[u]))}else o={};for(var c in e)c in o||(o[c]=ve(e,c));return t&&Object.isExtensible(t)&&(t._normalized=o),$(o,"$stable",a),$(o,"$key",s),$(o,"$hasNormal",i),o}function de(t,e,n){var r=function(){var t=arguments.length?n.apply(null,arguments):n({});return(t=t&&"object"==typeof t&&!Array.isArray(t)?[t]:ue(t))&&(0===t.length||1===t.length&&t[0].isComment)?void 0:t};return n.proxy&&Object.defineProperty(t,e,{get:r,enumerable:!0,configurable:!0}),r}function ve(t,e){return function(){return t[e]}}function ge(t,e){var n,r,i,a,u;if(Array.isArray(t)||"string"==typeof t)for(n=new Array(t.length),r=0,i=t.length;rdocument.createEvent("Event").timeStamp&&(cn=function(){return fn.now()})}function ln(){var t,e;for(un=cn(),an=!0,en.sort((function(t,e){return t.id-e.id})),sn=0;snsn&&en[n].id>t.id;)n--;en.splice(n+1,0,t)}else en.push(t);on||(on=!0,te(ln))}}(this)},hn.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||s(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){$t(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},hn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},hn.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},hn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||b(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var dn={enumerable:!0,configurable:!0,get:O,set:O};function vn(t,e,n){dn.get=function(){return this[e][n]},dn.set=function(t){this[e][n]=t},Object.defineProperty(t,n,dn)}function gn(t){t._watchers=[];var e=t.$options;e.props&&function(t,e){var n=t.$options.propsData||{},r=t._props={},o=t.$options._propKeys=[];t.$parent&&Et(!1);var i=function(i){o.push(i);var a=It(i,e,n,t);Ct(r,i,a),i in t||vn(t,"_props",i)};for(var a in e)i(a);Et(!0)}(t,e.props),e.methods&&function(t,e){for(var n in t.$options.props,e)t[n]="function"!=typeof e[n]?O:C(e[n],t)}(t,e.methods),e.data?function(t){var e=t.$options.data;c(e=t._data="function"==typeof e?function(t,e){pt();try{return t.call(e,e)}catch(t){return $t(t,e,"data()"),{}}finally{ht()}}(e,t):e||{})||(e={});for(var n,r=Object.keys(e),o=t.$options.props,i=(t.$options.methods,r.length);i--;){var a=r[i];o&&y(o,a)||(n=void 0,36!==(n=(a+"").charCodeAt(0))&&95!==n&&vn(t,"_data",a))}At(e,!0)}(t):At(t._data={},!0),e.computed&&function(t,e){var n=t._computedWatchers=Object.create(null),r=rt();for(var o in e){var i=e[o],a="function"==typeof i?i:i.get;r||(n[o]=new hn(t,a||O,O,bn)),o in t||mn(t,o,i)}}(t,e.computed),e.watch&&e.watch!==tt&&function(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var o=0;o-1:"string"==typeof t?t.split(",").indexOf(e)>-1:(n=t,"[object RegExp]"===u.call(n)&&t.test(e));var n}function Fn(t,e){var n=t.cache,r=t.keys,o=t._vnode;for(var i in n){var a=n[i];if(a){var s=Cn(a.componentOptions);s&&!e(s)&&kn(n,i,r,o)}}}function kn(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,b(n,e)}!function(t){t.prototype._init=function(t){var e=this;e._uid=xn++,e._isVue=!0,t&&t._isComponent?function(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}(e,t):e.$options=Pt(En(e.constructor),t||{},e),e._renderProxy=e,e._self=e,function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(e),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&Xe(t,e)}(e),function(t){t._vnode=null,t._staticTrees=null;var e=t.$options,r=t.$vnode=e._parentVnode,o=r&&r.context;t.$slots=le(e._renderChildren,o),t.$scopedSlots=n,t._c=function(e,n,r,o){return Ue(t,e,n,r,o,!1)},t.$createElement=function(e,n,r,o){return Ue(t,e,n,r,o,!0)};var i=r&&r.data;Ct(t,"$attrs",i&&i.attrs||n,null,!0),Ct(t,"$listeners",e._parentListeners||n,null,!0)}(e),tn(e,"beforeCreate"),function(t){var e=fe(t.$options.inject,t);e&&(Et(!1),Object.keys(e).forEach((function(n){Ct(t,n,e[n])})),Et(!0))}(e),gn(e),function(t){var e=t.$options.provide;e&&(t._provided="function"==typeof e?e.call(t):e)}(e),tn(e,"created"),e.$options.el&&e.$mount(e.$options.el)}}(Dn),function(t){var e={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=St,t.prototype.$delete=Ft,t.prototype.$watch=function(t,e,n){if(c(e))return wn(this,t,e,n);(n=n||{}).user=!0;var r=new hn(this,t,e,n);if(n.immediate)try{e.call(this,r.value)}catch(t){$t(t,this,'callback for immediate watcher "'+r.expression+'"')}return function(){r.teardown()}}}(Dn),function(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this;if(Array.isArray(t))for(var o=0,i=t.length;o1?S(e):e;for(var n=S(arguments,1),r='event handler for "'+t+'"',o=0,i=e.length;oparseInt(this.max)&&kn(a,s[0],s,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e={get:function(){return M}};Object.defineProperty(t,"config",e),t.util={warn:ut,extend:F,mergeOptions:Pt,defineReactive:Ct},t.set=St,t.delete=Ft,t.nextTick=te,t.observable=function(t){return At(t),t},t.options=Object.create(null),I.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,F(t.options.components,Tn),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=S(arguments,1);return n.unshift(this),"function"==typeof t.install?t.install.apply(t,n):"function"==typeof t&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=Pt(this.options,t),this}}(t),An(t),function(t){I.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&c(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}(t)}(Dn),Object.defineProperty(Dn.prototype,"$isServer",{get:rt}),Object.defineProperty(Dn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Dn,"FunctionalRenderContext",{value:Te}),Dn.version="2.6.11";var Rn=d("style,class"),Ln=d("input,textarea,option,select,progress"),jn=function(t,e,n){return"value"===n&&Ln(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},Pn=d("contenteditable,draggable,spellcheck"),Nn=d("events,caret,typing,plaintext-only"),In=function(t,e){return qn(e)||"false"===e?"false":"contenteditable"===t&&Nn(e)?e:"true"},Bn=d("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Mn="http://www.w3.org/1999/xlink",Un=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},$n=function(t){return Un(t)?t.slice(6,t.length):""},qn=function(t){return null==t||!1===t};function zn(t){for(var e=t.data,n=t,r=t;o(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(e=Hn(r.data,e));for(;o(n=n.parent);)n&&n.data&&(e=Hn(e,n.data));return function(t,e){return o(t)||o(e)?Vn(t,Wn(e)):""}(e.staticClass,e.class)}function Hn(t,e){return{staticClass:Vn(t.staticClass,e.staticClass),class:o(t.class)?[t.class,e.class]:e.class}}function Vn(t,e){return t?e?t+" "+e:t:e||""}function Wn(t){return Array.isArray(t)?function(t){for(var e,n="",r=0,i=t.length;r-1?br(t,e,n):Bn(e)?qn(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):Pn(e)?t.setAttribute(e,In(e,n)):Un(e)?qn(n)?t.removeAttributeNS(Mn,$n(e)):t.setAttributeNS(Mn,e,n):br(t,e,n)}function br(t,e,n){if(qn(n))t.removeAttribute(e);else{if(X&&!J&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var mr={create:vr,update:vr};function yr(t,e){var n=e.elm,i=e.data,a=t.data;if(!(r(i.staticClass)&&r(i.class)&&(r(a)||r(a.staticClass)&&r(a.class)))){var s=zn(e),u=n._transitionClasses;o(u)&&(s=Vn(s,Wn(u))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var _r,wr,xr,Er,Dr,Ar,Cr={create:yr,update:yr},Sr=/[\w).+\-_$\]]/;function Fr(t){var e,n,r,o,i,a=!1,s=!1,u=!1,c=!1,f=0,l=0,p=0,h=0;for(r=0;r=0&&" "===(v=t.charAt(d));d--);v&&Sr.test(v)||(c=!0)}}else void 0===o?(h=r+1,o=t.slice(0,r).trim()):g();function g(){(i||(i=[])).push(t.slice(h,r).trim()),h=r+1}if(void 0===o?o=t.slice(0,r).trim():0!==h&&g(),i)for(r=0;r-1?{exp:t.slice(0,Er),key:'"'+t.slice(Er+1)+'"'}:{exp:t,key:null};for(wr=t,Er=Dr=Ar=0;!Vr();)Wr(xr=Hr())?Yr(xr):91===xr&&Gr(xr);return{exp:t.slice(0,Dr),key:t.slice(Dr+1,Ar)}}(t);return null===n.key?t+"="+e:"$set("+n.exp+", "+n.key+", "+e+")"}function Hr(){return wr.charCodeAt(++Er)}function Vr(){return Er>=_r}function Wr(t){return 34===t||39===t}function Gr(t){var e=1;for(Dr=Er;!Vr();)if(Wr(t=Hr()))Yr(t);else if(91===t&&e++,93===t&&e--,0===e){Ar=Er;break}}function Yr(t){for(var e=t;!Vr()&&(t=Hr())!==e;);}var Xr,Jr="__r",Kr="__c";function Zr(t,e,n){var r=Xr;return function o(){null!==e.apply(null,arguments)&&eo(t,o,n,r)}}var Qr=Wt&&!(Q&&Number(Q[1])<=53);function to(t,e,n,r){if(Qr){var o=un,i=e;e=i._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}}Xr.addEventListener(t,e,et?{capture:n,passive:r}:n)}function eo(t,e,n,r){(r||Xr).removeEventListener(t,e._wrapper||e,n)}function no(t,e){if(!r(t.data.on)||!r(e.data.on)){var n=e.data.on||{},i=t.data.on||{};Xr=e.elm,function(t){if(o(t[Jr])){var e=X?"change":"input";t[e]=[].concat(t[Jr],t[e]||[]),delete t[Jr]}o(t[Kr])&&(t.change=[].concat(t[Kr],t.change||[]),delete t[Kr])}(n),ie(n,i,to,eo,Zr,e.context),Xr=void 0}}var ro,oo={create:no,update:no};function io(t,e){if(!r(t.data.domProps)||!r(e.data.domProps)){var n,i,a=e.elm,s=t.data.domProps||{},u=e.data.domProps||{};for(n in o(u.__ob__)&&(u=e.data.domProps=F({},u)),s)n in u||(a[n]="");for(n in u){if(i=u[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),i===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n&&"PROGRESS"!==a.tagName){a._value=i;var c=r(i)?"":String(i);ao(a,c)&&(a.value=c)}else if("innerHTML"===n&&Xn(a.tagName)&&r(a.innerHTML)){(ro=ro||document.createElement("div")).innerHTML=""+i+"";for(var f=ro.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;f.firstChild;)a.appendChild(f.firstChild)}else if(i!==s[n])try{a[n]=i}catch(t){}}}}function ao(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,e)||function(t,e){var n=t.value,r=t._vModifiers;if(o(r)){if(r.number)return h(n)!==h(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}(t,e))}var so={create:io,update:io},uo=_((function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach((function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}})),e}));function co(t){var e=fo(t.style);return t.staticStyle?F(t.staticStyle,e):e}function fo(t){return Array.isArray(t)?k(t):"string"==typeof t?uo(t):t}var lo,po=/^--/,ho=/\s*!important$/,vo=function(t,e,n){if(po.test(e))t.style.setProperty(e,n);else if(ho.test(n))t.style.setProperty(A(e),n.replace(ho,""),"important");else{var r=bo(e);if(Array.isArray(n))for(var o=0,i=n.length;o-1?e.split(_o).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function xo(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(_o).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function Eo(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&F(e,Do(t.name||"v")),F(e,t),e}return"string"==typeof t?Do(t):void 0}}var Do=_((function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}})),Ao=V&&!J,Co="transition",So="animation",Fo="transition",ko="transitionend",Oo="animation",To="animationend";Ao&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Fo="WebkitTransition",ko="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Oo="WebkitAnimation",To="webkitAnimationEnd"));var Ro=V?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function Lo(t){Ro((function(){Ro(t)}))}function jo(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),wo(t,e))}function Po(t,e){t._transitionClasses&&b(t._transitionClasses,e),xo(t,e)}function No(t,e,n){var r=Bo(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s=o===Co?ko:To,u=0,c=function(){t.removeEventListener(s,f),n()},f=function(e){e.target===t&&++u>=a&&c()};setTimeout((function(){u0&&(n=Co,f=a,l=i.length):e===So?c>0&&(n=So,f=c,l=u.length):l=(n=(f=Math.max(a,c))>0?a>c?Co:So:null)?n===Co?i.length:u.length:0,{type:n,timeout:f,propCount:l,hasTransform:n===Co&&Io.test(r[Fo+"Property"])}}function Mo(t,e){for(;t.length1}function Vo(t,e){!0!==e.data.show&&$o(e)}var Wo=function(t){var e,n,s={},u=t.modules,c=t.nodeOps;for(e=0;ed?y(t,r(n[b+1])?null:n[b+1].elm,n,h,b,i):h>b&&w(e,p,d)}(p,v,b,n,f):o(b)?(o(t.text)&&c.setTextContent(p,""),y(p,null,b,0,b.length-1,n)):o(v)?w(v,0,v.length-1):o(t.text)&&c.setTextContent(p,""):t.text!==e.text&&c.setTextContent(p,e.text),o(d)&&o(h=d.hook)&&o(h=h.postpatch)&&h(t,e)}}}function A(t,e,n){if(i(n)&&o(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r-1,a.selected!==i&&(a.selected=i);else if(L(Ko(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));o||(t.selectedIndex=-1)}}function Jo(t,e){return e.every((function(e){return!L(e,t)}))}function Ko(t){return"_value"in t?t._value:t.value}function Zo(t){t.target.composing=!0}function Qo(t){t.target.composing&&(t.target.composing=!1,ti(t.target,"input"))}function ti(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function ei(t){return!t.componentInstance||t.data&&t.data.transition?t:ei(t.componentInstance._vnode)}var ni={model:Go,show:{bind:function(t,e,n){var r=e.value,o=(n=ei(n)).data&&n.data.transition,i=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&o?(n.data.show=!0,$o(n,(function(){t.style.display=i}))):t.style.display=r?i:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&((n=ei(n)).data&&n.data.transition?(n.data.show=!0,r?$o(n,(function(){t.style.display=t.__vOriginalDisplay})):qo(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}}},ri={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function oi(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?oi(Ve(e.children)):t}function ii(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var i in o)e[x(i)]=o[i];return e}function ai(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var si=function(t){return t.tag||He(t)},ui=function(t){return"show"===t.name},ci={name:"transition",props:ri,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(si)).length){var r=this.mode,o=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return o;var i=oi(o);if(!i)return o;if(this._leaving)return ai(t,o);var s="__transition-"+this._uid+"-";i.key=null==i.key?i.isComment?s+"comment":s+i.tag:a(i.key)?0===String(i.key).indexOf(s)?i.key:s+i.key:i.key;var u=(i.data||(i.data={})).transition=ii(this),c=this._vnode,f=oi(c);if(i.data.directives&&i.data.directives.some(ui)&&(i.data.show=!0),f&&f.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(i,f)&&!He(f)&&(!f.componentInstance||!f.componentInstance._vnode.isComment)){var l=f.data.transition=F({},u);if("out-in"===r)return this._leaving=!0,ae(l,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),ai(t,o);if("in-out"===r){if(He(i))return c;var p,h=function(){p()};ae(u,"afterEnter",h),ae(u,"enterCancelled",h),ae(l,"delayLeave",(function(t){p=t}))}}return o}}},fi=F({tag:String,moveClass:String},ri);function li(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function pi(t){t.data.newPos=t.elm.getBoundingClientRect()}function hi(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,o=e.top-n.top;if(r||o){t.data.moved=!0;var i=t.elm.style;i.transform=i.WebkitTransform="translate("+r+"px,"+o+"px)",i.transitionDuration="0s"}}delete fi.mode;var di={Transition:ci,TransitionGroup:{props:fi,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var o=Ke(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=ii(this),s=0;s-1?Zn[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Zn[t]=/HTMLUnknownElement/.test(e.toString())},F(Dn.options.directives,ni),F(Dn.options.components,di),Dn.prototype.__patch__=V?Wo:O,Dn.prototype.$mount=function(t,e){return function(t,e,n){var r;return t.$el=e,t.$options.render||(t.$options.render=gt),tn(t,"beforeMount"),r=function(){t._update(t._render(),n)},new hn(t,r,O,{before:function(){t._isMounted&&!t._isDestroyed&&tn(t,"beforeUpdate")}},!0),n=!1,null==t.$vnode&&(t._isMounted=!0,tn(t,"mounted")),t}(this,t=t&&V?tr(t):void 0,e)},V&&setTimeout((function(){M.devtools&&ot&&ot.emit("init",Dn)}),0);var vi,gi=/\{\{((?:.|\r?\n)+?)\}\}/g,bi=/[-.*+?^${}()|[\]\/\\]/g,mi=_((function(t){var e=t[0].replace(bi,"\\$&"),n=t[1].replace(bi,"\\$&");return new RegExp(e+"((?:.|\\n)+?)"+n,"g")})),yi={staticKeys:["staticClass"],transformNode:function(t,e){e.warn;var n=Mr(t,"class");n&&(t.staticClass=JSON.stringify(n));var r=Br(t,"class",!1);r&&(t.classBinding=r)},genData:function(t){var e="";return t.staticClass&&(e+="staticClass:"+t.staticClass+","),t.classBinding&&(e+="class:"+t.classBinding+","),e}},_i={staticKeys:["staticStyle"],transformNode:function(t,e){e.warn;var n=Mr(t,"style");n&&(t.staticStyle=JSON.stringify(uo(n)));var r=Br(t,"style",!1);r&&(t.styleBinding=r)},genData:function(t){var e="";return t.staticStyle&&(e+="staticStyle:"+t.staticStyle+","),t.styleBinding&&(e+="style:("+t.styleBinding+"),"),e}},wi=function(t){return(vi=vi||document.createElement("div")).innerHTML=t,vi.textContent},xi=d("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),Ei=d("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),Di=d("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),Ai=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Ci=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Si="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+U.source+"]*",Fi="((?:"+Si+"\\:)?"+Si+")",ki=new RegExp("^<"+Fi),Oi=/^\s*(\/?)>/,Ti=new RegExp("^<\\/"+Fi+"[^>]*>"),Ri=/^]+>/i,Li=/^",""":'"',"&":"&"," ":"\n"," ":"\t","'":"'"},Bi=/&(?:lt|gt|quot|amp|#39);/g,Mi=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,Ui=d("pre,textarea",!0),$i=function(t,e){return t&&Ui(t)&&"\n"===e[0]};function qi(t,e){var n=e?Mi:Bi;return t.replace(n,(function(t){return Ii[t]}))}var zi,Hi,Vi,Wi,Gi,Yi,Xi,Ji,Ki=/^@|^v-on:/,Zi=/^v-|^@|^:|^#/,Qi=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,ta=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,ea=/^\(|\)$/g,na=/^\[.*\]$/,ra=/:(.*)$/,oa=/^:|^\.|^v-bind:/,ia=/\.[^.\]]+(?=[^\]]*$)/g,aa=/^v-slot(:|$)|^#/,sa=/[\r\n]/,ua=/\s+/g,ca=_(wi),fa="_empty_";function la(t,e,n){return{type:1,tag:t,attrsList:e,attrsMap:ma(e),rawAttrsMap:{},parent:n,children:[]}}function pa(t,e){zi=e.warn||Or,Yi=e.isPreTag||T,Xi=e.mustUseProp||T,Ji=e.getTagNamespace||T,e.isReservedTag,Vi=Tr(e.modules,"transformNode"),Wi=Tr(e.modules,"preTransformNode"),Gi=Tr(e.modules,"postTransformNode"),Hi=e.delimiters;var n,r,o=[],i=!1!==e.preserveWhitespace,a=e.whitespace,s=!1,u=!1;function c(t){if(f(t),s||t.processed||(t=ha(t,e)),o.length||t===n||n.if&&(t.elseif||t.else)&&va(n,{exp:t.elseif,block:t}),r&&!t.forbidden)if(t.elseif||t.else)a=t,(c=function(t){for(var e=t.length;e--;){if(1===t[e].type)return t[e];t.pop()}}(r.children))&&c.if&&va(c,{exp:a.elseif,block:a});else{if(t.slotScope){var i=t.slotTarget||'"default"';(r.scopedSlots||(r.scopedSlots={}))[i]=t}r.children.push(t),t.parent=r}var a,c;t.children=t.children.filter((function(t){return!t.slotScope})),f(t),t.pre&&(s=!1),Yi(t.tag)&&(u=!1);for(var l=0;l]*>)","i")),p=t.replace(l,(function(t,n,r){return c=r.length,Pi(f)||"noscript"===f||(n=n.replace(//g,"$1").replace(//g,"$1")),$i(f,n)&&(n=n.slice(1)),e.chars&&e.chars(n),""}));u+=t.length-p.length,t=p,C(f,u-c,u)}else{var h=t.indexOf("<");if(0===h){if(Li.test(t)){var d=t.indexOf("--\x3e");if(d>=0){e.shouldKeepComment&&e.comment(t.substring(4,d),u,u+d+3),E(d+3);continue}}if(ji.test(t)){var v=t.indexOf("]>");if(v>=0){E(v+2);continue}}var g=t.match(Ri);if(g){E(g[0].length);continue}var b=t.match(Ti);if(b){var m=u;E(b[0].length),C(b[1],m,u);continue}var y=D();if(y){A(y),$i(y.tagName,t)&&E(1);continue}}var _=void 0,w=void 0,x=void 0;if(h>=0){for(w=t.slice(h);!(Ti.test(w)||ki.test(w)||Li.test(w)||ji.test(w)||(x=w.indexOf("<",1))<0);)h+=x,w=t.slice(h);_=t.substring(0,h)}h<0&&(_=t),_&&E(_.length),e.chars&&_&&e.chars(_,u-_.length,u)}if(t===n){e.chars&&e.chars(t);break}}function E(e){u+=e,t=t.substring(e)}function D(){var e=t.match(ki);if(e){var n,r,o={tagName:e[1],attrs:[],start:u};for(E(e[0].length);!(n=t.match(Oi))&&(r=t.match(Ci)||t.match(Ai));)r.start=u,E(r[0].length),r.end=u,o.attrs.push(r);if(n)return o.unarySlash=n[1],E(n[0].length),o.end=u,o}}function A(t){var n=t.tagName,u=t.unarySlash;i&&("p"===r&&Di(n)&&C(r),s(n)&&r===n&&C(n));for(var c=a(n)||!!u,f=t.attrs.length,l=new Array(f),p=0;p=0&&o[a].lowerCasedTag!==s;a--);else a=0;if(a>=0){for(var c=o.length-1;c>=a;c--)e.end&&e.end(o[c].tag,n,i);o.length=a,r=a&&o[a-1].tag}else"br"===s?e.start&&e.start(t,[],!0,n,i):"p"===s&&(e.start&&e.start(t,[],!1,n,i),e.end&&e.end(t,n,i))}C()}(t,{warn:zi,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,shouldDecodeNewlinesForHref:e.shouldDecodeNewlinesForHref,shouldKeepComment:e.comments,outputSourceRange:e.outputSourceRange,start:function(t,i,a,f,l){var p=r&&r.ns||Ji(t);X&&"svg"===p&&(i=function(t){for(var e=[],n=0;nu&&(s.push(i=t.slice(u,o)),a.push(JSON.stringify(i)));var c=Fr(r[1].trim());a.push("_s("+c+")"),s.push({"@binding":c}),u=o+r[0].length}return u-1"+("true"===i?":("+e+")":":_q("+e+","+i+")")),Ir(t,"change","var $$a="+e+",$$el=$event.target,$$c=$$el.checked?("+i+"):("+a+");if(Array.isArray($$a)){var $$v="+(r?"_n("+o+")":o)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+zr(e,"$$a.concat([$$v])")+")}else{$$i>-1&&("+zr(e,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+zr(e,"$$c")+"}",null,!0)}(t,r,o);else if("input"===i&&"radio"===a)!function(t,e,n){var r=n&&n.number,o=Br(t,"value")||"null";Rr(t,"checked","_q("+e+","+(o=r?"_n("+o+")":o)+")"),Ir(t,"change",zr(e,o),null,!0)}(t,r,o);else if("input"===i||"textarea"===i)!function(t,e,n){var r=t.attrsMap.type,o=n||{},i=o.lazy,a=o.number,s=o.trim,u=!i&&"range"!==r,c=i?"change":"range"===r?Jr:"input",f="$event.target.value";s&&(f="$event.target.value.trim()"),a&&(f="_n("+f+")");var l=zr(e,f);u&&(l="if($event.target.composing)return;"+l),Rr(t,"value","("+e+")"),Ir(t,c,l,null,!0),(s||a)&&Ir(t,"blur","$forceUpdate()")}(t,r,o);else if(!M.isReservedTag(i))return qr(t,r,o),!1;return!0},text:function(t,e){e.value&&Rr(t,"textContent","_s("+e.value+")",e)},html:function(t,e){e.value&&Rr(t,"innerHTML","_s("+e.value+")",e)}},isPreTag:function(t){return"pre"===t},isUnaryTag:xi,mustUseProp:jn,canBeLeftOpenTag:Ei,isReservedTag:Jn,getTagNamespace:Kn,staticKeys:function(t){return t.reduce((function(t,e){return t.concat(e.staticKeys||[])}),[]).join(",")}(Da)},Ca=_((function(t){return d("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(t?","+t:""))}));function Sa(t,e){t&&(xa=Ca(e.staticKeys||""),Ea=e.isReservedTag||T,function t(e){if(e.static=function(t){return 2!==t.type&&(3===t.type||!(!t.pre&&(t.hasBindings||t.if||t.for||v(t.tag)||!Ea(t.tag)||function(t){for(;t.parent;){if("template"!==(t=t.parent).tag)return!1;if(t.for)return!0}return!1}(t)||!Object.keys(t).every(xa))))}(e),1===e.type){if(!Ea(e.tag)&&"slot"!==e.tag&&null==e.attrsMap["inline-template"])return;for(var n=0,r=e.children.length;n|^function(?:\s+[\w$]+)?\s*\(/,ka=/\([^)]*?\);*$/,Oa=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,Ta={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Ra={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},La=function(t){return"if("+t+")return null;"},ja={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:La("$event.target !== $event.currentTarget"),ctrl:La("!$event.ctrlKey"),shift:La("!$event.shiftKey"),alt:La("!$event.altKey"),meta:La("!$event.metaKey"),left:La("'button' in $event && $event.button !== 0"),middle:La("'button' in $event && $event.button !== 1"),right:La("'button' in $event && $event.button !== 2")};function Pa(t,e){var n=e?"nativeOn:":"on:",r="",o="";for(var i in t){var a=Na(t[i]);t[i]&&t[i].dynamic?o+=i+","+a+",":r+='"'+i+'":'+a+","}return r="{"+r.slice(0,-1)+"}",o?n+"_d("+r+",["+o.slice(0,-1)+"])":n+r}function Na(t){if(!t)return"function(){}";if(Array.isArray(t))return"["+t.map((function(t){return Na(t)})).join(",")+"]";var e=Oa.test(t.value),n=Fa.test(t.value),r=Oa.test(t.value.replace(ka,""));if(t.modifiers){var o="",i="",a=[];for(var s in t.modifiers)if(ja[s])i+=ja[s],Ta[s]&&a.push(s);else if("exact"===s){var u=t.modifiers;i+=La(["ctrl","shift","alt","meta"].filter((function(t){return!u[t]})).map((function(t){return"$event."+t+"Key"})).join("||"))}else a.push(s);return a.length&&(o+=function(t){return"if(!$event.type.indexOf('key')&&"+t.map(Ia).join("&&")+")return null;"}(a)),i&&(o+=i),"function($event){"+o+(e?"return "+t.value+"($event)":n?"return ("+t.value+")($event)":r?"return "+t.value:t.value)+"}"}return e||n?t.value:"function($event){"+(r?"return "+t.value:t.value)+"}"}function Ia(t){var e=parseInt(t,10);if(e)return"$event.keyCode!=="+e;var n=Ta[t],r=Ra[t];return"_k($event.keyCode,"+JSON.stringify(t)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}var Ba={on:function(t,e){t.wrapListeners=function(t){return"_g("+t+","+e.value+")"}},bind:function(t,e){t.wrapData=function(n){return"_b("+n+",'"+t.tag+"',"+e.value+","+(e.modifiers&&e.modifiers.prop?"true":"false")+(e.modifiers&&e.modifiers.sync?",true":"")+")"}},cloak:O},Ma=function(t){this.options=t,this.warn=t.warn||Or,this.transforms=Tr(t.modules,"transformCode"),this.dataGenFns=Tr(t.modules,"genData"),this.directives=F(F({},Ba),t.directives);var e=t.isReservedTag||T;this.maybeComponent=function(t){return!!t.component||!e(t.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function Ua(t,e){var n=new Ma(e);return{render:"with(this){return "+(t?$a(t,n):'_c("div")')+"}",staticRenderFns:n.staticRenderFns}}function $a(t,e){if(t.parent&&(t.pre=t.pre||t.parent.pre),t.staticRoot&&!t.staticProcessed)return qa(t,e);if(t.once&&!t.onceProcessed)return za(t,e);if(t.for&&!t.forProcessed)return Va(t,e);if(t.if&&!t.ifProcessed)return Ha(t,e);if("template"!==t.tag||t.slotTarget||e.pre){if("slot"===t.tag)return function(t,e){var n=t.slotName||'"default"',r=Xa(t,e),o="_t("+n+(r?","+r:""),i=t.attrs||t.dynamicAttrs?Za((t.attrs||[]).concat(t.dynamicAttrs||[]).map((function(t){return{name:x(t.name),value:t.value,dynamic:t.dynamic}}))):null,a=t.attrsMap["v-bind"];return!i&&!a||r||(o+=",null"),i&&(o+=","+i),a&&(o+=(i?"":",null")+","+a),o+")"}(t,e);var n;if(t.component)n=function(t,e,n){var r=e.inlineTemplate?null:Xa(e,n,!0);return"_c("+t+","+Wa(e,n)+(r?","+r:"")+")"}(t.component,t,e);else{var r;(!t.plain||t.pre&&e.maybeComponent(t))&&(r=Wa(t,e));var o=t.inlineTemplate?null:Xa(t,e,!0);n="_c('"+t.tag+"'"+(r?","+r:"")+(o?","+o:"")+")"}for(var i=0;i>>0}(a):"")+")"}(t,t.scopedSlots,e)+","),t.model&&(n+="model:{value:"+t.model.value+",callback:"+t.model.callback+",expression:"+t.model.expression+"},"),t.inlineTemplate){var i=function(t,e){var n=t.children[0];if(n&&1===n.type){var r=Ua(n,e.options);return"inlineTemplate:{render:function(){"+r.render+"},staticRenderFns:["+r.staticRenderFns.map((function(t){return"function(){"+t+"}"})).join(",")+"]}"}}(t,e);i&&(n+=i+",")}return n=n.replace(/,$/,"")+"}",t.dynamicAttrs&&(n="_b("+n+',"'+t.tag+'",'+Za(t.dynamicAttrs)+")"),t.wrapData&&(n=t.wrapData(n)),t.wrapListeners&&(n=t.wrapListeners(n)),n}function Ga(t){return 1===t.type&&("slot"===t.tag||t.children.some(Ga))}function Ya(t,e){var n=t.attrsMap["slot-scope"];if(t.if&&!t.ifProcessed&&!n)return Ha(t,e,Ya,"null");if(t.for&&!t.forProcessed)return Va(t,e,Ya);var r=t.slotScope===fa?"":String(t.slotScope),o="function("+r+"){return "+("template"===t.tag?t.if&&n?"("+t.if+")?"+(Xa(t,e)||"undefined")+":undefined":Xa(t,e)||"undefined":$a(t,e))+"}",i=r?"":",proxy:true";return"{key:"+(t.slotTarget||'"default"')+",fn:"+o+i+"}"}function Xa(t,e,n,r,o){var i=t.children;if(i.length){var a=i[0];if(1===i.length&&a.for&&"template"!==a.tag&&"slot"!==a.tag){var s=n?e.maybeComponent(a)?",1":",0":"";return""+(r||$a)(a,e)+s}var u=n?function(t,e){for(var n=0,r=0;r':'
',rs.innerHTML.indexOf(" ")>0}var ss=!!V&&as(!1),us=!!V&&as(!0),cs=_((function(t){var e=tr(t);return e&&e.innerHTML})),fs=Dn.prototype.$mount;Dn.prototype.$mount=function(t,e){if((t=t&&tr(t))===document.body||t===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=cs(r));else{if(!r.nodeType)return this;r=r.innerHTML}else t&&(r=function(t){if(t.outerHTML)return t.outerHTML;var e=document.createElement("div");return e.appendChild(t.cloneNode(!0)),e.innerHTML}(t));if(r){var o=is(r,{outputSourceRange:!1,shouldDecodeNewlines:ss,shouldDecodeNewlinesForHref:us,delimiters:n.delimiters,comments:n.comments},this),i=o.render,a=o.staticRenderFns;n.render=i,n.staticRenderFns=a}}return fs.call(this,t,e)},Dn.compile=is,t.exports=Dn}).call(this,n("c8ba"))},"20ec":function(t,e){function n(t,e){return function(n){return null!=n&&(n[t]===e&&(void 0!==e||t in Object(n)))}}t.exports=n},"21b8":function(t,e,n){var r=n("a5eb"),o=n("e9d9");r({target:"Function",proto:!0},{bind:o})},"21e7":function(t,e,n){t.exports=n("04e6")},2233:function(t,e,n){n("f7cb"),t.exports={encode:function(t){return(new TextEncoder).encode(t)},decode:function(t){return(new TextDecoder).decode(t)}}},"223b":function(t,e,n){var r=n("62a4"),o=Array.prototype;t.exports=function(t){var e=t.sort;return t===o||t instanceof Array&&e===o.sort?r:e}},2266:function(t,e,n){var r=n("825a"),o=n("e95a"),i=n("50c4"),a=n("0366"),s=n("35a1"),u=n("9bdd"),c=function(t,e){this.stopped=t,this.result=e},f=t.exports=function(t,e,n,f,l){var p,h,d,v,g,b,m,y=a(e,n,f?2:1);if(l)p=t;else{if(h=s(t),"function"!=typeof h)throw TypeError("Target is not iterable");if(o(h)){for(d=0,v=i(t.length);v>d;d++)if(g=f?y(r(m=t[d])[0],m[1]):y(t[d]),g&&g instanceof c)return g;return new c(!1)}p=h.call(t)}b=p.next;while(!(m=b.call(p)).done)if(g=u(p,y,m.value,f),"object"==typeof g&&g&&g instanceof c)return g;return new c(!1)};f.stop=function(t){return new c(!0,t)}},2286:function(t,e,n){var r=n("85e3"),o=Math.max;function i(t,e,n){return e=o(void 0===e?t.length-1:e,0),function(){var i=arguments,a=-1,s=o(i.length-e,0),u=Array(s);while(++a0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);var n=t.indexOf("Trident/");if(n>0){var r=t.indexOf("rv:");return parseInt(t.substring(r+3,t.indexOf(".",r)),10)}var o=t.indexOf("Edge/");return o>0?parseInt(t.substring(o+5,t.indexOf(".",o)),10):-1}n.d(e,"a",(function(){return a}));var o=void 0;function i(){i.init||(i.init=!0,o=-1!==r())}var a={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})},staticRenderFns:[],_scopeId:"data-v-b329ee4c",name:"resize-observer",methods:{compareAndNotify:function(){this._w===this.$el.offsetWidth&&this._h===this.$el.offsetHeight||(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.$emit("notify"))},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!o&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),delete this._resizeObject.onload)}},mounted:function(){var t=this;i(),this.$nextTick((function(){t._w=t.$el.offsetWidth,t._h=t.$el.offsetHeight}));var e=document.createElement("object");this._resizeObject=e,e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",o&&this.$el.appendChild(e),e.data="about:blank",o||this.$el.appendChild(e)},beforeDestroy:function(){this.removeResizeHandlers()}};function s(t){t.component("resize-observer",a),t.component("ResizeObserver",a)}var u={version:"0.4.5",install:s},c=null;"undefined"!==typeof window?c=window.Vue:"undefined"!==typeof t&&(c=t.Vue),c&&c.use(u)}).call(this,n("c8ba"))},"253c":function(t,e,n){var r=n("3729"),o=n("1310"),i="[object Arguments]";function a(t){return o(t)&&r(t)==i}t.exports=a},"257e":function(t,e,n){"use strict";var r=n("2d80");function o(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}r(e,"__esModule",{value:!0}),e.default=o},2582:function(t,e,n){"use strict";var r=n("cfe6"),o="abcdefghijklmnopqrstuvwxyz012345";t.exports={string:function(t){for(var e=o.length,n=r.randomBytes(t),i=[],a=0;a1?arguments[1]:void 0)}})},"25b4":function(t,e){var n={};t.exports=n},"25f0":function(t,e,n){"use strict";var r=n("6eeb"),o=n("825a"),i=n("d039"),a=n("ad6d"),s="toString",u=RegExp.prototype,c=u[s],f=i((function(){return"/a/b"!=c.call({source:"a",flags:"b"})})),l=c.name!=s;(f||l)&&r(RegExp.prototype,s,(function(){var t=o(this),e=String(t.source),n=t.flags,r=String(void 0===n&&t instanceof RegExp&&!("flags"in u)?a.call(t):n);return"/"+e+"/"+r}),{unsafe:!0})},2616:function(t,e,n){var r=n("0363"),o=n("7463"),i=r("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(o.Array===t||a[i]===t)}},2626:function(t,e,n){"use strict";var r=n("d066"),o=n("9bf2"),i=n("b622"),a=n("83ab"),s=i("species");t.exports=function(t){var e=r(t),n=o.f;a&&e&&!e[s]&&n(e,s,{configurable:!0,get:function(){return this}})}},"262e":function(t,e,n){"use strict";var r=n("1bd5"),o=n("2d80");o(e,"__esModule",{value:!0}),e.default=s;var i=r(n("acf5")),a=r(n("b380"));function s(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=(0,i.default)(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&(0,a.default)(t,e)}},"266f":function(t,e,n){var r=n("9bfb");r("patternMatch")},2696:function(t,e,n){var r=n("100e"),o=n("e93d"),i=n("57d6"),a=n("e8a9"),s=1,u=32,c=r((function(t,e,n){var r=s;if(n.length){var f=a(n,i(c));r|=u}return o(t,r,e,n,f)}));c.placeholder={},t.exports=c},"26a0":function(t,e,n){"use strict";(function(e){t.exports={isOpera:function(){return e.navigator&&/opera/i.test(e.navigator.userAgent)},isKonqueror:function(){return e.navigator&&/konqueror/i.test(e.navigator.userAgent)},hasDomain:function(){if(!e.document)return!0;try{return!!e.document.domain}catch(t){return!1}}}}).call(this,n("c8ba"))},"26aa":function(t,e,n){n("fc93");var r=n("a169");t.exports=r("Array").concat},"26e3":function(t,e,n){"use strict";(function(e){var r=n("3fb5"),o=n("9f3a"),i=n("d5e5");t.exports=function(t){function n(e,n){o.call(this,t.transportName,e,n)}return r(n,o),n.enabled=function(n,r){if(!e.document)return!1;var a=i.extend({},r);return a.sameOrigin=!0,t.enabled(a)&&o.enabled()},n.transportName="iframe-"+t.transportName,n.needBody=!0,n.roundTrips=o.roundTrips+t.roundTrips-1,n.facadeTransport=t,n}}).call(this,n("c8ba"))},"26e8":function(t,e){function n(t,e){return null!=t&&e in Object(t)}t.exports=n},"26f9":function(t,e,n){"use strict";function r(t){return t.children||null}function o(t){return t.parent||null}function i(t){var e=o(t);return e?r(e):[t]}function a(t,e){var n;return null===(n=t.attribs)||void 0===n?void 0:n[e]}function s(t,e){return!!t.attribs&&Object.prototype.hasOwnProperty.call(t.attribs,e)&&null!=t.attribs[e]}function u(t){return t.name}Object.defineProperty(e,"__esModule",{value:!0}),e.getChildren=r,e.getParent=o,e.getSiblings=i,e.getAttributeValue=a,e.hasAttrib=s,e.getName=u},"274e":function(t,e,n){var r=n("9bfb");r("split")},2769:function(t,e,n){var r=n("5ca0"),o=n("51f5"),i=r(o);t.exports=i},2780:function(t,e,n){"use strict";var r=n("6f8d"),o=n("cc94");t.exports=function(){for(var t,e=r(this),n=o(e["delete"]),i=!0,a=0,s=arguments.length;a>>16)*e&65535)<<16)}function a(t,e){return t<>>32-e}function s(t){return t^=t>>>16,t=i(t,2246822507),t^=t>>>13,t=i(t,3266489909),t^=t>>>16,t}function u(t,e){t=[t[0]>>>16,65535&t[0],t[1]>>>16,65535&t[1]],e=[e[0]>>>16,65535&e[0],e[1]>>>16,65535&e[1]];var n=[0,0,0,0];return n[3]+=t[3]+e[3],n[2]+=n[3]>>>16,n[3]&=65535,n[2]+=t[2]+e[2],n[1]+=n[2]>>>16,n[2]&=65535,n[1]+=t[1]+e[1],n[0]+=n[1]>>>16,n[1]&=65535,n[0]+=t[0]+e[0],n[0]&=65535,[n[0]<<16|n[1],n[2]<<16|n[3]]}function c(t,e){t=[t[0]>>>16,65535&t[0],t[1]>>>16,65535&t[1]],e=[e[0]>>>16,65535&e[0],e[1]>>>16,65535&e[1]];var n=[0,0,0,0];return n[3]+=t[3]*e[3],n[2]+=n[3]>>>16,n[3]&=65535,n[2]+=t[2]*e[3],n[1]+=n[2]>>>16,n[2]&=65535,n[2]+=t[3]*e[2],n[1]+=n[2]>>>16,n[2]&=65535,n[1]+=t[1]*e[3],n[0]+=n[1]>>>16,n[1]&=65535,n[1]+=t[2]*e[2],n[0]+=n[1]>>>16,n[1]&=65535,n[1]+=t[3]*e[1],n[0]+=n[1]>>>16,n[1]&=65535,n[0]+=t[0]*e[3]+t[1]*e[2]+t[2]*e[1]+t[3]*e[0],n[0]&=65535,[n[0]<<16|n[1],n[2]<<16|n[3]]}function f(t,e){return e%=64,32===e?[t[1],t[0]]:e<32?[t[0]<>>32-e,t[1]<>>32-e]:(e-=32,[t[1]<>>32-e,t[0]<>>32-e])}function l(t,e){return e%=64,0===e?t:e<32?[t[0]<>>32-e,t[1]<>>1]),t=c(t,[4283543511,3981806797]),t=p(t,[0,t[0]>>>1]),t=c(t,[3301882366,444984403]),t=p(t,[0,t[0]>>>1]),t}o.x86.hash32=function(t,e){t=t||"",e=e||0;for(var n=t.length%4,r=t.length-n,o=e,u=0,c=3432918353,f=461845907,l=0;l>>0},o.x86.hash128=function(t,e){t=t||"",e=e||0;for(var n=t.length%16,r=t.length-n,o=e,u=e,c=e,f=e,l=0,p=0,h=0,d=0,v=597399067,g=2869860233,b=951274213,m=2716044179,y=0;y>>0).toString(16)).slice(-8)+("00000000"+(u>>>0).toString(16)).slice(-8)+("00000000"+(c>>>0).toString(16)).slice(-8)+("00000000"+(f>>>0).toString(16)).slice(-8)},o.x64.hash128=function(t,e){t=t||"",e=e||0;for(var n=t.length%16,r=t.length-n,o=[0,e],i=[0,e],a=[0,0],s=[0,0],d=[2277735313,289559509],v=[1291169091,658871167],g=0;g>>0).toString(16)).slice(-8)+("00000000"+(o[1]>>>0).toString(16)).slice(-8)+("00000000"+(i[0]>>>0).toString(16)).slice(-8)+("00000000"+(i[1]>>>0).toString(16)).slice(-8)},t.exports&&(e=t.exports=o),e.murmurHash3=o})()},"27ac":function(t,e,n){var r=n("f4c9");t.exports=r},"27bf":function(t,e,n){"use strict";t.exports=a;var r=n("b19a"),o=Object.create(n("3a7c"));function i(t,e){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(!r)return this.emit("error",new Error("write callback called multiple times"));n.writechunk=null,n.writecb=null,null!=e&&this.push(e),r(t);var o=this._readableState;o.reading=!1,(o.needReadable||o.length "+n.message:n.message),e.say(n.toString()),o()},read:function(){r=!0;while(n.length>0){var t=n.shift();if(!1===o.push(t)){r=!1;break}}}});return this.irc_client.on("privmsg",(function(t){t.target.toLowerCase()===e.name.toLowerCase()&&(n.push(t),r&&o._read())})),o}},{key:"updateUsers",value:function(t){var e=this,n=function n(r){r.channel.toLowerCase()===e.name.toLowerCase()&&(e.irc_client.removeListener("userlist",n),"function"===typeof t&&t(e))};this.irc_client.on("userlist",n),this.irc_client.raw("NAMES",this.name)}}]),t}()},"2c63":function(t,e,n){t.exports=n("dc14")},"2c66":function(t,e,n){var r=n("d612"),o=n("8db3"),i=n("5edf"),a=n("c584"),s=n("750a"),u=n("ac41"),c=200;function f(t,e,n){var f=-1,l=o,p=t.length,h=!0,d=[],v=d;if(n)h=!1,l=i;else if(p>=c){var g=e?null:s(t);if(g)return u(g);h=!1,l=a,v=new r}else v=e?[]:d;t:while(++fn)e.push(arguments[n++]);return _[++y]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},r(y),y},v=function(t){delete _[t]},"process"==u(g)?r=function(t){g.nextTick(E(t))}:m&&m.now?r=function(t){m.now(E(t))}:b&&!p?(o=new b,i=o.port2,o.port1.onmessage=D,r=c(i.postMessage,i,1)):!a.addEventListener||"function"!=typeof postMessage||a.importScripts||s(A)||"file:"===h.protocol?r=w in l("script")?function(t){f.appendChild(l("script"))[w]=function(){f.removeChild(this),x(t)}}:function(t){setTimeout(E(t),0)}:(r=A,a.addEventListener("message",D,!1))),t.exports={set:d,clear:v}},"2d00":function(t,e,n){var r,o,i=n("da84"),a=n("342f"),s=i.process,u=s&&s.versions,c=u&&u.v8;c?(r=c.split("."),o=r[0]+r[1]):a&&(r=a.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/),r&&(o=r[1]))),t.exports=o&&+o},"2d3f":function(t,e,n){var r=n("930e");t.exports=r},"2d7c":function(t,e){function n(t,e){var n=-1,r=null==t?0:t.length,o=0,i=[];while(++n=c&&(p=u,h=!1,e=new r(e));t:while(++l1?n[i-1]:void 0,s=i>2?n[2]:void 0;a=t.length>3&&"function"==typeof a?(i--,a):void 0,s&&o(n[0],n[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);while(++r + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */(function(){var i,a="4.17.19",s=200,u="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",c="Expected a function",f="__lodash_hash_undefined__",l=500,p="__lodash_placeholder__",h=1,d=2,v=4,g=1,b=2,m=1,y=2,_=4,w=8,x=16,E=32,D=64,A=128,C=256,S=512,F=30,k="...",O=800,T=16,R=1,L=2,j=3,P=1/0,N=9007199254740991,I=17976931348623157e292,B=NaN,M=4294967295,U=M-1,$=M>>>1,q=[["ary",A],["bind",m],["bindKey",y],["curry",w],["curryRight",x],["flip",S],["partial",E],["partialRight",D],["rearg",C]],z="[object Arguments]",H="[object Array]",V="[object AsyncFunction]",W="[object Boolean]",G="[object Date]",Y="[object DOMException]",X="[object Error]",J="[object Function]",K="[object GeneratorFunction]",Z="[object Map]",Q="[object Number]",tt="[object Null]",et="[object Object]",nt="[object Promise]",rt="[object Proxy]",ot="[object RegExp]",it="[object Set]",at="[object String]",st="[object Symbol]",ut="[object Undefined]",ct="[object WeakMap]",ft="[object WeakSet]",lt="[object ArrayBuffer]",pt="[object DataView]",ht="[object Float32Array]",dt="[object Float64Array]",vt="[object Int8Array]",gt="[object Int16Array]",bt="[object Int32Array]",mt="[object Uint8Array]",yt="[object Uint8ClampedArray]",_t="[object Uint16Array]",wt="[object Uint32Array]",xt=/\b__p \+= '';/g,Et=/\b(__p \+=) '' \+/g,Dt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,At=/&(?:amp|lt|gt|quot|#39);/g,Ct=/[&<>"']/g,St=RegExp(At.source),Ft=RegExp(Ct.source),kt=/<%-([\s\S]+?)%>/g,Ot=/<%([\s\S]+?)%>/g,Tt=/<%=([\s\S]+?)%>/g,Rt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Lt=/^\w*$/,jt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Pt=/[\\^$.*+?()[\]{}|]/g,Nt=RegExp(Pt.source),It=/^\s+|\s+$/g,Bt=/^\s+/,Mt=/\s+$/,Ut=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,$t=/\{\n\/\* \[wrapped with (.+)\] \*/,qt=/,? & /,zt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ht=/\\(\\)?/g,Vt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Wt=/\w*$/,Gt=/^[-+]0x[0-9a-f]+$/i,Yt=/^0b[01]+$/i,Xt=/^\[object .+?Constructor\]$/,Jt=/^0o[0-7]+$/i,Kt=/^(?:0|[1-9]\d*)$/,Zt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Qt=/($^)/,te=/['\n\r\u2028\u2029\\]/g,ee="\\ud800-\\udfff",ne="\\u0300-\\u036f",re="\\ufe20-\\ufe2f",oe="\\u20d0-\\u20ff",ie=ne+re+oe,ae="\\u2700-\\u27bf",se="a-z\\xdf-\\xf6\\xf8-\\xff",ue="\\xac\\xb1\\xd7\\xf7",ce="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",fe="\\u2000-\\u206f",le=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",pe="A-Z\\xc0-\\xd6\\xd8-\\xde",he="\\ufe0e\\ufe0f",de=ue+ce+fe+le,ve="['’]",ge="["+ee+"]",be="["+de+"]",me="["+ie+"]",ye="\\d+",_e="["+ae+"]",we="["+se+"]",xe="[^"+ee+de+ye+ae+se+pe+"]",Ee="\\ud83c[\\udffb-\\udfff]",De="(?:"+me+"|"+Ee+")",Ae="[^"+ee+"]",Ce="(?:\\ud83c[\\udde6-\\uddff]){2}",Se="[\\ud800-\\udbff][\\udc00-\\udfff]",Fe="["+pe+"]",ke="\\u200d",Oe="(?:"+we+"|"+xe+")",Te="(?:"+Fe+"|"+xe+")",Re="(?:"+ve+"(?:d|ll|m|re|s|t|ve))?",Le="(?:"+ve+"(?:D|LL|M|RE|S|T|VE))?",je=De+"?",Pe="["+he+"]?",Ne="(?:"+ke+"(?:"+[Ae,Ce,Se].join("|")+")"+Pe+je+")*",Ie="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Be="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Me=Pe+je+Ne,Ue="(?:"+[_e,Ce,Se].join("|")+")"+Me,$e="(?:"+[Ae+me+"?",me,Ce,Se,ge].join("|")+")",qe=RegExp(ve,"g"),ze=RegExp(me,"g"),He=RegExp(Ee+"(?="+Ee+")|"+$e+Me,"g"),Ve=RegExp([Fe+"?"+we+"+"+Re+"(?="+[be,Fe,"$"].join("|")+")",Te+"+"+Le+"(?="+[be,Fe+Oe,"$"].join("|")+")",Fe+"?"+Oe+"+"+Re,Fe+"+"+Le,Be,Ie,ye,Ue].join("|"),"g"),We=RegExp("["+ke+ee+ie+he+"]"),Ge=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ye=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Xe=-1,Je={};Je[ht]=Je[dt]=Je[vt]=Je[gt]=Je[bt]=Je[mt]=Je[yt]=Je[_t]=Je[wt]=!0,Je[z]=Je[H]=Je[lt]=Je[W]=Je[pt]=Je[G]=Je[X]=Je[J]=Je[Z]=Je[Q]=Je[et]=Je[ot]=Je[it]=Je[at]=Je[ct]=!1;var Ke={};Ke[z]=Ke[H]=Ke[lt]=Ke[pt]=Ke[W]=Ke[G]=Ke[ht]=Ke[dt]=Ke[vt]=Ke[gt]=Ke[bt]=Ke[Z]=Ke[Q]=Ke[et]=Ke[ot]=Ke[it]=Ke[at]=Ke[st]=Ke[mt]=Ke[yt]=Ke[_t]=Ke[wt]=!0,Ke[X]=Ke[J]=Ke[ct]=!1;var Ze={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n",ſ:"s"},Qe={"&":"&","<":"<",">":">",'"':""","'":"'"},tn={"&":"&","<":"<",">":">",""":'"',"'":"'"},en={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},nn=parseFloat,rn=parseInt,on="object"==typeof t&&t&&t.Object===Object&&t,an="object"==typeof self&&self&&self.Object===Object&&self,sn=on||an||Function("return this")(),un=e&&!e.nodeType&&e,cn=un&&"object"==typeof r&&r&&!r.nodeType&&r,fn=cn&&cn.exports===un,ln=fn&&on.process,pn=function(){try{var t=cn&&cn.require&&cn.require("util").types;return t||ln&&ln.binding&&ln.binding("util")}catch(e){}}(),hn=pn&&pn.isArrayBuffer,dn=pn&&pn.isDate,vn=pn&&pn.isMap,gn=pn&&pn.isRegExp,bn=pn&&pn.isSet,mn=pn&&pn.isTypedArray;function yn(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function _n(t,e,n,r){var o=-1,i=null==t?0:t.length;while(++o-1}function Cn(t,e,n){var r=-1,o=null==t?0:t.length;while(++r-1);return n}function Zn(t,e){var n=t.length;while(n--&&In(e,t[n],0)>-1);return n}function Qn(t,e){var n=t.length,r=0;while(n--)t[n]===e&&++r;return r}var tr=qn(Ze),er=qn(Qe);function nr(t){return"\\"+en[t]}function rr(t,e){return null==t?i:t[e]}function or(t){return We.test(t)}function ir(t){return Ge.test(t)}function ar(t){var e,n=[];while(!(e=t.next()).done)n.push(e.value);return n}function sr(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function ur(t,e){return function(n){return t(e(n))}}function cr(t,e){var n=-1,r=t.length,o=0,i=[];while(++n-1}function Ur(t,e){var n=this.__data__,r=uo(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function $r(t){var e=-1,n=null==t?0:t.length;this.clear();while(++e=e?t:e)),t}function go(t,e,n,r,o,a){var s,u=e&h,c=e&d,f=e&v;if(n&&(s=o?n(t,r,o,a):n(t)),s!==i)return s;if(!Ef(t))return t;var l=sf(t);if(l){if(s=Qa(t),!u)return na(t,s)}else{var p=Xa(t),g=p==J||p==K;if(pf(t))return Wi(t,u);if(p==et||p==z||g&&!o){if(s=c||g?{}:ts(t),!u)return c?ia(t,lo(s,t)):oa(t,fo(s,t))}else{if(!Ke[p])return o?t:{};s=es(t,p,u)}}a||(a=new Jr);var b=a.get(t);if(b)return b;a.set(t,s),Nf(t)?t.forEach((function(r){s.add(go(r,e,n,r,t,a))})):Af(t)&&t.forEach((function(r,o){s.set(o,go(r,e,n,o,t,a))}));var m=f?c?Ba:Ia:c?xl:wl,y=l?i:m(t);return wn(y||t,(function(r,o){y&&(o=r,r=t[o]),so(s,o,go(r,e,n,o,t,a))})),s}function bo(t){var e=wl(t);return function(n){return mo(n,t,e)}}function mo(t,e,n){var r=n.length;if(null==t)return!r;t=ne(t);while(r--){var o=n[r],a=e[o],s=t[o];if(s===i&&!(o in t)||!a(s))return!1}return!0}function yo(t,e,n){if("function"!=typeof t)throw new ie(c);return Es((function(){t.apply(i,n)}),e)}function _o(t,e,n,r){var o=-1,i=An,a=!0,u=t.length,c=[],f=e.length;if(!u)return c;n&&(e=Sn(e,Yn(n))),r?(i=Cn,a=!1):e.length>=s&&(i=Jn,a=!1,e=new Gr(e));t:while(++oo?0:o+n),r=r===i||r>o?o:Gf(r),r<0&&(r+=o),r=n>r?0:Yf(r);while(n0&&n(s)?e>1?So(s,e-1,n,r,o):Fn(o,s):r||(o[o.length]=s)}return o}var Fo=ca(),ko=ca(!0);function Oo(t,e){return t&&Fo(t,e,wl)}function To(t,e){return t&&ko(t,e,wl)}function Ro(t,e){return Dn(e,(function(e){return _f(t[e])}))}function Lo(t,e){e=qi(e,t);var n=0,r=e.length;while(null!=t&&ne}function Io(t,e){return null!=t&&le.call(t,e)}function Bo(t,e){return null!=t&&e in ne(t)}function Mo(t,e,n){return t>=$e(e,n)&&t=120&&p.length>=120)?new Gr(u&&p):i}p=t[0];var h=-1,d=c[0];t:while(++h-1)s!==t&&Ae.call(s,u,1),Ae.call(t,u,1)}return t}function vi(t,e){var n=t?e.length:0,r=n-1;while(n--){var o=e[n];if(n==r||o!==i){var i=o;os(o)?Ae.call(t,o,1):ji(t,o)}}return t}function gi(t,e){return t+je(We()*(e-t+1))}function bi(t,e,r,o){var i=-1,a=Ue(Le((e-t)/(r||1)),0),s=n(a);while(a--)s[o?a:++i]=t,t+=r;return s}function mi(t,e){var n="";if(!t||e<1||e>N)return n;do{e%2&&(n+=t),e=je(e/2),e&&(t+=t)}while(e);return n}function yi(t,e){return Ds(ms(t,e,kp),t+"")}function _i(t){return ro(Ul(t))}function wi(t,e){var n=Ul(t);return Ss(n,vo(e,0,n.length))}function xi(t,e,n,r){if(!Ef(t))return t;e=qi(e,t);var o=-1,a=e.length,s=a-1,u=t;while(null!=u&&++oi?0:i+e),r=r>i?i:r,r<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;var a=n(i);while(++o>>1,a=t[i];null!==a&&!Bf(a)&&(n?a<=e:a=s){var f=e?null:Sa(t);if(f)return fr(f);a=!1,o=Jn,c=new Gr}else c=e?[]:u;t:while(++r=r?t:Ci(t,e,n)}var Vi=Oe||function(t){return sn.clearTimeout(t)};function Wi(t,e){if(e)return t.slice();var n=t.length,r=we?we(n):new t.constructor(n);return t.copy(r),r}function Gi(t){var e=new t.constructor(t.byteLength);return new _e(e).set(new _e(t)),e}function Yi(t,e){var n=e?Gi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}function Xi(t){var e=new t.constructor(t.source,Wt.exec(t));return e.lastIndex=t.lastIndex,e}function Ji(t){return br?ne(br.call(t)):{}}function Ki(t,e){var n=e?Gi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Zi(t,e){if(t!==e){var n=t!==i,r=null===t,o=t===t,a=Bf(t),s=e!==i,u=null===e,c=e===e,f=Bf(e);if(!u&&!f&&!a&&t>e||a&&s&&c&&!u&&!f||r&&s&&c||!n&&c||!o)return 1;if(!r&&!a&&!f&&t=s)return u;var c=n[r];return u*("desc"==c?-1:1)}}return t.index-e.index}function ta(t,e,r,o){var i=-1,a=t.length,s=r.length,u=-1,c=e.length,f=Ue(a-s,0),l=n(c+f),p=!o;while(++u1?n[o-1]:i,s=o>2?n[2]:i;a=t.length>3&&"function"==typeof a?(o--,a):i,s&&is(n[0],n[1],s)&&(a=o<3?i:a,o=1),e=ne(e);while(++r-1?o[a?e[s]:s]:i}}function ga(t){return Na((function(e){var n=e.length,r=n,o=Dr.prototype.thru;t&&e.reverse();while(r--){var a=e[r];if("function"!=typeof a)throw new ie(c);if(o&&!s&&"wrapper"==Ua(a))var s=new Dr([],!0)}r=s?r:n;while(++r1&&m.reverse(),p&&fu))return!1;var f=a.get(t),l=a.get(e);if(f&&l)return f==e&&l==t;var p=-1,h=!0,d=n&b?new Gr:i;a.set(t,e),a.set(e,t);while(++p1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(Ut,"{\n/* [wrapped with "+e+"] */\n")}function rs(t){return sf(t)||af(t)||!!(Ce&&t&&t[Ce])}function os(t,e){var n=typeof t;return e=null==e?N:e,!!e&&("number"==n||"symbol"!=n&&Kt.test(t))&&t>-1&&t%1==0&&t0){if(++e>=O)return arguments[0]}else e=0;return t.apply(i,arguments)}}function Ss(t,e){var n=-1,r=t.length,o=r-1;e=e===i?r:e;while(++n1?t[e-1]:i;return n="function"==typeof n?(t.pop(),n):i,ju(t,n)}));function zu(t){var e=_r(t);return e.__chain__=!0,e}function Hu(t,e){return e(t),t}function Vu(t,e){return e(t)}var Wu=Na((function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,o=function(e){return ho(e,t)};return!(e>1||this.__actions__.length)&&r instanceof Ar&&os(n)?(r=r.slice(n,+n+(e?1:0)),r.__actions__.push({func:Vu,args:[o],thisArg:i}),new Dr(r,this.__chain__).thru((function(t){return e&&!t.length&&t.push(i),t}))):this.thru(o)}));function Gu(){return zu(this)}function Yu(){return new Dr(this.value(),this.__chain__)}function Xu(){this.__values__===i&&(this.__values__=Vf(this.value()));var t=this.__index__>=this.__values__.length,e=t?i:this.__values__[this.__index__++];return{done:t,value:e}}function Ju(){return this}function Ku(t){var e,n=this;while(n instanceof Er){var r=Rs(n);r.__index__=0,r.__values__=i,e?o.__wrapped__=r:e=r;var o=r;n=n.__wrapped__}return o.__wrapped__=t,e}function Zu(){var t=this.__wrapped__;if(t instanceof Ar){var e=t;return this.__actions__.length&&(e=new Ar(this)),e=e.reverse(),e.__actions__.push({func:Vu,args:[pu],thisArg:i}),new Dr(e,this.__chain__)}return this.thru(pu)}function Qu(){return Ii(this.__wrapped__,this.__actions__)}var tc=aa((function(t,e,n){le.call(t,n)?++t[n]:po(t,n,1)}));function ec(t,e,n){var r=sf(t)?En:Eo;return n&&is(t,e,n)&&(e=i),r(t,qa(e,3))}function nc(t,e){var n=sf(t)?Dn:Co;return n(t,qa(e,3))}var rc=va(Hs),oc=va(Vs);function ic(t,e){return So(dc(t,e),1)}function ac(t,e){return So(dc(t,e),P)}function sc(t,e,n){return n=n===i?1:Gf(n),So(dc(t,e),n)}function uc(t,e){var n=sf(t)?wn:wo;return n(t,qa(e,3))}function cc(t,e){var n=sf(t)?xn:xo;return n(t,qa(e,3))}var fc=aa((function(t,e,n){le.call(t,n)?t[n].push(e):po(t,n,[e])}));function lc(t,e,n,r){t=cf(t)?t:Ul(t),n=n&&!r?Gf(n):0;var o=t.length;return n<0&&(n=Ue(o+n,0)),If(t)?n<=o&&t.indexOf(e,n)>-1:!!o&&In(t,e,n)>-1}var pc=yi((function(t,e,r){var o=-1,i="function"==typeof e,a=cf(t)?n(t.length):[];return wo(t,(function(t){a[++o]=i?yn(e,t,r):qo(t,e,r)})),a})),hc=aa((function(t,e,n){po(t,n,e)}));function dc(t,e){var n=sf(t)?Sn:oi;return n(t,qa(e,3))}function vc(t,e,n,r){return null==t?[]:(sf(e)||(e=null==e?[]:[e]),n=r?i:n,sf(n)||(n=null==n?[]:[n]),fi(t,e,n))}var gc=aa((function(t,e,n){t[n?0:1].push(e)}),(function(){return[[],[]]}));function bc(t,e,n){var r=sf(t)?kn:zn,o=arguments.length<3;return r(t,qa(e,4),n,o,wo)}function mc(t,e,n){var r=sf(t)?On:zn,o=arguments.length<3;return r(t,qa(e,4),n,o,xo)}function yc(t,e){var n=sf(t)?Dn:Co;return n(t,Mc(qa(e,3)))}function _c(t){var e=sf(t)?ro:_i;return e(t)}function wc(t,e,n){e=(n?is(t,e,n):e===i)?1:Gf(e);var r=sf(t)?oo:wi;return r(t,e)}function xc(t){var e=sf(t)?io:Ai;return e(t)}function Ec(t){if(null==t)return 0;if(cf(t))return If(t)?dr(t):t.length;var e=Xa(t);return e==Z||e==it?t.size:ei(t).length}function Dc(t,e,n){var r=sf(t)?Tn:Si;return n&&is(t,e,n)&&(e=i),r(t,qa(e,3))}var Ac=yi((function(t,e){if(null==t)return[];var n=e.length;return n>1&&is(t,e[0],e[1])?e=[]:n>2&&is(e[0],e[1],e[2])&&(e=[e[0]]),fi(t,So(e,1),[])})),Cc=Te||function(){return sn.Date.now()};function Sc(t,e){if("function"!=typeof e)throw new ie(c);return t=Gf(t),function(){if(--t<1)return e.apply(this,arguments)}}function Fc(t,e,n){return e=n?i:e,e=t&&null==e?t.length:e,ka(t,A,i,i,i,i,e)}function kc(t,e){var n;if("function"!=typeof e)throw new ie(c);return t=Gf(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=i),n}}var Oc=yi((function(t,e,n){var r=m;if(n.length){var o=cr(n,$a(Oc));r|=E}return ka(t,r,e,n,o)})),Tc=yi((function(t,e,n){var r=m|y;if(n.length){var o=cr(n,$a(Tc));r|=E}return ka(e,r,t,n,o)}));function Rc(t,e,n){e=n?i:e;var r=ka(t,w,i,i,i,i,i,e);return r.placeholder=Rc.placeholder,r}function Lc(t,e,n){e=n?i:e;var r=ka(t,x,i,i,i,i,i,e);return r.placeholder=Lc.placeholder,r}function jc(t,e,n){var r,o,a,s,u,f,l=0,p=!1,h=!1,d=!0;if("function"!=typeof t)throw new ie(c);function v(e){var n=r,a=o;return r=o=i,l=e,s=t.apply(a,n),s}function g(t){return l=t,u=Es(y,e),p?v(t):s}function b(t){var n=t-f,r=t-l,o=e-n;return h?$e(o,a-r):o}function m(t){var n=t-f,r=t-l;return f===i||n>=e||n<0||h&&r>=a}function y(){var t=Cc();if(m(t))return _(t);u=Es(y,b(t))}function _(t){return u=i,d&&r?v(t):(r=o=i,s)}function w(){u!==i&&Vi(u),l=0,r=f=o=u=i}function x(){return u===i?s:_(Cc())}function E(){var t=Cc(),n=m(t);if(r=arguments,o=this,f=t,n){if(u===i)return g(f);if(h)return Vi(u),u=Es(y,e),v(f)}return u===i&&(u=Es(y,e)),s}return e=Xf(e)||0,Ef(n)&&(p=!!n.leading,h="maxWait"in n,a=h?Ue(Xf(n.maxWait)||0,e):a,d="trailing"in n?!!n.trailing:d),E.cancel=w,E.flush=x,E}var Pc=yi((function(t,e){return yo(t,1,e)})),Nc=yi((function(t,e,n){return yo(t,Xf(e)||0,n)}));function Ic(t){return ka(t,S)}function Bc(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new ie(c);var n=function(){var r=arguments,o=e?e.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=t.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(Bc.Cache||$r),n}function Mc(t){if("function"!=typeof t)throw new ie(c);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function Uc(t){return kc(2,t)}Bc.Cache=$r;var $c=zi((function(t,e){e=1==e.length&&sf(e[0])?Sn(e[0],Yn(qa())):Sn(So(e,1),Yn(qa()));var n=e.length;return yi((function(r){var o=-1,i=$e(r.length,n);while(++o=e})),af=zo(function(){return arguments}())?zo:function(t){return Df(t)&&le.call(t,"callee")&&!De.call(t,"callee")},sf=n.isArray,uf=hn?Yn(hn):Ho;function cf(t){return null!=t&&xf(t.length)&&!_f(t)}function ff(t){return Df(t)&&cf(t)}function lf(t){return!0===t||!1===t||Df(t)&&Po(t)==W}var pf=Ne||Gp,hf=dn?Yn(dn):Vo;function df(t){return Df(t)&&1===t.nodeType&&!Lf(t)}function vf(t){if(null==t)return!0;if(cf(t)&&(sf(t)||"string"==typeof t||"function"==typeof t.splice||pf(t)||Mf(t)||af(t)))return!t.length;var e=Xa(t);if(e==Z||e==it)return!t.size;if(ls(t))return!ei(t).length;for(var n in t)if(le.call(t,n))return!1;return!0}function gf(t,e){return Wo(t,e)}function bf(t,e,n){n="function"==typeof n?n:i;var r=n?n(t,e):i;return r===i?Wo(t,e,i,n):!!r}function mf(t){if(!Df(t))return!1;var e=Po(t);return e==X||e==Y||"string"==typeof t.message&&"string"==typeof t.name&&!Lf(t)}function yf(t){return"number"==typeof t&&Ie(t)}function _f(t){if(!Ef(t))return!1;var e=Po(t);return e==J||e==K||e==V||e==rt}function wf(t){return"number"==typeof t&&t==Gf(t)}function xf(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=N}function Ef(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Df(t){return null!=t&&"object"==typeof t}var Af=vn?Yn(vn):Yo;function Cf(t,e){return t===e||Xo(t,e,Ha(e))}function Sf(t,e,n){return n="function"==typeof n?n:i,Xo(t,e,Ha(e),n)}function Ff(t){return Rf(t)&&t!=+t}function kf(t){if(fs(t))throw new o(u);return Jo(t)}function Of(t){return null===t}function Tf(t){return null==t}function Rf(t){return"number"==typeof t||Df(t)&&Po(t)==Q}function Lf(t){if(!Df(t)||Po(t)!=et)return!1;var e=xe(t);if(null===e)return!0;var n=le.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&fe.call(n)==ve}var jf=gn?Yn(gn):Ko;function Pf(t){return wf(t)&&t>=-N&&t<=N}var Nf=bn?Yn(bn):Zo;function If(t){return"string"==typeof t||!sf(t)&&Df(t)&&Po(t)==at}function Bf(t){return"symbol"==typeof t||Df(t)&&Po(t)==st}var Mf=mn?Yn(mn):Qo;function Uf(t){return t===i}function $f(t){return Df(t)&&Xa(t)==ct}function qf(t){return Df(t)&&Po(t)==ft}var zf=Da(ri),Hf=Da((function(t,e){return t<=e}));function Vf(t){if(!t)return[];if(cf(t))return If(t)?vr(t):na(t);if(Se&&t[Se])return ar(t[Se]());var e=Xa(t),n=e==Z?sr:e==it?fr:Ul;return n(t)}function Wf(t){if(!t)return 0===t?t:0;if(t=Xf(t),t===P||t===-P){var e=t<0?-1:1;return e*I}return t===t?t:0}function Gf(t){var e=Wf(t),n=e%1;return e===e?n?e-n:e:0}function Yf(t){return t?vo(Gf(t),0,M):0}function Xf(t){if("number"==typeof t)return t;if(Bf(t))return B;if(Ef(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Ef(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(It,"");var n=Yt.test(t);return n||Jt.test(t)?rn(t.slice(2),n?2:8):Gt.test(t)?B:+t}function Jf(t){return ra(t,xl(t))}function Kf(t){return t?vo(Gf(t),-N,N):0===t?t:0}function Zf(t){return null==t?"":Ri(t)}var Qf=sa((function(t,e){if(ls(e)||cf(e))ra(e,wl(e),t);else for(var n in e)le.call(e,n)&&so(t,n,e[n])})),tl=sa((function(t,e){ra(e,xl(e),t)})),el=sa((function(t,e,n,r){ra(e,xl(e),t,r)})),nl=sa((function(t,e,n,r){ra(e,wl(e),t,r)})),rl=Na(ho);function ol(t,e){var n=xr(t);return null==e?n:fo(n,e)}var il=yi((function(t,e){t=ne(t);var n=-1,r=e.length,o=r>2?e[2]:i;o&&is(e[0],e[1],o)&&(r=1);while(++n1),e})),ra(t,Ba(t),n),r&&(n=go(n,h|d|v,Ra));var o=e.length;while(o--)ji(n,e[o]);return n}));function Fl(t,e){return Ol(t,Mc(qa(e)))}var kl=Na((function(t,e){return null==t?{}:li(t,e)}));function Ol(t,e){if(null==t)return{};var n=Sn(Ba(t),(function(t){return[t]}));return e=qa(e),pi(t,n,(function(t,n){return e(t,n[0])}))}function Tl(t,e,n){e=qi(e,t);var r=-1,o=e.length;o||(o=1,t=i);while(++re){var r=t;t=e,e=r}if(n||t%1||e%1){var o=We();return $e(t+o*(e-t+nn("1e-"+((o+"").length-1))),e)}return gi(t,e)}var Vl=pa((function(t,e,n){return e=e.toLowerCase(),t+(n?Wl(e):e)}));function Wl(t){return yp(Zf(t).toLowerCase())}function Gl(t){return t=Zf(t),t&&t.replace(Zt,tr).replace(ze,"")}function Yl(t,e,n){t=Zf(t),e=Ri(e);var r=t.length;n=n===i?r:vo(Gf(n),0,r);var o=n;return n-=e.length,n>=0&&t.slice(n,o)==e}function Xl(t){return t=Zf(t),t&&Ft.test(t)?t.replace(Ct,er):t}function Jl(t){return t=Zf(t),t&&Nt.test(t)?t.replace(Pt,"\\$&"):t}var Kl=pa((function(t,e,n){return t+(n?"-":"")+e.toLowerCase()})),Zl=pa((function(t,e,n){return t+(n?" ":"")+e.toLowerCase()})),Ql=la("toLowerCase");function tp(t,e,n){t=Zf(t),e=Gf(e);var r=e?dr(t):0;if(!e||r>=e)return t;var o=(e-r)/2;return wa(je(o),n)+t+wa(Le(o),n)}function ep(t,e,n){t=Zf(t),e=Gf(e);var r=e?dr(t):0;return e&&r>>0,n?(t=Zf(t),t&&("string"==typeof e||null!=e&&!jf(e))&&(e=Ri(e),!e&&or(t))?Hi(vr(t),0,n):t.split(e,n)):[]}var up=pa((function(t,e,n){return t+(n?" ":"")+yp(e)}));function cp(t,e,n){return t=Zf(t),n=null==n?0:vo(Gf(n),0,t.length),e=Ri(e),t.slice(n,n+e.length)==e}function fp(t,e,n){var r=_r.templateSettings;n&&is(t,e,n)&&(e=i),t=Zf(t),e=el({},e,r,Oa);var o,a,s=el({},e.imports,r.imports,Oa),u=wl(s),c=Xn(s,u),f=0,l=e.interpolate||Qt,p="__p += '",h=re((e.escape||Qt).source+"|"+l.source+"|"+(l===Tt?Vt:Qt).source+"|"+(e.evaluate||Qt).source+"|$","g"),d="//# sourceURL="+(le.call(e,"sourceURL")?(e.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Xe+"]")+"\n";t.replace(h,(function(e,n,r,i,s,u){return r||(r=i),p+=t.slice(f,u).replace(te,nr),n&&(o=!0,p+="' +\n__e("+n+") +\n'"),s&&(a=!0,p+="';\n"+s+";\n__p += '"),r&&(p+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),f=u+e.length,e})),p+="';\n";var v=le.call(e,"variable")&&e.variable;v||(p="with (obj) {\n"+p+"\n}\n"),p=(a?p.replace(xt,""):p).replace(Et,"$1").replace(Dt,"$1;"),p="function("+(v||"obj")+") {\n"+(v?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(o?", __e = _.escape":"")+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+p+"return __p\n}";var g=wp((function(){return zt(u,d+"return "+p).apply(i,c)}));if(g.source=p,mf(g))throw g;return g}function lp(t){return Zf(t).toLowerCase()}function pp(t){return Zf(t).toUpperCase()}function hp(t,e,n){if(t=Zf(t),t&&(n||e===i))return t.replace(It,"");if(!t||!(e=Ri(e)))return t;var r=vr(t),o=vr(e),a=Kn(r,o),s=Zn(r,o)+1;return Hi(r,a,s).join("")}function dp(t,e,n){if(t=Zf(t),t&&(n||e===i))return t.replace(Mt,"");if(!t||!(e=Ri(e)))return t;var r=vr(t),o=Zn(r,vr(e))+1;return Hi(r,0,o).join("")}function vp(t,e,n){if(t=Zf(t),t&&(n||e===i))return t.replace(Bt,"");if(!t||!(e=Ri(e)))return t;var r=vr(t),o=Kn(r,vr(e));return Hi(r,o).join("")}function gp(t,e){var n=F,r=k;if(Ef(e)){var o="separator"in e?e.separator:o;n="length"in e?Gf(e.length):n,r="omission"in e?Ri(e.omission):r}t=Zf(t);var a=t.length;if(or(t)){var s=vr(t);a=s.length}if(n>=a)return t;var u=n-dr(r);if(u<1)return r;var c=s?Hi(s,0,u).join(""):t.slice(0,u);if(o===i)return c+r;if(s&&(u+=c.length-u),jf(o)){if(t.slice(u).search(o)){var f,l=c;o.global||(o=re(o.source,Zf(Wt.exec(o))+"g")),o.lastIndex=0;while(f=o.exec(l))var p=f.index;c=c.slice(0,p===i?u:p)}}else if(t.indexOf(Ri(o),u)!=u){var h=c.lastIndexOf(o);h>-1&&(c=c.slice(0,h))}return c+r}function bp(t){return t=Zf(t),t&&St.test(t)?t.replace(At,gr):t}var mp=pa((function(t,e,n){return t+(n?" ":"")+e.toUpperCase()})),yp=la("toUpperCase");function _p(t,e,n){return t=Zf(t),e=n?i:e,e===i?ir(t)?yr(t):jn(t):t.match(e)||[]}var wp=yi((function(t,e){try{return yn(t,i,e)}catch(n){return mf(n)?n:new o(n)}})),xp=Na((function(t,e){return wn(e,(function(e){e=ks(e),po(t,e,Oc(t[e],t))})),t}));function Ep(t){var e=null==t?0:t.length,n=qa();return t=e?Sn(t,(function(t){if("function"!=typeof t[1])throw new ie(c);return[n(t[0]),t[1]]})):[],yi((function(n){var r=-1;while(++rN)return[];var n=M,r=$e(t,M);e=qa(e),t-=M;var o=Wn(r,e);while(++n0||e<0)?new Ar(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==i&&(e=Gf(e),n=e<0?n.dropRight(-e):n.take(e-t)),n)},Ar.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Ar.prototype.toArray=function(){return this.take(M)},Oo(Ar.prototype,(function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),o=_r[r?"take"+("last"==e?"Right":""):e],a=r||/^find/.test(e);o&&(_r.prototype[e]=function(){var e=this.__wrapped__,s=r?[1]:arguments,u=e instanceof Ar,c=s[0],f=u||sf(e),l=function(t){var e=o.apply(_r,Fn([t],s));return r&&p?e[0]:e};f&&n&&"function"==typeof c&&1!=c.length&&(u=f=!1);var p=this.__chain__,h=!!this.__actions__.length,d=a&&!p,v=u&&!h;if(!a&&f){e=v?e:new Ar(this);var g=t.apply(e,s);return g.__actions__.push({func:Vu,args:[l],thisArg:i}),new Dr(g,p)}return d&&v?t.apply(this,s):(g=this.thru(l),d?r?g.value()[0]:g.value():g)})})),wn(["pop","push","shift","sort","splice","unshift"],(function(t){var e=ae[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);_r.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var o=this.value();return e.apply(sf(o)?o:[],t)}return this[n]((function(n){return e.apply(sf(n)?n:[],t)}))}})),Oo(Ar.prototype,(function(t,e){var n=_r[e];if(n){var r=n.name+"";le.call(cn,r)||(cn[r]=[]),cn[r].push({name:e,func:n})}})),cn[ba(i,y).name]=[{name:"wrapper",func:i}],Ar.prototype.clone=Cr,Ar.prototype.reverse=Sr,Ar.prototype.value=Fr,_r.prototype.at=Wu,_r.prototype.chain=Gu,_r.prototype.commit=Yu,_r.prototype.next=Xu,_r.prototype.plant=Ku,_r.prototype.reverse=Zu,_r.prototype.toJSON=_r.prototype.valueOf=_r.prototype.value=Qu,_r.prototype.first=_r.prototype.head,Se&&(_r.prototype[Se]=Ju),_r},wr=_r();sn._=wr,o=function(){return wr}.call(e,n,e,r),o===i||(r.exports=o)}).call(this)}).call(this,n("c8ba"),n("62e4")(t))},"2f5a":function(t,e,n){var r,o,i,a=n("96e9"),s=n("3ac6"),u=n("dfdb"),c=n("0273"),f=n("78e7"),l=n("b2ed"),p=n("6e9a"),h=s.WeakMap,d=function(t){return i(t)?o(t):r(t,{})},v=function(t){return function(e){var n;if(!u(e)||(n=o(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}};if(a){var g=new h,b=g.get,m=g.has,y=g.set;r=function(t,e){return y.call(g,t,e),e},o=function(t){return b.call(g,t)||{}},i=function(t){return m.call(g,t)}}else{var _=l("state");p[_]=!0,r=function(t,e){return c(t,_,e),e},o=function(t){return f(t,_)?t[_]:{}},i=function(t){return f(t,_)}}t.exports={set:r,get:o,has:i,enforce:d,getterFor:v}},"2f74":function(t,e,n){var r=n("68ec");t.exports=r},"2f97":function(t,e,n){var r=n("dfdb");t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},"2fa7":function(t,e,n){"use strict";var r=n("1bd5"),o=n("2d80");o(e,"__esModule",{value:!0}),e.default=a;var i=r(n("85d3"));function a(t,e,n){return e in t?(0,i.default)(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},"2fcc":function(t,e){function n(t){var e=this.__data__,n=e["delete"](t);return this.size=e.size,n}t.exports=n},3002:function(t,e,n){t.exports=n("96a8")},3022:function(t,e,n){(function(t){var r=Object.getOwnPropertyDescriptors||function(t){for(var e=Object.keys(t),n={},r=0;r=i)return t;switch(t){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return t}})),u=r[n];n=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),m(n)?r.showHidden=n:n&&e._extend(r,n),D(r.showHidden)&&(r.showHidden=!1),D(r.depth)&&(r.depth=2),D(r.colors)&&(r.colors=!1),D(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=u),l(r,t,r.depth)}function u(t,e){var n=s.styles[e];return n?"["+s.colors[n][0]+"m"+t+"["+s.colors[n][1]+"m":t}function c(t,e){return t}function f(t){var e={};return t.forEach((function(t,n){e[t]=!0})),e}function l(t,n,r){if(t.customInspect&&n&&k(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var o=n.inspect(r,t);return x(o)||(o=l(t,o,r)),o}var i=p(t,n);if(i)return i;var a=Object.keys(n),s=f(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(n)),F(n)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return h(n);if(0===a.length){if(k(n)){var u=n.name?": "+n.name:"";return t.stylize("[Function"+u+"]","special")}if(A(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(S(n))return t.stylize(Date.prototype.toString.call(n),"date");if(F(n))return h(n)}var c,m="",y=!1,_=["{","}"];if(b(n)&&(y=!0,_=["[","]"]),k(n)){var w=n.name?": "+n.name:"";m=" [Function"+w+"]"}return A(n)&&(m=" "+RegExp.prototype.toString.call(n)),S(n)&&(m=" "+Date.prototype.toUTCString.call(n)),F(n)&&(m=" "+h(n)),0!==a.length||y&&0!=n.length?r<0?A(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special"):(t.seen.push(n),c=y?d(t,n,r,s,a):a.map((function(e){return v(t,n,r,s,e,y)})),t.seen.pop(),g(c,m,_)):_[0]+m+_[1]}function p(t,e){if(D(e))return t.stylize("undefined","undefined");if(x(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}return w(e)?t.stylize(""+e,"number"):m(e)?t.stylize(""+e,"boolean"):y(e)?t.stylize("null","null"):void 0}function h(t){return"["+Error.prototype.toString.call(t)+"]"}function d(t,e,n,r,o){for(var i=[],a=0,s=e.length;a-1&&(s=i?s.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+s.split("\n").map((function(t){return" "+t})).join("\n"))):s=t.stylize("[Circular]","special")),D(a)){if(i&&o.match(/^\d+$/))return s;a=JSON.stringify(""+o),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"))}return a+": "+s}function g(t,e,n){var r=t.reduce((function(t,e){return e.indexOf("\n")>=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0);return r>60?n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+n[1]:n[0]+e+" "+t.join(", ")+" "+n[1]}function b(t){return Array.isArray(t)}function m(t){return"boolean"===typeof t}function y(t){return null===t}function _(t){return null==t}function w(t){return"number"===typeof t}function x(t){return"string"===typeof t}function E(t){return"symbol"===typeof t}function D(t){return void 0===t}function A(t){return C(t)&&"[object RegExp]"===T(t)}function C(t){return"object"===typeof t&&null!==t}function S(t){return C(t)&&"[object Date]"===T(t)}function F(t){return C(t)&&("[object Error]"===T(t)||t instanceof Error)}function k(t){return"function"===typeof t}function O(t){return null===t||"boolean"===typeof t||"number"===typeof t||"string"===typeof t||"symbol"===typeof t||"undefined"===typeof t}function T(t){return Object.prototype.toString.call(t)}function R(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(n){if(D(i)&&(i=Object({NODE_ENV:"production",BASE_URL:""}).NODE_DEBUG||""),n=n.toUpperCase(),!a[n])if(new RegExp("\\b"+n+"\\b","i").test(i)){var r=t.pid;a[n]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",n,r,t)}}else a[n]=function(){};return a[n]},e.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=b,e.isBoolean=m,e.isNull=y,e.isNullOrUndefined=_,e.isNumber=w,e.isString=x,e.isSymbol=E,e.isUndefined=D,e.isRegExp=A,e.isObject=C,e.isDate=S,e.isError=F,e.isFunction=k,e.isPrimitive=O,e.isBuffer=n("d60a");var L=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function j(){var t=new Date,e=[R(t.getHours()),R(t.getMinutes()),R(t.getSeconds())].join(":");return[t.getDate(),L[t.getMonth()],e].join(" ")}function P(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",j(),e.format.apply(e,arguments))},e.inherits=n("28a0"),e._extend=function(t,e){if(!e||!C(e))return t;var n=Object.keys(e),r=n.length;while(r--)t[n[r]]=e[n[r]];return t};var N="undefined"!==typeof Symbol?Symbol("util.promisify.custom"):void 0;function I(t,e){if(!t){var n=new Error("Promise was rejected with a falsy value");n.reason=t,t=n}return e(t)}function B(e){if("function"!==typeof e)throw new TypeError('The "original" argument must be of type Function');function n(){for(var n=[],r=0;r0)e.network.cap.requested=o(d=e.network.cap.requested).call(d,r);"*"!==t.params[2]&&(e.network.cap.requested.length>0?(e.network.cap.negotiating=!0,e.connection.write("CAP REQ :"+e.network.cap.requested.join(" "))):(e.connection.write("CAP END"),e.network.cap.negotiating=!1));break;case"ACK":var v;if(c.length>0)e.network.cap.enabled=f.uniq(o(v=e.network.cap.enabled).call(v,c)),e.network.cap.requested=f.difference(e.network.cap.requested,c);e.network.cap.negotiating&&(e.network.cap.isEnabled("sasl")?"string"===typeof e.connection.options.sasl_mechanism?e.connection.write("AUTHENTICATE "+e.connection.options.sasl_mechanism):e.connection.write("AUTHENTICATE PLAIN"):0===e.network.cap.requested.length&&(e.connection.write("CAP END"),e.network.cap.negotiating=!1));break;case"NAK":c.length>0&&(e.network.cap.requested=f.difference(e.network.cap.requested,c)),e.network.cap.negotiating&&0===e.network.cap.requested.length&&(e.connection.write("CAP END"),e.network.cap.negotiating=!1);break;case"LIST":break;case"NEW":r=[];for(var g=0;g-1&&-1===i(r).call(r,b)&&!e.network.cap.isEnabled(b)&&(e.network.cap.requested.push(b),r.push(b))}e.connection.write("CAP REQ :"+r.join(" "));break;case"DEL":e.network.cap.enabled=f.difference(e.network.cap.enabled,c);break}e.emit("cap "+t.params[1].toLowerCase(),{command:t.params[1],capabilities:u})},AUTHENTICATE:function(t,n){if("+"===t.params[0])if("EXTERNAL"!==n.connection.options.sasl_mechanism){var o=p(n),i=o.account+"\0"+o.account+"\0"+o.password,a=e.from(i,"utf8"),s=a.toString("base64");while(s.length>=400)n.connection.write("AUTHENTICATE "+r(s).call(s,0,399)),s=r(s).call(s,399);s.length>0?n.connection.write("AUTHENTICATE "+s):n.connection.write("AUTHENTICATE +")}else n.connection.write("AUTHENTICATE +");else n.network.cap.negotiating&&(n.connection.write("CAP END"),n.network.cap.negotiating=!1)},RPL_LOGGEDIN:function(t,e){!0===e.network.cap.negotiating&&(e.connection.write("CAP END"),e.network.cap.negotiating=!1);var n=c.parseMask(t.params[1]),r=t.getServerTime();e.emit("loggedin",{nick:t.params[0],ident:n.user,hostname:n.host,account:t.params[2],time:r,tags:t.tags}),e.emit("account",{nick:t.params[0],ident:n.user,hostname:n.host,account:t.params[2],time:r,tags:t.tags})},RPL_LOGGEDOUT:function(t,e){var n=c.parseMask(t.params[1]),r=t.getServerTime();e.emit("loggedout",{nick:t.params[0],ident:n.user,hostname:n.host,account:!1,time:r,tags:t.tags}),e.emit("account",{nick:t.params[0],ident:n.user,hostname:n.host,account:!1,time:r,tags:t.tags})},RPL_SASLLOGGEDIN:function(t,e){!0===e.network.cap.negotiating&&(e.connection.write("CAP END"),e.network.cap.negotiating=!1)},ERR_SASLNOTAUTHORISED:function(t,e){e.network.cap.negotiating&&(e.connection.write("CAP END"),e.network.cap.negotiating=!1)},ERR_SASLABORTED:function(t,e){e.network.cap.negotiating&&(e.connection.write("CAP END"),e.network.cap.negotiating=!1)},ERR_SASLALREADYAUTHED:function(t,e){}};function p(t){var e=t.connection.options;return e.account&&e.account.account?{account:e.account.account,password:e.account.password||""}:e.account?null:e.password?{account:e.nick,password:e.password}:null}t.exports=function(t){f.each(l,(function(e,n){t.addHandler(n,e)}))}}).call(this,n("b639").Buffer)},3789:function(t,e,n){var r=n("6286"),o=n("285e"),i=n("111b"),a=n("29fb");function s(t){var e=i(t),n=a[e];if("function"!=typeof n||!(e in r.prototype))return!1;if(t===n)return!0;var s=o(n);return!!s&&t===s[0]}t.exports=s},"37e8":function(t,e,n){var r=n("83ab"),o=n("9bf2"),i=n("825a"),a=n("df75");t.exports=r?Object.defineProperties:function(t,e){i(t);var n,r=a(e),s=r.length,u=0;while(s>u)o.f(t,n=r[u++],e[n]);return t}},3811:function(t,e,n){"use strict";var r=n("1bd5"),o=n("2d80");o(e,"__esModule",{value:!0}),e.default=u;var i=r(n("a06f")),a=r(n("ad99")),s=r(n("5ebd"));function u(t,e){var n;if(t){if("string"===typeof t)return(0,s.default)(t,e);var r=(0,a.default)(n=Object.prototype.toString.call(t)).call(n,8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?(0,i.default)(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?(0,s.default)(t,e):void 0}}},3818:function(t,e,n){t.exports=n("2ec7")},38184:function(t,e,n){var r=n("7e64"),o=n("8057"),i=n("32b3"),a=n("5b01"),s=n("0f0f"),u=n("e5383"),c=n("4359"),f=n("54eb"),l=n("1041"),p=n("a994"),h=n("1bac"),d=n("42a2"),v=n("c87c"),g=n("c2b6"),b=n("fa21"),m=n("6747"),y=n("0d24"),_=n("cc45"),w=n("1a8c"),x=n("d7ee"),E=n("ec69"),D=1,A=2,C=4,S="[object Arguments]",F="[object Array]",k="[object Boolean]",O="[object Date]",T="[object Error]",R="[object Function]",L="[object GeneratorFunction]",j="[object Map]",P="[object Number]",N="[object Object]",I="[object RegExp]",B="[object Set]",M="[object String]",U="[object Symbol]",$="[object WeakMap]",q="[object ArrayBuffer]",z="[object DataView]",H="[object Float32Array]",V="[object Float64Array]",W="[object Int8Array]",G="[object Int16Array]",Y="[object Int32Array]",X="[object Uint8Array]",J="[object Uint8ClampedArray]",K="[object Uint16Array]",Z="[object Uint32Array]",Q={};function tt(t,e,n,F,k,O){var T,j=e&D,P=e&A,I=e&C;if(n&&(T=k?n(t,F,k,O):n(t)),void 0!==T)return T;if(!w(t))return t;var B=m(t);if(B){if(T=v(t),!j)return c(t,T)}else{var M=d(t),U=M==R||M==L;if(y(t))return u(t,j);if(M==N||M==S||U&&!k){if(T=P||U?{}:b(t),!j)return P?l(t,s(T,t)):f(t,a(T,t))}else{if(!Q[M])return k?t:{};T=g(t,M,j)}}O||(O=new r);var $=O.get(t);if($)return $;O.set(t,T),x(t)?t.forEach((function(r){T.add(tt(r,e,n,r,t,O))})):_(t)&&t.forEach((function(r,o){T.set(o,tt(r,e,n,o,t,O))}));var q=I?P?h:p:P?keysIn:E,z=B?void 0:q(t);return o(z||t,(function(r,o){z&&(o=r,r=t[o]),i(T,o,tt(r,e,n,o,t,O))})),T}Q[S]=Q[F]=Q[q]=Q[z]=Q[k]=Q[O]=Q[H]=Q[V]=Q[W]=Q[G]=Q[Y]=Q[j]=Q[P]=Q[N]=Q[I]=Q[B]=Q[M]=Q[U]=Q[X]=Q[J]=Q[K]=Q[Z]=!0,Q[T]=Q[R]=Q[$]=!1,t.exports=tt},"386d":function(t,e,n){var r=n("a5eb"),o=n("8550");r({target:"Array",proto:!0,forced:o!==[].lastIndexOf},{lastIndexOf:o})},"38d8":function(t,e,n){var r=n("a5eb"),o=n("f68f");r({target:"WeakMap",stat:!0},{from:o})},3960:function(t,e,n){t.exports=n("a915")},"397f":function(t,e,n){"use strict";var r=n("c282"),o=n("621f"),i=n("3fb5"),a=n("ada0").EventEmitter,s=n("13c0"),u=function(){};function c(t,e,n){if(!c.enabled())throw new Error("Transport created when disabled");a.call(this),u("constructor",t);var i=this,f=o.addPath(t,"/websocket");f="https"===f.slice(0,5)?"wss"+f.slice(5):"ws"+f.slice(4),this.url=f,this.ws=new s(this.url,[],n),this.ws.onmessage=function(t){u("message event",t.data),i.emit("message",t.data)},this.unloadRef=r.unloadAdd((function(){u("unload"),i.ws.close()})),this.ws.onclose=function(t){u("close event",t.code,t.reason),i.emit("close",t.code,t.reason),i._cleanup()},this.ws.onerror=function(t){u("error event",t),i.emit("close",1006,"WebSocket connection broken"),i._cleanup()}}i(c,a),c.prototype.send=function(t){var e="["+t+"]";u("send",e),this.ws.send(e)},c.prototype.close=function(){u("close");var t=this.ws;this._cleanup(),t&&t.close()},c.prototype._cleanup=function(){u("_cleanup");var t=this.ws;t&&(t.onmessage=t.onclose=t.onerror=null),r.unloadDel(this.unloadRef),this.unloadRef=this.ws=null,this.removeAllListeners()},c.enabled=function(){return u("enabled"),!!s},c.transportName="websocket",c.roundTrips=2,t.exports=c},3980:function(t,e,n){n("d3b7"),n("3ca3"),n("ddb0"),n("e6cf"),n("820e"),n("a79d");var r=n("428f");t.exports=r.Promise},"39ff":function(t,e,n){var r=n("0b07"),o=n("2b3e"),i=r(o,"WeakMap");t.exports=i},"3a7c":function(t,e,n){(function(t){function n(t){return Array.isArray?Array.isArray(t):"[object Array]"===g(t)}function r(t){return"boolean"===typeof t}function o(t){return null===t}function i(t){return null==t}function a(t){return"number"===typeof t}function s(t){return"string"===typeof t}function u(t){return"symbol"===typeof t}function c(t){return void 0===t}function f(t){return"[object RegExp]"===g(t)}function l(t){return"object"===typeof t&&null!==t}function p(t){return"[object Date]"===g(t)}function h(t){return"[object Error]"===g(t)||t instanceof Error}function d(t){return"function"===typeof t}function v(t){return null===t||"boolean"===typeof t||"number"===typeof t||"string"===typeof t||"symbol"===typeof t||"undefined"===typeof t}function g(t){return Object.prototype.toString.call(t)}e.isArray=n,e.isBoolean=r,e.isNull=o,e.isNullOrUndefined=i,e.isNumber=a,e.isString=s,e.isSymbol=u,e.isUndefined=c,e.isRegExp=f,e.isObject=l,e.isDate=p,e.isError=h,e.isFunction=d,e.isPrimitive=v,e.isBuffer=t.isBuffer}).call(this,n("b639").Buffer)},"3ac6":function(t,e,n){(function(e){var n=function(t){return t&&t.Math==Math&&t};t.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||Function("return this")()}).call(this,n("c8ba"))},"3b4a":function(t,e,n){var r=n("0b07"),o=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();t.exports=o},"3b4c":function(t,e,n){t.exports=n("abf2")},"3b7b":function(t,e,n){n("bbe3");var r=n("a169");t.exports=r("Array").indexOf},"3bb4":function(t,e,n){var r=n("08cc"),o=n("ec69");function i(t){var e=o(t),n=e.length;while(n--){var i=e[n],a=t[i];e[n]=[i,a,r(a)]}return e}t.exports=i},"3bbe":function(t,e,n){var r=n("861d");t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},"3c35":function(t,e){(function(e){t.exports=e}).call(this,{})},"3c9f":function(t,e,n){var r=n("0ca2");t.exports=r},"3ca3":function(t,e,n){"use strict";var r=n("6547").charAt,o=n("69f3"),i=n("7dd0"),a="String Iterator",s=o.set,u=o.getterFor(a);i(String,"String",(function(t){s(this,{type:a,string:String(t),index:0})}),(function(){var t,e=u(this),n=e.string,o=e.index;return o>=n.length?{value:void 0,done:!0}:(t=r(n,o),e.index+=t.length,{value:t,done:!1})}))},"3e1e":function(t,e,n){"use strict";(function(e){var r=n("3fb5"),o=n("7577"),i=n("1548"),a=n("df09"),s=n("73aa"),u=n("26a0");function c(t){if(!s.enabled&&!a.enabled)throw new Error("Transport created when disabled");o.call(this,t,"/xhr_streaming",i,a)}r(c,o),c.enabled=function(t){return!t.nullOrigin&&(!u.isOpera()&&a.enabled)},c.transportName="xhr-streaming",c.roundTrips=2,c.needBody=!!e.document,t.exports=c}).call(this,n("c8ba"))},"3e47":function(t,e,n){"use strict";var r=n("cbd0").charAt,o=n("2f5a"),i=n("4056"),a="String Iterator",s=o.set,u=o.getterFor(a);i(String,"String",(function(t){s(this,{type:a,string:String(t),index:0})}),(function(){var t,e=u(this),n=e.string,o=e.index;return o>=n.length?{value:void 0,done:!0}:(t=r(n,o),e.index+=t.length,{value:t,done:!1})}))},"3e476":function(t,e,n){var r=n("a5eb"),o=n("c1b2"),i=n("4180");r({target:"Object",stat:!0,forced:!o,sham:!o},{defineProperty:i.f})},"3e80":function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++n+r).toString(36)}},"3f18":function(t,e,n){t.exports=n("8b72")},"3f8c":function(t,e){t.exports={}},"3fb5":function(t,e){"function"===typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}}},4035:function(t,e,n){var r=n("e332");t.exports=r},4056:function(t,e,n){"use strict";var r=n("a5eb"),o=n("f575"),i=n("5779"),a=n("ec62"),s=n("2874"),u=n("0273"),c=n("d666"),f=n("0363"),l=n("7042"),p=n("7463"),h=n("bb83"),d=h.IteratorPrototype,v=h.BUGGY_SAFARI_ITERATORS,g=f("iterator"),b="keys",m="values",y="entries",_=function(){return this};t.exports=function(t,e,n,f,h,w,x){o(n,e,f);var E,D,A,C=function(t){if(t===h&&T)return T;if(!v&&t in k)return k[t];switch(t){case b:return function(){return new n(this,t)};case m:return function(){return new n(this,t)};case y:return function(){return new n(this,t)}}return function(){return new n(this)}},S=e+" Iterator",F=!1,k=t.prototype,O=k[g]||k["@@iterator"]||h&&k[h],T=!v&&O||C(h),R="Array"==e&&k.entries||O;if(R&&(E=i(R.call(new t)),d!==Object.prototype&&E.next&&(l||i(E)===d||(a?a(E,d):"function"!=typeof E[g]&&u(E,g,_)),s(E,S,!0,!0),l&&(p[S]=_))),h==m&&O&&O.name!==m&&(F=!0,T=function(){return O.call(this)}),l&&!x||k[g]===T||u(k,g,T),p[e]=T,h)if(D={values:C(m),keys:w?T:C(b),entries:C(y)},x)for(A in D)(v||F||!(A in k))&&c(k,A,D[A]);else r({target:e,proto:!0,forced:v||F},D);return D}},"406d":function(t,e,n){"use strict";t.exports=function(){var t=arguments.length,e=new Array(t);while(t--)e[t]=arguments[t];return new this(e)}},"40b2":function(t,e,n){"use strict";var r=n("3fb5"),o=n("54d6"),i=n("73aa"),a=n("7577");function s(t){if(!o.enabled)throw new Error("Transport created when disabled");a.call(this,t,"/htmlfile",o,i)}r(s,a),s.enabled=function(t){return o.enabled&&t.sameOrigin},s.transportName="htmlfile",s.roundTrips=2,t.exports=s},"410b":function(t,e,n){"use strict";var r=n("a5eb"),o=n("dee0").map,i=n("9c96"),a=n("302b"),s=i("map"),u=a("map");r({target:"Array",proto:!0,forced:!s||!u},{map:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},4160:function(t,e,n){"use strict";var r=n("23e7"),o=n("17c2");r({target:"Array",proto:!0,forced:[].forEach!=o},{forEach:o})},4180:function(t,e,n){var r=n("c1b2"),o=n("77b2"),i=n("6f8d"),a=n("7168"),s=Object.defineProperty;e.f=r?s:function(t,e,n){if(i(t),e=a(e,!0),i(n),o)try{return s(t,e,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},"41c3":function(t,e,n){var r=n("1a8c"),o=n("eac5"),i=n("ec8c"),a=Object.prototype,s=a.hasOwnProperty;function u(t){if(!r(t))return i(t);var e=o(t),n=[];for(var a in t)("constructor"!=a||!e&&s.call(t,a))&&n.push(a);return n}t.exports=u},4202:function(t,e,n){n("147b");var r=n("a169");t.exports=r("Array").filter},4245:function(t,e,n){var r=n("1290");function o(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map}t.exports=o},4284:function(t,e){function n(t,e){var n=-1,r=null==t?0:t.length;while(++n1?arguments[1]:void 0,m=void 0!==b,y=c(d),_=0;if(m&&(b=r(b,g>2?arguments[2]:void 0,2)),void 0==y||v==Array&&a(y))for(e=s(d.length),n=new v(e);e>_;_++)h=m?b(d[_],_):d[_],u(n,_,h);else for(l=y.call(d),p=l.next,n=new v;!(f=p.call(l)).done;_++)h=m?i(l,b,[f.value,_],!0):f.value,u(n,_,h);return n.length=_,n}},"47c7":function(t,e,n){t.exports=n("cdb4")},"47da":function(t,e,n){n("5adb");var r=n("764b");t.exports=r.Object.getOwnPropertyDescriptors},"47e4":function(t,e,n){"use strict";var r=n("3fb5"),o=n("9a83");function i(t){o.call(this),this.initEvent("message",!1,!1),this.data=t}r(i,o),t.exports=i},"47f5":function(t,e,n){var r=n("2b03"),o=n("d9a8"),i=n("099a");function a(t,e,n){return e===e?i(t,e,n):r(t,o,n)}t.exports=a},4840:function(t,e,n){var r=n("825a"),o=n("1c0b"),i=n("b622"),a=i("species");t.exports=function(t,e){var n,i=r(t).constructor;return void 0===i||void 0==(n=r(i)[a])?e:o(n)}},"484e":function(t,e,n){var r=n("a5eb"),o=n("471b"),i=n("7de7"),a=!i((function(t){Array.from(t)}));r({target:"Array",stat:!0,forced:a},{from:o})},"486c":function(t,e,n){"use strict";(function(e){n("7725");var r,o=n("1816"),i=n("3fb5"),a=n("930c"),s=n("2582"),u=n("84fc"),c=n("621f"),f=n("c282"),l=n("0040"),p=n("d5e5"),h=n("26a0"),d=n("48cd"),v=n("9a83"),g=n("97a2"),b=n("a0e2"),m=n("e362"),y=n("47e4"),_=n("b9a8"),w=function(){};function x(t,e,n){if(!(this instanceof x))return new x(t,e,n);if(arguments.length<1)throw new TypeError("Failed to construct 'SockJS: 1 argument required, but only 0 present");g.call(this),this.readyState=x.CONNECTING,this.extensions="",this.protocol="",n=n||{},n.protocols_whitelist&&d.warn("'protocols_whitelist' is DEPRECATED. Use 'transports' instead."),this._transportsWhitelist=n.transports,this._transportOptions=n.transportOptions||{},this._timeout=n.timeout||0;var r=n.sessionId||8;if("function"===typeof r)this._generateSessionId=r;else{if("number"!==typeof r)throw new TypeError("If sessionId is used in the options, it needs to be a number or a function.");this._generateSessionId=function(){return s.string(r)}}this._server=n.server||s.numberString(1e3);var i=new o(t);if(!i.host||!i.protocol)throw new SyntaxError("The URL '"+t+"' is invalid");if(i.hash)throw new SyntaxError("The URL must not contain a fragment");if("http:"!==i.protocol&&"https:"!==i.protocol)throw new SyntaxError("The URL's scheme must be either 'http:' or 'https:'. '"+i.protocol+"' is not allowed.");var a="https:"===i.protocol;if("https:"===b.protocol&&!a)throw new Error("SecurityError: An insecure SockJS connection may not be initiated from a page loaded over HTTPS");e?Array.isArray(e)||(e=[e]):e=[];var u=e.sort();u.forEach((function(t,e){if(!t)throw new SyntaxError("The protocols entry '"+t+"' is invalid.");if(e=3e3&&t<=4999}i(x,g),x.prototype.close=function(t,e){if(t&&!E(t))throw new Error("InvalidAccessError: Invalid code");if(e&&e.length>123)throw new SyntaxError("reason argument has an invalid length");if(this.readyState!==x.CLOSING&&this.readyState!==x.CLOSED){var n=!0;this._close(t||1e3,e||"Normal closure",n)}},x.prototype.send=function(t){if("string"!==typeof t&&(t=""+t),this.readyState===x.CONNECTING)throw new Error("InvalidStateError: The connection has not been established yet");this.readyState===x.OPEN&&this._transport.send(u.quote(t))},x.version=n("1015"),x.CONNECTING=0,x.OPEN=1,x.CLOSING=2,x.CLOSED=3,x.prototype._receiveInfo=function(t,e){if(w("_receiveInfo",e),this._ir=null,t){this._rto=this.countRTO(e),this._transUrl=t.base_url?t.base_url:this.url,t=p.extend(t,this._urlInfo),w("info",t);var n=r.filterToEnabled(this._transportsWhitelist,t);this._transports=n.main,w(this._transports.length+" enabled transports"),this._connect()}else this._close(1002,"Cannot connect to server")},x.prototype._connect=function(){for(var t=this._transports.shift();t;t=this._transports.shift()){if(w("attempt",t.transportName),t.needBody&&(!e.document.body||"undefined"!==typeof e.document.readyState&&"complete"!==e.document.readyState&&"interactive"!==e.document.readyState))return w("waiting for body"),this._transports.unshift(t),void f.attachEvent("load",this._connect.bind(this));var n=Math.max(this._timeout,this._rto*t.roundTrips||5e3);this._transportTimeoutId=setTimeout(this._transportTimeout.bind(this),n),w("using timeout",n);var r=c.addPath(this._transUrl,"/"+this._server+"/"+this._generateSessionId()),o=this._transportOptions[t.transportName];w("transport url",r);var i=new t(r,this._transUrl,o);return i.on("message",this._transportMessage.bind(this)),i.once("close",this._transportClose.bind(this)),i.transportName=t.transportName,void(this._transport=i)}this._close(2e3,"All transports failed",!1)},x.prototype._transportTimeout=function(){w("_transportTimeout"),this.readyState===x.CONNECTING&&(this._transport&&this._transport.close(),this._transportClose(2007,"Transport timed out"))},x.prototype._transportMessage=function(t){w("_transportMessage",t);var e,n=this,r=t.slice(0,1),o=t.slice(1);switch(r){case"o":return void this._open();case"h":return this.dispatchEvent(new v("heartbeat")),void w("heartbeat",this.transport)}if(o)try{e=a.parse(o)}catch(i){w("bad json",o)}if("undefined"!==typeof e)switch(r){case"a":Array.isArray(e)&&e.forEach((function(t){w("message",n.transport,t),n.dispatchEvent(new y(t))}));break;case"m":w("message",this.transport,e),this.dispatchEvent(new y(e));break;case"c":Array.isArray(e)&&2===e.length&&this._close(e[0],e[1],!0);break}else w("empty payload",o)},x.prototype._transportClose=function(t,e){w("_transportClose",this.transport,t,e),this._transport&&(this._transport.removeAllListeners(),this._transport=null,this.transport=null),E(t)||2e3===t||this.readyState!==x.CONNECTING?this._close(t,e):this._connect()},x.prototype._open=function(){w("_open",this._transport&&this._transport.transportName,this.readyState),this.readyState===x.CONNECTING?(this._transportTimeoutId&&(clearTimeout(this._transportTimeoutId),this._transportTimeoutId=null),this.readyState=x.OPEN,this.transport=this._transport.transportName,this.dispatchEvent(new v("open")),w("connected",this.transport)):this._close(1006,"Server lost session")},x.prototype._close=function(t,e,n){w("_close",this.transport,t,e,n,this.readyState);var r=!1;if(this._ir&&(r=!0,this._ir.close(),this._ir=null),this._transport&&(this._transport.close(),this._transport=null,this.transport=null),this.readyState===x.CLOSED)throw new Error("InvalidStateError: SockJS has already been closed");this.readyState=x.CLOSING,setTimeout(function(){this.readyState=x.CLOSED,r&&this.dispatchEvent(new v("error"));var o=new m("close");o.wasClean=n||!1,o.code=t||1e3,o.reason=e,this.dispatchEvent(o),this.onmessage=this.onclose=this.onerror=null,w("disconnected")}.bind(this),0)},x.prototype.countRTO=function(t){return t>100?4*t:300+t},t.exports=function(t){return r=l(t),n("9fa7")(x,t),x}}).call(this,n("c8ba"))},4896:function(t,e,n){var r,o=n("6f8d"),i=n("c230"),a=n("9e57"),s=n("6e9a"),u=n("edbd"),c=n("7a37"),f=n("b2ed"),l=">",p="<",h="prototype",d="script",v=f("IE_PROTO"),g=function(){},b=function(t){return p+d+l+t+p+"/"+d+l},m=function(t){t.write(b("")),t.close();var e=t.parentWindow.Object;return t=null,e},y=function(){var t,e=c("iframe"),n="java"+d+":";return e.style.display="none",u.appendChild(e),e.src=String(n),t=e.contentWindow.document,t.open(),t.write(b("document.F=Object")),t.close(),t.F},_=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(e){}_=r?m(r):y();var t=a.length;while(t--)delete _[h][a[t]];return _()};s[v]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(g[h]=o(t),n=new g,g[h]=null,n[v]=t):n=_(),void 0===e?n:i(n,e)}},"48a0":function(t,e,n){var r=n("242e"),o=n("950a"),i=o(r);t.exports=i},"48cd":function(t,e,n){"use strict";(function(e){var n={};["log","debug","warn"].forEach((function(t){var r;try{r=e.console&&e.console[t]&&e.console[t].apply}catch(o){}n[t]=r?function(){return e.console[t].apply(e.console,arguments)}:"log"===t?function(){}:n.log})),t.exports=n}).call(this,n("c8ba"))},4929:function(t,e,n){var r=n("e332");t.exports=r},4930:function(t,e,n){var r=n("d039");t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},"493c":function(t,e,n){t.exports=n("fcb0")},4947:function(t,e,n){var r=n("fdbcb");t.exports=r},"49f4":function(t,e,n){var r=n("6044");function o(){this.__data__=r?r(null):{},this.size=0}t.exports=o},"4a68":function(t,e){var n="Expected a function";function r(t,e,r){if("function"!=typeof t)throw new TypeError(n);return setTimeout((function(){t.apply(void 0,r)}),e)}t.exports=r},"4aa6":function(t,e,n){var r,o,i=n("3ac6"),a=n("9717"),s=i.process,u=s&&s.versions,c=u&&u.v8;c?(r=c.split("."),o=r[0]+r[1]):a&&(r=a.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/),r&&(o=r[1]))),t.exports=o&&+o},"4ae1":function(t,e,n){var r=n("23e7"),o=n("d066"),i=n("1c0b"),a=n("825a"),s=n("861d"),u=n("7c73"),c=n("0538"),f=n("d039"),l=o("Reflect","construct"),p=f((function(){function t(){}return!(l((function(){}),[],t)instanceof t)})),h=!f((function(){l((function(){}))})),d=p||h;r({target:"Reflect",stat:!0,forced:d,sham:d},{construct:function(t,e){i(t),a(e);var n=arguments.length<3?t:i(arguments[2]);if(h&&!p)return l(t,e,n);if(t==n){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var r=[null];return r.push.apply(r,e),new(c.apply(t,r))}var o=n.prototype,f=u(s(o)?o:Object.prototype),d=Function.apply.call(t,f,e);return s(d)?d:f}})},"4b17":function(t,e,n){var r=n("6428");function o(t){var e=r(t),n=e%1;return e===e?n?e-n:e:0}t.exports=o},"4b3b":function(t,e,n){"use strict";var r=n("4573"),o=n("3393"),i=n("52da"),a=n("14b1"),s=n("65b8"),u=n("e4f0"),c=n("9474");n("4de4"),n("4160"),n("c975"),n("a15b"),n("d81d"),n("fb6a"),n("a434"),n("ac1f"),n("1276"),n("159b");var f={each:n("c641"),clone:n("b8ce"),map:n("dd61")},l={RPL_LISTSTART:function(t,e){var n=p(e);n.channels=[],e.emit("channel list start")},RPL_LISTEND:function(t,e){var n=p(e);n.channels.length&&(e.emit("channel list",n.channels),n.channels=[]),n.destroy(),e.emit("channel list end")},RPL_LIST:function(t,e){var n=p(e);n.channels.push({channel:t.params[1],num_users:c(t.params[2],10),topic:t.params[3]||"",tags:t.tags}),n.channels.length>=50&&(e.emit("channel list",n.channels),n.channels=[])},RPL_MOTD:function(t,e){var n=e.cache("motd");n.motd+=t.params[t.params.length-1]+"\n"},RPL_MOTDSTART:function(t,e){var n=e.cache("motd");n.motd=""},RPL_ENDOFMOTD:function(t,e){var n=e.cache("motd");e.emit("motd",{motd:n.motd,tags:t.tags}),n.destroy()},ERR_NOMOTD:function(t,e){var n=f.clone(t.params);n.shift(),e.emit("motd",{error:t.params[t.params.length-1],tags:t.tags})},RPL_WHOREPLY:function(t,e){var n=e.cache("who");n.members||(n.members=[]);var r=t.params,o="G"===r[6][0].toUpperCase(),i=e.network.options.PREFIX,l=u(i).call(i,(function(t){var e;return s(e=r[6]).call(e,t.symbol)>-1})),p=a(f).call(f,l,"mode"),h=0,d=r[7],v=s(d).call(d," ");v>-1&&(h=c(d.substr(0,v),10),d=d.substr(v+1)),n.members.push({nick:r[5],ident:r[2],hostname:r[3],server:r[4],real_name:d,away:o,num_hops_away:h,channel:r[1],channel_modes:p,tags:t.tags})},RPL_WHOSPCRPL:function(t,e){var n=e.cache("who");n.members||(n.members=[]);var r=t.params,o="G"===r[6][0].toUpperCase(),i=e.network.options.PREFIX,l=u(i).call(i,(function(t){var e;return s(e=r[6]).call(e,t.symbol)>-1})),p=a(f).call(f,l,"mode"),h=/^[0-9]+$/.test(r[9])?c(r[9],10):0;n.members.push({nick:r[5],ident:r[2],hostname:r[3],server:r[4],op_level:h,real_name:r[10],account:"0"===r[8]?"":r[8],away:o,num_hops_away:c(r[7],10),channel:r[1],channel_modes:p,tags:t.tags})},RPL_ENDOFWHO:function(t,e){var n=e.cache("who");e.emit("wholist",{target:t.params[1],users:n.members||[]}),n.destroy()},PING:function(t,e){e.connection.write("PONG "+t.params[t.params.length-1])},PONG:function(t,e){var n=t.getServerTime();n&&e.network.addServerTimeOffset(n),e.emit("pong",{message:t.params[1],time:n,tags:t.tags})},MODE:function(t,e){var n,r=t.getServerTime(),o=t.params[1],a=i(n=t.params).call(n,2),s=e.parseModeList(o,a);e.emit("mode",{target:t.params[0],nick:t.nick||t.prefix||"",modes:s,time:r,raw_modes:o,raw_params:a,tags:t.tags})},RPL_LINKS:function(t,e){var n,r=e.cache("links");r.links=r.links||[],r.links.push({address:t.params[1],access_via:t.params[2],hops:c(t.params[3].split(" ")[0]),description:o(n=t.params[3].split(" ")).call(n,1).join(" "),tags:t.tags})},RPL_ENDOFLINKS:function(t,e){var n=e.cache("links");e.emit("server links",{links:n.links}),n.destroy()},RPL_INFO:function(t,e){var n=e.cache("info");n.info||(n.info=""),n.info+=t.params[t.params.length-1]+"\n"},RPL_ENDOFINFO:function(t,e){var n=e.cache("info");e.emit("info",{info:n.info,tags:t.tags}),n.destroy()},RPL_HELPSTART:function(t,e){var n=e.cache("help");n.help=t.params[t.params.length-1]+"\n"},RPL_HELPTXT:function(t,e){var n=e.cache("help");n.help+=t.params[t.params.length-1]+"\n"},RPL_ENDOFHELP:function(t,e){var n=e.cache("help");e.emit("help",{help:n.help,tags:t.tags}),n.destroy()},BATCH:function(t,e){var n,o="+"===t.params[0].substr(0,1),a=t.params[0].substr(1),s="batch."+a;if(a){if(o){var u,c=e.cache(s);return c.commands=[],c.type=t.params[1],void(c.params=i(u=t.params).call(u,2))}if(e.hasCache(s)){var f=e.cache(s),l={id:a,type:f.type,params:f.params,commands:f.commands};f.destroy(),e.emit("batch start",l),e.emit("batch start "+l.type,l),r(n=l.commands).call(n,(function(t){return e.executeCommand(t)})),e.emit("batch end",l),e.emit("batch end "+l.type,l)}}}};function p(t){var e=t.cache("chanlist");return e.channels||(e.channels=[]),e}t.exports=function(t){f.each(l,(function(e,n){t.addHandler(n,e)}))}},"4bf3":function(t,e,n){var r=n("c1b2"),o=n("a016"),i=n("a421"),a=n("7043").f,s=function(t){return function(e){var n,s=i(e),u=o(s),c=u.length,f=0,l=[];while(c>f)n=u[f++],r&&!a.call(s,n)||l.push(t?[n,s[n]]:s[n]);return l}};t.exports={entries:s(!0),values:s(!1)}},"4c06":function(t,e,n){"use strict";var r=n("a5eb"),o=n("e460").left,i=n("9f61"),a=n("302b"),s=i("reduce"),u=a("reduce",{1:0});r({target:"Array",proto:!0,forced:!s||!u},{reduce:function(t){return o(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}})},"4c19":function(t,e,n){var r=n("26aa"),o=Array.prototype;t.exports=function(t){var e=t.concat;return t===o||t instanceof Array&&e===o.concat?r:e}},"4c43":function(t,e,n){t.exports=n("03d2")},"4d64":function(t,e,n){var r=n("fc6a"),o=n("50c4"),i=n("23cb"),a=function(t){return function(e,n,a){var s,u=r(e),c=o(u.length),f=i(a,c);if(t&&n!=n){while(c>f)if(s=u[f++],s!=s)return!0}else for(;c>f;f++)if((t||f in u)&&u[f]===n)return t||f||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},"4de4":function(t,e,n){"use strict";var r=n("23e7"),o=n("b727").filter,i=n("1dde"),a=n("ae40"),s=i("filter"),u=a("filter");r({target:"Array",proto:!0,forced:!s||!u},{filter:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(t,e,n){"use strict";var r=n("0366"),o=n("7b0b"),i=n("9bdd"),a=n("e95a"),s=n("50c4"),u=n("8418"),c=n("35a1");t.exports=function(t){var e,n,f,l,p,h,d=o(t),v="function"==typeof this?this:Array,g=arguments.length,b=g>1?arguments[1]:void 0,m=void 0!==b,y=c(d),_=0;if(m&&(b=r(b,g>2?arguments[2]:void 0,2)),void 0==y||v==Array&&a(y))for(e=s(d.length),n=new v(e);e>_;_++)h=m?b(d[_],_):d[_],u(n,_,h);else for(l=y.call(d),p=l.next,n=new v;!(f=p.call(l)).done;_++)h=m?i(l,b,[f.value,_],!0):f.value,u(n,_,h);return n.length=_,n}},"4e8d":function(t,e,n){var r=n("c44a");n("38d8"),n("6803"),n("61e8"),n("bcfc"),t.exports=r},"4ec9":function(t,e,n){"use strict";var r=n("6d61"),o=n("6566");t.exports=r("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),o)},"4fcb":function(t,e,n){var r=n("ba51"),o=n("da53"),i=n("c1c9"),a=n("fe50");function s(t,e,n){var s=e+"";return i(t,o(s,a(r(s),n)))}t.exports=s},"4fff":function(t,e,n){var r=n("1875");t.exports=function(t){return Object(r(t))}},"505e":function(t,e,n){t.exports=n("17c1")},"50c4":function(t,e,n){var r=n("a691"),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},"50d8":function(t,e){function n(t,e){var n=-1,r=Array(t);while(++n]*>)/g,v=/\$([$&'`]|\d\d?)/g,g=function(t){return void 0===t?t:String(t)};r("replace",2,(function(t,e,n,r){var b=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,m=r.REPLACE_KEEPS_$0,y=b?"$":"$0";return[function(n,r){var o=u(this),i=void 0==n?void 0:n[t];return void 0!==i?i.call(n,o,r):e.call(String(o),n,r)},function(t,r){if(!b&&m||"string"===typeof r&&-1===r.indexOf(y)){var i=n(e,t,this,r);if(i.done)return i.value}var u=o(t),h=String(this),d="function"===typeof r;d||(r=String(r));var v=u.global;if(v){var w=u.unicode;u.lastIndex=0}var x=[];while(1){var E=f(u,h);if(null===E)break;if(x.push(E),!v)break;var D=String(E[0]);""===D&&(u.lastIndex=c(h,a(u.lastIndex),w))}for(var A="",C=0,S=0;S=C&&(A+=h.slice(C,k)+j,C=k+F.length)}return A+h.slice(C)}];function _(t,n,r,o,a,s){var u=r+t.length,c=o.length,f=v;return void 0!==a&&(a=i(a),f=d),e.call(s,f,(function(e,i){var s;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,r);case"'":return n.slice(u);case"<":s=a[i.slice(1,-1)];break;default:var f=+i;if(0===f)return e;if(f>c){var l=h(f/10);return 0===l?e:l<=c?void 0===o[l-1]?i.charAt(1):o[l-1]+i.charAt(1):e}s=o[f-1]}return void 0===s?"":s}))}}))},"53a8":function(t,e){t.exports=r;var n=Object.prototype.hasOwnProperty;function r(){for(var t={},e=0;e5e3,e.debugOut("Socket closed. was_connected="+n+" safely_registered="+o+" requested_disconnect="+e.requested_disconnect),e.connected=!1,e.clearTimers(),e.emit("socket close",t),r=!(e.requested_disconnect||!e.auto_reconnect)&&(!!(e.reconnect_attempts&&e.reconnect_attempts0;this._cbs.onclosetag(this._stack[--t]));this._cbs.onend&&this._cbs.onend()},e.prototype.reset=function(){this._cbs.onreset&&this._cbs.onreset(),this._tokenizer.reset(),this._tagname="",this._attribname="",this._attribs=null,this._stack=[],this._cbs.onparserinit&&this._cbs.onparserinit(this)},e.prototype.parseComplete=function(t){this.reset(),this.end(t)},e.prototype.write=function(t){this._tokenizer.write(t)},e.prototype.end=function(t){this._tokenizer.end(t)},e.prototype.pause=function(){this._tokenizer.pause()},e.prototype.resume=function(){this._tokenizer.resume()},e}(a.EventEmitter);e.Parser=d},"585a":function(t,e,n){(function(e){var n="object"==typeof e&&e&&e.Object===Object&&e;t.exports=n}).call(this,n("c8ba"))},"588c":function(t,e,n){n("5145"),n("3e47");var r=n("59d7");t.exports=r},"58f7":function(t,e){function n(t,e,n,r,o){return o(t,(function(t,o,i){n=r?(r=!1,t):e(n,t,o,i)})),n}t.exports=n},"594a":function(t,e,n){"use strict";var r=n("a5eb"),o=n("dee0").findIndex,i=n("c44e"),a=n("302b"),s="findIndex",u=!0,c=a(s);s in[]&&Array(1)[s]((function(){u=!1})),r({target:"Array",proto:!0,forced:u||!c},{findIndex:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i(s)},"59d7":function(t,e,n){var r=n("8f95"),o=n("0363"),i=n("7463"),a=o("iterator");t.exports=function(t){var e=Object(t);return void 0!==e[a]||"@@iterator"in e||i.hasOwnProperty(r(e))}},"5ab9":function(t,e,n){n("e519");var r=n("764b");t.exports=r.Array.isArray},"5abe":function(t,e){(function(){"use strict";if("object"===typeof window)if("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype)"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}});else{var t=window.document,e=[];r.prototype.THROTTLE_TIMEOUT=100,r.prototype.POLL_INTERVAL=null,r.prototype.USE_MUTATION_OBSERVER=!0,r.prototype.observe=function(t){var e=this._observationTargets.some((function(e){return e.element==t}));if(!e){if(!t||1!=t.nodeType)throw new Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:t,entry:null}),this._monitorIntersections(),this._checkForIntersections()}},r.prototype.unobserve=function(t){this._observationTargets=this._observationTargets.filter((function(e){return e.element!=t})),this._observationTargets.length||(this._unmonitorIntersections(),this._unregisterInstance())},r.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorIntersections(),this._unregisterInstance()},r.prototype.takeRecords=function(){var t=this._queuedEntries.slice();return this._queuedEntries=[],t},r.prototype._initThresholds=function(t){var e=t||[0];return Array.isArray(e)||(e=[e]),e.sort().filter((function(t,e,n){if("number"!=typeof t||isNaN(t)||t<0||t>1)throw new Error("threshold must be a number between 0 and 1 inclusively");return t!==n[e-1]}))},r.prototype._parseRootMargin=function(t){var e=t||"0px",n=e.split(/\s+/).map((function(t){var e=/^(-?\d*\.?\d+)(px|%)$/.exec(t);if(!e)throw new Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(e[1]),unit:e[2]}}));return n[1]=n[1]||n[0],n[2]=n[2]||n[0],n[3]=n[3]||n[1],n},r.prototype._monitorIntersections=function(){this._monitoringIntersections||(this._monitoringIntersections=!0,this.POLL_INTERVAL?this._monitoringInterval=setInterval(this._checkForIntersections,this.POLL_INTERVAL):(a(window,"resize",this._checkForIntersections,!0),a(t,"scroll",this._checkForIntersections,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in window&&(this._domObserver=new MutationObserver(this._checkForIntersections),this._domObserver.observe(t,{attributes:!0,childList:!0,characterData:!0,subtree:!0}))))},r.prototype._unmonitorIntersections=function(){this._monitoringIntersections&&(this._monitoringIntersections=!1,clearInterval(this._monitoringInterval),this._monitoringInterval=null,s(window,"resize",this._checkForIntersections,!0),s(t,"scroll",this._checkForIntersections,!0),this._domObserver&&(this._domObserver.disconnect(),this._domObserver=null))},r.prototype._checkForIntersections=function(){var t=this._rootIsInDom(),e=t?this._getRootRect():f();this._observationTargets.forEach((function(r){var i=r.element,a=c(i),s=this._rootContainsTarget(i),u=r.entry,f=t&&s&&this._computeTargetAndRootIntersection(i,e),l=r.entry=new n({time:o(),target:i,boundingClientRect:a,rootBounds:e,intersectionRect:f});u?t&&s?this._hasCrossedThreshold(u,l)&&this._queuedEntries.push(l):u&&u.isIntersecting&&this._queuedEntries.push(l):this._queuedEntries.push(l)}),this),this._queuedEntries.length&&this._callback(this.takeRecords(),this)},r.prototype._computeTargetAndRootIntersection=function(e,n){if("none"!=window.getComputedStyle(e).display){var r=c(e),o=r,i=p(e),a=!1;while(!a){var s=null,f=1==i.nodeType?window.getComputedStyle(i):{};if("none"==f.display)return;if(i==this.root||i==t?(a=!0,s=n):i!=t.body&&i!=t.documentElement&&"visible"!=f.overflow&&(s=c(i)),s&&(o=u(s,o),!o))break;i=p(i)}return o}},r.prototype._getRootRect=function(){var e;if(this.root)e=c(this.root);else{var n=t.documentElement,r=t.body;e={top:0,left:0,right:n.clientWidth||r.clientWidth,width:n.clientWidth||r.clientWidth,bottom:n.clientHeight||r.clientHeight,height:n.clientHeight||r.clientHeight}}return this._expandRectByRootMargin(e)},r.prototype._expandRectByRootMargin=function(t){var e=this._rootMarginValues.map((function(e,n){return"px"==e.unit?e.value:e.value*(n%2?t.width:t.height)/100})),n={top:t.top-e[0],right:t.right+e[1],bottom:t.bottom+e[2],left:t.left-e[3]};return n.width=n.right-n.left,n.height=n.bottom-n.top,n},r.prototype._hasCrossedThreshold=function(t,e){var n=t&&t.isIntersecting?t.intersectionRatio||0:-1,r=e.isIntersecting?e.intersectionRatio||0:-1;if(n!==r)for(var o=0;o=0&&s>=0&&{top:n,bottom:r,left:o,right:i,width:a,height:s}}function c(t){var e;try{e=t.getBoundingClientRect()}catch(n){}return e?(e.width&&e.height||(e={top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.right-e.left,height:e.bottom-e.top}),e):f()}function f(){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}function l(t,e){var n=e;while(n){if(n==t)return!0;n=p(n)}return!1}function p(t){var e=t.parentNode;return e&&11==e.nodeType&&e.host?e.host:e&&e.assignedSlot?e.assignedSlot.parentNode:e}})()},"5adb":function(t,e,n){var r=n("a5eb"),o=n("c1b2"),i=n("14df"),a=n("a421"),s=n("44ba"),u=n("6c15");r({target:"Object",stat:!0,sham:!o},{getOwnPropertyDescriptors:function(t){var e,n,r=a(t),o=s.f,c=i(r),f={},l=0;while(c.length>l)n=o(r,e=c[l++]),void 0!==n&&u(f,e,n);return f}})},"5afb":function(t,e,n){var r,o,i,a=n("3ac6"),s=n("06fa"),u=n("fc48"),c=n("6414"),f=n("edbd"),l=n("7a37"),p=n("0f59"),h=a.location,d=a.setImmediate,v=a.clearImmediate,g=a.process,b=a.MessageChannel,m=a.Dispatch,y=0,_={},w="onreadystatechange",x=function(t){if(_.hasOwnProperty(t)){var e=_[t];delete _[t],e()}},E=function(t){return function(){x(t)}},D=function(t){x(t.data)},A=function(t){a.postMessage(t+"",h.protocol+"//"+h.host)};d&&v||(d=function(t){var e=[],n=1;while(arguments.length>n)e.push(arguments[n++]);return _[++y]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},r(y),y},v=function(t){delete _[t]},"process"==u(g)?r=function(t){g.nextTick(E(t))}:m&&m.now?r=function(t){m.now(E(t))}:b&&!p?(o=new b,i=o.port2,o.port1.onmessage=D,r=c(i.postMessage,i,1)):!a.addEventListener||"function"!=typeof postMessage||a.importScripts||s(A)||"file:"===h.protocol?r=w in l("script")?function(t){f.appendChild(l("script"))[w]=function(){f.removeChild(this),x(t)}}:function(t){setTimeout(E(t),0)}:(r=A,a.addEventListener("message",D,!1))),t.exports={set:d,clear:v}},"5b01":function(t,e,n){var r=n("8eeb"),o=n("ec69");function i(t,e){return t&&r(e,o(e),t)}t.exports=i},"5b1a":function(t,e,n){t.exports=n("0d26")},"5b57":function(t,e,n){var r=n("6f8d"),o=n("2616"),i=n("6725"),a=n("6414"),s=n("0b7b"),u=n("faaa"),c=function(t,e){this.stopped=t,this.result=e},f=t.exports=function(t,e,n,f,l){var p,h,d,v,g,b,m,y=a(e,n,f?2:1);if(l)p=t;else{if(h=s(t),"function"!=typeof h)throw TypeError("Target is not iterable");if(o(h)){for(d=0,v=i(t.length);v>d;d++)if(g=f?y(r(m=t[d])[0],m[1]):y(t[d]),g&&g instanceof c)return g;return new c(!1)}p=h.call(t)}b=p.next;while(!(m=b.call(p)).done)if(g=u(p,y,m.value,f),"object"==typeof g&&g&&g instanceof c)return g;return new c(!1)};f.stop=function(t){return new c(!0,t)}},"5baf":function(t,e,n){var r=n("7948"),o=n("47f5"),i=n("d86b"),a=n("b047"),s=n("4359"),u=Array.prototype,c=u.splice;function f(t,e,n,u){var f=u?i:o,l=-1,p=e.length,h=t;t===e&&(e=s(e)),n&&(h=r(t,a(n)));while(++l-1)h!==t&&c.call(h,d,1),c.call(t,d,1)}return t}t.exports=f},"5bf4":function(t,e,n){t.exports=n.p+"static/fonts/fontawesome-webfont.fee66e71.woff"},"5c4c":function(t,e,n){var r=n("a0cd");t.exports=r},"5c68":function(t,e,n){var r=n("e392");t.exports=r},"5c69":function(t,e,n){var r=n("087d"),o=n("0621");function i(t,e,n,a,s){var u=-1,c=t.length;n||(n=o),s||(s=[]);while(++u0&&n(f)?e>1?i(f,e-1,n,a,s):r(s,f):a||(s[s.length]=f)}return s}t.exports=i},"5c6c":function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"5ca0":function(t,e,n){var r=n("badf"),o=n("30c9"),i=n("ec69");function a(t){return function(e,n,a){var s=Object(e);if(!o(e)){var u=r(n,3);e=i(e),n=function(t){return u(s[t],t,s)}}var c=t(e,n,a);return c>-1?s[u?e[c]:c]:void 0}}t.exports=a},"5d24":function(t,e,n){t.exports=n("6426")},"5d89":function(t,e,n){var r=n("f8af");function o(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}t.exports=o},"5e0b":function(t,e,n){n("9103");var r=n("a169");t.exports=r("Array").values},"5e1a":function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var o=n("a8f0").Buffer,i=n(2);function a(t,e,n){t.copy(e,n)}t.exports=function(){function t(){r(this,t),this.head=null,this.tail=null,this.length=0}return t.prototype.push=function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return"";var e=this.head,n=""+e.data;while(e=e.next)n+=t+e.data;return n},t.prototype.concat=function(t){if(0===this.length)return o.alloc(0);if(1===this.length)return this.head.data;var e=o.allocUnsafe(t>>>0),n=this.head,r=0;while(n)a(n.data,e,r),r+=n.data.length,n=n.next;return e},t}(),i&&i.inspect&&i.inspect.custom&&(t.exports.prototype[i.inspect.custom]=function(){var t=i.inspect({length:this.length});return this.constructor.name+" "+t})},"5e2e":function(t,e,n){var r=n("28c9"),o=n("69d5"),i=n("b4c0"),a=n("fba5"),s=n("67ca");function u(t){var e=-1,n=null==t?0:t.length;this.clear();while(++e0?R:T)(t)},j=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t},P=function(t){return function(e,n){var r,o,i=String(j(e)),a=L(n),s=i.length;return a<0||a>=s?t?"":void 0:(r=i.charCodeAt(a),r<55296||r>56319||a+1===s||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):r:t?i.slice(a,a+2):o-56320+(r-55296<<10)+65536)}},N=P(!1);O(O.P,"String",{codePointAt:function(t){return N(this,t)}});n.String.codePointAt;var I=Math.max,B=Math.min,M=function(t,e){return t=L(t),t<0?I(t+e,0):B(t,e)},U=String.fromCharCode,$=String.fromCodePoint;O(O.S+O.F*(!!$&&1!=$.length),"String",{fromCodePoint:function(t){var e,n=arguments,r=[],o=arguments.length,i=0;while(o>i){if(e=+n[i++],M(e,1114111)!==e)throw RangeError(e+" is not a valid code point");r.push(e<65536?U(e):U(55296+((e-=65536)>>10),e%1024+56320))}return r.join("")}});n.String.fromCodePoint;var q,z,H,V,W,G,Y,X,J,K,Z,Q,tt,et,nt=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,rt=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,ot=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,it={Space_Separator:nt,ID_Start:rt,ID_Continue:ot},at={isSpaceSeparator:function(t){return"string"===typeof t&&it.Space_Separator.test(t)},isIdStartChar:function(t){return"string"===typeof t&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||"$"===t||"_"===t||it.ID_Start.test(t))},isIdContinueChar:function(t){return"string"===typeof t&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t>="0"&&t<="9"||"$"===t||"_"===t||"‌"===t||"‍"===t||it.ID_Continue.test(t))},isDigit:function(t){return"string"===typeof t&&/[0-9]/.test(t)},isHexDigit:function(t){return"string"===typeof t&&/[0-9A-Fa-f]/.test(t)}},st=function(t,e){q=String(t),z="start",H=[],V=0,W=1,G=0,Y=void 0,X=void 0,J=void 0;do{Y=ct(),mt[z]()}while("eof"!==Y.type);return"function"===typeof e?ut({"":J},"",e):J};function ut(t,e,n){var r=t[e];if(null!=r&&"object"===typeof r)for(var o in r){var i=ut(r,o,n);void 0===i?delete r[o]:r[o]=i}return n.call(t,e,r)}function ct(){for(K="default",Z="",Q=!1,tt=1;;){et=ft();var t=pt[K]();if(t)return t}}function ft(){if(q[V])return String.fromCodePoint(q.codePointAt(V))}function lt(){var t=ft();return"\n"===t?(W++,G=0):t?G+=t.length:G++,t&&(V+=t.length),t}var pt={default:function(){switch(et){case"\t":case"\v":case"\f":case" ":case" ":case"\ufeff":case"\n":case"\r":case"\u2028":case"\u2029":return void lt();case"/":return lt(),void(K="comment");case void 0:return lt(),ht("eof")}if(!at.isSpaceSeparator(et))return pt[z]();lt()},comment:function(){switch(et){case"*":return lt(),void(K="multiLineComment");case"/":return lt(),void(K="singleLineComment")}throw wt(lt())},multiLineComment:function(){switch(et){case"*":return lt(),void(K="multiLineCommentAsterisk");case void 0:throw wt(lt())}lt()},multiLineCommentAsterisk:function(){switch(et){case"*":return void lt();case"/":return lt(),void(K="default");case void 0:throw wt(lt())}lt(),K="multiLineComment"},singleLineComment:function(){switch(et){case"\n":case"\r":case"\u2028":case"\u2029":return lt(),void(K="default");case void 0:return lt(),ht("eof")}lt()},value:function(){switch(et){case"{":case"[":return ht("punctuator",lt());case"n":return lt(),dt("ull"),ht("null",null);case"t":return lt(),dt("rue"),ht("boolean",!0);case"f":return lt(),dt("alse"),ht("boolean",!1);case"-":case"+":return"-"===lt()&&(tt=-1),void(K="sign");case".":return Z=lt(),void(K="decimalPointLeading");case"0":return Z=lt(),void(K="zero");case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return Z=lt(),void(K="decimalInteger");case"I":return lt(),dt("nfinity"),ht("numeric",1/0);case"N":return lt(),dt("aN"),ht("numeric",NaN);case'"':case"'":return Q='"'===lt(),Z="",void(K="string")}throw wt(lt())},identifierNameStartEscape:function(){if("u"!==et)throw wt(lt());lt();var t=bt();switch(t){case"$":case"_":break;default:if(!at.isIdStartChar(t))throw Et();break}Z+=t,K="identifierName"},identifierName:function(){switch(et){case"$":case"_":case"‌":case"‍":return void(Z+=lt());case"\\":return lt(),void(K="identifierNameEscape")}if(!at.isIdContinueChar(et))return ht("identifier",Z);Z+=lt()},identifierNameEscape:function(){if("u"!==et)throw wt(lt());lt();var t=bt();switch(t){case"$":case"_":case"‌":case"‍":break;default:if(!at.isIdContinueChar(t))throw Et();break}Z+=t,K="identifierName"},sign:function(){switch(et){case".":return Z=lt(),void(K="decimalPointLeading");case"0":return Z=lt(),void(K="zero");case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return Z=lt(),void(K="decimalInteger");case"I":return lt(),dt("nfinity"),ht("numeric",tt*(1/0));case"N":return lt(),dt("aN"),ht("numeric",NaN)}throw wt(lt())},zero:function(){switch(et){case".":return Z+=lt(),void(K="decimalPoint");case"e":case"E":return Z+=lt(),void(K="decimalExponent");case"x":case"X":return Z+=lt(),void(K="hexadecimal")}return ht("numeric",0*tt)},decimalInteger:function(){switch(et){case".":return Z+=lt(),void(K="decimalPoint");case"e":case"E":return Z+=lt(),void(K="decimalExponent")}if(!at.isDigit(et))return ht("numeric",tt*Number(Z));Z+=lt()},decimalPointLeading:function(){if(at.isDigit(et))return Z+=lt(),void(K="decimalFraction");throw wt(lt())},decimalPoint:function(){switch(et){case"e":case"E":return Z+=lt(),void(K="decimalExponent")}return at.isDigit(et)?(Z+=lt(),void(K="decimalFraction")):ht("numeric",tt*Number(Z))},decimalFraction:function(){switch(et){case"e":case"E":return Z+=lt(),void(K="decimalExponent")}if(!at.isDigit(et))return ht("numeric",tt*Number(Z));Z+=lt()},decimalExponent:function(){switch(et){case"+":case"-":return Z+=lt(),void(K="decimalExponentSign")}if(at.isDigit(et))return Z+=lt(),void(K="decimalExponentInteger");throw wt(lt())},decimalExponentSign:function(){if(at.isDigit(et))return Z+=lt(),void(K="decimalExponentInteger");throw wt(lt())},decimalExponentInteger:function(){if(!at.isDigit(et))return ht("numeric",tt*Number(Z));Z+=lt()},hexadecimal:function(){if(at.isHexDigit(et))return Z+=lt(),void(K="hexadecimalInteger");throw wt(lt())},hexadecimalInteger:function(){if(!at.isHexDigit(et))return ht("numeric",tt*Number(Z));Z+=lt()},string:function(){switch(et){case"\\":return lt(),void(Z+=vt());case'"':return Q?(lt(),ht("string",Z)):void(Z+=lt());case"'":return Q?void(Z+=lt()):(lt(),ht("string",Z));case"\n":case"\r":throw wt(lt());case"\u2028":case"\u2029":Dt(et);break;case void 0:throw wt(lt())}Z+=lt()},start:function(){switch(et){case"{":case"[":return ht("punctuator",lt())}K="value"},beforePropertyName:function(){switch(et){case"$":case"_":return Z=lt(),void(K="identifierName");case"\\":return lt(),void(K="identifierNameStartEscape");case"}":return ht("punctuator",lt());case'"':case"'":return Q='"'===lt(),void(K="string")}if(at.isIdStartChar(et))return Z+=lt(),void(K="identifierName");throw wt(lt())},afterPropertyName:function(){if(":"===et)return ht("punctuator",lt());throw wt(lt())},beforePropertyValue:function(){K="value"},afterPropertyValue:function(){switch(et){case",":case"}":return ht("punctuator",lt())}throw wt(lt())},beforeArrayValue:function(){if("]"===et)return ht("punctuator",lt());K="value"},afterArrayValue:function(){switch(et){case",":case"]":return ht("punctuator",lt())}throw wt(lt())},end:function(){throw wt(lt())}};function ht(t,e){return{type:t,value:e,line:W,column:G}}function dt(t){for(var e=0,n=t;e0){var n=ft();if(!at.isHexDigit(n))throw wt(lt());t+=lt()}return String.fromCodePoint(parseInt(t,16))}var mt={start:function(){if("eof"===Y.type)throw xt();yt()},beforePropertyName:function(){switch(Y.type){case"identifier":case"string":return X=Y.value,void(z="afterPropertyName");case"punctuator":return void _t();case"eof":throw xt()}},afterPropertyName:function(){if("eof"===Y.type)throw xt();z="beforePropertyValue"},beforePropertyValue:function(){if("eof"===Y.type)throw xt();yt()},beforeArrayValue:function(){if("eof"===Y.type)throw xt();"punctuator"!==Y.type||"]"!==Y.value?yt():_t()},afterPropertyValue:function(){if("eof"===Y.type)throw xt();switch(Y.value){case",":return void(z="beforePropertyName");case"}":_t()}},afterArrayValue:function(){if("eof"===Y.type)throw xt();switch(Y.value){case",":return void(z="beforeArrayValue");case"]":_t()}},end:function(){}};function yt(){var t;switch(Y.type){case"punctuator":switch(Y.value){case"{":t={};break;case"[":t=[];break}break;case"null":case"boolean":case"numeric":case"string":t=Y.value;break}if(void 0===J)J=t;else{var e=H[H.length-1];Array.isArray(e)?e.push(t):e[X]=t}if(null!==t&&"object"===typeof t)H.push(t),z=Array.isArray(t)?"beforeArrayValue":"beforePropertyName";else{var n=H[H.length-1];z=null==n?"end":Array.isArray(n)?"afterArrayValue":"afterPropertyValue"}}function _t(){H.pop();var t=H[H.length-1];z=null==t?"end":Array.isArray(t)?"afterArrayValue":"afterPropertyValue"}function wt(t){return Ct(void 0===t?"JSON5: invalid end of input at "+W+":"+G:"JSON5: invalid character '"+At(t)+"' at "+W+":"+G)}function xt(){return Ct("JSON5: invalid end of input at "+W+":"+G)}function Et(){return G-=5,Ct("JSON5: invalid identifier character at "+W+":"+G)}function Dt(t){console.warn("JSON5: '"+At(t)+"' in strings is not valid ECMAScript; consider escaping")}function At(t){var e={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(e[t])return e[t];if(t<" "){var n=t.charCodeAt(0).toString(16);return"\\x"+("00"+n).substring(n.length)}return t}function Ct(t){var e=new SyntaxError(t);return e.lineNumber=W,e.columnNumber=G,e}var St=function(t,e,n){var r,o,i,a=[],s="",u="";if(null==e||"object"!==typeof e||Array.isArray(e)||(n=e.space,i=e.quote,e=e.replacer),"function"===typeof e)o=e;else if(Array.isArray(e)){r=[];for(var c=0,f=e;c0&&(n=Math.min(10,Math.floor(n)),u=" ".substr(0,n)):"string"===typeof n&&(u=n.substr(0,10)),h("",{"":t});function h(t,e){var n=e[t];switch(null!=n&&("function"===typeof n.toJSON5?n=n.toJSON5(t):"function"===typeof n.toJSON&&(n=n.toJSON(t))),o&&(n=o.call(e,t,n)),n instanceof Number?n=Number(n):n instanceof String?n=String(n):n instanceof Boolean&&(n=n.valueOf()),n){case null:return"null";case!0:return"true";case!1:return"false"}return"string"===typeof n?d(n,!1):"number"===typeof n?String(n):"object"===typeof n?Array.isArray(n)?b(n):v(n):void 0}function d(t){for(var e={"'":.1,'"':.2},n={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},r="",o=0;o=0)throw TypeError("Converting circular structure to JSON5");a.push(t);var e=s;s+=u;for(var n,o,i=r||Object.keys(t),c=[],f=0,l=i;f=0)throw TypeError("Converting circular structure to JSON5");a.push(t);var e=s;s+=u;for(var n,r=[],o=0;ot.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:{};u()(this,t),this.init(e,n)}return f()(t,[{key:"init",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=e.prefix||"i18next:",this.logger=t||y,this.options=e,this.debug=e.debug}},{key:"setDebug",value:function(t){this.debug=t}},{key:"log",value:function(){for(var t=arguments.length,e=new Array(t),n=0;n1?e-1:0),r=1;r-1?t.replace(/###/g,"."):t}function o(){return!t||"string"===typeof t}var i="string"!==typeof e?[].concat(e):e.split(".");while(i.length>1){if(o())return{};var a=r(i.shift());!t[a]&&n&&(t[a]=new n),t=t[a]}return o()?{}:{obj:t,k:r(i.shift())}}function S(t,e,n){var r=C(t,e,Object),o=r.obj,i=r.k;o[i]=n}function F(t,e,n,r){var o=C(t,e,Object),i=o.obj,a=o.k;i[a]=i[a]||[],r&&(i[a]=i[a].concat(n)),r||i[a].push(n)}function k(t,e){var n=C(t,e),r=n.obj,o=n.k;if(r)return r[o]}function O(t,e,n){var r=k(t,n);return void 0!==r?r:k(e,n)}function T(t,e,n){for(var r in e)"__proto__"!==r&&(r in t?"string"===typeof t[r]||t[r]instanceof String||"string"===typeof e[r]||e[r]instanceof String?n&&(t[r]=e[r]):T(t[r],e[r],n):t[r]=e[r]);return t}function R(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var L={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function j(t){return"string"===typeof t?t.replace(/[&<>"'\/]/g,(function(t){return L[t]})):t}var P="undefined"!==typeof window&&window.navigator&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,N=function(t){function e(t){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};return u()(this,e),n=p()(this,d()(e).call(this)),P&&x.call(g()(n)),n.data=t||{},n.options=r,void 0===n.options.keySeparator&&(n.options.keySeparator="."),n}return m()(e,t),f()(e,[{key:"addNamespaces",value:function(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}},{key:"removeNamespaces",value:function(t){var e=this.options.ns.indexOf(t);e>-1&&this.options.ns.splice(e,1)}},{key:"getResource",value:function(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=void 0!==r.keySeparator?r.keySeparator:this.options.keySeparator,i=[t,e];return n&&"string"!==typeof n&&(i=i.concat(n)),n&&"string"===typeof n&&(i=i.concat(o?n.split(o):n)),t.indexOf(".")>-1&&(i=t.split(".")),k(this.data,i)}},{key:"addResource",value:function(t,e,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},i=this.options.keySeparator;void 0===i&&(i=".");var a=[t,e];n&&(a=a.concat(i?n.split(i):n)),t.indexOf(".")>-1&&(a=t.split("."),r=e,e=a[1]),this.addNamespaces(e),S(this.data,a,r),o.silent||this.emit("added",t,e,n,r)}},{key:"addResources",value:function(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(var o in n)"string"!==typeof n[o]&&"[object Array]"!==Object.prototype.toString.apply(n[o])||this.addResource(t,e,o,n[o],{silent:!0});r.silent||this.emit("added",t,e,n)}},{key:"addResourceBundle",value:function(t,e,n,r,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},s=[t,e];t.indexOf(".")>-1&&(s=t.split("."),r=n,n=e,e=s[1]),this.addNamespaces(e);var u=k(this.data,s)||{};r?T(u,n,o):u=a()({},u,n),S(this.data,s,u),i.silent||this.emit("added",t,e,n)}},{key:"removeResourceBundle",value:function(t,e){this.hasResourceBundle(t,e)&&delete this.data[t][e],this.removeNamespaces(e),this.emit("removed",t,e)}},{key:"hasResourceBundle",value:function(t,e){return void 0!==this.getResource(t,e)}},{key:"getResourceBundle",value:function(t,e){return e||(e=this.options.defaultNS),"v1"===this.options.compatibilityAPI?a()({},{},this.getResource(t,e)):this.getResource(t,e)}},{key:"getDataByLanguage",value:function(t){return this.data[t]}},{key:"toJSON",value:function(){return this.data}}]),e}(x),I={processors:{},addPostProcessor:function(t){this.processors[t.name]=t},handle:function(t,e,n,r,o){var i=this;return t.forEach((function(t){i.processors[t]&&(e=i.processors[t].process(e,n,r,o))})),e}},B={},M=function(t){function e(t){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return u()(this,e),n=p()(this,d()(e).call(this)),P&&x.call(g()(n)),A(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,g()(n)),n.options=r,void 0===n.options.keySeparator&&(n.options.keySeparator="."),n.logger=w.create("translator"),n}return m()(e,t),f()(e,[{key:"changeLanguage",value:function(t){t&&(this.language=t)}},{key:"exists",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}},n=this.resolve(t,e);return n&&void 0!==n.res}},{key:"extractFromKey",value:function(t,e){var n=void 0!==e.nsSeparator?e.nsSeparator:this.options.nsSeparator;void 0===n&&(n=":");var r=void 0!==e.keySeparator?e.keySeparator:this.options.keySeparator,o=e.ns||this.options.defaultNS;if(n&&t.indexOf(n)>-1){var i=t.match(this.interpolator.nestingRegexp);if(i&&i.length>0)return{key:t,namespaces:o};var a=t.split(n);(n!==r||n===r&&this.options.ns.indexOf(a[0])>-1)&&(o=a.shift()),t=a.join(r)}return"string"===typeof o&&(o=[o]),{key:t,namespaces:o}}},{key:"translate",value:function(t,e,n){var r=this;if("object"!==o()(e)&&this.options.overloadTranslationOptionHandler&&(e=this.options.overloadTranslationOptionHandler(arguments)),e||(e={}),void 0===t||null===t)return"";Array.isArray(t)||(t=[String(t)]);var i=void 0!==e.keySeparator?e.keySeparator:this.options.keySeparator,s=this.extractFromKey(t[t.length-1],e),u=s.key,c=s.namespaces,f=c[c.length-1],l=e.lng||this.language,p=e.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(l&&"cimode"===l.toLowerCase()){if(p){var h=e.nsSeparator||this.options.nsSeparator;return f+h+u}return u}var d=this.resolve(t,e),v=d&&d.res,g=d&&d.usedKey||u,b=d&&d.exactUsedKey||u,m=Object.prototype.toString.apply(v),y=["[object Number]","[object Function]","[object RegExp]"],_=void 0!==e.joinArrays?e.joinArrays:this.options.joinArrays,w=!this.i18nFormat||this.i18nFormat.handleAsObject,x="string"!==typeof v&&"boolean"!==typeof v&&"number"!==typeof v;if(w&&v&&x&&y.indexOf(m)<0&&("string"!==typeof _||"[object Array]"!==m)){if(!e.returnObjects&&!this.options.returnObjects)return this.logger.warn("accessing an object - but returnObjects options is not enabled!"),this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,v,e):"key '".concat(u," (").concat(this.language,")' returned an object instead of string.");if(i){var E="[object Array]"===m,D=E?[]:{},A=E?b:g;for(var C in v)if(Object.prototype.hasOwnProperty.call(v,C)){var S="".concat(A).concat(i).concat(C);D[C]=this.translate(S,a()({},e,{joinArrays:!1,ns:c})),D[C]===S&&(D[C]=v[C])}v=D}}else if(w&&"string"===typeof _&&"[object Array]"===m)v=v.join(_),v&&(v=this.extendTranslation(v,t,e,n));else{var F=!1,k=!1;if(!this.isValidLookup(v)&&void 0!==e.defaultValue){if(F=!0,void 0!==e.count){var O=this.pluralResolver.getSuffix(l,e.count);v=e["defaultValue".concat(O)]}v||(v=e.defaultValue)}this.isValidLookup(v)||(k=!0,v=u);var T=e.defaultValue&&e.defaultValue!==v&&this.options.updateMissing;if(k||F||T){if(this.logger.log(T?"updateKey":"missingKey",l,f,u,T?e.defaultValue:v),i){var R=this.resolve(u,a()({},e,{keySeparator:!1}));R&&R.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var L=[],j=this.languageUtils.getFallbackCodes(this.options.fallbackLng,e.lng||this.language);if("fallback"===this.options.saveMissingTo&&j&&j[0])for(var P=0;P1&&void 0!==arguments[1]?arguments[1]:{};return"string"===typeof t&&(t=[t]),t.forEach((function(t){if(!a.isValidLookup(e)){var u=a.extractFromKey(t,s),c=u.key;n=c;var f=u.namespaces;a.options.fallbackNS&&(f=f.concat(a.options.fallbackNS));var l=void 0!==s.count&&"string"!==typeof s.count,p=void 0!==s.context&&"string"===typeof s.context&&""!==s.context,h=s.lngs?s.lngs:a.languageUtils.toResolveHierarchy(s.lng||a.language,s.fallbackLng);f.forEach((function(t){a.isValidLookup(e)||(i=t,!B["".concat(h[0],"-").concat(t)]&&a.utils&&a.utils.hasLoadedNamespace&&!a.utils.hasLoadedNamespace(i)&&(B["".concat(h[0],"-").concat(t)]=!0,a.logger.warn('key "'.concat(n,'" for languages "').concat(h.join(", "),'" won\'t get resolved as namespace "').concat(i,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),h.forEach((function(n){if(!a.isValidLookup(e)){o=n;var i,u,f=c,h=[f];if(a.i18nFormat&&a.i18nFormat.addLookupKeys)a.i18nFormat.addLookupKeys(h,c,n,t,s);else l&&(i=a.pluralResolver.getSuffix(n,s.count)),l&&p&&h.push(f+i),p&&h.push(f+="".concat(a.options.contextSeparator).concat(s.context)),l&&h.push(f+=i);while(u=h.pop())a.isValidLookup(e)||(r=u,e=a.getResource(n,t,u,s))}})))}))}})),{res:e,usedKey:n,exactUsedKey:r,usedLng:o,usedNS:i}}},{key:"isValidLookup",value:function(t){return void 0!==t&&!(!this.options.returnNull&&null===t)&&!(!this.options.returnEmptyString&&""===t)}},{key:"getResource",value:function(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,e,n,r):this.resourceStore.getResource(t,e,n,r)}}]),e}(x);function U(t){return t.charAt(0).toUpperCase()+t.slice(1)}var $=function(){function t(e){u()(this,t),this.options=e,this.whitelist=this.options.supportedLngs||!1,this.supportedLngs=this.options.supportedLngs||!1,this.logger=w.create("languageUtils")}return f()(t,[{key:"getScriptPartFromCode",value:function(t){if(!t||t.indexOf("-")<0)return null;var e=t.split("-");return 2===e.length?null:(e.pop(),"x"===e[e.length-1].toLowerCase()?null:this.formatLanguageCode(e.join("-")))}},{key:"getLanguagePartFromCode",value:function(t){if(!t||t.indexOf("-")<0)return t;var e=t.split("-");return this.formatLanguageCode(e[0])}},{key:"formatLanguageCode",value:function(t){if("string"===typeof t&&t.indexOf("-")>-1){var e=["hans","hant","latn","cyrl","cans","mong","arab"],n=t.split("-");return this.options.lowerCaseLng?n=n.map((function(t){return t.toLowerCase()})):2===n.length?(n[0]=n[0].toLowerCase(),n[1]=n[1].toUpperCase(),e.indexOf(n[1].toLowerCase())>-1&&(n[1]=U(n[1].toLowerCase()))):3===n.length&&(n[0]=n[0].toLowerCase(),2===n[1].length&&(n[1]=n[1].toUpperCase()),"sgn"!==n[0]&&2===n[2].length&&(n[2]=n[2].toUpperCase()),e.indexOf(n[1].toLowerCase())>-1&&(n[1]=U(n[1].toLowerCase())),e.indexOf(n[2].toLowerCase())>-1&&(n[2]=U(n[2].toLowerCase()))),n.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}},{key:"isWhitelisted",value:function(t){return this.logger.deprecate("languageUtils.isWhitelisted",'function "isWhitelisted" will be renamed to "isSupportedCode" in the next major - please make sure to rename it\'s usage asap.'),this.isSupportedCode(t)}},{key:"isSupportedCode",value:function(t){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}},{key:"getBestMatchFromCodes",value:function(t){var e,n=this;return t?(t.forEach((function(t){if(!e){var r=n.formatLanguageCode(t);n.options.supportedLngs&&!n.isSupportedCode(r)||(e=r)}})),!e&&this.options.supportedLngs&&t.forEach((function(t){if(!e){var r=n.getLanguagePartFromCode(t);if(n.isSupportedCode(r))return e=r;e=n.options.supportedLngs.find((function(t){if(0===t.indexOf(r))return t}))}})),e||(e=this.getFallbackCodes(this.options.fallbackLng)[0]),e):null}},{key:"getFallbackCodes",value:function(t,e){if(!t)return[];if("string"===typeof t&&(t=[t]),"[object Array]"===Object.prototype.toString.apply(t))return t;if(!e)return t["default"]||[];var n=t[e];return n||(n=t[this.getScriptPartFromCode(e)]),n||(n=t[this.formatLanguageCode(e)]),n||(n=t[this.getLanguagePartFromCode(e)]),n||(n=t["default"]),n||[]}},{key:"toResolveHierarchy",value:function(t,e){var n=this,r=this.getFallbackCodes(e||this.options.fallbackLng||[],t),o=[],i=function(t){t&&(n.isSupportedCode(t)?o.push(t):n.logger.warn("rejecting language code not found in supportedLngs: ".concat(t)))};return"string"===typeof t&&t.indexOf("-")>-1?("languageOnly"!==this.options.load&&i(this.formatLanguageCode(t)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&i(this.getScriptPartFromCode(t)),"currentOnly"!==this.options.load&&i(this.getLanguagePartFromCode(t))):"string"===typeof t&&i(this.formatLanguageCode(t)),r.forEach((function(t){o.indexOf(t)<0&&i(n.formatLanguageCode(t))})),o}}]),t}(),q=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","id","ja","jbo","ka","kk","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he"],nr:[1,2,20,21],fc:22}],z={1:function(t){return Number(t>1)},2:function(t){return Number(1!=t)},3:function(t){return 0},4:function(t){return Number(t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2)},5:function(t){return Number(0==t?0:1==t?1:2==t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5)},6:function(t){return Number(1==t?0:t>=2&&t<=4?1:2)},7:function(t){return Number(1==t?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2)},8:function(t){return Number(1==t?0:2==t?1:8!=t&&11!=t?2:3)},9:function(t){return Number(t>=2)},10:function(t){return Number(1==t?0:2==t?1:t<7?2:t<11?3:4)},11:function(t){return Number(1==t||11==t?0:2==t||12==t?1:t>2&&t<20?2:3)},12:function(t){return Number(t%10!=1||t%100==11)},13:function(t){return Number(0!==t)},14:function(t){return Number(1==t?0:2==t?1:3==t?2:3)},15:function(t){return Number(t%10==1&&t%100!=11?0:t%10>=2&&(t%100<10||t%100>=20)?1:2)},16:function(t){return Number(t%10==1&&t%100!=11?0:0!==t?1:2)},17:function(t){return Number(1==t||t%10==1&&t%100!=11?0:1)},18:function(t){return Number(0==t?0:1==t?1:2)},19:function(t){return Number(1==t?0:0==t||t%100>1&&t%100<11?1:t%100>10&&t%100<20?2:3)},20:function(t){return Number(1==t?0:0==t||t%100>0&&t%100<20?1:2)},21:function(t){return Number(t%100==1?1:t%100==2?2:t%100==3||t%100==4?3:0)},22:function(t){return Number(1==t?0:2==t?1:(t<0||t>10)&&t%10==0?2:3)}};function H(){var t={};return q.forEach((function(e){e.lngs.forEach((function(n){t[n]={numbers:e.nr,plurals:z[e.fc]}}))})),t}var V=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};u()(this,t),this.languageUtils=e,this.options=n,this.logger=w.create("pluralResolver"),this.rules=H()}return f()(t,[{key:"addRule",value:function(t,e){this.rules[t]=e}},{key:"getRule",value:function(t){return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}},{key:"needsPlural",value:function(t){var e=this.getRule(t);return e&&e.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(t,e){var n=this,r=[],o=this.getRule(t);return o?(o.numbers.forEach((function(o){var i=n.getSuffix(t,o);r.push("".concat(e).concat(i))})),r):r}},{key:"getSuffix",value:function(t,e){var n=this,r=this.getRule(t);if(r){var o=r.noAbs?r.plurals(e):r.plurals(Math.abs(e)),i=r.numbers[o];this.options.simplifyPluralSuffix&&2===r.numbers.length&&1===r.numbers[0]&&(2===i?i="plural":1===i&&(i=""));var a=function(){return n.options.prepend&&i.toString()?n.options.prepend+i.toString():i.toString()};return"v1"===this.options.compatibilityJSON?1===i?"":"number"===typeof i?"_plural_".concat(i.toString()):a():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===r.numbers.length&&1===r.numbers[0]?a():this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString()}return this.logger.warn("no plural rule found for: ".concat(t)),""}}]),t}(),W=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};u()(this,t),this.logger=w.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||function(t){return t},this.init(e)}return f()(t,[{key:"init",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});var e=t.interpolation;this.escape=void 0!==e.escape?e.escape:j,this.escapeValue=void 0===e.escapeValue||e.escapeValue,this.useRawValueToEscape=void 0!==e.useRawValueToEscape&&e.useRawValueToEscape,this.prefix=e.prefix?R(e.prefix):e.prefixEscaped||"{{",this.suffix=e.suffix?R(e.suffix):e.suffixEscaped||"}}",this.formatSeparator=e.formatSeparator?e.formatSeparator:e.formatSeparator||",",this.unescapePrefix=e.unescapeSuffix?"":e.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":e.unescapeSuffix||"",this.nestingPrefix=e.nestingPrefix?R(e.nestingPrefix):e.nestingPrefixEscaped||R("$t("),this.nestingSuffix=e.nestingSuffix?R(e.nestingSuffix):e.nestingSuffixEscaped||R(")"),this.nestingOptionsSeparator=e.nestingOptionsSeparator?e.nestingOptionsSeparator:e.nestingOptionsSeparator||",",this.maxReplaces=e.maxReplaces?e.maxReplaces:1e3,this.alwaysFormat=void 0!==e.alwaysFormat&&e.alwaysFormat,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var t="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(t,"g");var e="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(e,"g");var n="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(n,"g")}},{key:"interpolate",value:function(t,e,n,r){var o,i,a,s=this,u=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function c(t){return t.replace(/\$/g,"$$$$")}var f=function(t){if(t.indexOf(s.formatSeparator)<0){var o=O(e,u,t);return s.alwaysFormat?s.format(o,void 0,n):o}var i=t.split(s.formatSeparator),a=i.shift().trim(),c=i.join(s.formatSeparator).trim();return s.format(O(e,u,a),c,n,r)};this.resetRegExp();var l=r&&r.missingInterpolationHandler||this.options.missingInterpolationHandler;a=0;while(o=this.regexpUnescape.exec(t)){if(i=f(o[1].trim()),void 0===i)if("function"===typeof l){var p=l(t,o,r);i="string"===typeof p?p:""}else this.logger.warn("missed to pass in variable ".concat(o[1]," for interpolating ").concat(t)),i="";else"string"===typeof i||this.useRawValueToEscape||(i=D(i));if(t=t.replace(o[0],c(i)),this.regexpUnescape.lastIndex=0,a++,a>=this.maxReplaces)break}a=0;while(o=this.regexp.exec(t)){if(i=f(o[1].trim()),void 0===i)if("function"===typeof l){var h=l(t,o,r);i="string"===typeof h?h:""}else this.logger.warn("missed to pass in variable ".concat(o[1]," for interpolating ").concat(t)),i="";else"string"===typeof i||this.useRawValueToEscape||(i=D(i));if(i=this.escapeValue?c(this.escape(i)):c(i),t=t.replace(o[0],i),this.regexp.lastIndex=0,a++,a>=this.maxReplaces)break}return t}},{key:"nest",value:function(t,e){var n,r,o=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=a()({},i);function u(t,e){var n=this.nestingOptionsSeparator;if(t.indexOf(n)<0)return t;var r=t.split(new RegExp("".concat(n,"[ ]*{"))),o="{".concat(r[1]);t=r[0],o=this.interpolate(o,s),o=o.replace(/'/g,'"');try{s=JSON.parse(o),e&&(s=a()({},e,s))}catch(i){return this.logger.warn("failed parsing options string in nesting for key ".concat(t),i),"".concat(t).concat(n).concat(o)}return delete s.defaultValue,t}s.applyPostProcessor=!1,delete s.defaultValue;while(n=this.nestingRegexp.exec(t)){var c=[],f=!1;if(n[0].includes(this.formatSeparator)&&!/{.*}/.test(n[1])){var l=n[1].split(this.formatSeparator).map((function(t){return t.trim()}));n[1]=l.shift(),c=l,f=!0}if(r=e(u.call(this,n[1].trim(),s),s),r&&n[0]===t&&"string"!==typeof r)return r;"string"!==typeof r&&(r=D(r)),r||(this.logger.warn("missed to resolve ".concat(n[1]," for nesting ").concat(t)),r=""),f&&(r=c.reduce((function(t,e){return o.format(t,e,i.lng,i)}),r.trim())),t=t.replace(n[0],r),this.regexp.lastIndex=0}return t}}]),t}();function G(t,e){var n=t.indexOf(e);while(-1!==n)t.splice(n,1),n=t.indexOf(e)}var Y=function(t){function e(t,n,r){var o,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return u()(this,e),o=p()(this,d()(e).call(this)),P&&x.call(g()(o)),o.backend=t,o.store=n,o.services=r,o.languageUtils=r.languageUtils,o.options=i,o.logger=w.create("backendConnector"),o.state={},o.queue=[],o.backend&&o.backend.init&&o.backend.init(r,i.backend,i),o}return m()(e,t),f()(e,[{key:"queueLoad",value:function(t,e,n,r){var o=this,i=[],a=[],s=[],u=[];return t.forEach((function(t){var r=!0;e.forEach((function(e){var s="".concat(t,"|").concat(e);!n.reload&&o.store.hasResourceBundle(t,e)?o.state[s]=2:o.state[s]<0||(1===o.state[s]?a.indexOf(s)<0&&a.push(s):(o.state[s]=1,r=!1,a.indexOf(s)<0&&a.push(s),i.indexOf(s)<0&&i.push(s),u.indexOf(e)<0&&u.push(e)))})),r||s.push(t)})),(i.length||a.length)&&this.queue.push({pending:a,loaded:{},errors:[],callback:r}),{toLoad:i,pending:a,toLoadLanguages:s,toLoadNamespaces:u}}},{key:"loaded",value:function(t,e,n){var r=t.split("|"),o=r[0],i=r[1];e&&this.emit("failedLoading",o,i,e),n&&this.store.addResourceBundle(o,i,n),this.state[t]=e?-1:2;var a={};this.queue.forEach((function(n){F(n.loaded,[o],i),G(n.pending,t),e&&n.errors.push(e),0!==n.pending.length||n.done||(Object.keys(n.loaded).forEach((function(t){a[t]||(a[t]=[]),n.loaded[t].length&&n.loaded[t].forEach((function(e){a[t].indexOf(e)<0&&a[t].push(e)}))})),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())})),this.emit("loaded",a),this.queue=this.queue.filter((function(t){return!t.done}))}},{key:"read",value:function(t,e,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:350,a=arguments.length>5?arguments[5]:void 0;return t.length?this.backend[n](t,e,(function(s,u){s&&u&&o<5?setTimeout((function(){r.read.call(r,t,e,n,o+1,2*i,a)}),i):a(s,u)})):a(null,{})}},{key:"prepareLoading",value:function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();"string"===typeof t&&(t=this.languageUtils.toResolveHierarchy(t)),"string"===typeof e&&(e=[e]);var i=this.queueLoad(t,e,r,o);if(!i.toLoad.length)return i.pending.length||o(),null;i.toLoad.forEach((function(t){n.loadOne(t)}))}},{key:"load",value:function(t,e,n){this.prepareLoading(t,e,{},n)}},{key:"reload",value:function(t,e,n){this.prepareLoading(t,e,{reload:!0},n)}},{key:"loadOne",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=t.split("|"),o=r[0],i=r[1];this.read(o,i,"read",void 0,void 0,(function(r,a){r&&e.logger.warn("".concat(n,"loading namespace ").concat(i," for language ").concat(o," failed"),r),!r&&a&&e.logger.log("".concat(n,"loaded namespace ").concat(i," for language ").concat(o),a),e.loaded(t,r,a)}))}},{key:"saveMissing",value:function(t,e,n,r,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(e)?this.logger.warn('did not save key "'.concat(n,'" as the namespace "').concat(e,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!"):void 0!==n&&null!==n&&""!==n&&(this.backend&&this.backend.create&&this.backend.create(t,e,n,r,null,a()({},i,{isUpdate:o})),t&&t[0]&&this.store.addResource(t[0],e,n,r))}}]),e}(x);function X(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,whitelist:!1,nonExplicitWhitelist:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){var e={};if("object"===o()(t[1])&&(e=t[1]),"string"===typeof t[1]&&(e.defaultValue=t[1]),"string"===typeof t[2]&&(e.tDescription=t[2]),"object"===o()(t[2])||"object"===o()(t[3])){var n=t[3]||t[2];Object.keys(n).forEach((function(t){e[t]=n[t]}))}return e},interpolation:{escapeValue:!0,format:function(t,e,n,r){return t},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!1}}}function J(t){return"string"===typeof t.ns&&(t.ns=[t.ns]),"string"===typeof t.fallbackLng&&(t.fallbackLng=[t.fallbackLng]),"string"===typeof t.fallbackNS&&(t.fallbackNS=[t.fallbackNS]),t.whitelist&&(t.whitelist&&t.whitelist.indexOf("cimode")<0&&(t.whitelist=t.whitelist.concat(["cimode"])),t.supportedLngs=t.whitelist),t.nonExplicitWhitelist&&(t.nonExplicitSupportedLngs=t.nonExplicitWhitelist),t.supportedLngs&&t.supportedLngs.indexOf("cimode")<0&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),t}function K(){}var Z=function(t){function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;if(u()(this,e),t=p()(this,d()(e).call(this)),P&&x.call(g()(t)),t.options=J(n),t.services={},t.logger=w,t.modules={external:[]},r&&!t.isInitialized&&!n.isClone){if(!t.options.initImmediate)return t.init(n,r),p()(t,g()(t));setTimeout((function(){t.init(n,r)}),0)}return t}return m()(e,t),f()(e,[{key:"init",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;function r(t){return t?"function"===typeof t?new t:t:null}if("function"===typeof e&&(n=e,e={}),e.whitelist&&!e.supportedLngs&&this.logger.deprecate("whitelist",'option "whitelist" will be renamed to "supportedLngs" in the next major - please make sure to rename this option asap.'),e.nonExplicitWhitelist&&!e.nonExplicitSupportedLngs&&this.logger.deprecate("whitelist",'options "nonExplicitWhitelist" will be renamed to "nonExplicitSupportedLngs" in the next major - please make sure to rename this option asap.'),this.options=a()({},X(),this.options,J(e)),this.format=this.options.interpolation.format,n||(n=K),!this.options.isClone){this.modules.logger?w.init(r(this.modules.logger),this.options):w.init(null,this.options);var o=new $(this.options);this.store=new N(this.options.resources,this.options);var i=this.services;i.logger=w,i.resourceStore=this.store,i.languageUtils=o,i.pluralResolver=new V(o,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),i.interpolator=new W(this.options),i.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},i.backendConnector=new Y(r(this.modules.backend),i.resourceStore,i,this.options),i.backendConnector.on("*",(function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o1?n-1:0),o=1;o1&&void 0!==arguments[1]?arguments[1]:K,r=n,o="string"===typeof t?t:this.language;if("function"===typeof t&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(o&&"cimode"===o.toLowerCase())return r();var i=[],a=function(t){if(t){var n=e.services.languageUtils.toResolveHierarchy(t);n.forEach((function(t){i.indexOf(t)<0&&i.push(t)}))}};if(o)a(o);else{var s=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);s.forEach((function(t){return a(t)}))}this.options.preload&&this.options.preload.forEach((function(t){return a(t)})),this.services.backendConnector.load(i,this.options.ns,r)}else r(null)}},{key:"reloadResources",value:function(t,e,n){var r=E();return t||(t=this.languages),e||(e=this.options.ns),n||(n=K),this.services.backendConnector.reload(t,e,(function(t){r.resolve(),n(t)})),r}},{key:"use",value:function(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===t.type&&(this.modules.backend=t),("logger"===t.type||t.log&&t.warn&&t.error)&&(this.modules.logger=t),"languageDetector"===t.type&&(this.modules.languageDetector=t),"i18nFormat"===t.type&&(this.modules.i18nFormat=t),"postProcessor"===t.type&&I.addPostProcessor(t),"3rdParty"===t.type&&this.modules.external.push(t),this}},{key:"changeLanguage",value:function(t,e){var n=this;this.isLanguageChangingTo=t;var r=E();this.emit("languageChanging",t);var o=function(t,o){o?(n.language=o,n.languages=n.services.languageUtils.toResolveHierarchy(o),n.translator.changeLanguage(o),n.isLanguageChangingTo=void 0,n.emit("languageChanged",o),n.logger.log("languageChanged",o)):n.isLanguageChangingTo=void 0,r.resolve((function(){return n.t.apply(n,arguments)})),e&&e(t,(function(){return n.t.apply(n,arguments)}))},i=function(t){var e="string"===typeof t?t:n.services.languageUtils.getBestMatchFromCodes(t);e&&(n.language||(n.language=e,n.languages=n.services.languageUtils.toResolveHierarchy(e)),n.translator.language||n.translator.changeLanguage(e),n.services.languageDetector&&n.services.languageDetector.cacheUserLanguage(e)),n.loadResources(e,(function(t){o(t,e)}))};return t||!this.services.languageDetector||this.services.languageDetector.async?!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect(i):i(t):i(this.services.languageDetector.detect()),r}},{key:"getFixedT",value:function(t,e){var n=this,r=function t(e,r){var i;if("object"!==o()(r)){for(var s=arguments.length,u=new Array(s>2?s-2:0),c=2;c1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var r=this.languages[0],o=!!this.options&&this.options.fallbackLng,i=this.languages[this.languages.length-1];if("cimode"===r.toLowerCase())return!0;var a=function(t,n){var r=e.services.backendConnector.state["".concat(t,"|").concat(n)];return-1===r||2===r};if(n.precheck){var s=n.precheck(this,a);if(void 0!==s)return s}return!!this.hasResourceBundle(r,t)||(!this.services.backendConnector.backend||!(!a(r,t)||o&&!a(i,t)))}},{key:"loadNamespaces",value:function(t,e){var n=this,r=E();return this.options.ns?("string"===typeof t&&(t=[t]),t.forEach((function(t){n.options.ns.indexOf(t)<0&&n.options.ns.push(t)})),this.loadResources((function(t){r.resolve(),e&&e(t)})),r):(e&&e(),Promise.resolve())}},{key:"loadLanguages",value:function(t,e){var n=E();"string"===typeof t&&(t=[t]);var r=this.options.preload||[],o=t.filter((function(t){return r.indexOf(t)<0}));return o.length?(this.options.preload=r.concat(o),this.loadResources((function(t){n.resolve(),e&&e(t)})),n):(e&&e(),Promise.resolve())}},{key:"dir",value:function(t){if(t||(t=this.languages&&this.languages.length>0?this.languages[0]:this.language),!t)return"rtl";var e=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam"];return e.indexOf(this.services.languageUtils.getLanguagePartFromCode(t))>=0?"rtl":"ltr"}},{key:"createInstance",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new e(t,n)}},{key:"cloneInstance",value:function(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:K,o=a()({},this.options,n,{isClone:!0}),i=new e(o),s=["store","services","language"];return s.forEach((function(e){i[e]=t[e]})),i.services=a()({},this.services),i.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},i.translator=new M(i.services,i.options),i.translator.on("*",(function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;rf){var h,d=c(arguments[f++]),v=l?i(d).concat(l(d)):i(d),g=v.length,b=0;while(g>b)h=v[b++],r&&!p.call(d,h)||(n[h]=d[h])}return n}:f},"61e8":function(t,e,n){"use strict";var r=n("a5eb"),o=n("7042"),i=n("2780");r({target:"WeakMap",proto:!0,real:!0,forced:o},{deleteAll:function(){return i.apply(this,arguments)}})},"621f":function(t,e,n){"use strict";var r=n("1816"),o=function(){};t.exports={getOrigin:function(t){if(!t)return null;var e=new r(t);if("file:"===e.protocol)return null;var n=e.port;return n||(n="https:"===e.protocol?"443":"80"),e.protocol+"//"+e.hostname+":"+n},isOriginEqual:function(t,e){var n=this.getOrigin(t)===this.getOrigin(e);return o("same",t,e,n),n},isSchemeEqual:function(t,e){return t.split(":")[0]===e.split(":")[0]},addPath:function(t,e){var n=t.split("?");return n[0]+e+(n[1]?"?"+n[1]:"")},addQuery:function(t,e){return t+(-1===t.indexOf("?")?"?"+e:"&"+e)}}},6220:function(t,e,n){var r=n("fc48");t.exports=Array.isArray||function(t){return"Array"==r(t)}},6271:function(t,e,n){t.exports=n("373a")},6286:function(t,e,n){var r=n("7530"),o=n("46b4"),i=4294967295;function a(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=i,this.__views__=[]}a.prototype=r(o.prototype),a.prototype.constructor=a,t.exports=a},"62a4":function(t,e,n){n("845a");var r=n("a169");t.exports=r("Array").sort},"62c4":function(t,e,n){"use strict";var r=n("e76c")();t.exports=function(t){return t!==r&&null!==t}},"62d0":function(t,e,n){var r=n("1e63");t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},"62e4":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"62fc":function(t,e,n){t.exports=n("984c")},6321:function(t,e,n){"use strict";var r=n("9013");t.exports=function(t){if("function"!==typeof t)return!1;if(!hasOwnProperty.call(t,"length"))return!1;try{if("number"!==typeof t.length)return!1;if("function"!==typeof t.call)return!1;if("function"!==typeof t.apply)return!1}catch(e){return!1}return!r(t)}},6326:function(t,e,n){n("f8b4");var r=n("764b");t.exports=r.Reflect.construct},6386:function(t,e,n){var r=n("a421"),o=n("6725"),i=n("4508"),a=function(t){return function(e,n,a){var s,u=r(e),c=o(u.length),f=i(a,c);if(t&&n!=n){while(c>f)if(s=u[f++],s!=s)return!0}else for(;c>f;f++)if((t||f in u)&&u[f]===n)return t||f||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},"638c":function(t,e,n){var r=n("06fa"),o=n("fc48"),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},6414:function(t,e,n){var r=n("cc94");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},6426:function(t,e,n){var r=n("ac0c");t.exports=r},6428:function(t,e,n){var r=n("b4b0"),o=1/0,i=17976931348623157e292;function a(t){if(!t)return 0===t?t:0;if(t=r(t),t===o||t===-o){var e=t<0?-1:1;return e*i}return t===t?t:0}t.exports=a},"642a":function(t,e,n){var r=n("966f"),o=n("3bb4"),i=n("20ec");function a(t){var e=o(t);return 1==e.length&&e[0][2]?i(e[0][0],e[0][1]):function(n){return n===t||r(n,t,e)}}t.exports=a},6444:function(t,e){var n=function(t){return t.replace(/^\s+|\s+$/g,"")},r=function(t){return"[object Array]"===Object.prototype.toString.call(t)};t.exports=function(t){if(!t)return{};for(var e={},o=n(t).split("\n"),i=0;i=c?t?"":void 0:(i=s.charCodeAt(u),i<55296||i>56319||u+1===c||(a=s.charCodeAt(u+1))<56320||a>57343?t?s.charAt(u):i:t?s.slice(u,u+2):a-56320+(i-55296<<10)+65536)}};t.exports={codeAt:i(!1),charAt:i(!0)}},6566:function(t,e,n){"use strict";var r=n("9bf2").f,o=n("7c73"),i=n("e2cc"),a=n("0366"),s=n("19aa"),u=n("2266"),c=n("7dd0"),f=n("2626"),l=n("83ab"),p=n("f183").fastKey,h=n("69f3"),d=h.set,v=h.getterFor;t.exports={getConstructor:function(t,e,n,c){var f=t((function(t,r){s(t,f,e),d(t,{type:e,index:o(null),first:void 0,last:void 0,size:0}),l||(t.size=0),void 0!=r&&u(r,t[c],t,n)})),h=v(e),g=function(t,e,n){var r,o,i=h(t),a=b(t,e);return a?a.value=n:(i.last=a={index:o=p(e,!0),key:e,value:n,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=a),r&&(r.next=a),l?i.size++:t.size++,"F"!==o&&(i.index[o]=a)),t},b=function(t,e){var n,r=h(t),o=p(e);if("F"!==o)return r.index[o];for(n=r.first;n;n=n.next)if(n.key==e)return n};return i(f.prototype,{clear:function(){var t=this,e=h(t),n=e.index,r=e.first;while(r)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete n[r.index],r=r.next;e.first=e.last=void 0,l?e.size=0:t.size=0},delete:function(t){var e=this,n=h(e),r=b(e,t);if(r){var o=r.next,i=r.previous;delete n.index[r.index],r.removed=!0,i&&(i.next=o),o&&(o.previous=i),n.first==r&&(n.first=o),n.last==r&&(n.last=i),l?n.size--:e.size--}return!!r},forEach:function(t){var e,n=h(this),r=a(t,arguments.length>1?arguments[1]:void 0,3);while(e=e?e.next:n.first){r(e.value,e.key,this);while(e&&e.removed)e=e.previous}},has:function(t){return!!b(this,t)}}),i(f.prototype,n?{get:function(t){var e=b(this,t);return e&&e.value},set:function(t,e){return g(this,0===t?0:t,e)}}:{add:function(t){return g(this,t=0===t?0:t,t)}}),l&&r(f.prototype,"size",{get:function(){return h(this).size}}),f},setStrong:function(t,e,n){var r=e+" Iterator",o=v(e),i=v(r);c(t,e,(function(t,e){d(this,{type:r,target:t,state:o(t),kind:e,last:void 0})}),(function(){var t=i(this),e=t.kind,n=t.last;while(n&&n.removed)n=n.previous;return t.target&&(t.last=n=n?n.next:t.state.first)?"keys"==e?{value:n.key,done:!1}:"values"==e?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),n?"entries":"values",!n,!0),f(e)}}},"656b":function(t,e,n){var r=n("e2e4"),o=n("f4d6");function i(t,e){e=r(e,t);var n=0,i=e.length;while(null!=t&&n0?o(r(t),9007199254740991):0}},6747:function(t,e){var n=Array.isArray;t.exports=n},"67ca":function(t,e,n){var r=n("cb5a");function o(t,e){var n=this.__data__,o=r(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}t.exports=o},6803:function(t,e,n){var r=n("a5eb"),o=n("406d");r({target:"WeakMap",stat:!0},{of:o})},6813:function(t,e,n){"use strict";var r,o,i,a,s=n("a5eb"),u=n("7042"),c=n("3ac6"),f=n("9883"),l=n("f354"),p=n("d666"),h=n("0aea"),d=n("2874"),v=n("d383"),g=n("dfdb"),b=n("cc94"),m=n("5f7d"),y=n("fc48"),_=n("e899"),w=n("5b57"),x=n("7de7"),E=n("b0ea"),D=n("5afb").set,A=n("a0e6"),C=n("7ef9"),S=n("c2f0"),F=n("ad27"),k=n("9b8d"),O=n("2f5a"),T=n("a0e5"),R=n("0363"),L=n("4aa6"),j=R("species"),P="Promise",N=O.get,I=O.set,B=O.getterFor(P),M=l,U=c.TypeError,$=c.document,q=c.process,z=f("fetch"),H=F.f,V=H,W="process"==y(q),G=!!($&&$.createEvent&&c.dispatchEvent),Y="unhandledrejection",X="rejectionhandled",J=0,K=1,Z=2,Q=1,tt=2,et=T(P,(function(){var t=_(M)!==String(M);if(!t){if(66===L)return!0;if(!W&&"function"!=typeof PromiseRejectionEvent)return!0}if(u&&!M.prototype["finally"])return!0;if(L>=51&&/native code/.test(M))return!1;var e=M.resolve(1),n=function(t){t((function(){}),(function(){}))},r=e.constructor={};return r[j]=n,!(e.then((function(){}))instanceof n)})),nt=et||!x((function(t){M.all(t)["catch"]((function(){}))})),rt=function(t){var e;return!(!g(t)||"function"!=typeof(e=t.then))&&e},ot=function(t,e,n){if(!e.notified){e.notified=!0;var r=e.reactions;A((function(){var o=e.value,i=e.state==K,a=0;while(r.length>a){var s,u,c,f=r[a++],l=i?f.ok:f.fail,p=f.resolve,h=f.reject,d=f.domain;try{l?(i||(e.rejection===tt&&ut(t,e),e.rejection=Q),!0===l?s=o:(d&&d.enter(),s=l(o),d&&(d.exit(),c=!0)),s===f.promise?h(U("Promise-chain cycle")):(u=rt(s))?u.call(s,p,h):p(s)):h(o)}catch(v){d&&!c&&d.exit(),h(v)}}e.reactions=[],e.notified=!1,n&&!e.rejection&&at(t,e)}))}},it=function(t,e,n){var r,o;G?(r=$.createEvent("Event"),r.promise=e,r.reason=n,r.initEvent(t,!1,!0),c.dispatchEvent(r)):r={promise:e,reason:n},(o=c["on"+t])?o(r):t===Y&&S("Unhandled promise rejection",n)},at=function(t,e){D.call(c,(function(){var n,r=e.value,o=st(e);if(o&&(n=k((function(){W?q.emit("unhandledRejection",r,t):it(Y,t,r)})),e.rejection=W||st(e)?tt:Q,n.error))throw n.value}))},st=function(t){return t.rejection!==Q&&!t.parent},ut=function(t,e){D.call(c,(function(){W?q.emit("rejectionHandled",t):it(X,t,e.value)}))},ct=function(t,e,n,r){return function(o){t(e,n,o,r)}},ft=function(t,e,n,r){e.done||(e.done=!0,r&&(e=r),e.value=n,e.state=Z,ot(t,e,!0))},lt=function(t,e,n,r){if(!e.done){e.done=!0,r&&(e=r);try{if(t===n)throw U("Promise can't be resolved itself");var o=rt(n);o?A((function(){var r={done:!1};try{o.call(n,ct(lt,t,r,e),ct(ft,t,r,e))}catch(i){ft(t,r,i,e)}})):(e.value=n,e.state=K,ot(t,e,!1))}catch(i){ft(t,{done:!1},i,e)}}};et&&(M=function(t){m(this,M,P),b(t),r.call(this);var e=N(this);try{t(ct(lt,this,e),ct(ft,this,e))}catch(n){ft(this,e,n)}},r=function(t){I(this,{type:P,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:J,value:void 0})},r.prototype=h(M.prototype,{then:function(t,e){var n=B(this),r=H(E(this,M));return r.ok="function"!=typeof t||t,r.fail="function"==typeof e&&e,r.domain=W?q.domain:void 0,n.parent=!0,n.reactions.push(r),n.state!=J&&ot(this,n,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new r,e=N(t);this.promise=t,this.resolve=ct(lt,t,e),this.reject=ct(ft,t,e)},F.f=H=function(t){return t===M||t===i?new o(t):V(t)},u||"function"!=typeof l||(a=l.prototype.then,p(l.prototype,"then",(function(t,e){var n=this;return new M((function(t,e){a.call(n,t,e)})).then(t,e)}),{unsafe:!0}),"function"==typeof z&&s({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return C(M,z.apply(c,arguments))}}))),s({global:!0,wrap:!0,forced:et},{Promise:M}),d(M,P,!1,!0),v(P),i=f(P),s({target:P,stat:!0,forced:et},{reject:function(t){var e=H(this);return e.reject.call(void 0,t),e.promise}}),s({target:P,stat:!0,forced:u||et},{resolve:function(t){return C(u&&this===i?M:this,t)}}),s({target:P,stat:!0,forced:nt},{all:function(t){var e=this,n=H(e),r=n.resolve,o=n.reject,i=k((function(){var n=b(e.resolve),i=[],a=0,s=1;w(t,(function(t){var u=a++,c=!1;i.push(void 0),s++,n.call(e,t).then((function(t){c||(c=!0,i[u]=t,--s||r(i))}),o)})),--s||r(i)}));return i.error&&o(i.value),n.promise},race:function(t){var e=this,n=H(e),r=n.reject,o=k((function(){var o=b(e.resolve);w(t,(function(t){o.call(e,t).then(n.resolve,r)}))}));return o.error&&r(o.value),n.promise}})},6844:function(t,e,n){var r={},o=function(t){var e;return function(){return"undefined"===typeof e&&(e=t.apply(this,arguments)),e}},i=o((function(){return window&&document&&document.all&&!window.atob})),a=function(t,e){return e?e.querySelector(t):document.querySelector(t)},s=function(t){var e={};return function(t,n){if("function"===typeof t)return t();if("undefined"===typeof e[t]){var r=a.call(this,t,n);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(o){r=null}e[t]=r}return e[t]}}(),u=null,c=0,f=[],l=n("f6d3");function p(t,e){for(var n=0;n=0&&f.splice(e,1)}function g(t){var e=document.createElement("style");if(void 0===t.attrs.type&&(t.attrs.type="text/css"),void 0===t.attrs.nonce){var n=y();n&&(t.attrs.nonce=n)}return m(e,t.attrs),d(t,e),e}function b(t){var e=document.createElement("link");return void 0===t.attrs.type&&(t.attrs.type="text/css"),t.attrs.rel="stylesheet",m(e,t.attrs),d(t,e),e}function m(t,e){Object.keys(e).forEach((function(n){t.setAttribute(n,e[n])}))}function y(){return n.nc}function _(t,e){var n,r,o,i;if(e.transform&&t.css){if(i=e.transform(t.css),!i)return function(){};t.css=i}if(e.singleton){var a=c++;n=u||(u=g(e)),r=x.bind(null,n,a,!1),o=x.bind(null,n,a,!0)}else t.sourceMap&&"function"===typeof URL&&"function"===typeof URL.createObjectURL&&"function"===typeof URL.revokeObjectURL&&"function"===typeof Blob&&"function"===typeof btoa?(n=b(e),r=D.bind(null,n,e),o=function(){v(n),n.href&&URL.revokeObjectURL(n.href)}):(n=g(e),r=E.bind(null,n),o=function(){v(n)});return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;r(t=e)}else o()}}t.exports=function(t,e){if("undefined"!==typeof DEBUG&&DEBUG&&"object"!==typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");e=e||{},e.attrs="object"===typeof e.attrs?e.attrs:{},e.singleton||"boolean"===typeof e.singleton||(e.singleton=i()),e.insertInto||(e.insertInto="head"),e.insertAt||(e.insertAt="bottom");var n=h(t,e);return p(n,e),function(t){for(var o=[],i=0;i1?arguments[1]:void 0)}}),i("includes")},"68b4":function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=n("312c"),i=r(n("1880"));function a(t,e){return i.default(t,e)}function s(t,e){return o.hasChildren(t)?t.children.map((function(t){return a(t,e)})).join(""):""}function u(t){return Array.isArray(t)?t.map(u).join(""):o.isTag(t)?"br"===t.name?"\n":u(t.children):o.isCDATA(t)?u(t.children):o.isText(t)?t.data:""}e.getOuterHTML=a,e.getInnerHTML=s,e.getText=u},"68ec":function(t,e,n){n("56c5");var r=n("764b");t.exports=r.Object.setPrototypeOf},6945:function(t,e,n){"use strict";t.exports=[n("397f"),n("3e1e"),n("b185"),n("7b4d"),n("26e3")(n("7b4d")),n("40b2"),n("26e3")(n("40b2")),n("e2b3"),n("e556"),n("26e3")(n("e2b3")),n("f84c")]},"69d5":function(t,e,n){var r=n("cb5a"),o=Array.prototype,i=o.splice;function a(t){var e=this.__data__,n=r(e,t);if(n<0)return!1;var o=e.length-1;return n==o?e.pop():i.call(e,n,1),--this.size,!0}t.exports=a},"69f3":function(t,e,n){var r,o,i,a=n("7f9a"),s=n("da84"),u=n("861d"),c=n("9112"),f=n("5135"),l=n("f772"),p=n("d012"),h=s.WeakMap,d=function(t){return i(t)?o(t):r(t,{})},v=function(t){return function(e){var n;if(!u(e)||(n=o(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}};if(a){var g=new h,b=g.get,m=g.has,y=g.set;r=function(t,e){return y.call(g,t,e),e},o=function(t){return b.call(g,t)||{}},i=function(t){return m.call(g,t)}}else{var _=l("state");p[_]=!0,r=function(t,e){return c(t,_,e),e},o=function(t){return f(t,_)?t[_]:{}},i=function(t){return f(t,_)}}t.exports={set:r,get:o,has:i,enforce:d,getterFor:v}},"6a87":function(t,e,n){"use strict";var r=n("4573"),o=n("5b1a"),i=n("2b0b"),a=n("cca4"),s=n("c90a"),u=n("8c96"),c=n("acf5"),f=n("2d80"),l=n("844d"),p=n("3b4c");function h(t){return h="function"===typeof p&&"symbol"===typeof l?function(t){return typeof t}:function(t){return t&&"function"===typeof p&&t.constructor===p&&t!==p.prototype?"symbol":typeof t},h(t)}function d(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function v(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:";",i=o(e=r(t)).call(e,(function(e){var n=t[e];return"boolean"===typeof n?e:e+"="+h(n.toString())}));return i.join(n)}},"6b5c":function(t,e,n){var r=n("cb840"),o=n("30c8"),i=n("b767"),a=n("1257"),s=n("e6c3"),u=n("57d6"),c=n("a738"),f=n("e8a9"),l=n("2b3e"),p=1,h=2,d=8,v=16,g=128,b=512;function m(t,e,n,y,_,w,x,E,D,A){var C=e&g,S=e&p,F=e&h,k=e&(d|v),O=e&b,T=F?void 0:a(t);function R(){var p=arguments.length,h=Array(p),d=p;while(d--)h[d]=arguments[d];if(k)var v=u(R),g=i(h,v);if(y&&(h=r(h,y,_,k)),w&&(h=o(h,w,x,k)),p-=g,k&&p1&&h.reverse(),C&&D-1};function u(t){if("string"!==typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||""===t)throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function c(t){return"string"!==typeof t&&(t=String(t)),t}function f(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return o.iterable&&(e[Symbol.iterator]=function(){return e}),e}function l(t){this.map={},t instanceof l?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function p(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function h(t){return new Promise((function(e,n){t.onload=function(){e(t.result)},t.onerror=function(){n(t.error)}}))}function d(t){var e=new FileReader,n=h(e);return e.readAsArrayBuffer(t),n}function v(t){var e=new FileReader,n=h(e);return e.readAsText(t),n}function g(t){for(var e=new Uint8Array(t),n=new Array(e.length),r=0;r-1?e:t}function w(t,e){e=e||{};var n=e.body;if(t instanceof w){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new l(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,n||null==t._bodyInit||(n=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new l(e.headers)),this.method=_(e.method||this.method||"GET"),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(n),("GET"===this.method||"HEAD"===this.method)&&("no-store"===e.cache||"no-cache"===e.cache)){var r=/([?&])_=[^&]*/;if(r.test(this.url))this.url=this.url.replace(r,"$1_="+(new Date).getTime());else{var o=/\?/;this.url+=(o.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function x(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var n=t.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");e.append(decodeURIComponent(r),decodeURIComponent(o))}})),e}function E(t){var e=new l,n=t.replace(/\r?\n[\t ]+/g," ");return n.split(/\r?\n/).forEach((function(t){var n=t.split(":"),r=n.shift().trim();if(r){var o=n.join(":").trim();e.append(r,o)}})),e}function D(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"",this.headers=new l(e.headers),this.url=e.url||"",this._initBody(t)}w.prototype.clone=function(){return new w(this,{body:this._bodyInit})},m.call(w.prototype),m.call(D.prototype),D.prototype.clone=function(){return new D(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new l(this.headers),url:this.url})},D.error=function(){var t=new D(null,{status:0,statusText:""});return t.type="error",t};var A=[301,302,303,307,308];D.redirect=function(t,e){if(-1===A.indexOf(e))throw new RangeError("Invalid status code");return new D(null,{status:e,headers:{location:t}})};var C=r.DOMException;function S(t,e){return new Promise((function(n,i){var a=new w(t,e);if(a.signal&&a.signal.aborted)return i(new C("Aborted","AbortError"));var s=new XMLHttpRequest;function u(){s.abort()}function c(t){try{return""===t&&r.location.href?r.location.href:t}catch(e){return t}}s.onload=function(){var t={status:s.status,statusText:s.statusText,headers:E(s.getAllResponseHeaders()||"")};t.url="responseURL"in s?s.responseURL:t.headers.get("X-Request-URL");var e="response"in s?s.response:s.responseText;setTimeout((function(){n(new D(e,t))}),0)},s.onerror=function(){setTimeout((function(){i(new TypeError("Network request failed"))}),0)},s.ontimeout=function(){setTimeout((function(){i(new TypeError("Network request failed"))}),0)},s.onabort=function(){setTimeout((function(){i(new C("Aborted","AbortError"))}),0)},s.open(a.method,c(a.url),!0),"include"===a.credentials?s.withCredentials=!0:"omit"===a.credentials&&(s.withCredentials=!1),"responseType"in s&&(o.blob?s.responseType="blob":o.arrayBuffer&&a.headers.get("Content-Type")&&-1!==a.headers.get("Content-Type").indexOf("application/octet-stream")&&(s.responseType="arraybuffer")),a.headers.forEach((function(t,e){s.setRequestHeader(e,t)})),a.signal&&(a.signal.addEventListener("abort",u),s.onreadystatechange=function(){4===s.readyState&&a.signal.removeEventListener("abort",u)}),s.send("undefined"===typeof a._bodyInit?null:a._bodyInit)}))}"function"!==typeof C&&(C=function(t,e){this.message=t,this.name=e;var n=Error(t);this.stack=n.stack},C.prototype=Object.create(Error.prototype),C.prototype.constructor=C),S.polyfill=!0,r.fetch||(r.fetch=S,r.Headers=l,r.Request=w,r.Response=D)},"6e9a":function(t,e){t.exports={}},"6ebd":function(t,e,n){n("c5a8");var r=n("764b");t.exports=r.setTimeout},"6eeb":function(t,e,n){var r=n("da84"),o=n("9112"),i=n("5135"),a=n("ce4e"),s=n("8925"),u=n("69f3"),c=u.get,f=u.enforce,l=String(String).split("String");(t.exports=function(t,e,n,s){var u=!!s&&!!s.unsafe,c=!!s&&!!s.enumerable,p=!!s&&!!s.noTargetGet;"function"==typeof n&&("string"!=typeof e||i(n,"name")||o(n,"name",e),f(n).source=l.join("string"==typeof e?e:"")),t!==r?(u?!p&&t[e]&&(c=!0):delete t[e],c?t[e]=n:o(t,e,n)):c?t[e]=n:a(e,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&c(this).source||s(this)}))},"6f6c":function(t,e){var n=/\w*$/;function r(t){var e=new t.constructor(t.source,n.exec(t));return e.lastIndex=t.lastIndex,e}t.exports=r},"6f89":function(t,e){},"6f8d":function(t,e,n){var r=n("dfdb");t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},"6fbd":function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=r(n("7073")),i=r(n("c560")),a=r(n("b960")),s=r(n("f5f2"));function u(t){return" "===t||"\n"===t||"\t"===t||"\f"===t||"\r"===t}function c(t,e,n){var r=t.toLowerCase();return t===r?function(t,o){o===r?t._state=e:(t._state=n,t._index--)}:function(o,i){i===r||i===t?o._state=e:(o._state=n,o._index--)}}function f(t,e){var n=t.toLowerCase();return function(r,o){o===n||o===t?r._state=e:(r._state=3,r._index--)}}var l=c("C",23,16),p=c("D",24,16),h=c("A",25,16),d=c("T",26,16),v=c("A",27,16),g=f("R",34),b=f("I",35),m=f("P",36),y=f("T",37),_=c("R",39,1),w=c("I",40,1),x=c("P",41,1),E=c("T",42,1),D=f("Y",44),A=f("L",45),C=f("E",46),S=c("Y",48,1),F=c("L",49,1),k=c("E",50,1),O=c("#",52,53),T=c("X",55,54),R=function(){function t(t,e){this._state=1,this._buffer="",this._sectionStart=0,this._index=0,this._bufferOffset=0,this._baseState=1,this._special=1,this._running=!0,this._ended=!1,this._cbs=e,this._xmlMode=!(!t||!t.xmlMode),this._decodeEntities=!(!t||!t.decodeEntities)}return t.prototype.reset=function(){this._state=1,this._buffer="",this._sectionStart=0,this._index=0,this._bufferOffset=0,this._baseState=1,this._special=1,this._running=!0,this._ended=!1},t.prototype._stateText=function(t){"<"===t?(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._state=2,this._sectionStart=this._index):this._decodeEntities&&1===this._special&&"&"===t&&(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._baseState=1,this._state=51,this._sectionStart=this._index)},t.prototype._stateBeforeTagName=function(t){"/"===t?this._state=5:"<"===t?(this._cbs.ontext(this._getSection()),this._sectionStart=this._index):">"===t||1!==this._special||u(t)?this._state=1:"!"===t?(this._state=15,this._sectionStart=this._index+1):"?"===t?(this._state=17,this._sectionStart=this._index+1):(this._state=this._xmlMode||"s"!==t&&"S"!==t?3:31,this._sectionStart=this._index)},t.prototype._stateInTagName=function(t){("/"===t||">"===t||u(t))&&(this._emitToken("onopentagname"),this._state=8,this._index--)},t.prototype._stateBeforeClosingTagName=function(t){u(t)||(">"===t?this._state=1:1!==this._special?"s"===t||"S"===t?this._state=32:(this._state=1,this._index--):(this._state=6,this._sectionStart=this._index))},t.prototype._stateInClosingTagName=function(t){(">"===t||u(t))&&(this._emitToken("onclosetag"),this._state=7,this._index--)},t.prototype._stateAfterClosingTagName=function(t){">"===t&&(this._state=1,this._sectionStart=this._index+1)},t.prototype._stateBeforeAttributeName=function(t){">"===t?(this._cbs.onopentagend(),this._state=1,this._sectionStart=this._index+1):"/"===t?this._state=4:u(t)||(this._state=9,this._sectionStart=this._index)},t.prototype._stateInSelfClosingTag=function(t){">"===t?(this._cbs.onselfclosingtag(),this._state=1,this._sectionStart=this._index+1):u(t)||(this._state=8,this._index--)},t.prototype._stateInAttributeName=function(t){("="===t||"/"===t||">"===t||u(t))&&(this._cbs.onattribname(this._getSection()),this._sectionStart=-1,this._state=10,this._index--)},t.prototype._stateAfterAttributeName=function(t){"="===t?this._state=11:"/"===t||">"===t?(this._cbs.onattribend(),this._state=8,this._index--):u(t)||(this._cbs.onattribend(),this._state=9,this._sectionStart=this._index)},t.prototype._stateBeforeAttributeValue=function(t){'"'===t?(this._state=12,this._sectionStart=this._index+1):"'"===t?(this._state=13,this._sectionStart=this._index+1):u(t)||(this._state=14,this._sectionStart=this._index,this._index--)},t.prototype._stateInAttributeValueDoubleQuotes=function(t){'"'===t?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=8):this._decodeEntities&&"&"===t&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=51,this._sectionStart=this._index)},t.prototype._stateInAttributeValueSingleQuotes=function(t){"'"===t?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=8):this._decodeEntities&&"&"===t&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=51,this._sectionStart=this._index)},t.prototype._stateInAttributeValueNoQuotes=function(t){u(t)||">"===t?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=8,this._index--):this._decodeEntities&&"&"===t&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=51,this._sectionStart=this._index)},t.prototype._stateBeforeDeclaration=function(t){this._state="["===t?22:"-"===t?18:16},t.prototype._stateInDeclaration=function(t){">"===t&&(this._cbs.ondeclaration(this._getSection()),this._state=1,this._sectionStart=this._index+1)},t.prototype._stateInProcessingInstruction=function(t){">"===t&&(this._cbs.onprocessinginstruction(this._getSection()),this._state=1,this._sectionStart=this._index+1)},t.prototype._stateBeforeComment=function(t){"-"===t?(this._state=19,this._sectionStart=this._index+1):this._state=16},t.prototype._stateInComment=function(t){"-"===t&&(this._state=20)},t.prototype._stateAfterComment1=function(t){this._state="-"===t?21:19},t.prototype._stateAfterComment2=function(t){">"===t?(this._cbs.oncomment(this._buffer.substring(this._sectionStart,this._index-2)),this._state=1,this._sectionStart=this._index+1):"-"!==t&&(this._state=19)},t.prototype._stateBeforeCdata6=function(t){"["===t?(this._state=28,this._sectionStart=this._index+1):(this._state=16,this._index--)},t.prototype._stateInCdata=function(t){"]"===t&&(this._state=29)},t.prototype._stateAfterCdata1=function(t){this._state="]"===t?30:28},t.prototype._stateAfterCdata2=function(t){">"===t?(this._cbs.oncdata(this._buffer.substring(this._sectionStart,this._index-2)),this._state=1,this._sectionStart=this._index+1):"]"!==t&&(this._state=28)},t.prototype._stateBeforeSpecial=function(t){"c"===t||"C"===t?this._state=33:"t"===t||"T"===t?this._state=43:(this._state=3,this._index--)},t.prototype._stateBeforeSpecialEnd=function(t){2!==this._special||"c"!==t&&"C"!==t?3!==this._special||"t"!==t&&"T"!==t?this._state=1:this._state=47:this._state=38},t.prototype._stateBeforeScript5=function(t){("/"===t||">"===t||u(t))&&(this._special=2),this._state=3,this._index--},t.prototype._stateAfterScript5=function(t){">"===t||u(t)?(this._special=1,this._state=6,this._sectionStart=this._index-6,this._index--):this._state=1},t.prototype._stateBeforeStyle4=function(t){("/"===t||">"===t||u(t))&&(this._special=3),this._state=3,this._index--},t.prototype._stateAfterStyle4=function(t){">"===t||u(t)?(this._special=1,this._state=6,this._sectionStart=this._index-5,this._index--):this._state=1},t.prototype._parseNamedEntityStrict=function(){if(this._sectionStart+16&&(e=6);while(e>=2){var n=this._buffer.substr(t,e);if(Object.prototype.hasOwnProperty.call(a.default,n))return this._emitPartial(a.default[n]),void(this._sectionStart+=e+1);e--}},t.prototype._stateInNamedEntity=function(t){";"===t?(this._parseNamedEntityStrict(),this._sectionStart+1"z")&&(t<"A"||t>"Z")&&(t<"0"||t>"9")&&(this._xmlMode||this._sectionStart+1===this._index||(1!==this._baseState?"="!==t&&this._parseNamedEntityStrict():this._parseLegacyEntity()),this._state=this._baseState,this._index--)},t.prototype._decodeNumericEntity=function(t,e){var n=this._sectionStart+t;if(n!==this._index){var r=this._buffer.substring(n,this._index),i=parseInt(r,e);this._emitPartial(o.default(i)),this._sectionStart=this._index}else this._sectionStart--;this._state=this._baseState},t.prototype._stateInNumericEntity=function(t){";"===t?(this._decodeNumericEntity(2,10),this._sectionStart++):(t<"0"||t>"9")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(2,10),this._index--)},t.prototype._stateInHexEntity=function(t){";"===t?(this._decodeNumericEntity(3,16),this._sectionStart++):(t<"a"||t>"f")&&(t<"A"||t>"F")&&(t<"0"||t>"9")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(3,16),this._index--)},t.prototype._cleanup=function(){this._sectionStart<0?(this._buffer="",this._bufferOffset+=this._index,this._index=0):this._running&&(1===this._state?(this._sectionStart!==this._index&&this._cbs.ontext(this._buffer.substr(this._sectionStart)),this._buffer="",this._bufferOffset+=this._index,this._index=0):this._sectionStart===this._index?(this._buffer="",this._bufferOffset+=this._index,this._index=0):(this._buffer=this._buffer.substr(this._sectionStart),this._index-=this._sectionStart,this._bufferOffset+=this._sectionStart),this._sectionStart=0)},t.prototype.write=function(t){this._ended&&this._cbs.onerror(Error(".write() after done!")),this._buffer+=t,this._parse()},t.prototype._parse=function(){while(this._index=55296&&t<=57343||t>1114111)return"�";t in o.default&&(t=o.default[t]);var e="";return t>65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|1023&t),e+=String.fromCharCode(t),e}e.default=i},7116:function(t,e,n){"use strict";var r=n("a5eb"),o=n("4508"),i=n("1561"),a=n("6725"),s=n("4fff"),u=n("4344"),c=n("6c15"),f=n("9c96"),l=n("302b"),p=f("splice"),h=l("splice",{ACCESSORS:!0,0:0,1:2}),d=Math.max,v=Math.min,g=9007199254740991,b="Maximum allowed length exceeded";r({target:"Array",proto:!0,forced:!p||!h},{splice:function(t,e){var n,r,f,l,p,h,m=s(this),y=a(m.length),_=o(t,y),w=arguments.length;if(0===w?n=r=0:1===w?(n=0,r=y-_):(n=w-2,r=v(d(i(e),0),y-_)),y+n-r>g)throw TypeError(b);for(f=u(m,r),l=0;ly-r+n;l--)delete m[l-1]}else if(n>r)for(l=y-r;l>_;l--)p=l+r-1,h=l+n-1,p in m?m[h]=m[p]:delete m[h];for(l=0;l0){var f=i(t,c.children,n,o);if(a.push.apply(a,f),o-=f.length,o<=0)break}}return a}function a(t,e){return e.find(t)}function s(t,e,n){void 0===n&&(n=!0);for(var o=null,i=0;i0&&(o=s(t,a.children)))}return o}function u(t,e){return e.some((function(e){return r.isTag(e)&&(t(e)||e.children.length>0&&u(t,e.children))}))}function c(t,e){var n,o,i=[],a=e.filter(r.isTag);while(o=a.shift()){var s=null===(n=o.children)||void 0===n?void 0:n.filter(r.isTag);s&&s.length>0&&a.unshift.apply(a,s),t(o)&&i.push(o)}return i}e.filter=o,e.find=i,e.findOneChild=a,e.findOne=s,e.existsOne=u,e.findAll=c},7373:function(t,e,n){"use strict";var r=n("62c4"),o=Object.keys;t.exports=function(t){return o(r(t)?Object(t):t)}},"73aa":function(t,e,n){"use strict";var r=n("3fb5"),o=n("d8d6");function i(t,e,n){o.call(this,t,e,n,{noCredentials:!0})}r(i,o),i.enabled=o.enabled,t.exports=i},"73ac":function(t,e,n){var r=n("743f"),o=n("b047"),i=n("99d3"),a=i&&i.isTypedArray,s=a?o(a):r;t.exports=s},7418:function(t,e){e.f=Object.getOwnPropertySymbols},"743f":function(t,e,n){var r=n("3729"),o=n("b218"),i=n("1310"),a="[object Arguments]",s="[object Array]",u="[object Boolean]",c="[object Date]",f="[object Error]",l="[object Function]",p="[object Map]",h="[object Number]",d="[object Object]",v="[object RegExp]",g="[object Set]",b="[object String]",m="[object WeakMap]",y="[object ArrayBuffer]",_="[object DataView]",w="[object Float32Array]",x="[object Float64Array]",E="[object Int8Array]",D="[object Int16Array]",A="[object Int32Array]",C="[object Uint8Array]",S="[object Uint8ClampedArray]",F="[object Uint16Array]",k="[object Uint32Array]",O={};function T(t){return i(t)&&o(t.length)&&!!O[r(t)]}O[w]=O[x]=O[E]=O[D]=O[A]=O[C]=O[S]=O[F]=O[k]=!0,O[a]=O[s]=O[y]=O[u]=O[_]=O[c]=O[f]=O[l]=O[p]=O[h]=O[d]=O[v]=O[g]=O[b]=O[m]=!1,t.exports=T},7463:function(t,e){t.exports={}},"746f":function(t,e,n){var r=n("428f"),o=n("5135"),i=n("e538"),a=n("9bf2").f;t.exports=function(t){var e=r.Symbol||(r.Symbol={});o(e,t)||a(e,t,{value:i.f(t)})}},"74e7":function(t,e,n){var r=n("bc59");t.exports=r},"74fd":function(t,e,n){var r=n("9bfb");r("observable")},"750a":function(t,e,n){var r=n("c869"),o=n("bcdf"),i=n("ac41"),a=1/0,s=r&&1/i(new r([,-0]))[1]==a?function(t){return new r(t)}:o;t.exports=s},7530:function(t,e,n){var r=n("1a8c"),o=Object.create,i=function(){function t(){}return function(e){if(!r(e))return{};if(o)return o(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();t.exports=i},7577:function(t,e,n){"use strict";var r=n("3fb5"),o=n("621f"),i=n("f7a9"),a=function(){};function s(t){return function(e,n,r){a("create ajax sender",e,n);var i={};"string"===typeof n&&(i.headers={"Content-type":"text/plain"});var s=o.addPath(e,"/xhr_send"),u=new t("POST",s,n,i);return u.once("finish",(function(t){if(a("finish",t),u=null,200!==t&&204!==t)return r(new Error("http status "+t));r()})),function(){a("abort"),u.close(),u=null;var t=new Error("Aborted");t.code=1e3,r(t)}}}function u(t,e,n,r){i.call(this,t,e,s(r),n,r)}r(u,i),t.exports=u},"764b":function(t,e){t.exports={}},"766b":function(t,e,n){"use strict";var r=n("4180").f,o=n("4896"),i=n("0aea"),a=n("6414"),s=n("5f7d"),u=n("5b57"),c=n("4056"),f=n("d383"),l=n("c1b2"),p=n("6594").fastKey,h=n("2f5a"),d=h.set,v=h.getterFor;t.exports={getConstructor:function(t,e,n,c){var f=t((function(t,r){s(t,f,e),d(t,{type:e,index:o(null),first:void 0,last:void 0,size:0}),l||(t.size=0),void 0!=r&&u(r,t[c],t,n)})),h=v(e),g=function(t,e,n){var r,o,i=h(t),a=b(t,e);return a?a.value=n:(i.last=a={index:o=p(e,!0),key:e,value:n,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=a),r&&(r.next=a),l?i.size++:t.size++,"F"!==o&&(i.index[o]=a)),t},b=function(t,e){var n,r=h(t),o=p(e);if("F"!==o)return r.index[o];for(n=r.first;n;n=n.next)if(n.key==e)return n};return i(f.prototype,{clear:function(){var t=this,e=h(t),n=e.index,r=e.first;while(r)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete n[r.index],r=r.next;e.first=e.last=void 0,l?e.size=0:t.size=0},delete:function(t){var e=this,n=h(e),r=b(e,t);if(r){var o=r.next,i=r.previous;delete n.index[r.index],r.removed=!0,i&&(i.next=o),o&&(o.previous=i),n.first==r&&(n.first=o),n.last==r&&(n.last=i),l?n.size--:e.size--}return!!r},forEach:function(t){var e,n=h(this),r=a(t,arguments.length>1?arguments[1]:void 0,3);while(e=e?e.next:n.first){r(e.value,e.key,this);while(e&&e.removed)e=e.previous}},has:function(t){return!!b(this,t)}}),i(f.prototype,n?{get:function(t){var e=b(this,t);return e&&e.value},set:function(t,e){return g(this,0===t?0:t,e)}}:{add:function(t){return g(this,t=0===t?0:t,t)}}),l&&r(f.prototype,"size",{get:function(){return h(this).size}}),f},setStrong:function(t,e,n){var r=e+" Iterator",o=v(e),i=v(r);c(t,e,(function(t,e){d(this,{type:r,target:t,state:o(t),kind:e,last:void 0})}),(function(){var t=i(this),e=t.kind,n=t.last;while(n&&n.removed)n=n.previous;return t.target&&(t.last=n=n?n.next:t.state.first)?"keys"==e?{value:n.key,done:!1}:"values"==e?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),n?"entries":"values",!n,!0),f(e)}}},7685:function(t,e,n){var r=n("3ac6"),o=n("8fad"),i="__core-js_shared__",a=r[i]||o(i,{});t.exports=a},"76dd":function(t,e,n){var r=n("ce86");function o(t){return null==t?"":r(t)}t.exports=o},7725:function(t,e,n){"use strict";var r,o=Array.prototype,i=Object.prototype,a=Function.prototype,s=String.prototype,u=o.slice,c=i.toString,f=function(t){return"[object Function]"===i.toString.call(t)},l=function(t){return"[object Array]"===c.call(t)},p=function(t){return"[object String]"===c.call(t)},h=Object.defineProperty&&function(){try{return Object.defineProperty({},"x",{}),!0}catch(t){return!1}}();r=h?function(t,e,n,r){!r&&e in t||Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:!0,value:n})}:function(t,e,n,r){!r&&e in t||(t[e]=n)};var d=function(t,e,n){for(var o in e)i.hasOwnProperty.call(e,o)&&r(t,o,e[o],n)},v=function(t){if(null==t)throw new TypeError("can't convert "+t+" to object");return Object(t)};function g(t){var e=+t;return e!==e?e=0:0!==e&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function b(t){return t>>>0}function m(){}d(a,{bind:function(t){var e=this;if(!f(e))throw new TypeError("Function.prototype.bind called on incompatible "+e);for(var n=u.call(arguments,1),r=function(){if(this instanceof s){var r=e.apply(this,n.concat(u.call(arguments)));return Object(r)===r?r:this}return e.apply(t,n.concat(u.call(arguments)))},o=Math.max(0,e.length-n.length),i=[],a=0;a>>0;if(!f(t))throw new TypeError;while(++o>>0;if(!n)return-1;var r=0;for(arguments.length>1&&(r=g(arguments[1])),r=r>=0?r:Math.max(0,n+r);r1?function(){var t=void 0===/()??/.exec("")[1];s.split=function(e,n){var r=this;if(void 0===e&&0===n)return[];if("[object RegExp]"!==c.call(e))return E.call(this,e,n);var i,a,s,u,f=[],l=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":""),p=0;e=new RegExp(e.source,l+"g"),r+="",t||(i=new RegExp("^"+e.source+"$(?!\\s)",l)),n=void 0===n?-1>>>0:b(n);while(a=e.exec(r)){if(s=a.index+a[0].length,s>p&&(f.push(r.slice(p,a.index)),!t&&a.length>1&&a[0].replace(i,(function(){for(var t=1;t1&&a.index=n))break;e.lastIndex===a.index&&e.lastIndex++}return p===r.length?!u&&e.test("")||f.push(""):f.push(r.slice(p)),f.length>n?f.slice(0,n):f}}():"0".split(void 0,0).length&&(s.split=function(t,e){return void 0===t&&0===e?[]:E.call(this,t,e)});var D=s.substr,A="".substr&&"b"!=="0b".substr(-1);d(s,{substr:function(t,e){return D.call(this,t<0&&(t=this.length+t)<0?0:t,e)}},A)},"775a":function(t,e,n){var r,o=n("a327");"string"===typeof o&&(o=[[t.i,o,""]]);var i={hmr:!0};i.transform=r,i.insertInto=void 0;n("6844")(o,i);o.locals&&(t.exports=o.locals)},"77b2":function(t,e,n){var r=n("c1b2"),o=n("06fa"),i=n("7a37");t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},"780f":function(t,e,n){"use strict";t.exports=i;var r=n("27bf"),o=Object.create(n("3a7c"));function i(t){if(!(this instanceof i))return new i(t);r.call(this,t)}o.inherits=n("3fb5"),o.inherits(i,r),i.prototype._transform=function(t,e,n){n(null,t)}},7813:function(t,e,n){"use strict";var r=n("e76e"),o=n("65b8"),i=n("4573"),a=n("acf5"),s=n("2d80");function u(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function c(t,e){for(var n=0;n1?n-1:0),o=1;o0)&&i(t=this.params).call(t,(function(t,r){r===e.params.length-1&&(o(t).call(t," ")>-1||":"===t[0])?n.push(":"+t):n.push(t)}));return n.join(" ")}},{key:"toJson",value:function(){return{tags:r({},this.tags),source:this.prefix,command:this.command,params:this.params}}}]),t}()},7839:function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"78a2":function(t,e){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},"78b2":function(t,e,n){t.exports=n("b5b3")},"78e7":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"793c":function(t,e,n){n("af81");var r=n("764b");t.exports=r.parseInt},7948:function(t,e){function n(t,e){var n=-1,r=null==t?0:t.length,o=Array(r);while(++n",p="<",h="prototype",d="script",v=f("IE_PROTO"),g=function(){},b=function(t){return p+d+l+t+p+"/"+d+l},m=function(t){t.write(b("")),t.close();var e=t.parentWindow.Object;return t=null,e},y=function(){var t,e=c("iframe"),n="java"+d+":";return e.style.display="none",u.appendChild(e),e.src=String(n),t=e.contentWindow.document,t.open(),t.write(b("document.F=Object")),t.close(),t.F},_=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(e){}_=r?m(r):y();var t=a.length;while(t--)delete _[h][a[t]];return _()};s[v]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(g[h]=o(t),n=new g,g[h]=null,n[v]=t):n=_(),void 0===e?n:i(n,e)}},"7c74":function(t,e,n){var r=n("b337");t.exports=r},"7c78":function(t,e,n){t.exports=n("b83c")},"7d1f":function(t,e,n){var r=n("087d"),o=n("6747");function i(t,e,n){var i=e(t);return o(t)?i:r(i,n(t))}t.exports=i},"7d72":function(t,e,n){"use strict";var r=n("8707").Buffer,o=r.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function i(t){if(!t)return"utf8";var e;while(1)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function a(t){var e=i(t);if("string"!==typeof e&&(r.isEncoding===o||!o(t)))throw new Error("Unknown encoding: "+t);return e||t}function s(t){var e;switch(this.encoding=a(t),this.encoding){case"utf16le":this.text=d,this.end=v,e=4;break;case"utf8":this.fillLast=l,e=4;break;case"base64":this.text=g,this.end=b,e=3;break;default:return this.write=m,void(this.end=y)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(e)}function u(t){return t<=127?0:t>>5===6?2:t>>4===14?3:t>>3===30?4:t>>6===2?-1:-2}function c(t,e,n){var r=e.length-1;if(r=0?(o>0&&(t.lastNeed=o-1),o):--r=0?(o>0&&(t.lastNeed=o-2),o):--r=0?(o>0&&(2===o?o=0:t.lastNeed=o-3),o):0))}function f(t,e,n){if(128!==(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!==(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!==(192&e[2]))return t.lastNeed=2,"�"}}function l(t){var e=this.lastTotal-this.lastNeed,n=f(this,t,e);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function p(t,e){var n=c(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var r=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,r),t.toString("utf8",e,r)}function h(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e}function d(t,e){if((t.length-e)%2===0){var n=t.toString("utf16le",e);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function v(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,n)}return e}function g(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function b(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function m(t){return t.toString(this.encoding)}function y(t){return t&&t.length?this.write(t):""}e.StringDecoder=s,s.prototype.write=function(t){if(0===t.length)return"";var e,n;if(this.lastNeed){if(e=this.fillLast(t),void 0===e)return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n1?arguments[1]:void 0)}}),i(s)},"7dd0":function(t,e,n){"use strict";var r=n("23e7"),o=n("9ed3"),i=n("e163"),a=n("d2bb"),s=n("d44e"),u=n("9112"),c=n("6eeb"),f=n("b622"),l=n("c430"),p=n("3f8c"),h=n("ae93"),d=h.IteratorPrototype,v=h.BUGGY_SAFARI_ITERATORS,g=f("iterator"),b="keys",m="values",y="entries",_=function(){return this};t.exports=function(t,e,n,f,h,w,x){o(n,e,f);var E,D,A,C=function(t){if(t===h&&T)return T;if(!v&&t in k)return k[t];switch(t){case b:return function(){return new n(this,t)};case m:return function(){return new n(this,t)};case y:return function(){return new n(this,t)}}return function(){return new n(this)}},S=e+" Iterator",F=!1,k=t.prototype,O=k[g]||k["@@iterator"]||h&&k[h],T=!v&&O||C(h),R="Array"==e&&k.entries||O;if(R&&(E=i(R.call(new t)),d!==Object.prototype&&E.next&&(l||i(E)===d||(a?a(E,d):"function"!=typeof E[g]&&u(E,g,_)),s(E,S,!0,!0),l&&(p[S]=_))),h==m&&O&&O.name!==m&&(F=!0,T=function(){return O.call(this)}),l&&!x||k[g]===T||u(k,g,T),p[e]=T,h)if(D={values:C(m),keys:w?T:C(b),entries:C(y)},x)for(A in D)(v||F||!(A in k))&&c(k,A,D[A]);else r({target:e,proto:!0,forced:v||F},D);return D}},"7de7":function(t,e,n){var r=n("0363"),o=r("iterator"),i=!1;try{var a=0,s={next:function(){return{done:!!a++}},return:function(){i=!0}};s[o]=function(){return this},Array.from(s,(function(){throw 2}))}catch(u){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var r={};r[o]=function(){return{next:function(){return{done:n=!0}}}},t(r)}catch(u){}return n}},"7e64":function(t,e,n){var r=n("5e2e"),o=n("efb6"),i=n("2fcc"),a=n("802a"),s=n("55a3"),u=n("d02c");function c(t){var e=this.__data__=new r(t);this.size=e.size}c.prototype.clear=o,c.prototype["delete"]=i,c.prototype.get=a,c.prototype.has=s,c.prototype.set=u,t.exports=c},"7e84":function(t,e,n){"use strict";var r=n("1bd5"),o=n("2d80");o(e,"__esModule",{value:!0}),e.default=s;var i=r(n("cca4")),a=r(n("8c96"));function s(t){return e.default=s=a.default?i.default:function(t){return t.__proto__||(0,i.default)(t)},s(t)}},"7ed2":function(t,e){var n="__lodash_hash_undefined__";function r(t){return this.__data__.set(t,n),this}t.exports=r},"7ef9":function(t,e,n){var r=n("6f8d"),o=n("dfdb"),i=n("ad27");t.exports=function(t,e){if(r(t),o(e)&&e.constructor===t)return e;var n=i.f(t),a=n.resolve;return a(e),n.promise}},"7f9a":function(t,e,n){var r=n("da84"),o=n("8925"),i=r.WeakMap;t.exports="function"===typeof i&&/native code/.test(o(i))},"800f":function(t,e,n){t.exports=n("079c")},8012:function(t,e,n){var r=n("36c5");t.exports=r},"801c":function(t,e,n){n("8b7b");var r=n("764b");t.exports=r.Object.getOwnPropertySymbols},8029:function(t){t.exports=JSON.parse('{"elementNames":{"altglyph":"altGlyph","altglyphdef":"altGlyphDef","altglyphitem":"altGlyphItem","animatecolor":"animateColor","animatemotion":"animateMotion","animatetransform":"animateTransform","clippath":"clipPath","feblend":"feBlend","fecolormatrix":"feColorMatrix","fecomponenttransfer":"feComponentTransfer","fecomposite":"feComposite","feconvolvematrix":"feConvolveMatrix","fediffuselighting":"feDiffuseLighting","fedisplacementmap":"feDisplacementMap","fedistantlight":"feDistantLight","fedropshadow":"feDropShadow","feflood":"feFlood","fefunca":"feFuncA","fefuncb":"feFuncB","fefuncg":"feFuncG","fefuncr":"feFuncR","fegaussianblur":"feGaussianBlur","feimage":"feImage","femerge":"feMerge","femergenode":"feMergeNode","femorphology":"feMorphology","feoffset":"feOffset","fepointlight":"fePointLight","fespecularlighting":"feSpecularLighting","fespotlight":"feSpotLight","fetile":"feTile","feturbulence":"feTurbulence","foreignobject":"foreignObject","glyphref":"glyphRef","lineargradient":"linearGradient","radialgradient":"radialGradient","textpath":"textPath"},"attributeNames":{"definitionurl":"definitionURL","attributename":"attributeName","attributetype":"attributeType","basefrequency":"baseFrequency","baseprofile":"baseProfile","calcmode":"calcMode","clippathunits":"clipPathUnits","diffuseconstant":"diffuseConstant","edgemode":"edgeMode","filterunits":"filterUnits","glyphref":"glyphRef","gradienttransform":"gradientTransform","gradientunits":"gradientUnits","kernelmatrix":"kernelMatrix","kernelunitlength":"kernelUnitLength","keypoints":"keyPoints","keysplines":"keySplines","keytimes":"keyTimes","lengthadjust":"lengthAdjust","limitingconeangle":"limitingConeAngle","markerheight":"markerHeight","markerunits":"markerUnits","markerwidth":"markerWidth","maskcontentunits":"maskContentUnits","maskunits":"maskUnits","numoctaves":"numOctaves","pathlength":"pathLength","patterncontentunits":"patternContentUnits","patterntransform":"patternTransform","patternunits":"patternUnits","pointsatx":"pointsAtX","pointsaty":"pointsAtY","pointsatz":"pointsAtZ","preservealpha":"preserveAlpha","preserveaspectratio":"preserveAspectRatio","primitiveunits":"primitiveUnits","refx":"refX","refy":"refY","repeatcount":"repeatCount","repeatdur":"repeatDur","requiredextensions":"requiredExtensions","requiredfeatures":"requiredFeatures","specularconstant":"specularConstant","specularexponent":"specularExponent","spreadmethod":"spreadMethod","startoffset":"startOffset","stddeviation":"stdDeviation","stitchtiles":"stitchTiles","surfacescale":"surfaceScale","systemlanguage":"systemLanguage","tablevalues":"tableValues","targetx":"targetX","targety":"targetY","textlength":"textLength","viewbox":"viewBox","viewtarget":"viewTarget","xchannelselector":"xChannelSelector","ychannelselector":"yChannelSelector","zoomandpan":"zoomAndPan"}}')},"802a":function(t,e){function n(t){return this.__data__.get(t)}t.exports=n},8057:function(t,e){function n(t,e){var n=-1,r=null==t?0:t.length;while(++n1&&(a=u(a,o(arguments[1]))),a<0&&(a=n+a);a>=0;a--)if(a in e&&e[a]===t)return a||0;return-1}:c},"85d3":function(t,e,n){t.exports=n("9a13")},"85e3":function(t,e){function n(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}t.exports=n},"85fe":function(t,e,n){"use strict";(function(t){function r(t){return r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:{},a=function(a){for(var u=arguments.length,c=new Array(u>1?u-1:0),f=1;f1){var r=t.find((function(t){return t.isIntersecting}));r&&(e=r)}if(n.callback){var o=e.isIntersecting&&e.intersectionRatio>=n.threshold;if(o===n.oldResult)return;n.oldResult=o,n.callback(o,e)}}),this.options.intersection),e.context.$nextTick((function(){n.observer&&n.observer.observe(n.el)}))}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&this.options.intersection.threshold||0}}]),t}();function v(t,e,n){var r=e.value;if(r)if("undefined"===typeof IntersectionObserver)console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var o=new d(t,r,n);t._vue_visibilityState=o}}function g(t,e,n){var r=e.value,o=e.oldValue;if(!h(r,o)){var i=t._vue_visibilityState;r?i?i.createObserver(r,n):v(t,{value:r},n):b(t)}}function b(t){var e=t._vue_visibilityState;e&&(e.destroyObserver(),delete t._vue_visibilityState)}var m={bind:v,update:g,unbind:b};function y(t){t.directive("observe-visibility",m)}var _={version:"0.4.6",install:y},w=null;"undefined"!==typeof window?w=window.Vue:"undefined"!==typeof t&&(w=t.Vue),w&&w.use(_)}).call(this,n("c8ba"))},8604:function(t,e,n){var r=n("26e8"),o=n("e2c0");function i(t,e){return null!=t&&o(t,e,r)}t.exports=i},"861d":function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},8707:function(t,e,n){ +/*! safe-buffer. MIT License. Feross Aboukhadijeh */ +var r=n("b639"),o=r.Buffer;function i(t,e){for(var n in t)e[n]=t[n]}function a(t,e,n){return o(t,e,n)}o.from&&o.alloc&&o.allocUnsafe&&o.allocUnsafeSlow?t.exports=r:(i(r,e),e.Buffer=a),a.prototype=Object.create(o.prototype),i(o,a),a.from=function(t,e,n){if("number"===typeof t)throw new TypeError("Argument must not be a number");return o(t,e,n)},a.alloc=function(t,e,n){if("number"!==typeof t)throw new TypeError("Argument must be a number");var r=o(t);return void 0!==e?"string"===typeof n?r.fill(e,n):r.fill(e):r.fill(0),r},a.allocUnsafe=function(t){if("number"!==typeof t)throw new TypeError("Argument must be a number");return o(t)},a.allocUnsafeSlow=function(t){if("number"!==typeof t)throw new TypeError("Argument must be a number");return r.SlowBuffer(t)}},"872a":function(t,e,n){var r=n("3b4a");function o(t,e,n){"__proto__"==e&&r?r(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}t.exports=o},8730:function(t,e,n){var r=n("100e"),o=n("d10d"),i=r(o);t.exports=i},8925:function(t,e,n){var r=n("c6cd"),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return o.call(t)}),t.exports=r.inspectSource},"898c":function(t,e,n){t.exports=n("16f1")},"89b6":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.encode=e.decodeStrict=e.decode=void 0;var r=n("a16e"),o=n("051a");function i(t,e){return(!e||e<=0?r.decodeXML:r.decodeHTML)(t)}function a(t,e){return(!e||e<=0?r.decodeXML:r.decodeHTMLStrict)(t)}function s(t,e){return(!e||e<=0?o.encodeXML:o.encodeHTML)(t)}e.decode=i,e.decodeStrict=a,e.encode=s;var u=n("051a");Object.defineProperty(e,"encodeXML",{enumerable:!0,get:function(){return u.encodeXML}}),Object.defineProperty(e,"encodeHTML",{enumerable:!0,get:function(){return u.encodeHTML}}),Object.defineProperty(e,"escape",{enumerable:!0,get:function(){return u.escape}}),Object.defineProperty(e,"encodeHTML4",{enumerable:!0,get:function(){return u.encodeHTML}}),Object.defineProperty(e,"encodeHTML5",{enumerable:!0,get:function(){return u.encodeHTML}});var c=n("a16e");Object.defineProperty(e,"decodeXML",{enumerable:!0,get:function(){return c.decodeXML}}),Object.defineProperty(e,"decodeHTML",{enumerable:!0,get:function(){return c.decodeHTML}}),Object.defineProperty(e,"decodeHTMLStrict",{enumerable:!0,get:function(){return c.decodeHTMLStrict}}),Object.defineProperty(e,"decodeHTML4",{enumerable:!0,get:function(){return c.decodeHTML}}),Object.defineProperty(e,"decodeHTML5",{enumerable:!0,get:function(){return c.decodeHTML}}),Object.defineProperty(e,"decodeHTML4Strict",{enumerable:!0,get:function(){return c.decodeHTMLStrict}}),Object.defineProperty(e,"decodeHTML5Strict",{enumerable:!0,get:function(){return c.decodeHTMLStrict}}),Object.defineProperty(e,"decodeXMLStrict",{enumerable:!0,get:function(){return c.decodeXML}})},"89ba":function(t,e,n){"use strict";var r=n("1bd5"),o=n("2d80");o(e,"__esModule",{value:!0}),e.default=s;var i=r(n("62fc"));function a(t,e,n,r,o,a,s){try{var u=t[a](s),c=u.value}catch(f){return void n(f)}u.done?e(c):i.default.resolve(c).then(r,o)}function s(t){return function(){var e=this,n=arguments;return new i.default((function(r,o){var i=t.apply(e,n);function s(t){a(i,r,o,s,u,"next",t)}function u(t){a(i,r,o,s,u,"throw",t)}s(void 0)}))}}},"89bc":function(t,e,n){"use strict";var r=n("ada0").EventEmitter,o=n("3fb5"),i=n("930c"),a=n("d5e5"),s=function(){};function u(t,e){r.call(this);var n=this,o=+new Date;this.xo=new e("GET",t),this.xo.once("finish",(function(t,e){var r,u;if(200===t){if(u=+new Date-o,e)try{r=i.parse(e)}catch(c){s("bad json",e)}a.isObject(r)||(r={})}n.emit("finish",r,u),n.removeAllListeners()}))}o(u,r),u.prototype.close=function(){this.removeAllListeners(),this.xo.close()},t.exports=u},"89ea":function(t,e,n){var r=n("1257"),o=n("2b3e"),i=1;function a(t,e,n){var a=e&i,s=r(t);function u(){var e=this&&this!==o&&this instanceof u?s:t;return e.apply(a?n:this,arguments)}return u}t.exports=a},"8a6e":function(t,e,n){t.exports=n.p+"static/fonts/fontawesome-webfont.b06871f2.ttf"},"8aa5":function(t,e,n){"use strict";var r=n("6547").charAt;t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},"8b44":function(t,e,n){"use strict";var r=n("a5eb"),o=n("c1b2"),i=n("5779"),a=n("ec62"),s=n("4896"),u=n("4180"),c=n("2c6c"),f=n("5b57"),l=n("0273"),p=n("2f5a"),h=p.set,d=p.getterFor("AggregateError"),v=function(t,e){var n=this;if(!(n instanceof v))return new v(t,e);a&&(n=a(new Error(e),i(n)));var r=[];return f(t,r.push,r),o?h(n,{errors:r,type:"AggregateError"}):n.errors=r,void 0!==e&&l(n,"message",String(e)),n};v.prototype=s(Error.prototype,{constructor:c(5,v),message:c(5,""),name:c(5,"AggregateError")}),o&&u.f(v.prototype,"errors",{get:function(){return d(this).errors},configurable:!0}),r({global:!0},{AggregateError:v})},"8b72":function(t,e,n){var r=n("42e3");t.exports=r},"8b7b":function(t,e,n){"use strict";var r=n("a5eb"),o=n("3ac6"),i=n("9883"),a=n("7042"),s=n("c1b2"),u=n("1e63"),c=n("62d0"),f=n("06fa"),l=n("78e7"),p=n("6220"),h=n("dfdb"),d=n("6f8d"),v=n("4fff"),g=n("a421"),b=n("7168"),m=n("2c6c"),y=n("4896"),_=n("a016"),w=n("0cf0"),x=n("8e11"),E=n("a205"),D=n("44ba"),A=n("4180"),C=n("7043"),S=n("0273"),F=n("d666"),k=n("d659"),O=n("b2ed"),T=n("6e9a"),R=n("3e80"),L=n("0363"),j=n("beea"),P=n("9bfb"),N=n("2874"),I=n("2f5a"),B=n("dee0").forEach,M=O("hidden"),U="Symbol",$="prototype",q=L("toPrimitive"),z=I.set,H=I.getterFor(U),V=Object[$],W=o.Symbol,G=i("JSON","stringify"),Y=D.f,X=A.f,J=x.f,K=C.f,Z=k("symbols"),Q=k("op-symbols"),tt=k("string-to-symbol-registry"),et=k("symbol-to-string-registry"),nt=k("wks"),rt=o.QObject,ot=!rt||!rt[$]||!rt[$].findChild,it=s&&f((function(){return 7!=y(X({},"a",{get:function(){return X(this,"a",{value:7}).a}})).a}))?function(t,e,n){var r=Y(V,e);r&&delete V[e],X(t,e,n),r&&t!==V&&X(V,e,r)}:X,at=function(t,e){var n=Z[t]=y(W[$]);return z(n,{type:U,tag:t,description:e}),s||(n.description=e),n},st=c?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof W},ut=function(t,e,n){t===V&&ut(Q,e,n),d(t);var r=b(e,!0);return d(n),l(Z,r)?(n.enumerable?(l(t,M)&&t[M][r]&&(t[M][r]=!1),n=y(n,{enumerable:m(0,!1)})):(l(t,M)||X(t,M,m(1,{})),t[M][r]=!0),it(t,r,n)):X(t,r,n)},ct=function(t,e){d(t);var n=g(e),r=_(n).concat(dt(n));return B(r,(function(e){s&&!lt.call(n,e)||ut(t,e,n[e])})),t},ft=function(t,e){return void 0===e?y(t):ct(y(t),e)},lt=function(t){var e=b(t,!0),n=K.call(this,e);return!(this===V&&l(Z,e)&&!l(Q,e))&&(!(n||!l(this,e)||!l(Z,e)||l(this,M)&&this[M][e])||n)},pt=function(t,e){var n=g(t),r=b(e,!0);if(n!==V||!l(Z,r)||l(Q,r)){var o=Y(n,r);return!o||!l(Z,r)||l(n,M)&&n[M][r]||(o.enumerable=!0),o}},ht=function(t){var e=J(g(t)),n=[];return B(e,(function(t){l(Z,t)||l(T,t)||n.push(t)})),n},dt=function(t){var e=t===V,n=J(e?Q:g(t)),r=[];return B(n,(function(t){!l(Z,t)||e&&!l(V,t)||r.push(Z[t])})),r};if(u||(W=function(){if(this instanceof W)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=R(t),n=function(t){this===V&&n.call(Q,t),l(this,M)&&l(this[M],e)&&(this[M][e]=!1),it(this,e,m(1,t))};return s&&ot&&it(V,e,{configurable:!0,set:n}),at(e,t)},F(W[$],"toString",(function(){return H(this).tag})),F(W,"withoutSetter",(function(t){return at(R(t),t)})),C.f=lt,A.f=ut,D.f=pt,w.f=x.f=ht,E.f=dt,j.f=function(t){return at(L(t),t)},s&&(X(W[$],"description",{configurable:!0,get:function(){return H(this).description}}),a||F(V,"propertyIsEnumerable",lt,{unsafe:!0}))),r({global:!0,wrap:!0,forced:!u,sham:!u},{Symbol:W}),B(_(nt),(function(t){P(t)})),r({target:U,stat:!0,forced:!u},{for:function(t){var e=String(t);if(l(tt,e))return tt[e];var n=W(e);return tt[e]=n,et[n]=e,n},keyFor:function(t){if(!st(t))throw TypeError(t+" is not a symbol");if(l(et,t))return et[t]},useSetter:function(){ot=!0},useSimple:function(){ot=!1}}),r({target:"Object",stat:!0,forced:!u,sham:!s},{create:ft,defineProperty:ut,defineProperties:ct,getOwnPropertyDescriptor:pt}),r({target:"Object",stat:!0,forced:!u},{getOwnPropertyNames:ht,getOwnPropertySymbols:dt}),r({target:"Object",stat:!0,forced:f((function(){E.f(1)}))},{getOwnPropertySymbols:function(t){return E.f(v(t))}}),G){var vt=!u||f((function(){var t=W();return"[null]"!=G([t])||"{}"!=G({a:t})||"{}"!=G(Object(t))}));r({target:"JSON",stat:!0,forced:vt},{stringify:function(t,e,n){var r,o=[t],i=1;while(arguments.length>i)o.push(arguments[i++]);if(r=e,(h(e)||void 0!==t)&&!st(t))return p(e)||(e=function(t,e){if("function"==typeof r&&(e=r.call(this,t,e)),!st(e))return e}),o[1]=e,G.apply(null,o)}})}W[$][q]||S(W[$],q,W[$].valueOf),N(W,U),T[M]=!0},"8b83":function(t,e,n){"use strict";var r=n("1bd5"),o=n("2d80");o(e,"__esModule",{value:!0}),e.default=s;var i=r(n("bf2d")),a=r(n("9aa6"));function s(t,e){return!e||"object"!==(0,i.default)(e)&&"function"!==typeof e?(0,a.default)(t):e}},"8c58":function(t,e,n){var r=n("0363"),o=r("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[o]=!1,"/./"[t](e)}catch(r){}}return!1}},"8c5a":function(t,e,n){"use strict";var r=n("0cae"),o=n("766b");t.exports=r("Set",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),o)},"8c96":function(t,e,n){t.exports=n("e1ba")},"8cfd":function(t,e,n){var r=n("3327"),o=Function.prototype;t.exports=function(t){var e=t.bind;return t===o||t instanceof Function&&e===o.bind?r:e}},"8d05":function(t,e,n){var r=n("9bfb");r("toPrimitive")},"8db3":function(t,e,n){var r=n("47f5");function o(t,e){var n=null==t?0:t.length;return!!n&&r(t,e,0)>-1}t.exports=o},"8e06":function(t,e,n){var r=n("1b0d");t.exports=r},"8e11":function(t,e,n){var r=n("a421"),o=n("0cf0").f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(t){try{return o(t)}catch(e){return a.slice()}};t.exports.f=function(t){return a&&"[object Window]"==i.call(t)?s(t):o(r(t))}},"8eeb":function(t,e,n){var r=n("32b3"),o=n("872a");function i(t,e,n,i){var a=!n;n||(n={});var s=-1,u=e.length;while(++s=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:e[r],done:!1}:{value:[r,e[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},9112:function(t,e,n){var r=n("83ab"),o=n("9bf2"),i=n("5c6c");t.exports=r?function(t,e,n){return o.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"914e":function(t,e,n){var r=n("65f9");t.exports=r},9152:function(t,e){e.read=function(t,e,n,r,o){var i,a,s=8*o-r-1,u=(1<>1,f=-7,l=n?o-1:0,p=n?-1:1,h=t[e+l];for(l+=p,i=h&(1<<-f)-1,h>>=-f,f+=s;f>0;i=256*i+t[e+l],l+=p,f-=8);for(a=i&(1<<-f)-1,i>>=-f,f+=r;f>0;a=256*a+t[e+l],l+=p,f-=8);if(0===i)i=1-c;else{if(i===u)return a?NaN:1/0*(h?-1:1);a+=Math.pow(2,r),i-=c}return(h?-1:1)*a*Math.pow(2,i-r)},e.write=function(t,e,n,r,o,i){var a,s,u,c=8*i-o-1,f=(1<>1,p=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:i-1,d=r?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=f):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),e+=a+l>=1?p/u:p*Math.pow(2,1-l),e*u>=2&&(a++,u/=2),a+l>=f?(s=0,a=f):a+l>=1?(s=(e*u-1)*Math.pow(2,o),a+=l):(s=e*Math.pow(2,l-1)*Math.pow(2,o),a=0));o>=8;t[n+h]=255&s,h+=d,s/=256,o-=8);for(a=a<0;t[n+h]=255&a,h+=d,a/=256,c-=8);t[n+h-d]|=128*v}},"91e9":function(t,e){function n(t,e){return function(n){return t(e(n))}}t.exports=n},9263:function(t,e,n){"use strict";var r=n("ad6d"),o=n("9f7f"),i=RegExp.prototype.exec,a=String.prototype.replace,s=i,u=function(){var t=/a/,e=/b*/g;return i.call(t,"a"),i.call(e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),c=o.UNSUPPORTED_Y||o.BROKEN_CARET,f=void 0!==/()??/.exec("")[1],l=u||f||c;l&&(s=function(t){var e,n,o,s,l=this,p=c&&l.sticky,h=r.call(l),d=l.source,v=0,g=t;return p&&(h=h.replace("y",""),-1===h.indexOf("g")&&(h+="g"),g=String(t).slice(l.lastIndex),l.lastIndex>0&&(!l.multiline||l.multiline&&"\n"!==t[l.lastIndex-1])&&(d="(?: "+d+")",g=" "+g,v++),n=new RegExp("^(?:"+d+")",h)),f&&(n=new RegExp("^"+d+"$(?!\\s)",h)),u&&(e=l.lastIndex),o=i.call(p?n:l,g),p?o?(o.input=o.input.slice(v),o[0]=o[0].slice(v),o.index=l.lastIndex,l.lastIndex+=o[0].length):l.lastIndex=0:u&&o&&(l.lastIndex=l.global?o.index+o[0].length:e),f&&o&&o.length>1&&a.call(o[0],n,(function(){for(s=1;s1)))/4)-f((t-1901+e)/100)+f((t-1601+e)/400)};e=function(t){for(o=f(t/864e5),n=f(o/365.2425)+1970-1;h(n+1,0)<=o;n++);for(r=f((o-h(n,0))/30.42);h(n,r+1)<=o;r++);o=1+o-h(n,r),i=(t%864e5+864e5)%864e5,a=f(i/36e5)%24,s=f(i/6e4)%60,u=f(i/1e3)%60,c=i%1e3}}return T=function(t){return t>-1/0&&t<1/0?(e(t),t=(n<=0||n>=1e4?(n<0?"-":"+")+O(6,n<0?-n:n):O(4,n))+"-"+O(2,r+1)+"-"+O(2,o)+"T"+O(2,a)+":"+O(2,s)+":"+O(2,u)+"."+O(3,c)+"Z",n=r=o=a=s=u=c=null):t=null,t},T(t)};if(y("json-stringify")&&!y("date-serialization")){function R(t){return T(this)}var L=e.stringify;e.stringify=function(t,e,n){var r=i.prototype.toJSON;i.prototype.toJSON=R;var o=L(t,e,n);return i.prototype.toJSON=r,o}}else{var j="\\u00",P=function(t){var e=t.charCodeAt(0),n=F[e];return n||j+O(2,e.toString(16))},N=/[\x00-\x1f\x22\x5c]/g,I=function(t){return N.lastIndex=0,'"'+(N.test(t)?t.replace(N,P):t)+'"'},B=function(t,e,n,r,o,a,s){var u,f,l,p,d,g,m,y,_;if(b((function(){u=e[t]})),"object"==typeof u&&u&&(u.getUTCFullYear&&v.call(u)==w&&u.toJSON===i.prototype.toJSON?u=T(u):"function"==typeof u.toJSON&&(u=u.toJSON(t))),n&&(u=n.call(e,t,u)),u==h)return u===h?u:"null";switch(f=typeof u,"object"==f&&(l=v.call(u)),l||f){case"boolean":case A:return""+u;case"number":case x:return u>-1/0&&u<1/0?""+u:"null";case"string":case E:return I(""+u)}if("object"==typeof u){for(m=s.length;m--;)if(s[m]===u)throw c();if(s.push(u),p=[],y=a,a+=o,l==D){for(g=0,m=u.length;g0)for(n>10&&(n=10),r="";r.length=48&&o<=57||o>=97&&o<=102||o>=65&&o<=70||z();t+=$("0x"+i.slice(e,M));break;default:z()}else{if(34==o)break;o=i.charCodeAt(M),e=M;while(o>=32&&92!=o&&34!=o)o=i.charCodeAt(++M);t+=i.slice(e,M)}if(34==i.charCodeAt(M))return M++,t;z();default:if(e=M,45==o&&(r=!0,o=i.charCodeAt(++M)),o>=48&&o<=57){for(48==o&&(o=i.charCodeAt(M+1),o>=48&&o<=57)&&z(),r=!1;M=48&&o<=57);M++);if(46==i.charCodeAt(M)){for(n=++M;n57)break;n==M&&z(),M=n}if(o=i.charCodeAt(M),101==o||69==o){for(o=i.charCodeAt(++M),43!=o&&45!=o||M++,n=M;n57)break;n==M&&z(),M=n}return+i.slice(e,M)}r&&z();var s=i.slice(M,M+4);if("true"==s)return M+=4,!0;if("fals"==s&&101==i.charCodeAt(M+4))return M+=5,!1;if("null"==s)return M+=4,null;z()}return"$"},V=function(t){var e,n;if("$"==t&&z(),"string"==typeof t){if("@"==(C?t.charAt(0):t[0]))return t.slice(1);if("["==t){for(e=[];;){if(t=H(),"]"==t)break;n?","==t?(t=H(),"]"==t&&z()):z():n=!0,","==t&&z(),e.push(V(t))}return e}if("{"==t){for(e={};;){if(t=H(),"}"==t)break;n?","==t?(t=H(),"}"==t&&z()):z():n=!0,","!=t&&"string"==typeof t&&"@"==(C?t.charAt(0):t[0])&&":"==H()||z(),e[t.slice(1)]=V(H())}return e}z()}return t},W=function(t,e,n){var r=G(t,e,n);r===h?delete t[e]:t[e]=r},G=function(t,e,n){var r,o=t[e];if("object"==typeof o&&o)if(v.call(o)==D)for(r=o.length;r--;)W(v,S,o,r,n);else S(o,(function(t){W(o,t,n)}));return n.call(t,e,o)};e.parse=function(t,e){var n,r;return M=0,U=""+t,n=V(H()),"$"!=H()&&z(),M=U=null,e&&v.call(e)==_?G((r={},r[""]=n,r),"",e):n}}}return e.runInContext=f,e}if(!c||c.global!==c&&c.window!==c&&c.self!==c||(u=c),s&&!i)f(u,s);else{var l=u.JSON,p=u.JSON3,h=!1,d=f(u,u.JSON3={noConflict:function(){return h||(h=!0,u.JSON=l,u.JSON3=p,l=p=null),d}});u.JSON={parse:d.parse,stringify:d.stringify}}i&&(o=function(){return d}.call(e,n,e,t),void 0===o||(t.exports=o))}).call(this)}).call(this,n("62e4")(t),n("c8ba"))},"930e":function(t,e,n){n("9515");var r=n("764b"),o=r.Object,i=t.exports=function(t,e){return o.defineProperties(t,e)};o.defineProperties.sham&&(i.sham=!0)},9361:function(t,e,n){var r=n("d17d");t.exports=r},"936a":function(t,e,n){"use strict";var r=void 0;t.exports=function(t){return t!==r&&null!==t}},9380:function(t,e,n){var r=n("2d7c"),o=n("9f74"),i=n("badf"),a=n("6747");function s(t,e){var n=a(t)?r:o;return n(t,i(e,3))}t.exports=s},"93ed":function(t,e,n){var r=n("4245");function o(t){var e=r(this,t)["delete"](t);return this.size-=e?1:0,e}t.exports=o},9412:function(t,e,n){n("6850");var r=n("a169");t.exports=r("Array").includes},9474:function(t,e,n){t.exports=n("8383")},"94ca":function(t,e,n){var r=n("d039"),o=/#|\.prototype\./,i=function(t,e){var n=s[a(t)];return n==c||n!=u&&("function"==typeof e?r(e):!!e)},a=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},s=i.data={},u=i.NATIVE="N",c=i.POLYFILL="P";t.exports=i},"950a":function(t,e,n){var r=n("30c9");function o(t,e){return function(n,o){if(null==n)return n;if(!r(n))return t(n,o);var i=n.length,a=e?i:-1,s=Object(n);while(e?a--:++a=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(u&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),S(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;S(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:k(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),d}},t}(t.exports);try{regeneratorRuntime=r}catch(o){Function("r","regeneratorRuntime = r")(r)}},"96e9":function(t,e,n){var r=n("3ac6"),o=n("e899"),i=r.WeakMap;t.exports="function"===typeof i&&/native code/.test(o(i))},9717:function(t,e,n){var r=n("9883");t.exports=r("navigator","userAgent")||""},"97a2":function(t,e,n){"use strict";function r(){this._listeners={}}r.prototype.addEventListener=function(t,e){t in this._listeners||(this._listeners[t]=[]);var n=this._listeners[t];-1===n.indexOf(e)&&(n=n.concat([e])),this._listeners[t]=n},r.prototype.removeEventListener=function(t,e){var n=this._listeners[t];if(n){var r=n.indexOf(e);-1===r||(n.length>1?this._listeners[t]=n.slice(0,r).concat(n.slice(r+1)):delete this._listeners[t])}},r.prototype.dispatchEvent=function(){var t=arguments[0],e=t.type,n=1===arguments.length?[t]:Array.apply(null,arguments);if(this["on"+e]&&this["on"+e].apply(this,n),e in this._listeners)for(var r=this._listeners[e],o=0;o1?arguments[1]:void 0)}},"99af":function(t,e,n){"use strict";var r=n("23e7"),o=n("d039"),i=n("e8b5"),a=n("861d"),s=n("7b0b"),u=n("50c4"),c=n("8418"),f=n("65f0"),l=n("1dde"),p=n("b622"),h=n("2d00"),d=p("isConcatSpreadable"),v=9007199254740991,g="Maximum allowed index exceeded",b=h>=51||!o((function(){var t=[];return t[d]=!1,t.concat()[0]!==t})),m=l("concat"),y=function(t){if(!a(t))return!1;var e=t[d];return void 0!==e?!!e:i(t)},_=!b||!m;r({target:"Array",proto:!0,forced:_},{concat:function(t){var e,n,r,o,i,a=s(this),l=f(a,0),p=0;for(e=-1,r=arguments.length;ev)throw TypeError(g);for(n=0;n=v)throw TypeError(g);c(l,p++,i)}return l.length=p,l}})},"99cd":function(t,e){function n(t){return function(e,n,r){var o=-1,i=Object(e),a=r(e),s=a.length;while(s--){var u=a[t?s:++o];if(!1===n(i[u],u,i))break}return e}}t.exports=n},"99d3":function(t,e,n){(function(t){var r=n("585a"),o=e&&!e.nodeType&&e,i=o&&"object"==typeof t&&t&&!t.nodeType&&t,a=i&&i.exports===o,s=a&&r.process,u=function(){try{var t=i&&i.require&&i.require("util").types;return t||s&&s.binding&&s.binding("util")}catch(e){}}();t.exports=u}).call(this,n("62e4")(t))},"99de":function(t,e,n){"use strict";var r=n("1bd5"),o=n("2d80");o(e,"__esModule",{value:!0}),e.default=s;var i=r(n("53ca")),a=r(n("257e"));function s(t,e){return!e||"object"!==(0,i.default)(e)&&"function"!==typeof e?(0,a.default)(t):e}},"9a13":function(t,e,n){var r=n("a38c");t.exports=r},"9a6b":function(t,e,n){"use strict";var r=n("a5eb"),o=n("ff96").trim,i=n("83ee");r({target:"String",proto:!0,forced:i("trim")},{trim:function(){return o(this)}})},"9a73":function(t,e,n){t.exports=n("8e06")},"9a83":function(t,e,n){"use strict";function r(t){this.type=t}r.prototype.initEvent=function(t,e,n){return this.type=t,this.bubbles=e,this.cancelable=n,this.timeStamp=+new Date,this},r.prototype.stopPropagation=function(){},r.prototype.preventDefault=function(){},r.CAPTURING_PHASE=1,r.AT_TARGET=2,r.BUBBLING_PHASE=3,t.exports=r},"9aa6":function(t,e,n){"use strict";var r=n("2d80");function o(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}r(e,"__esModule",{value:!0}),e.default=o},"9ac4":function(t,e,n){var r=n("9bfb");r("species")},"9aff":function(t,e,n){var r=n("9638"),o=n("30c9"),i=n("c098"),a=n("1a8c");function s(t,e,n){if(!a(n))return!1;var s=typeof e;return!!("number"==s?o(n)&&i(e,n.length):"string"==s&&e in n)&&r(n[e],t)}t.exports=s},"9b02":function(t,e,n){var r=n("656b");function o(t,e,n){var o=null==t?void 0:r(t,e);return void 0===o?n:o}t.exports=o},"9b77":function(t,e,n){"use strict";t.exports=n("6a87")},"9b8d":function(t,e){t.exports=function(t){try{return{error:!1,value:t()}}catch(e){return{error:!0,value:e}}}},"9bb8":function(t,e,n){var r=n("a5eb"),o=n("06fa"),i=n("a421"),a=n("44ba").f,s=n("c1b2"),u=o((function(){a(1)})),c=!s||u;r({target:"Object",stat:!0,forced:c,sham:!s},{getOwnPropertyDescriptor:function(t,e){return a(i(t),e)}})},"9bdd":function(t,e,n){var r=n("825a");t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(a){var i=t["return"];throw void 0!==i&&r(i.call(t)),a}}},"9bf2":function(t,e,n){var r=n("83ab"),o=n("0cfb"),i=n("825a"),a=n("c04e"),s=Object.defineProperty;e.f=r?s:function(t,e,n){if(i(t),e=a(e,!0),i(n),o)try{return s(t,e,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},"9bfb":function(t,e,n){var r=n("764b"),o=n("78e7"),i=n("beea"),a=n("4180").f;t.exports=function(t){var e=r.Symbol||(r.Symbol={});o(e,t)||a(e,t,{value:i.f(t)})}},"9c59":function(t,e,n){"use strict";var r,o=Object.prototype.hasOwnProperty;function i(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch(e){return null}}function a(t){var e,n=/([^=?&]+)=?([^&]*)/g,r={};while(e=n.exec(t)){var o=i(e[1]),a=i(e[2]);null===o||null===a||o in r||(r[o]=a)}return r}function s(t,e){e=e||"";var n,i,a=[];for(i in"string"!==typeof e&&(e="?"),t)if(o.call(t,i)){if(n=t[i],n||null!==n&&n!==r&&!isNaN(n)||(n=""),i=encodeURIComponent(i),n=encodeURIComponent(n),null===i||null===n)continue;a.push(i+"="+n)}return a.length?e+a.join("&"):""}e.stringify=s,e.parse=a},"9c96":function(t,e,n){var r=n("06fa"),o=n("0363"),i=n("4aa6"),a=o("species");t.exports=function(t){return i>=51||!r((function(){var e=[],n=e.constructor={};return n[a]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},"9cd3":function(t,e,n){var r=n("5ab9");t.exports=r},"9d7d":function(t,e,n){"use strict";(function(e){var r=n("ada0").EventEmitter,o=n("3fb5"),i=n("c282"),a=n("26a0"),s=n("621f"),u=function(){};function c(t,e,n){u(t,e);var o=this;r.call(this),setTimeout((function(){o._start(t,e,n)}),0)}o(c,r),c.prototype._start=function(t,n,r){u("_start");var o=this,a=new e.XDomainRequest;n=s.addQuery(n,"t="+ +new Date),a.onerror=function(){u("onerror"),o._error()},a.ontimeout=function(){u("ontimeout"),o._error()},a.onprogress=function(){u("progress",a.responseText),o.emit("chunk",200,a.responseText)},a.onload=function(){u("load"),o.emit("finish",200,a.responseText),o._cleanup(!1)},this.xdr=a,this.unloadRef=i.unloadAdd((function(){o._cleanup(!0)}));try{this.xdr.open(t,n),this.timeout&&(this.xdr.timeout=this.timeout),this.xdr.send(r)}catch(c){this._error()}},c.prototype._error=function(){this.emit("finish",0,""),this._cleanup(!1)},c.prototype._cleanup=function(t){if(u("cleanup",t),this.xdr){if(this.removeAllListeners(),i.unloadDel(this.unloadRef),this.xdr.ontimeout=this.xdr.onerror=this.xdr.onprogress=this.xdr.onload=null,t)try{this.xdr.abort()}catch(e){}this.unloadRef=this.xdr=null}},c.prototype.close=function(){u("close"),this._cleanup(!0)},c.enabled=!(!e.XDomainRequest||!a.hasDomain()),t.exports=c}).call(this,n("c8ba"))},"9e19":function(t,e,n){var r=n("6271"),o=n("ab88");function i(e){return t.exports=i="function"===typeof o&&"symbol"===typeof r?function(t){return typeof t}:function(t){return t&&"function"===typeof o&&t.constructor===o&&t!==o.prototype?"symbol":typeof t},i(e)}t.exports=i},"9e51":function(t,e,n){var r=n("f96e");t.exports=function(t){if(r(t))throw TypeError("The method doesn't accept regular expressions");return t}},"9e57":function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"9e69":function(t,e,n){var r=n("2b3e"),o=r.Symbol;t.exports=o},"9ed3":function(t,e,n){"use strict";var r=n("ae93").IteratorPrototype,o=n("7c73"),i=n("5c6c"),a=n("d44e"),s=n("3f8c"),u=function(){return this};t.exports=function(t,e,n){var c=e+" Iterator";return t.prototype=o(r,{next:i(1,n)}),a(t,c,!1,!0),s[c]=u,t}},"9f12":function(t,e,n){"use strict";var r=n("2d80");function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}r(e,"__esModule",{value:!0}),e.default=o},"9f20":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n("733c"),o=n("312c");function i(t){return"text"===t.type}var a={tag_name:function(t){return"function"===typeof t?function(e){return o.isTag(e)&&t(e.name)}:"*"===t?o.isTag:function(e){return o.isTag(e)&&e.name===t}},tag_type:function(t){return"function"===typeof t?function(e){return t(e.type)}:function(e){return e.type===t}},tag_contains:function(t){return"function"===typeof t?function(e){return i(e)&&t(e.data)}:function(e){return i(e)&&e.data===t}}};function s(t,e){return"function"===typeof e?function(n){return o.isTag(n)&&e(n.attribs[t])}:function(n){return o.isTag(n)&&n.attribs[t]===e}}function u(t,e){return function(n){return t(n)||e(n)}}function c(t){var e=Object.keys(t).map((function(e){var n=t[e];return e in a?a[e](n):s(e,n)}));return 0===e.length?null:e.reduce(u)}function f(t,e){var n=c(t);return!n||n(e)}function l(t,e,n,o){void 0===o&&(o=1/0);var i=c(t);return i?r.filter(i,e,n,o):[]}function p(t,e,n){return void 0===n&&(n=!0),Array.isArray(e)||(e=[e]),r.findOne(s("id",t),e,n)}function h(t,e,n,o){return void 0===o&&(o=1/0),r.filter(a.tag_name(t),e,n,o)}function d(t,e,n,o){return void 0===n&&(n=!0),void 0===o&&(o=1/0),r.filter(a.tag_type(t),e,n,o)}e.testElement=f,e.getElements=l,e.getElementById=p,e.getElementsByTagName=h,e.getElementsByTagType=d},"9f3a":function(t,e,n){"use strict";var r=n("3fb5"),o=n("930c"),i=n("ada0").EventEmitter,a=n("1015"),s=n("621f"),u=n("f1f8"),c=n("c282"),f=n("2582"),l=function(){};function p(t,e,n){if(!p.enabled())throw new Error("Transport created when disabled");i.call(this);var r=this;this.origin=s.getOrigin(n),this.baseUrl=n,this.transUrl=e,this.transport=t,this.windowId=f.string(8);var o=s.addPath(n,"/iframe.html")+"#"+this.windowId;l(t,e,o),this.iframeObj=u.createIframe(o,(function(t){l("err callback"),r.emit("close",1006,"Unable to load an iframe ("+t+")"),r.close()})),this.onmessageCallback=this._message.bind(this),c.attachEvent("message",this.onmessageCallback)}r(p,i),p.prototype.close=function(){if(l("close"),this.removeAllListeners(),this.iframeObj){c.detachEvent("message",this.onmessageCallback);try{this.postMessage("c")}catch(t){}this.iframeObj.cleanup(),this.iframeObj=null,this.onmessageCallback=this.iframeObj=null}},p.prototype._message=function(t){if(l("message",t.data),s.isOriginEqual(t.origin,this.origin)){var e;try{e=o.parse(t.data)}catch(r){return void l("bad json",t.data)}if(e.windowId===this.windowId)switch(e.type){case"s":this.iframeObj.loaded(),this.postMessage("s",o.stringify([a,this.transport,this.transUrl,this.baseUrl]));break;case"t":this.emit("message",e.data);break;case"c":var n;try{n=o.parse(e.data)}catch(r){return void l("bad json",e.data)}this.emit("close",n[0],n[1]),this.close();break}else l("mismatched window id",e.windowId,this.windowId)}else l("not same origin",t.origin,this.origin)},p.prototype.postMessage=function(t,e){l("postMessage",t,e),this.iframeObj.post(o.stringify({windowId:this.windowId,type:t,data:e||""}),this.origin)},p.prototype.send=function(t){l("send",t),this.postMessage("m",t)},p.enabled=function(){return u.iframeEnabled},p.transportName="iframe",p.roundTrips=2,t.exports=p},"9f61":function(t,e,n){"use strict";var r=n("06fa");t.exports=function(t,e){var n=[][t];return!!n&&r((function(){n.call(null,e||function(){throw 1},1)}))}},"9f74":function(t,e,n){var r=n("48a0");function o(t,e){var n=[];return r(t,(function(t,r,o){e(t,r,o)&&n.push(t)})),n}t.exports=o},"9f7f":function(t,e,n){"use strict";var r=n("d039");function o(t,e){return RegExp(t,e)}e.UNSUPPORTED_Y=r((function(){var t=o("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),e.BROKEN_CARET=r((function(){var t=o("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},"9fa7":function(t,e,n){"use strict";var r=n("621f"),o=n("c282"),i=n("930c"),a=n("bb31"),s=n("c529"),u=n("f1f8"),c=n("a0e2"),f=function(){};t.exports=function(t,e){var n,l={};e.forEach((function(t){t.facadeTransport&&(l[t.facadeTransport.transportName]=t.facadeTransport)})),l[s.transportName]=s,t.bootstrap_iframe=function(){var e;u.currentWindowId=c.hash.slice(1);var s=function(o){if(o.source===parent&&("undefined"===typeof n&&(n=o.origin),o.origin===n)){var s;try{s=i.parse(o.data)}catch(b){return void f("bad json",o.data)}if(s.windowId===u.currentWindowId)switch(s.type){case"s":var p;try{p=i.parse(s.data)}catch(b){f("bad json",s.data);break}var h=p[0],d=p[1],v=p[2],g=p[3];if(f(h,d,v,g),h!==t.version)throw new Error('Incompatible SockJS! Main site uses: "'+h+'", the iframe: "'+t.version+'".');if(!r.isOriginEqual(v,c.href)||!r.isOriginEqual(g,c.href))throw new Error("Can't connect to different domain from within an iframe. ("+c.href+", "+v+", "+g+")");e=new a(new l[d](v,g));break;case"m":e._send(s.data);break;case"c":e&&e._close(),e=null;break}}};o.attachEvent("message",s),u.postMessage("s")}}},a016:function(t,e,n){var r=n("b323"),o=n("9e57");t.exports=Object.keys||function(t){return r(t,o)}},a029:function(t,e,n){var r=n("087d"),o=n("2dcb"),i=n("32f4"),a=n("d327"),s=Object.getOwnPropertySymbols,u=s?function(t){var e=[];while(t)r(e,i(t)),t=o(t);return e}:a;t.exports=u},a06f:function(t,e,n){t.exports=n("74e7")},a0cd:function(t,e,n){n("0aa1");var r=n("764b");t.exports=r.Object.keys},a0e2:function(t,e,n){"use strict";(function(e){t.exports=e.location||{origin:"http://localhost:80",protocol:"http:",host:"localhost",port:80,href:"http://localhost/",hash:""}}).call(this,n("c8ba"))},a0e5:function(t,e,n){var r=n("06fa"),o=/#|\.prototype\./,i=function(t,e){var n=s[a(t)];return n==c||n!=u&&("function"==typeof e?r(e):!!e)},a=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},s=i.data={},u=i.NATIVE="N",c=i.POLYFILL="P";t.exports=i},a0e6:function(t,e,n){var r,o,i,a,s,u,c,f,l=n("3ac6"),p=n("44ba").f,h=n("fc48"),d=n("5afb").set,v=n("0f59"),g=l.MutationObserver||l.WebKitMutationObserver,b=l.process,m=l.Promise,y="process"==h(b),_=p(l,"queueMicrotask"),w=_&&_.value;w||(r=function(){var t,e;y&&(t=b.domain)&&t.exit();while(o){e=o.fn,o=o.next;try{e()}catch(n){throw o?a():i=void 0,n}}i=void 0,t&&t.enter()},y?a=function(){b.nextTick(r)}:g&&!v?(s=!0,u=document.createTextNode(""),new g(r).observe(u,{characterData:!0}),a=function(){u.data=s=!s}):m&&m.resolve?(c=m.resolve(void 0),f=c.then,a=function(){f.call(c,r)}):a=function(){d.call(l,r)}),t.exports=w||function(t){var e={fn:t,next:void 0};i&&(i.next=e),o||(o=e,a()),i=e}},a15b:function(t,e,n){"use strict";var r=n("23e7"),o=n("44ad"),i=n("fc6a"),a=n("a640"),s=[].join,u=o!=Object,c=a("join",",");r({target:"Array",proto:!0,forced:u||!c},{join:function(t){return s.call(i(this),void 0===t?",":t)}})},a169:function(t,e,n){var r=n("764b");t.exports=function(t){return r[t+"Prototype"]}},a16e:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.decodeHTML=e.decodeHTMLStrict=e.decodeXML=void 0;var o=r(n("c560")),i=r(n("b960")),a=r(n("f5f2")),s=r(n("7073"));function u(t){var e=Object.keys(t).join("|"),n=f(t);e+="|#[xX][\\da-fA-F]+|#\\d+";var r=new RegExp("&(?:"+e+");","g");return function(t){return String(t).replace(r,n)}}e.decodeXML=u(a.default),e.decodeHTMLStrict=u(o.default);var c=function(t,e){return tp))return!1;var d=f.get(t);if(d&&f.get(e))return d==e;var v=-1,g=!0,b=n&s?new r:void 0;f.set(t,e),f.set(e,t);while(++v1&&(t=n.call(arguments,1),r=t.length+1),c){if(u=t.slice(),u.push(a),c.length>r)u.unshift(s);else if(s)return void a(s);try{c.apply(null,u)}catch(f){a(f)}}else e&&(t.unshift(s),e.apply(null,t))}"function"===typeof t&&(e=t,t=[]),t=t||[],r=t.length+1,a()},r.prototype.compose=function(t){var e=this;return function(){var r=n.call(arguments);e.handle(r,t)}},e=t.exports=r,e.compose=o},a327:function(t,e,n){var r=n("2a08");e=t.exports=n("24b7")(!1),e.push([t.i,'.fa-border {\n padding: 0.2em 0.25em 0.15em;\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n}\n.fa-pull-left {\n float: left;\n}\n.fa-pull-right {\n float: right;\n}\n.fa.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right {\n margin-left: 0.3em;\n}\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right;\n}\n.pull-left {\n float: left;\n}\n.fa.pull-left {\n margin-right: 0.3em;\n}\n.fa.pull-right {\n margin-left: 0.3em;\n}\n.fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.fa-fw {\n width: 1.28571429em;\n text-align: center;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.fa-glass:before {\n content: "\\F000";\n}\n.fa-music:before {\n content: "\\F001";\n}\n.fa-search:before {\n content: "\\F002";\n}\n.fa-envelope-o:before {\n content: "\\F003";\n}\n.fa-heart:before {\n content: "\\F004";\n}\n.fa-star:before {\n content: "\\F005";\n}\n.fa-star-o:before {\n content: "\\F006";\n}\n.fa-user:before {\n content: "\\F007";\n}\n.fa-film:before {\n content: "\\F008";\n}\n.fa-th-large:before {\n content: "\\F009";\n}\n.fa-th:before {\n content: "\\F00A";\n}\n.fa-th-list:before {\n content: "\\F00B";\n}\n.fa-check:before {\n content: "\\F00C";\n}\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n content: "\\F00D";\n}\n.fa-search-plus:before {\n content: "\\F00E";\n}\n.fa-search-minus:before {\n content: "\\F010";\n}\n.fa-power-off:before {\n content: "\\F011";\n}\n.fa-signal:before {\n content: "\\F012";\n}\n.fa-gear:before,\n.fa-cog:before {\n content: "\\F013";\n}\n.fa-trash-o:before {\n content: "\\F014";\n}\n.fa-home:before {\n content: "\\F015";\n}\n.fa-file-o:before {\n content: "\\F016";\n}\n.fa-clock-o:before {\n content: "\\F017";\n}\n.fa-road:before {\n content: "\\F018";\n}\n.fa-download:before {\n content: "\\F019";\n}\n.fa-arrow-circle-o-down:before {\n content: "\\F01A";\n}\n.fa-arrow-circle-o-up:before {\n content: "\\F01B";\n}\n.fa-inbox:before {\n content: "\\F01C";\n}\n.fa-play-circle-o:before {\n content: "\\F01D";\n}\n.fa-rotate-right:before,\n.fa-repeat:before {\n content: "\\F01E";\n}\n.fa-refresh:before {\n content: "\\F021";\n}\n.fa-list-alt:before {\n content: "\\F022";\n}\n.fa-lock:before {\n content: "\\F023";\n}\n.fa-flag:before {\n content: "\\F024";\n}\n.fa-headphones:before {\n content: "\\F025";\n}\n.fa-volume-off:before {\n content: "\\F026";\n}\n.fa-volume-down:before {\n content: "\\F027";\n}\n.fa-volume-up:before {\n content: "\\F028";\n}\n.fa-qrcode:before {\n content: "\\F029";\n}\n.fa-barcode:before {\n content: "\\F02A";\n}\n.fa-tag:before {\n content: "\\F02B";\n}\n.fa-tags:before {\n content: "\\F02C";\n}\n.fa-book:before {\n content: "\\F02D";\n}\n.fa-bookmark:before {\n content: "\\F02E";\n}\n.fa-print:before {\n content: "\\F02F";\n}\n.fa-camera:before {\n content: "\\F030";\n}\n.fa-font:before {\n content: "\\F031";\n}\n.fa-bold:before {\n content: "\\F032";\n}\n.fa-italic:before {\n content: "\\F033";\n}\n.fa-text-height:before {\n content: "\\F034";\n}\n.fa-text-width:before {\n content: "\\F035";\n}\n.fa-align-left:before {\n content: "\\F036";\n}\n.fa-align-center:before {\n content: "\\F037";\n}\n.fa-align-right:before {\n content: "\\F038";\n}\n.fa-align-justify:before {\n content: "\\F039";\n}\n.fa-list:before {\n content: "\\F03A";\n}\n.fa-dedent:before,\n.fa-outdent:before {\n content: "\\F03B";\n}\n.fa-indent:before {\n content: "\\F03C";\n}\n.fa-video-camera:before {\n content: "\\F03D";\n}\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n content: "\\F03E";\n}\n.fa-pencil:before {\n content: "\\F040";\n}\n.fa-map-marker:before {\n content: "\\F041";\n}\n.fa-adjust:before {\n content: "\\F042";\n}\n.fa-tint:before {\n content: "\\F043";\n}\n.fa-edit:before,\n.fa-pencil-square-o:before {\n content: "\\F044";\n}\n.fa-share-square-o:before {\n content: "\\F045";\n}\n.fa-check-square-o:before {\n content: "\\F046";\n}\n.fa-arrows:before {\n content: "\\F047";\n}\n.fa-step-backward:before {\n content: "\\F048";\n}\n.fa-fast-backward:before {\n content: "\\F049";\n}\n.fa-backward:before {\n content: "\\F04A";\n}\n.fa-play:before {\n content: "\\F04B";\n}\n.fa-pause:before {\n content: "\\F04C";\n}\n.fa-stop:before {\n content: "\\F04D";\n}\n.fa-forward:before {\n content: "\\F04E";\n}\n.fa-fast-forward:before {\n content: "\\F050";\n}\n.fa-step-forward:before {\n content: "\\F051";\n}\n.fa-eject:before {\n content: "\\F052";\n}\n.fa-chevron-left:before {\n content: "\\F053";\n}\n.fa-chevron-right:before {\n content: "\\F054";\n}\n.fa-plus-circle:before {\n content: "\\F055";\n}\n.fa-minus-circle:before {\n content: "\\F056";\n}\n.fa-times-circle:before {\n content: "\\F057";\n}\n.fa-check-circle:before {\n content: "\\F058";\n}\n.fa-question-circle:before {\n content: "\\F059";\n}\n.fa-info-circle:before {\n content: "\\F05A";\n}\n.fa-crosshairs:before {\n content: "\\F05B";\n}\n.fa-times-circle-o:before {\n content: "\\F05C";\n}\n.fa-check-circle-o:before {\n content: "\\F05D";\n}\n.fa-ban:before {\n content: "\\F05E";\n}\n.fa-arrow-left:before {\n content: "\\F060";\n}\n.fa-arrow-right:before {\n content: "\\F061";\n}\n.fa-arrow-up:before {\n content: "\\F062";\n}\n.fa-arrow-down:before {\n content: "\\F063";\n}\n.fa-mail-forward:before,\n.fa-share:before {\n content: "\\F064";\n}\n.fa-expand:before {\n content: "\\F065";\n}\n.fa-compress:before {\n content: "\\F066";\n}\n.fa-plus:before {\n content: "\\F067";\n}\n.fa-minus:before {\n content: "\\F068";\n}\n.fa-asterisk:before {\n content: "\\F069";\n}\n.fa-exclamation-circle:before {\n content: "\\F06A";\n}\n.fa-gift:before {\n content: "\\F06B";\n}\n.fa-leaf:before {\n content: "\\F06C";\n}\n.fa-fire:before {\n content: "\\F06D";\n}\n.fa-eye:before {\n content: "\\F06E";\n}\n.fa-eye-slash:before {\n content: "\\F070";\n}\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n content: "\\F071";\n}\n.fa-plane:before {\n content: "\\F072";\n}\n.fa-calendar:before {\n content: "\\F073";\n}\n.fa-random:before {\n content: "\\F074";\n}\n.fa-comment:before {\n content: "\\F075";\n}\n.fa-magnet:before {\n content: "\\F076";\n}\n.fa-chevron-up:before {\n content: "\\F077";\n}\n.fa-chevron-down:before {\n content: "\\F078";\n}\n.fa-retweet:before {\n content: "\\F079";\n}\n.fa-shopping-cart:before {\n content: "\\F07A";\n}\n.fa-folder:before {\n content: "\\F07B";\n}\n.fa-folder-open:before {\n content: "\\F07C";\n}\n.fa-arrows-v:before {\n content: "\\F07D";\n}\n.fa-arrows-h:before {\n content: "\\F07E";\n}\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n content: "\\F080";\n}\n.fa-twitter-square:before {\n content: "\\F081";\n}\n.fa-facebook-square:before {\n content: "\\F082";\n}\n.fa-camera-retro:before {\n content: "\\F083";\n}\n.fa-key:before {\n content: "\\F084";\n}\n.fa-gears:before,\n.fa-cogs:before {\n content: "\\F085";\n}\n.fa-comments:before {\n content: "\\F086";\n}\n.fa-thumbs-o-up:before {\n content: "\\F087";\n}\n.fa-thumbs-o-down:before {\n content: "\\F088";\n}\n.fa-star-half:before {\n content: "\\F089";\n}\n.fa-heart-o:before {\n content: "\\F08A";\n}\n.fa-sign-out:before {\n content: "\\F08B";\n}\n.fa-linkedin-square:before {\n content: "\\F08C";\n}\n.fa-thumb-tack:before {\n content: "\\F08D";\n}\n.fa-external-link:before {\n content: "\\F08E";\n}\n.fa-sign-in:before {\n content: "\\F090";\n}\n.fa-trophy:before {\n content: "\\F091";\n}\n.fa-github-square:before {\n content: "\\F092";\n}\n.fa-upload:before {\n content: "\\F093";\n}\n.fa-lemon-o:before {\n content: "\\F094";\n}\n.fa-phone:before {\n content: "\\F095";\n}\n.fa-square-o:before {\n content: "\\F096";\n}\n.fa-bookmark-o:before {\n content: "\\F097";\n}\n.fa-phone-square:before {\n content: "\\F098";\n}\n.fa-twitter:before {\n content: "\\F099";\n}\n.fa-facebook-f:before,\n.fa-facebook:before {\n content: "\\F09A";\n}\n.fa-github:before {\n content: "\\F09B";\n}\n.fa-unlock:before {\n content: "\\F09C";\n}\n.fa-credit-card:before {\n content: "\\F09D";\n}\n.fa-feed:before,\n.fa-rss:before {\n content: "\\F09E";\n}\n.fa-hdd-o:before {\n content: "\\F0A0";\n}\n.fa-bullhorn:before {\n content: "\\F0A1";\n}\n.fa-bell:before {\n content: "\\F0F3";\n}\n.fa-certificate:before {\n content: "\\F0A3";\n}\n.fa-hand-o-right:before {\n content: "\\F0A4";\n}\n.fa-hand-o-left:before {\n content: "\\F0A5";\n}\n.fa-hand-o-up:before {\n content: "\\F0A6";\n}\n.fa-hand-o-down:before {\n content: "\\F0A7";\n}\n.fa-arrow-circle-left:before {\n content: "\\F0A8";\n}\n.fa-arrow-circle-right:before {\n content: "\\F0A9";\n}\n.fa-arrow-circle-up:before {\n content: "\\F0AA";\n}\n.fa-arrow-circle-down:before {\n content: "\\F0AB";\n}\n.fa-globe:before {\n content: "\\F0AC";\n}\n.fa-wrench:before {\n content: "\\F0AD";\n}\n.fa-tasks:before {\n content: "\\F0AE";\n}\n.fa-filter:before {\n content: "\\F0B0";\n}\n.fa-briefcase:before {\n content: "\\F0B1";\n}\n.fa-arrows-alt:before {\n content: "\\F0B2";\n}\n.fa-group:before,\n.fa-users:before {\n content: "\\F0C0";\n}\n.fa-chain:before,\n.fa-link:before {\n content: "\\F0C1";\n}\n.fa-cloud:before {\n content: "\\F0C2";\n}\n.fa-flask:before {\n content: "\\F0C3";\n}\n.fa-cut:before,\n.fa-scissors:before {\n content: "\\F0C4";\n}\n.fa-copy:before,\n.fa-files-o:before {\n content: "\\F0C5";\n}\n.fa-paperclip:before {\n content: "\\F0C6";\n}\n.fa-save:before,\n.fa-floppy-o:before {\n content: "\\F0C7";\n}\n.fa-square:before {\n content: "\\F0C8";\n}\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n content: "\\F0C9";\n}\n.fa-list-ul:before {\n content: "\\F0CA";\n}\n.fa-list-ol:before {\n content: "\\F0CB";\n}\n.fa-strikethrough:before {\n content: "\\F0CC";\n}\n.fa-underline:before {\n content: "\\F0CD";\n}\n.fa-table:before {\n content: "\\F0CE";\n}\n.fa-magic:before {\n content: "\\F0D0";\n}\n.fa-truck:before {\n content: "\\F0D1";\n}\n.fa-pinterest:before {\n content: "\\F0D2";\n}\n.fa-pinterest-square:before {\n content: "\\F0D3";\n}\n.fa-google-plus-square:before {\n content: "\\F0D4";\n}\n.fa-google-plus:before {\n content: "\\F0D5";\n}\n.fa-money:before {\n content: "\\F0D6";\n}\n.fa-caret-down:before {\n content: "\\F0D7";\n}\n.fa-caret-up:before {\n content: "\\F0D8";\n}\n.fa-caret-left:before {\n content: "\\F0D9";\n}\n.fa-caret-right:before {\n content: "\\F0DA";\n}\n.fa-columns:before {\n content: "\\F0DB";\n}\n.fa-unsorted:before,\n.fa-sort:before {\n content: "\\F0DC";\n}\n.fa-sort-down:before,\n.fa-sort-desc:before {\n content: "\\F0DD";\n}\n.fa-sort-up:before,\n.fa-sort-asc:before {\n content: "\\F0DE";\n}\n.fa-envelope:before {\n content: "\\F0E0";\n}\n.fa-linkedin:before {\n content: "\\F0E1";\n}\n.fa-rotate-left:before,\n.fa-undo:before {\n content: "\\F0E2";\n}\n.fa-legal:before,\n.fa-gavel:before {\n content: "\\F0E3";\n}\n.fa-dashboard:before,\n.fa-tachometer:before {\n content: "\\F0E4";\n}\n.fa-comment-o:before {\n content: "\\F0E5";\n}\n.fa-comments-o:before {\n content: "\\F0E6";\n}\n.fa-flash:before,\n.fa-bolt:before {\n content: "\\F0E7";\n}\n.fa-sitemap:before {\n content: "\\F0E8";\n}\n.fa-umbrella:before {\n content: "\\F0E9";\n}\n.fa-paste:before,\n.fa-clipboard:before {\n content: "\\F0EA";\n}\n.fa-lightbulb-o:before {\n content: "\\F0EB";\n}\n.fa-exchange:before {\n content: "\\F0EC";\n}\n.fa-cloud-download:before {\n content: "\\F0ED";\n}\n.fa-cloud-upload:before {\n content: "\\F0EE";\n}\n.fa-user-md:before {\n content: "\\F0F0";\n}\n.fa-stethoscope:before {\n content: "\\F0F1";\n}\n.fa-suitcase:before {\n content: "\\F0F2";\n}\n.fa-bell-o:before {\n content: "\\F0A2";\n}\n.fa-coffee:before {\n content: "\\F0F4";\n}\n.fa-cutlery:before {\n content: "\\F0F5";\n}\n.fa-file-text-o:before {\n content: "\\F0F6";\n}\n.fa-building-o:before {\n content: "\\F0F7";\n}\n.fa-hospital-o:before {\n content: "\\F0F8";\n}\n.fa-ambulance:before {\n content: "\\F0F9";\n}\n.fa-medkit:before {\n content: "\\F0FA";\n}\n.fa-fighter-jet:before {\n content: "\\F0FB";\n}\n.fa-beer:before {\n content: "\\F0FC";\n}\n.fa-h-square:before {\n content: "\\F0FD";\n}\n.fa-plus-square:before {\n content: "\\F0FE";\n}\n.fa-angle-double-left:before {\n content: "\\F100";\n}\n.fa-angle-double-right:before {\n content: "\\F101";\n}\n.fa-angle-double-up:before {\n content: "\\F102";\n}\n.fa-angle-double-down:before {\n content: "\\F103";\n}\n.fa-angle-left:before {\n content: "\\F104";\n}\n.fa-angle-right:before {\n content: "\\F105";\n}\n.fa-angle-up:before {\n content: "\\F106";\n}\n.fa-angle-down:before {\n content: "\\F107";\n}\n.fa-desktop:before {\n content: "\\F108";\n}\n.fa-laptop:before {\n content: "\\F109";\n}\n.fa-tablet:before {\n content: "\\F10A";\n}\n.fa-mobile-phone:before,\n.fa-mobile:before {\n content: "\\F10B";\n}\n.fa-circle-o:before {\n content: "\\F10C";\n}\n.fa-quote-left:before {\n content: "\\F10D";\n}\n.fa-quote-right:before {\n content: "\\F10E";\n}\n.fa-spinner:before {\n content: "\\F110";\n}\n.fa-circle:before {\n content: "\\F111";\n}\n.fa-mail-reply:before,\n.fa-reply:before {\n content: "\\F112";\n}\n.fa-github-alt:before {\n content: "\\F113";\n}\n.fa-folder-o:before {\n content: "\\F114";\n}\n.fa-folder-open-o:before {\n content: "\\F115";\n}\n.fa-smile-o:before {\n content: "\\F118";\n}\n.fa-frown-o:before {\n content: "\\F119";\n}\n.fa-meh-o:before {\n content: "\\F11A";\n}\n.fa-gamepad:before {\n content: "\\F11B";\n}\n.fa-keyboard-o:before {\n content: "\\F11C";\n}\n.fa-flag-o:before {\n content: "\\F11D";\n}\n.fa-flag-checkered:before {\n content: "\\F11E";\n}\n.fa-terminal:before {\n content: "\\F120";\n}\n.fa-code:before {\n content: "\\F121";\n}\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n content: "\\F122";\n}\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n content: "\\F123";\n}\n.fa-location-arrow:before {\n content: "\\F124";\n}\n.fa-crop:before {\n content: "\\F125";\n}\n.fa-code-fork:before {\n content: "\\F126";\n}\n.fa-unlink:before,\n.fa-chain-broken:before {\n content: "\\F127";\n}\n.fa-question:before {\n content: "\\F128";\n}\n.fa-info:before {\n content: "\\F129";\n}\n.fa-exclamation:before {\n content: "\\F12A";\n}\n.fa-superscript:before {\n content: "\\F12B";\n}\n.fa-subscript:before {\n content: "\\F12C";\n}\n.fa-eraser:before {\n content: "\\F12D";\n}\n.fa-puzzle-piece:before {\n content: "\\F12E";\n}\n.fa-microphone:before {\n content: "\\F130";\n}\n.fa-microphone-slash:before {\n content: "\\F131";\n}\n.fa-shield:before {\n content: "\\F132";\n}\n.fa-calendar-o:before {\n content: "\\F133";\n}\n.fa-fire-extinguisher:before {\n content: "\\F134";\n}\n.fa-rocket:before {\n content: "\\F135";\n}\n.fa-maxcdn:before {\n content: "\\F136";\n}\n.fa-chevron-circle-left:before {\n content: "\\F137";\n}\n.fa-chevron-circle-right:before {\n content: "\\F138";\n}\n.fa-chevron-circle-up:before {\n content: "\\F139";\n}\n.fa-chevron-circle-down:before {\n content: "\\F13A";\n}\n.fa-html5:before {\n content: "\\F13B";\n}\n.fa-css3:before {\n content: "\\F13C";\n}\n.fa-anchor:before {\n content: "\\F13D";\n}\n.fa-unlock-alt:before {\n content: "\\F13E";\n}\n.fa-bullseye:before {\n content: "\\F140";\n}\n.fa-ellipsis-h:before {\n content: "\\F141";\n}\n.fa-ellipsis-v:before {\n content: "\\F142";\n}\n.fa-rss-square:before {\n content: "\\F143";\n}\n.fa-play-circle:before {\n content: "\\F144";\n}\n.fa-ticket:before {\n content: "\\F145";\n}\n.fa-minus-square:before {\n content: "\\F146";\n}\n.fa-minus-square-o:before {\n content: "\\F147";\n}\n.fa-level-up:before {\n content: "\\F148";\n}\n.fa-level-down:before {\n content: "\\F149";\n}\n.fa-check-square:before {\n content: "\\F14A";\n}\n.fa-pencil-square:before {\n content: "\\F14B";\n}\n.fa-external-link-square:before {\n content: "\\F14C";\n}\n.fa-share-square:before {\n content: "\\F14D";\n}\n.fa-compass:before {\n content: "\\F14E";\n}\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n content: "\\F150";\n}\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n content: "\\F151";\n}\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n content: "\\F152";\n}\n.fa-euro:before,\n.fa-eur:before {\n content: "\\F153";\n}\n.fa-gbp:before {\n content: "\\F154";\n}\n.fa-dollar:before,\n.fa-usd:before {\n content: "\\F155";\n}\n.fa-rupee:before,\n.fa-inr:before {\n content: "\\F156";\n}\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n content: "\\F157";\n}\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n content: "\\F158";\n}\n.fa-won:before,\n.fa-krw:before {\n content: "\\F159";\n}\n.fa-bitcoin:before,\n.fa-btc:before {\n content: "\\F15A";\n}\n.fa-file:before {\n content: "\\F15B";\n}\n.fa-file-text:before {\n content: "\\F15C";\n}\n.fa-sort-alpha-asc:before {\n content: "\\F15D";\n}\n.fa-sort-alpha-desc:before {\n content: "\\F15E";\n}\n.fa-sort-amount-asc:before {\n content: "\\F160";\n}\n.fa-sort-amount-desc:before {\n content: "\\F161";\n}\n.fa-sort-numeric-asc:before {\n content: "\\F162";\n}\n.fa-sort-numeric-desc:before {\n content: "\\F163";\n}\n.fa-thumbs-up:before {\n content: "\\F164";\n}\n.fa-thumbs-down:before {\n content: "\\F165";\n}\n.fa-youtube-square:before {\n content: "\\F166";\n}\n.fa-youtube:before {\n content: "\\F167";\n}\n.fa-xing:before {\n content: "\\F168";\n}\n.fa-xing-square:before {\n content: "\\F169";\n}\n.fa-youtube-play:before {\n content: "\\F16A";\n}\n.fa-dropbox:before {\n content: "\\F16B";\n}\n.fa-stack-overflow:before {\n content: "\\F16C";\n}\n.fa-instagram:before {\n content: "\\F16D";\n}\n.fa-flickr:before {\n content: "\\F16E";\n}\n.fa-adn:before {\n content: "\\F170";\n}\n.fa-bitbucket:before {\n content: "\\F171";\n}\n.fa-bitbucket-square:before {\n content: "\\F172";\n}\n.fa-tumblr:before {\n content: "\\F173";\n}\n.fa-tumblr-square:before {\n content: "\\F174";\n}\n.fa-long-arrow-down:before {\n content: "\\F175";\n}\n.fa-long-arrow-up:before {\n content: "\\F176";\n}\n.fa-long-arrow-left:before {\n content: "\\F177";\n}\n.fa-long-arrow-right:before {\n content: "\\F178";\n}\n.fa-apple:before {\n content: "\\F179";\n}\n.fa-windows:before {\n content: "\\F17A";\n}\n.fa-android:before {\n content: "\\F17B";\n}\n.fa-linux:before {\n content: "\\F17C";\n}\n.fa-dribbble:before {\n content: "\\F17D";\n}\n.fa-skype:before {\n content: "\\F17E";\n}\n.fa-foursquare:before {\n content: "\\F180";\n}\n.fa-trello:before {\n content: "\\F181";\n}\n.fa-female:before {\n content: "\\F182";\n}\n.fa-male:before {\n content: "\\F183";\n}\n.fa-gittip:before,\n.fa-gratipay:before {\n content: "\\F184";\n}\n.fa-sun-o:before {\n content: "\\F185";\n}\n.fa-moon-o:before {\n content: "\\F186";\n}\n.fa-archive:before {\n content: "\\F187";\n}\n.fa-bug:before {\n content: "\\F188";\n}\n.fa-vk:before {\n content: "\\F189";\n}\n.fa-weibo:before {\n content: "\\F18A";\n}\n.fa-renren:before {\n content: "\\F18B";\n}\n.fa-pagelines:before {\n content: "\\F18C";\n}\n.fa-stack-exchange:before {\n content: "\\F18D";\n}\n.fa-arrow-circle-o-right:before {\n content: "\\F18E";\n}\n.fa-arrow-circle-o-left:before {\n content: "\\F190";\n}\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n content: "\\F191";\n}\n.fa-dot-circle-o:before {\n content: "\\F192";\n}\n.fa-wheelchair:before {\n content: "\\F193";\n}\n.fa-vimeo-square:before {\n content: "\\F194";\n}\n.fa-turkish-lira:before,\n.fa-try:before {\n content: "\\F195";\n}\n.fa-plus-square-o:before {\n content: "\\F196";\n}\n.fa-space-shuttle:before {\n content: "\\F197";\n}\n.fa-slack:before {\n content: "\\F198";\n}\n.fa-envelope-square:before {\n content: "\\F199";\n}\n.fa-wordpress:before {\n content: "\\F19A";\n}\n.fa-openid:before {\n content: "\\F19B";\n}\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n content: "\\F19C";\n}\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n content: "\\F19D";\n}\n.fa-yahoo:before {\n content: "\\F19E";\n}\n.fa-google:before {\n content: "\\F1A0";\n}\n.fa-reddit:before {\n content: "\\F1A1";\n}\n.fa-reddit-square:before {\n content: "\\F1A2";\n}\n.fa-stumbleupon-circle:before {\n content: "\\F1A3";\n}\n.fa-stumbleupon:before {\n content: "\\F1A4";\n}\n.fa-delicious:before {\n content: "\\F1A5";\n}\n.fa-digg:before {\n content: "\\F1A6";\n}\n.fa-pied-piper-pp:before {\n content: "\\F1A7";\n}\n.fa-pied-piper-alt:before {\n content: "\\F1A8";\n}\n.fa-drupal:before {\n content: "\\F1A9";\n}\n.fa-joomla:before {\n content: "\\F1AA";\n}\n.fa-language:before {\n content: "\\F1AB";\n}\n.fa-fax:before {\n content: "\\F1AC";\n}\n.fa-building:before {\n content: "\\F1AD";\n}\n.fa-child:before {\n content: "\\F1AE";\n}\n.fa-paw:before {\n content: "\\F1B0";\n}\n.fa-spoon:before {\n content: "\\F1B1";\n}\n.fa-cube:before {\n content: "\\F1B2";\n}\n.fa-cubes:before {\n content: "\\F1B3";\n}\n.fa-behance:before {\n content: "\\F1B4";\n}\n.fa-behance-square:before {\n content: "\\F1B5";\n}\n.fa-steam:before {\n content: "\\F1B6";\n}\n.fa-steam-square:before {\n content: "\\F1B7";\n}\n.fa-recycle:before {\n content: "\\F1B8";\n}\n.fa-automobile:before,\n.fa-car:before {\n content: "\\F1B9";\n}\n.fa-cab:before,\n.fa-taxi:before {\n content: "\\F1BA";\n}\n.fa-tree:before {\n content: "\\F1BB";\n}\n.fa-spotify:before {\n content: "\\F1BC";\n}\n.fa-deviantart:before {\n content: "\\F1BD";\n}\n.fa-soundcloud:before {\n content: "\\F1BE";\n}\n.fa-database:before {\n content: "\\F1C0";\n}\n.fa-file-pdf-o:before {\n content: "\\F1C1";\n}\n.fa-file-word-o:before {\n content: "\\F1C2";\n}\n.fa-file-excel-o:before {\n content: "\\F1C3";\n}\n.fa-file-powerpoint-o:before {\n content: "\\F1C4";\n}\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n content: "\\F1C5";\n}\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n content: "\\F1C6";\n}\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n content: "\\F1C7";\n}\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n content: "\\F1C8";\n}\n.fa-file-code-o:before {\n content: "\\F1C9";\n}\n.fa-vine:before {\n content: "\\F1CA";\n}\n.fa-codepen:before {\n content: "\\F1CB";\n}\n.fa-jsfiddle:before {\n content: "\\F1CC";\n}\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n content: "\\F1CD";\n}\n.fa-circle-o-notch:before {\n content: "\\F1CE";\n}\n.fa-ra:before,\n.fa-resistance:before,\n.fa-rebel:before {\n content: "\\F1D0";\n}\n.fa-ge:before,\n.fa-empire:before {\n content: "\\F1D1";\n}\n.fa-git-square:before {\n content: "\\F1D2";\n}\n.fa-git:before {\n content: "\\F1D3";\n}\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n content: "\\F1D4";\n}\n.fa-tencent-weibo:before {\n content: "\\F1D5";\n}\n.fa-qq:before {\n content: "\\F1D6";\n}\n.fa-wechat:before,\n.fa-weixin:before {\n content: "\\F1D7";\n}\n.fa-send:before,\n.fa-paper-plane:before {\n content: "\\F1D8";\n}\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n content: "\\F1D9";\n}\n.fa-history:before {\n content: "\\F1DA";\n}\n.fa-circle-thin:before {\n content: "\\F1DB";\n}\n.fa-header:before {\n content: "\\F1DC";\n}\n.fa-paragraph:before {\n content: "\\F1DD";\n}\n.fa-sliders:before {\n content: "\\F1DE";\n}\n.fa-share-alt:before {\n content: "\\F1E0";\n}\n.fa-share-alt-square:before {\n content: "\\F1E1";\n}\n.fa-bomb:before {\n content: "\\F1E2";\n}\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n content: "\\F1E3";\n}\n.fa-tty:before {\n content: "\\F1E4";\n}\n.fa-binoculars:before {\n content: "\\F1E5";\n}\n.fa-plug:before {\n content: "\\F1E6";\n}\n.fa-slideshare:before {\n content: "\\F1E7";\n}\n.fa-twitch:before {\n content: "\\F1E8";\n}\n.fa-yelp:before {\n content: "\\F1E9";\n}\n.fa-newspaper-o:before {\n content: "\\F1EA";\n}\n.fa-wifi:before {\n content: "\\F1EB";\n}\n.fa-calculator:before {\n content: "\\F1EC";\n}\n.fa-paypal:before {\n content: "\\F1ED";\n}\n.fa-google-wallet:before {\n content: "\\F1EE";\n}\n.fa-cc-visa:before {\n content: "\\F1F0";\n}\n.fa-cc-mastercard:before {\n content: "\\F1F1";\n}\n.fa-cc-discover:before {\n content: "\\F1F2";\n}\n.fa-cc-amex:before {\n content: "\\F1F3";\n}\n.fa-cc-paypal:before {\n content: "\\F1F4";\n}\n.fa-cc-stripe:before {\n content: "\\F1F5";\n}\n.fa-bell-slash:before {\n content: "\\F1F6";\n}\n.fa-bell-slash-o:before {\n content: "\\F1F7";\n}\n.fa-trash:before {\n content: "\\F1F8";\n}\n.fa-copyright:before {\n content: "\\F1F9";\n}\n.fa-at:before {\n content: "\\F1FA";\n}\n.fa-eyedropper:before {\n content: "\\F1FB";\n}\n.fa-paint-brush:before {\n content: "\\F1FC";\n}\n.fa-birthday-cake:before {\n content: "\\F1FD";\n}\n.fa-area-chart:before {\n content: "\\F1FE";\n}\n.fa-pie-chart:before {\n content: "\\F200";\n}\n.fa-line-chart:before {\n content: "\\F201";\n}\n.fa-lastfm:before {\n content: "\\F202";\n}\n.fa-lastfm-square:before {\n content: "\\F203";\n}\n.fa-toggle-off:before {\n content: "\\F204";\n}\n.fa-toggle-on:before {\n content: "\\F205";\n}\n.fa-bicycle:before {\n content: "\\F206";\n}\n.fa-bus:before {\n content: "\\F207";\n}\n.fa-ioxhost:before {\n content: "\\F208";\n}\n.fa-angellist:before {\n content: "\\F209";\n}\n.fa-cc:before {\n content: "\\F20A";\n}\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n content: "\\F20B";\n}\n.fa-meanpath:before {\n content: "\\F20C";\n}\n.fa-buysellads:before {\n content: "\\F20D";\n}\n.fa-connectdevelop:before {\n content: "\\F20E";\n}\n.fa-dashcube:before {\n content: "\\F210";\n}\n.fa-forumbee:before {\n content: "\\F211";\n}\n.fa-leanpub:before {\n content: "\\F212";\n}\n.fa-sellsy:before {\n content: "\\F213";\n}\n.fa-shirtsinbulk:before {\n content: "\\F214";\n}\n.fa-simplybuilt:before {\n content: "\\F215";\n}\n.fa-skyatlas:before {\n content: "\\F216";\n}\n.fa-cart-plus:before {\n content: "\\F217";\n}\n.fa-cart-arrow-down:before {\n content: "\\F218";\n}\n.fa-diamond:before {\n content: "\\F219";\n}\n.fa-ship:before {\n content: "\\F21A";\n}\n.fa-user-secret:before {\n content: "\\F21B";\n}\n.fa-motorcycle:before {\n content: "\\F21C";\n}\n.fa-street-view:before {\n content: "\\F21D";\n}\n.fa-heartbeat:before {\n content: "\\F21E";\n}\n.fa-venus:before {\n content: "\\F221";\n}\n.fa-mars:before {\n content: "\\F222";\n}\n.fa-mercury:before {\n content: "\\F223";\n}\n.fa-intersex:before,\n.fa-transgender:before {\n content: "\\F224";\n}\n.fa-transgender-alt:before {\n content: "\\F225";\n}\n.fa-venus-double:before {\n content: "\\F226";\n}\n.fa-mars-double:before {\n content: "\\F227";\n}\n.fa-venus-mars:before {\n content: "\\F228";\n}\n.fa-mars-stroke:before {\n content: "\\F229";\n}\n.fa-mars-stroke-v:before {\n content: "\\F22A";\n}\n.fa-mars-stroke-h:before {\n content: "\\F22B";\n}\n.fa-neuter:before {\n content: "\\F22C";\n}\n.fa-genderless:before {\n content: "\\F22D";\n}\n.fa-facebook-official:before {\n content: "\\F230";\n}\n.fa-pinterest-p:before {\n content: "\\F231";\n}\n.fa-whatsapp:before {\n content: "\\F232";\n}\n.fa-server:before {\n content: "\\F233";\n}\n.fa-user-plus:before {\n content: "\\F234";\n}\n.fa-user-times:before {\n content: "\\F235";\n}\n.fa-hotel:before,\n.fa-bed:before {\n content: "\\F236";\n}\n.fa-viacoin:before {\n content: "\\F237";\n}\n.fa-train:before {\n content: "\\F238";\n}\n.fa-subway:before {\n content: "\\F239";\n}\n.fa-medium:before {\n content: "\\F23A";\n}\n.fa-yc:before,\n.fa-y-combinator:before {\n content: "\\F23B";\n}\n.fa-optin-monster:before {\n content: "\\F23C";\n}\n.fa-opencart:before {\n content: "\\F23D";\n}\n.fa-expeditedssl:before {\n content: "\\F23E";\n}\n.fa-battery-4:before,\n.fa-battery:before,\n.fa-battery-full:before {\n content: "\\F240";\n}\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n content: "\\F241";\n}\n.fa-battery-2:before,\n.fa-battery-half:before {\n content: "\\F242";\n}\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n content: "\\F243";\n}\n.fa-battery-0:before,\n.fa-battery-empty:before {\n content: "\\F244";\n}\n.fa-mouse-pointer:before {\n content: "\\F245";\n}\n.fa-i-cursor:before {\n content: "\\F246";\n}\n.fa-object-group:before {\n content: "\\F247";\n}\n.fa-object-ungroup:before {\n content: "\\F248";\n}\n.fa-sticky-note:before {\n content: "\\F249";\n}\n.fa-sticky-note-o:before {\n content: "\\F24A";\n}\n.fa-cc-jcb:before {\n content: "\\F24B";\n}\n.fa-cc-diners-club:before {\n content: "\\F24C";\n}\n.fa-clone:before {\n content: "\\F24D";\n}\n.fa-balance-scale:before {\n content: "\\F24E";\n}\n.fa-hourglass-o:before {\n content: "\\F250";\n}\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n content: "\\F251";\n}\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n content: "\\F252";\n}\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n content: "\\F253";\n}\n.fa-hourglass:before {\n content: "\\F254";\n}\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n content: "\\F255";\n}\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n content: "\\F256";\n}\n.fa-hand-scissors-o:before {\n content: "\\F257";\n}\n.fa-hand-lizard-o:before {\n content: "\\F258";\n}\n.fa-hand-spock-o:before {\n content: "\\F259";\n}\n.fa-hand-pointer-o:before {\n content: "\\F25A";\n}\n.fa-hand-peace-o:before {\n content: "\\F25B";\n}\n.fa-trademark:before {\n content: "\\F25C";\n}\n.fa-registered:before {\n content: "\\F25D";\n}\n.fa-creative-commons:before {\n content: "\\F25E";\n}\n.fa-gg:before {\n content: "\\F260";\n}\n.fa-gg-circle:before {\n content: "\\F261";\n}\n.fa-tripadvisor:before {\n content: "\\F262";\n}\n.fa-odnoklassniki:before {\n content: "\\F263";\n}\n.fa-odnoklassniki-square:before {\n content: "\\F264";\n}\n.fa-get-pocket:before {\n content: "\\F265";\n}\n.fa-wikipedia-w:before {\n content: "\\F266";\n}\n.fa-safari:before {\n content: "\\F267";\n}\n.fa-chrome:before {\n content: "\\F268";\n}\n.fa-firefox:before {\n content: "\\F269";\n}\n.fa-opera:before {\n content: "\\F26A";\n}\n.fa-internet-explorer:before {\n content: "\\F26B";\n}\n.fa-tv:before,\n.fa-television:before {\n content: "\\F26C";\n}\n.fa-contao:before {\n content: "\\F26D";\n}\n.fa-500px:before {\n content: "\\F26E";\n}\n.fa-amazon:before {\n content: "\\F270";\n}\n.fa-calendar-plus-o:before {\n content: "\\F271";\n}\n.fa-calendar-minus-o:before {\n content: "\\F272";\n}\n.fa-calendar-times-o:before {\n content: "\\F273";\n}\n.fa-calendar-check-o:before {\n content: "\\F274";\n}\n.fa-industry:before {\n content: "\\F275";\n}\n.fa-map-pin:before {\n content: "\\F276";\n}\n.fa-map-signs:before {\n content: "\\F277";\n}\n.fa-map-o:before {\n content: "\\F278";\n}\n.fa-map:before {\n content: "\\F279";\n}\n.fa-commenting:before {\n content: "\\F27A";\n}\n.fa-commenting-o:before {\n content: "\\F27B";\n}\n.fa-houzz:before {\n content: "\\F27C";\n}\n.fa-vimeo:before {\n content: "\\F27D";\n}\n.fa-black-tie:before {\n content: "\\F27E";\n}\n.fa-fonticons:before {\n content: "\\F280";\n}\n.fa-reddit-alien:before {\n content: "\\F281";\n}\n.fa-edge:before {\n content: "\\F282";\n}\n.fa-credit-card-alt:before {\n content: "\\F283";\n}\n.fa-codiepie:before {\n content: "\\F284";\n}\n.fa-modx:before {\n content: "\\F285";\n}\n.fa-fort-awesome:before {\n content: "\\F286";\n}\n.fa-usb:before {\n content: "\\F287";\n}\n.fa-product-hunt:before {\n content: "\\F288";\n}\n.fa-mixcloud:before {\n content: "\\F289";\n}\n.fa-scribd:before {\n content: "\\F28A";\n}\n.fa-pause-circle:before {\n content: "\\F28B";\n}\n.fa-pause-circle-o:before {\n content: "\\F28C";\n}\n.fa-stop-circle:before {\n content: "\\F28D";\n}\n.fa-stop-circle-o:before {\n content: "\\F28E";\n}\n.fa-shopping-bag:before {\n content: "\\F290";\n}\n.fa-shopping-basket:before {\n content: "\\F291";\n}\n.fa-hashtag:before {\n content: "\\F292";\n}\n.fa-bluetooth:before {\n content: "\\F293";\n}\n.fa-bluetooth-b:before {\n content: "\\F294";\n}\n.fa-percent:before {\n content: "\\F295";\n}\n.fa-gitlab:before {\n content: "\\F296";\n}\n.fa-wpbeginner:before {\n content: "\\F297";\n}\n.fa-wpforms:before {\n content: "\\F298";\n}\n.fa-envira:before {\n content: "\\F299";\n}\n.fa-universal-access:before {\n content: "\\F29A";\n}\n.fa-wheelchair-alt:before {\n content: "\\F29B";\n}\n.fa-question-circle-o:before {\n content: "\\F29C";\n}\n.fa-blind:before {\n content: "\\F29D";\n}\n.fa-audio-description:before {\n content: "\\F29E";\n}\n.fa-volume-control-phone:before {\n content: "\\F2A0";\n}\n.fa-braille:before {\n content: "\\F2A1";\n}\n.fa-assistive-listening-systems:before {\n content: "\\F2A2";\n}\n.fa-asl-interpreting:before,\n.fa-american-sign-language-interpreting:before {\n content: "\\F2A3";\n}\n.fa-deafness:before,\n.fa-hard-of-hearing:before,\n.fa-deaf:before {\n content: "\\F2A4";\n}\n.fa-glide:before {\n content: "\\F2A5";\n}\n.fa-glide-g:before {\n content: "\\F2A6";\n}\n.fa-signing:before,\n.fa-sign-language:before {\n content: "\\F2A7";\n}\n.fa-low-vision:before {\n content: "\\F2A8";\n}\n.fa-viadeo:before {\n content: "\\F2A9";\n}\n.fa-viadeo-square:before {\n content: "\\F2AA";\n}\n.fa-snapchat:before {\n content: "\\F2AB";\n}\n.fa-snapchat-ghost:before {\n content: "\\F2AC";\n}\n.fa-snapchat-square:before {\n content: "\\F2AD";\n}\n.fa-pied-piper:before {\n content: "\\F2AE";\n}\n.fa-first-order:before {\n content: "\\F2B0";\n}\n.fa-yoast:before {\n content: "\\F2B1";\n}\n.fa-themeisle:before {\n content: "\\F2B2";\n}\n.fa-google-plus-circle:before,\n.fa-google-plus-official:before {\n content: "\\F2B3";\n}\n.fa-fa:before,\n.fa-font-awesome:before {\n content: "\\F2B4";\n}\n.fa-handshake-o:before {\n content: "\\F2B5";\n}\n.fa-envelope-open:before {\n content: "\\F2B6";\n}\n.fa-envelope-open-o:before {\n content: "\\F2B7";\n}\n.fa-linode:before {\n content: "\\F2B8";\n}\n.fa-address-book:before {\n content: "\\F2B9";\n}\n.fa-address-book-o:before {\n content: "\\F2BA";\n}\n.fa-vcard:before,\n.fa-address-card:before {\n content: "\\F2BB";\n}\n.fa-vcard-o:before,\n.fa-address-card-o:before {\n content: "\\F2BC";\n}\n.fa-user-circle:before {\n content: "\\F2BD";\n}\n.fa-user-circle-o:before {\n content: "\\F2BE";\n}\n.fa-user-o:before {\n content: "\\F2C0";\n}\n.fa-id-badge:before {\n content: "\\F2C1";\n}\n.fa-drivers-license:before,\n.fa-id-card:before {\n content: "\\F2C2";\n}\n.fa-drivers-license-o:before,\n.fa-id-card-o:before {\n content: "\\F2C3";\n}\n.fa-quora:before {\n content: "\\F2C4";\n}\n.fa-free-code-camp:before {\n content: "\\F2C5";\n}\n.fa-telegram:before {\n content: "\\F2C6";\n}\n.fa-thermometer-4:before,\n.fa-thermometer:before,\n.fa-thermometer-full:before {\n content: "\\F2C7";\n}\n.fa-thermometer-3:before,\n.fa-thermometer-three-quarters:before {\n content: "\\F2C8";\n}\n.fa-thermometer-2:before,\n.fa-thermometer-half:before {\n content: "\\F2C9";\n}\n.fa-thermometer-1:before,\n.fa-thermometer-quarter:before {\n content: "\\F2CA";\n}\n.fa-thermometer-0:before,\n.fa-thermometer-empty:before {\n content: "\\F2CB";\n}\n.fa-shower:before {\n content: "\\F2CC";\n}\n.fa-bathtub:before,\n.fa-s15:before,\n.fa-bath:before {\n content: "\\F2CD";\n}\n.fa-podcast:before {\n content: "\\F2CE";\n}\n.fa-window-maximize:before {\n content: "\\F2D0";\n}\n.fa-window-minimize:before {\n content: "\\F2D1";\n}\n.fa-window-restore:before {\n content: "\\F2D2";\n}\n.fa-times-rectangle:before,\n.fa-window-close:before {\n content: "\\F2D3";\n}\n.fa-times-rectangle-o:before,\n.fa-window-close-o:before {\n content: "\\F2D4";\n}\n.fa-bandcamp:before {\n content: "\\F2D5";\n}\n.fa-grav:before {\n content: "\\F2D6";\n}\n.fa-etsy:before {\n content: "\\F2D7";\n}\n.fa-imdb:before {\n content: "\\F2D8";\n}\n.fa-ravelry:before {\n content: "\\F2D9";\n}\n.fa-eercast:before {\n content: "\\F2DA";\n}\n.fa-microchip:before {\n content: "\\F2DB";\n}\n.fa-snowflake-o:before {\n content: "\\F2DC";\n}\n.fa-superpowers:before {\n content: "\\F2DD";\n}\n.fa-wpexplorer:before {\n content: "\\F2DE";\n}\n.fa-meetup:before {\n content: "\\F2E0";\n}\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n font-size: 1.33333333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n.fa-2x {\n font-size: 2em;\n}\n.fa-3x {\n font-size: 3em;\n}\n.fa-4x {\n font-size: 4em;\n}\n.fa-5x {\n font-size: 5em;\n}\n.fa-ul {\n padding-left: 0;\n margin-left: 2.14285714em;\n list-style-type: none;\n}\n.fa-ul > li {\n position: relative;\n}\n.fa-li {\n position: absolute;\n left: -2.14285714em;\n width: 2.14285714em;\n top: 0.14285714em;\n text-align: center;\n}\n.fa-li.fa-lg {\n left: -1.85714286em;\n}\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: \'FontAwesome\';\n src: url('+r(n("fcc4"))+");\n src: url("+r(n("c582"))+"?#iefix&v=4.7.0) format('embedded-opentype'), url("+r(n("f367"))+") format('woff2'), url("+r(n("5bf4"))+") format('woff'), url("+r(n("8a6e"))+") format('truetype'), url("+r(n("3591"))+'#fontawesomeregular) format(\'svg\');\n font-weight: normal;\n font-style: normal;\n}\n.fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n.fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n.fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n -webkit-transform: rotate(270deg);\n -ms-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n.fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n -webkit-transform: scale(-1, 1);\n -ms-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(1, -1);\n -ms-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n filter: none;\n}\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n.fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.fa-stack-1x,\n.fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.fa-stack-1x {\n line-height: inherit;\n}\n.fa-stack-2x {\n font-size: 2em;\n}\n.fa-inverse {\n color: #fff;\n}\n',""])},a38c:function(t,e,n){n("3e476");var r=n("764b"),o=r.Object,i=t.exports=function(t,e,n){return o.defineProperty(t,e,n)};o.defineProperty.sham&&(i.sham=!0)},a3ad:function(t,e,n){"use strict";var r=n("a5eb"),o=n("cc94"),i=n("9883"),a=n("ad27"),s=n("9b8d"),u=n("5b57"),c="No one promise resolved";r({target:"Promise",stat:!0},{any:function(t){var e=this,n=a.f(e),r=n.resolve,f=n.reject,l=s((function(){var n=o(e.resolve),a=[],s=0,l=1,p=!1;u(t,(function(t){var o=s++,u=!1;a.push(void 0),l++,n.call(e,t).then((function(t){u||p||(p=!0,r(t))}),(function(t){u||p||(u=!0,a[o]=t,--l||f(new(i("AggregateError"))(a,c)))}))})),--l||f(new(i("AggregateError"))(a,c))}));return l.error&&f(l.value),n.promise}})},a3e3:function(t,e,n){t.exports=n("6c5d")},a421:function(t,e,n){var r=n("638c"),o=n("1875");t.exports=function(t){return r(o(t))}},a434:function(t,e,n){"use strict";var r=n("23e7"),o=n("23cb"),i=n("a691"),a=n("50c4"),s=n("7b0b"),u=n("65f0"),c=n("8418"),f=n("1dde"),l=n("ae40"),p=f("splice"),h=l("splice",{ACCESSORS:!0,0:0,1:2}),d=Math.max,v=Math.min,g=9007199254740991,b="Maximum allowed length exceeded";r({target:"Array",proto:!0,forced:!p||!h},{splice:function(t,e){var n,r,f,l,p,h,m=s(this),y=a(m.length),_=o(t,y),w=arguments.length;if(0===w?n=r=0:1===w?(n=0,r=y-_):(n=w-2,r=v(d(i(e),0),y-_)),y+n-r>g)throw TypeError(b);for(f=u(m,r),l=0;ly-r+n;l--)delete m[l-1]}else if(n>r)for(l=y-r;l>_;l--)p=l+r-1,h=l+n-1,p in m?m[h]=m[p]:delete m[h];for(l=0;li)o.push(arguments[i++]);if(r=e,(h(e)||void 0!==t)&&!st(t))return p(e)||(e=function(t,e){if("function"==typeof r&&(e=r.call(this,t,e)),!st(e))return e}),o[1]=e,G.apply(null,o)}})}W[$][q]||S(W[$],q,W[$].valueOf),N(W,U),T[M]=!0},a524:function(t,e,n){var r=n("4245");function o(t){return r(this,t).has(t)}t.exports=o},a5eb:function(t,e,n){"use strict";var r=n("3ac6"),o=n("44ba").f,i=n("a0e5"),a=n("764b"),s=n("6414"),u=n("0273"),c=n("78e7"),f=function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e};t.exports=function(t,e){var n,l,p,h,d,v,g,b,m,y=t.target,_=t.global,w=t.stat,x=t.proto,E=_?r:w?r[y]:(r[y]||{}).prototype,D=_?a:a[y]||(a[y]={}),A=D.prototype;for(h in e)n=i(_?h:y+(w?".":"#")+h,t.forced),l=!n&&E&&c(E,h),v=D[h],l&&(t.noTargetGet?(m=o(E,h),g=m&&m.value):g=E[h]),d=l&&g?g:e[h],l&&typeof v===typeof d||(b=t.bind&&l?s(d,r):t.wrap&&l?f(d):x&&"function"==typeof d?s(Function.call,d):d,(t.sham||d&&d.sham||v&&v.sham)&&u(b,"sham",!0),D[h]=b,x&&(p=y+"Prototype",c(a,p)||u(a,p,{}),a[p][h]=d,t.real&&A&&!A[h]&&u(A,h,d)))}},a630:function(t,e,n){var r=n("23e7"),o=n("4df4"),i=n("1c7e"),a=!i((function(t){Array.from(t)}));r({target:"Array",stat:!0,forced:a},{from:o})},a640:function(t,e,n){"use strict";var r=n("d039");t.exports=function(t,e){var n=[][t];return!!n&&r((function(){n.call(null,e||function(){throw 1},1)}))}},a691:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},a738:function(t,e,n){var r=n("4359"),o=n("c098"),i=Math.min;function a(t,e){var n=t.length,a=i(e.length,n),s=r(t);while(a--){var u=e[a];t[a]=o(u,n)?s[u]:void 0}return t}t.exports=a},a781:function(t,e,n){"use strict";var r=n("045d"),o=n("2d80");function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){for(var n=0;n0?("string"===typeof e||a.objectMode||Object.getPrototypeOf(e)===c.prototype||(e=l(e)),r?a.endEmitted?t.emit("error",new Error("stream.unshift() after end event")):D(t,a,e,!0):a.ended?t.emit("error",new Error("stream.push() after EOF")):(a.reading=!1,a.decoder&&!n?(e=a.decoder.write(e),a.objectMode||0!==e.length?D(t,a,e,!1):L(t,a)):D(t,a,e,!1))):r||(a.reading=!1));return C(a)}function D(t,e,n,r){e.flowing&&0===e.length&&!e.sync?(t.emit("data",n),t.read(0)):(e.length+=e.objectMode?1:n.length,r?e.buffer.unshift(n):e.buffer.push(n),e.needReadable&&T(t)),L(t,e)}function A(t,e){var n;return p(e)||"string"===typeof e||void 0===e||t.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}function C(t){return!t.ended&&(t.needReadable||t.length=S?t=S:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function k(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=F(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function O(t,e){if(!e.ended){if(e.decoder){var n=e.decoder.end();n&&n.length&&(e.buffer.push(n),e.length+=e.objectMode?1:n.length)}e.ended=!0,T(t)}}function T(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(v("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?o.nextTick(R,t):R(t))}function R(t){v("emit readable"),t.emit("readable"),M(t)}function L(t,e){e.readingMore||(e.readingMore=!0,o.nextTick(j,t,e))}function j(t,e){var n=e.length;while(!e.reading&&!e.flowing&&!e.ended&&e.length=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):n=$(t,e.buffer,e.decoder),n);var n}function $(t,e,n){var r;return ti.length?i.length:t;if(a===i.length?o+=i:o+=i.slice(0,t),t-=a,0===t){a===i.length?(++r,n.next?e.head=n.next:e.head=e.tail=null):(e.head=n,n.data=i.slice(a));break}++r}return e.length-=r,o}function z(t,e){var n=c.allocUnsafe(t),r=e.head,o=1;r.data.copy(n),t-=r.data.length;while(r=r.next){var i=r.data,a=t>i.length?i.length:t;if(i.copy(n,n.length-t,0,a),t-=a,0===t){a===i.length?(++o,r.next?e.head=r.next:e.head=e.tail=null):(e.head=r,r.data=i.slice(a));break}++o}return e.length-=o,n}function H(t){var e=t._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,o.nextTick(V,e,t))}function V(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))}function W(t,e){for(var n=0,r=t.length;n=e.highWaterMark||e.ended))return v("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?H(this):T(this),null;if(t=k(t,e),0===t&&e.ended)return 0===e.length&&H(this),null;var r,o=e.needReadable;return v("need readable",o),(0===e.length||e.length-t0?U(t,e):null,null===r?(e.needReadable=!0,t=0):e.length-=t,0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&H(this)),null!==r&&this.emit("data",r),r},x.prototype._read=function(t){this.emit("error",new Error("_read() is not implemented"))},x.prototype.pipe=function(t,e){var n=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=t;break;case 1:i.pipes=[i.pipes,t];break;default:i.pipes.push(t);break}i.pipesCount+=1,v("pipe count=%d opts=%j",i.pipesCount,e);var a=(!e||!1!==e.end)&&t!==r.stdout&&t!==r.stderr,u=a?f:w;function c(t,e){v("onunpipe"),t===n&&e&&!1===e.hasUnpiped&&(e.hasUnpiped=!0,h())}function f(){v("onend"),t.end()}i.endEmitted?o.nextTick(u):n.once("end",u),t.on("unpipe",c);var l=P(n);t.on("drain",l);var p=!1;function h(){v("cleanup"),t.removeListener("close",m),t.removeListener("finish",y),t.removeListener("drain",l),t.removeListener("error",b),t.removeListener("unpipe",c),n.removeListener("end",f),n.removeListener("end",w),n.removeListener("data",g),p=!0,!i.awaitDrain||t._writableState&&!t._writableState.needDrain||l()}var d=!1;function g(e){v("ondata"),d=!1;var r=t.write(e);!1!==r||d||((1===i.pipesCount&&i.pipes===t||i.pipesCount>1&&-1!==W(i.pipes,t))&&!p&&(v("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,d=!0),n.pause())}function b(e){v("onerror",e),w(),t.removeListener("error",b),0===s(t,"error")&&t.emit("error",e)}function m(){t.removeListener("finish",y),w()}function y(){v("onfinish"),t.removeListener("close",m),w()}function w(){v("unpipe"),n.unpipe(t)}return n.on("data",g),_(t,"error",b),t.once("close",m),t.once("finish",y),t.emit("pipe",n),i.flowing||(v("pipe resume"),n.resume()),t},x.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n)),this;if(!t){var r=e.pipes,o=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var i=0;i-1&&t%1==0&&t<=n}t.exports=r},b2ed:function(t,e,n){var r=n("d659"),o=n("3e80"),i=r("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},b323:function(t,e,n){var r=n("78e7"),o=n("a421"),i=n("6386").indexOf,a=n("6e9a");t.exports=function(t,e){var n,s=o(t),u=0,c=[];for(n in s)!r(a,n)&&r(s,n)&&c.push(n);while(e.length>u)r(s,n=e[u++])&&(~i(c,n)||c.push(n));return c}},b337:function(t,e,n){var r=n("44b3"),o=Array.prototype;t.exports=function(t){var e=t.reduce;return t===o||t instanceof Array&&e===o.reduce?r:e}},b343:function(t,e,n){var r=n("cd9d"),o=n("6b9a"),i=o?function(t,e){return o.set(t,e),t}:r;t.exports=i},b380:function(t,e,n){"use strict";var r=n("1bd5"),o=n("2d80");o(e,"__esModule",{value:!0}),e.default=a;var i=r(n("8c96"));function a(t,n){return e.default=a=i.default||function(t,e){return t.__proto__=e,t},a(t,n)}},b3e9:function(t,e,n){var r=n("d612"),o=n("8db3"),i=n("5edf"),a=n("7948"),s=n("b047"),u=n("c584"),c=Math.min;function f(t,e,n){var f=n?i:o,l=t[0].length,p=t.length,h=p,d=Array(p),v=1/0,g=[];while(h--){var b=t[h];h&&e&&(b=a(b,s(e))),v=c(b.length,v),d[h]=!n&&(e||l>=120&&b.length>=120)?new r(h&&b):void 0}b=t[0];var m=-1,y=d[0];t:while(++m + * @license MIT + */ +var r=n("1fb5"),o=n("9152"),i=n("e3db");function a(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"===typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(e){return!1}}function s(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function u(t,e){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|t}function y(t){return+t!=t&&(t=0),c.alloc(+t)}function _(t,e){if(c.isBuffer(t))return t.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!==typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return J(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Q(t).length;default:if(r)return J(t).length;e=(""+e).toLowerCase(),r=!0}}function w(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if(n>>>=0,e>>>=0,n<=e)return"";t||(t="utf8");while(1)switch(t){case"hex":return I(this,e,n);case"utf8":case"utf-8":return R(this,e,n);case"ascii":return P(this,e,n);case"latin1":case"binary":return N(this,e,n);case"base64":return T(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function x(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function E(t,e,n,r,o){if(0===t.length)return-1;if("string"===typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(o)return-1;n=t.length-1}else if(n<0){if(!o)return-1;n=0}if("string"===typeof e&&(e=c.from(e,r)),c.isBuffer(e))return 0===e.length?-1:D(t,e,n,r,o);if("number"===typeof e)return e&=255,c.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):D(t,[e],n,r,o);throw new TypeError("val must be string, number or Buffer")}function D(t,e,n,r,o){var i,a=1,s=t.length,u=e.length;if(void 0!==r&&(r=String(r).toLowerCase(),"ucs2"===r||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;a=2,s/=2,u/=2,n/=2}function c(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(o){var f=-1;for(i=n;is&&(n=s-u),i=n;i>=0;i--){for(var l=!0,p=0;po&&(r=o)):r=o;var i=e.length;if(i%2!==0)throw new TypeError("Invalid hex string");r>i/2&&(r=i/2);for(var a=0;a239?4:c>223?3:c>191?2:1;if(o+l<=n)switch(l){case 1:c<128&&(f=c);break;case 2:i=t[o+1],128===(192&i)&&(u=(31&c)<<6|63&i,u>127&&(f=u));break;case 3:i=t[o+1],a=t[o+2],128===(192&i)&&128===(192&a)&&(u=(15&c)<<12|(63&i)<<6|63&a,u>2047&&(u<55296||u>57343)&&(f=u));break;case 4:i=t[o+1],a=t[o+2],s=t[o+3],128===(192&i)&&128===(192&a)&&128===(192&s)&&(u=(15&c)<<18|(63&i)<<12|(63&a)<<6|63&s,u>65535&&u<1114112&&(f=u))}null===f?(f=65533,l=1):f>65535&&(f-=65536,r.push(f>>>10&1023|55296),f=56320|1023&f),r.push(f),o+=l}return j(r)}e.Buffer=c,e.SlowBuffer=y,e.INSPECT_MAX_BYTES=50,c.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:a(),e.kMaxLength=s(),c.poolSize=8192,c._augment=function(t){return t.__proto__=c.prototype,t},c.from=function(t,e,n){return f(null,t,e,n)},c.TYPED_ARRAY_SUPPORT&&(c.prototype.__proto__=Uint8Array.prototype,c.__proto__=Uint8Array,"undefined"!==typeof Symbol&&Symbol.species&&c[Symbol.species]===c&&Object.defineProperty(c,Symbol.species,{value:null,configurable:!0})),c.alloc=function(t,e,n){return p(null,t,e,n)},c.allocUnsafe=function(t){return h(null,t)},c.allocUnsafeSlow=function(t){return h(null,t)},c.isBuffer=function(t){return!(null==t||!t._isBuffer)},c.compare=function(t,e){if(!c.isBuffer(t)||!c.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var n=t.length,r=e.length,o=0,i=Math.min(n,r);o0&&(t=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(t+=" ... ")),""},c.prototype.compare=function(t,e,n,r,o){if(!c.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),e<0||n>t.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&e>=n)return 0;if(r>=o)return-1;if(e>=n)return 1;if(e>>>=0,n>>>=0,r>>>=0,o>>>=0,this===t)return 0;for(var i=o-r,a=n-e,s=Math.min(i,a),u=this.slice(r,o),f=t.slice(e,n),l=0;lo)&&(n=o),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var i=!1;;)switch(r){case"hex":return A(this,t,e,n);case"utf8":case"utf-8":return C(this,t,e,n);case"ascii":return S(this,t,e,n);case"latin1":case"binary":return F(this,t,e,n);case"base64":return k(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,t,e,n);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var L=4096;function j(t){var e=t.length;if(e<=L)return String.fromCharCode.apply(String,t);var n="",r=0;while(rr)&&(n=r);for(var o="",i=e;in)throw new RangeError("Trying to access beyond buffer length")}function U(t,e,n,r,o,i){if(!c.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>o||et.length)throw new RangeError("Index out of range")}function $(t,e,n,r){e<0&&(e=65535+e+1);for(var o=0,i=Math.min(t.length-n,2);o>>8*(r?o:1-o)}function q(t,e,n,r){e<0&&(e=4294967295+e+1);for(var o=0,i=Math.min(t.length-n,4);o>>8*(r?o:3-o)&255}function z(t,e,n,r,o,i){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function H(t,e,n,r,i){return i||z(t,e,n,4,34028234663852886e22,-34028234663852886e22),o.write(t,e,n,r,23,4),n+4}function V(t,e,n,r,i){return i||z(t,e,n,8,17976931348623157e292,-17976931348623157e292),o.write(t,e,n,r,52,8),n+8}c.prototype.slice=function(t,e){var n,r=this.length;if(t=~~t,e=void 0===e?r:~~e,t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),e<0?(e+=r,e<0&&(e=0)):e>r&&(e=r),e0&&(o*=256))r+=this[t+--e]*o;return r},c.prototype.readUInt8=function(t,e){return e||M(t,1,this.length),this[t]},c.prototype.readUInt16LE=function(t,e){return e||M(t,2,this.length),this[t]|this[t+1]<<8},c.prototype.readUInt16BE=function(t,e){return e||M(t,2,this.length),this[t]<<8|this[t+1]},c.prototype.readUInt32LE=function(t,e){return e||M(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},c.prototype.readUInt32BE=function(t,e){return e||M(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},c.prototype.readIntLE=function(t,e,n){t|=0,e|=0,n||M(t,e,this.length);var r=this[t],o=1,i=0;while(++i=o&&(r-=Math.pow(2,8*e)),r},c.prototype.readIntBE=function(t,e,n){t|=0,e|=0,n||M(t,e,this.length);var r=e,o=1,i=this[t+--r];while(r>0&&(o*=256))i+=this[t+--r]*o;return o*=128,i>=o&&(i-=Math.pow(2,8*e)),i},c.prototype.readInt8=function(t,e){return e||M(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},c.prototype.readInt16LE=function(t,e){e||M(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt16BE=function(t,e){e||M(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt32LE=function(t,e){return e||M(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},c.prototype.readInt32BE=function(t,e){return e||M(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},c.prototype.readFloatLE=function(t,e){return e||M(t,4,this.length),o.read(this,t,!0,23,4)},c.prototype.readFloatBE=function(t,e){return e||M(t,4,this.length),o.read(this,t,!1,23,4)},c.prototype.readDoubleLE=function(t,e){return e||M(t,8,this.length),o.read(this,t,!0,52,8)},c.prototype.readDoubleBE=function(t,e){return e||M(t,8,this.length),o.read(this,t,!1,52,8)},c.prototype.writeUIntLE=function(t,e,n,r){if(t=+t,e|=0,n|=0,!r){var o=Math.pow(2,8*n)-1;U(this,t,e,n,o,0)}var i=1,a=0;this[e]=255&t;while(++a=0&&(a*=256))this[e+i]=t/a&255;return e+n},c.prototype.writeUInt8=function(t,e,n){return t=+t,e|=0,n||U(this,t,e,1,255,0),c.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},c.prototype.writeUInt16LE=function(t,e,n){return t=+t,e|=0,n||U(this,t,e,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):$(this,t,e,!0),e+2},c.prototype.writeUInt16BE=function(t,e,n){return t=+t,e|=0,n||U(this,t,e,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):$(this,t,e,!1),e+2},c.prototype.writeUInt32LE=function(t,e,n){return t=+t,e|=0,n||U(this,t,e,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):q(this,t,e,!0),e+4},c.prototype.writeUInt32BE=function(t,e,n){return t=+t,e|=0,n||U(this,t,e,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):q(this,t,e,!1),e+4},c.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e|=0,!r){var o=Math.pow(2,8*n-1);U(this,t,e,n,o-1,-o)}var i=0,a=1,s=0;this[e]=255&t;while(++i>0)-s&255;return e+n},c.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e|=0,!r){var o=Math.pow(2,8*n-1);U(this,t,e,n,o-1,-o)}var i=n-1,a=1,s=0;this[e+i]=255&t;while(--i>=0&&(a*=256))t<0&&0===s&&0!==this[e+i+1]&&(s=1),this[e+i]=(t/a>>0)-s&255;return e+n},c.prototype.writeInt8=function(t,e,n){return t=+t,e|=0,n||U(this,t,e,1,127,-128),c.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},c.prototype.writeInt16LE=function(t,e,n){return t=+t,e|=0,n||U(this,t,e,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):$(this,t,e,!0),e+2},c.prototype.writeInt16BE=function(t,e,n){return t=+t,e|=0,n||U(this,t,e,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):$(this,t,e,!1),e+2},c.prototype.writeInt32LE=function(t,e,n){return t=+t,e|=0,n||U(this,t,e,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):q(this,t,e,!0),e+4},c.prototype.writeInt32BE=function(t,e,n){return t=+t,e|=0,n||U(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),c.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):q(this,t,e,!1),e+4},c.prototype.writeFloatLE=function(t,e,n){return H(this,t,e,!0,n)},c.prototype.writeFloatBE=function(t,e,n){return H(this,t,e,!1,n)},c.prototype.writeDoubleLE=function(t,e,n){return V(this,t,e,!0,n)},c.prototype.writeDoubleBE=function(t,e,n){return V(this,t,e,!1,n)},c.prototype.copy=function(t,e,n,r){if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e=0;--o)t[o+e]=this[o+n];else if(i<1e3||!c.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"===typeof t)for(i=e;i55295&&n<57344){if(!o){if(n>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(a+1===r){(e-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(e-=3)>-1&&i.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(e-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((e-=1)<0)break;i.push(n)}else if(n<2048){if((e-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function K(t){for(var e=[],n=0;n>8,o=n%256,i.push(o),i.push(r)}return i}function Q(t){return r.toByteArray(G(t))}function tt(t,e,n,r){for(var o=0;o=e.length||o>=t.length)break;e[o+n]=t[o]}return o}function et(t){return t!==t}}).call(this,n("c8ba"))},b64b:function(t,e,n){var r=n("23e7"),o=n("7b0b"),i=n("df75"),a=n("d039"),s=a((function(){i(1)}));r({target:"Object",stat:!0,forced:s},{keys:function(t){return i(o(t))}})},b697:function(t,e,n){var r,o,i;(function(n,a){o=[],r=a,i="function"===typeof r?r.apply(e,o):r,void 0===i||(t.exports=i)})(0,(function(){var t=/^v?(?:\d+)(\.(?:[x*]|\d+)(\.(?:[x*]|\d+)(\.(?:[x*]|\d+))?(?:-[\da-z\-]+(?:\.[\da-z\-]+)*)?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i;function e(t,e){return-1===t.indexOf(e)?t.length:t.indexOf(e)}function n(t){var n=t.replace(/^v/,"").replace(/\+.*$/,""),r=e(n,"-"),o=n.substring(0,r).split(".");return o.push(n.substring(r+1)),o}function r(t){return isNaN(Number(t))?t:Number(t)}function o(e){if("string"!==typeof e)throw new TypeError("Invalid argument expected string");if(!t.test(e))throw new Error("Invalid argument not valid semver ('"+e+"' received)")}function i(t,e){[t,e].forEach(o);for(var i=n(t),a=n(e),s=0;sc)return 1;if(c>u)return-1}var f=i[i.length-1],l=a[a.length-1];if(f&&l){var p=f.split(".").map(r),h=l.split(".").map(r);for(s=0;sh[s])return 1;if(h[s]>p[s])return-1}}else if(f||l)return f?-1:1;return 0}var a=[">",">=","=","<","<="],s={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1]};function u(t){if("string"!==typeof t)throw new TypeError("Invalid operator type, expected string but got "+typeof t);if(-1===a.indexOf(t))throw new TypeError("Invalid operator, expected one of "+a.join("|"))}return i.validate=function(e){return"string"===typeof e&&t.test(e)},i.compare=function(t,e,n){u(n);var r=i(t,e);return s[n].indexOf(r)>-1},i}))},b6ce:function(t,e,n){t.exports=n("4947")},b6fe:function(t,e){},b727:function(t,e,n){var r=n("0366"),o=n("44ad"),i=n("7b0b"),a=n("50c4"),s=n("65f0"),u=[].push,c=function(t){var e=1==t,n=2==t,c=3==t,f=4==t,l=6==t,p=5==t||l;return function(h,d,v,g){for(var b,m,y=i(h),_=o(y),w=r(d,v,3),x=a(_.length),E=0,D=g||s,A=e?D(h,x):n?D(h,0):void 0;x>E;E++)if((p||E in _)&&(b=_[E],m=w(b,E,y),t))if(e)A[E]=m;else if(m)switch(t){case 3:return!0;case 5:return b;case 6:return E;case 2:u.call(A,b)}else if(f)return!1;return l?-1:c||f?f:A}};t.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6)}},b767:function(t,e){function n(t,e){var n=t.length,r=0;while(n--)t[n]===e&&++r;return r}t.exports=n},b768:function(t,e,n){"use strict";var r=n("2d80");function o(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}r(e,"__esModule",{value:!0}),e.default=o},b7c6:function(t,e,n){var r,o; +/*! + * Tinycon - A small library for manipulating the Favicon + * Tom Moor, http://tommoor.com + * Copyright (c) 2015 Tom Moor + * @license MIT Licensed + */(function(){var i={},a=null,s=null,u=null,c=null,f={},l=Math.ceil(window.devicePixelRatio)||1,p=16*l,h={width:7,height:9,font:10*l+"px arial",color:"#ffffff",background:"#F03D25",fallback:!0,crossOrigin:!0,abbreviate:!0},d=function(){var t=navigator.userAgent.toLowerCase();return function(e){return-1!==t.indexOf(e)}}(),v={ie:d("trident"),chrome:d("chrome"),webkit:d("chrome")||d("safari"),safari:d("safari")&&!d("chrome"),mozilla:d("mozilla")&&!d("chrome")&&!d("safari")},g=function(){for(var t=document.getElementsByTagName("link"),e=0,n=t.length;e0&&E(n,t,e),D()},!r.match(/^data/)&&f.crossOrigin&&(u.crossOrigin="anonymous"),u.src=r},x=function(t){if(f.fallback){var e=document.title;"("===e[0]&&(e=e.slice(e.indexOf(" "))),document.title=(t+"").length>0?"("+t+") "+e:e}},E=function(t,e,n){"number"==typeof e&&e>99&&f.abbreviate&&(e=A(e));var r=(e+"").length-1,o=f.width*l+6*l*r,i=f.height*l,a=p-i,s=p-o-l,u=16*l,c=16*l,h=2*l;t.font=(v.webkit?"bold ":"")+f.font,t.fillStyle=f.background,t.strokeStyle=f.background,t.lineWidth=l,t.beginPath(),t.moveTo(s+h,a),t.quadraticCurveTo(s,a,s,a+h),t.lineTo(s,u-h),t.quadraticCurveTo(s,u,s+h,u),t.lineTo(c-h,u),t.quadraticCurveTo(c,u,c,u-h),t.lineTo(c,a+h),t.quadraticCurveTo(c,a,c-h,a),t.closePath(),t.fill(),t.beginPath(),t.strokeStyle="rgba(0,0,0,0.3)",t.moveTo(s+h/2,u),t.lineTo(c-h/2,u),t.stroke(),t.fillStyle=f.color,t.textAlign="right",t.textBaseline="top",t.fillText(e,2===l?29:15,v.mozilla?7*l:6*l)},D=function(){y().getContext&&_(y().toDataURL())},A=function(t){for(var e=[["G",1e9],["M",1e6],["k",1e3]],n=0;n=e[n][1]){t=C(t/e[n][1])+e[n][0];break}return t},C=function(t,e){var n=new Number(t);return n.toFixed(e)};i.setOptions=function(t){for(var e in f={},t.colour&&(t.color=t.colour),h)f[e]=t.hasOwnProperty(e)?t[e]:h[e];return this},i.setImage=function(t){return a=t,D(),this},i.setBubble=function(t,e){return t=t||"",w(t,e),this},i.reset=function(){a=s,_(s)},i.setOptions(h),r=i,o="function"===typeof r?r.call(e,n,e,t):r,void 0===o||(t.exports=o)})()},b7d1:function(t,e,n){(function(e){function n(t,e){if(r("noDeprecation"))return t;var n=!1;function o(){if(!n){if(r("throwDeprecation"))throw new Error(e);r("traceDeprecation")?console.trace(e):console.warn(e),n=!0}return t.apply(this,arguments)}return o}function r(t){try{if(!e.localStorage)return!1}catch(r){return!1}var n=e.localStorage[t];return null!=n&&"true"===String(n).toLowerCase()}t.exports=n}).call(this,n("c8ba"))},b82f:function(t,e,n){n("55d0");var r=n("764b");t.exports=r.Object.assign},b83c:function(t,e,n){var r=n("b887");t.exports=r},b887:function(t,e,n){n("9bb8");var r=n("764b"),o=r.Object,i=t.exports=function(t,e){return o.getOwnPropertyDescriptor(t,e)};o.getOwnPropertyDescriptor.sham&&(i.sham=!0)},b8ce:function(t,e,n){var r=n("38184"),o=4;function i(t){return r(t,o)}t.exports=i},b960:function(t){t.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","QUOT":"\\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"}')},b9a8:function(t,e,n){"use strict";var r=n("ada0").EventEmitter,o=n("3fb5"),i=n("621f"),a=n("9d7d"),s=n("df09"),u=n("73aa"),c=n("f701"),f=n("7c20"),l=n("89bc"),p=function(){};function h(t,e){p(t);var n=this;r.call(this),setTimeout((function(){n.doXhr(t,e)}),0)}o(h,r),h._getReceiver=function(t,e,n){return n.sameOrigin?new l(e,u):s.enabled?new l(e,s):a.enabled&&n.sameScheme?new l(e,a):f.enabled()?new f(t,e):new l(e,c)},h.prototype.doXhr=function(t,e){var n=this,r=i.addPath(t,"/info");p("doXhr",r),this.xo=h._getReceiver(t,r,e),this.timeoutRef=setTimeout((function(){p("timeout"),n._cleanup(!1),n.emit("finish")}),h.timeout),this.xo.once("finish",(function(t,e){p("finish",t,e),n._cleanup(!0),n.emit("finish",t,e)}))},h.prototype._cleanup=function(t){p("_cleanup"),clearTimeout(this.timeoutRef),this.timeoutRef=null,!t&&this.xo&&this.xo.close(),this.xo=null},h.prototype.close=function(){p("close"),this.removeAllListeners(),this._cleanup(!1)},h.timeout=8e3,t.exports=h},ba10:function(t,e,n){"use strict";var r=Object.prototype.hasOwnProperty,o="~";function i(){}function a(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function s(t,e,n,r,i){if("function"!==typeof n)throw new TypeError("The listener must be a function");var s=new a(n,r||t,i),u=o?o+e:e;return t._events[u]?t._events[u].fn?t._events[u]=[t._events[u],s]:t._events[u].push(s):(t._events[u]=s,t._eventsCount++),t}function u(t,e){0===--t._eventsCount?t._events=new i:delete t._events[e]}function c(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(o=!1)),c.prototype.eventNames=function(){var t,e,n=[];if(0===this._eventsCount)return n;for(e in t=this._events)r.call(t,e)&&n.push(o?e.slice(1):e);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(t)):n},c.prototype.listeners=function(t){var e=o?o+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var r=0,i=n.length,a=new Array(i);r1?arguments[1]:void 0)}})},bc0d:function(t,e,n){var r=n("56c4");t.exports=r},bc0f:function(t,e,n){var r=n("fbaa"),o=String.prototype;t.exports=function(t){var e=t.trim;return"string"===typeof t||t===o||t instanceof String&&e===o.trim?r:e}},bc59:function(t,e,n){n("3e47"),n("484e");var r=n("764b");t.exports=r.Array.from},bcb4:function(t,e,n){n("2a0a"),n("6f89"),n("3e47"),n("5145");var r=n("764b");t.exports=r.Map},bcdf:function(t,e){function n(){}t.exports=n},bcfb:function(t,e,n){n("96be");var r=n("a169");t.exports=r("Array").reverse},bcfc:function(t,e,n){"use strict";var r=n("a5eb"),o=n("7042"),i=n("ce1d");r({target:"WeakMap",proto:!0,real:!0,forced:o},{upsert:i})},bd25:function(t,e,n){"use strict";function r(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),r(n("68b4")),r(n("26f9")),r(n("7a39")),r(n("733c")),r(n("9f20")),r(n("f67e")),r(n("312c"))},bdf4:function(t,e,n){"use strict";var r=n("a5eb"),o=n("dee0").find,i=n("c44e"),a=n("302b"),s="find",u=!0,c=a(s);s in[]&&Array(1)[s]((function(){u=!1})),r({target:"Array",proto:!0,forced:u||!c},{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i(s)},be09:function(t,e,n){(function(e){var n;n="undefined"!==typeof window?window:"undefined"!==typeof e?e:"undefined"!==typeof self?self:{},t.exports=n}).call(this,n("c8ba"))},be30:function(t,e,n){"use strict"; +/*! + * css-vars-ponyfill + * v2.3.2 + * https://jhildenbiddle.github.io/css-vars-ponyfill/ + * (c) 2018-2020 John Hildenbiddle + * MIT license + */ +function r(){return r=Object.assign||function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n + * MIT license + */function f(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={mimeType:e.mimeType||null,onBeforeSend:e.onBeforeSend||Function.prototype,onSuccess:e.onSuccess||Function.prototype,onError:e.onError||Function.prototype,onComplete:e.onComplete||Function.prototype},r=Array.isArray(t)?t:[t],o=Array.apply(null,Array(r.length)).map((function(t){return null}));function i(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e="<"===t.trim().charAt(0);return!e}function a(t,e){n.onError(t,r[e],e)}function s(t,e){var i=n.onSuccess(t,r[e],e);t=!1===i?"":i||t,o[e]=t,-1===o.indexOf(null)&&n.onComplete(o)}var u=document.createElement("a");r.forEach((function(t,e){u.setAttribute("href",t),u.href=String(u.href);var r=Boolean(document.all&&!window.atob),o=r&&u.host.split(":")[0]!==location.host.split(":")[0];if(o){var c=u.protocol===location.protocol;if(c){var f=new XDomainRequest;f.open("GET",t),f.timeout=0,f.onprogress=Function.prototype,f.ontimeout=Function.prototype,f.onload=function(){i(f.responseText)?s(f.responseText,e):a(f,e)},f.onerror=function(t){a(f,e)},setTimeout((function(){f.send()}),0)}else console.warn("Internet Explorer 9 Cross-Origin (CORS) requests must use the same protocol (".concat(t,")")),a(null,e)}else{var l=new XMLHttpRequest;l.open("GET",t),n.mimeType&&l.overrideMimeType&&l.overrideMimeType(n.mimeType),n.onBeforeSend(l,t,e),l.onreadystatechange=function(){4===l.readyState&&(200===l.status&&i(l.responseText)?s(l.responseText,e):a(l,e))},l.send()}}))} +/** + * Gets CSS data from + + \ No newline at end of file diff --git a/sources/dist/static/themes/coffee/theme.css b/sources/dist/static/themes/coffee/theme.css new file mode 100644 index 0000000..9e5c66b --- /dev/null +++ b/sources/dist/static/themes/coffee/theme.css @@ -0,0 +1,148 @@ +@import '../common/base.css'; + +:root { + /* Primary Variables */ + --brand-primary: #8e715b; + --brand-primary-hover: #bea28c; + --brand-midtone: #f1f1f1; + --brand-darktone: #969696; + --brand-default-bg: #fff; + --brand-default-fg: #22231f; + + /* Warning colors */ + --brand-notice: #f6c358; + --brand-warning: #fcb46e; + --brand-error: #bf5155; + + /* Connection Indicator top */ + --comp-workspace-before-bg: var(--brand-primary); + --comp-bg-kiwi-workspace--disconnected-after-bg: var(--brand-error); + + /* Container Header */ + --comp-header-bg: var(--brand-default-bg); + --comp-header-name-fg: var(--brand-default-fg); + --comp-header-option-active-fg: var(--brand-default-bg); + --comp-header-option-active-bg: var(--brand-primary); + + /* StateBrowser */ + --comp-statebrowser-fg: #fff; + --comp-statebrowser-bg: #8e715c; + --comp-statebrowser-bg-networkname: #7b6351; + --comp-statebrowser-channel-active-bg: #ffffff0d; + --comp-statebrowser-channel-active-fg: #fff; + --comp-usermenu-open-bg: #826958; + --comp-statebrowser-network-border: #bda28e; + + + /* Sidebars ( Right Side ) */ + --comp-sidebar-bg: #fff; + --comp-sidebar-fg: #22231f; + --comp-aboutbuffer-bg: rgba(0, 0, 0, 0.03); + --comp-aboutbuffer-header-bg: #826958; + + /* Misc */ + --brand-link-normal: var(--brand-primary); + --brand-link--hover: var(--brand-primary-hover); + --brand-shadow: rgba(0, 0, 0, 0.1); + --comp-border: #b2b2b2; +} + +.kiwi-appsettings-title, +.kiwi-appsettings-block h3, +.kiwi-networksettings .kiwi-title, +.u-form input[type='checkbox']:after, .u-form input[type='radio']:after { + background-color: #8e715c; +} + +.kiwi-networksettings .kiwi-title { + border-top-color: #cab09b; +} + +.kiwi-statebrowser-network.kiwi-statebrowser-network--active .kiwi-statebrowser-network-header { + border-left: 3px solid #cab09b; +} + +.u-tabbed-view-tabs .u-tabbed-view-tab:hover, +.u-tabbed-view-tabs .u-tabbed-view-tab.u-tabbed-view-tab--active { + border-bottom-color: #8e715c; +} + +.kiwi-statebrowser-newnetwork a:hover { + background: #a28772; +} + +.kiwi-network-name-options { + background-color: var(--comp-statebrowser-bg); +} + +.kiwi-statebrowser-channel-leave { + background: transparent; +} + +.kiwi-statebrowser-channelfilter a, +.kiwi-statebrowser-channelfilter a:hover { + color: #fff; +} + +.kiwi-awaystatusindicator { + background: #78b17f; +} +.kiwi-awaystatusindicator.kiwi-awaystatusindicator--away { + background: var(--brand-error); +} + +.kiwi-statebrowser-usermenu-avatar { + border-color: #fff; +} + +.kiwi-statebrowser-usermenu-avatar:hover { + background-color: #967c68; +} + +.kiwi-startup-common-section-info { + border-left-color: var(--brand-primary); +} + +.kiwi-statebrowser-network-status a { + color: #fff; +} + +.kiwi-statebrowser-channel-label { + background: #967f70; +} + + +/* IRC Text Colours */ +.irc-fg-colour-white { color: #fff; } +.irc-fg-colour-black { color: #000; } +.irc-fg-colour-blue { color: #00f; } +.irc-fg-colour-green { color: #0f0; } +.irc-fg-colour-light-red { color: #ff5959; } +.irc-fg-colour-brown { color: #743a00; } +.irc-fg-colour-purple { color: #a500ff; } +.irc-fg-colour-orange { color: #ff8c00; } +.irc-fg-colour-yellow { color: #ff0; } +.irc-fg-colour-light-green { color: #6fff6f; } +.irc-fg-colour-cyan { color: #0cc; } +.irc-fg-colour-light-cyan { color: #6dffff; } +.irc-fg-colour-light-blue { color: #59b4ff; } +.irc-fg-colour-pink { color: #f0f; } +.irc-fg-colour-grey { color: #a6a6a6; } +.irc-fg-colour-light-grey { color: #e2e2e2; } + +.irc-bg-colour-white { background-color: #fff; } +.irc-bg-colour-black { background-color: #000; } +.irc-bg-colour-blue { background-color: #00f; } +.irc-bg-colour-green { background-color: #0f0; } +.irc-bg-colour-light-red { background-color: #ff5959; } +.irc-bg-colour-brown { background-color: #743a00; } +.irc-bg-colour-purple { background-color: #a500ff; } +.irc-bg-colour-orange { background-color: #ff8c00; } +.irc-bg-colour-yellow { background-color: #ff0; } +.irc-bg-colour-light-green { background-color: #6fff6f; } +.irc-bg-colour-cyan { background-color: #0cc; } +.irc-bg-colour-light-cyan { background-color: #6dffff; } +.irc-bg-colour-light-blue { background-color: #59b4ff; } +.irc-bg-colour-pink { background-color: #f0f; } +.irc-bg-colour-grey { background-color: #a6a6a6; } +.irc-bg-colour-light-grey { background-color: #e2e2e2; } diff --git a/sources/dist/static/themes/common/base.css b/sources/dist/static/themes/common/base.css new file mode 100644 index 0000000..ba8f89a --- /dev/null +++ b/sources/dist/static/themes/common/base.css @@ -0,0 +1,1049 @@ +/* ---- Welcome Screens ----- */ +.kiwi-customserver-form { + background-color: var(--brand-default-bg); + border: 1px solid var(--brand-midtone); +} + +.kiwi-welcome-simple-error { + border: 1px dashed var(--brand-error); +} + +.kiwi-welcome-simple-form .u-submit { + background-color: var(--brand-primary); + color: var(--brand-default-bg); +} + +.kiwi-welcome-simple .help, +.kiwi-welcome-simple .help a { + color: var(--brand-default-fg); +} + +.kiwi-welcome-simple .help a:hover { + color: var(--brand-primary-hover); +} + +/* ---- Gloabl Styling ---- */ +.kiwi-theme-bg { + background-color: var(--brand-default-bg); +} + +.u-tabbed-content { + background-color: var(--brand-default-bg); +} + +.u-tabbed-view-tabs { + background: var(--brand-midtone); + border-bottom: 3px solid var(--brand-midtone); +} + +.u-tabbed-view-tabs .u-tabbed-view-tab { + border-bottom-color: var(--brand-midtone); + background: var(--brand-default-bg); +} + +.u-tabbed-view-tabs .u-tabbed-view-tab:hover, +.u-tabbed-view-tabs .u-tabbed-view-tab.u-tabbed-view-tab--active { + border-bottom-color: var(--brand-primary); +} + +/* ---- Global : User inputs ---- */ +.u-input-text { + background: var(--brand-default-bg); +} + +.u-form label { + color: var(--brand-default-fg); +} + +.u-input-text input:focus { + border-color: var(--brand-primary); +} + +.u-form .u-input, +.u-form textarea { + outline: none; + border-color: var(--brand-input-border); + color: var(--brand-input-fg); + background: var(--brand-input-bg); + transition: border-color 0.1s; +} + +.u-form .u-input:focus, +.u-form textarea:focus { + border-color: var(--brand-primary); +} + +.u-form label input[type='text'], +.u-form label input[type='password'], +.u-form label input[type='email'], +.u-form textarea { + border-color: var(--brand-primary); +} + +::-webkit-input-placeholder, +::-moz-placeholder, +::-ms-placeholder, +::placeholder { + color: black; +} + +/* ---- Global : Checkbox input ---- */ +.u-form input[type='checkbox'], +.u-form input[type='radio'] { + border-color: var(--brand-input-border); + background-color: var(--brand-default-bg); +} + +.u-form input[type='checkbox']:checked, +.u-form input[type='radio']:checked { + background: var(--brand-primary); +} + +/* ---- Global : Buttons ---- */ +.u-button-primary { + background-color: var(--brand-primary); + color: var(--brand-default-bg); +} + +.u-button-primary:hover { + background-color: var(--brand-primary-hover); +} + +.u-button-secondary { + background: rgba(117, 117, 117, 0.07); + border-bottom: 1px solid rgba(117, 117, 117, 0.2); +} + +.u-button-warning { + background-color: var(--brand-error); + border-bottom: 1px solid var(--brand-default-fg); + color: var(--brand-default-bg); +} + +/* ---- Global : Links / anchors etc ---- */ +.u-link { + color: var(--brand-primary); +} + +/* ---- Container Header ( containerHeader ) ---- */ +.kiwi-header { + background: var(--comp-header-bg); + border-bottom-color: var(--comp-border); +} + +.kiwi-header-name-container { + color: var(--comp-header-name-fg); +} + +.kiwi-header-name { + background-color: var(--comp-header-bg); +} + +.kiwi-header-option a:hover, +.kiwi-header-option--active, +.kiwi-header-option--active:hover a { + background-color: var(--comp-header-option-active-bg); + color: var(--comp-header-option-active-fg); + opacity: 1; +} + +.kiwi-header-option--active, +.kiwi-header-option-active a { + opacity: 1; +} + +.kiwi-header-option-leave a:hover, +.kiwi-header-option-unpinsidebar a:hover { + background-color: var(--brand-error); + color: var(--brand-default-bg); +} + +.kiwi-header-join-channel-button { + background-color: var(--brand-primary); + color: var(--brand-default-bg); +} + +.kiwi-header .kiwi-header-notjoined .u-link { + background-color: var(--brand-primary); + color: var(--brand-default-bg); +} + +.kiwi-header .kiwi-header-notjoined .u-link:hover { + background-color: var(--brand-primary-hover); +} + +.kiwi-header-server-connection .u-button { + background: var(--brand-primary); + color: var(--brand-default-bg); +} + +/* End of Container Header ( containerHeader ) */ + +/* ---- Control Input ( controlInput ) ---- */ +.kiwi-controlinput { + background: var(--brand-default-bg); + border-top-color: var(--comp-border); +} + +.kiwi-controlinput-send { + background: #f1f1f1; +} + +.kiwi-controlinput-active-tool { + background: #f6f6f6; +} + +/* ---- Self User ( SelfUser.vue ) ---- */ +.kiwi-controlinput-selfuser { + background: var(--brand-default-bg); + border-color: var(--comp-border); +} + +.kiwi-controlinput-selfuser.kiwi-controlinput-selfuser--open { + border: 1px solid var(--brand-midtone); +} + +/* ---- Auto complete ( autoComplete ) ---- */ +.kiwi-autocomplete { + box-shadow: 0 1px 15px rgba(64, 54, 63, 0.25); + border: 1px solid var(--brand-midtone); + background: var(--brand-default-bg); +} + +.kiwi-autocomplete-item { + border-bottom: 1px solid var(--brand-midtone); +} + +.kiwi-autocomplete-item--selected { + background: var(--brand-primary); + color: var(--brand-default-bg); +} + +.kiwi-autocomplete-item--selected .u-link { + color: var(--brand-default-bg); +} + +/* ---- Sidebar ( Sidebar ) ---- */ +.kiwi-sidebar { + background-color: var(--comp-sidebar-bg); + color: var(--comp-sidebar-fg); +} + +.kiwi-sidebar-options { + background-color: var(--brand-primary); + color: var(--brand-default-bg); +} + +.kiwi-sidebar-pin { + border-right: 1px solid var(--brand-default-bg); + background: var(--brand-primary); +} + +.kiwi-sidebar-pin:hover { + background: #62d0ac; +} + +.kiwi-sidebar-options .kiwi-sidebar-close:hover { + background: var(--brand-error); + color: var(--brand-default-bg); +} + +.kiwi-container--sidebar-open .kiwi-sidebar { + border-color: var(--comp-border); +} + +.kiwi-aboutbuffer { + background: var(--comp-aboutbuffer-bg); +} + +.kiwi-aboutbuffer h3 { + background: var(--brand-default-bg); +} + +.kiwi-aboutbuffer h4 { + background-color: var(--comp-aboutbuffer-header-bg); + color: var(--brand-default-bg); +} + +/* ---- Sidebar - Nicklist ---- */ +.kiwi-nicklist-usercount { + border-bottom-color: var(--brand-midtone); +} + +.kiwi-nicklist-user { + border-left-color: var(--brand-default-bg); +} + +.kiwi-nicklist-user:hover { + border-left-color: var(--brand-primary); + cursor: pointer; +} + +.kiwi-nicklist-user:hover .kiwi-nicklist-messageuser { + color: var(--brand-default-fg); +} + +.kiwi-nicklist-user::after { + color: var(--brand-midtone); +} + +.kiwi-nicklist-messageuser { + color: var(--brand-default-bg); +} + +.kiwi-nicklist-info i.fa-search { + color: var(--brand-midtone); +} + +/* ---- Sidebar - userbox ---- */ +.kiwi-userbox .main-title { + border-bottom: 1px solid var(--brand-midtone); +} + +.kiwi-userbox .kiwi-userbox-basicinfo { + border-bottom: 1px solid var(--brand-midtone); +} + +.kiwi-userbox .kiwi-userbox-actions .kiwi-userbox-action { + border: 1px solid var(--brand-default-fg); + color: var(--brand-default-fg); +} + +.kiwi-userbox .kiwi-userbox-actions .kiwi-userbox-action:hover { + background-color: var(--brand-default-fg); + color: var(--brand-default-bg); +} + +.kiwi-userbox-opactions { + border-top: 1px solid var(--brand-midtone); +} + +.kiwi-userbox-opactions label select { + border: 1px solid rgba(0, 0, 0, 0.2); +} + +.kiwi-userbox-opaction-kick, +.kiwi-userbox-opaction-ban, +.kiwi-userbox-opaction-kickban { + color: var(--brand-default-bg); +} + +.kiwi-userbox-opaction-kick, +.kiwi-userbox-opaction-kick:hover { + background-color: var(--brand-notice); +} + +.kiwi-userbox-opaction-ban, +.kiwi-userbox-opaction-ban:hover { + background-color: var(--brand-warning); +} + +.kiwi-userbox-opaction-kickban, +.kiwi-userbox-opaction-kickban:hover { + background-color: var(--brand-error); +} + +.kiwi-userbox-whois { + border: 1px solid var(--brand-midtone); +} + +/* ---- State browser ( statebrowser) ---- */ + +/* Statebrowser - Left sidebar ( StateBrowser.vue ) */ +.kiwi-statebrowser { + background: var(--comp-statebrowser-bg); + color: var(--comp-statebrowser-fg); +} + +.kiwi-statebrowser-usermenu--open { + background-color: var(--comp-usermenu-open-bg); +} + +.kiwi-statebrowser-usermenu-body .u-link { + color: var(--brand-error); +} + +.kiwi-statebrowser-divider { + background: rgba(255, 255, 255, 0.3); +} + +/* Add channel input */ +.kiwi-statebrowser-newchannel-inputwrap { + color: var(--brand-default-bg); +} + +.kiwi-statebrowser-newchannel-inputwrap input[type='text'] { + color: var(--comp-statebrowser-bg); + background: var(--brand-default-bg); +} + +.kiwi-statebrowser-newchannel-inputwrap--focus { + opacity: 1; + background-color: var(--brand-default-bg); +} + +/* Channel search input */ +.kiwi-statebrowser-channelfilter { + transition: all 0.3s; + border-bottom: 1px solid rgba(255, 255, 255, 0.5); + color: var(--brand-default-bg); +} + +.kiwi-statebrowser-channelfilter::after { + color: var(--comp-statebrowser-fg); +} + +.kiwi-statebrowser-channelfilter input { + background-color: var(--brand-default-bg); + color: var(--brand-default-fg); + outline: none; +} + +.kiwi-statebrowser-channelfilter p { + color: var(--brand-primary); + font-size: 0.9em; + margin: 10px 0 10px 0; + cursor: pointer; + transition: all 0.3s; +} + +.kiwi-statebrowser-channelfilter p:hover { + color: var(--brand-primary-hover); +} + +.kiwi-statebrowser-newnetwork { + border-top-color: var(--comp-statebrowser-network-border); +} + +.kiwi-statebrowser-newnetwork a { + color: var(--brand-default-bg); +} + +.kiwi-statebrowser-newnetwork a:hover { + background: var(--brand-primary); + opacity: 1; + color: var(--comp-statebrowser-fg); +} + +.kiwi-statebrowser-network .kiwi-statebrowser-network-header { + background-color: var(--comp-statebrowser-bg-networkname); +} + +.kiwi-statebrowser-network .kiwi-statebrowser-network-header a { + color: var(--comp-statebrowser-fg); +} + +/* Active Network Styling */ +.kiwi-statebrowser-network.kiwi-statebrowser-network--active .kiwi-statebrowser-network-header { + border-left: 3px solid var(--brand-primary); +} + +/* Channel Styling */ +.kiwi-statebrowser-channels .kiwi-statebrowser-channel { + border-bottom: 1px solid var(--brand-shadow); + color: var(--comp-statebrowser-fg); +} + +.kiwi-statebrowser-channel .kiwi-statebrowser-channel-name { + color: var(--comp-statebrowser-fg); +} + +.kiwi-statebrowser-channel-active { + border-left-color: var(--brand-primary); + background: var(--comp-statebrowser-channel-active-bg); +} + +.kiwi-statebrowser-channel-active .kiwi-statebrowser-channel-name { + color: var(--comp-statebrowser-channel-active-fg); +} + +.kiwi-network-name-option-chanfilter.active { + background: var(--brand-primary); +} + +.kiwi-statebrowser-channel-settings:hover { + background-color: var(--brand-primary); +} + +.kiwi-statebrowser-channel-leave:hover { + background: var(--brand-error); +} + +.kiwi-statebrowser-newchannel a { + border: 1px solid rgba(255, 255, 255, 0.5); +} + +.kiwi-statebrowser-newchannel a:hover { + background: var(--brand-primary); + opacity: 1; + color: var(--comp-statebrowser-fg); +} + +.kiwi-statebrowser-switcher a:first-of-type { + background: rgba(255, 255, 255, 0.15); +} + +.kiwi-statebrowser-switcher a:hover { + background: rgba(255, 255, 255, 0.1); +} + +.kiwi-statebrowser-options { + background: var(--brand-midtone); +} + +.kiwi-statebrowser-availablenetworks-link { + border-right: 15px solid var(--brand-error); +} + +.kiwi-statebrowser-availablenetworks-link--connected { + border-color: var(--brand-primary); +} + +.kiwi-statebrowser-channel-notjoined .kiwi-statebrowser-channel-name { + color: var(--brand-error); +} + +.kiwi-statebrowser-channel-popup { + background: #383838; + border: 3px solid var(--brand-midtone); + border-left: none; +} + +.kiwi-statebrowser-nonetworks { + background: rgba(255, 255, 255, 0.15); +} + +.kiwi-statebrowser-availablenetworks { + border-bottom: 1px solid rgba(255, 255, 255, 0.3); +} + +.kiwi-statebrowser-availablenetworks-toggle { + background: rgba(255, 255, 255, 0.15); +} + +.kiwi-statebrowser-network-header { + background: rgba(255, 255, 255, 0.15); +} + +.kiwi-statebrowser-network-status { + background: rgba(255, 255, 255, 0.1); +} + +/* Icon before the network in network list */ +.kiwi-statebrowser-network-name::before { + content: '\f233'; + font-family: fontAwesome, Helvetica, Arial, Verdana, Tahoma, sans-serif; + margin-right: 2px; + font-weight: 100; + text-decoration: none; +} + +/* Icons in the Channel List */ +.kiwi-statebrowser-channel[data-name^="*"]::before { + content: '\f006'; +} + +.kiwi-statebrowser-channel[data-name="#help"]::before { + content: '\f059'; +} + +.kiwi-statebrowser-channel::before { + font-family: fontAwesome, Helvetica, Arial, Verdana, Tahoma, sans-serif; + margin-right: 8px; + font-weight: 100; +} + +.kiwi-statebrowser-channel-label { + background: var(--brand-primary); + color: var(--brand-default-bg); +} +.kiwi-statebrowser-channel-label--highlight { + background: var(--brand-error); +} + +.kiwi-statebrowser-usermenu-avatar { + border-color: var(--brand-primary); + background-color: var(--brand-default-fg); + color: var(--brand-default-bg); +} + +.kiwi-statebrowser-usermenu-avatar:hover { + background-color: var(--brand-primary); + color: var(--brand-default-bg); +} + +.kiwi-statebrowser-usermenu-avatar--disconnected { + border-color: var(--brand-error); +} + +.kiwi-statebrowser-usermenu--open .kiwi-statebrowser-usermenu-avatar { + background-color: var(--brand-primary); + color: var(--brand-default-bg); +} + +.kiwi-statebrowser-usermenu .kiwi-awaystatusindicator { + border-color: var(--comp-statebrowser-bg); +} + +.kiwi-statebrowser-network .kiwi-statebrowser-network-header a.kiwi-statebrowser-network-toggle:hover { + background-color: var(--brand-error); + border-top-color: var(--brand-error); +} + +.kiwi-statebrowser-appsettings:hover { + opacity: 1; +} + +.kiwi-statebrowser-scrollarea h4 { + border-top: 1px solid rgba(255, 255, 255, 0.3); +} + +/* ---- End of statebrowser ---- */ + +/* ---- Custom server layout ---- */ +.kiwi-customserver { + background-color: var(--brand-default-fg); +} + +/* ---- App ---- */ +.kiwi-wrap { + color: var(--brand-default-fg); + --kiwi-nick-brightness: 40; + --kiwi-supports-monospace: 1; +} + +.kiwi-workspace { + background: var(--brand-default-bg); +} + +.kiwi-workspace::before { + background: var(--brand-primary); +} + +.kiwi-workspace::after { + background: var(--brand-error); +} + +/* ---- Container ( Container.vue ) ---- */ +.kiwi-container-toggledraw-statebrowser, +.kiwi-container-toggledraw-sidebar { + background: var(--brand-default-bg); +} + +.kiwi-container-toggledraw-statebrowser { + border-right: 1px solid var(--brand-midtone); +} + +.kiwi-container-toggledraw-sidebar { + border-left: 1px solid var(--brand-midtone); +} + +.kiwi-container-toggledraw-sidebar--disabled { + color: #b8babd; +} + +.kiwi-container-toggledraw-statebrowser-messagecount { + background-color: var(--brand-primary); + color: var(--brand-default-bg); +} + +.kiwi-container-toggledraw-statebrowser-messagecount::after { + border: 0.6em solid transparent; + border-right-color: var(--brand-primary); +} + +.kiwi-container-toggledraw-statebrowser-messagecount--highlight { + background-color: var(--brand-error); + color: var(--brand-default-bg); +} + +.kiwi-container-toggledraw-statebrowser-messagecount--highlight::after { + border-right-color: var(--brand-error); +} + +.kiwi-wrap--statebrowser-drawopen .kiwi-container-toggledraw-statebrowser-messagecount { + background-color: var(--brand-primary); +} + +.kiwi-wrap--statebrowser-drawopen .kiwi-container-toggledraw-statebrowser-messagecount::after { + border: 0.6em solid transparent; + border-left-color: var(--brand-primary); +} + +.kiwi-container-empty .u-button { + background-color: var(--brand-primary); + color: var(--brand-default-bg); +} + +/* ---- Application settings ( AppSettings ) ---- */ +.kiwi-appsettings { + background: var(--brand-default-bg); +} + +.kiwi-appsettings-block { + border: 1px solid rgba(0, 0, 0, 0.2); +} + +.kiwi-appsettings-block h3 { + background: var(--brand-primary); + color: var(--brand-default-bg); +} + +.kiwi-appsettings-title { + background-color: var(--brand-primary); + color: var(--brand-default-bg); +} + +.kiwi-appsettings-title:hover { + background: var(--brand-error); +} + +/* ---- Network Settings ( NetworkSettings ) ---- */ +.kiwi-networksettings .kiwi-title { + background: var(--brand-primary); + color: var(--brand-default-bg); + border-top: 1px solid var(--brand-primary); +} + +.kiwi-network-nicknamelabel { + color: rgb(128, 128, 128); +} + +.kiwi-networksettings .u-form { + border-color: var(--brand-midtone); + background: var(--brand-default-bg); +} + +.kiwi-networksettings .kiwi-title span { + color: var(--brand-primary); + background: var(--brand-default-bg); +} + +.kiwi-networksettings-advanced h3:hover { + color: var(--brand-primary); +} + +.kiwi-networksettings .kiwi-customserver-tls { + color: var(--brand-midtone); +} + +.kiwi-networksettings .kiwi-customserver-tls--enabled { + color: var(--brand-primary); +} + +.kiwi-networksettings .kiwi-customserver-tls--enabled .kiwi-customserver-tls-lock { + color: var(--brand-primary); +} + +.kiwi-networksettings .kiwi-customserver-tls-minus { + color: var(--brand-error); +} + +.kiwi-networksettings-error { + border-color: var(--brand-error); +} + +.kiwi-networksettings .kiwi-connect-to-newnetwork { + background: var(--brand-primary); + color: var(--brand-default-bg); +} + +.kiwi-networksettings .kiwi-networksettings-server-types .kiwi-network-type-button { + border-color: var(--brand-primary); + color: var(--brand-primary); +} + +.kiwi-networksettings .kiwi-networksettings-server-types .kiwi-network-type-button:hover, +.kiwi-networksettings .kiwi-networksettings-server-types .kiwi-network-type-button.kiwi-networksettings-server-type-active { + background: var(--brand-primary); + color: var(--brand-default-bg); +} + +.kiwi-networksettings .u-form span { + color: var(--brand-default-fg); +} + +.u-button.kiwi-channellist-refresh.u-button-secondary { + background: var(--brand-primary); +} + +/* ---- Channel List ( ChannelList.vue ) ---- */ +.kiwi-channellist table tbody tr:nth-child(even) { + background-color: #f9f9f9; +} + +.kiwi-channellist table tbody tr { + border-top: 1px solid var(--brand-midtone); +} + +/* ---- Message list - ( MessageList.vue ) ---- */ +.kiwi-messagelist { + scrollbar-color: #9e9e9e transparent; +} + +.kiwi-messagelist::-webkit-scrollbar-thumb { + background-color: #9e9e9e; +} + +.kiwi-messagelist-seperator { + color: var(--brand-darktone); + background: var(--brand-default-bg); + font-size: 0.9em; +} + +.kiwi-messagelist-seperator > span { + background: var(--brand-default-bg); +} + +.kiwi-messagelist-message--info-open, +.kiwi-messagelist-message--authorrepeat.kiwi-messagelist-message--info-open { + background: var(--brand-midtone); +} + +.kiwi-messagelist-message-action .kiwi-messagelist-body { + color: var(--brand-primary); +} + +.kiwi-messagelist-message--highlight { + background-color: var(--brand-midtone); +} + +/* Notice Message styling */ +.kiwi-messagelist-message-notice { + background: #EFD1A4; +} + +/* Standard username and usertime styling */ +.kiwi-messagelist-nick { + color: var(--brand-default-fg); +} + +/* Unread user messages */ +.kiwi-messagelist-message.kiwi-messagelist-message--unread { + border-left: 5px solid var(--brand-primary); +} + +/* When hovering over a users messages */ +.kiwi-messagelist-message--hover { + border-left-color: var(--brand-primary); +} + +/* Traditional message styling hover */ +.kiwi-messagelist-message--compact .kiwi-messagelist-message-privmsg:hover, +.kiwi-messagelist-message--compact .kiwi-messagelist-message-action:hover, +.kiwi-messagelist-message--compact .kiwi-messagelist-message-notice:hover { + background: var(--brand-primary-hover); +} + +/* The shadow over the main text area that displays when the sidebar is open */ +.kiwi-container--sidebar-drawn .kiwi-messagelist::after { + background-color: var(--brand-default-fg); +} + +/* Messagelayout inline */ +.kiwi-messagelist-message--text .kiwi-messagelist-time { + color: var(--brand-default-fg); +} + +/* ---- Traffic Messages ---- */ +.kiwi-messagelist-message-traffic-join { + color: var(--brand-primary); +} + +.kiwi-messagelist-message-traffic-quit, +.kiwi-messagelist-message-traffic-part, +.kiwi-messagelist-message-traffic-kick { + color: var(--brand-error); +} + +.kiwi-messagelist-message-traffic-quit .kiwi-nick::before, +.kiwi-messagelist-message-traffic-part .kiwi-nick::before { + color: var(--brand-error); +} + +/* ---- Modern Layout Styling ---- */ +.kiwi-avatar > span { + color: var(--brand-default-bg); + border-color: var(--brand-primary); +} + +.kiwi-messagelist .kiwi-messagelist-body a, +.kiwi-channellist-table-topic a, +.kiwi-aboutbuffer a { + color: var(--brand-link-normal); +} + +.kiwi-messagelist .kiwi-messagelist-body a:hover, +.kiwi-channellist-table-topic a:hover, +.kiwi-aboutbuffer a:hover { + color: var(--brand-link--hover); +} + +.kiwi-messagelist-message--modern { + border-top-color: var(--brand-midtone); +} + +/* Errors */ +.kiwi-messagelist-message-error, +.kiwi-messagelist-message.kiwi-messagelist-message-error.kiwi-messagelist-message--highlight { + background: var(--brand-error); + color: var(--brand-default-bg); +} + +/* ---- Messagelist Topic Styling ---- */ +.kiwi-messagelist-message.kiwi-messagelist-message-topic { + border-top: 1px solid var(--brand-primary); + border-bottom: 1px solid var(--brand-primary); + color: var(--brand-default-fg); + background: var(--brand-default-bg); +} + +.kiwi-messagelist-message--modern.kiwi-messagelist-message--authorrepeat.kiwi-messagelist-message-topic { + border-top: 2px solid var(--brand-primary); +} + +.kiwi-messagelist-message--modern.kiwi-messagelist-message-topic, +.kiwi-messagelist-message--modern.kiwi-mesagelist-message-topic.kiwi-messagelist-message--highlight { + border: 2px solid var(--brand-primary); +} + +.kiwi-messagelist-message--modern.kiwi-messagelist-message-topic.kiwi-messagelist-message--unread { + border-left: 2px solid var(--brand-primary); +} + +.kiwi-header-buffersettings { + border-top: 1px solid var(--brand-midtone); +} + +.kiwi-header-topic > div { + color: var(--brand-default-fg); +} + +.kiwi-messagelist-message-whois { + background: var(--brand-midtone); +} + +.kiwi-messagelist-message-motd { + color: var(--brand-default-fg); +} + +/* ---- MessageInfo ---- */ +.kiwi-messagelist-message--info-open { + background-color: var(--brand-midtone); +} + +.kiwi-messageinfo-urls { + border-top-color: var(--brand-midtone); + border-bottom-color: var(--brand-midtone); +} + +.kiwi-messageinfo-actions .u-link { + border-color: var(--brand-default-fg); + color: var(--brand-default-fg); +} + +.kiwi-messageinfo-actions .kiwi-messageinfo-reply { + background: var(--brand-primary); + color: var(--brand-default-bg); +} + +.kiwi-messageinfo-actions .kiwi-messageinfo-kick-user { + background: var(--brand-warning); + color: var(--brand-default-bg); +} + +.kiwi-messageinfo-actions .kiwi-messageinfo-ban-user { + background: var(--brand-error); + color: var(--brand-default-bg); +} + +/* ---- Not connected message ( NotConnected ) ---- */ +.kiwi-warning-block { + color: var(--brand-default-bg); + background-color: var(--brand-error); +} + +.kiwi-warning-block.connecting { + background-color: var(--brand-primary); +} + +.kiwi-notconnected-button { + border-color: var(--brand-default-bg); + color: var(--brand-default-bg); +} + +.kiwi-notconnected-button:hover { + background-color: var(--brand-default-bg); + color: var(--brand-default-fg); +} + +.kiwi-notconnected-button-settings:hover { + background-color: transparent; + color: var(--brand-default-bg); +} + +/* ---- Settings Aliases ( SettingsAliases ) ---- */ +.kiwi-settings-aliases-input { + border-color: var(--brand-midtone); +} + +.kiwi-settings-aliases-help em { + color: var(--brand-primary); +} + +.kiwi-settings-advanced-notice { + color: var(--brand-default-bg); + background: var(--brand-error); +} + +/* ---- Channel Banlist ( Channelbanlist ) ---- */ +.kiwi-channelbanlist-table tr { + border-bottom-color: var(--brand-midtone); +} + +.kiwi-channelbanlist-table-actions:hover { + background-color: var(--brand-error); +} + +.kiwi-channelbanlist-table-actions:hover i { + color: var(--brand-default-bg); +} + +.kiwi-network-name-options { + background-color: var(--brand-default-fg); +} + +.kiwi-network-name-option:hover, +.kiwi-network-name-option.active { + background-color: var(--brand-primary); + color: var(--brand-default-bg); +} + +.kiwi-network-name-option { + color: var(--brand-default-bg); +} + +/* Global Close Icon */ +.kiwi-close-icon, +.kiwi-close-icon:hover { + background: var(--brand-error); +} + +/* Away Status Indicator */ +.kiwi-awaystatusindicator { + border-color: var(--brand-default-bg); + background-color: var(--brand-primary); +} +.kiwi-awaystatusindicator--away { + background-color: var(--brand-error); +} + +/* Buffer Key */ +.kiwi-bufferkey-button { + border-color: var(--brand-default-bg); +} + +/* Selected text */ +:root { + --brand-selected: rgba(0, 0, 255, 0.3); +} diff --git a/sources/dist/static/themes/dark/theme.css b/sources/dist/static/themes/dark/theme.css new file mode 100644 index 0000000..8db2b11 --- /dev/null +++ b/sources/dist/static/themes/dark/theme.css @@ -0,0 +1,209 @@ +@import '../common/base.css'; + +:root{ + --brand-primary: #256d55; + --brand-primary-hover: #5ec9a6; + --brand-midtone: #2b2b2b; + --brand-darktone: #969696; + --brand-default-bg: #1e1e1e; + --brand-default-fg: #ababab; + --brand-notice: #f6c358; + --brand-warning: #fcb46e; + --brand-error: #712c2f; + --comp-workspace-before-bg: var(--brand-primary); + --comp-bg-kiwi-workspace--disconnected-after-bg: var(--brand-error); + --comp-header-bg: var(--brand-default-bg); + --comp-header-name-fg: var(--brand-default-fg); + --comp-header-option-active-fg: #f1f1f1; + --comp-header-option-active-bg: var(--brand-primary); + --comp-statebrowser-fg: #ababab; + --comp-statebrowser-bg: #1e1e1e; + --comp-statebrowser-bg-networkname: #454545; + --comp-statebrowser-channel-active-bg: #ffffff0d; + --comp-statebrowser-channel-active-fg: #ababab; + --comp-usermenu-open-bg: #0e0e0e; + --comp-statebrowser-network-border: #656565; + --comp-sidebar-bg: #1e1e1e; + --comp-sidebar-fg: #ababab; + --comp-aboutbuffer-bg: rgba(0, 0, 0, 0.03); + --comp-aboutbuffer-header-bg: var(--brand-primary); + --brand-link-normal: var(--brand-primary); + --brand-link--hover: var(--brand-primary-hover); + --brand-shadow: rgba(0, 0, 0, 0.1); + --comp-border: #484848; +} + +.kiwi-wrap { + --kiwi-nick-brightness: 60; +} + +.kiwi-header { + border-bottom-color: #000; +} + +.kiwi-statebrowser-channels .kiwi-statebrowser-channel { + color: #dedede; +} + +.kiwi-statebrowser-usermenu-avatar { + background-color: #000; + color: var(--brand-default-fg); +} +.u-tabbed-view-tabs { + background: #2f2f2f; + border-bottom-color: #ffffff1a; +} +.u-tabbed-view-tabs .u-tabbed-view-tab { + border-bottom-color: #ffffff1a; +} + +.u-form select { + background-color: var(--brand-primary); + color: #000000; +} + +button.u-button.u-button-primary.u-submit.kiwi-welcome-znc-start { + color: var(--brand-default-fg); +} + +.kiwi-welcome-znc h2 { + color: var(--brand-default-bg); +} + +.kiwi-welcome-znc-form .u-input-text { + background: transparent; + color: var(--brand-default-bg); +} + +.kiwi-statebrowser-newchannel-inputwrap, +.kiwi-statebrowser-newnetwork .u-button, +.kiwi-header-option a:hover, +.kiwi-header-option--active, +.kiwi-network-name-hover-icon, +.kiwi-statebrowser-newchannel-inputwrap input[type='text'], +.kiwi-network-name-option, +.kiwi-warning-block, +.kiwi-notconnected-button, +.u-button-warning, +.kiwi-settings-advanced-notice, +.kiwi-networksettings .kiwi-title, +.kiwi-welcome-simple-form .u-submit { + color: var(--brand-default-fg); +} + +.kiwi-notconnected-button { + border-color: var(--brand-default-fg); +} +.kiwi-notconnected-button:hover { + background-color: var(--brand-default-fg); + color: var(--brand-default-bg); + border-color: var(--brand-default-fg); +} + +.kiwi-statebrowser-channel-leave { + background: transparent; + color: var(--brand-default-fg); +} + +.kiwi-network-name-options { + background-color: #000; + color: var(--brand-default-fg); +} +.kiwi-network-name-option:hover, +.kiwi-network-name-option.active { + background-color: var(--brand-primary); + color: #fff; +} + +.kiwi-avatar > span { + background-color: var(--brand-default-bg); + color: var(--brand-default-fg); +} + +.kiwi-messagelist-seperator { + border-top: 2px dashed #00b100; +} + +.kiwi-messagelist-message--highlight { + background-color: #404040; +} + +.kiwi-messagelist-message-notice { + background: #3c3729; +} + +.kiwi-statebrowser { + box-shadow: 0px 0 4px #ffffff2b; +} + +.kiwi-statebrowser-channelfilter input, +.kiwi-statebrowser-channels-info .kiwi-statebrowser-newchannel-inputwrap input { + background-color: var(--brand-default-fg); + color: var(--brand-default-bg); +} + +.kiwi-messagelist-message.kiwi-messagelist-message--highlight { + background: #2d2d2d; +} + +.kiwi-messagelist-message--modern { + border-top-color: #2d2d2d; +} + +.kiwi-channellist table tbody tr:nth-child(even) { + background-color: #333333; +} + +.kiwi-container-toggledraw-statebrowser-messagecount { + color: #f1f1f1; +} + +.kiwi-messagelist-message--info-open { + background-color: #2d2d2d; +} +.kiwi-messagelist-message--info-open .u-link { + color: #fff; +} + +.kiwi-welcome-simple-start { + color: #fff !important; +} + +.kiwi-header-option--active a { + color: #e4e4e4 !important; +} + +/* IRC Text Colours */ +.irc-fg-colour-white { color: #fff; } +.irc-fg-colour-black { color: #000; } +.irc-fg-colour-blue { color: #00f; } +.irc-fg-colour-green { color: #0f0; } +.irc-fg-colour-light-red { color: #ff5959; } +.irc-fg-colour-brown { color: #743a00; } +.irc-fg-colour-purple { color: #a500ff; } +.irc-fg-colour-orange { color: #ff8c00; } +.irc-fg-colour-yellow { color: #ff0; } +.irc-fg-colour-light-green { color: #6fff6f; } +.irc-fg-colour-cyan { color: #0cc; } +.irc-fg-colour-light-cyan { color: #6dffff; } +.irc-fg-colour-light-blue { color: #59b4ff; } +.irc-fg-colour-pink { color: #f0f; } +.irc-fg-colour-grey { color: #a6a6a6; } +.irc-fg-colour-light-grey { color: #e2e2e2; } + +.irc-bg-colour-white { background-color: #fff; } +.irc-bg-colour-black { background-color: #000; } +.irc-bg-colour-blue { background-color: #00f; } +.irc-bg-colour-green { background-color: #0f0; } +.irc-bg-colour-light-red { background-color: #ff5959; } +.irc-bg-colour-brown { background-color: #743a00; } +.irc-bg-colour-purple { background-color: #a500ff; } +.irc-bg-colour-orange { background-color: #ff8c00; } +.irc-bg-colour-yellow { background-color: #ff0; } +.irc-bg-colour-light-green { background-color: #6fff6f; } +.irc-bg-colour-cyan { background-color: #0cc; } +.irc-bg-colour-light-cyan { background-color: #6dffff; } +.irc-bg-colour-light-blue { background-color: #59b4ff; } +.irc-bg-colour-pink { background-color: #f0f; } +.irc-bg-colour-grey { background-color: #a6a6a6; } +.irc-bg-colour-light-grey { background-color: #e2e2e2; } diff --git a/sources/dist/static/themes/default/theme.css b/sources/dist/static/themes/default/theme.css new file mode 100644 index 0000000..9f5bb49 --- /dev/null +++ b/sources/dist/static/themes/default/theme.css @@ -0,0 +1,92 @@ +@import '../common/base.css'; + +:root { + /* Primary Variables */ + --brand-primary: #42b992; + --brand-primary-hover: #5ec9a6; + --brand-midtone: #ededed; + --brand-darktone: #969696; + --brand-default-bg: #fff; + --brand-default-fg: #22231f; + + /* Warning colors */ + --brand-notice: #f6c358; + --brand-warning: #fcb46e; + --brand-error: #bf5155; + + /* Input elements */ + --brand-input-border: #e2e2e2; + --brand-input-fg: #616161; + --brand-input-bg: transparent; + + /* Connection Indicator top */ + --comp-workspace-before-bg: var(--brand-primary); + --comp-bg-kiwi-workspace--disconnected-after-bg: var(--brand-error); + + /* Container Header */ + --comp-header-bg: var(--brand-default-bg); + --comp-header-name-fg: var(--brand-default-fg); + --comp-header-option-active-fg: var(--brand-default-bg); + --comp-header-option-active-bg: var(--brand-primary); + + /* StateBrowser */ + --comp-statebrowser-fg: #fff; + --comp-statebrowser-bg: var(--brand-default-fg); + --comp-statebrowser-bg-networkname: #454545; + --comp-statebrowser-channel-active-bg: #ffffff0d; + --comp-statebrowser-channel-active-fg: #fff; + --comp-usermenu-open-bg: #0e0e0e; + --comp-statebrowser-network-border: #656565; + + + /* Sidebars ( Right Side ) */ + --comp-sidebar-bg: #fff; + --comp-sidebar-fg: #22231f; + --comp-aboutbuffer-bg: rgba(0, 0, 0, 0.03); + --comp-aboutbuffer-header-bg: #42b992; + + /* Misc */ + --brand-link-normal: var(--brand-primary); + --brand-link--hover: var(--brand-primary-hover); + --brand-shadow: rgba(0, 0, 0, 0.1); + --comp-border: #b2b2b2; +} + +/* IRC Text Colours */ +.irc-fg-colour-white { color: #fff; } +.irc-fg-colour-black { color: #000; } +.irc-fg-colour-blue { color: #00f; } +.irc-fg-colour-green { color: #0f0; } +.irc-fg-colour-light-red { color: #ff5959; } +.irc-fg-colour-brown { color: #743a00; } +.irc-fg-colour-purple { color: #a500ff; } +.irc-fg-colour-orange { color: #ff8c00; } +.irc-fg-colour-yellow { color: #d6d63d; } +.irc-fg-colour-light-green { color: #6fff6f; } +.irc-fg-colour-cyan { color: #0cc; } +.irc-fg-colour-light-cyan { color: #6dffff; } +.irc-fg-colour-light-blue { color: #59b4ff; } +.irc-fg-colour-pink { color: #f0f; } +.irc-fg-colour-grey { color: #a6a6a6; } +.irc-fg-colour-light-grey { color: #e2e2e2; } + +.irc-bg-colour-white { background-color: #fff; } +.irc-bg-colour-black { background-color: #000; } +.irc-bg-colour-blue { background-color: #00f; } +.irc-bg-colour-green { background-color: #0f0; } +.irc-bg-colour-light-red { background-color: #ff5959; } +.irc-bg-colour-brown { background-color: #743a00; } +.irc-bg-colour-purple { background-color: #a500ff; } +.irc-bg-colour-orange { background-color: #ff8c00; } +.irc-bg-colour-yellow { background-color: #d6d63d; } +.irc-bg-colour-light-green { background-color: #6fff6f; } +.irc-bg-colour-cyan { background-color: #0cc; } +.irc-bg-colour-light-cyan { background-color: #6dffff; } +.irc-bg-colour-light-blue { background-color: #59b4ff; } +.irc-bg-colour-pink { background-color: #f0f; } +.irc-bg-colour-grey { background-color: #a6a6a6; } +.irc-bg-colour-light-grey { background-color: #e2e2e2; } + +.kiwi-statebrowser { + box-shadow: 0px 0 2px #101010; +} diff --git a/sources/dist/static/themes/elite/theme.css b/sources/dist/static/themes/elite/theme.css new file mode 100644 index 0000000..250ecfa --- /dev/null +++ b/sources/dist/static/themes/elite/theme.css @@ -0,0 +1,252 @@ +@import '../common/base.css'; + +:root { + /* Primary Variables */ + --brand-primary: #ff9600; + --brand-primary-hover: #ffbf00; + --brand-midtone: #20292e; + --brand-darktone: #969696; + --brand-default-bg: #263139; + --brand-default-fg: #c3cdd4; + + /* Warning colors */ + --brand-notice: #f6c358; + --brand-warning: #fcb46e; + --brand-error: #bf5155; + + /* Connection Indicator top */ + --comp-workspace-before-bg: var(--brand-primary); + --comp-bg-kiwi-workspace--disconnected-after-bg: var(--brand-error); + + /* Container Header */ + --comp-header-bg: var(--brand-default-bg); + --comp-header-name-fg: var(--brand-default-fg); + --comp-header-option-active-fg: var(--brand-default-bg); + --comp-header-option-active-bg: var(--brand-primary); + + /* StateBrowser */ + --comp-statebrowser-fg: var(--brand-primary); + --comp-statebrowser-bg: #28343d; + --comp-statebrowser-bg-networkname: #1d252b; + --comp-statebrowser-channel-active-bg: #ffffff0d; + --comp-statebrowser-channel-active-fg: #fff; + --comp-usermenu-open-bg: #0e0e0e; + --comp-statebrowser-network-border: #656565; + + + /* Sidebars ( Right Side ) */ + --comp-sidebar-bg: #28343c; + --comp-sidebar-fg: #f1f1f1; + --comp-aboutbuffer-bg: #28343c; + --comp-aboutbuffer-header-bg: #ffa12c; + + /* Misc */ + --brand-link-normal: var(--brand-primary); + --brand-link--hover: var(--brand-primary-hover); + --brand-shadow: rgba(0, 0, 0, 0.1); + --comp-border: #b2b2b2; +} + +.kiwi-startup-common-section-info { + border-left-color: var(--brand-primary); +} + +.kiwi-workspace { + background: #3b4850; +} + +.kiwi-appsettings, +.kiwi-theme-bg, +.u-tabbed-content { + background: #26323a; +} + +.kiwi-statebrowser.kiwi-theme-bg { + background: var(--comp-statebrowser-bg); +} + +.kiwi-statebrowser-newnetwork { + opacity: 0.75; +} + +.kiwi-statebrowser-newnetwork a:hover { + color: #fff; + opacity: 1; +} + +.kiwi-network-name-options { + background-color: var(--comp-statebrowser-bg-networkname); +} + +.kiwi-appsettings-block { + border-color: var(--brand-primary-hover); + color: var(--brand-primary); +} + +.u-tabbed-view-tabs { + background: #3b4850; + border-bottom: 3px solid #ffa320; +} + +.u-tabbed-view-tabs .u-tabbed-view-tab { + color: var(--brand-primary); + background: #171d21; + border-bottom-color: #ffa320; +} + +.u-tabbed-view-tabs .u-tabbed-view-tab:hover, +.u-tabbed-view-tabs .u-tabbed-view-tab.u-tabbed-view-tab--active { + color: var(--brand-primary-hover); + border-bottom-color: var(--brand-primary-hover); +} + +.u-form input[type='checkbox'], +.u-form input[type='radio'] { + border-color: #0a0a0a; + background-color: #151a1d; +} + +.u-form select { + background-color: #26323a; +} + + +.kiwi-messagelist { + background: #3b4850; + color: var(--brand-primary); +} + +.kiwi-messagelist-message--modern { + border-top-color: #ff820021; +} + +.kiwi-messagelist-message.kiwi-messagelist-message-topic { + background: #3c4c58; + color: #fff; +} + +.kiwi-messagelist-message-notice { + background: #28333b; +} + +.kiwi-controlinput, +.kiwi-header.kiwi-theme-bg { + background: #3b4850; + color: var(--brand-primary); + border-color: var(--brand-primary); +} + +.kiwi-controlinput .kiwi-controlinput-user, +.kiwi-controlinput-inner .kiwi-controlinput-user { + border-right-color: var(--brand-primary); +} + +.kiwi-aboutbuffer h3 { + background: #ffa12c; + color: #fff; +} + +.kiwi-header-name { + color: var(--brand-primary); +} + +.kiwi-statebrowser-network .kiwi-statebrowser-network-header { + background-color: var(--comp-statebrowser-bg-networkname); +} + +.kiwi-sidebar.kiwi-theme-bg { + background: #28343c; +} + +.kiwi-container--sidebar-open .kiwi-sidebar { + border-color: var(--brand-primary); +} + +.kiwi-nicklist-usercount { + border-bottom-color: #20292f; +} + +.kiwi-nicklist-user { + border-left-color: var(--brand-primary); +} +.kiwi-nicklist-user:hover { + border-left-color: var(--brand-primary-hover); +} + +.kiwi-nicklist-user .kiwi-nicklist-messageuser, +.kiwi-nicklist-user:hover .kiwi-nicklist-messageuser { + color: var(--brand-color-primary); +} + +.kiwi-userbox .kiwi-userbox-actions .kiwi-userbox-action { + border-color: var(--brand-primary); + color: var(--brand-primary); +} + +.kiwi-userbox .kiwi-userbox-actions .kiwi-userbox-action:hover { + color: #f1f1f1; + background: var(--brand-primary); +} + +.kiwi-channellist-nav .u-form .u-input { + color: #f1f1f1; + border-color: #ff9600; +} + +.kiwi-channellist-nav .u-form .u-button-primary { + border-bottom-color: var(--brand-primary); +} + +.kiwi-channellist-pagination, +.kiwi-channellist-info, +.kiwi-channellist table tbody tr { + color: #f1f1f1; +} + +.kiwi-channellist table tbody tr:nth-child(even) { + background-color: #222c33; +} + +.kiwi-channellist table tbody tr a { + color: #ff9600; +} + +.kiwi-channellist table tbody tr a.u-button { + color: #f1f1f1; + border-bottom: none; +} + +/* IRC Text Colours */ +.irc-fg-colour-white { color: #fff; } +.irc-fg-colour-black { color: #000; } +.irc-fg-colour-blue { color: #00f; } +.irc-fg-colour-green { color: #0f0; } +.irc-fg-colour-light-red { color: #ff5959; } +.irc-fg-colour-brown { color: #743a00; } +.irc-fg-colour-purple { color: #a500ff; } +.irc-fg-colour-orange { color: #ff8c00; } +.irc-fg-colour-yellow { color: #ff0; } +.irc-fg-colour-light-green { color: #6fff6f; } +.irc-fg-colour-cyan { color: #0cc; } +.irc-fg-colour-light-cyan { color: #6dffff; } +.irc-fg-colour-light-blue { color: #59b4ff; } +.irc-fg-colour-pink { color: #f0f; } +.irc-fg-colour-grey { color: #a6a6a6; } +.irc-fg-colour-light-grey { color: #e2e2e2; } + +.irc-bg-colour-white { background-color: #fff; } +.irc-bg-colour-black { background-color: #000; } +.irc-bg-colour-blue { background-color: #00f; } +.irc-bg-colour-green { background-color: #0f0; } +.irc-bg-colour-light-red { background-color: #ff5959; } +.irc-bg-colour-brown { background-color: #743a00; } +.irc-bg-colour-purple { background-color: #a500ff; } +.irc-bg-colour-orange { background-color: #ff8c00; } +.irc-bg-colour-yellow { background-color: #ff0; } +.irc-bg-colour-light-green { background-color: #6fff6f; } +.irc-bg-colour-cyan { background-color: #0cc; } +.irc-bg-colour-light-cyan { background-color: #6dffff; } +.irc-bg-colour-light-blue { background-color: #59b4ff; } +.irc-bg-colour-pink { background-color: #f0f; } +.irc-bg-colour-grey { background-color: #a6a6a6; } +.irc-bg-colour-light-grey { background-color: #e2e2e2; } diff --git a/sources/dist/static/themes/grayfox/theme.css b/sources/dist/static/themes/grayfox/theme.css new file mode 100644 index 0000000..a936136 --- /dev/null +++ b/sources/dist/static/themes/grayfox/theme.css @@ -0,0 +1,143 @@ +@import '../common/base.css'; + +:root { + /* Primary Variables */ + --brand-primary: #747c88; + --brand-primary-hover: #9098a2; + --brand-midtone: #f1f1f1; + --brand-darktone: #969696; + --brand-default-bg: #fff; + --brand-default-fg: #22231f; + + /* Warning colors */ + --brand-notice: #f6c358; + --brand-warning: #fcb46e; + --brand-error: #bf5155; + + /* Connection Indicator top */ + --comp-workspace-before-bg: var(--brand-primary); + --comp-bg-kiwi-workspace--disconnected-after-bg: var(--brand-error); + + /* Container Header */ + --comp-header-bg: var(--brand-default-bg); + --comp-header-name-fg: var(--brand-default-fg); + --comp-header-option-active-fg: var(--brand-default-bg); + --comp-header-option-active-bg: var(--brand-primary); + + /* StateBrowser */ + --comp-statebrowser-fg: #fff; + --comp-statebrowser-bg: #414956; + --comp-statebrowser-bg-networkname: #626975; + --comp-statebrowser-channel-active-bg: #ffffff0d; + --comp-statebrowser-channel-active-fg: #fff; + --comp-usermenu-open-bg: #303742; + --comp-statebrowser-network-border: #bda28e; + + + /* Sidebars ( Right Side ) */ + --comp-sidebar-bg: #fff; + --comp-sidebar-fg: #22231f; + --comp-aboutbuffer-bg: rgba(0, 0, 0, 0.03); + --comp-aboutbuffer-header-bg: #42b992; + + /* Misc */ + --brand-link-normal: var(--brand-primary); + --brand-link--hover: var(--brand-primary-hover); + --brand-shadow: rgba(0, 0, 0, 0.1); + --comp-border: #b2b2b2; +} + +.kiwi-appsettings-title, +.kiwi-appsettings-block h3, +.kiwi-networksettings .kiwi-title, +.u-form input[type='checkbox']:after, .u-form input[type='radio']:after { + background-color: var(--brand-primary); +} + +.kiwi-networksettings .kiwi-title { + border-top-color: var(--brand-primary-hover); +} + +.kiwi-statebrowser-network.kiwi-statebrowser-network--active .kiwi-statebrowser-network-header { + border-left: 3px solid var(--brand-primary-hover); +} + +.u-tabbed-view-tabs .u-tabbed-view-tab:hover, +.u-tabbed-view-tabs .u-tabbed-view-tab.u-tabbed-view-tab--active { + border-bottom-color: var(--brand-primary); +} + +.kiwi-statebrowser-newnetwork { + border-top-color: var(--brand-primary-hover); +} + +.kiwi-statebrowser-newnetwork a:hover { + background: var(--brand-primary-hover); +} + +.kiwi-network-name-options { + background-color: var(--comp-statebrowser-bg); +} + +.kiwi-statebrowser-channel-leave { + background: transparent; +} + +.kiwi-statebrowser-channelfilter a, +.kiwi-statebrowser-channelfilter a:hover { + color: #fff; +} + +.kiwi-awaystatusindicator { + background: #41e8c9; +} +.kiwi-awaystatusindicator.kiwi-awaystatusindicator--away { + background: var(--brand-error); +} + +.kiwi-startup-common-section-info { + border-left-color: var(--brand-primary); +} + +.kiwi-aboutbuffer h4 { + background-color: #4b5160; +} + +.kiwi-appsettings-section { + background: #f1f1f1; +} + +/* IRC Text Colours */ +.irc-fg-colour-white { color: #fff; } +.irc-fg-colour-black { color: #000; } +.irc-fg-colour-blue { color: #00f; } +.irc-fg-colour-green { color: #0f0; } +.irc-fg-colour-light-red { color: #ff5959; } +.irc-fg-colour-brown { color: #743a00; } +.irc-fg-colour-purple { color: #a500ff; } +.irc-fg-colour-orange { color: #ff8c00; } +.irc-fg-colour-yellow { color: #ff0; } +.irc-fg-colour-light-green { color: #6fff6f; } +.irc-fg-colour-cyan { color: #0cc; } +.irc-fg-colour-light-cyan { color: #6dffff; } +.irc-fg-colour-light-blue { color: #59b4ff; } +.irc-fg-colour-pink { color: #f0f; } +.irc-fg-colour-grey { color: #a6a6a6; } +.irc-fg-colour-light-grey { color: #e2e2e2; } + +.irc-bg-colour-white { background-color: #fff; } +.irc-bg-colour-black { background-color: #000; } +.irc-bg-colour-blue { background-color: #00f; } +.irc-bg-colour-green { background-color: #0f0; } +.irc-bg-colour-light-red { background-color: #ff5959; } +.irc-bg-colour-brown { background-color: #743a00; } +.irc-bg-colour-purple { background-color: #a500ff; } +.irc-bg-colour-orange { background-color: #ff8c00; } +.irc-bg-colour-yellow { background-color: #ff0; } +.irc-bg-colour-light-green { background-color: #6fff6f; } +.irc-bg-colour-cyan { background-color: #0cc; } +.irc-bg-colour-light-cyan { background-color: #6dffff; } +.irc-bg-colour-light-blue { background-color: #59b4ff; } +.irc-bg-colour-pink { background-color: #f0f; } +.irc-bg-colour-grey { background-color: #a6a6a6; } +.irc-bg-colour-light-grey { background-color: #e2e2e2; } diff --git a/sources/dist/static/themes/nightswatch/theme.css b/sources/dist/static/themes/nightswatch/theme.css new file mode 100644 index 0000000..337e16a --- /dev/null +++ b/sources/dist/static/themes/nightswatch/theme.css @@ -0,0 +1,366 @@ +@import '../common/base.css'; + +:root { + /* Primary Variables */ + --brand-primary: #000; + --brand-primary-hover: #2d2d2d; + --brand-midtone: #1b1b1b; + --brand-darktone: #000; + --brand-default-bg: #1b1b1b; + --brand-default-fg: #f1f1f1; + + /* Warning colors */ + --brand-notice: #f6c358; + --brand-warning: #fcb46e; + --brand-error: #bf5155; + + /* Input elements */ + --brand-input-border: #000000; + --brand-input-fg: #616161; + --brand-input-bg: transparent; + + /* Connection Indicator top */ + --comp-workspace-before-bg: var(--brand-primary); + --comp-bg-kiwi-workspace--disconnected-after-bg: var(--brand-error); + + /* Container Header */ + --comp-header-bg: var(--brand-default-bg); + --comp-header-name-fg: var(--brand-default-fg); + --comp-header-option-active-fg: var(--brand-default-bg); + --comp-header-option-active-bg: var(--brand-primary); + + /* StateBrowser */ + --comp-statebrowser-fg: #fff; + --comp-statebrowser-bg: #000; + --comp-statebrowser-bg-networkname: #151515; + --comp-statebrowser-channel-active-bg: #ffffff0d; + --comp-statebrowser-channel-active-fg: #fff; + --comp-usermenu-open-bg: #151515; + --comp-statebrowser-network-border: #bda28e; + + + /* Sidebars ( Right Side ) */ + --comp-sidebar-bg: var(--brand-default-bg); + --comp-sidebar-fg: #fff; + --comp-aboutbuffer-bg: rgba(0, 0, 0, 0.03); + --comp-aboutbuffer-header-bg: #42b992; + + /* Misc */ + --brand-link-normal: var(--brand-default-fg); + --brand-link--hover: var(--brand-default-fg); + --brand-shadow: rgba(0, 0, 0, 0.1); + --comp-border: #444; +} + +/* Welcome */ +.kiwi-welcome-simple-form .u-submit { + color: #fff; +} + +/* Container Header */ +.kiwi-workspace::before { + background: #4e4e4e; +} + +.kiwi-header-option--active a, +.kiwi-header-option:hover a { + color: var(--brand-default-fg); +} + +/* Sidebar */ +.kiwi-aboutbuffer h4 { + color: var(--brand-default-fg); + background-color: #000; +} + +.kiwi-appsettings-title, +.kiwi-appsettings-block h3, +.kiwi-networksettings .kiwi-title { + background-color: var(--brand-primary); +} + +.kiwi-appsettings-block h3, +.kiwi-appsettings-title { + color: var(--brand-default-fg); +} + +.kiwi-appsettings-section { + border-left: 1px solid #444; + border-right: 1px solid #444; + border-bottom: 1px solid #444; +} + +.kiwi-appsettings-block h3 { + border-top: 1px solid #444; + border-left: 1px solid #444; + border-right: 1px solid #444; +} + +.kiwi-networksettings .kiwi-title { + border-top-color: var(--brand-primary-hover); +} + +.kiwi-statebrowser-network.kiwi-statebrowser-network--active .kiwi-statebrowser-network-header { + border-left: 3px solid var(--brand-primary-hover); +} + +.u-tabbed-view-tabs { + background-color: #000; + border-bottom: 3px solid #444; +} + +.u-tabbed-view-tabs .u-tabbed-view-tab:hover, +.u-tabbed-view-tabs .u-tabbed-view-tab.u-tabbed-view-tab--active { + border-bottom-color: #444; + background-color: #313131; +} + +.kiwi-statebrowser-newnetwork { + border-top-color: var(--brand-primary-hover); +} + +.kiwi-statebrowser-newnetwork a:hover { + background: var(--brand-primary-hover); +} + +.kiwi-network-name-options { + background-color: var(--comp-statebrowser-bg); +} + +.kiwi-statebrowser-channel-leave { + background: transparent; +} + +.kiwi-statebrowser-channelfilter a, +.kiwi-statebrowser-channelfilter a:hover { + color: #fff; +} + +.kiwi-awaystatusindicator { + background: #41e8c9; +} +.kiwi-awaystatusindicator.kiwi-awaystatusindicator--away { + background: var(--brand-error); +} + +.kiwi-startup-common-section-info { + border-left-color: var(--brand-primary); +} + +.kiwi-sidebar-options { + color: var(--brand-default-fg); +} + + +/* Statebrowser */ +.kiwi-statebrowser { + border-right: 2px solid #444; +} + +.kiwi-statebrowser-usermenu-avatar { + background: #000; + color: #f1f1f1; + border-color: #4b4b4b; +} + +.kiwi-statebrowser-usermenu--open .kiwi-statebrowser-usermenu-avatar { + color: #f1f1f1; +} + +.kiwi-statebrowser-usermenu-avatar:hover { + color: #f1f1f1; + background: #666; +} + +.kiwi-statebrowser-usermenu-avatar .kiwi-awaystatusindicator { + border-color: #4b4b4b; +} + +.kiwi-network-name-options .kiwi-network-name-option { + color: var(--brand-default-fg); +} + +.kiwi-statebrowser-newchannel-inputwrap input[type='text'] { + color: #f1f1f1; +} + +.kiwi-statebrowser-newnetwork a { + color: var(--brand-default-fg); +} + +.kiwi-channellist-user-center a.u-button.u-button-primary { + border-bottom: none; +} + + +/* Inputs */ +.u-form input[type='checkbox']:checked, +.u-form input[type='radio']:checked { + background-color: #f1f1f1; +} + +.u-form .u-input:focus { + border-color: #6b6b6b; +} + +.u-form select { + background-color: var(--brand-primary); +} + +.u-link { + color: var(--brand-default-fg); +} + +/* Message list */ +.kiwi-messagelist { + background: #000; +} +.kiwi-messagelist .kiwi-messagelist-body { + color: #adadad; +} + +.kiwi-messagelist .kiwi-messagelist-message--highlight, +.kiwi-messagelist .kiwi-messagelist-message--hover { + border-left-color: #3c3c3c; +} + +.kiwi-messagelist-message-notice { + background: #3c3c3c; +} + +.kiwi-avatar > span { + background-color: var(--brand-default-bg); + color: var(--brand-default-fg); +} + +/* Aliases */ +.kiwi-settings-aliases-help { + border-color: var(--brand-default-fg); +} + +.kiwi-settings-aliases-help em { + color: var(--brand-default-fg); +} + +/* Misc */ +.kiwi-header-server-connection .u-button, +.u-button-primary, +.u-button-warning, +.kiwi-networksettings .kiwi-title, +.kiwi-notconnected, +.kiwi-notconnected-button { + color: #f1f1f1; +} + +.kiwi-notconnected-button { + border-color: #f1f1f1; +} + +.kiwi-networksettings .kiwi-connect-to-newnetwork { + background: #444; + color: #fff; +} + +.kiwi-networksettings .kiwi-networksettings-server-types, +.kiwi-networksettings .kiwi-networksettings-server-types .kiwi-network-type-button { + color: #fff; + border-color: #fff; +} + +.kiwi-networksettings .kiwi-networksettings-server-types .kiwi-network-type-button:hover, +.kiwi-networksettings .kiwi-networksettings-server-types .kiwi-network-type-button.kiwi-networksettings-server-type-active { + background: #444; + color: #fff; +} + +.kiwi-channellist table tbody tr:nth-child(even) { + background-color: #272727; +} + +.kiwi-messagelist-message-error, +.kiwi-messagelist-message.kiwi-messagelist-message-error.kiwi-messagelist-message--highlight { + color: #f1f1f1; +} + +button.u-button.u-button-primary.u-submit.kiwi-welcome-znc-start, +.kiwi-statebrowser-channel-label { + color: var(--brand-default-fg); +} + +.kiwi-statebrowser-channel-label { + background: #383838; +} + +.kiwi-statebrowser-channel-label--highlight { + background: var(--brand-error); +} + +.kiwi-welcome-znc h2 { + color: var(--brand-default-bg); +} + +.kiwi-welcome-znc-form .u-input-text { + background: transparent; + color: var(--brand-default-bg); +} + +.kiwi-container-toggledraw-statebrowser-messagecount { + background-color: #4c4b4b; + color: var(--brand-default-fg); +} + +.kiwi-container-toggledraw-statebrowser-messagecount::after { + border-right-color: #4c4b4b; +} + +.kiwi-wrap--statebrowser-drawopen .kiwi-container-toggledraw-statebrowser-messagecount::after { + border-left-color: #4c4b4b; +} + +.kiwi-autocomplete-item--selected { + background: #3c3c3c; + color: #ffffff; +} + +.kiwi-autocomplete-item--selected .u-link { + color: #fdfdfd; +} + +.kiwi-messagelist-message--compact .kiwi-messagelist-time { + color: #fff; +} + +/* IRC Text Colours */ +.irc-fg-colour-white { color: #fff; } +.irc-fg-colour-black { color: #000; } +.irc-fg-colour-blue { color: #00f; } +.irc-fg-colour-green { color: #0f0; } +.irc-fg-colour-light-red { color: #ff5959; } +.irc-fg-colour-brown { color: #743a00; } +.irc-fg-colour-purple { color: #a500ff; } +.irc-fg-colour-orange { color: #ff8c00; } +.irc-fg-colour-yellow { color: #ff0; } +.irc-fg-colour-light-green { color: #6fff6f; } +.irc-fg-colour-cyan { color: #0cc; } +.irc-fg-colour-light-cyan { color: #6dffff; } +.irc-fg-colour-light-blue { color: #59b4ff; } +.irc-fg-colour-pink { color: #f0f; } +.irc-fg-colour-grey { color: #a6a6a6; } +.irc-fg-colour-light-grey { color: #e2e2e2; } + +.irc-bg-colour-white { background-color: #fff; } +.irc-bg-colour-black { background-color: #000; } +.irc-bg-colour-blue { background-color: #00f; } +.irc-bg-colour-green { background-color: #0f0; } +.irc-bg-colour-light-red { background-color: #ff5959; } +.irc-bg-colour-brown { background-color: #743a00; } +.irc-bg-colour-purple { background-color: #a500ff; } +.irc-bg-colour-orange { background-color: #ff8c00; } +.irc-bg-colour-yellow { background-color: #ff0; } +.irc-bg-colour-light-green { background-color: #6fff6f; } +.irc-bg-colour-cyan { background-color: #0cc; } +.irc-bg-colour-light-cyan { background-color: #6dffff; } +.irc-bg-colour-light-blue { background-color: #59b4ff; } +.irc-bg-colour-pink { background-color: #f0f; } +.irc-bg-colour-grey { background-color: #a6a6a6; } +.irc-bg-colour-light-grey { background-color: #e2e2e2; } diff --git a/sources/dist/static/themes/osprey/theme.css b/sources/dist/static/themes/osprey/theme.css new file mode 100644 index 0000000..028c69e --- /dev/null +++ b/sources/dist/static/themes/osprey/theme.css @@ -0,0 +1,120 @@ +@import '../common/base.css'; + +:root { + /* Primary Variables */ + --brand-primary: #4d6075; + --brand-primary-hover: #73879c; + --brand-midtone: #f1f1f1; + --brand-darktone: #969696; + --brand-default-bg: #fff; + --brand-default-fg: #22231f; + + /* Warning colors */ + --brand-notice: #f6c358; + --brand-warning: #fcb46e; + --brand-error: #bf5155; + + /* Connection Indicator top */ + --comp-workspace-before-bg: var(--brand-primary); + --comp-bg-kiwi-workspace--disconnected-after-bg: var(--brand-error); + + /* Container Header */ + --comp-header-bg: var(--brand-default-bg); + --comp-header-name-fg: var(--brand-default-fg); + --comp-header-option-active-fg: var(--brand-default-bg); + --comp-header-option-active-bg: var(--brand-primary); + + /* StateBrowser */ + --comp-statebrowser-fg: #fff; + --comp-statebrowser-bg: #212d3a; + --comp-statebrowser-bg-networkname: #687282; + --comp-statebrowser-channel-active-bg: #ffffff0d; + --comp-statebrowser-channel-active-fg: #fff; + --comp-usermenu-open-bg: #161d25; + --comp-statebrowser-network-border: #656565; + + + /* Sidebars ( Right Side ) */ + --comp-sidebar-bg: #fff; + --comp-sidebar-fg: #22231f; + --comp-aboutbuffer-bg: rgba(0, 0, 0, 0.03); + --comp-aboutbuffer-header-bg: var(--brand-primary); + + /* Misc */ + --brand-link-normal: var(--brand-primary); + --brand-link--hover: var(--brand-primary-hover); + --brand-shadow: rgba(0, 0, 0, 0.1); + --comp-border: #b2b2b2; +} + +/* Welcome Screens */ +.kiwi-startup-common-section-info { + border-left-color: var(--brand-primary); +} + +/* StateBrowser */ +.kiwi-statebrowser-usermenu-avatar { + border-color: #fff; +} +.kiwi-statebrowser-usermenu .kiwi-awaystatusindicator { + background-color: #42b992; +} +.kiwi-statebrowser-usermenu .kiwi-awaystatusindicator.kiwi-awaystatusindicator--away { + background-color: var(--brand-error); +} +.kiwi-network-name-options { + background-color: #4e5c6b; +} +.kiwi-statebrowser-channelfilter p a:hover { + color: #fff; +} + +/* Sidebar */ +.kiwi-userbox .kiwi-userbox-actions .kiwi-userbox-action { + border-color: var(--brand-primary); + color: var(--brand-primary); +} + +.kiwi-userbox .kiwi-userbox-actions .kiwi-userbox-action:hover { + color: var(--brand-default-bg); + background-color: var(--brand-primary); +} + +.kiwi-statebrowser-network-status a { + color: var(--brand-default-bg); +} + +/* IRC Text Colours */ +.irc-fg-colour-white { color: #fff; } +.irc-fg-colour-black { color: #000; } +.irc-fg-colour-blue { color: #00f; } +.irc-fg-colour-green { color: #0f0; } +.irc-fg-colour-light-red { color: #ff5959; } +.irc-fg-colour-brown { color: #743a00; } +.irc-fg-colour-purple { color: #a500ff; } +.irc-fg-colour-orange { color: #ff8c00; } +.irc-fg-colour-yellow { color: #ff0; } +.irc-fg-colour-light-green { color: #6fff6f; } +.irc-fg-colour-cyan { color: #0cc; } +.irc-fg-colour-light-cyan { color: #6dffff; } +.irc-fg-colour-light-blue { color: #59b4ff; } +.irc-fg-colour-pink { color: #f0f; } +.irc-fg-colour-grey { color: #a6a6a6; } +.irc-fg-colour-light-grey { color: #e2e2e2; } + +.irc-bg-colour-white { background-color: #fff; } +.irc-bg-colour-black { background-color: #000; } +.irc-bg-colour-blue { background-color: #00f; } +.irc-bg-colour-green { background-color: #0f0; } +.irc-bg-colour-light-red { background-color: #ff5959; } +.irc-bg-colour-brown { background-color: #743a00; } +.irc-bg-colour-purple { background-color: #a500ff; } +.irc-bg-colour-orange { background-color: #ff8c00; } +.irc-bg-colour-yellow { background-color: #ff0; } +.irc-bg-colour-light-green { background-color: #6fff6f; } +.irc-bg-colour-cyan { background-color: #0cc; } +.irc-bg-colour-light-cyan { background-color: #6dffff; } +.irc-bg-colour-light-blue { background-color: #59b4ff; } +.irc-bg-colour-pink { background-color: #f0f; } +.irc-bg-colour-grey { background-color: #a6a6a6; } +.irc-bg-colour-light-grey { background-color: #e2e2e2; } diff --git a/sources/dist/static/themes/radioactive/theme.css b/sources/dist/static/themes/radioactive/theme.css new file mode 100644 index 0000000..5860dc7 --- /dev/null +++ b/sources/dist/static/themes/radioactive/theme.css @@ -0,0 +1,1230 @@ +/* Radioactive is your very own pipboy theme for Kiwi */ + +@import url(https://fonts.googleapis.com/css?family=VT323); + +.kiwi-wrap { + background: #3a5646; + --kiwi-nick-brightness: 80; + --kiwi-supports-monospace: 1; + color: #201F1F; +} + +/* Kiwi Theme Background is used to apply the same background colour accross components, rather than targeting them all specifically */ +.kiwi-theme-bg { + background-color: #031e11; + color: #14fdce; +} + +/* Welcome Screen ( Welcome.vue ) */ +.kiwi-welcome-simple-form .u-input-text { + background: none; +} + +.kiwi-welcome-simple-error { + border: 1px dashed #d86f6f; +} +.kiwi-welcome-simple-form .u-submit { + background-color: #1b2f24; + color: #fff; +} +.kiwi-welcome-simple .help { + color: #666; +} +.kiwi-welcome-simple .help a { + color: #666; +} +.kiwi-welcome-simple .help a:hover { + color: #a9d87a; +} + +.kiwi-welcome-simple .u-submit { + border: 2px solid #00ffcb; + color: #00ffcb; + background: none; +} + +.kiwi-welcome-simple .u-submit:hover { + text-decoration: underline; + cursor: pointer; +} + +/* Custom server layout */ +.kiwi-customserver { + background-color: #fbfbfb; +} + + + +/* App ( App.vue ) */ +.kiwi-workspace::before { + background: #00e2b7; + opacity: 1; + z-index: 1; +} +.kiwi-workspace::after { + height: 100%; + width: 100%; + opacity: 1; + pointer-events: none; + z-index: 100; +} + +/* App - Tabs */ +.u-tabbed-content hr { + color: #5dd895; +} + +.u-tabbed-view-tabs { + padding-top: 0; + border-bottom: 3px solid rgba(0, 0, 0, 0.1); +} +.u-tabbed-view-tabs .u-tabbed-view-tab { + background: none; + border: 1px solid #5dd895; + color: #5dd895; + border-radius: 0 !important; +} +.u-tabbed-view-tabs .u-tabbed-view-tab:hover, +.u-tabbed-view-tabs .u-tabbed-view-tab.u-tabbed-view-tab--active{ + border: 1px solid #5dd895; + color: #5dd895; + text-decoration: underline; +} + +/*Style all inputs */ +.u-input-text-underline { + border-color: #a9a9a9; +} +.u-input-text-underline-active { + background: #1b2f24; +} +.u-form .u-input, +.u-form textarea { + line-height: normal; + outline-color: #1b2f24; +} + +.u-input { + border: 1px solid #3e9465; +} + +.u-input:focus { + border: 1px solid #57da93; +} + +/* Checkbox Styling */ +.u-form input[type='checkbox'], +.u-form input[type='radio'] { + border: 2px solid #57da93; + background-color: #183123; +} +.u-form input[type='checkbox']:checked, +.u-form input[type='radio']:checked { + background: #5dd895; +} + + +.u-form select { + background-color: #183123; +} + +/*buttons */ +.u-button { + color: #2c3e50; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); +} +.u-button-primary { + color: #fff; + background-color: #00e3b5; + border: none; + border-bottom: 1px solid #00e4b3; +} + +.u-button-secondary { + background: rgba(117, 117, 117, 0.07); + border-bottom: 1px solid rgba(117, 117, 117, 0.2); +} + +.u-button-warning { + background-color: #d16c6c; + border-bottom: 1px solid #5f1515; + color: #fff; +} +.u-link { + color: #fff; +} + +/* Application settings ( AppSettings.vue ) */ +.kiwi-appsettings-block { + position: relative; + z-index: 10; + background: #032c14; +} +.kiwi-appsettings-block h3 { + background: none; + border: 1px solid #5dd895; + text-decoration: underline; + color: #5dd895; +} + +.kiwi-appsettings-section { + background: none; + border: 1px solid #5dd895; + color: #5dd895; +} + +/* Title bar, at the top of the Application settings component */ +.kiwi-appsettings-title { + color: #fff; + background: #031e11; +} +.kiwi-appsettings-title:hover{ + background: #5cd894; +} + +/* Channel List ( ChannelList.vue ) */ +.kiwi-channellist table tbody tr:nth-child(even) { + background-color: #254233; +} +.kiwi-channellist table tbody tr { + border-top: 1px solid lightgray; +} + +.kiwi-channellist table tbody tr .u-button-primary { + background: none; + border: 1px solid #14fdce; + color: #14fdce; +} +.kiwi-channellist table a { + color: #fff !important; +} + +.kiwi-channellist table a.u-button { + color: #14fdce !important; + text-decoration: underline; +} + +/* Container - Main ( Container.vue ) The majority of styling related to the messages and user input etc */ +@keyframes crt-glow { + 0% { opacity: 0.1; } + 50% { opacity: 0.2; } +} +.kiwi-workspace-background { + z-index: 0; + pointer-events: none; + border-bottom-color: #121212; + border-left-color: #080808; + border-right-color: #080808; + border-top-color: #020202; + box-shadow: inset 0 0 9rem #00000073, inset 0 0 3rem #000000ab, 0 0 12rem #9c3737; +} +.kiwi-workspace-background::before { + position: absolute; + content: ""; + width: 100%; + height: 100%; + z-index: 8; + animation: crt-glow 60s infinite; + background: radial-gradient(circle at center, #1bd459 0%, rgba(27, 212, 89, 0.88) 58%, rgba(21, 235, 92, 0.57) 80%, rgba(19, 94, 29, 0.27) 93%, rgba(10, 23, 12, 0) 100%); + opacity: 0.15; + pointer-events: none; + position: fixed; +} +.kiwi-workspace-background::after { + position: absolute; + content: ""; + width: 100%; + height: 100%; + z-index: 10; + pointer-events: none; + background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0.2) 70%, rgba(0, 0, 0, 0.6)); + background-size: 100% 0.3rem; + border-radius: 2rem; + position: absolute; + opacity: 0.5; +} + + +/* The join button is displayed in the header when the user has not connected to their currently selected network */ +.kiwi-header-join-channel-button { + background-color: #42b983; + color: #fff; +} + +.kiwi-container-toggledraw-sidebar { + border-left: 1px solid #ddd; +} +.kiwi-container-toggledraw-sidebar--disabled { + color: #b8babd; +} + +/* These styles relate to the 'unread messages' and 'Mentioned' highlights that display to the user in the Statebrowser sidebar */ +.kiwi-container-toggledraw-statebrowser-messagecount { + background-color: #42b983; + color: #fff; +} +.kiwi-container-toggledraw-statebrowser-messagecount::after { + border: 0.6em solid transparent; + border-right-color: #42b983; +} + +.kiwi-container-toggledraw-statebrowser-messagecount--highlight { + background-color: #d62323; + color: #fff; +} + +.kiwi-container-toggledraw-statebrowser-messagecount--highlight::after { + border-right-color: #d62323; +} + +/* Style the statebrowser's ::after element on mobile devices */ +.kiwi-wrap--statebrowser-drawopen .kiwi-container-toggledraw-statebrowser-messagecount::after { + border: 0.6em solid transparent; + border-left-color: #42b983; +} + +.kiwi-statebrowser-channel-label--highlight { + background: #e45e5e; +} + +.kiwi-container-empty .u-button { + background-color: #1b2f24; + color: #fff; +} + +/* Container Header ( ContainerHeader.vue ) */ +.kiwi-header { + background: #032f17; +} +.kiwi-header-name { + color: #fff; + text-shadow: 0 0 4px #fff; + opacity: 0.8; + animation: flicker 4s infinite 8s; +} + +@keyframes flicker { + 0% {opacity: 0.5;} + 5% {opacity: 0.7;} + 7% {opacity: 0.3;} + 9% {color: #fffef2;} + 10% {opacity: 0.8;} + 11% {color: #fff;} + 40% {color: 0.7;} + 70% {color: 0.6;} + 100% {opacity: 0.5;} +} + +/* The header option buttons */ +.kiwi-header-option { + color: #14fdce; +} +.kiwi-header-option a:hover, +.kiwi-header-option--active, +.kiwi-header-option--active:hover a{ + background-color: #00fecd; + color: #021e11; + opacity: 1; +} + +.kiwi-header-option--active { + opacity: 1; +} + +/* For active buttons, since they are not being hovered, we need to set the child element opacity to 1 */ +.kiwi-header-option-active a{ + opacity: 1; +} + +/* Leave channel */ +.kiwi-header-option-leave a:hover, +.kiwi-header-option-unpinsidebar a:hover { + background-color: #c54d53; + color: #fff; +} + +/* The link to click if the user has not joined this channel */ +.kiwi-header .kiwi-header-notjoined .u-link { + background-color: #1b2f24; + color: #fff; +} +.kiwi-header .kiwi-header-notjoined .u-link:hover { + background-color: #5ec9a6; +} + +/* The not joined button */ +.kiwi-header .kiwi-header-notjoined .u-link { + background-color: #1b2f24; + color: #fff; +} +.kiwi-header .kiwi-header-notjoined .u-link:hover { + background-color: #5ec9a6; +} + +.kiwi-header-server-connection .u-button { + color: #14fdce; + text-decoration: underline; +} + +.kiwi-messagelist-message { + font-family: 'VT323', monospace; +} + +/* baseline styling for the 'topic' of the channel, if it has one, these are shared between traditional and modern view, but can be made more specific if need be */ +.kiwi-messagelist-message.kiwi-messagelist-message-topic { + border-top: 1px solid #5dd89552; + border-bottom: 1px solid #5dd89552; +} +.kiwi-messagelist-message--modern.kiwi-messagelist-message--authorrepeat.kiwi-messagelist-message-topic { + border-top: 1px solid #5dd89552; +} +.kiwi-messagelist-message--modern.kiwi-messagelist-message-topic { + border: 1px solid #5dd89552; +} +.kiwi-messagelist-message--modern.kiwi-messagelist-message-topic.kiwi-messagelist-message--unread { + border-left: 2px solid #14fdce; +} +.kiwi-messagelist-message--modern .kiwi-messagelist-body { + font-weight: 900; + letter-spacing: 2px; + text-shadow: 0 2px 0 rgba(0,0,0,0.5); +} +.kiwi-header-buffersettings { + border-top: 1px solid #14fdce; +} +.kiwi-header-topic > div { + color: #14fdce; +} + + + +/* When hovering over a channel, these options are displayed and coloured upon hover */ +.kiwi-statebrowser-channel-settings, +.kiwi-statebrowser-channel-leave { + background-color: #5dd895; +} +.kiwi-statebrowser-channel-settings:hover{ + background-color: #6a7b8e; +} +.kiwi-statebrowser-channel-leave:hover{ + background: #c54d53; +} + + + +/* Control Input - displayed at bottom of Kiwi ( ControlInput.vue ) */ +.kiwi-controlinput { + font-family: 'VT323', monospace; + font-weight: 900; + letter-spacing: 2px; + background: #07311a; + color: #49c081; +} +.kiwi-controlinput .kiwi-controlinput-user, +.kiwi-controlinput-inner .kiwi-controlinput-user { + border-right: 1px solid rgba(0, 0, 0, 0.2); +} + +.kiwi-controlinput-send { + background: #294835; + color: inherit; +} + +.kiwi-controlinput-active-tool { + background: #053118; + border-top: 1px solid #155d36; +} + +.kiwi-selfuser, +.kiwi-inputtool-emoji-emoji { + background-color: #1b2f24; + color: #69efa6; +} + + +.kiwi-selfuser .kiwi-selfuser-actions .u-button.u-button-warning { + color: #fff; +} + +/* AutoComplete - If the user has enabled autocomplete in their options, this will style the options (AutoComplete.vue) */ +.kiwi-autocomplete { + box-shadow: 0 1px 15px rgba(64, 54, 63, 0.25); + border: 1px solid #ccc; + background: #fff; +} +.kiwi-autocomplete-item { + border-bottom: 1px solid #ccc; +} +.kiwi-autocomplete-item--selected { + background: #1b2f24; + color: #fff; +} +.kiwi-autocomplete-item--selected .u-link { + color: #fff; +} + +/* Message list - Standard messages ( MessageList.vue ) */ +.kiwi-messagelist-seperator > span { + background: none; +} + +.kiwi-messageinfo-urls { + border-top: 1px solid #ddd; +} +.kiwi-messagelist-message-action .kiwi-messagelist-body { + color: #090; + font-style: italic; +} +.kiwi-messagelist-message--highlight { + background-color: #629477; +} + +/* Standard username and usertime styling */ +.kiwi-messagelist-nick { + color: #000; +} +.kiwi-messagelist-time { + color: #a0a09f; +} + +/* Unread user messages */ +.kiwi-messagelist-message.kiwi-messagelist-message--unread, +.kiwi-messagelist-message.kiwi-messagelist-message--unread { + border-left: 5px solid #629477; + background: #406550; + opacity: 1; +} + +/* When hovering over a users messages */ +.kiwi-messagelist-message--hover{ + background-color: #629477; +} + +/* The shadow over the main text area that displays when the sidebar is open */ +.kiwi-container--sidebar-drawn .kiwi-messagelist::after { + background-color: #000; +} + +/* Traffic Messages - User join , User Quit etc*/ +.kiwi-messagelist-message-traffic-join { + color: #090; +} + +.kiwi-messagelist-message-traffic-quit, +.kiwi-messagelist-message-traffic-part, +.kiwi-messagelist-message-traffic-kick { + color: #900; + opacity: 1; +} + +.kiwi-messagelist-message-traffic-quit .kiwi-nick::before, +.kiwi-messagelist-message-traffic-part .kiwi-nick::before { + color: #900; +} + +/* Errors */ +.kiwi-messagelist-message-error { + background: #752020; + border-left-color: #ab5252; + color: #fff; + text-shadow: 0 2px 0 #000; +} + +.kiwi-messagelist-message.kiwi-messagelist-message-error .kiwi-messagelist-body { + color: #fff !important; +} + +/* Kiwi Modern Message list ( MessageListMessageModern.vue ) */ +.kiwi-messagelist-modern-avatar { + border: 2px solid #5dd895; +} + +.kiwi-messagelist-message .kiwi-messagelist-body { + color: #5dd895 !important; +} + +.kiwi-messagelist-message--compact .kiwi-messagelist-body { + font-size: 1.05em; +} + +.kiwi-messagelist-message .kiwi-messagelist-body .kiwi-nick, +.kiwi-messagelist-message .kiwi-messagelist-body a, +.kiwi-aboutbuffer a { + color: #fff !important; + text-decoration: underline; +} + +.kiwi-messagelist-nick { + color: #14fdce !important; +} + +.kiwi-messagelist-time, .kiwi-messagelist-time { + color: #14fdce; +} + +.kiwi-messagelist-message--modern { + border-top: 1px solid #0f5d35; +} +.kiwi-messagelist-message--modern.kiwi-messagelist-message--authorrepeat { + border-top: none; +} + +/* Traditional message styling hover */ +.kiwi-messagelist-message--compact .kiwi-messagelist-message-privmsg:hover, +.kiwi-messagelist-message--compact .kiwi-messagelist-message-action:hover, +.kiwi-messagelist-message--compact .kiwi-messagelist-message-notice:hover, { + border-left-color: #80ab52; +} + +.kiwi-messagelist-message-notice { + border-left-color: #4cff9a; +} + +/* MessageInfo */ +.kiwi-messagelist-message--info-open, +.kiwi-messagelist-message--authorrepeat.kiwi-messagelist-message--info-open { + border-top: 1px solid #14fdce; + border-bottom: 1px solid #14fdce; +} + +/* MessageInfo URLs */ +.kiwi-messageinfo-urls { + border-top: 1px solid #14fdce; + border-bottom: 1px solid #14fdce; +} + +.kiwi-messageinfo-url .u-button-secondary { + color: #14fdce; + border: 1px solid #14fdce; + background: none; + text-shadow: none; +} + +.kiwi-messageinfo-urls .kiwi-messageinfo-url:last-of-type { + margin-bottom: 0; +} + +/* Start button stying */ +.kiwi-messageinfo-actions .u-link { + padding: 5px 10px; + text-align: center; + border: 1px solid #14fdce; + color: #14fdce; + display: inline-block; + border-radius: 3px; +} + +.kiwi-messageinfo-actions .kiwi-messageinfo-kick-user { + color: #14fdce; +} + +.kiwi-messageinfo-actions .kiwi-messageinfo-ban-user { + color: #14fdce; +} + +/* Network Settings ( NetworkSettings.vue ) */ +.kiwi-networksettings .kiwi-title { + background: #021e11; + color: #00fecd; + border-top: 1px solid #00fecd; +} +.kiwi-network-nicknamelabel { + color: rgb(128, 128, 128); +} +.kiwi-networksettings .kiwi-padded-form-element-container.kiwi-dangerzone { + border-top: 1px solid rgba(0, 0, 0, 0.2); +} +.kiwi-networksettings .u-form { + border: 1px solid rgba(0, 0, 0, 0.2); +} +.kiwi-networksettings .kiwi-title span { + color: #1b2f24; + background: #fff; +} +.kiwi-networksettings-advanced h3:hover { + color: #1b2f24; +} +.kiwi-networksettings .kiwi-customserver-tls { + color: #bfbfbf; +} +.kiwi-networksettings .u-form{ + border: 1px solid #14fdce; +} +.kiwi-networksettings .kiwi-customserver-tls { + color: #bfbfbf; +} +.kiwi-networksettings .kiwi-customserver-tls--enabled { + color: green; +} +.kiwi-networksettings .kiwi-customserver-tls--enabled .kiwi-customserver-tls-lock { + color: green; +} +.kiwi-networksettings .kiwi-customserver-tls-minus { + color: red; +} +.kiwi-networksettings-error { + border: 1px dashed #d86f6f; +} +.kiwi-networksettings .kiwi-connect-to-newnetwork { + background: #1b2f24; + color: #fff; + border: 1px solid #fff; +} +.kiwi-networksettings .kiwi-networksettings-server-types .kiwi-network-type-button { + border: 1px solid #1b2f24; + color: #fff; +} +.kiwi-networksettings .kiwi-networksettings-server-types .kiwi-network-type-button:hover, +.kiwi-networksettings .kiwi-networksettings-server-types .kiwi-network-type-button.kiwi-networksettings-server-type-active { + background: #1b2f24; + color: #fff; + text-decoration: underline; +} +.u-button.kiwi-channellist-refresh.u-button-secondary { + background: #1b2f24; +} + +/* Buffer settings sidebar */ +.kiwi-sidebar-buffersettings h3, +.kiwi-aboutbuffer h3 { + color: #fff; + opacity: 0.8; +} + +.kiwi-sidebar-buffersettings hr { + opacity: 0.5; + margin-bottom: 20px; +} + +/* Nicklist ( Nicklist.vue ) */ +.kiwi-nicklist-usercount { + border-bottom: 1px solid #e4e4e44d; +} +.kiwi-nicklist-user { + border-left: 4px solid #192e24; +} +.kiwi-nicklist-user .kiwi-nicklist-user-nick { + color: #14fdce !important; +} +.kiwi-nicklist-messageuser { + color: #14fdce; +} +.kiwi-nicklist-user:hover { + border-left: 4px solid #14fdce; +} +.kiwi-nicklist-info i.fa-search { + color: #14fdce; +} + +/* Not connected message ( NotConnected.vue ) */ +.kiwi-notconnected { + color: #fff; +} +.kiwi-notconnected-button { + border: 2px solid #fff; + color: #fff; +} +.kiwi-notconnected-button:hover{ + background-color: #fff; + color: #000; +} + +/* Self User ( SelfUser.vue ) */ +.kiwi-controlinput-selfuser { + background: #fff; + border: 1px solid #ddd; + border-left: none; + border-bottom: none; +} +.kiwi-selfuser-actions { + border-top: 1px solid #ddd; +} + +/* Settings Aliases ( SettingsAliases.vue ) */ +.kiwi-settings-aliases-input { + border-color: #ccc; +} +.kiwi-settings-aliases-showhelp { + display: block; +} +.kiwi-settings-aliases-help { + background: transparent; + border: 1px dashed rgba(0,0,0, 0.4); +} +.kiwi-settings-aliases-help em { + color: #fff; + font-weight: 900; +} + +/* Sidebar ( Sidebar.vue ) */ +.kiwi-sidebar-pin{ + background: #5dd895; + color: #1b2f24; +} +.kiwi-sidebar-pin:hover{ + background: #5dd895; +} + +.kiwi-sidebar-options .kiwi-sidebar-close:hover { + background: #5cd894; + color: #1b2f24; +} +.kiwi-container--sidebar-open .kiwi-sidebar { + border-color: #b2b2b2; +} + +.kiwi-aboutbuffer { + background: rgba(0, 0, 0, 0.03); +} + +.kiwi-aboutbuffer-section { + color: #fff; +} +.kiwi-aboutbuffer-section a { + text-decoration: underline; +} + +.kiwi-aboutbuffer h4 { + color: #fff; + border-top: 1px solid #00e3b5; + border-bottom: 1px solid #00e3b5; + color: #00ffca !important; +} + +/* Channel Banlist ( Channelbanlist.vue ) */ +.kiwi-channelbanlist-table tr { + border-bottom: 1px solid #ddd; +} +.kiwi-channelbanlist-table-actions:hover { + background-color: #b9424a; +} +.kiwi-channelbanlist-table-actions:hover i { + color: #fff; +} + +/* Statebrowser - Left sidebar ( StateBrowser.vue ) */ +.kiwi-statebrowser { + color: #fff; + border-right: 1px solid #033e32; +} +.kiwi-statebrowser-divider { + background: rgba(255, 255, 255, 0.3); +} + +.kiwi-messageinfo { + border-bottom: 2px #14fdce solid; + border-top: 1px #14fdce solid; +} + +.kiwi-statebrowser-usermenu-avatar { + background-color: #000; + color: #fff; + border-color: #012c13; +} +.kiwi-statebrowser-usermenu-avatar:hover { + background-color: #5dd895; + color: #fff; +} + +/* If the user clicks on their avatar we 'open' the settings */ +.kiwi-statebrowser-usermenu--open { + background: rgba(255, 255, 255, 0.1); +} +.kiwi-statebrowser-usermenu--open .kiwi-statebrowser-usermenu-avatars { + background-color: #1b2f24; + color: #fff; +} +.kiwi-statebrowser-network .kiwi-statebrowser-network-header a.kiwi-statebrowser-network-toggle:hover { + background-color: #d16c6c; + border-top-color: #d16c6c; +} + +/* User Settings */ +.kiwi-statebrowser-appsettings { + color: #14fdce; +} +.kiwi-statebrowser-appsettings:hover { + color: #fff; + opacity: 1; +} + +/* Statebrowser list */ +.kiwi-statebrowser-scrollarea { + border-bottom: 1px solid rgba(255, 255, 255, 0.3); +} +.kiwi-statebrowser-scrollarea h4, +.kiwi-statebrowser-scrollarea h4 { + border-top: 1px solid rgba(255, 255, 255, 0.3); +} +.kiwi-network-name-options { + background-color: #5dd895; +} +.kiwi-network-name-option:hover, +.kiwi-network-name-option.active { + background-color: #6efdb0; + color: #fff; +} +.kiwi-network-name-option-collapse { + background: #d16c6c; +} + +/* Add channel input */ +.kiwi-statebrowser-newchannel-inputwrap { + color: #fff; +} +.kiwi-statebrowser-newchannel-inputwrap input[type='text'] { + color: #000; + background: #fff; +} +.kiwi-statebrowser-newchannel-inputwrap--focus { + opacity: 1; + background-color: #fff; +} + +/*Channel search input */ +.kiwi-statebrowser-channelfilter { + transition: all 0.3s; + border-bottom: 1px solid rgba(255, 255, 255, 0.5); + color: #131312; +} + +.kiwi-statebrowser-channelfilter p a { + color: #14fdce; +} + +.kiwi-statebrowser-channelfilter::after { + color: #000; +} +.kiwi-statebrowser-channelfilter input { + background-color: #fff; + color: #000; + outline: none; +} +.kiwi-statebrowser-channelfilter p { + color: #1b2f24; + font-size: 0.9em; + margin: 10px 0 10px 0; + cursor: pointer; + transition: all 0.3s; +} +.kiwi-statebrowser-channelfilter p:hover { + color: #6dcdad; +} + +.kiwi-statebrowser-newnetwork { + border-top: 1px solid #14fdce; +} + +.kiwi-statebrowser-newnetwork a { + color: #14fdce; +} +.kiwi-statebrowser-newnetwork a:hover { + opacity: 1; + color: #14fdce; + text-decoration: underline; +} + +.kiwi-statebrowser-network .kiwi-statebrowser-network-header { + background: #2d463b; +} + +.kiwi-statebrowser-network--active .kiwi-statebrowser-network-header { + background: #11402a; +} +.kiwi-statebrowser-network .kiwi-statebrowser-network-header a { + color: #fff; +} + + +/* Channel Styling */ +.kiwi-statebrowser-channels .kiwi-statebrowser-channel { + border-bottom: 1px solid #224030; + color: #fff; +} +.kiwi-statebrowser-channels .kiwi-statebrowser-channel .kiwi-statebrowser-channel-name { + color: #fff; +} +.kiwi-statebrowser-channels .kiwi-statebrowser-channel .kiwi-statebrowser-channel-name .kiwi-statebrowser-channel-label { + background: #3a9065; + color: #fff; + opacity: 1; +} +.kiwi-network-name-option-chanfilter.active{ + background: #1b2f24; +} + +/* New Channel Button */ +.kiwi-statebrowser-newchannel a { + border: 1px solid rgba(255, 255, 255, 0.5); +} +.kiwi-statebrowser-newchannel a:hover { + background: #1b2f24; + opacity: 1; + color: #fff; +} + +.kiwi-statebrowser-usermenu-body .close-icon { + background-color: #fc6262; + color: #fff; +} +.kiwi-statebrowser-usermenu-body .close-icon:hover { + background-color: #fe7575; +} + +.kiwi-statebrowser-switcher a:first-of-type { + background: rgba(255, 255, 255, 0.15); +} +.kiwi-statebrowser-switcher a:hover { + background: rgba(255, 255, 255, 0.1); +} + +.kiwi-statebrowser-options { + background: #383838; +} +.kiwi-statebrowser-nonetworks { + background: rgba(255, 255, 255, 0.15); +} +.kiwi-statebrowser-availablenetworks-toggle { + background: rgba(255, 255, 255, 0.15); +} +.kiwi-statebrowser-availablenetworks { + border-bottom: 1px solid rgba(255, 255, 255, 0.3); +} +.kiwi-statebrowser-availablenetworks-link { + border-right: 15px solid red; +} +.kiwi-statebrowser-availablenetworks-link--connected { + border-color: #1b2f24; +} +.kiwi-statebrowser-channel-notjoined .kiwi-statebrowser-channel-name { + color: #d03232; +} +.kiwi-statebrowser-channel-active .kiwi-statebrowser-channel-name { + color: #df6b26; +} +.kiwi-statebrowser-channel-label--highlight { + background: #d62323; +} +.kiwi-statebrowser-channel-popup { + background: #383838; + border: 3px solid #6b6b6b; + border-left: none; +} +.kiwi-statebrowser-newchannel-inputwrap--focus { + opacity: 1; +} + +.kiwi-statebrowser-nonetworks { + background: rgba(255, 255, 255, 0.15); +} +.kiwi-statebrowser-availablenetworks { + border-bottom: 1px solid rgba(255, 255, 255, 0.3); +} +.kiwi-statebrowser-availablenetworks-toggle { + background: rgba(255, 255, 255, 0.15); +} + +.kiwi-statebrowser-channel-label--highlight { + background: #d62323; +} + +.kiwi-statebrowser-channel-popup { + background: #383838; + border: 3px solid #6b6b6b; +} + +/* Statebrowser Network - ( StateBrowser.vue ) */ +.kiwi-statebrowser-network-header { + background: rgba(255, 255, 255, 0.15); +} +.kiwi-statebrowser-network-status .u-link { + color: #fff; +} +.kiwi-statebrowser-channel.kiwi-statebrowser-channel-active { + border-left-color: #00ffca33; +} + +/* User Box Styling ( UserBox.vue ) */ +.kiwi-userbox-usermask { + color: #5dd895; +} +.kiwi-userbox-opactions { + border-top: 1px solid #9e9e9e; +} +.kiwi-userbox .main-title { + border-bottom: 1px solid rgba(0, 0, 0, 0.2); +} +.kiwi-userbox .kiwi-userbox-basicinfo { + border-bottom: 1px solid rgba(0, 0, 0, 0.2); +} +.kiwi-userbox .kiwi-userbox-actions .u-button { + border: 1px solid #000; + color: #000; +} +.kiwi-userbox .kiwi-userbox-actions .u-button:hover { + background-color: #000; + color: #fff; +} +.kiwi-userbox-opactions { + border-top: 1px solid #9e9e9e; +} +.kiwi-userbox-opactions label select { + border: 1px solid rgba(0, 0, 0, 0.2); +} + +.kiwi-userbox-opaction-kick , +.kiwi-userbox-opaction-ban, +.kiwi-userbox-opaction-kickban { + color: #fff; +} +.kiwi-userbox-opaction-kick { + background-color: #f6c358; +} +.kiwi-userbox-opaction-kick:hover { + background-color: #fcce6e; +} + +.kiwi-userbox-opaction-ban { + background-color: #fcb46e; +} +.kiwi-userbox-opaction-ban:hover{ + background-color: #ffca97; +} + +.kiwi-userbox-opaction-kickban{ + background-color: #fb846a; +} +.kiwi-userbox-opaction-kickban:hover{ + background-color: #ffaf9e; +} + +.kiwi-userbox-actions .kiwi-userbox-action { + color: #5dd895; + border-color: #5dd895; +} + +.kiwi-userbox-actions .kiwi-userbox-action:hover { + background: none; + text-decoration: underline; +} + + +.kiwi-userbox-whois { + border: 1px solid #9e9e9e; + border-radius: 2px; +} +.kiwi-messagelist-message-whois { + border-left-color: #939393; +} + +.kiwi-messagelist-message.kiwi-messagelist-message--hover, +.kiwi-messagelist-message.kiwi-messagelist-message--highlight, +.kiwi-messagelist-message.kiwi-messagelist-message-traffic--hover { + position: relative; + border-color: #c9c9c9; + opacity: 1; +} + +/* MOTD */ +.kiwi-messagelist-message-motd { + color: #666; +} + +/* Customer Server Styling */ +.kiwi-customserver { + background-color: #1c2933; + color: #fff; +} + +.kiwi-customserver-form { + background-color: #151414; + border: 1px solid #14fdce; +} + +.kiwi-customserver-form .u-input-text { + background-color: #151414; +} + +.kiwi-customserver-form .u-input-text input { + background-color: #151414; + color: #fff; +} + +.kiwi-customserver .u-button { + background-color: none; + border: 1px solid #14fdce; + color: #14fdce; +} + +.kiwi-customserver .u-link { + color: #14fdce; + text-decoration: underline; +} + +/* Buffer Key */ +.kiwi-bufferkey input[type='password'] { + border: 1px solid #5dd895; + color: #5dd895; +} + +.kiwi-bufferkey-button { + border: 1px solid #5dd895; +} + +/*Icon before the network in network list */ +.kiwi-statebrowser-network-name::before { + content: '\f233'; + font-family: fontAwesome; + margin-right: 2px; + font-weight: 100; + text-decoration: none; +} + +/* Icons in the Channel List */ +.kiwi-statebrowser-channel[data-name^="*"]::before { + content: '\f006'; + font-family: fontAwesome; +} + +.kiwi-statebrowser-channel[data-name="#help"]::before { + content: '\f059'; + font-family: fontAwesome; +} + +/* U table line breaks */ +.u-table td { + border-bottom: 1px solid #5dd895; +} + +.kiwi-settings-advanced-notice { + color: #5dd895; + border: 1px solid #5dd895; +} + +.kiwi-awaystatusindicator { + border: 1px solid #e1e1e1; + background-color: #5dd895; +} + +.kiwi-awaystatusindicator--away { + background-color: #1b2f24; +} + +.kiwi-selfuser-error-message { + background: #d16c6c; + color: #fff; +} + +.kiwi-messagelist-message--own { + background-color: #3dc37829; +} + +@media screen and (max-width: 769px) { + .kiwi-appsettings { + background-color: #294234; + } +} + +.kiwi-messagelist::-webkit-scrollbar-thumb { + background-color: #9e9e9e; +} diff --git a/sources/dist/static/themes/sky/theme.css b/sources/dist/static/themes/sky/theme.css new file mode 100644 index 0000000..ea386b5 --- /dev/null +++ b/sources/dist/static/themes/sky/theme.css @@ -0,0 +1,107 @@ +@import '../common/base.css'; + +:root { + /* Primary Variables */ + --brand-primary: #78c9dc; + --brand-primary-hover: #8fd9ea; + --brand-midtone: #f1f1f1; + --brand-darktone: #969696; + --brand-default-bg: #fff; + --brand-default-fg: #22231f; + + /* Warning colors */ + --brand-notice: #f6c358; + --brand-warning: #fcb46e; + --brand-error: #bf5155; + + /* Connection Indicator top */ + --comp-workspace-before-bg: var(--brand-primary); + --comp-bg-kiwi-workspace--disconnected-after-bg: var(--brand-error); + + /* Container Header */ + --comp-header-bg: var(--brand-default-bg); + --comp-header-name-fg: var(--brand-default-fg); + --comp-header-option-active-fg: var(--brand-default-bg); + --comp-header-option-active-bg: var(--brand-primary); + + /* StateBrowser */ + --comp-statebrowser-fg: #fff; + --comp-statebrowser-bg: #4dafc5; + --comp-statebrowser-bg-networkname: #80c8d8; + --comp-statebrowser-channel-active-bg: #ffffff0d; + --comp-statebrowser-channel-active-fg: #fff; + --comp-usermenu-open-bg: #0e0e0e; + --comp-statebrowser-network-border: #656565; + + + /* Sidebars ( Right Side ) */ + --comp-sidebar-bg: #fff; + --comp-sidebar-fg: #22231f; + --comp-aboutbuffer-bg: rgba(0, 0, 0, 0.03); + --comp-aboutbuffer-header-bg: #42b992; + + /* Misc */ + --brand-link-normal: var(--brand-primary); + --brand-link--hover: var(--brand-primary-hover); + --brand-shadow: rgba(0, 0, 0, 0.1); + --comp-border: #b2b2b2; +} + +/* Welcome */ +.kiwi-startup-common-section-info { + border-left-color: var(--brand-primary); +} + +/* StateBrowser */ +.kiwi-statebrowser-usermenu--open { + background-color: #5d919c; +} +.kiwi-statebrowser-network-status .u-link { + color: #fff; +} +.kiwi-network-name-options { + background-color: #7dc8d9; +} +.kiwi-statebrowser-channel-leave { + background: transparent; +} + +/* Sidebar */ +.kiwi-aboutbuffer h4 { + background-color: #74c9dd; +} + +/* IRC Text Colours */ +.irc-fg-colour-white { color: #fff; } +.irc-fg-colour-black { color: #000; } +.irc-fg-colour-blue { color: #00f; } +.irc-fg-colour-green { color: #0f0; } +.irc-fg-colour-light-red { color: #ff5959; } +.irc-fg-colour-brown { color: #743a00; } +.irc-fg-colour-purple { color: #a500ff; } +.irc-fg-colour-orange { color: #ff8c00; } +.irc-fg-colour-yellow { color: #ff0; } +.irc-fg-colour-light-green { color: #6fff6f; } +.irc-fg-colour-cyan { color: #0cc; } +.irc-fg-colour-light-cyan { color: #6dffff; } +.irc-fg-colour-light-blue { color: #59b4ff; } +.irc-fg-colour-pink { color: #f0f; } +.irc-fg-colour-grey { color: #a6a6a6; } +.irc-fg-colour-light-grey { color: #e2e2e2; } + +.irc-bg-colour-white { background-color: #fff; } +.irc-bg-colour-black { background-color: #000; } +.irc-bg-colour-blue { background-color: #00f; } +.irc-bg-colour-green { background-color: #0f0; } +.irc-bg-colour-light-red { background-color: #ff5959; } +.irc-bg-colour-brown { background-color: #743a00; } +.irc-bg-colour-purple { background-color: #a500ff; } +.irc-bg-colour-orange { background-color: #ff8c00; } +.irc-bg-colour-yellow { background-color: #ff0; } +.irc-bg-colour-light-green { background-color: #6fff6f; } +.irc-bg-colour-cyan { background-color: #0cc; } +.irc-bg-colour-light-cyan { background-color: #6dffff; } +.irc-bg-colour-light-blue { background-color: #59b4ff; } +.irc-bg-colour-pink { background-color: #f0f; } +.irc-bg-colour-grey { background-color: #a6a6a6; } +.irc-bg-colour-light-grey { background-color: #e2e2e2; }