├── frmSplash1.frx ├── Form1.frx ├── Form2.frx ├── frmSplash.frx ├── MSSCCPRJ.SCC ├── Project1.vbw ├── Project1.vbp ├── sp.py ├── README.md ├── frmSplash1.frm ├── Form2.frm ├── frmSplash.frm ├── Form1.frm └── LICENSE /frmSplash1.frx: -------------------------------------------------------------------------------- 1 | lt -------------------------------------------------------------------------------- /Form1.frx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhineetraj1/reacher-mail-gui/HEAD/Form1.frx -------------------------------------------------------------------------------- /Form2.frx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhineetraj1/reacher-mail-gui/HEAD/Form2.frx -------------------------------------------------------------------------------- /frmSplash.frx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhineetraj1/reacher-mail-gui/HEAD/frmSplash.frx -------------------------------------------------------------------------------- /MSSCCPRJ.SCC: -------------------------------------------------------------------------------- 1 | [SCC] 2 | SCC=This is a source code control file 3 | [Project1.vbp] 4 | SCC_Project_Name=this project is not under source code control 5 | SCC_Aux_Path= 6 | -------------------------------------------------------------------------------- /Project1.vbw: -------------------------------------------------------------------------------- 1 | Form1 = 112, 241, 1003, 727, , 26, 26, 945, 628, C 2 | frmSplash = 127, 271, 1018, 757, C, 208, 208, 1099, 694, C 3 | Form2 = 182, 182, 1073, 668, C, 144, 26, 1035, 628, C 4 | frmSplash1 = 104, 104, 991, 546, C, 78, 78, 965, 520, C 5 | -------------------------------------------------------------------------------- /Project1.vbp: -------------------------------------------------------------------------------- 1 | Type=Exe 2 | Form=Form1.frm 3 | Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#..\..\..\..\Windows\SysWOW64\stdole2.tlb#OLE Automation 4 | Form=frmSplash.frm 5 | Object={3B7C8863-D78F-101B-B9B5-04021C009402}#1.2#0; RICHTX32.OCX 6 | Form=Form2.frm 7 | Form=frmSplash1.frm 8 | IconForm="Form1" 9 | Startup="Form1" 10 | HelpFile="" 11 | Title="Reacher Mail" 12 | ExeName32="Project1.exe" 13 | Command32="" 14 | Name="Mail" 15 | HelpContextID="0" 16 | Description="Made by Abhineet Raj" 17 | CompatibleMode="0" 18 | MajorVer=1 19 | MinorVer=0 20 | RevisionVer=0 21 | AutoIncrementVer=0 22 | ServerSupportFiles=0 23 | VersionComments="This projects is made by Abhineet Raj - https://www.github.com/abhineetraj1" 24 | VersionCompanyName="Abhineet Raj" 25 | CompilationType=0 26 | OptimizationType=0 27 | FavorPentiumPro(tm)=0 28 | CodeViewDebugInfo=0 29 | NoAliasing=0 30 | BoundsCheck=0 31 | OverflowCheck=0 32 | FlPointCheck=0 33 | FDIVCheck=0 34 | UnroundedFP=0 35 | StartMode=0 36 | Unattended=0 37 | Retained=0 38 | ThreadPerObject=0 39 | MaxNumberOfThreads=1 40 | -------------------------------------------------------------------------------- /sp.py: -------------------------------------------------------------------------------- 1 | import requests 2 | import sys 3 | 4 | token = sys.argv[len(sys.argv)-1] 5 | pp=[] 6 | def verify(email, token): 7 | h={"content-type":"application/json","authorization":token} 8 | j={"to_email":email} 9 | response = requests.post("https://api.reacher.email/v0/check_email", json=j, headers=h) 10 | return str(response.json().get("is_reachable")) 11 | 12 | def chea(): 13 | nn=[] 14 | lt=str(open("cache","r").read().replace("{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fonttbl{\\f0\\fnil\\fcharset0 Arial;}}\n\\viewkind4\\uc1\\pard\\fs24 ","").replace("\n\\par }\n\x00","").replace("\n\\par","\n").replace("\n ","\n")).split("\n") 15 | #lt=str(open("cache","r").read()).split("\n") 16 | for i in lt: 17 | p = verify(i,lt[1]) 18 | print(p) 19 | if (p == "invalid"): 20 | n="" 21 | elif (p == None): 22 | nn.append("Too many requests this month. Upgrade your plan") 23 | break 24 | elif (p == "None"): 25 | nn.append("Too many requests this month. Upgrade your plan") 26 | break 27 | n="" 28 | else: 29 | pp.append(i) 30 | n="" 31 | if (len(nn) > 1): 32 | n=nn[0] 33 | for i in pp: 34 | n=n+"\n"+i 35 | open("cache","w").write(n) 36 | 37 | chea() 38 | open("cachex","w").write("") 39 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Reacher-mail verifier 2 | This is email verifier app, which verifies whelter the email exists or not. This is made using python, Visual Basic 6 and Reacher mail API. You need to get reacher mail API in order to run the service 3 | * User friendly UI 4 | * All you need to get API and it will start the verification process 5 | * You can verify more than one email at the time, also the limit depends upon your reach mail API. 6 | 7 | ## Installation 8 | * Download Visual Basic 6.0 and Python3.8 in your system 9 | * Register your account with [Reacher mail](http://reacher.email) and get the token. 10 | 11 | ## Execution guide:- 12 | 13 | * Open Project1.vbp file and click on run button. 14 | 15 | ## Programming languages used 16 | Python 17 | Visual Basic 18 | 19 | ## Developer 20 | * [abhineetraj1](http://github.com/abhineetraj1) 21 | -------------------------------------------------------------------------------- /frmSplash1.frm: -------------------------------------------------------------------------------- 1 | VERSION 5.00 2 | Begin VB.Form frmSplash1 3 | BackColor = &H8000000B& 4 | BorderStyle = 3 'Fixed Dialog 5 | ClientHeight = 4245 6 | ClientLeft = 255 7 | ClientTop = 1410 8 | ClientWidth = 7380 9 | ClipControls = 0 'False 10 | ControlBox = 0 'False 11 | Icon = "frmSplash1.frx":0000 12 | KeyPreview = -1 'True 13 | LinkTopic = "Form2" 14 | MaxButton = 0 'False 15 | MinButton = 0 'False 16 | ScaleHeight = 4245 17 | ScaleWidth = 7380 18 | ShowInTaskbar = 0 'False 19 | StartUpPosition = 2 'CenterScreen 20 | Begin VB.CommandButton Command2 21 | Caption = "Close" 22 | Height = 495 23 | Left = 4320 24 | TabIndex = 2 25 | Top = 2880 26 | Width = 1215 27 | End 28 | Begin VB.CommandButton Command1 29 | Caption = "Back" 30 | Height = 495 31 | Left = 1080 32 | TabIndex = 1 33 | Top = 2880 34 | Width = 1215 35 | End 36 | Begin VB.Label Label1 37 | BackColor = &H8000000B& 38 | Caption = "Too many requests this month. Upgrade your plan" 39 | BeginProperty Font 40 | Name = "Myanmar Text" 41 | Size = 18 42 | Charset = 0 43 | Weight = 400 44 | Underline = 0 'False 45 | Italic = 0 'False 46 | Strikethrough = 0 'False 47 | EndProperty 48 | Height = 1455 49 | Left = 360 50 | TabIndex = 0 51 | Top = 960 52 | Width = 6735 53 | End 54 | End 55 | Attribute VB_Name = "frmSplash1" 56 | Attribute VB_GlobalNameSpace = False 57 | Attribute VB_Creatable = False 58 | Attribute VB_PredeclaredId = True 59 | Attribute VB_Exposed = False 60 | Private Sub Command1_Click() 61 | Form1.Show 62 | frmSplash1.Hide 63 | End Sub 64 | 65 | Private Sub Command2_Click() 66 | End 67 | End Sub 68 | -------------------------------------------------------------------------------- /Form2.frm: -------------------------------------------------------------------------------- 1 | VERSION 5.00 2 | Object = "{3B7C8863-D78F-101B-B9B5-04021C009402}#1.2#0"; "RICHTX32.OCX" 3 | Begin VB.Form Form2 4 | BackColor = &H00C0C0FF& 5 | Caption = "Mails" 6 | ClientHeight = 6780 7 | ClientLeft = 120 8 | ClientTop = 465 9 | ClientWidth = 6825 10 | Icon = "Form2.frx":0000 11 | LinkTopic = "Form2" 12 | ScaleHeight = 6780 13 | ScaleWidth = 6825 14 | StartUpPosition = 3 'Windows Default 15 | Begin VB.CommandButton Command1 16 | Caption = "Done" 17 | BeginProperty Font 18 | Name = "Arial" 19 | Size = 14.25 20 | Charset = 0 21 | Weight = 400 22 | Underline = 0 'False 23 | Italic = 0 'False 24 | Strikethrough = 0 'False 25 | EndProperty 26 | Height = 495 27 | Left = 2400 28 | TabIndex = 2 29 | Top = 6120 30 | Width = 1695 31 | End 32 | Begin RichTextLib.RichTextBox RichTextBox1 33 | Height = 5295 34 | Left = 120 35 | TabIndex = 0 36 | Top = 720 37 | Width = 6615 38 | _ExtentX = 11668 39 | _ExtentY = 9340 40 | _Version = 393217 41 | Enabled = -1 'True 42 | TextRTF = $"Form2.frx":1084A 43 | End 44 | Begin VB.Label Label1 45 | BackColor = &H00C0C0FF& 46 | Caption = "Verified emails" 47 | BeginProperty Font 48 | Name = "Arial" 49 | Size = 18 50 | Charset = 0 51 | Weight = 400 52 | Underline = 0 'False 53 | Italic = 0 'False 54 | Strikethrough = 0 'False 55 | EndProperty 56 | Height = 495 57 | Left = 120 58 | TabIndex = 1 59 | Top = 120 60 | Width = 6615 61 | End 62 | End 63 | Attribute VB_Name = "Form2" 64 | Attribute VB_GlobalNameSpace = False 65 | Attribute VB_Creatable = False 66 | Attribute VB_PredeclaredId = True 67 | Attribute VB_Exposed = False 68 | Private Sub Command1_Click() 69 | Form1.Show 70 | Form2.Hide 71 | End Sub 72 | 73 | Private Sub Form_Load() 74 | RichTextBox1.FileName = "cache" 75 | End Sub 76 | 77 | -------------------------------------------------------------------------------- /frmSplash.frm: -------------------------------------------------------------------------------- 1 | VERSION 5.00 2 | Object = "{3B7C8863-D78F-101B-B9B5-04021C009402}#1.2#0"; "RICHTX32.OCX" 3 | Begin VB.Form frmSplash 4 | BackColor = &H8000000B& 5 | BorderStyle = 3 'Fixed Dialog 6 | ClientHeight = 3045 7 | ClientLeft = 255 8 | ClientTop = 1410 9 | ClientWidth = 8280 10 | ClipControls = 0 'False 11 | ControlBox = 0 'False 12 | Icon = "frmSplash.frx":0000 13 | KeyPreview = -1 'True 14 | LinkTopic = "Form2" 15 | MaxButton = 0 'False 16 | MinButton = 0 'False 17 | ScaleHeight = 3045 18 | ScaleWidth = 8280 19 | ShowInTaskbar = 0 'False 20 | StartUpPosition = 2 'CenterScreen 21 | Begin RichTextLib.RichTextBox RichTextBox1 22 | Height = 1215 23 | Left = 3360 24 | TabIndex = 1 25 | Top = 1800 26 | Visible = 0 'False 27 | Width = 3495 28 | _ExtentX = 6165 29 | _ExtentY = 2143 30 | _Version = 393217 31 | TextRTF = $"frmSplash.frx":000C 32 | End 33 | Begin VB.Timer Timer1 34 | Interval = 5000 35 | Left = 1800 36 | Top = 2160 37 | End 38 | Begin VB.Label Label1 39 | BackColor = &H8000000B& 40 | Caption = "Wait until the processing is done." 41 | BeginProperty Font 42 | Name = "Arial" 43 | Size = 24 44 | Charset = 0 45 | Weight = 400 46 | Underline = 0 'False 47 | Italic = 0 'False 48 | Strikethrough = 0 'False 49 | EndProperty 50 | Height = 615 51 | Left = 360 52 | TabIndex = 0 53 | Top = 1080 54 | Width = 7455 55 | End 56 | End 57 | Attribute VB_Name = "frmSplash" 58 | Attribute VB_GlobalNameSpace = False 59 | Attribute VB_Creatable = False 60 | Attribute VB_PredeclaredId = True 61 | Attribute VB_Exposed = False 62 | 63 | Private Sub Timer1_Timer() 64 | Dim a, doff As String 65 | RichTextBox1.FileName = "cachex" 66 | a = RichTextBox1.Text 67 | If a = "" Then 68 | frmSplash.Timer1.Enabled = False 69 | frmSplash.Hide 70 | Form2.Show 71 | ElseIf a = "Too many requests this month. Upgrade your plan" Then 72 | frmSplash.Hide 73 | frmSplash1.Show 74 | Else 75 | doff = "" 76 | End If 77 | End Sub 78 | -------------------------------------------------------------------------------- /Form1.frm: -------------------------------------------------------------------------------- 1 | VERSION 5.00 2 | Object = "{3B7C8863-D78F-101B-B9B5-04021C009402}#1.2#0"; "RICHTX32.OCX" 3 | Begin VB.Form Form1 4 | BackColor = &H00C0FFC0& 5 | Caption = "Reacher mail" 6 | ClientHeight = 7245 7 | ClientLeft = 120 8 | ClientTop = 465 9 | ClientWidth = 12285 10 | Icon = "Form1.frx":0000 11 | LinkTopic = "Form1" 12 | ScaleHeight = 7245 13 | ScaleWidth = 12285 14 | StartUpPosition = 3 'Windows Default 15 | Begin RichTextLib.RichTextBox RichTextBox2 16 | Height = 735 17 | Left = 360 18 | TabIndex = 5 19 | Top = 4920 20 | Visible = 0 'False 21 | Width = 1455 22 | _ExtentX = 2566 23 | _ExtentY = 1296 24 | _Version = 393217 25 | TextRTF = $"Form1.frx":1084A 26 | End 27 | Begin RichTextLib.RichTextBox RichTextBox1 28 | Height = 4455 29 | Left = 3000 30 | TabIndex = 4 31 | Top = 1440 32 | Width = 7095 33 | _ExtentX = 12515 34 | _ExtentY = 7858 35 | _Version = 393217 36 | Enabled = -1 'True 37 | TextRTF = $"Form1.frx":108D5 38 | BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 39 | Name = "Arial" 40 | Size = 12 41 | Charset = 0 42 | Weight = 400 43 | Underline = 0 'False 44 | Italic = 0 'False 45 | Strikethrough = 0 'False 46 | EndProperty 47 | End 48 | Begin VB.CommandButton Command1 49 | Caption = "Process" 50 | BeginProperty Font 51 | Name = "Arial" 52 | Size = 18 53 | Charset = 0 54 | Weight = 400 55 | Underline = 0 'False 56 | Italic = 0 'False 57 | Strikethrough = 0 'False 58 | EndProperty 59 | Height = 735 60 | Left = 3480 61 | TabIndex = 3 62 | Top = 6240 63 | Width = 4215 64 | End 65 | Begin VB.TextBox Text2 66 | BeginProperty Font 67 | Name = "Arial" 68 | Size = 14.25 69 | Charset = 0 70 | Weight = 400 71 | Underline = 0 'False 72 | Italic = 0 'False 73 | Strikethrough = 0 'False 74 | EndProperty 75 | Height = 495 76 | Left = 3000 77 | TabIndex = 1 78 | Top = 600 79 | Width = 7095 80 | End 81 | Begin VB.Label Label2 82 | BackColor = &H00C0FFC0& 83 | Caption = "Enter email Id(s)" 84 | BeginProperty Font 85 | Name = "Arial" 86 | Size = 18 87 | Charset = 0 88 | Weight = 400 89 | Underline = 0 'False 90 | Italic = 0 'False 91 | Strikethrough = 0 'False 92 | EndProperty 93 | Height = 495 94 | Left = 120 95 | TabIndex = 2 96 | Top = 1560 97 | Width = 2655 98 | End 99 | Begin VB.Label Label1 100 | BackColor = &H00C0FFC0& 101 | Caption = "Enter authtoken" 102 | BeginProperty Font 103 | Name = "Arial" 104 | Size = 18 105 | Charset = 0 106 | Weight = 400 107 | Underline = 0 'False 108 | Italic = 0 'False 109 | Strikethrough = 0 'False 110 | EndProperty 111 | Height = 375 112 | Left = 120 113 | TabIndex = 0 114 | Top = 600 115 | Width = 2655 116 | End 117 | End 118 | Attribute VB_Name = "Form1" 119 | Attribute VB_GlobalNameSpace = False 120 | Attribute VB_Creatable = False 121 | Attribute VB_PredeclaredId = True 122 | Attribute VB_Exposed = False 123 | 124 | Private Sub Command1_Click() 125 | If Text2.Text = "" Then 126 | MsgBox ("Enter authtoken code") 127 | Else 128 | frmSplash.Show 129 | Form1.Hide 130 | RichTextBox2.SaveFile ("cachex") 131 | RichTextBox1.SaveFile ("cache") 132 | Shell ("cmd.exe /c python3 sp.py " + Text2.Text) 133 | End If 134 | End Sub 135 | 136 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | --------------------------------------------------------------------------------