Compare commits
	
		
			8 commits
		
	
	
		
			ad191a5393
			...
			4ee3a0be1a
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 4ee3a0be1a | |||
| 1b1f897681 | |||
| dd4a5ec941 | |||
| 3e2f93d754 | |||
| 007a9250ab | |||
| fc6598b91d | |||
| 7b87e6b6a3 | |||
| 51dd4c31e1 | 
					 14 changed files with 3849 additions and 1072 deletions
				
			
		| 
						 | 
				
			
			@ -43,14 +43,14 @@ func scanFile(fileName string) ([]string, error) {
 | 
			
		|||
	}
 | 
			
		||||
	fullPath, err := store.AbsPath(fileName)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		slog.Error("Error in DiecScan", "file-uuid", fileName, "error", err)
 | 
			
		||||
		slog.Error("Error in Yara Scan", "file-uuid", fileName, "error", err)
 | 
			
		||||
		return matched, err
 | 
			
		||||
	}
 | 
			
		||||
	cmd := exec.Command("/usr/local/bin/yr", "scan", "--output-format ndjson", "--print-namespace","--compiled-rules", outputPath, fullPath)
 | 
			
		||||
	slog.Debug("Yara scan command", "cmd", cmd.String())
 | 
			
		||||
	result, err := cmd.Output()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		slog.Error("Error scanning file with yara", "error", err, "file-uuid", fileName,"result", string(result))
 | 
			
		||||
		slog.Error("Error scanning file with yara", "error", err, "file-uuid", fileName, "result", string(result))
 | 
			
		||||
		return matched, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,7 @@
 | 
			
		|||
package store
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"log/slog"
 | 
			
		||||
	"os"
 | 
			
		||||
	"path/filepath"
 | 
			
		||||
| 
						 | 
				
			
			@ -34,11 +35,12 @@ func SaveFile(fileName string, fileBytes []byte) (string, error) {
 | 
			
		|||
		return "", err
 | 
			
		||||
	}
 | 
			
		||||
	defer osFile.Close()
 | 
			
		||||
	_, err = osFile.Write(fileBytes)
 | 
			
		||||
	i, err := osFile.Write(fileBytes)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		slog.Error("could not write file content,", "error", err, "file-uuid", fileName)
 | 
			
		||||
		return "", err
 | 
			
		||||
	}
 | 
			
		||||
	} 
 | 
			
		||||
	slog.Debug("File successfully written to disk", "size", i, "file-uuid", fileName)
 | 
			
		||||
 | 
			
		||||
	return fileName, nil
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -75,14 +77,18 @@ func AbsPath(fileName string) (string, error) {
 | 
			
		|||
 | 
			
		||||
func GetFileBytes(fileName string) ([]byte, error) {
 | 
			
		||||
	var fileBytes []byte
 | 
			
		||||
	file, err := OpenFile(fileName)
 | 
			
		||||
	absPath, err := AbsPath(fileName)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return fileBytes, err
 | 
			
		||||
	}
 | 
			
		||||
	_, err = file.Read(fileBytes)
 | 
			
		||||
	fileBytes, err = os.ReadFile(absPath)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		slog.Error("could not read file content,", "error", err, "file-uuid", fileName)
 | 
			
		||||
		return fileBytes, err
 | 
			
		||||
	}
 | 
			
		||||
	if len(fileBytes) == 0 {
 | 
			
		||||
		slog.Error("File is empty", "error", "Empty file", "file-uuid", fileName)
 | 
			
		||||
		return fileBytes, fmt.Errorf("Empty file")
 | 
			
		||||
	}
 | 
			
		||||
	return fileBytes, nil
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,7 +10,7 @@ templ About() {
 | 
			
		|||
    <p>Scanfile is a web application that allows you to check a file for various properties to be able to determine whether it is malicious or not</p>
 | 
			
		||||
    <h2>Used tools</h2>
 | 
			
		||||
    <p>Scanfile uses a variety of open source software:</p>
 | 
			
		||||
	<div class="w-full max-w-sm">
 | 
			
		||||
	<div class="w-full">
 | 
			
		||||
		@accordion.Accordion(accordion.Props{
 | 
			
		||||
			Class: "w-full",
 | 
			
		||||
		}) {
 | 
			
		||||
| 
						 | 
				
			
			@ -32,6 +32,15 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 | 
			
		|||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
    @accordion.Accordion(accordion.Props{Class: "w-full"}) {
 | 
			
		||||
			@accordion.Item() {
 | 
			
		||||
				@accordion.Trigger() {
 | 
			
		||||
				}
 | 
			
		||||
				@accordion.Content() {
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
	</div>
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -45,7 +45,7 @@ func About() templ.Component {
 | 
			
		|||
				}()
 | 
			
		||||
			}
 | 
			
		||||
			ctx = templ.InitializeContext(ctx)
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<h1>About</h1><p>Scanfile is a web application that allows you to check a file for various properties to be able to determine whether it is malicious or not</p><h2>Used tools</h2><p>Scanfile uses a variety of open source software:</p><div class=\"w-full max-w-sm\">")
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<h1>About</h1><p>Scanfile is a web application that allows you to check a file for various properties to be able to determine whether it is malicious or not</p><h2>Used tools</h2><p>Scanfile uses a variety of open source software:</p><div class=\"w-full\">")
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			@ -135,7 +135,83 @@ func About() templ.Component {
 | 
			
		|||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "</div>")
 | 
			
		||||
			templ_7745c5c3_Var7 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
				templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
				templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
				if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
					defer func() {
 | 
			
		||||
						templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
						if templ_7745c5c3_Err == nil {
 | 
			
		||||
							templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
						}
 | 
			
		||||
					}()
 | 
			
		||||
				}
 | 
			
		||||
				ctx = templ.InitializeContext(ctx)
 | 
			
		||||
				templ_7745c5c3_Var8 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
					templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
					if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
						defer func() {
 | 
			
		||||
							templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
							if templ_7745c5c3_Err == nil {
 | 
			
		||||
								templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
							}
 | 
			
		||||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					templ_7745c5c3_Var9 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
						templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
						templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
						if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
							defer func() {
 | 
			
		||||
								templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
								if templ_7745c5c3_Err == nil {
 | 
			
		||||
									templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
								}
 | 
			
		||||
							}()
 | 
			
		||||
						}
 | 
			
		||||
						ctx = templ.InitializeContext(ctx)
 | 
			
		||||
						return nil
 | 
			
		||||
					})
 | 
			
		||||
					templ_7745c5c3_Err = accordion.Trigger().Render(templ.WithChildren(ctx, templ_7745c5c3_Var9), templ_7745c5c3_Buffer)
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, " ")
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					templ_7745c5c3_Var10 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
						templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
						templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
						if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
							defer func() {
 | 
			
		||||
								templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
								if templ_7745c5c3_Err == nil {
 | 
			
		||||
									templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
								}
 | 
			
		||||
							}()
 | 
			
		||||
						}
 | 
			
		||||
						ctx = templ.InitializeContext(ctx)
 | 
			
		||||
						return nil
 | 
			
		||||
					})
 | 
			
		||||
					templ_7745c5c3_Err = accordion.Content().Render(templ.WithChildren(ctx, templ_7745c5c3_Var10), templ_7745c5c3_Buffer)
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					return nil
 | 
			
		||||
				})
 | 
			
		||||
				templ_7745c5c3_Err = accordion.Item().Render(templ.WithChildren(ctx, templ_7745c5c3_Var8), templ_7745c5c3_Buffer)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				return nil
 | 
			
		||||
			})
 | 
			
		||||
			templ_7745c5c3_Err = accordion.Accordion(accordion.Props{Class: "w-full"}).Render(templ.WithChildren(ctx, templ_7745c5c3_Var7), templ_7745c5c3_Buffer)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "</div>")
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
				
			
			@ -29,6 +29,34 @@ templ Base(title string) {
 | 
			
		|||
      </div>
 | 
			
		||||
      <script src="/assets/htmx.min.js"></script>
 | 
			
		||||
      <script src="/assets/alpine.min.js"></script>
 | 
			
		||||
      <script>
 | 
			
		||||
        // Re-initialize templUI components after HTMX swaps
 | 
			
		||||
        document.body.addEventListener("htmx:afterSwap", (e) => {
 | 
			
		||||
          if (window.templUI) {
 | 
			
		||||
            Object.values(window.templUI).forEach(comp => {
 | 
			
		||||
              comp.init?.(e.detail.elt);
 | 
			
		||||
            });
 | 
			
		||||
          }
 | 
			
		||||
        });
 | 
			
		||||
      
 | 
			
		||||
        // Re-initialize components after out-of-band swaps
 | 
			
		||||
        document.body.addEventListener("htmx:oobAfterSwap", (e) => {
 | 
			
		||||
          if (window.templUI) {
 | 
			
		||||
            Object.values(window.templUI).forEach(comp => {
 | 
			
		||||
              comp.init?.(e.detail.target);
 | 
			
		||||
            });
 | 
			
		||||
          }
 | 
			
		||||
        });
 | 
			
		||||
      
 | 
			
		||||
        // Cleanup before swap (for components with event listeners)
 | 
			
		||||
        document.body.addEventListener("htmx:beforeSwap", (e) => {
 | 
			
		||||
          if (window.templUI) {
 | 
			
		||||
            Object.values(window.templUI).forEach(comp => {
 | 
			
		||||
              comp.cleanup?.(e.detail.target);
 | 
			
		||||
            });
 | 
			
		||||
          }
 | 
			
		||||
        });
 | 
			
		||||
      </script>
 | 
			
		||||
    </footer>
 | 
			
		||||
  </body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -106,7 +106,7 @@ func Base(title string) templ.Component {
 | 
			
		|||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ_7745c5c3_Err
 | 
			
		||||
		}
 | 
			
		||||
		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "\">Source</a></p></div><script src=\"/assets/htmx.min.js\"></script><script src=\"/assets/alpine.min.js\"></script></footer></body></html>")
 | 
			
		||||
		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "\">Source</a></p></div><script src=\"/assets/htmx.min.js\"></script><script src=\"/assets/alpine.min.js\"></script><script>\n        // Re-initialize templUI components after HTMX swaps\n        document.body.addEventListener(\"htmx:afterSwap\", (e) => {\n          if (window.templUI) {\n            Object.values(window.templUI).forEach(comp => {\n              comp.init?.(e.detail.elt);\n            });\n          }\n        });\n      \n        // Re-initialize components after out-of-band swaps\n        document.body.addEventListener(\"htmx:oobAfterSwap\", (e) => {\n          if (window.templUI) {\n            Object.values(window.templUI).forEach(comp => {\n              comp.init?.(e.detail.target);\n            });\n          }\n        });\n      \n        // Cleanup before swap (for components with event listeners)\n        document.body.addEventListener(\"htmx:beforeSwap\", (e) => {\n          if (window.templUI) {\n            Object.values(window.templUI).forEach(comp => {\n              comp.cleanup?.(e.detail.target);\n            });\n          }\n        });\n      </script></footer></body></html>")
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ_7745c5c3_Err
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,13 +12,17 @@ func FileViewWebHandler(w http.ResponseWriter, r *http.Request) {
 | 
			
		|||
	file, err := database.GetFileByID(r.PathValue("uuid"))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		slog.Error("Error getting File in FileViewWebHandler", "error", err, "file-uuid", r.PathValue("uuid"))
 | 
			
		||||
		http.Error(w, err.Error(), http.StatusBadRequest)
 | 
			
		||||
		if err.Error() == "no rows in result set" {
 | 
			
		||||
		  http.Error(w, err.Error(), http.StatusNotFound)
 | 
			
		||||
		} else {
 | 
			
		||||
		  http.Error(w, err.Error(), http.StatusBadRequest)
 | 
			
		||||
		}
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
  fileProperties, err := database.GetFileProperties(file.ID)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		slog.Error("Error getting FileProperties in FileViewWebHandler", "error", err, "file-uuid", r.PathValue("uuid"))
 | 
			
		||||
		http.Error(w, err.Error(), http.StatusBadRequest)
 | 
			
		||||
		http.Error(w, err.Error(), http.StatusInternalServerError)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	component := FileView(file, fileProperties)
 | 
			
		||||
| 
						 | 
				
			
			@ -48,9 +52,17 @@ func FileViewMSOWebHandler(w http.ResponseWriter, r *http.Request) {
 | 
			
		|||
 | 
			
		||||
func FileViewDeleteWebHandler(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
  fileID := r.PathValue("uuid")
 | 
			
		||||
  err := store.DeleteFile(fileID)
 | 
			
		||||
	err := database.DeleteFileByID(fileID)
 | 
			
		||||
  if err != nil {
 | 
			
		||||
    slog.Error("Error deleting File in FileViewDeleteHandler", "error", err, "file-uuid", fileID)
 | 
			
		||||
		http.Error(w, err.Error(), http.StatusInternalServerError)
 | 
			
		||||
		return
 | 
			
		||||
  }
 | 
			
		||||
  err = store.DeleteFile(fileID)
 | 
			
		||||
  if err != nil {
 | 
			
		||||
    slog.Error("Error deleting File in FileViewDeleteHandler", "error", err, "file-uuid", fileID)
 | 
			
		||||
		http.Error(w, err.Error(), http.StatusInternalServerError)
 | 
			
		||||
		return
 | 
			
		||||
  }
 | 
			
		||||
	w.Header().Set("HX-Redirect", "/")
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,20 +1,18 @@
 | 
			
		|||
package web
 | 
			
		||||
 | 
			
		||||
import "git.jmbit.de/jmb/scanfile/server/internal/sqlc"
 | 
			
		||||
import "git.jmbit.de/jmb/scanfile/server/web/templui/components/table"
 | 
			
		||||
import "encoding/hex"
 | 
			
		||||
import "git.jmbit.de/jmb/scanfile/server/web/templui/components/button"
 | 
			
		||||
import "git.jmbit.de/jmb/scanfile/server/web/templui/components/modal"
 | 
			
		||||
import "git.jmbit.de/jmb/scanfile/server/internal/processing"
 | 
			
		||||
import "fmt"
 | 
			
		||||
import "git.jmbit.de/jmb/scanfile/server/web/templui/components/icon"
 | 
			
		||||
 | 
			
		||||
templ FileView(file sqlc.File, fileProperties sqlc.FileProperty) {
 | 
			
		||||
  @Base(file.Name) {
 | 
			
		||||
    <div class="w-full">
 | 
			
		||||
      <h1 class="text-4xl">File Name: {file.Name}</h1>
 | 
			
		||||
    <div class="flex space-x-4 pb-4">
 | 
			
		||||
      <h1 class="text-4xl">{file.Name}</h1>
 | 
			
		||||
      @FileViewDeleteModal(file.ID.String())
 | 
			
		||||
      @FileViewDownloadModal(file.ID.String())
 | 
			
		||||
      <br/>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="grid grid-cols-2 gap-4">
 | 
			
		||||
    @FileViewGenericTable(file, fileProperties)
 | 
			
		||||
| 
						 | 
				
			
			@ -26,92 +24,7 @@ templ FileView(file sqlc.File, fileProperties sqlc.FileProperty) {
 | 
			
		|||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
templ FileViewGenericTable(file sqlc.File, fileProperties sqlc.FileProperty) {
 | 
			
		||||
    <div class="w-full">
 | 
			
		||||
      <h2 class="text-3xl">Generic Information</h2>
 | 
			
		||||
      @table.Table() {
 | 
			
		||||
        @table.Row() {
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            Size
 | 
			
		||||
          }
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            {file.Size} Bytes
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        @table.Row() {
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            Filetype
 | 
			
		||||
          }
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            {file.Mimetype}
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
        @table.Row() {
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            Blake2b Hash
 | 
			
		||||
          }
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            {hex.EncodeToString(file.Blake2)}
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        @table.Row() {
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            SHA256 Hash
 | 
			
		||||
          }
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            {hex.EncodeToString(fileProperties.Sha256)}
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        @table.Row() {
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            MD5 Hash
 | 
			
		||||
          }
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            {hex.EncodeToString(fileProperties.Md5)}
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        if fileProperties.LibmagicMime.Valid {
 | 
			
		||||
          @table.Row() {
 | 
			
		||||
            @table.Cell() {
 | 
			
		||||
              Mimetype
 | 
			
		||||
            }
 | 
			
		||||
            @table.Cell() {
 | 
			
		||||
              {fileProperties.LibmagicMime.String}
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        if fileProperties.LibmagicExtension.Valid {
 | 
			
		||||
          @table.Row() {
 | 
			
		||||
            @table.Cell() {
 | 
			
		||||
              File Extensions
 | 
			
		||||
            }
 | 
			
		||||
            @table.Cell() {
 | 
			
		||||
              {fileProperties.LibmagicExtension.String}
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        if fileProperties.LibmagicApple.Valid {
 | 
			
		||||
          @table.Row() {
 | 
			
		||||
            @table.Cell() {
 | 
			
		||||
              Apple Filetype
 | 
			
		||||
            }
 | 
			
		||||
            @table.Cell() {
 | 
			
		||||
              {fileProperties.LibmagicApple.String}
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        @table.Row() {
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            Uploaded
 | 
			
		||||
          }
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            {file.Created.Time.String()}
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    </div>
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
templ FileViewDeleteModal(fileid string) {
 | 
			
		||||
@modal.Trigger(modal.TriggerProps{
 | 
			
		||||
| 
						 | 
				
			
			@ -119,8 +32,10 @@ templ FileViewDeleteModal(fileid string) {
 | 
			
		|||
    Class: "p-1",
 | 
			
		||||
	}) {
 | 
			
		||||
    @button.Button(button.Props{
 | 
			
		||||
		  Class:   "flex gap-2 items-center",
 | 
			
		||||
	  	Variant: button.VariantDestructive,
 | 
			
		||||
	  }) {
 | 
			
		||||
      @icon.Trash()
 | 
			
		||||
	  	Delete
 | 
			
		||||
	  }
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -165,8 +80,10 @@ templ FileViewDownloadModal(fileid string) {
 | 
			
		|||
    Class: "p-1",
 | 
			
		||||
	}) {
 | 
			
		||||
    @button.Button(button.Props{
 | 
			
		||||
		  Class:   "flex gap-2 items-center",
 | 
			
		||||
	  	Variant: button.VariantDefault,
 | 
			
		||||
	  }) {
 | 
			
		||||
      @icon.ArrowBigDown()
 | 
			
		||||
	  	Download
 | 
			
		||||
	  }
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -178,7 +95,7 @@ templ FileViewDownloadModal(fileid string) {
 | 
			
		|||
			Download this file?
 | 
			
		||||
		}
 | 
			
		||||
		@modal.Body() {
 | 
			
		||||
      files downloaded from scanfile can be harmful to your system. Are you sure you want to continue?
 | 
			
		||||
      Files downloaded from scanfile can be harmful to your system. Are you sure you want to continue?
 | 
			
		||||
		}
 | 
			
		||||
		@modal.Footer() {
 | 
			
		||||
			<div class="flex gap-2">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										106
									
								
								server/web/fileViewGeneric.templ
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										106
									
								
								server/web/fileViewGeneric.templ
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,106 @@
 | 
			
		|||
package web
 | 
			
		||||
 | 
			
		||||
import "git.jmbit.de/jmb/scanfile/server/internal/sqlc"
 | 
			
		||||
import "git.jmbit.de/jmb/scanfile/server/web/templui/components/table"
 | 
			
		||||
import "git.jmbit.de/jmb/scanfile/server/web/templui/components/button"
 | 
			
		||||
import "encoding/hex"
 | 
			
		||||
import "fmt"
 | 
			
		||||
 | 
			
		||||
templ FileViewGenericTable(file sqlc.File, fileProperties sqlc.FileProperty) {
 | 
			
		||||
    <div class="w-full">
 | 
			
		||||
      <h2 class="text-3xl">Generic Information</h2>
 | 
			
		||||
      @table.Table() {
 | 
			
		||||
        @table.Row() {
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            Size
 | 
			
		||||
          }
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            {file.Size} Bytes
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        @table.Row() {
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            Filetype
 | 
			
		||||
          }
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            {file.Mimetype}
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
        @table.Row() {
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            Blake2b Hash
 | 
			
		||||
          }
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            {hex.EncodeToString(file.Blake2)}
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        @table.Row() {
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            SHA256 Hash
 | 
			
		||||
          }
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            {hex.EncodeToString(fileProperties.Sha256)}
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        @table.Row() {
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            MD5 Hash
 | 
			
		||||
          }
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            {hex.EncodeToString(fileProperties.Md5)}
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        if fileProperties.LibmagicMime.Valid {
 | 
			
		||||
          @table.Row() {
 | 
			
		||||
            @table.Cell() {
 | 
			
		||||
              Mimetype
 | 
			
		||||
            }
 | 
			
		||||
            @table.Cell() {
 | 
			
		||||
              {fileProperties.LibmagicMime.String}
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        if fileProperties.LibmagicExtension.Valid {
 | 
			
		||||
          @table.Row() {
 | 
			
		||||
            @table.Cell() {
 | 
			
		||||
              File Extensions
 | 
			
		||||
            }
 | 
			
		||||
            @table.Cell() {
 | 
			
		||||
              {fileProperties.LibmagicExtension.String}
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        if fileProperties.LibmagicApple.Valid {
 | 
			
		||||
          @table.Row() {
 | 
			
		||||
            @table.Cell() {
 | 
			
		||||
              Apple Filetype
 | 
			
		||||
            }
 | 
			
		||||
            @table.Cell() {
 | 
			
		||||
              {fileProperties.LibmagicApple.String}
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        @table.Row() {
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            Uploaded
 | 
			
		||||
          }
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            {file.Created.Time.String()}
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    <p class="p-1">Look for this file on other services</p>
 | 
			
		||||
    <div class="flex space-x-4 pb-4">
 | 
			
		||||
       @button.Button(button.Props{
 | 
			
		||||
         Variant: button.VariantOutline,
 | 
			
		||||
         Href: fmt.Sprintf("https://www.virustotal.com/gui/file/%s", hex.EncodeToString(fileProperties.Sha256)),
 | 
			
		||||
         }) {VirusTotal}
 | 
			
		||||
       @button.Button(button.Props{
 | 
			
		||||
         Variant: button.VariantOutline,
 | 
			
		||||
         Href: fmt.Sprintf("https://bazaar.abuse.ch/sample/%s", hex.EncodeToString(fileProperties.Sha256)),
 | 
			
		||||
         }) {Malware Bazaar}
 | 
			
		||||
    </div>
 | 
			
		||||
    </div>
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										803
									
								
								server/web/fileViewGeneric_templ.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										803
									
								
								server/web/fileViewGeneric_templ.go
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,803 @@
 | 
			
		|||
// Code generated by templ - DO NOT EDIT.
 | 
			
		||||
 | 
			
		||||
// templ: version: v0.3.865
 | 
			
		||||
package web
 | 
			
		||||
 | 
			
		||||
//lint:file-ignore SA4006 This context is only used if a nested component is present.
 | 
			
		||||
 | 
			
		||||
import "github.com/a-h/templ"
 | 
			
		||||
import templruntime "github.com/a-h/templ/runtime"
 | 
			
		||||
 | 
			
		||||
import "git.jmbit.de/jmb/scanfile/server/internal/sqlc"
 | 
			
		||||
import "git.jmbit.de/jmb/scanfile/server/web/templui/components/table"
 | 
			
		||||
import "git.jmbit.de/jmb/scanfile/server/web/templui/components/button"
 | 
			
		||||
import "encoding/hex"
 | 
			
		||||
import "fmt"
 | 
			
		||||
 | 
			
		||||
func FileViewGenericTable(file sqlc.File, fileProperties sqlc.FileProperty) templ.Component {
 | 
			
		||||
	return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
		templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
		if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
 | 
			
		||||
			return templ_7745c5c3_CtxErr
 | 
			
		||||
		}
 | 
			
		||||
		templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
		if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
			defer func() {
 | 
			
		||||
				templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
				if templ_7745c5c3_Err == nil {
 | 
			
		||||
					templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
				}
 | 
			
		||||
			}()
 | 
			
		||||
		}
 | 
			
		||||
		ctx = templ.InitializeContext(ctx)
 | 
			
		||||
		templ_7745c5c3_Var1 := templ.GetChildren(ctx)
 | 
			
		||||
		if templ_7745c5c3_Var1 == nil {
 | 
			
		||||
			templ_7745c5c3_Var1 = templ.NopComponent
 | 
			
		||||
		}
 | 
			
		||||
		ctx = templ.ClearChildren(ctx)
 | 
			
		||||
		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<div class=\"w-full\"><h2 class=\"text-3xl\">Generic Information</h2>")
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ_7745c5c3_Err
 | 
			
		||||
		}
 | 
			
		||||
		templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
			templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
			templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
			if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
				defer func() {
 | 
			
		||||
					templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
					if templ_7745c5c3_Err == nil {
 | 
			
		||||
						templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
					}
 | 
			
		||||
				}()
 | 
			
		||||
			}
 | 
			
		||||
			ctx = templ.InitializeContext(ctx)
 | 
			
		||||
			templ_7745c5c3_Var3 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
				templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
				templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
				if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
					defer func() {
 | 
			
		||||
						templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
						if templ_7745c5c3_Err == nil {
 | 
			
		||||
							templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
						}
 | 
			
		||||
					}()
 | 
			
		||||
				}
 | 
			
		||||
				ctx = templ.InitializeContext(ctx)
 | 
			
		||||
				templ_7745c5c3_Var4 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
					templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
					if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
						defer func() {
 | 
			
		||||
							templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
							if templ_7745c5c3_Err == nil {
 | 
			
		||||
								templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
							}
 | 
			
		||||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "Size")
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					return nil
 | 
			
		||||
				})
 | 
			
		||||
				templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var4), templ_7745c5c3_Buffer)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, " ")
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				templ_7745c5c3_Var5 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
					templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
					if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
						defer func() {
 | 
			
		||||
							templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
							if templ_7745c5c3_Err == nil {
 | 
			
		||||
								templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
							}
 | 
			
		||||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					var templ_7745c5c3_Var6 string
 | 
			
		||||
					templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(file.Size)
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewGeneric.templ`, Line: 18, Col: 22}
 | 
			
		||||
					}
 | 
			
		||||
					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, " Bytes")
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					return nil
 | 
			
		||||
				})
 | 
			
		||||
				templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var5), templ_7745c5c3_Buffer)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				return nil
 | 
			
		||||
			})
 | 
			
		||||
			templ_7745c5c3_Err = table.Row().Render(templ.WithChildren(ctx, templ_7745c5c3_Var3), templ_7745c5c3_Buffer)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, " ")
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			templ_7745c5c3_Var7 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
				templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
				templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
				if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
					defer func() {
 | 
			
		||||
						templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
						if templ_7745c5c3_Err == nil {
 | 
			
		||||
							templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
						}
 | 
			
		||||
					}()
 | 
			
		||||
				}
 | 
			
		||||
				ctx = templ.InitializeContext(ctx)
 | 
			
		||||
				templ_7745c5c3_Var8 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
					templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
					if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
						defer func() {
 | 
			
		||||
							templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
							if templ_7745c5c3_Err == nil {
 | 
			
		||||
								templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
							}
 | 
			
		||||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "Filetype")
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					return nil
 | 
			
		||||
				})
 | 
			
		||||
				templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var8), templ_7745c5c3_Buffer)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, " ")
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				templ_7745c5c3_Var9 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
					templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
					if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
						defer func() {
 | 
			
		||||
							templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
							if templ_7745c5c3_Err == nil {
 | 
			
		||||
								templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
							}
 | 
			
		||||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					var templ_7745c5c3_Var10 string
 | 
			
		||||
					templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(file.Mimetype)
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewGeneric.templ`, Line: 26, Col: 26}
 | 
			
		||||
					}
 | 
			
		||||
					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					return nil
 | 
			
		||||
				})
 | 
			
		||||
				templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var9), templ_7745c5c3_Buffer)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				return nil
 | 
			
		||||
			})
 | 
			
		||||
			templ_7745c5c3_Err = table.Row().Render(templ.WithChildren(ctx, templ_7745c5c3_Var7), templ_7745c5c3_Buffer)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, " ")
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			templ_7745c5c3_Var11 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
				templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
				templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
				if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
					defer func() {
 | 
			
		||||
						templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
						if templ_7745c5c3_Err == nil {
 | 
			
		||||
							templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
						}
 | 
			
		||||
					}()
 | 
			
		||||
				}
 | 
			
		||||
				ctx = templ.InitializeContext(ctx)
 | 
			
		||||
				templ_7745c5c3_Var12 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
					templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
					if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
						defer func() {
 | 
			
		||||
							templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
							if templ_7745c5c3_Err == nil {
 | 
			
		||||
								templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
							}
 | 
			
		||||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "Blake2b Hash")
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					return nil
 | 
			
		||||
				})
 | 
			
		||||
				templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var12), templ_7745c5c3_Buffer)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, " ")
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				templ_7745c5c3_Var13 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
					templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
					if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
						defer func() {
 | 
			
		||||
							templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
							if templ_7745c5c3_Err == nil {
 | 
			
		||||
								templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
							}
 | 
			
		||||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					var templ_7745c5c3_Var14 string
 | 
			
		||||
					templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(hex.EncodeToString(file.Blake2))
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewGeneric.templ`, Line: 35, Col: 44}
 | 
			
		||||
					}
 | 
			
		||||
					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14))
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					return nil
 | 
			
		||||
				})
 | 
			
		||||
				templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var13), templ_7745c5c3_Buffer)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				return nil
 | 
			
		||||
			})
 | 
			
		||||
			templ_7745c5c3_Err = table.Row().Render(templ.WithChildren(ctx, templ_7745c5c3_Var11), templ_7745c5c3_Buffer)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, " ")
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			templ_7745c5c3_Var15 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
				templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
				templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
				if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
					defer func() {
 | 
			
		||||
						templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
						if templ_7745c5c3_Err == nil {
 | 
			
		||||
							templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
						}
 | 
			
		||||
					}()
 | 
			
		||||
				}
 | 
			
		||||
				ctx = templ.InitializeContext(ctx)
 | 
			
		||||
				templ_7745c5c3_Var16 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
					templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
					if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
						defer func() {
 | 
			
		||||
							templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
							if templ_7745c5c3_Err == nil {
 | 
			
		||||
								templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
							}
 | 
			
		||||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "SHA256 Hash")
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					return nil
 | 
			
		||||
				})
 | 
			
		||||
				templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var16), templ_7745c5c3_Buffer)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, " ")
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				templ_7745c5c3_Var17 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
					templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
					if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
						defer func() {
 | 
			
		||||
							templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
							if templ_7745c5c3_Err == nil {
 | 
			
		||||
								templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
							}
 | 
			
		||||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					var templ_7745c5c3_Var18 string
 | 
			
		||||
					templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinStringErrs(hex.EncodeToString(fileProperties.Sha256))
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewGeneric.templ`, Line: 43, Col: 54}
 | 
			
		||||
					}
 | 
			
		||||
					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18))
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					return nil
 | 
			
		||||
				})
 | 
			
		||||
				templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var17), templ_7745c5c3_Buffer)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				return nil
 | 
			
		||||
			})
 | 
			
		||||
			templ_7745c5c3_Err = table.Row().Render(templ.WithChildren(ctx, templ_7745c5c3_Var15), templ_7745c5c3_Buffer)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, " ")
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			templ_7745c5c3_Var19 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
				templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
				templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
				if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
					defer func() {
 | 
			
		||||
						templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
						if templ_7745c5c3_Err == nil {
 | 
			
		||||
							templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
						}
 | 
			
		||||
					}()
 | 
			
		||||
				}
 | 
			
		||||
				ctx = templ.InitializeContext(ctx)
 | 
			
		||||
				templ_7745c5c3_Var20 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
					templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
					if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
						defer func() {
 | 
			
		||||
							templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
							if templ_7745c5c3_Err == nil {
 | 
			
		||||
								templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
							}
 | 
			
		||||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "MD5 Hash")
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					return nil
 | 
			
		||||
				})
 | 
			
		||||
				templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var20), templ_7745c5c3_Buffer)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, " ")
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				templ_7745c5c3_Var21 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
					templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
					if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
						defer func() {
 | 
			
		||||
							templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
							if templ_7745c5c3_Err == nil {
 | 
			
		||||
								templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
							}
 | 
			
		||||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					var templ_7745c5c3_Var22 string
 | 
			
		||||
					templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.JoinStringErrs(hex.EncodeToString(fileProperties.Md5))
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewGeneric.templ`, Line: 51, Col: 51}
 | 
			
		||||
					}
 | 
			
		||||
					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var22))
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					return nil
 | 
			
		||||
				})
 | 
			
		||||
				templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var21), templ_7745c5c3_Buffer)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				return nil
 | 
			
		||||
			})
 | 
			
		||||
			templ_7745c5c3_Err = table.Row().Render(templ.WithChildren(ctx, templ_7745c5c3_Var19), templ_7745c5c3_Buffer)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, " ")
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			if fileProperties.LibmagicMime.Valid {
 | 
			
		||||
				templ_7745c5c3_Var23 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
					templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
					if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
						defer func() {
 | 
			
		||||
							templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
							if templ_7745c5c3_Err == nil {
 | 
			
		||||
								templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
							}
 | 
			
		||||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					templ_7745c5c3_Var24 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
						templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
						templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
						if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
							defer func() {
 | 
			
		||||
								templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
								if templ_7745c5c3_Err == nil {
 | 
			
		||||
									templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
								}
 | 
			
		||||
							}()
 | 
			
		||||
						}
 | 
			
		||||
						ctx = templ.InitializeContext(ctx)
 | 
			
		||||
						templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "Mimetype")
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
						return nil
 | 
			
		||||
					})
 | 
			
		||||
					templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var24), templ_7745c5c3_Buffer)
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, " ")
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					templ_7745c5c3_Var25 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
						templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
						templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
						if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
							defer func() {
 | 
			
		||||
								templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
								if templ_7745c5c3_Err == nil {
 | 
			
		||||
									templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
								}
 | 
			
		||||
							}()
 | 
			
		||||
						}
 | 
			
		||||
						ctx = templ.InitializeContext(ctx)
 | 
			
		||||
						var templ_7745c5c3_Var26 string
 | 
			
		||||
						templ_7745c5c3_Var26, templ_7745c5c3_Err = templ.JoinStringErrs(fileProperties.LibmagicMime.String)
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewGeneric.templ`, Line: 60, Col: 49}
 | 
			
		||||
						}
 | 
			
		||||
						_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var26))
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
						return nil
 | 
			
		||||
					})
 | 
			
		||||
					templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var25), templ_7745c5c3_Buffer)
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					return nil
 | 
			
		||||
				})
 | 
			
		||||
				templ_7745c5c3_Err = table.Row().Render(templ.WithChildren(ctx, templ_7745c5c3_Var23), templ_7745c5c3_Buffer)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, " ")
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			if fileProperties.LibmagicExtension.Valid {
 | 
			
		||||
				templ_7745c5c3_Var27 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
					templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
					if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
						defer func() {
 | 
			
		||||
							templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
							if templ_7745c5c3_Err == nil {
 | 
			
		||||
								templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
							}
 | 
			
		||||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					templ_7745c5c3_Var28 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
						templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
						templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
						if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
							defer func() {
 | 
			
		||||
								templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
								if templ_7745c5c3_Err == nil {
 | 
			
		||||
									templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
								}
 | 
			
		||||
							}()
 | 
			
		||||
						}
 | 
			
		||||
						ctx = templ.InitializeContext(ctx)
 | 
			
		||||
						templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "File Extensions")
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
						return nil
 | 
			
		||||
					})
 | 
			
		||||
					templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var28), templ_7745c5c3_Buffer)
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, " ")
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					templ_7745c5c3_Var29 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
						templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
						templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
						if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
							defer func() {
 | 
			
		||||
								templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
								if templ_7745c5c3_Err == nil {
 | 
			
		||||
									templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
								}
 | 
			
		||||
							}()
 | 
			
		||||
						}
 | 
			
		||||
						ctx = templ.InitializeContext(ctx)
 | 
			
		||||
						var templ_7745c5c3_Var30 string
 | 
			
		||||
						templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinStringErrs(fileProperties.LibmagicExtension.String)
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewGeneric.templ`, Line: 70, Col: 54}
 | 
			
		||||
						}
 | 
			
		||||
						_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30))
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
						return nil
 | 
			
		||||
					})
 | 
			
		||||
					templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var29), templ_7745c5c3_Buffer)
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					return nil
 | 
			
		||||
				})
 | 
			
		||||
				templ_7745c5c3_Err = table.Row().Render(templ.WithChildren(ctx, templ_7745c5c3_Var27), templ_7745c5c3_Buffer)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, " ")
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			if fileProperties.LibmagicApple.Valid {
 | 
			
		||||
				templ_7745c5c3_Var31 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
					templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
					if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
						defer func() {
 | 
			
		||||
							templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
							if templ_7745c5c3_Err == nil {
 | 
			
		||||
								templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
							}
 | 
			
		||||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					templ_7745c5c3_Var32 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
						templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
						templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
						if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
							defer func() {
 | 
			
		||||
								templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
								if templ_7745c5c3_Err == nil {
 | 
			
		||||
									templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
								}
 | 
			
		||||
							}()
 | 
			
		||||
						}
 | 
			
		||||
						ctx = templ.InitializeContext(ctx)
 | 
			
		||||
						templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "Apple Filetype")
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
						return nil
 | 
			
		||||
					})
 | 
			
		||||
					templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var32), templ_7745c5c3_Buffer)
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, " ")
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					templ_7745c5c3_Var33 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
						templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
						templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
						if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
							defer func() {
 | 
			
		||||
								templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
								if templ_7745c5c3_Err == nil {
 | 
			
		||||
									templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
								}
 | 
			
		||||
							}()
 | 
			
		||||
						}
 | 
			
		||||
						ctx = templ.InitializeContext(ctx)
 | 
			
		||||
						var templ_7745c5c3_Var34 string
 | 
			
		||||
						templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.JoinStringErrs(fileProperties.LibmagicApple.String)
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewGeneric.templ`, Line: 80, Col: 50}
 | 
			
		||||
						}
 | 
			
		||||
						_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var34))
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
						return nil
 | 
			
		||||
					})
 | 
			
		||||
					templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var33), templ_7745c5c3_Buffer)
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					return nil
 | 
			
		||||
				})
 | 
			
		||||
				templ_7745c5c3_Err = table.Row().Render(templ.WithChildren(ctx, templ_7745c5c3_Var31), templ_7745c5c3_Buffer)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, " ")
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			templ_7745c5c3_Var35 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
				templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
				templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
				if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
					defer func() {
 | 
			
		||||
						templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
						if templ_7745c5c3_Err == nil {
 | 
			
		||||
							templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
						}
 | 
			
		||||
					}()
 | 
			
		||||
				}
 | 
			
		||||
				ctx = templ.InitializeContext(ctx)
 | 
			
		||||
				templ_7745c5c3_Var36 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
					templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
					if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
						defer func() {
 | 
			
		||||
							templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
							if templ_7745c5c3_Err == nil {
 | 
			
		||||
								templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
							}
 | 
			
		||||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "Uploaded")
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					return nil
 | 
			
		||||
				})
 | 
			
		||||
				templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var36), templ_7745c5c3_Buffer)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, " ")
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				templ_7745c5c3_Var37 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
					templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
					if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
						defer func() {
 | 
			
		||||
							templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
							if templ_7745c5c3_Err == nil {
 | 
			
		||||
								templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
							}
 | 
			
		||||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					var templ_7745c5c3_Var38 string
 | 
			
		||||
					templ_7745c5c3_Var38, templ_7745c5c3_Err = templ.JoinStringErrs(file.Created.Time.String())
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewGeneric.templ`, Line: 89, Col: 39}
 | 
			
		||||
					}
 | 
			
		||||
					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var38))
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					return nil
 | 
			
		||||
				})
 | 
			
		||||
				templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var37), templ_7745c5c3_Buffer)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				return nil
 | 
			
		||||
			})
 | 
			
		||||
			templ_7745c5c3_Err = table.Row().Render(templ.WithChildren(ctx, templ_7745c5c3_Var35), templ_7745c5c3_Buffer)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			return nil
 | 
			
		||||
		})
 | 
			
		||||
		templ_7745c5c3_Err = table.Table().Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer)
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ_7745c5c3_Err
 | 
			
		||||
		}
 | 
			
		||||
		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "<p class=\"p-1\">Look for this file on other services</p><div class=\"flex space-x-4 pb-4\">")
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ_7745c5c3_Err
 | 
			
		||||
		}
 | 
			
		||||
		templ_7745c5c3_Var39 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
			templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
			templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
			if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
				defer func() {
 | 
			
		||||
					templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
					if templ_7745c5c3_Err == nil {
 | 
			
		||||
						templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
					}
 | 
			
		||||
				}()
 | 
			
		||||
			}
 | 
			
		||||
			ctx = templ.InitializeContext(ctx)
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "VirusTotal")
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			return nil
 | 
			
		||||
		})
 | 
			
		||||
		templ_7745c5c3_Err = button.Button(button.Props{
 | 
			
		||||
			Variant: button.VariantOutline,
 | 
			
		||||
			Href:    fmt.Sprintf("https://www.virustotal.com/gui/file/%s", hex.EncodeToString(fileProperties.Sha256)),
 | 
			
		||||
		}).Render(templ.WithChildren(ctx, templ_7745c5c3_Var39), templ_7745c5c3_Buffer)
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ_7745c5c3_Err
 | 
			
		||||
		}
 | 
			
		||||
		templ_7745c5c3_Var40 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
			templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
			templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
			if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
				defer func() {
 | 
			
		||||
					templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
					if templ_7745c5c3_Err == nil {
 | 
			
		||||
						templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
					}
 | 
			
		||||
				}()
 | 
			
		||||
			}
 | 
			
		||||
			ctx = templ.InitializeContext(ctx)
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "Malware Bazaar")
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			return nil
 | 
			
		||||
		})
 | 
			
		||||
		templ_7745c5c3_Err = button.Button(button.Props{
 | 
			
		||||
			Variant: button.VariantOutline,
 | 
			
		||||
			Href:    fmt.Sprintf("https://bazaar.abuse.ch/sample/%s", hex.EncodeToString(fileProperties.Sha256)),
 | 
			
		||||
		}).Render(templ.WithChildren(ctx, templ_7745c5c3_Var40), templ_7745c5c3_Buffer)
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ_7745c5c3_Err
 | 
			
		||||
		}
 | 
			
		||||
		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "</div></div>")
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ_7745c5c3_Err
 | 
			
		||||
		}
 | 
			
		||||
		return nil
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _ = templruntime.GeneratedTemplate
 | 
			
		||||
| 
						 | 
				
			
			@ -78,7 +78,11 @@ templ FileViewMsoffice(data sqlc.Msoffice) {
 | 
			
		|||
            VBA Stomping
 | 
			
		||||
          }
 | 
			
		||||
          @table.Cell() {
 | 
			
		||||
            {fmt.Sprintf("%v",data.VbaStomping.Bool)}
 | 
			
		||||
            if data.VbaStomping.Bool {
 | 
			
		||||
              Yes
 | 
			
		||||
            } else {
 | 
			
		||||
              No
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -575,14 +575,16 @@ func FileViewMsoffice(data sqlc.Msoffice) templ.Component {
 | 
			
		|||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					var templ_7745c5c3_Var30 string
 | 
			
		||||
					templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinStringErrs(fmt.Sprintf("%v", data.VbaStomping.Bool))
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewMsoffice.templ`, Line: 81, Col: 52}
 | 
			
		||||
					}
 | 
			
		||||
					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30))
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					if data.VbaStomping.Bool {
 | 
			
		||||
						templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "Yes")
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
					} else {
 | 
			
		||||
						templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "No")
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
					return nil
 | 
			
		||||
				})
 | 
			
		||||
| 
						 | 
				
			
			@ -610,7 +612,7 @@ func FileViewMsoffice(data sqlc.Msoffice) templ.Component {
 | 
			
		|||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ_7745c5c3_Err
 | 
			
		||||
		}
 | 
			
		||||
		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "</div>")
 | 
			
		||||
		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "</div>")
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ_7745c5c3_Err
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			@ -634,16 +636,16 @@ func FileViewMsofficeOleVBAResults(results [][]string) templ.Component {
 | 
			
		|||
			}()
 | 
			
		||||
		}
 | 
			
		||||
		ctx = templ.InitializeContext(ctx)
 | 
			
		||||
		templ_7745c5c3_Var31 := templ.GetChildren(ctx)
 | 
			
		||||
		if templ_7745c5c3_Var31 == nil {
 | 
			
		||||
			templ_7745c5c3_Var31 = templ.NopComponent
 | 
			
		||||
		templ_7745c5c3_Var30 := templ.GetChildren(ctx)
 | 
			
		||||
		if templ_7745c5c3_Var30 == nil {
 | 
			
		||||
			templ_7745c5c3_Var30 = templ.NopComponent
 | 
			
		||||
		}
 | 
			
		||||
		ctx = templ.ClearChildren(ctx)
 | 
			
		||||
		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "<h3 class=\"text-2xl\">OLEVBA results</h3>")
 | 
			
		||||
		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "<h3 class=\"text-2xl\">OLEVBA results</h3>")
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ_7745c5c3_Err
 | 
			
		||||
		}
 | 
			
		||||
		templ_7745c5c3_Var32 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
		templ_7745c5c3_Var31 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
			templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
			templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
			if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
| 
						 | 
				
			
			@ -655,7 +657,7 @@ func FileViewMsofficeOleVBAResults(results [][]string) templ.Component {
 | 
			
		|||
				}()
 | 
			
		||||
			}
 | 
			
		||||
			ctx = templ.InitializeContext(ctx)
 | 
			
		||||
			templ_7745c5c3_Var33 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
			templ_7745c5c3_Var32 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
				templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
				templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
				if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
| 
						 | 
				
			
			@ -667,6 +669,32 @@ func FileViewMsofficeOleVBAResults(results [][]string) templ.Component {
 | 
			
		|||
					}()
 | 
			
		||||
				}
 | 
			
		||||
				ctx = templ.InitializeContext(ctx)
 | 
			
		||||
				templ_7745c5c3_Var33 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
					templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
					if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
						defer func() {
 | 
			
		||||
							templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
							if templ_7745c5c3_Err == nil {
 | 
			
		||||
								templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
							}
 | 
			
		||||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "Type")
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					return nil
 | 
			
		||||
				})
 | 
			
		||||
				templ_7745c5c3_Err = table.Head().Render(templ.WithChildren(ctx, templ_7745c5c3_Var33), templ_7745c5c3_Buffer)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, " ")
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				templ_7745c5c3_Var34 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
					templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
| 
						 | 
				
			
			@ -679,7 +707,7 @@ func FileViewMsofficeOleVBAResults(results [][]string) templ.Component {
 | 
			
		|||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "Type")
 | 
			
		||||
					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "Keyword")
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
| 
						 | 
				
			
			@ -689,7 +717,7 @@ func FileViewMsofficeOleVBAResults(results [][]string) templ.Component {
 | 
			
		|||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, " ")
 | 
			
		||||
				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, " ")
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
| 
						 | 
				
			
			@ -705,7 +733,7 @@ func FileViewMsofficeOleVBAResults(results [][]string) templ.Component {
 | 
			
		|||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "Keyword")
 | 
			
		||||
					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "Description")
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
| 
						 | 
				
			
			@ -715,43 +743,17 @@ func FileViewMsofficeOleVBAResults(results [][]string) templ.Component {
 | 
			
		|||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, " ")
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				templ_7745c5c3_Var36 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
					templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
					if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
						defer func() {
 | 
			
		||||
							templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
							if templ_7745c5c3_Err == nil {
 | 
			
		||||
								templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
							}
 | 
			
		||||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "Description")
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					return nil
 | 
			
		||||
				})
 | 
			
		||||
				templ_7745c5c3_Err = table.Head().Render(templ.WithChildren(ctx, templ_7745c5c3_Var36), templ_7745c5c3_Buffer)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				return nil
 | 
			
		||||
			})
 | 
			
		||||
			templ_7745c5c3_Err = table.Header().Render(templ.WithChildren(ctx, templ_7745c5c3_Var33), templ_7745c5c3_Buffer)
 | 
			
		||||
			templ_7745c5c3_Err = table.Header().Render(templ.WithChildren(ctx, templ_7745c5c3_Var32), templ_7745c5c3_Buffer)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, " ")
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, " ")
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			templ_7745c5c3_Var37 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
			templ_7745c5c3_Var36 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
				templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
				templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
				if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
| 
						 | 
				
			
			@ -764,7 +766,7 @@ func FileViewMsofficeOleVBAResults(results [][]string) templ.Component {
 | 
			
		|||
				}
 | 
			
		||||
				ctx = templ.InitializeContext(ctx)
 | 
			
		||||
				for _, row := range results {
 | 
			
		||||
					templ_7745c5c3_Var38 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_Var37 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
						templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
						templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
						if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
| 
						 | 
				
			
			@ -776,7 +778,7 @@ func FileViewMsofficeOleVBAResults(results [][]string) templ.Component {
 | 
			
		|||
							}()
 | 
			
		||||
						}
 | 
			
		||||
						ctx = templ.InitializeContext(ctx)
 | 
			
		||||
						templ_7745c5c3_Var39 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
						templ_7745c5c3_Var38 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
							templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
							templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
							if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
| 
						 | 
				
			
			@ -788,26 +790,26 @@ func FileViewMsofficeOleVBAResults(results [][]string) templ.Component {
 | 
			
		|||
								}()
 | 
			
		||||
							}
 | 
			
		||||
							ctx = templ.InitializeContext(ctx)
 | 
			
		||||
							var templ_7745c5c3_Var40 string
 | 
			
		||||
							templ_7745c5c3_Var40, templ_7745c5c3_Err = templ.JoinStringErrs(row[0])
 | 
			
		||||
							var templ_7745c5c3_Var39 string
 | 
			
		||||
							templ_7745c5c3_Var39, templ_7745c5c3_Err = templ.JoinStringErrs(row[0])
 | 
			
		||||
							if templ_7745c5c3_Err != nil {
 | 
			
		||||
								return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewMsoffice.templ`, Line: 108, Col: 23}
 | 
			
		||||
								return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewMsoffice.templ`, Line: 112, Col: 23}
 | 
			
		||||
							}
 | 
			
		||||
							_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var40))
 | 
			
		||||
							_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var39))
 | 
			
		||||
							if templ_7745c5c3_Err != nil {
 | 
			
		||||
								return templ_7745c5c3_Err
 | 
			
		||||
							}
 | 
			
		||||
							return nil
 | 
			
		||||
						})
 | 
			
		||||
						templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var39), templ_7745c5c3_Buffer)
 | 
			
		||||
						templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var38), templ_7745c5c3_Buffer)
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
						templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, " ")
 | 
			
		||||
						templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, " ")
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
						templ_7745c5c3_Var41 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
						templ_7745c5c3_Var40 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
							templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
							templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
							if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
| 
						 | 
				
			
			@ -819,26 +821,26 @@ func FileViewMsofficeOleVBAResults(results [][]string) templ.Component {
 | 
			
		|||
								}()
 | 
			
		||||
							}
 | 
			
		||||
							ctx = templ.InitializeContext(ctx)
 | 
			
		||||
							var templ_7745c5c3_Var42 string
 | 
			
		||||
							templ_7745c5c3_Var42, templ_7745c5c3_Err = templ.JoinStringErrs(row[1])
 | 
			
		||||
							var templ_7745c5c3_Var41 string
 | 
			
		||||
							templ_7745c5c3_Var41, templ_7745c5c3_Err = templ.JoinStringErrs(row[1])
 | 
			
		||||
							if templ_7745c5c3_Err != nil {
 | 
			
		||||
								return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewMsoffice.templ`, Line: 111, Col: 23}
 | 
			
		||||
								return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewMsoffice.templ`, Line: 115, Col: 23}
 | 
			
		||||
							}
 | 
			
		||||
							_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var42))
 | 
			
		||||
							_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var41))
 | 
			
		||||
							if templ_7745c5c3_Err != nil {
 | 
			
		||||
								return templ_7745c5c3_Err
 | 
			
		||||
							}
 | 
			
		||||
							return nil
 | 
			
		||||
						})
 | 
			
		||||
						templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var41), templ_7745c5c3_Buffer)
 | 
			
		||||
						templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var40), templ_7745c5c3_Buffer)
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
						templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, " ")
 | 
			
		||||
						templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, " ")
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
						templ_7745c5c3_Var43 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
						templ_7745c5c3_Var42 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
							templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
							templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
							if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
| 
						 | 
				
			
			@ -850,37 +852,37 @@ func FileViewMsofficeOleVBAResults(results [][]string) templ.Component {
 | 
			
		|||
								}()
 | 
			
		||||
							}
 | 
			
		||||
							ctx = templ.InitializeContext(ctx)
 | 
			
		||||
							var templ_7745c5c3_Var44 string
 | 
			
		||||
							templ_7745c5c3_Var44, templ_7745c5c3_Err = templ.JoinStringErrs(row[2])
 | 
			
		||||
							var templ_7745c5c3_Var43 string
 | 
			
		||||
							templ_7745c5c3_Var43, templ_7745c5c3_Err = templ.JoinStringErrs(row[2])
 | 
			
		||||
							if templ_7745c5c3_Err != nil {
 | 
			
		||||
								return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewMsoffice.templ`, Line: 114, Col: 23}
 | 
			
		||||
								return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewMsoffice.templ`, Line: 118, Col: 23}
 | 
			
		||||
							}
 | 
			
		||||
							_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var44))
 | 
			
		||||
							_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var43))
 | 
			
		||||
							if templ_7745c5c3_Err != nil {
 | 
			
		||||
								return templ_7745c5c3_Err
 | 
			
		||||
							}
 | 
			
		||||
							return nil
 | 
			
		||||
						})
 | 
			
		||||
						templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var43), templ_7745c5c3_Buffer)
 | 
			
		||||
						templ_7745c5c3_Err = table.Cell().Render(templ.WithChildren(ctx, templ_7745c5c3_Var42), templ_7745c5c3_Buffer)
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
						return nil
 | 
			
		||||
					})
 | 
			
		||||
					templ_7745c5c3_Err = table.Row().Render(templ.WithChildren(ctx, templ_7745c5c3_Var38), templ_7745c5c3_Buffer)
 | 
			
		||||
					templ_7745c5c3_Err = table.Row().Render(templ.WithChildren(ctx, templ_7745c5c3_Var37), templ_7745c5c3_Buffer)
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
				return nil
 | 
			
		||||
			})
 | 
			
		||||
			templ_7745c5c3_Err = table.Body().Render(templ.WithChildren(ctx, templ_7745c5c3_Var37), templ_7745c5c3_Buffer)
 | 
			
		||||
			templ_7745c5c3_Err = table.Body().Render(templ.WithChildren(ctx, templ_7745c5c3_Var36), templ_7745c5c3_Buffer)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			return nil
 | 
			
		||||
		})
 | 
			
		||||
		templ_7745c5c3_Err = table.Table().Render(templ.WithChildren(ctx, templ_7745c5c3_Var32), templ_7745c5c3_Buffer)
 | 
			
		||||
		templ_7745c5c3_Err = table.Table().Render(templ.WithChildren(ctx, templ_7745c5c3_Var31), templ_7745c5c3_Buffer)
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ_7745c5c3_Err
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			@ -904,17 +906,17 @@ func FileViewMsofficeOleMacros(macros [][]string) templ.Component {
 | 
			
		|||
			}()
 | 
			
		||||
		}
 | 
			
		||||
		ctx = templ.InitializeContext(ctx)
 | 
			
		||||
		templ_7745c5c3_Var45 := templ.GetChildren(ctx)
 | 
			
		||||
		if templ_7745c5c3_Var45 == nil {
 | 
			
		||||
			templ_7745c5c3_Var45 = templ.NopComponent
 | 
			
		||||
		templ_7745c5c3_Var44 := templ.GetChildren(ctx)
 | 
			
		||||
		if templ_7745c5c3_Var44 == nil {
 | 
			
		||||
			templ_7745c5c3_Var44 = templ.NopComponent
 | 
			
		||||
		}
 | 
			
		||||
		ctx = templ.ClearChildren(ctx)
 | 
			
		||||
		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, "<h3 class=\"text-2xl\">Macros</h3>")
 | 
			
		||||
		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "<h3 class=\"text-2xl\">Macros</h3>")
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ_7745c5c3_Err
 | 
			
		||||
		}
 | 
			
		||||
		for _, macro := range macros {
 | 
			
		||||
			templ_7745c5c3_Var46 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
			templ_7745c5c3_Var45 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
				templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
				templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
				if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
| 
						 | 
				
			
			@ -926,7 +928,7 @@ func FileViewMsofficeOleMacros(macros [][]string) templ.Component {
 | 
			
		|||
					}()
 | 
			
		||||
				}
 | 
			
		||||
				ctx = templ.InitializeContext(ctx)
 | 
			
		||||
				templ_7745c5c3_Var47 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
				templ_7745c5c3_Var46 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
					templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
					if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
| 
						 | 
				
			
			@ -938,7 +940,7 @@ func FileViewMsofficeOleMacros(macros [][]string) templ.Component {
 | 
			
		|||
						}()
 | 
			
		||||
					}
 | 
			
		||||
					ctx = templ.InitializeContext(ctx)
 | 
			
		||||
					templ_7745c5c3_Var48 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_Var47 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
						templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
						templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
						if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
| 
						 | 
				
			
			@ -950,56 +952,56 @@ func FileViewMsofficeOleMacros(macros [][]string) templ.Component {
 | 
			
		|||
							}()
 | 
			
		||||
						}
 | 
			
		||||
						ctx = templ.InitializeContext(ctx)
 | 
			
		||||
						templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, "File: ")
 | 
			
		||||
						templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "File: ")
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
						var templ_7745c5c3_Var48 string
 | 
			
		||||
						templ_7745c5c3_Var48, templ_7745c5c3_Err = templ.JoinStringErrs(macro[0])
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewMsoffice.templ`, Line: 134, Col: 26}
 | 
			
		||||
						}
 | 
			
		||||
						_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var48))
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
						templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, ", Subfile: ")
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
						var templ_7745c5c3_Var49 string
 | 
			
		||||
						templ_7745c5c3_Var49, templ_7745c5c3_Err = templ.JoinStringErrs(macro[0])
 | 
			
		||||
						templ_7745c5c3_Var49, templ_7745c5c3_Err = templ.JoinStringErrs(macro[1])
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewMsoffice.templ`, Line: 130, Col: 26}
 | 
			
		||||
							return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewMsoffice.templ`, Line: 134, Col: 47}
 | 
			
		||||
						}
 | 
			
		||||
						_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var49))
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
						templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, ", Subfile: ")
 | 
			
		||||
						templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, ", Stream: ")
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
						var templ_7745c5c3_Var50 string
 | 
			
		||||
						templ_7745c5c3_Var50, templ_7745c5c3_Err = templ.JoinStringErrs(macro[1])
 | 
			
		||||
						templ_7745c5c3_Var50, templ_7745c5c3_Err = templ.JoinStringErrs(macro[2])
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewMsoffice.templ`, Line: 130, Col: 47}
 | 
			
		||||
							return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewMsoffice.templ`, Line: 134, Col: 67}
 | 
			
		||||
						}
 | 
			
		||||
						_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var50))
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
						templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, ", Stream: ")
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
						var templ_7745c5c3_Var51 string
 | 
			
		||||
						templ_7745c5c3_Var51, templ_7745c5c3_Err = templ.JoinStringErrs(macro[2])
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewMsoffice.templ`, Line: 130, Col: 67}
 | 
			
		||||
						}
 | 
			
		||||
						_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var51))
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
						return nil
 | 
			
		||||
					})
 | 
			
		||||
					templ_7745c5c3_Err = accordion.Trigger().Render(templ.WithChildren(ctx, templ_7745c5c3_Var48), templ_7745c5c3_Buffer)
 | 
			
		||||
					templ_7745c5c3_Err = accordion.Trigger().Render(templ.WithChildren(ctx, templ_7745c5c3_Var47), templ_7745c5c3_Buffer)
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, " ")
 | 
			
		||||
					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, " ")
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					templ_7745c5c3_Var52 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
					templ_7745c5c3_Var51 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
						templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
						templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
						if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
| 
						 | 
				
			
			@ -1011,7 +1013,7 @@ func FileViewMsofficeOleMacros(macros [][]string) templ.Component {
 | 
			
		|||
							}()
 | 
			
		||||
						}
 | 
			
		||||
						ctx = templ.InitializeContext(ctx)
 | 
			
		||||
						templ_7745c5c3_Var53 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
						templ_7745c5c3_Var52 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
							templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
							templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
							if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
| 
						 | 
				
			
			@ -1023,12 +1025,12 @@ func FileViewMsofficeOleMacros(macros [][]string) templ.Component {
 | 
			
		|||
								}()
 | 
			
		||||
							}
 | 
			
		||||
							ctx = templ.InitializeContext(ctx)
 | 
			
		||||
							var templ_7745c5c3_Var54 string
 | 
			
		||||
							templ_7745c5c3_Var54, templ_7745c5c3_Err = templ.JoinStringErrs(macro[3])
 | 
			
		||||
							var templ_7745c5c3_Var53 string
 | 
			
		||||
							templ_7745c5c3_Var53, templ_7745c5c3_Err = templ.JoinStringErrs(macro[3])
 | 
			
		||||
							if templ_7745c5c3_Err != nil {
 | 
			
		||||
								return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewMsoffice.templ`, Line: 137, Col: 25}
 | 
			
		||||
								return templ.Error{Err: templ_7745c5c3_Err, FileName: `server/web/fileViewMsoffice.templ`, Line: 141, Col: 25}
 | 
			
		||||
							}
 | 
			
		||||
							_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var54))
 | 
			
		||||
							_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var53))
 | 
			
		||||
							if templ_7745c5c3_Err != nil {
 | 
			
		||||
								return templ_7745c5c3_Err
 | 
			
		||||
							}
 | 
			
		||||
| 
						 | 
				
			
			@ -1037,19 +1039,19 @@ func FileViewMsofficeOleMacros(macros [][]string) templ.Component {
 | 
			
		|||
						templ_7745c5c3_Err = code.Code(code.Props{
 | 
			
		||||
							Language:       "vb",
 | 
			
		||||
							ShowCopyButton: true,
 | 
			
		||||
						}).Render(templ.WithChildren(ctx, templ_7745c5c3_Var53), templ_7745c5c3_Buffer)
 | 
			
		||||
						}).Render(templ.WithChildren(ctx, templ_7745c5c3_Var52), templ_7745c5c3_Buffer)
 | 
			
		||||
						if templ_7745c5c3_Err != nil {
 | 
			
		||||
							return templ_7745c5c3_Err
 | 
			
		||||
						}
 | 
			
		||||
						return nil
 | 
			
		||||
					})
 | 
			
		||||
					templ_7745c5c3_Err = accordion.Content().Render(templ.WithChildren(ctx, templ_7745c5c3_Var52), templ_7745c5c3_Buffer)
 | 
			
		||||
					templ_7745c5c3_Err = accordion.Content().Render(templ.WithChildren(ctx, templ_7745c5c3_Var51), templ_7745c5c3_Buffer)
 | 
			
		||||
					if templ_7745c5c3_Err != nil {
 | 
			
		||||
						return templ_7745c5c3_Err
 | 
			
		||||
					}
 | 
			
		||||
					return nil
 | 
			
		||||
				})
 | 
			
		||||
				templ_7745c5c3_Err = accordion.Item().Render(templ.WithChildren(ctx, templ_7745c5c3_Var47), templ_7745c5c3_Buffer)
 | 
			
		||||
				templ_7745c5c3_Err = accordion.Item().Render(templ.WithChildren(ctx, templ_7745c5c3_Var46), templ_7745c5c3_Buffer)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
| 
						 | 
				
			
			@ -1057,7 +1059,7 @@ func FileViewMsofficeOleMacros(macros [][]string) templ.Component {
 | 
			
		|||
			})
 | 
			
		||||
			templ_7745c5c3_Err = accordion.Accordion(accordion.Props{
 | 
			
		||||
				Class: "w-full",
 | 
			
		||||
			}).Render(templ.WithChildren(ctx, templ_7745c5c3_Var46), templ_7745c5c3_Buffer)
 | 
			
		||||
			}).Render(templ.WithChildren(ctx, templ_7745c5c3_Var45), templ_7745c5c3_Buffer)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
		Loading…
	
	Add table
		
		Reference in a new issue