{
  "schemaVersion": 1,
  "name": "Mako Community Utilities",
  "generatedUtc": "2026-06-06T03:54:21.0039949Z",
  "sourceUtilitiesPath": "C:\\Users\\flash\\Documents\\Mako Utility Database\\Utilities",
  "packages": [
    {
      "id": "aftereffects.markerimporterae",
      "name": "Marker Importer AE",
      "version": "1.0.0",
      "description": "Imports a Reaper/SWS marker CSV and applies markers to the selected layer in After Effects.",
      "category": "AfterEffects",
      "tags": [],
      "packageUrl": "packages/aftereffects.markerimporterae-1.0.0.zip",
      "sha256": "2185bd88a22c399568578371a60946770c4edf43a748aced5496f17daa647521",
      "reviewStatus": "Imported",
      "rating": 0,
      "ratingCount": 0,
      "manifest": {
        "schemaVersion": 1,
        "id": "aftereffects.markerimporterae",
        "name": "Marker Importer AE",
        "version": "1.0.0",
        "description": "Imports a Reaper/SWS marker CSV and applies markers to the selected layer in After Effects.",
        "icon": "BookmarkSearch",
        "category": "AfterEffects",
        "tags": [],
        "favorite": false,
        "actions": [],
        "operations": [],
        "requirements": {
          "wingetPackages": [],
          "pipPackages": []
        },
        "install": {
          "files": [
            {
              "source": ".\\src\\*",
              "destination": "C:\\Program Files\\Adobe\\Adobe After Effects 2025\\Support Files\\Scripts\\ScriptUI Panels",
              "mode": "copy",
              "overwrite": true,
              "removeOnUninstall": true
            }
          ],
          "registryEntries": []
        },
        "settings": {
          "copyTemplateOnFirstOpen": true,
          "inputs": []
        },
        "dropZone": {
          "enabled": false,
          "outputFileName": "mako-output.txt",
          "includeSubfoldersByDefault": false,
          "acceptFiles": false,
          "acceptFolders": true,
          "acceptExtensions": [],
          "inputs": []
        },
        "permissions": {
          "allowNetwork": false,
          "allowFileWrites": true,
          "allowRegistryWrites": false,
          "requiresElevation": false,
          "reviewStatus": "Imported",
          "warnings": []
        },
        "debug": {
          "traceEnabled": true,
          "logFileName": "debug.log",
          "notes": [
            "Imported from FlashApps manifest: tool.json"
          ]
        }
      }
    },
    {
      "id": "aftereffects.mousetrap",
      "name": "MouseTrap",
      "version": "1.0.0",
      "description": "A GUI that records mouse position and events for use in After Effects",
      "category": "AfterEffects",
      "tags": [],
      "packageUrl": "packages/aftereffects.mousetrap-1.0.0.zip",
      "sha256": "92a7c43407ef58c316993ecf0f28b50cd0856203270e0125064b927306c81280",
      "reviewStatus": "Imported",
      "rating": 0,
      "ratingCount": 0,
      "manifest": {
        "schemaVersion": 1,
        "id": "aftereffects.mousetrap",
        "name": "MouseTrap",
        "version": "1.0.0",
        "description": "A GUI that records mouse position and events for use in After Effects",
        "icon": "CursorClick",
        "category": "AfterEffects",
        "tags": [],
        "favorite": false,
        "actions": [
          {
            "id": "launch",
            "label": "Launch",
            "kind": "python",
            "command": ".\\src\\record.py",
            "useShellExecute": false,
            "runAsAdmin": false,
            "showOnHome": false,
            "isPrimary": true,
            "order": 0,
            "tone": "primary",
            "environment": {}
          }
        ],
        "operations": [],
        "requirements": {
          "wingetPackages": [],
          "pipPackages": [
            "pyautogui",
            "pynput",
            "obsws_python",
            "pywin32",
            "tkinter"
          ]
        },
        "install": {
          "files": [],
          "registryEntries": []
        },
        "settings": {
          "copyTemplateOnFirstOpen": true,
          "inputs": []
        },
        "dropZone": {
          "enabled": false,
          "outputFileName": "mako-output.txt",
          "includeSubfoldersByDefault": false,
          "acceptFiles": false,
          "acceptFolders": true,
          "acceptExtensions": [],
          "inputs": []
        },
        "permissions": {
          "allowNetwork": false,
          "allowFileWrites": false,
          "allowRegistryWrites": false,
          "requiresElevation": false,
          "reviewStatus": "Imported",
          "warnings": []
        },
        "debug": {
          "traceEnabled": true,
          "logFileName": "debug.log",
          "notes": [
            "Imported from FlashApps manifest: tool.json"
          ]
        }
      }
    },
    {
      "id": "aftereffects.mousetrapae",
      "name": "MouseTrapAE",
      "version": "1.0.0",
      "description": "An Adobe After Effects plugin meant to work with the data files from the MouseTrap app.",
      "category": "AfterEffects",
      "tags": [],
      "packageUrl": "packages/aftereffects.mousetrapae-1.0.0.zip",
      "sha256": "a6cdb4c3309fa3ab1e87881a6499799c72af30d9fe8f8ed2b947929f3c90fd9d",
      "reviewStatus": "Imported",
      "rating": 0,
      "ratingCount": 0,
      "manifest": {
        "schemaVersion": 1,
        "id": "aftereffects.mousetrapae",
        "name": "MouseTrapAE",
        "version": "1.0.0",
        "description": "An Adobe After Effects plugin meant to work with the data files from the MouseTrap app.",
        "icon": "CursorClick",
        "iconStyle": {
          "palette": "graphite",
          "useGradient": true
        },
        "category": "AfterEffects",
        "tags": [],
        "favorite": false,
        "actions": [],
        "operations": [],
        "requirements": {
          "wingetPackages": [],
          "pipPackages": []
        },
        "install": {
          "files": [
            {
              "source": ".\\src\\*",
              "destination": "C:\\Program Files\\Adobe\\Adobe After Effects 2025\\Support Files\\Scripts\\ScriptUI Panels",
              "mode": "copy",
              "overwrite": true,
              "removeOnUninstall": true
            }
          ],
          "registryEntries": []
        },
        "settings": {
          "copyTemplateOnFirstOpen": true,
          "inputs": []
        },
        "dropZone": {
          "enabled": false,
          "outputFileName": "mako-output.txt",
          "includeSubfoldersByDefault": false,
          "acceptFiles": false,
          "acceptFolders": true,
          "acceptExtensions": [],
          "inputs": []
        },
        "permissions": {
          "allowNetwork": false,
          "allowFileWrites": true,
          "allowRegistryWrites": false,
          "requiresElevation": false,
          "reviewStatus": "Imported",
          "warnings": []
        },
        "debug": {
          "traceEnabled": true,
          "logFileName": "debug.log",
          "notes": [
            "Imported from FlashApps manifest: tool.json"
          ]
        }
      }
    },
    {
      "id": "aftereffects.shuttlepro",
      "name": "ShuttlePro",
      "version": "1.0.0",
      "description": "Settings profile and lightweight After Effects shuttle/jog support for Shuttle Pro V2",
      "category": "AfterEffects",
      "tags": [],
      "packageUrl": "packages/aftereffects.shuttlepro-1.0.0.zip",
      "sha256": "ed4177e579067564603aea727b7f278f114ba6159861c0b41dd8a7cf7cdf83f0",
      "reviewStatus": "Imported",
      "rating": 0,
      "ratingCount": 0,
      "manifest": {
        "schemaVersion": 1,
        "id": "aftereffects.shuttlepro",
        "name": "ShuttlePro",
        "version": "1.0.0",
        "description": "Settings profile and lightweight After Effects shuttle/jog support for Shuttle Pro V2",
        "icon": "ProtocolHandler",
        "iconStyle": {
          "palette": "sunset",
          "useGradient": true
        },
        "category": "AfterEffects",
        "tags": [],
        "favorite": false,
        "actions": [
          {
            "id": "launch",
            "label": "Launch",
            "kind": "command",
            "command": "C:\\FLASH\\ShuttlePro\\ShuttleBridgeControl.exe",
            "useShellExecute": false,
            "runAsAdmin": false,
            "showOnHome": false,
            "isPrimary": true,
            "order": 0,
            "tone": "primary",
            "environment": {}
          }
        ],
        "operations": [],
        "requirements": {
          "wingetPackages": [
            {
              "packageId": "AutoHotkey.AutoHotkey",
              "version": "latest"
            }
          ],
          "pipPackages": []
        },
        "install": {
          "files": [
            {
              "source": "src\\contour_default.json",
              "destination": "C:\\ProgramData\\ContourDesignMediaControllerSoftware\\contour_default.json",
              "mode": "copy",
              "overwrite": true,
              "removeOnUninstall": true
            },
            {
              "source": ".\\src\\ShuttleBridgeControl.exe",
              "destination": "C:\\FLASH\\ShuttlePro\\ShuttleBridgeControl.exe",
              "mode": "copy",
              "overwrite": true,
              "removeOnUninstall": true
            },
            {
              "source": ".\\src\\Nothing.exe",
              "destination": "C:\\FLASH\\ShuttlePro\\Nothing.exe",
              "mode": "copy",
              "overwrite": true,
              "removeOnUninstall": true
            }
          ],
          "registryEntries": []
        },
        "settings": {
          "copyTemplateOnFirstOpen": true,
          "inputs": []
        },
        "dropZone": {
          "enabled": false,
          "outputFileName": "mako-output.txt",
          "includeSubfoldersByDefault": false,
          "acceptFiles": false,
          "acceptFolders": true,
          "acceptExtensions": [],
          "inputs": []
        },
        "permissions": {
          "allowNetwork": false,
          "allowFileWrites": true,
          "allowRegistryWrites": false,
          "requiresElevation": false,
          "reviewStatus": "Imported",
          "warnings": []
        },
        "debug": {
          "traceEnabled": true,
          "logFileName": "debug.log",
          "notes": [
            "Imported from FlashApps manifest: tool.json"
          ]
        }
      }
    },
    {
      "id": "aftereffects.tapestryconsole",
      "name": "TapestryConsole",
      "version": "2.1.6",
      "description": "A slideshow-first After Effects panel for dropping selected images into a comp with editable keyframe-free motion rigs.",
      "category": "AfterEffects",
      "tags": [],
      "packageUrl": "packages/aftereffects.tapestryconsole-2.1.6.zip",
      "sha256": "b2197e5c295fd9b2aa31280462fecdb72c107ae2b0eb3ca8b01bfb701c4be0e1",
      "reviewStatus": "Imported",
      "rating": 0,
      "ratingCount": 0,
      "manifest": {
        "schemaVersion": 1,
        "id": "aftereffects.tapestryconsole",
        "name": "TapestryConsole",
        "version": "2.1.6",
        "description": "A slideshow-first After Effects panel for dropping selected images into a comp with editable keyframe-free motion rigs.",
        "icon": "CommunicationPerson",
        "iconStyle": {
          "palette": "auto",
          "useGradient": true
        },
        "category": "AfterEffects",
        "tags": [],
        "favorite": false,
        "actions": [],
        "operations": [],
        "requirements": {
          "wingetPackages": [],
          "pipPackages": []
        },
        "install": {
          "files": [
            {
              "source": ".\\src\\TapestryConsole\\*",
              "destination": "C:\\Program Files\\Adobe\\Adobe After Effects 2026\\Support Files\\Scripts\\ScriptUI Panels\\TapestryConsole",
              "mode": "copy",
              "overwrite": true,
              "removeOnUninstall": true
            },
            {
              "source": ".\\src\\Scripts\\*",
              "destination": "C:\\Program Files\\Adobe\\Adobe After Effects 2026\\Support Files\\Scripts\\TapestryConsole",
              "mode": "copy",
              "overwrite": true,
              "removeOnUninstall": true
            },
            {
              "source": ".\\src\\TapestryConsole\\*",
              "destination": "%ProgramFiles%\\Common Files\\Adobe\\CEP\\extensions\\com.flashvenom.tapestryconsole",
              "mode": "copy",
              "overwrite": true,
              "removeOnUninstall": true
            },
            {
              "source": ".\\src\\TapestryConsole\\*",
              "destination": "%ProgramFiles(x86)%\\Common Files\\Adobe\\CEP\\extensions\\com.flashvenom.tapestryconsole",
              "mode": "copy",
              "overwrite": true,
              "removeOnUninstall": true
            },
            {
              "source": ".\\src\\TapestryConsole\\*",
              "destination": "%APPDATA%\\Adobe\\CEP\\extensions\\com.flashvenom.tapestryconsole",
              "mode": "copy",
              "overwrite": true,
              "removeOnUninstall": true
            }
          ],
          "registryEntries": [
            {
              "hive": "currentUser",
              "key": "Software\\Adobe\\CSXS.12",
              "name": "PlayerDebugMode",
              "value": "1",
              "valueKind": "string",
              "removeOnUninstall": false,
              "description": "CEP 12 unsigned extension debug mode"
            }
          ]
        },
        "settings": {
          "copyTemplateOnFirstOpen": true,
          "inputs": []
        },
        "dropZone": {
          "enabled": false,
          "outputFileName": "mako-output.txt",
          "includeSubfoldersByDefault": false,
          "acceptFiles": false,
          "acceptFolders": true,
          "acceptExtensions": [],
          "inputs": []
        },
        "permissions": {
          "allowNetwork": false,
          "allowFileWrites": true,
          "allowRegistryWrites": true,
          "requiresElevation": false,
          "reviewStatus": "Imported",
          "warnings": []
        },
        "debug": {
          "traceEnabled": true,
          "logFileName": "debug.log",
          "notes": [
            "Imported from FlashApps manifest: tool.json"
          ]
        }
      }
    },
    {
      "id": "autohotkey.cleandesktop",
      "name": "Clean Desktop",
      "version": "1.0.0",
      "description": "Moves Desktop items into a dated archive folder (with a safety prompt).",
      "category": "AutoHotKey",
      "tags": [],
      "packageUrl": "packages/autohotkey.cleandesktop-1.0.0.zip",
      "sha256": "60d15b1bd28df628f1a8d5b9a2184f902db26bde60eb0ff109ff9d665b758f6e",
      "reviewStatus": "Imported",
      "rating": 0,
      "ratingCount": 0,
      "manifest": {
        "schemaVersion": 1,
        "id": "autohotkey.cleandesktop",
        "name": "Clean Desktop",
        "version": "1.0.0",
        "description": "Moves Desktop items into a dated archive folder (with a safety prompt).",
        "icon": "DesktopArrowDown",
        "category": "AutoHotKey",
        "tags": [],
        "favorite": true,
        "actions": [
          {
            "id": "launch",
            "label": "Launch",
            "kind": "cmd",
            "command": ".\\src\\run.bat",
            "useShellExecute": false,
            "runAsAdmin": false,
            "showOnHome": false,
            "isPrimary": true,
            "order": 0,
            "tone": "primary",
            "environment": {}
          }
        ],
        "operations": [
          {
            "id": "clean-desktop",
            "label": "Clean Desktop",
            "description": "Preview and move Desktop items into a dated archive folder.",
            "kind": "nativeHandler",
            "handlerId": "DesktopCleaner",
            "scriptPath": ".\\src\\clean-desktop.ps1",
            "preflightPolicy": "confirmRequired",
            "pathFilter": {
              "ignoredNames": [
                "desktop.ini"
              ],
              "ignoredPrefixes": [
                "_"
              ],
              "acceptFiles": true,
              "acceptFolders": true,
              "includeSubfoldersByDefault": false,
              "acceptExtensions": []
            },
            "outputFileName": "mako-output.txt",
            "outputArgument": "--output",
            "outputArgumentMode": "namedOption",
            "inputs": [
              {
                "id": "destinationRoot",
                "label": "Destination root",
                "description": "Archive root. A dated folder will be created inside it.",
                "type": "text",
                "defaultValue": "D:\\DesktopArchive",
                "options": []
              },
              {
                "id": "ignorePrefixes",
                "label": "Ignore file/folder prefixes",
                "description": "Comma-separated prefixes to ignore.",
                "type": "text",
                "defaultValue": "_",
                "options": []
              },
              {
                "id": "noConfirmations",
                "label": "No confirmations",
                "description": "Run immediately without asking after the preview.",
                "type": "boolean",
                "defaultValue": "false",
                "options": []
              }
            ],
            "environment": {}
          }
        ],
        "requirements": {
          "wingetPackages": [],
          "pipPackages": []
        },
        "install": {
          "files": [],
          "registryEntries": []
        },
        "settings": {
          "copyTemplateOnFirstOpen": true,
          "inputs": []
        },
        "dropZone": {
          "enabled": false,
          "outputFileName": "mako-output.txt",
          "includeSubfoldersByDefault": false,
          "acceptFiles": false,
          "acceptFolders": true,
          "acceptExtensions": [],
          "inputs": []
        },
        "permissions": {
          "allowNetwork": false,
          "allowFileWrites": true,
          "allowRegistryWrites": false,
          "requiresElevation": false,
          "reviewStatus": "Imported",
          "warnings": []
        },
        "debug": {
          "traceEnabled": true,
          "logFileName": "debug.log",
          "notes": [
            "Imported from FlashApps manifest: tool.json"
          ]
        }
      }
    },
    {
      "id": "autohotkey.flashpiemenu",
      "name": "FlashPieMenu",
      "version": "1.0.1",
      "description": "A custom built pie menu meant to be used with a Wacom tablet",
      "category": "AutoHotKey",
      "tags": [],
      "packageUrl": "packages/autohotkey.flashpiemenu-1.0.1.zip",
      "sha256": "beb4967bf9d9fa513c20fcbdda0db983cd09dcc9a87f289663c349e2ae279ddb",
      "reviewStatus": "Imported",
      "rating": 0,
      "ratingCount": 0,
      "manifest": {
        "schemaVersion": 1,
        "id": "autohotkey.flashpiemenu",
        "name": "FlashPieMenu",
        "version": "1.0.1",
        "description": "A custom built pie menu meant to be used with a Wacom tablet",
        "icon": "DataPie",
        "iconStyle": {
          "palette": "sky",
          "useGradient": true
        },
        "category": "AutoHotKey",
        "tags": [],
        "favorite": false,
        "actions": [],
        "operations": [],
        "requirements": {
          "wingetPackages": [
            {
              "packageId": "AutoHotkey.AutoHotkey",
              "version": "latest"
            },
            {
              "packageId": "Wacom.WacomTabletDriver",
              "version": "latest"
            }
          ],
          "pipPackages": []
        },
        "install": {
          "files": [
            {
              "source": ".\\src\\*",
              "destination": "C:\\FLASH\\PieMenu",
              "mode": "copy",
              "overwrite": true,
              "removeOnUninstall": true
            }
          ],
          "registryEntries": []
        },
        "settings": {
          "copyTemplateOnFirstOpen": true,
          "inputs": []
        },
        "dropZone": {
          "enabled": false,
          "outputFileName": "mako-output.txt",
          "includeSubfoldersByDefault": false,
          "acceptFiles": false,
          "acceptFolders": true,
          "acceptExtensions": [],
          "inputs": []
        },
        "permissions": {
          "allowNetwork": false,
          "allowFileWrites": true,
          "allowRegistryWrites": false,
          "requiresElevation": false,
          "reviewStatus": "Imported",
          "warnings": []
        },
        "debug": {
          "traceEnabled": true,
          "logFileName": "debug.log",
          "notes": [
            "Imported from FlashApps manifest: tool.json"
          ]
        }
      }
    },
    {
      "id": "autohotkey.westworld",
      "name": "Westworld",
      "version": "1.4.1",
      "description": "A set of inline string replaces and custom functions meant to streamline everyday tasks and annoyances",
      "category": "AutoHotKey",
      "tags": [],
      "packageUrl": "packages/autohotkey.westworld-1.4.1.zip",
      "sha256": "27234332f29efd626b859ad0c8afacd1d68b8a5efcaaa06b72dcbcf5b6ee0893",
      "reviewStatus": "Imported",
      "rating": 0,
      "ratingCount": 0,
      "manifest": {
        "schemaVersion": 1,
        "id": "autohotkey.westworld",
        "name": "Westworld",
        "version": "1.4.1",
        "description": "A set of inline string replaces and custom functions meant to streamline everyday tasks and annoyances",
        "icon": "BotSparkle",
        "iconStyle": {
          "palette": "graphite",
          "useGradient": true
        },
        "category": "AutoHotKey",
        "tags": [],
        "favorite": false,
        "actions": [],
        "operations": [],
        "requirements": {
          "wingetPackages": [
            {
              "packageId": "AutoHotkey.AutoHotkey",
              "version": "latest"
            }
          ],
          "pipPackages": []
        },
        "install": {
          "files": [
            {
              "source": ".\\src\\Westworld.ahk",
              "destination": "C:\\FLASH\\Westworld.ahk",
              "mode": "copy",
              "overwrite": true,
              "removeOnUninstall": true
            }
          ],
          "registryEntries": []
        },
        "settings": {
          "copyTemplateOnFirstOpen": true,
          "inputs": []
        },
        "dropZone": {
          "enabled": false,
          "outputFileName": "mako-output.txt",
          "includeSubfoldersByDefault": false,
          "acceptFiles": false,
          "acceptFolders": true,
          "acceptExtensions": [],
          "inputs": []
        },
        "permissions": {
          "allowNetwork": false,
          "allowFileWrites": true,
          "allowRegistryWrites": false,
          "requiresElevation": false,
          "reviewStatus": "Imported",
          "warnings": []
        },
        "debug": {
          "traceEnabled": true,
          "logFileName": "debug.log",
          "notes": [
            "Imported from FlashApps manifest: tool.json"
          ]
        }
      }
    },
    {
      "id": "autohotkey.westworldlite",
      "name": "WestworldLite",
      "version": "10.4.1",
      "description": "A reduced version of Westworld meant to streamline everyday tasks and annoyances",
      "category": "AutoHotKey",
      "tags": [],
      "packageUrl": "packages/autohotkey.westworldlite-10.4.1.zip",
      "sha256": "a422fc86e3bfd0eda9904d1af018cf8ecbba9d6b86ba4e0bf447d6c37e315601",
      "reviewStatus": "Imported",
      "rating": 0,
      "ratingCount": 0,
      "manifest": {
        "schemaVersion": 1,
        "id": "autohotkey.westworldlite",
        "name": "WestworldLite",
        "version": "10.4.1",
        "description": "A reduced version of Westworld meant to streamline everyday tasks and annoyances",
        "icon": "BotSparkle",
        "iconStyle": {
          "palette": "graphite",
          "useGradient": true
        },
        "category": "AutoHotKey",
        "tags": [],
        "favorite": false,
        "actions": [],
        "operations": [],
        "requirements": {
          "wingetPackages": [
            {
              "packageId": "AutoHotkey.AutoHotkey",
              "version": "latest"
            }
          ],
          "pipPackages": []
        },
        "install": {
          "files": [
            {
              "source": ".\\src\\WestworldLite.ahk",
              "destination": "C:\\FLASH\\WestworldLite.ahk",
              "mode": "copy",
              "overwrite": true,
              "removeOnUninstall": true
            }
          ],
          "registryEntries": []
        },
        "settings": {
          "copyTemplateOnFirstOpen": true,
          "inputs": []
        },
        "dropZone": {
          "enabled": false,
          "outputFileName": "mako-output.txt",
          "includeSubfoldersByDefault": false,
          "acceptFiles": false,
          "acceptFolders": true,
          "acceptExtensions": [],
          "inputs": []
        },
        "permissions": {
          "allowNetwork": false,
          "allowFileWrites": true,
          "allowRegistryWrites": false,
          "requiresElevation": false,
          "reviewStatus": "Imported",
          "warnings": []
        },
        "debug": {
          "traceEnabled": true,
          "logFileName": "debug.log",
          "notes": [
            "Imported from FlashApps manifest: tool.json"
          ]
        }
      }
    },
    {
      "id": "media.make-gif-under-5mb",
      "name": "Make GIF Under 5MB",
      "version": "1.0.0",
      "description": "Creates an animated GIF from a PNG sequence and automatically reduces quality/settings until the GIF is under a target size.",
      "category": "Media",
      "tags": [
        "GIF",
        "PNG",
        "Animation",
        "Image Processing"
      ],
      "packageUrl": "packages/media.make-gif-under-5mb-1.0.0.zip",
      "sha256": "43e7aebace4a13adde244ee18901c612a574646ec02634e4b963fd6d621aa787",
      "reviewStatus": "Imported",
      "rating": 0,
      "ratingCount": 0,
      "manifest": {
        "schemaVersion": 1,
        "id": "media.make-gif-under-5mb",
        "name": "Make GIF Under 5MB",
        "version": "1.0.0",
        "description": "Creates an animated GIF from a PNG sequence and automatically reduces quality/settings until the GIF is under a target size.",
        "icon": "FilmstripImage",
        "iconStyle": {
          "palette": "royal",
          "useGradient": true
        },
        "category": "Media",
        "tags": [
          "GIF",
          "PNG",
          "Animation",
          "Image Processing"
        ],
        "favorite": false,
        "actions": [],
        "operations": [
          {
            "id": "drop",
            "label": "Drop PNG Frames Here",
            "description": "Drop a folder containing PNG files to create a GIF.",
            "kind": "script",
            "scriptPath": "src\\newscript.py",
            "preflightPolicy": "previewOptional",
            "pathFilter": {
              "ignoredNames": [],
              "ignoredPrefixes": [],
              "acceptFiles": false,
              "acceptFolders": true,
              "includeSubfoldersByDefault": false,
              "acceptExtensions": [
                ".png"
              ]
            },
            "outputFileName": "output.gif",
            "outputArgument": "--output",
            "outputArgumentMode": "positional",
            "inputs": [
              {
                "id": "fps",
                "label": "Frames Per Second",
                "description": "Frames per second for the GIF (default: 12)",
                "type": "number",
                "defaultValue": "12",
                "argument": "--fps",
                "environmentVariable": "",
                "options": []
              },
              {
                "id": "max_width",
                "label": "Max Width",
                "description": "Starting max width in pixels (default: 300)",
                "type": "number",
                "defaultValue": "300",
                "argument": "--max-width",
                "environmentVariable": "",
                "options": []
              },
              {
                "id": "max_mb",
                "label": "Max Size (MB)",
                "description": "Maximum GIF size in MB (default: 5)",
                "type": "number",
                "defaultValue": "5",
                "argument": "--max-mb",
                "environmentVariable": "",
                "options": []
              }
            ],
            "environment": {}
          }
        ],
        "requirements": {
          "wingetPackages": [],
          "pipPackages": []
        },
        "install": {
          "files": [],
          "registryEntries": []
        },
        "settings": {
          "copyTemplateOnFirstOpen": true,
          "inputs": []
        },
        "dropZone": {
          "enabled": true,
          "scriptPath": "src\\newscript.py",
          "outputFileName": "output.gif",
          "includeSubfoldersByDefault": false,
          "title": "Drop PNG Frames Here",
          "description": "Drop a folder containing PNG files to create a GIF.",
          "acceptFiles": false,
          "acceptFolders": true,
          "acceptExtensions": [
            ".png"
          ],
          "inputs": [
            {
              "id": "fps",
              "label": "Frames Per Second",
              "description": "Frames per second for the GIF (default: 12)",
              "type": "number",
              "defaultValue": "12",
              "argument": "--fps",
              "environmentVariable": "",
              "options": []
            },
            {
              "id": "max_width",
              "label": "Max Width",
              "description": "Starting max width in pixels (default: 300)",
              "type": "number",
              "defaultValue": "300",
              "argument": "--max-width",
              "environmentVariable": "",
              "options": []
            },
            {
              "id": "max_mb",
              "label": "Max Size (MB)",
              "description": "Maximum GIF size in MB (default: 5)",
              "type": "number",
              "defaultValue": "5",
              "argument": "--max-mb",
              "environmentVariable": "",
              "options": []
            }
          ]
        },
        "permissions": {
          "allowNetwork": false,
          "allowFileWrites": true,
          "allowRegistryWrites": false,
          "requiresElevation": false,
          "reviewStatus": "Imported",
          "warnings": []
        },
        "debug": {
          "traceEnabled": true,
          "logFileName": "debug.log",
          "notes": [
            "Imported from FlashApps manifest: tool.json"
          ]
        }
      }
    },
    {
      "id": "media.pdfflattener",
      "name": "PDF Flattener",
      "version": "1.0.0",
      "description": "Flattens AcroForm PDFs in a folder using PDFtk (writes *_flattened.pdf).",
      "category": "Media",
      "tags": [],
      "packageUrl": "packages/media.pdfflattener-1.0.0.zip",
      "sha256": "32697bdc5374f6ccc513463d8598a41a7fd129fd42b8676e9852ff1d604ea9ca",
      "reviewStatus": "Imported",
      "rating": 0,
      "ratingCount": 0,
      "manifest": {
        "schemaVersion": 1,
        "id": "media.pdfflattener",
        "name": "PDF Flattener",
        "version": "1.0.0",
        "description": "Flattens AcroForm PDFs in a folder using PDFtk (writes *_flattened.pdf).",
        "icon": "DocumentPdf",
        "iconStyle": {
          "palette": "berry",
          "useGradient": true
        },
        "category": "Media",
        "tags": [],
        "favorite": false,
        "actions": [],
        "operations": [
          {
            "id": "drop",
            "label": "Flatten PDFs",
            "description": "Drop PDF files or a folder of PDFs to write flattened copies next to the originals.",
            "kind": "nativeHandler",
            "handlerId": "PdfFlattener",
            "scriptPath": ".\\src\\flatten_pdfs.csx",
            "preflightPolicy": "previewOptional",
            "pathFilter": {
              "ignoredNames": [],
              "ignoredPrefixes": [],
              "acceptFiles": true,
              "acceptFolders": true,
              "includeSubfoldersByDefault": false,
              "acceptExtensions": [
                ".pdf"
              ]
            },
            "outputFileName": "flatten-pdfs.log.txt",
            "outputArgument": "--output",
            "outputArgumentMode": "namedOption",
            "inputs": [
              {
                "id": "overwriteExisting",
                "label": "Overwrite existing PDF",
                "description": "Replace existing flattened PDFs instead of skipping them.",
                "type": "boolean",
                "defaultValue": "false",
                "options": []
              }
            ],
            "environment": {}
          }
        ],
        "requirements": {
          "wingetPackages": [
            {
              "packageId": "PDFLabs.PDFtk.Free",
              "version": "latest"
            }
          ],
          "pipPackages": []
        },
        "install": {
          "files": [],
          "registryEntries": []
        },
        "settings": {
          "copyTemplateOnFirstOpen": true,
          "inputs": []
        },
        "dropZone": {
          "enabled": true,
          "scriptPath": ".\\src\\flatten_pdfs.csx",
          "outputFileName": "flatten-pdfs.log.txt",
          "includeSubfoldersByDefault": false,
          "title": "Flatten PDFs",
          "description": "Drop PDF files or a folder of PDFs to write flattened copies next to the originals.",
          "acceptFiles": true,
          "acceptFolders": true,
          "acceptExtensions": [
            ".pdf"
          ],
          "handler": "PdfFlattener",
          "inputs": [
            {
              "id": "overwriteExisting",
              "label": "Overwrite existing PDF",
              "description": "Replace existing flattened PDFs instead of skipping them.",
              "type": "boolean",
              "defaultValue": "false",
              "options": []
            }
          ]
        },
        "permissions": {
          "allowNetwork": false,
          "allowFileWrites": true,
          "allowRegistryWrites": false,
          "requiresElevation": false,
          "reviewStatus": "Imported",
          "warnings": []
        },
        "debug": {
          "traceEnabled": true,
          "logFileName": "debug.log",
          "notes": [
            "Imported from FlashApps manifest: tool.json"
          ]
        }
      }
    },
    {
      "id": "media.pngtoico",
      "name": "PNG to ICO",
      "version": "1.0.0",
      "description": "Converts PNG files in a folder into multi-size .ico files (16/32/64/128/256/512).",
      "category": "Media",
      "tags": [],
      "packageUrl": "packages/media.pngtoico-1.0.0.zip",
      "sha256": "5892cde0bc965b8497b675583582c39569e986af374956f42bb84b248b979e13",
      "reviewStatus": "Imported",
      "rating": 0,
      "ratingCount": 0,
      "manifest": {
        "schemaVersion": 1,
        "id": "media.pngtoico",
        "name": "PNG to ICO",
        "version": "1.0.0",
        "description": "Converts PNG files in a folder into multi-size .ico files (16/32/64/128/256/512).",
        "icon": "Icons",
        "iconStyle": {
          "palette": "mint",
          "useGradient": true
        },
        "category": "Media",
        "tags": [],
        "favorite": false,
        "actions": [],
        "operations": [
          {
            "id": "drop",
            "label": "PNG to ICO",
            "description": "Drop PNG files or a folder of PNGs to write .ico files next to each PNG.",
            "kind": "nativeHandler",
            "handlerId": "PngToIco",
            "scriptPath": ".\\src\\png_to_ico.csx",
            "preflightPolicy": "previewOptional",
            "pathFilter": {
              "ignoredNames": [],
              "ignoredPrefixes": [],
              "acceptFiles": true,
              "acceptFolders": true,
              "includeSubfoldersByDefault": false,
              "acceptExtensions": [
                ".png"
              ]
            },
            "outputFileName": "png-to-ico.log.txt",
            "outputArgument": "--output",
            "outputArgumentMode": "namedOption",
            "inputs": [
              {
                "id": "icoSize",
                "label": "ICO size",
                "description": "Choose a single size or multi-size output.",
                "type": "select",
                "defaultValue": "multi",
                "options": [
                  {
                    "value": "multi",
                    "label": "Multi-size (16/32/64/128/256/512)"
                  },
                  {
                    "value": "16",
                    "label": "16"
                  },
                  {
                    "value": "32",
                    "label": "32"
                  },
                  {
                    "value": "64",
                    "label": "64"
                  },
                  {
                    "value": "128",
                    "label": "128"
                  },
                  {
                    "value": "256",
                    "label": "256"
                  },
                  {
                    "value": "512",
                    "label": "512"
                  }
                ]
              }
            ],
            "environment": {}
          }
        ],
        "requirements": {
          "wingetPackages": [],
          "pipPackages": []
        },
        "install": {
          "files": [],
          "registryEntries": []
        },
        "settings": {
          "copyTemplateOnFirstOpen": true,
          "inputs": []
        },
        "dropZone": {
          "enabled": true,
          "scriptPath": ".\\src\\png_to_ico.csx",
          "outputFileName": "png-to-ico.log.txt",
          "includeSubfoldersByDefault": false,
          "title": "PNG to ICO",
          "description": "Drop PNG files or a folder of PNGs to write .ico files next to each PNG.",
          "acceptFiles": true,
          "acceptFolders": true,
          "acceptExtensions": [
            ".png"
          ],
          "handler": "PngToIco",
          "inputs": [
            {
              "id": "icoSize",
              "label": "ICO size",
              "description": "Choose a single size or multi-size output.",
              "type": "select",
              "defaultValue": "multi",
              "options": [
                {
                  "value": "multi",
                  "label": "Multi-size (16/32/64/128/256/512)"
                },
                {
                  "value": "16",
                  "label": "16"
                },
                {
                  "value": "32",
                  "label": "32"
                },
                {
                  "value": "64",
                  "label": "64"
                },
                {
                  "value": "128",
                  "label": "128"
                },
                {
                  "value": "256",
                  "label": "256"
                },
                {
                  "value": "512",
                  "label": "512"
                }
              ]
            }
          ]
        },
        "permissions": {
          "allowNetwork": false,
          "allowFileWrites": true,
          "allowRegistryWrites": false,
          "requiresElevation": false,
          "reviewStatus": "Imported",
          "warnings": []
        },
        "debug": {
          "traceEnabled": true,
          "logFileName": "debug.log",
          "notes": [
            "Imported from FlashApps manifest: tool.json"
          ]
        }
      }
    },
    {
      "id": "media.ripper",
      "name": "Ripper",
      "version": "1.0.0",
      "description": "Downloads videos and audio from popular websites",
      "category": "Media",
      "tags": [],
      "packageUrl": "packages/media.ripper-1.0.0.zip",
      "sha256": "13efa8a4119182a6cd409915a7027d91909cf1dec50d5a7787839b03ffb7ff84",
      "reviewStatus": "Imported",
      "rating": 0,
      "ratingCount": 0,
      "manifest": {
        "schemaVersion": 1,
        "id": "media.ripper",
        "name": "Ripper",
        "version": "1.0.0",
        "description": "Downloads videos and audio from popular websites",
        "category": "Media",
        "tags": [],
        "favorite": false,
        "actions": [
          {
            "id": "launch",
            "label": "Launch",
            "kind": "open",
            "command": ".\\src\\MediaDownloader.lnk",
            "useShellExecute": false,
            "runAsAdmin": false,
            "showOnHome": false,
            "isPrimary": true,
            "order": 0,
            "tone": "primary",
            "environment": {}
          }
        ],
        "operations": [],
        "requirements": {
          "wingetPackages": [
            {
              "packageId": "FrancisBanyikwa.MediaDownloader",
              "version": "latest"
            }
          ],
          "pipPackages": []
        },
        "install": {
          "files": [],
          "registryEntries": []
        },
        "settings": {
          "copyTemplateOnFirstOpen": true,
          "inputs": []
        },
        "dropZone": {
          "enabled": false,
          "outputFileName": "mako-output.txt",
          "includeSubfoldersByDefault": false,
          "acceptFiles": false,
          "acceptFolders": true,
          "acceptExtensions": [],
          "inputs": []
        },
        "permissions": {
          "allowNetwork": false,
          "allowFileWrites": false,
          "allowRegistryWrites": false,
          "requiresElevation": false,
          "reviewStatus": "Imported",
          "warnings": []
        },
        "debug": {
          "traceEnabled": true,
          "logFileName": "debug.log",
          "notes": [
            "Imported from FlashApps manifest: tool.json"
          ]
        }
      }
    },
    {
      "id": "media.transcriptor",
      "name": "Transcriptor",
      "version": "2.0.0",
      "description": "Transcribes audio with model selection (whisper, gpt-4o, diarize) and live progress.",
      "category": "Media",
      "tags": [],
      "packageUrl": "packages/media.transcriptor-2.0.0.zip",
      "sha256": "8a4caa710ffa5a332d5b3b170f187e793f4d69c64f7700f25505d8c32b5a201d",
      "reviewStatus": "Imported",
      "rating": 0,
      "ratingCount": 0,
      "manifest": {
        "schemaVersion": 1,
        "id": "media.transcriptor",
        "name": "Transcriptor",
        "version": "2.0.0",
        "description": "Transcribes audio with model selection (whisper, gpt-4o, diarize) and live progress.",
        "icon": "PersonVoice",
        "iconStyle": {
          "palette": "lagoon",
          "useGradient": true
        },
        "category": "Media",
        "tags": [],
        "favorite": true,
        "actions": [
          {
            "id": "launch",
            "label": "Launch",
            "kind": "python",
            "command": ".\\src\\transcriptor.py",
            "useShellExecute": false,
            "runAsAdmin": false,
            "showOnHome": false,
            "isPrimary": true,
            "order": 0,
            "tone": "primary",
            "environment": {}
          }
        ],
        "operations": [],
        "requirements": {
          "wingetPackages": [],
          "pipPackages": [
            "openai"
          ]
        },
        "install": {
          "files": [],
          "registryEntries": []
        },
        "settings": {
          "copyTemplateOnFirstOpen": true,
          "inputs": []
        },
        "dropZone": {
          "enabled": false,
          "outputFileName": "mako-output.txt",
          "includeSubfoldersByDefault": false,
          "acceptFiles": false,
          "acceptFolders": true,
          "acceptExtensions": [],
          "inputs": []
        },
        "permissions": {
          "allowNetwork": false,
          "allowFileWrites": false,
          "allowRegistryWrites": false,
          "requiresElevation": false,
          "reviewStatus": "Imported",
          "warnings": []
        },
        "debug": {
          "traceEnabled": true,
          "logFileName": "debug.log",
          "notes": [
            "Imported from FlashApps manifest: tool.json"
          ]
        }
      }
    },
    {
      "id": "media.ttftowoff2",
      "name": "TTF to WOFF2",
      "version": "1.0.0",
      "description": "Converts .ttf fonts to .woff2 (GUI).",
      "category": "Media",
      "tags": [],
      "packageUrl": "packages/media.ttftowoff2-1.0.0.zip",
      "sha256": "b57e8794dc105a5aa0c88a38f32bce3341de6fb337a20e8a9a277d98e232e534",
      "reviewStatus": "Imported",
      "rating": 0,
      "ratingCount": 0,
      "manifest": {
        "schemaVersion": 1,
        "id": "media.ttftowoff2",
        "name": "TTF to WOFF2",
        "version": "1.0.0",
        "description": "Converts .ttf fonts to .woff2 (GUI).",
        "icon": "TextFontInfo",
        "iconStyle": {
          "palette": "auto",
          "useGradient": true
        },
        "category": "Media",
        "tags": [],
        "favorite": false,
        "actions": [
          {
            "id": "launch",
            "label": "Launch",
            "kind": "python",
            "command": ".\\src\\ttf_to_woff2.py",
            "useShellExecute": false,
            "runAsAdmin": false,
            "showOnHome": false,
            "isPrimary": true,
            "order": 0,
            "tone": "primary",
            "environment": {}
          }
        ],
        "operations": [],
        "requirements": {
          "wingetPackages": [],
          "pipPackages": [
            "fonttools",
            "brotli"
          ]
        },
        "install": {
          "files": [],
          "registryEntries": []
        },
        "settings": {
          "copyTemplateOnFirstOpen": true,
          "inputs": []
        },
        "dropZone": {
          "enabled": false,
          "outputFileName": "mako-output.txt",
          "includeSubfoldersByDefault": false,
          "acceptFiles": false,
          "acceptFolders": true,
          "acceptExtensions": [],
          "inputs": []
        },
        "permissions": {
          "allowNetwork": false,
          "allowFileWrites": false,
          "allowRegistryWrites": false,
          "requiresElevation": false,
          "reviewStatus": "Imported",
          "warnings": []
        },
        "debug": {
          "traceEnabled": true,
          "logFileName": "debug.log",
          "notes": [
            "Imported from FlashApps manifest: tool.json"
          ]
        }
      }
    },
    {
      "id": "media.wallpaper",
      "name": "Wallpaper",
      "version": "1.0.0",
      "description": "Saves the current desktop wallpaper to FlashAppUtilities/Media/desktops and applies saved wallpapers.",
      "category": "Media",
      "tags": [
        "wallpaper",
        "desktop",
        "media"
      ],
      "packageUrl": "packages/media.wallpaper-1.0.0.zip",
      "sha256": "590a02b48ce76da7599a3da3ef2b69933405bcd7b3cf29370f2400402f9b5c77",
      "reviewStatus": "Imported",
      "rating": 0,
      "ratingCount": 0,
      "manifest": {
        "schemaVersion": 1,
        "id": "media.wallpaper",
        "name": "Wallpaper",
        "version": "1.0.0",
        "description": "Saves the current desktop wallpaper to FlashAppUtilities/Media/desktops and applies saved wallpapers.",
        "icon": "Wallpaper",
        "iconStyle": {
          "palette": "coral",
          "useGradient": true
        },
        "category": "Media",
        "tags": [
          "wallpaper",
          "desktop",
          "media"
        ],
        "favorite": false,
        "actions": [
          {
            "id": "save",
            "label": "Save Current Wallpaper",
            "kind": "powerShell",
            "command": ".\\src\\save_wallpaper.ps1",
            "useShellExecute": false,
            "runAsAdmin": false,
            "showOnHome": false,
            "isPrimary": true,
            "order": 0,
            "tone": "primary",
            "environment": {}
          },
          {
            "id": "apply",
            "label": "Apply Wallpaper",
            "kind": "powerShell",
            "command": ".\\src\\apply_wallpaper.ps1",
            "useShellExecute": false,
            "runAsAdmin": false,
            "showOnHome": false,
            "isPrimary": false,
            "order": 0,
            "tone": "secondary",
            "environment": {}
          }
        ],
        "operations": [],
        "requirements": {
          "wingetPackages": [],
          "pipPackages": []
        },
        "install": {
          "files": [],
          "registryEntries": []
        },
        "settings": {
          "copyTemplateOnFirstOpen": true,
          "inputs": []
        },
        "dropZone": {
          "enabled": false,
          "outputFileName": "mako-output.txt",
          "includeSubfoldersByDefault": false,
          "acceptFiles": false,
          "acceptFolders": true,
          "acceptExtensions": [],
          "inputs": []
        },
        "permissions": {
          "allowNetwork": false,
          "allowFileWrites": false,
          "allowRegistryWrites": false,
          "requiresElevation": false,
          "reviewStatus": "Imported",
          "warnings": []
        },
        "debug": {
          "traceEnabled": true,
          "logFileName": "debug.log",
          "notes": [
            "Imported from FlashApps manifest: tool.json"
          ]
        }
      }
    },
    {
      "id": "text.countlines",
      "name": "Count Lines",
      "version": "1.0.0",
      "description": "Counts lines of code in a folder for common extensions (GUI folder picker).",
      "category": "Text",
      "tags": [],
      "packageUrl": "packages/text.countlines-1.0.0.zip",
      "sha256": "51cbb66bdddff4cff1a4d97dd13110154817f85d7e6ed49d964cddd9470bccdf",
      "reviewStatus": "Imported",
      "rating": 0,
      "ratingCount": 0,
      "manifest": {
        "schemaVersion": 1,
        "id": "text.countlines",
        "name": "Count Lines",
        "version": "1.0.0",
        "description": "Counts lines of code in a folder for common extensions (GUI folder picker).",
        "icon": "BookNumber",
        "iconStyle": {
          "palette": "auto",
          "useGradient": true
        },
        "category": "Text",
        "tags": [],
        "favorite": false,
        "actions": [
          {
            "id": "launch",
            "label": "Launch",
            "kind": "python",
            "command": ".\\src\\count_lines_gui.py",
            "useShellExecute": false,
            "runAsAdmin": false,
            "showOnHome": false,
            "isPrimary": true,
            "order": 0,
            "tone": "primary",
            "environment": {}
          }
        ],
        "operations": [],
        "requirements": {
          "wingetPackages": [],
          "pipPackages": []
        },
        "install": {
          "files": [],
          "registryEntries": []
        },
        "settings": {
          "copyTemplateOnFirstOpen": true,
          "inputs": []
        },
        "dropZone": {
          "enabled": false,
          "outputFileName": "mako-output.txt",
          "includeSubfoldersByDefault": false,
          "acceptFiles": false,
          "acceptFolders": true,
          "acceptExtensions": [],
          "inputs": []
        },
        "permissions": {
          "allowNetwork": false,
          "allowFileWrites": false,
          "allowRegistryWrites": false,
          "requiresElevation": false,
          "reviewStatus": "Imported",
          "warnings": []
        },
        "debug": {
          "traceEnabled": true,
          "logFileName": "debug.log",
          "notes": [
            "Imported from FlashApps manifest: tool.json"
          ]
        }
      }
    },
    {
      "id": "text.folder-list-text",
      "name": "Folder List Text",
      "version": "1.0.0",
      "description": "Drop a folder to create an index.txt with its file names.",
      "category": "Text",
      "tags": [],
      "packageUrl": "packages/text.folder-list-text-1.0.0.zip",
      "sha256": "c0c1d93abce9d1c4e50eeabedd69063551e69fea415ec2be528365d13d9f3270",
      "reviewStatus": "Imported",
      "rating": 0,
      "ratingCount": 0,
      "manifest": {
        "schemaVersion": 1,
        "id": "text.folder-list-text",
        "name": "Folder List Text",
        "version": "1.0.0",
        "description": "Drop a folder to create an index.txt with its file names.",
        "icon": "FolderLightning",
        "iconStyle": {
          "palette": "auto",
          "useGradient": true
        },
        "category": "Text",
        "tags": [],
        "favorite": false,
        "actions": [],
        "operations": [
          {
            "id": "drop",
            "label": "Folder drop index",
            "description": "Drag a folder here (or browse) to write index.txt with its contents.",
            "kind": "nativeHandler",
            "handlerId": "FolderIndex",
            "scriptPath": ".\\src\\folder-index.csx",
            "preflightPolicy": "previewOptional",
            "pathFilter": {
              "ignoredNames": [],
              "ignoredPrefixes": [],
              "acceptFiles": false,
              "acceptFolders": true,
              "includeSubfoldersByDefault": false,
              "acceptExtensions": []
            },
            "outputFileName": "index.txt",
            "outputArgument": "--output",
            "outputArgumentMode": "namedOption",
            "inputs": [],
            "environment": {}
          }
        ],
        "requirements": {
          "wingetPackages": [],
          "pipPackages": []
        },
        "install": {
          "files": [],
          "registryEntries": []
        },
        "settings": {
          "copyTemplateOnFirstOpen": true,
          "inputs": []
        },
        "dropZone": {
          "enabled": true,
          "scriptPath": ".\\src\\folder-index.csx",
          "outputFileName": "index.txt",
          "includeSubfoldersByDefault": false,
          "title": "Folder drop index",
          "description": "Drag a folder here (or browse) to write index.txt with its contents.",
          "acceptFiles": false,
          "acceptFolders": true,
          "acceptExtensions": [],
          "inputs": []
        },
        "permissions": {
          "allowNetwork": false,
          "allowFileWrites": true,
          "allowRegistryWrites": false,
          "requiresElevation": false,
          "reviewStatus": "Imported",
          "warnings": []
        },
        "debug": {
          "traceEnabled": true,
          "logFileName": "debug.log",
          "notes": [
            "Imported from FlashApps manifest: tool.json"
          ]
        }
      }
    },
    {
      "id": "text.htmlcleaner",
      "name": "HTML Cleaner",
      "version": "1.0.0",
      "description": "Creates a *_clean.html by stripping noisy attributes and (optionally) comments/tables.",
      "category": "Text",
      "tags": [],
      "packageUrl": "packages/text.htmlcleaner-1.0.0.zip",
      "sha256": "3e21616384dd7698ebc1b6dc17a9392f7769896c668a90d8e752a918fbc40c10",
      "reviewStatus": "Imported",
      "rating": 0,
      "ratingCount": 0,
      "manifest": {
        "schemaVersion": 1,
        "id": "text.htmlcleaner",
        "name": "HTML Cleaner",
        "version": "1.0.0",
        "description": "Creates a *_clean.html by stripping noisy attributes and (optionally) comments/tables.",
        "icon": "CodeCircle",
        "iconStyle": {
          "palette": "auto",
          "useGradient": true
        },
        "category": "Text",
        "tags": [],
        "favorite": false,
        "actions": [
          {
            "id": "launch",
            "label": "Launch",
            "kind": "python",
            "command": ".\\src\\html_cleaner.py",
            "useShellExecute": false,
            "runAsAdmin": false,
            "showOnHome": false,
            "isPrimary": true,
            "order": 0,
            "tone": "primary",
            "environment": {}
          }
        ],
        "operations": [],
        "requirements": {
          "wingetPackages": [],
          "pipPackages": []
        },
        "install": {
          "files": [],
          "registryEntries": []
        },
        "settings": {
          "copyTemplateOnFirstOpen": true,
          "inputs": []
        },
        "dropZone": {
          "enabled": false,
          "outputFileName": "mako-output.txt",
          "includeSubfoldersByDefault": false,
          "acceptFiles": false,
          "acceptFolders": true,
          "acceptExtensions": [],
          "inputs": []
        },
        "permissions": {
          "allowNetwork": false,
          "allowFileWrites": false,
          "allowRegistryWrites": false,
          "requiresElevation": false,
          "reviewStatus": "Imported",
          "warnings": []
        },
        "debug": {
          "traceEnabled": true,
          "logFileName": "debug.log",
          "notes": [
            "Imported from FlashApps manifest: tool.json"
          ]
        }
      }
    },
    {
      "id": "text.secretcreator",
      "name": "Secret Creator",
      "version": "1.0.0",
      "description": "Generates GUIDs, random keys, hashes, and (optional) a Bitcoin address+WIF (GUI).",
      "category": "Text",
      "tags": [],
      "packageUrl": "packages/text.secretcreator-1.0.0.zip",
      "sha256": "35533fb891f3522775a78aaa7c531558d33259855111855050e850d664c7d230",
      "reviewStatus": "Imported",
      "rating": 0,
      "ratingCount": 0,
      "manifest": {
        "schemaVersion": 1,
        "id": "text.secretcreator",
        "name": "Secret Creator",
        "version": "1.0.0",
        "description": "Generates GUIDs, random keys, hashes, and (optional) a Bitcoin address+WIF (GUI).",
        "icon": "Password",
        "iconStyle": {
          "palette": "auto",
          "useGradient": true
        },
        "category": "Text",
        "tags": [],
        "favorite": true,
        "actions": [
          {
            "id": "launch",
            "label": "Launch",
            "kind": "python",
            "command": ".\\src\\secret_creator.py",
            "useShellExecute": false,
            "runAsAdmin": false,
            "showOnHome": false,
            "isPrimary": true,
            "order": 0,
            "tone": "primary",
            "environment": {}
          }
        ],
        "operations": [],
        "requirements": {
          "wingetPackages": [],
          "pipPackages": [
            "ecdsa"
          ]
        },
        "install": {
          "files": [],
          "registryEntries": []
        },
        "settings": {
          "copyTemplateOnFirstOpen": true,
          "inputs": []
        },
        "dropZone": {
          "enabled": false,
          "outputFileName": "mako-output.txt",
          "includeSubfoldersByDefault": false,
          "acceptFiles": false,
          "acceptFolders": true,
          "acceptExtensions": [],
          "inputs": []
        },
        "permissions": {
          "allowNetwork": false,
          "allowFileWrites": false,
          "allowRegistryWrites": false,
          "requiresElevation": false,
          "reviewStatus": "Imported",
          "warnings": []
        },
        "debug": {
          "traceEnabled": true,
          "logFileName": "debug.log",
          "notes": [
            "Imported from FlashApps manifest: tool.json"
          ]
        }
      }
    },
    {
      "id": "text.winnerspagegenerator",
      "name": "Winners Page Generator",
      "version": "1.0.0",
      "description": "Builds a winners .cshtml page from Excel data + a template (GUI).",
      "category": "Text",
      "tags": [],
      "packageUrl": "packages/text.winnerspagegenerator-1.0.0.zip",
      "sha256": "51580e06ed772f5b818cda3c9baa09d29c1db2e0e4238ca9978ae1409233cce8",
      "reviewStatus": "Imported",
      "rating": 0,
      "ratingCount": 0,
      "manifest": {
        "schemaVersion": 1,
        "id": "text.winnerspagegenerator",
        "name": "Winners Page Generator",
        "version": "1.0.0",
        "description": "Builds a winners .cshtml page from Excel data + a template (GUI).",
        "icon": "Trophy",
        "iconStyle": {
          "palette": "auto",
          "useGradient": true
        },
        "category": "Text",
        "tags": [],
        "favorite": false,
        "actions": [
          {
            "id": "launch",
            "label": "Launch",
            "kind": "python",
            "command": ".\\src\\winners_page_generator.py",
            "useShellExecute": false,
            "runAsAdmin": false,
            "showOnHome": false,
            "isPrimary": true,
            "order": 0,
            "tone": "primary",
            "environment": {}
          }
        ],
        "operations": [],
        "requirements": {
          "wingetPackages": [],
          "pipPackages": [
            "pandas",
            "openpyxl"
          ]
        },
        "install": {
          "files": [],
          "registryEntries": []
        },
        "settings": {
          "copyTemplateOnFirstOpen": true,
          "inputs": []
        },
        "dropZone": {
          "enabled": false,
          "outputFileName": "mako-output.txt",
          "includeSubfoldersByDefault": false,
          "acceptFiles": false,
          "acceptFolders": true,
          "acceptExtensions": [],
          "inputs": []
        },
        "permissions": {
          "allowNetwork": false,
          "allowFileWrites": false,
          "allowRegistryWrites": false,
          "requiresElevation": false,
          "reviewStatus": "Imported",
          "warnings": []
        },
        "debug": {
          "traceEnabled": true,
          "logFileName": "debug.log",
          "notes": [
            "Imported from FlashApps manifest: tool.json"
          ]
        }
      }
    }
  ]
}
