From 59d5e11038a72ee41b0a7490098b90de77093f2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jukka=20Sepp=C3=A4nen?= <40791699+kijai@users.noreply.github.com> Date: Thu, 20 Jun 2024 15:09:03 +0300 Subject: [PATCH 01/62] Add Florence2 and LuminaWrapper -nodes (#796) * Add IC-Light nodes and models * Add Florence2 and LuminaWrapper -nodes https://github.com/kijai/ComfyUI-Florence2 https://github.com/kijai/ComfyUI-LuminaWrapper --- custom-node-list.json | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/custom-node-list.json b/custom-node-list.json index 1751f6ce..1e3c8d93 100644 --- a/custom-node-list.json +++ b/custom-node-list.json @@ -2948,6 +2948,28 @@ "install_type": "git-clone", "description": "ComfyUI nodes to use [a/DepthAnythingV2](https://depth-anything-v2.github.io/)\nNOTE:Models autodownload to ComfyUI/models/depthanything from [a/https://huggingface.co/Kijai/DepthAnythingV2-safetensors/tree/main](https://huggingface.co/Kijai/DepthAnythingV2-safetensors/tree/main)" }, + { + "author": "kijai", + "title": "ComfyUI-Florence2", + "id": "florence2", + "reference": "https://github.com/kijai/ComfyUI-Florence2", + "files": [ + "https://github.com/kijai/ComfyUI-Florence2" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes to use Microsoft's Florence2 vision model. Supports captioning, object detection and segmentation" + }, + { + "author": "kijai", + "title": "ComfyUI-LuminaWrapper", + "id": "lumina", + "reference": "https://github.com/kijai/ComfyUI-LuminaWrapper", + "files": [ + "https://github.com/kijai/ComfyUI-LuminaWrapper" + ], + "install_type": "git-clone", + "description": "ComfyUI wrapper nodes for Lumina models" + }, { "author": "hhhzzyang", "title": "Comfyui-Lama", From 7d636c4118252d8adf1a8ad836527d47560aea4f Mon Sep 17 00:00:00 2001 From: "Dr.Lt.Data" Date: Thu, 20 Jun 2024 21:40:01 +0900 Subject: [PATCH 02/62] update DB --- custom-node-list.json | 24 +- extension-node-map.json | 58 +- github-stats.json | 2518 ++++++++++++++------------- node_db/dev/custom-node-list.json | 22 +- node_db/new/custom-node-list.json | 45 + node_db/new/extension-node-map.json | 58 +- 6 files changed, 1456 insertions(+), 1269 deletions(-) diff --git a/custom-node-list.json b/custom-node-list.json index 1e3c8d93..d81ae459 100644 --- a/custom-node-list.json +++ b/custom-node-list.json @@ -1414,6 +1414,17 @@ "install_type": "git-clone", "description": "Nodes:MUJinjaRender, MUSimpleWildcard" }, + { + "author": "asagi4", + "title": "Adaptive Guidance for ComfyUI", + "id": "asagi-nodes", + "reference": "https://github.com/asagi4/ComfyUI-Adaptive-Guidance", + "files": [ + "https://github.com/asagi4/ComfyUI-Adaptive-Guidance" + ], + "install_type": "git-clone", + "description": "An implementation of adaptive guidance for ComfyUI\nSee [a/https://bcv-uniandes.github.io/adaptiveguidance-wp/](https://bcv-uniandes.github.io/adaptiveguidance-wp/)" + }, { "author": "jamesWalker55", "title": "ComfyUI - P2LDGAN Node", @@ -2588,6 +2599,17 @@ "install_type": "git-clone", "description": "Basic support for StyleGAN2 and StyleGAN3 models." }, + { + "author": "spacepxl", + "title": "ComfyUI-Florence-2", + "id": "florence2-spacepxl", + "reference": "https://github.com/spacepxl/ComfyUI-Florence-2", + "files": [ + "https://github.com/spacepxl/ComfyUI-Florence-2" + ], + "install_type": "git-clone", + "description": "[a/https://huggingface.co/microsoft/Florence-2-large-ft](https://huggingface.co/microsoft/Florence-2-large-ft)\nLarge or base model, support for captioning and bbox task modes, more coming soon." + }, { "author": "PTA", "title": "auto nodes layout", @@ -2951,7 +2973,7 @@ { "author": "kijai", "title": "ComfyUI-Florence2", - "id": "florence2", + "id": "florence2-kijai", "reference": "https://github.com/kijai/ComfyUI-Florence2", "files": [ "https://github.com/kijai/ComfyUI-Florence2" diff --git a/extension-node-map.json b/extension-node-map.json index 1e9ef905..9db9cd87 100644 --- a/extension-node-map.json +++ b/extension-node-map.json @@ -322,7 +322,7 @@ ], "https://github.com/AIFSH/ComfyUI-UVR5": [ [ - "LoadAudio", + "LoadAudioPath", "PreViewAudio", "UVR5_Node" ], @@ -400,6 +400,7 @@ "OpenPoseKeyPose", "OpenPoseLineart", "OpenPoseMediaPipeFace", + "PreviewAudio", "\u5b58\u50a8", "\u5bfc\u5165", "\u622a\u56fe", @@ -2970,6 +2971,7 @@ "SplitImages", "StringJoin", "TimeStamp", + "TintnShift", "TricolorComposition", "WorkflowSettings", "WrapText", @@ -3493,12 +3495,12 @@ ], "https://github.com/SamKhoze/ComfyUI-DeepFuze": [ [ + "DeepFuze Save", "DeepFuzeAdavance", "DeepFuzeFaceSwap", "DeepfuzePreview", "LLM_node", "PlayBackAudio", - "SaveVideo [n-suite]", "TTS_generation" ], { @@ -4600,6 +4602,7 @@ "https://github.com/TinyTerra/ComfyUI_tinyterraNodes": [ [ "ttN KSampler_v2", + "ttN advPlot combo", "ttN advPlot range", "ttN advPlot string", "ttN advanced xyPlot", @@ -4851,6 +4854,8 @@ "Diffusers Hub Model Down-Loader", "Diffusers Model Loader", "Export API", + "HSL to Hex", + "Hex to HSL", "Image Analyze", "Image Aspect Ratio", "Image Batch", @@ -5555,9 +5560,11 @@ [ "AiStoreAzureGPTLiam", "GetBetterDepthImage", + "LiamLibDisplayText", "LiamLibFillImage", "LiamLibImageToGray", "LiamLibLoadImage", + "LiamLibMergeText", "LiamLibSaveImg", "LiamLibSaveText", "OllamaApiTNodeLiam", @@ -5822,6 +5829,14 @@ "title_aux": "antrobots ComfyUI Nodepack" } ], + "https://github.com/asagi4/ComfyUI-Adaptive-Guidance": [ + [ + "AdaptiveGuidance" + ], + { + "title_aux": "Adaptive Guidance for ComfyUI" + } + ], "https://github.com/asagi4/ComfyUI-CADS": [ [ "CADS" @@ -7514,6 +7529,7 @@ "FlipSigmas", "FreeU", "FreeU_V2", + "GITSScheduler", "GLIGENLoader", "GLIGENTextBoxApply", "GrowMask", @@ -7572,6 +7588,7 @@ "ModelMergeBlocks", "ModelMergeSD1", "ModelMergeSD2", + "ModelMergeSD3", "ModelMergeSDXL", "ModelMergeSimple", "ModelMergeSubtract", @@ -8559,7 +8576,7 @@ ], { "author": "\"\u02f6\ud835\udfa2\u292c\u2ad2\u2d56s\u143c\u02f6\"", - "description": "\"Selector & Recourse. Presets & failsafes. Work flow.\"", + "description": "\"EXDYSA. Selector and Recourse. Presets & failsafes. Work flow.\"", "nickname": "\"Selector\"", "title": "\"Selector\"", "title_aux": "comfyui-selector" @@ -10507,6 +10524,15 @@ "title_aux": "ComfyUI-ELLA-wrapper" } ], + "https://github.com/kijai/ComfyUI-Florence2": [ + [ + "DownloadAndLoadFlorence2Model", + "Florence2Run" + ], + { + "title_aux": "ComfyUI-Florence2" + } + ], "https://github.com/kijai/ComfyUI-Geowizard": [ [ "geowizard_model_loader", @@ -10662,6 +10688,20 @@ "title_aux": "ComfyUI-LaVi-Bridge-Wrapper" } ], + "https://github.com/kijai/ComfyUI-LuminaWrapper": [ + [ + "DownloadAndLoadGemmaModel", + "DownloadAndLoadLuminaModel", + "GemmaSampler", + "LuminaGemmaTextEncode", + "LuminaGemmaTextEncodeArea", + "LuminaT2ISampler", + "LuminaTextAreaAppend" + ], + { + "title_aux": "ComfyUI-LuminaWrapper" + } + ], "https://github.com/kijai/ComfyUI-Marigold": [ [ "ColorizeDepthmap", @@ -11236,7 +11276,8 @@ [ "PromptCombinator", "PromptCombinatorExportGallery", - "PromptCombinatorMerger" + "PromptCombinatorMerger", + "PromptCombinatorRandomPrompt" ], { "title_aux": "ComfyUI-Prompt-Combinator" @@ -13390,6 +13431,15 @@ "title_aux": "nui suite" } ], + "https://github.com/spacepxl/ComfyUI-Florence-2": [ + [ + "Florence2", + "Florence2Postprocess" + ], + { + "title_aux": "ComfyUI-Florence-2" + } + ], "https://github.com/spacepxl/ComfyUI-HQ-Image-Save": [ [ "LoadEXR", diff --git a/github-stats.json b/github-stats.json index 6f977f97..3f75cead 100644 --- a/github-stats.json +++ b/github-stats.json @@ -2,4826 +2,4846 @@ "https://github.com/0xbitches/ComfyUI-LCM": { "stars": 246, "last_update": "2023-11-11 21:24:33", - "author_account_age_days": 526 + "author_account_age_days": 527 }, "https://github.com/1038lab/ComfyUI-GPT2P": { "stars": 3, "last_update": "2024-06-10 16:56:29", - "author_account_age_days": 447 + "author_account_age_days": 448 }, "https://github.com/11cafe/comfyui-workspace-manager": { - "stars": 775, - "last_update": "2024-06-18 17:20:37", - "author_account_age_days": 199 + "stars": 782, + "last_update": "2024-06-20 05:18:45", + "author_account_age_days": 200 }, "https://github.com/11dogzi/Comfyui-ergouzi-Nodes": { "stars": 17, "last_update": "2024-05-23 00:08:39", - "author_account_age_days": 120 + "author_account_age_days": 121 }, "https://github.com/11dogzi/Comfyui-ergouzi-samplers": { "stars": 15, "last_update": "2024-06-17 11:44:41", - "author_account_age_days": 120 + "author_account_age_days": 121 }, "https://github.com/1mckw/Comfyui-Gelbooru": { "stars": 2, "last_update": "2024-05-27 07:45:00", - "author_account_age_days": 685 + "author_account_age_days": 686 }, "https://github.com/42lux/ComfyUI-safety-checker": { "stars": 18, "last_update": "2024-05-22 22:11:59", - "author_account_age_days": 3693 + "author_account_age_days": 3694 }, "https://github.com/438443467/ComfyUI-GPT4V-Image-Captioner": { "stars": 18, "last_update": "2024-06-13 05:51:56", - "author_account_age_days": 409 + "author_account_age_days": 410 }, "https://github.com/54rt1n/ComfyUI-DareMerge": { "stars": 41, "last_update": "2024-05-22 22:20:39", - "author_account_age_days": 4045 + "author_account_age_days": 4046 }, "https://github.com/80sVectorz/ComfyUI-Static-Primitives": { "stars": 10, "last_update": "2024-05-23 11:20:57", - "author_account_age_days": 1465 + "author_account_age_days": 1466 }, "https://github.com/A4P7J1N7M05OT/ComfyUI-AutoColorGimp": { "stars": 0, "last_update": "2024-05-23 00:26:10", - "author_account_age_days": 467 + "author_account_age_days": 468 }, "https://github.com/A4P7J1N7M05OT/ComfyUI-PixelOE": { "stars": 6, "last_update": "2024-06-02 14:57:59", - "author_account_age_days": 467 + "author_account_age_days": 468 }, "https://github.com/AARG-FAN/Image-Raster-for-ComfyUI": { "stars": 62, "last_update": "2024-06-17 10:00:11", - "author_account_age_days": 494 + "author_account_age_days": 495 }, "https://github.com/AI2lab/comfyUI-DeepSeek-2lab": { "stars": 3, "last_update": "2024-06-06 23:11:12", - "author_account_age_days": 187 + "author_account_age_days": 188 }, "https://github.com/AIFSH/ComfyUI-3d-photo-inpainting": { "stars": 1, - "last_update": "2024-06-19 03:34:50", - "author_account_age_days": 226 + "last_update": "2024-06-19 13:59:49", + "author_account_age_days": 227 }, "https://github.com/AIFSH/ComfyUI-FishSpeech": { "stars": 6, "last_update": "2024-05-23 01:18:49", - "author_account_age_days": 226 + "author_account_age_days": 227 }, "https://github.com/AIFSH/ComfyUI-GPT_SoVITS": { - "stars": 150, + "stars": 151, "last_update": "2024-06-14 07:05:01", - "author_account_age_days": 226 + "author_account_age_days": 227 }, "https://github.com/AIFSH/ComfyUI-Hallo": { - "stars": 26, - "last_update": "2024-06-17 23:58:36", - "author_account_age_days": 226 + "stars": 108, + "last_update": "2024-06-20 05:38:40", + "author_account_age_days": 227 }, "https://github.com/AIFSH/ComfyUI-IP_LAP": { "stars": 23, "last_update": "2024-06-14 07:05:39", - "author_account_age_days": 226 + "author_account_age_days": 227 }, "https://github.com/AIFSH/ComfyUI-Live2DViewer": { "stars": 2, "last_update": "2024-06-14 07:04:49", - "author_account_age_days": 226 + "author_account_age_days": 227 }, "https://github.com/AIFSH/ComfyUI-MimicBrush": { - "stars": 32, + "stars": 37, "last_update": "2024-06-17 22:26:53", - "author_account_age_days": 226 + "author_account_age_days": 227 }, "https://github.com/AIFSH/ComfyUI-MuseTalk_FSH": { "stars": 7, "last_update": "2024-06-14 07:05:19", - "author_account_age_days": 226 + "author_account_age_days": 227 }, "https://github.com/AIFSH/ComfyUI-RVC": { "stars": 9, "last_update": "2024-06-14 07:05:25", - "author_account_age_days": 226 + "author_account_age_days": 227 }, "https://github.com/AIFSH/ComfyUI-UVR5": { - "stars": 56, - "last_update": "2024-06-14 07:04:43", - "author_account_age_days": 226 + "stars": 58, + "last_update": "2024-06-20 07:31:20", + "author_account_age_days": 227 }, "https://github.com/AIFSH/ComfyUI-UniAnimate": { - "stars": 3, + "stars": 4, "last_update": "2024-06-17 20:59:59", - "author_account_age_days": 226 + "author_account_age_days": 227 }, "https://github.com/AIFSH/ComfyUI-WhisperX": { "stars": 20, "last_update": "2024-06-14 07:05:31", - "author_account_age_days": 226 + "author_account_age_days": 227 }, "https://github.com/AIFSH/ComfyUI-XTTS": { - "stars": 20, + "stars": 21, "last_update": "2024-06-14 07:05:07", - "author_account_age_days": 226 + "author_account_age_days": 227 }, "https://github.com/AIFSH/ComfyUI_V-Express": { "stars": 74, "last_update": "2024-06-14 07:05:13", - "author_account_age_days": 226 + "author_account_age_days": 227 }, "https://github.com/AIGCTeam/ComfyUI_kkTranslator_nodes": { "stars": 5, "last_update": "2024-05-23 00:13:50", - "author_account_age_days": 205 + "author_account_age_days": 206 }, "https://github.com/AIGODLIKE/AIGODLIKE-COMFYUI-TRANSLATION": { - "stars": 928, + "stars": 936, "last_update": "2024-06-18 03:10:38", - "author_account_age_days": 496 + "author_account_age_days": 497 }, "https://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Studio": { - "stars": 202, + "stars": 203, "last_update": "2024-06-05 00:52:46", - "author_account_age_days": 496 + "author_account_age_days": 497 }, "https://github.com/AIGODLIKE/ComfyUI-CUP": { "stars": 4, - "last_update": "2024-05-19 02:31:04", - "author_account_age_days": 496 + "last_update": "2024-06-20 07:26:58", + "author_account_age_days": 497 }, "https://github.com/AIGODLIKE/ComfyUI-ToonCrafter": { - "stars": 234, + "stars": 237, "last_update": "2024-06-18 08:04:40", - "author_account_age_days": 496 + "author_account_age_days": 497 }, "https://github.com/AInseven/ComfyUI-fastblend": { "stars": 110, "last_update": "2024-06-14 07:13:21", - "author_account_age_days": 1677 + "author_account_age_days": 1679 }, "https://github.com/AIrjen/OneButtonPrompt": { "stars": 733, "last_update": "2024-06-14 06:59:46", - "author_account_age_days": 437 + "author_account_age_days": 438 }, "https://github.com/ALatentPlace/ComfyUI_yanc": { "stars": 17, "last_update": "2024-06-14 09:04:57", - "author_account_age_days": 1454 + "author_account_age_days": 1455 }, "https://github.com/AbdullahAlfaraj/Comfy-Photoshop-SD": { "stars": 175, "last_update": "2024-06-14 07:04:37", - "author_account_age_days": 3662 + "author_account_age_days": 3663 }, "https://github.com/AbyssYuan0/ComfyUI_BadgerTools": { "stars": 6, - "last_update": "2024-05-22 21:27:48", - "author_account_age_days": 484 + "last_update": "2024-06-19 11:46:19", + "author_account_age_days": 485 }, "https://github.com/Acly/comfyui-inpaint-nodes": { - "stars": 417, + "stars": 419, "last_update": "2024-06-17 13:51:51", - "author_account_age_days": 3799 + "author_account_age_days": 3800 }, "https://github.com/Acly/comfyui-tooling-nodes": { "stars": 208, - "last_update": "2024-06-12 15:44:54", - "author_account_age_days": 3799 + "last_update": "2024-06-20 09:26:34", + "author_account_age_days": 3800 }, "https://github.com/AiMiDi/ComfyUI-Aimidi-nodes": { "stars": 0, "last_update": "2024-05-23 00:15:03", - "author_account_age_days": 1270 + "author_account_age_days": 1271 }, "https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet": { - "stars": 646, + "stars": 648, "last_update": "2024-06-12 07:56:21", - "author_account_age_days": 2694 + "author_account_age_days": 2695 }, "https://github.com/Alysondao/Comfyui-Yolov8-JSON": { "stars": 12, "last_update": "2024-06-17 10:00:48", - "author_account_age_days": 1025 + "author_account_age_days": 1026 }, "https://github.com/Amorano/Jovimetrix": { - "stars": 162, + "stars": 163, "last_update": "2024-06-04 15:28:54", - "author_account_age_days": 5207 + "author_account_age_days": 5208 }, "https://github.com/AonekoSS/ComfyUI-LoRA-Tuner": { "stars": 4, "last_update": "2024-06-14 08:57:39", - "author_account_age_days": 4086 + "author_account_age_days": 4087 }, "https://github.com/AonekoSS/ComfyUI-SimpleCounter": { "stars": 1, "last_update": "2024-05-23 01:11:36", - "author_account_age_days": 4086 + "author_account_age_days": 4087 }, "https://github.com/ArcherFMY/Diffusion360_ComfyUI": { "stars": 17, "last_update": "2024-05-28 03:14:17", - "author_account_age_days": 3384 + "author_account_age_days": 3385 }, "https://github.com/ArdeniusAI/CPlus_Ardenius": { "stars": 0, "last_update": "2024-06-14 07:13:26", - "author_account_age_days": 121 + "author_account_age_days": 122 }, "https://github.com/ArtBot2023/CharacterFaceSwap": { "stars": 54, "last_update": "2024-05-22 20:53:09", - "author_account_age_days": 288 + "author_account_age_days": 289 }, "https://github.com/ArtVentureX/comfyui-animatediff": { - "stars": 632, + "stars": 633, "last_update": "2024-05-22 18:16:43", - "author_account_age_days": 400 + "author_account_age_days": 401 }, "https://github.com/AshMartian/ComfyUI-DirGir": { "stars": 10, "last_update": "2024-05-29 22:28:55", - "author_account_age_days": 4581 + "author_account_age_days": 4582 }, "https://github.com/AuroBit/ComfyUI-AnimateAnyone-reproduction": { "stars": 34, "last_update": "2024-06-14 09:03:24", - "author_account_age_days": 384 + "author_account_age_days": 385 }, "https://github.com/AuroBit/ComfyUI-OOTDiffusion": { - "stars": 335, + "stars": 337, "last_update": "2024-06-14 08:11:00", - "author_account_age_days": 384 + "author_account_age_days": 385 }, "https://github.com/AustinMroz/ComfyUI-DynamicOversampling": { "stars": 0, "last_update": "2024-06-14 07:06:51", - "author_account_age_days": 4069 + "author_account_age_days": 4070 }, "https://github.com/AustinMroz/ComfyUI-SpliceTools": { "stars": 7, "last_update": "2024-06-14 07:07:21", - "author_account_age_days": 4069 + "author_account_age_days": 4070 }, "https://github.com/AustinMroz/ComfyUI-WorkflowCheckpointing": { - "stars": 1, - "last_update": "2024-06-19 07:00:19", - "author_account_age_days": 4069 + "stars": 4, + "last_update": "2024-06-19 21:19:45", + "author_account_age_days": 4070 }, "https://github.com/Auttasak-L/ComfyUI-ImageCropper": { "stars": 1, "last_update": "2024-05-23 05:04:53", - "author_account_age_days": 2644 + "author_account_age_days": 2645 }, "https://github.com/BAIS1C/ComfyUI_RSS_Feed_Reader": { "stars": 2, - "last_update": "2024-06-14 07:08:54", - "author_account_age_days": 484 + "last_update": "2024-06-20 03:42:00", + "author_account_age_days": 485 }, "https://github.com/BXYMartin/ComfyUI-InstantIDUtils": { "stars": 3, "last_update": "2024-05-23 00:08:50", - "author_account_age_days": 2438 + "author_account_age_days": 2439 }, "https://github.com/BadCafeCode/masquerade-nodes-comfyui": { - "stars": 304, + "stars": 305, "last_update": "2024-06-19 04:16:54", - "author_account_age_days": 425 + "author_account_age_days": 426 }, "https://github.com/Beinsezii/bsz-cui-extras": { "stars": 20, "last_update": "2024-05-22 20:46:45", - "author_account_age_days": 2221 + "author_account_age_days": 2222 }, "https://github.com/BenNarum/SigmaWaveFormNode": { "stars": 5, "last_update": "2024-06-14 14:00:10", - "author_account_age_days": 3067 + "author_account_age_days": 3068 }, "https://github.com/BennyKok/comfyui-deploy": { - "stars": 675, - "last_update": "2024-06-16 00:29:53", - "author_account_age_days": 2990 + "stars": 677, + "last_update": "2024-06-19 23:52:18", + "author_account_age_days": 2992 }, "https://github.com/Big-Idea-Technology/ComfyUI-Book-Tools": { "stars": 15, "last_update": "2024-06-14 07:06:33", - "author_account_age_days": 866 + "author_account_age_days": 867 }, "https://github.com/Big-Idea-Technology/ComfyUI_LLM_Node": { "stars": 49, "last_update": "2024-06-14 08:08:12", - "author_account_age_days": 866 + "author_account_age_days": 867 }, "https://github.com/Billius-AI/ComfyUI-Path-Helper": { "stars": 13, "last_update": "2024-05-22 23:25:08", - "author_account_age_days": 129 + "author_account_age_days": 130 }, "https://github.com/BlakeOne/ComfyUI-CustomScheduler": { "stars": 11, "last_update": "2024-05-23 00:23:56", - "author_account_age_days": 2527 + "author_account_age_days": 2528 }, "https://github.com/BlakeOne/ComfyUI-NodePresets": { "stars": 11, "last_update": "2024-05-23 00:24:07", - "author_account_age_days": 2527 + "author_account_age_days": 2528 }, "https://github.com/BlakeOne/ComfyUI-NodeReset": { "stars": 1, "last_update": "2024-05-23 00:24:18", - "author_account_age_days": 2527 + "author_account_age_days": 2528 }, "https://github.com/BlakeOne/ComfyUI-SchedulerMixer": { "stars": 10, "last_update": "2024-05-23 00:23:44", - "author_account_age_days": 2527 + "author_account_age_days": 2528 }, "https://github.com/BlenderNeko/ComfyUI_ADV_CLIP_emb": { - "stars": 263, + "stars": 264, "last_update": "2024-05-22 14:56:13", - "author_account_age_days": 472 + "author_account_age_days": 473 }, "https://github.com/BlenderNeko/ComfyUI_Cutoff": { - "stars": 336, + "stars": 337, "last_update": "2024-05-22 15:01:45", - "author_account_age_days": 472 + "author_account_age_days": 473 }, "https://github.com/BlenderNeko/ComfyUI_Noise": { - "stars": 200, + "stars": 201, "last_update": "2024-06-10 16:38:48", - "author_account_age_days": 472 + "author_account_age_days": 473 }, "https://github.com/BlenderNeko/ComfyUI_SeeCoder": { "stars": 35, "last_update": "2024-05-22 14:57:04", - "author_account_age_days": 472 + "author_account_age_days": 473 }, "https://github.com/BlenderNeko/ComfyUI_TiledKSampler": { - "stars": 289, + "stars": 291, "last_update": "2024-05-22 14:56:49", - "author_account_age_days": 472 + "author_account_age_days": 473 }, "https://github.com/CC-BryanOttho/ComfyUI_API_Manager": { - "stars": 10, + "stars": 11, "last_update": "2024-06-14 07:13:34", - "author_account_age_days": 479 + "author_account_age_days": 481 }, "https://github.com/CYBERLOOM-INC/ComfyUI-nodes-hnmr": { "stars": 4, "last_update": "2024-05-22 17:55:41", - "author_account_age_days": 244 + "author_account_age_days": 245 }, "https://github.com/CavinHuang/comfyui-nodes-docs": { - "stars": 58, + "stars": 59, "last_update": "2024-06-19 06:36:49", - "author_account_age_days": 2721 + "author_account_age_days": 2722 }, "https://github.com/Chan-0312/ComfyUI-EasyDeforum": { "stars": 8, "last_update": "2024-05-22 23:22:14", - "author_account_age_days": 1861 + "author_account_age_days": 1862 }, "https://github.com/Chan-0312/ComfyUI-IPAnimate": { "stars": 65, "last_update": "2024-05-22 23:22:03", - "author_account_age_days": 1861 + "author_account_age_days": 1862 }, "https://github.com/Chan-0312/ComfyUI-Prompt-Preview": { "stars": 16, "last_update": "2024-06-14 09:01:37", - "author_account_age_days": 1861 + "author_account_age_days": 1862 }, "https://github.com/Chaoses-Ib/ComfyUI_Ib_CustomNodes": { "stars": 12, "last_update": "2024-04-05 11:14:24", - "author_account_age_days": 1873 + "author_account_age_days": 1874 }, "https://github.com/Clybius/ComfyUI-Extra-Samplers": { - "stars": 54, + "stars": 55, "last_update": "2024-06-14 09:03:17", - "author_account_age_days": 1728 + "author_account_age_days": 1729 }, "https://github.com/Clybius/ComfyUI-Latent-Modifiers": { "stars": 43, "last_update": "2024-06-14 09:02:44", - "author_account_age_days": 1728 + "author_account_age_days": 1729 }, "https://github.com/CosmicLaca/ComfyUI_Primere_Nodes": { - "stars": 79, - "last_update": "2024-06-18 16:21:26", - "author_account_age_days": 3650 + "stars": 81, + "last_update": "2024-06-20 11:40:52", + "author_account_age_days": 3651 }, "https://github.com/Danand/ComfyUI-ComfyCouple": { "stars": 21, "last_update": "2024-06-14 08:09:42", - "author_account_age_days": 4283 + "author_account_age_days": 4284 }, "https://github.com/DarKDinDoN/comfyui-checkpoint-automatic-config": { "stars": 3, "last_update": "2024-05-26 08:00:23", - "author_account_age_days": 4434 + "author_account_age_days": 4435 }, "https://github.com/DataCTE/prompt_injection": { "stars": 57, "last_update": "2024-06-15 16:06:59", - "author_account_age_days": 772 + "author_account_age_days": 773 }, "https://github.com/Derfuu/Derfuu_ComfyUI_ModdedNodes": { - "stars": 290, + "stars": 291, "last_update": "2024-06-17 21:28:45", - "author_account_age_days": 1769 + "author_account_age_days": 1770 }, "https://github.com/DigitalIO/ComfyUI-stable-wildcards": { "stars": 19, "last_update": "2024-05-24 21:15:08", - "author_account_age_days": 4033 + "author_account_age_days": 4034 }, "https://github.com/DimaChaichan/LAizypainter-Exporter-ComfyUI": { "stars": 7, "last_update": "2024-05-22 23:14:06", - "author_account_age_days": 3067 + "author_account_age_days": 3069 }, "https://github.com/DonBaronFactory/ComfyUI-Cre8it-Nodes": { "stars": 0, "last_update": "2024-05-22 23:24:30", - "author_account_age_days": 3482 + "author_account_age_days": 3484 }, "https://github.com/DrJKL/ComfyUI-Anchors": { "stars": 4, "last_update": "2024-06-14 07:12:14", - "author_account_age_days": 4989 + "author_account_age_days": 4990 }, "https://github.com/DrMWeigand/ComfyUI_ColorImageDetection": { "stars": 1, "last_update": "2024-05-23 00:25:14", - "author_account_age_days": 1026 + "author_account_age_days": 1028 }, "https://github.com/Electrofried/ComfyUI-OpenAINode": { "stars": 18, "last_update": "2024-06-14 09:01:22", - "author_account_age_days": 2615 + "author_account_age_days": 2616 }, "https://github.com/EllangoK/ComfyUI-post-processing-nodes": { "stars": 144, "last_update": "2024-05-22 17:54:09", - "author_account_age_days": 2773 + "author_account_age_days": 2774 }, "https://github.com/ExponentialML/ComfyUI_ModelScopeT2V": { "stars": 25, "last_update": "2024-05-23 00:12:17", - "author_account_age_days": 1618 + "author_account_age_days": 1619 }, "https://github.com/ExponentialML/ComfyUI_Native_DynamiCrafter": { "stars": 98, "last_update": "2024-06-08 02:33:02", - "author_account_age_days": 1618 + "author_account_age_days": 1619 }, "https://github.com/ExponentialML/ComfyUI_VisualStylePrompting": { "stars": 252, "last_update": "2024-05-23 00:12:41", - "author_account_age_days": 1618 + "author_account_age_days": 1619 }, "https://github.com/Extraltodeus/ComfyUI-AutomaticCFG": { - "stars": 269, + "stars": 270, "last_update": "2024-06-19 05:31:19", - "author_account_age_days": 3144 + "author_account_age_days": 3145 }, "https://github.com/Extraltodeus/LoadLoraWithTags": { "stars": 37, "last_update": "2024-06-03 03:04:45", - "author_account_age_days": 3144 + "author_account_age_days": 3145 }, "https://github.com/Extraltodeus/Stable-Diffusion-temperature-settings": { "stars": 20, "last_update": "2024-06-18 14:03:50", - "author_account_age_days": 3144 + "author_account_age_days": 3145 }, "https://github.com/Extraltodeus/Uncond-Zero-for-ComfyUI": { - "stars": 0, - "last_update": "2024-06-19 06:41:28", - "author_account_age_days": 3144 + "stars": 2, + "last_update": "2024-06-20 02:29:10", + "author_account_age_days": 3145 }, "https://github.com/Extraltodeus/Vector_Sculptor_ComfyUI": { - "stars": 80, + "stars": 81, "last_update": "2024-06-03 03:04:03", - "author_account_age_days": 3144 + "author_account_age_days": 3145 }, "https://github.com/Extraltodeus/noise_latent_perlinpinpin": { "stars": 22, "last_update": "2024-06-03 03:04:40", - "author_account_age_days": 3144 + "author_account_age_days": 3145 }, "https://github.com/Extraltodeus/sigmas_tools_and_the_golden_scheduler": { "stars": 43, "last_update": "2024-06-11 19:48:04", - "author_account_age_days": 3144 + "author_account_age_days": 3145 }, "https://github.com/Fannovel16/ComfyUI-Frame-Interpolation": { "stars": 335, "last_update": "2024-05-21 00:52:49", - "author_account_age_days": 3126 + "author_account_age_days": 3127 }, "https://github.com/Fannovel16/ComfyUI-Loopchain": { - "stars": 27, + "stars": 28, "last_update": "2023-12-15 14:25:35", - "author_account_age_days": 3126 + "author_account_age_days": 3127 }, "https://github.com/Fannovel16/ComfyUI-MagickWand": { "stars": 70, "last_update": "2024-05-20 14:13:55", - "author_account_age_days": 3126 + "author_account_age_days": 3127 }, "https://github.com/Fannovel16/ComfyUI-MotionDiff": { "stars": 145, "last_update": "2024-05-21 00:51:03", - "author_account_age_days": 3126 + "author_account_age_days": 3127 }, "https://github.com/Fannovel16/ComfyUI-Video-Matting": { "stars": 140, "last_update": "2024-05-21 00:51:54", - "author_account_age_days": 3126 + "author_account_age_days": 3127 }, "https://github.com/Fannovel16/comfyui_controlnet_aux": { - "stars": 1554, + "stars": 1566, "last_update": "2024-06-18 12:43:54", - "author_account_age_days": 3126 + "author_account_age_days": 3127 }, "https://github.com/Fantaxico/ComfyUI-GCP-Storage": { "stars": 0, "last_update": "2024-06-14 09:05:52", - "author_account_age_days": 530 + "author_account_age_days": 531 }, "https://github.com/Feidorian/feidorian-ComfyNodes": { "stars": 5, - "last_update": "2024-05-22 21:30:52", - "author_account_age_days": 2750 + "last_update": "2024-06-20 11:31:37", + "author_account_age_days": 2751 }, "https://github.com/Fictiverse/ComfyUI_Fictiverse": { "stars": 7, "last_update": "2024-06-05 19:03:21", - "author_account_age_days": 666 + "author_account_age_days": 667 }, "https://github.com/Fihade/IC-Light-ComfyUI-Node": { "stars": 5, "last_update": "2024-05-23 01:20:21", - "author_account_age_days": 2742 + "author_account_age_days": 2743 }, "https://github.com/FizzleDorf/ComfyUI-AIT": { "stars": 43, "last_update": "2024-05-16 23:55:47", - "author_account_age_days": 1974 + "author_account_age_days": 1975 }, "https://github.com/FizzleDorf/ComfyUI_FizzNodes": { "stars": 310, "last_update": "2024-06-13 03:43:00", - "author_account_age_days": 1974 + "author_account_age_days": 1975 }, "https://github.com/FlyingFireCo/tiled_ksampler": { "stars": 56, "last_update": "2024-05-22 23:15:17", - "author_account_age_days": 627 + "author_account_age_days": 628 }, "https://github.com/ForeignGods/ComfyUI-Mana-Nodes": { "stars": 176, "last_update": "2024-05-29 18:29:05", - "author_account_age_days": 1238 + "author_account_age_days": 1239 }, "https://github.com/Franck-Demongin/NX_PromptStyler": { "stars": 5, "last_update": "2024-05-22 23:25:21", - "author_account_age_days": 1766 + "author_account_age_days": 1767 }, "https://github.com/FredBill1/comfyui-fb-utils": { "stars": 0, "last_update": "2024-05-23 01:41:02", - "author_account_age_days": 2312 + "author_account_age_days": 2313 }, "https://github.com/G-370/ComfyUI-SD3-Powerlab": { "stars": 16, "last_update": "2024-06-19 02:28:26", - "author_account_age_days": 1514 + "author_account_age_days": 1515 }, "https://github.com/GMapeSplat/ComfyUI_ezXY": { "stars": 22, "last_update": "2024-05-29 17:43:08", - "author_account_age_days": 1292 + "author_account_age_days": 1293 }, "https://github.com/GTSuya-Studio/ComfyUI-Gtsuya-Nodes": { "stars": 7, "last_update": "2024-05-22 21:31:52", - "author_account_age_days": 2551 + "author_account_age_days": 2552 }, "https://github.com/GavChap/ComfyUI-SD3LatentSelectRes": { - "stars": 2, - "last_update": "2024-06-17 13:42:14", - "author_account_age_days": 4562 + "stars": 4, + "last_update": "2024-06-19 11:01:41", + "author_account_age_days": 4563 }, "https://github.com/GentlemanHu/ComfyUI-SunoAI": { "stars": 10, "last_update": "2024-06-14 06:02:29", - "author_account_age_days": 2378 + "author_account_age_days": 2379 }, "https://github.com/Goktug/comfyui-saveimage-plus": { "stars": 1, - "last_update": "2024-06-14 07:08:34", - "author_account_age_days": 4926 + "last_update": "2024-06-20 07:23:48", + "author_account_age_days": 4928 }, "https://github.com/Gourieff/comfyui-reactor-node": { - "stars": 1036, + "stars": 1041, "last_update": "2024-06-17 04:37:25", - "author_account_age_days": 1114 + "author_account_age_days": 1115 }, "https://github.com/GraftingRayman/ComfyUI_GraftingRayman": { - "stars": 11, - "last_update": "2024-06-19 06:30:09", - "author_account_age_days": 157 + "stars": 12, + "last_update": "2024-06-19 16:59:55", + "author_account_age_days": 159 }, "https://github.com/Guillaume-Fgt/ComfyUI_StableCascadeLatentRatio": { "stars": 3, "last_update": "2024-06-14 08:59:42", - "author_account_age_days": 1475 + "author_account_age_days": 1476 }, "https://github.com/HAL41/ComfyUI-aichemy-nodes": { "stars": 4, "last_update": "2024-05-22 23:10:19", - "author_account_age_days": 2840 + "author_account_age_days": 2841 }, "https://github.com/Hangover3832/ComfyUI-Hangover-Moondream": { "stars": 37, "last_update": "2024-06-14 08:08:20", - "author_account_age_days": 604 + "author_account_age_days": 606 }, "https://github.com/Hangover3832/ComfyUI-Hangover-Nodes": { "stars": 33, "last_update": "2024-06-14 08:08:28", - "author_account_age_days": 604 + "author_account_age_days": 606 }, "https://github.com/Hangover3832/ComfyUI-Hangover-Recognize_Anything": { "stars": 14, "last_update": "2024-06-14 08:10:52", - "author_account_age_days": 604 + "author_account_age_days": 606 }, "https://github.com/Haoming02/comfyui-clear-screen": { "stars": 1, "last_update": "2024-06-14 08:59:35", - "author_account_age_days": 1326 + "author_account_age_days": 1327 }, "https://github.com/Haoming02/comfyui-diffusion-cg": { - "stars": 49, + "stars": 50, "last_update": "2024-06-14 07:10:28", - "author_account_age_days": 1326 + "author_account_age_days": 1327 }, "https://github.com/Haoming02/comfyui-floodgate": { "stars": 25, "last_update": "2024-06-14 07:11:55", - "author_account_age_days": 1326 + "author_account_age_days": 1327 }, "https://github.com/Haoming02/comfyui-menu-anchor": { "stars": 3, "last_update": "2024-06-14 07:10:37", - "author_account_age_days": 1326 + "author_account_age_days": 1327 }, "https://github.com/Haoming02/comfyui-prompt-format": { "stars": 28, "last_update": "2024-06-14 07:12:02", - "author_account_age_days": 1326 + "author_account_age_days": 1327 }, "https://github.com/Haoming02/comfyui-tab-handler": { "stars": 4, "last_update": "2024-06-14 08:09:45", - "author_account_age_days": 1326 + "author_account_age_days": 1327 }, "https://github.com/HaydenReeve/ComfyUI-Better-Strings": { "stars": 0, "last_update": "2024-05-22 23:20:05", - "author_account_age_days": 2236 + "author_account_age_days": 2238 }, "https://github.com/HebelHuber/comfyui-enhanced-save-node": { "stars": 1, "last_update": "2024-06-14 08:59:28", - "author_account_age_days": 2318 + "author_account_age_days": 2320 }, "https://github.com/Hiero207/ComfyUI-Hiero-Nodes": { "stars": 5, "last_update": "2024-05-22 23:16:16", - "author_account_age_days": 1693 + "author_account_age_days": 1694 }, "https://github.com/Hopping-Mad-Games/ComfyUI_LiteLLM": { "stars": 2, "last_update": "2024-06-14 15:45:39", - "author_account_age_days": 183 + "author_account_age_days": 184 }, "https://github.com/IDGallagher/ComfyUI-IG-Nodes": { "stars": 0, "last_update": "2024-06-04 00:24:47", - "author_account_age_days": 5475 + "author_account_age_days": 5477 }, "https://github.com/ITurchenko/ComfyUI-SizeFromArray": { "stars": 0, "last_update": "2024-05-24 14:09:58", - "author_account_age_days": 3703 + "author_account_age_days": 3704 }, "https://github.com/Intersection98/ComfyUI_MX_post_processing-nodes": { "stars": 9, "last_update": "2024-05-23 01:12:46", - "author_account_age_days": 2625 + "author_account_age_days": 2626 }, "https://github.com/Inzaniak/comfyui-ranbooru": { "stars": 7, "last_update": "2024-05-22 23:12:23", - "author_account_age_days": 3904 + "author_account_age_days": 3905 }, "https://github.com/IsItDanOrAi/ComfyUI-Stereopsis": { "stars": 2, "last_update": "2024-05-23 00:22:46", - "author_account_age_days": 106 + "author_account_age_days": 107 }, "https://github.com/JPS-GER/ComfyUI_JPS-Nodes": { - "stars": 34, + "stars": 36, "last_update": "2024-05-22 20:39:14", - "author_account_age_days": 310 + "author_account_age_days": 311 }, "https://github.com/Jannchie/ComfyUI-J": { - "stars": 61, - "last_update": "2024-05-23 00:16:12", - "author_account_age_days": 2548 + "stars": 62, + "last_update": "2024-06-20 12:08:09", + "author_account_age_days": 2549 }, "https://github.com/JaredTherriault/ComfyUI-JNodes": { - "stars": 12, - "last_update": "2024-06-11 03:54:30", - "author_account_age_days": 3566 + "stars": 13, + "last_update": "2024-06-19 23:54:22", + "author_account_age_days": 3567 }, "https://github.com/JayLyu/ComfyUI_BaiKong_Node": { "stars": 0, "last_update": "2024-06-18 16:07:31", - "author_account_age_days": 3263 + "author_account_age_days": 3264 }, "https://github.com/JcandZero/ComfyUI_GLM4Node": { "stars": 25, "last_update": "2024-05-22 23:12:46", - "author_account_age_days": 685 + "author_account_age_days": 686 }, "https://github.com/Jcd1230/rembg-comfyui-node": { "stars": 120, "last_update": "2024-05-22 17:58:34", - "author_account_age_days": 4881 + "author_account_age_days": 4882 }, "https://github.com/JerryOrbachJr/ComfyUI-RandomSize": { "stars": 3, "last_update": "2024-05-22 23:18:51", - "author_account_age_days": 150 + "author_account_age_days": 151 }, "https://github.com/JettHu/ComfyUI-TCD": { - "stars": 83, + "stars": 84, "last_update": "2024-06-03 11:40:18", - "author_account_age_days": 2352 + "author_account_age_days": 2354 }, "https://github.com/JettHu/ComfyUI_TGate": { "stars": 48, "last_update": "2024-05-26 08:29:23", - "author_account_age_days": 2352 + "author_account_age_days": 2354 }, "https://github.com/Jordach/comfy-plasma": { "stars": 49, "last_update": "2024-05-22 18:08:28", - "author_account_age_days": 4507 + "author_account_age_days": 4508 }, "https://github.com/Kaharos94/ComfyUI-Saveaswebp": { "stars": 31, "last_update": "2024-05-22 18:06:48", - "author_account_age_days": 1189 + "author_account_age_days": 1191 }, "https://github.com/Kangkang625/ComfyUI-paint-by-example": { "stars": 14, "last_update": "2024-05-22 22:20:27", - "author_account_age_days": 908 + "author_account_age_days": 909 }, "https://github.com/KewkLW/ComfyUI-kewky_tools": { "stars": 3, "last_update": "2024-05-23 01:20:32", - "author_account_age_days": 1682 + "author_account_age_days": 1683 }, "https://github.com/Koishi-Star/Euler-Smea-Dyn-Sampler": { - "stars": 133, + "stars": 134, "last_update": "2024-06-16 15:50:10", - "author_account_age_days": 1480 + "author_account_age_days": 1481 }, "https://github.com/KoreTeknology/ComfyUI-Universal-Styler": { "stars": 5, "last_update": "2024-06-14 10:28:10", - "author_account_age_days": 3185 + "author_account_age_days": 3186 }, "https://github.com/Kosinkadink/ComfyUI-Advanced-ControlNet": { - "stars": 412, - "last_update": "2024-06-13 12:57:15", - "author_account_age_days": 3711 + "stars": 413, + "last_update": "2024-06-20 06:26:07", + "author_account_age_days": 3712 }, "https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved": { - "stars": 2239, + "stars": 2242, "last_update": "2024-06-17 12:20:18", - "author_account_age_days": 3711 + "author_account_age_days": 3712 }, "https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite": { - "stars": 393, + "stars": 396, "last_update": "2024-06-18 21:43:05", - "author_account_age_days": 3711 + "author_account_age_days": 3712 }, "https://github.com/KytraScript/ComfyUI_KytraWebhookHTTP": { "stars": 3, "last_update": "2024-05-23 00:21:43", - "author_account_age_days": 1774 + "author_account_age_days": 1775 }, "https://github.com/LEv145/images-grid-comfy-plugin": { "stars": 129, "last_update": "2024-05-30 17:54:32", - "author_account_age_days": 2202 + "author_account_age_days": 2203 }, "https://github.com/LZpenguin/ComfyUI-Text": { "stars": 5, "last_update": "2024-06-19 03:37:22", - "author_account_age_days": 1974 + "author_account_age_days": 1975 }, "https://github.com/LarryJane491/Image-Captioning-in-ComfyUI": { "stars": 29, "last_update": "2024-06-06 20:45:43", - "author_account_age_days": 158 + "author_account_age_days": 160 }, "https://github.com/LarryJane491/Lora-Training-in-Comfy": { - "stars": 257, + "stars": 260, "last_update": "2024-06-09 05:24:00", - "author_account_age_days": 158 + "author_account_age_days": 160 }, "https://github.com/Layer-norm/comfyui-lama-remover": { - "stars": 53, + "stars": 55, "last_update": "2024-05-25 00:12:04", - "author_account_age_days": 327 + "author_account_age_days": 328 }, "https://github.com/Lerc/canvas_tab": { "stars": 127, "last_update": "2024-05-22 20:48:45", - "author_account_age_days": 5362 + "author_account_age_days": 5363 }, "https://github.com/Limitex/ComfyUI-Calculation": { "stars": 0, "last_update": "2024-05-22 22:18:40", - "author_account_age_days": 1269 + "author_account_age_days": 1271 }, "https://github.com/Limitex/ComfyUI-Diffusers": { - "stars": 107, + "stars": 108, "last_update": "2024-05-22 22:18:57", - "author_account_age_days": 1269 + "author_account_age_days": 1271 }, "https://github.com/Loewen-Hob/rembg-comfyui-node-better": { "stars": 32, "last_update": "2024-05-23 00:32:53", - "author_account_age_days": 465 + "author_account_age_days": 466 }, "https://github.com/LonicaMewinsky/ComfyUI-MakeFrame": { "stars": 23, "last_update": "2024-05-22 21:29:02", - "author_account_age_days": 970 + "author_account_age_days": 971 }, "https://github.com/LonicaMewinsky/ComfyUI-RawSaver": { "stars": 1, "last_update": "2024-05-22 21:31:28", - "author_account_age_days": 970 + "author_account_age_days": 971 }, "https://github.com/Ludobico/ComfyUI-ScenarioPrompt": { "stars": 13, "last_update": "2024-06-14 23:40:08", - "author_account_age_days": 1027 + "author_account_age_days": 1028 }, "https://github.com/LyazS/comfyui-anime-seg": { "stars": 4, "last_update": "2024-05-22 23:21:49", - "author_account_age_days": 2852 + "author_account_age_days": 2853 }, "https://github.com/M1kep/ComfyLiterals": { "stars": 11, "last_update": "2024-05-22 20:31:38", - "author_account_age_days": 4253 + "author_account_age_days": 4254 }, "https://github.com/M1kep/ComfyUI-KepOpenAI": { "stars": 26, "last_update": "2024-05-22 20:33:54", - "author_account_age_days": 4253 + "author_account_age_days": 4254 }, "https://github.com/M1kep/ComfyUI-OtherVAEs": { "stars": 2, "last_update": "2024-05-22 20:33:41", - "author_account_age_days": 4253 + "author_account_age_days": 4254 }, "https://github.com/M1kep/Comfy_KepKitchenSink": { "stars": 0, "last_update": "2024-05-22 20:33:29", - "author_account_age_days": 4253 + "author_account_age_days": 4254 }, "https://github.com/M1kep/Comfy_KepListStuff": { "stars": 26, "last_update": "2024-05-22 20:31:26", - "author_account_age_days": 4253 + "author_account_age_days": 4254 }, "https://github.com/M1kep/Comfy_KepMatteAnything": { "stars": 10, "last_update": "2024-05-22 20:33:16", - "author_account_age_days": 4253 + "author_account_age_days": 4254 }, "https://github.com/M1kep/KepPromptLang": { "stars": 5, "last_update": "2024-05-22 20:32:56", - "author_account_age_days": 4253 + "author_account_age_days": 4254 }, "https://github.com/MNeMoNiCuZ/ComfyUI-mnemic-nodes": { "stars": 26, "last_update": "2024-06-04 23:56:25", - "author_account_age_days": 1599 + "author_account_age_days": 1601 }, "https://github.com/Makeezi/ComfyUI-promptLAB": { "stars": 0, "last_update": "2024-05-23 01:24:51", - "author_account_age_days": 1776 + "author_account_age_days": 1778 }, "https://github.com/Mamaaaamooooo/batchImg-rembg-ComfyUI-nodes": { "stars": 12, "last_update": "2024-06-14 10:24:17", - "author_account_age_days": 377 + "author_account_age_days": 378 }, "https://github.com/ManglerFTW/ComfyI2I": { "stars": 139, "last_update": "2024-06-14 11:01:01", - "author_account_age_days": 650 + "author_account_age_days": 651 }, "https://github.com/MaraScott/ComfyUI_MaraScott_Nodes": { "stars": 52, - "last_update": "2024-06-17 22:21:27", - "author_account_age_days": 4964 + "last_update": "2024-06-19 23:25:34", + "author_account_age_days": 4965 }, "https://github.com/MarcusNyne/m9-prompts-comfyui": { "stars": 1, "last_update": "2024-06-14 15:25:15", - "author_account_age_days": 1417 + "author_account_age_days": 1418 }, "https://github.com/MariusKM/ComfyUI-BadmanNodes": { "stars": 0, "last_update": "2024-06-14 12:01:26", - "author_account_age_days": 2225 + "author_account_age_days": 2226 }, "https://github.com/MarkoCa1/ComfyUI-Text": { "stars": 2, "last_update": "2024-05-23 00:15:39", - "author_account_age_days": 1628 + "author_account_age_days": 1629 }, "https://github.com/MarkoCa1/ComfyUI_Segment_Mask": { "stars": 15, "last_update": "2024-05-23 00:15:51", - "author_account_age_days": 1628 + "author_account_age_days": 1629 }, "https://github.com/Mason-McGough/ComfyUI-Mosaica": { "stars": 4, "last_update": "2024-05-29 12:57:49", - "author_account_age_days": 3200 + "author_account_age_days": 3201 }, "https://github.com/Millyarde/Pomfy": { "stars": 7, "last_update": "2024-05-22 22:22:48", - "author_account_age_days": 902 + "author_account_age_days": 903 }, "https://github.com/MinusZoneAI/ComfyUI-Prompt-MZ": { - "stars": 64, - "last_update": "2024-06-17 04:43:45", - "author_account_age_days": 60 + "stars": 66, + "last_update": "2024-06-19 19:12:36", + "author_account_age_days": 61 }, "https://github.com/MinusZoneAI/ComfyUI-StylizePhoto-MZ": { "stars": 16, "last_update": "2024-05-23 01:13:32", - "author_account_age_days": 60 + "author_account_age_days": 61 }, "https://github.com/Miosp/ComfyUI-FBCNN": { "stars": 4, "last_update": "2024-05-24 12:13:08", - "author_account_age_days": 2510 + "author_account_age_days": 2512 }, "https://github.com/MitoshiroPJ/comfyui_slothful_attention": { "stars": 5, "last_update": "2024-05-22 22:09:15", - "author_account_age_days": 3962 + "author_account_age_days": 3964 }, "https://github.com/MokkaBoss1/ComfyUI_Mokkaboss1": { "stars": 15, - "last_update": "2024-06-18 18:18:28", - "author_account_age_days": 374 + "last_update": "2024-06-20 08:03:14", + "author_account_age_days": 375 }, "https://github.com/MrForExample/ComfyUI-3D-Pack": { - "stars": 1630, + "stars": 1633, "last_update": "2024-06-04 20:35:47", - "author_account_age_days": 1556 + "author_account_age_days": 1557 }, "https://github.com/MrForExample/ComfyUI-AnimateAnyone-Evolved": { - "stars": 429, + "stars": 431, "last_update": "2024-06-14 12:02:47", - "author_account_age_days": 1556 + "author_account_age_days": 1557 }, "https://github.com/Munkyfoot/ComfyUI-TextOverlay": { "stars": 2, "last_update": "2024-06-14 10:26:38", - "author_account_age_days": 3040 + "author_account_age_days": 3041 }, "https://github.com/Nestorchik/NStor-ComfyUI-Translation": { "stars": 1, "last_update": "2024-06-14 10:25:32", - "author_account_age_days": 1319 + "author_account_age_days": 1320 }, "https://github.com/NeuralSamurAI/Comfyui-Superprompt-Unofficial": { "stars": 55, "last_update": "2024-05-23 00:22:08", - "author_account_age_days": 88 + "author_account_age_days": 89 }, "https://github.com/Nevysha/ComfyUI-nevysha-top-menu": { - "stars": 4, + "stars": 5, "last_update": "2024-05-23 00:17:31", - "author_account_age_days": 521 + "author_account_age_days": 522 }, "https://github.com/NicholasMcCarthy/ComfyUI_TravelSuite": { "stars": 13, "last_update": "2024-05-22 20:34:46", - "author_account_age_days": 5144 + "author_account_age_days": 5145 }, "https://github.com/NimaNzrii/comfyui-photoshop": { "stars": 171, "last_update": "2024-06-18 22:59:33", - "author_account_age_days": 239 + "author_account_age_days": 240 }, "https://github.com/NimaNzrii/comfyui-popup_preview": { "stars": 34, "last_update": "2024-05-22 22:12:04", - "author_account_age_days": 239 + "author_account_age_days": 240 }, "https://github.com/Niutonian/ComfyUi-NoodleWebcam": { "stars": 27, "last_update": "2024-05-22 21:30:40", - "author_account_age_days": 1037 + "author_account_age_days": 1038 }, "https://github.com/Nlar/ComfyUI_CartoonSegmentation": { "stars": 9, "last_update": "2024-05-22 23:15:37", - "author_account_age_days": 3826 + "author_account_age_days": 3827 }, "https://github.com/NotHarroweD/Harronode": { "stars": 5, "last_update": "2024-05-22 22:18:29", - "author_account_age_days": 1978 + "author_account_age_days": 1979 }, "https://github.com/Nourepide/ComfyUI-Allor": { "stars": 172, "last_update": "2024-05-22 18:11:17", - "author_account_age_days": 2840 + "author_account_age_days": 2842 }, "https://github.com/Nuked88/ComfyUI-N-Nodes": { "stars": 171, "last_update": "2024-05-21 19:52:44", - "author_account_age_days": 4474 + "author_account_age_days": 4475 }, "https://github.com/Nuked88/ComfyUI-N-Sidebar": { - "stars": 370, + "stars": 377, "last_update": "2024-06-18 17:58:13", - "author_account_age_days": 4474 + "author_account_age_days": 4475 }, "https://github.com/Off-Live/ComfyUI-off-suite": { "stars": 0, "last_update": "2024-06-14 12:02:25", - "author_account_age_days": 1167 + "author_account_age_days": 1168 }, "https://github.com/OpenArt-AI/ComfyUI-Assistant": { "stars": 14, "last_update": "2024-05-22 22:16:57", - "author_account_age_days": 770 + "author_account_age_days": 771 }, "https://github.com/PCMonsterx/ComfyUI-CSV-Loader": { "stars": 11, "last_update": "2024-05-22 21:27:10", - "author_account_age_days": 1660 + "author_account_age_days": 1661 }, "https://github.com/ParisNeo/lollms_nodes_suite": { "stars": 9, "last_update": "2024-05-23 00:22:34", - "author_account_age_days": 4764 + "author_account_age_days": 4765 }, "https://github.com/ParmanBabra/ComfyUI-Malefish-Custom-Scripts": { "stars": 0, "last_update": "2024-05-22 21:26:35", - "author_account_age_days": 3638 + "author_account_age_days": 3639 }, "https://github.com/Pfaeff/pfaeff-comfyui": { "stars": 19, "last_update": "2024-05-22 18:21:10", - "author_account_age_days": 3202 + "author_account_age_days": 3203 }, "https://github.com/PnthrLeo/comfyUI-image-search": { "stars": 0, "last_update": "2024-06-14 07:06:45", - "author_account_age_days": 2546 + "author_account_age_days": 2547 }, "https://github.com/Pos13/comfyui-cyclist": { "stars": 16, "last_update": "2024-06-19 09:21:53", - "author_account_age_days": 1512 + "author_account_age_days": 1513 }, "https://github.com/QaisMalkawi/ComfyUI-QaisHelper": { "stars": 2, "last_update": "2024-05-23 20:29:30", - "author_account_age_days": 1245 + "author_account_age_days": 1246 }, "https://github.com/RenderRift/ComfyUI-RenderRiftNodes": { "stars": 6, "last_update": "2024-05-22 22:16:41", - "author_account_age_days": 181 + "author_account_age_days": 182 }, "https://github.com/RomanKuschanow/ComfyUI-Advanced-Latent-Control": { "stars": 15, "last_update": "2024-06-14 08:11:00", - "author_account_age_days": 1376 + "author_account_age_days": 1377 }, "https://github.com/Ron-Digital/ComfyUI-SceneGenerator": { "stars": 2, "last_update": "2024-06-14 08:59:57", - "author_account_age_days": 924 + "author_account_age_days": 925 }, "https://github.com/Ryuukeisyou/comfyui_face_parsing": { "stars": 44, "last_update": "2024-05-22 22:21:46", - "author_account_age_days": 2407 + "author_account_age_days": 2408 }, "https://github.com/Ryuukeisyou/comfyui_io_helpers": { "stars": 1, "last_update": "2024-05-22 22:22:59", - "author_account_age_days": 2407 + "author_account_age_days": 2408 }, "https://github.com/SLAPaper/ComfyUI-Image-Selector": { "stars": 58, "last_update": "2024-05-24 17:03:46", - "author_account_age_days": 3692 + "author_account_age_days": 3693 }, "https://github.com/SLAPaper/ComfyUI-dpmpp_2m_alt-Sampler": { "stars": 8, "last_update": "2024-06-18 19:22:50", - "author_account_age_days": 3692 + "author_account_age_days": 3693 }, "https://github.com/SOELexicon/ComfyUI-LexMSDBNodes": { "stars": 4, "last_update": "2024-05-22 18:15:52", - "author_account_age_days": 4078 + "author_account_age_days": 4079 }, "https://github.com/SOELexicon/ComfyUI-LexTools": { "stars": 23, "last_update": "2024-05-23 09:39:07", - "author_account_age_days": 4078 + "author_account_age_days": 4079 }, "https://github.com/SamKhoze/ComfyUI-DeepFuze": { - "stars": 99, - "last_update": "2024-06-19 06:03:29", - "author_account_age_days": 1438 + "stars": 138, + "last_update": "2024-06-19 18:54:32", + "author_account_age_days": 1439 }, "https://github.com/SayanoAI/Comfy-RVC": { "stars": 2, "last_update": "2024-06-14 08:57:33", - "author_account_age_days": 2598 + "author_account_age_days": 2599 }, "https://github.com/Scholar01/ComfyUI-Keyframe": { "stars": 10, "last_update": "2024-06-14 09:01:30", - "author_account_age_days": 3191 + "author_account_age_days": 3192 }, "https://github.com/Scorpinaus/ComfyUI-DiffusersLoader": { "stars": 3, "last_update": "2024-06-14 09:02:43", - "author_account_age_days": 1105 + "author_account_age_days": 1106 }, "https://github.com/ScreamingHawk/comfyui-ollama-prompt-encode": { "stars": 4, "last_update": "2024-06-18 02:52:45", - "author_account_age_days": 4501 + "author_account_age_days": 4502 }, "https://github.com/SeaArtLab/ComfyUI-Long-CLIP": { "stars": 59, "last_update": "2024-06-14 08:08:26", - "author_account_age_days": 71 + "author_account_age_days": 73 }, "https://github.com/SeargeDP/SeargeSDXL": { - "stars": 739, + "stars": 740, "last_update": "2024-05-22 00:28:26", - "author_account_age_days": 4166 + "author_account_age_days": 4167 }, "https://github.com/Seedsa/Fooocus_Nodes": { "stars": 37, "last_update": "2024-06-03 17:13:53", - "author_account_age_days": 2603 + "author_account_age_days": 2604 }, "https://github.com/Shadetail/ComfyUI_Eagleshadow": { "stars": 1, "last_update": "2024-06-15 13:04:49", - "author_account_age_days": 3392 + "author_account_age_days": 3393 }, "https://github.com/ShmuelRonen/ComfyUI-SVDResizer": { "stars": 1, "last_update": "2024-06-14 11:50:52", - "author_account_age_days": 1200 + "author_account_age_days": 1201 }, "https://github.com/ShmuelRonen/ComfyUI_Gemini_Flash": { "stars": 6, "last_update": "2024-06-15 17:12:05", - "author_account_age_days": 1200 + "author_account_age_days": 1201 }, "https://github.com/ShmuelRonen/ComfyUI_wav2lip": { "stars": 45, "last_update": "2024-06-15 10:03:53", - "author_account_age_days": 1200 + "author_account_age_days": 1201 }, "https://github.com/Shraknard/ComfyUI-Remover": { "stars": 4, "last_update": "2024-05-22 23:15:06", - "author_account_age_days": 2311 + "author_account_age_days": 2312 }, "https://github.com/Siberpone/lazy-pony-prompter": { "stars": 23, "last_update": "2024-05-22 23:12:00", - "author_account_age_days": 447 + "author_account_age_days": 448 }, "https://github.com/Smirnov75/ComfyUI-mxToolkit": { - "stars": 46, - "last_update": "2024-06-16 18:22:10", - "author_account_age_days": 1506 + "stars": 47, + "last_update": "2024-06-19 13:12:38", + "author_account_age_days": 1507 }, "https://github.com/SoftMeng/ComfyUI_ImageToText": { - "stars": 5, + "stars": 6, "last_update": "2024-06-14 08:08:36", - "author_account_age_days": 3518 + "author_account_age_days": 3519 }, "https://github.com/SoftMeng/ComfyUI_Mexx_Poster": { - "stars": 15, + "stars": 16, "last_update": "2024-06-14 07:06:27", - "author_account_age_days": 3518 + "author_account_age_days": 3519 }, "https://github.com/SoftMeng/ComfyUI_Mexx_Styler": { "stars": 17, "last_update": "2024-06-14 07:09:03", - "author_account_age_days": 3518 + "author_account_age_days": 3519 }, "https://github.com/Sorcerio/MBM-Music-Visualizer": { "stars": 14, "last_update": "2024-05-23 01:09:18", - "author_account_age_days": 4242 + "author_account_age_days": 4243 }, "https://github.com/SozeInc/ComfyUI-Mobile": { "stars": 0, "last_update": "2024-06-14 07:09:00", - "author_account_age_days": 74 + "author_account_age_days": 75 }, "https://github.com/SpaceKendo/ComfyUI-svd_txt2vid": { "stars": 6, "last_update": "2024-05-22 22:11:52", - "author_account_age_days": 203 + "author_account_age_days": 204 }, "https://github.com/Stability-AI/ComfyUI-SAI_API": { - "stars": 37, + "stars": 38, "last_update": "2024-06-06 14:18:15", - "author_account_age_days": 837 + "author_account_age_days": 838 }, "https://github.com/Stability-AI/stability-ComfyUI-nodes": { - "stars": 179, + "stars": 180, "last_update": "2024-05-22 15:30:47", - "author_account_age_days": 837 + "author_account_age_days": 838 }, "https://github.com/StartHua/ComfyUI_OOTDiffusion_CXH": { "stars": 90, "last_update": "2024-06-14 08:12:12", - "author_account_age_days": 2830 + "author_account_age_days": 2831 }, "https://github.com/StartHua/ComfyUI_PCDMs": { "stars": 2, "last_update": "2024-05-22 23:21:14", - "author_account_age_days": 2830 + "author_account_age_days": 2831 }, "https://github.com/StartHua/ComfyUI_Seg_VITON": { - "stars": 164, + "stars": 165, "last_update": "2024-05-22 23:20:17", - "author_account_age_days": 2830 + "author_account_age_days": 2831 }, "https://github.com/StartHua/Comfyui_joytag": { "stars": 19, "last_update": "2024-05-22 23:20:28", - "author_account_age_days": 2830 + "author_account_age_days": 2831 }, "https://github.com/StartHua/Comfyui_segformer_b2_clothes": { "stars": 36, "last_update": "2024-05-22 23:20:39", - "author_account_age_days": 2830 + "author_account_age_days": 2831 }, "https://github.com/SuperBeastsAI/ComfyUI-SuperBeasts": { "stars": 98, "last_update": "2024-06-01 20:27:53", - "author_account_age_days": 84 + "author_account_age_days": 85 }, "https://github.com/SuperMasterBlasterLaser/ComfyUI_YOLO_Classifiers": { "stars": 0, "last_update": "2024-06-17 15:08:33", - "author_account_age_days": 3573 + "author_account_age_days": 3574 }, "https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes": { - "stars": 471, + "stars": 475, "last_update": "2024-06-05 01:09:25", - "author_account_age_days": 2144 + "author_account_age_days": 2145 }, "https://github.com/Sxela/ComfyWarp": { "stars": 21, "last_update": "2024-05-22 20:47:11", - "author_account_age_days": 3367 + "author_account_age_days": 3368 }, "https://github.com/TGu-97/ComfyUI-TGu-utils": { "stars": 1, "last_update": "2024-05-22 21:07:45", - "author_account_age_days": 524 + "author_account_age_days": 525 }, "https://github.com/THtianhao/ComfyUI-FaceChain": { "stars": 83, "last_update": "2024-05-24 08:41:14", - "author_account_age_days": 3686 + "author_account_age_days": 3687 }, "https://github.com/THtianhao/ComfyUI-Portrait-Maker": { "stars": 167, "last_update": "2024-05-22 21:18:05", - "author_account_age_days": 3686 + "author_account_age_days": 3687 }, "https://github.com/TJ16th/comfyUI_TJ_NormalLighting": { "stars": 128, "last_update": "2024-05-23 00:25:37", - "author_account_age_days": 2530 + "author_account_age_days": 2531 }, "https://github.com/TMElyralab/Comfyui-MusePose": { - "stars": 250, + "stars": 252, "last_update": "2024-06-12 11:44:33", - "author_account_age_days": 92 + "author_account_age_days": 93 }, "https://github.com/TRI3D-LC/ComfyUI-MiroBoard": { "stars": 0, "last_update": "2024-06-19 07:24:27", - "author_account_age_days": 433 + "author_account_age_days": 435 }, "https://github.com/TRI3D-LC/tri3d-comfyui-nodes": { "stars": 17, "last_update": "2024-06-13 06:05:42", - "author_account_age_days": 433 + "author_account_age_days": 435 }, "https://github.com/TW-CUI/TW-CUI-Util": { - "stars": 0, + "stars": 1, "last_update": "2024-06-17 03:03:57", - "author_account_age_days": 26 + "author_account_age_days": 27 }, "https://github.com/TaiTair/comfyui-simswap": { "stars": 7, "last_update": "2024-05-28 21:58:53", - "author_account_age_days": 3561 + "author_account_age_days": 3562 }, "https://github.com/Taremin/comfyui-prompt-extranetworks": { "stars": 2, "last_update": "2024-05-22 23:08:34", - "author_account_age_days": 2210 + "author_account_age_days": 2211 }, "https://github.com/Taremin/comfyui-string-tools": { "stars": 1, "last_update": "2024-05-22 23:08:45", - "author_account_age_days": 2210 + "author_account_age_days": 2211 }, "https://github.com/Taremin/webui-monaco-prompt": { "stars": 24, "last_update": "2024-05-23 13:58:57", - "author_account_age_days": 2210 + "author_account_age_days": 2211 }, "https://github.com/TeaCrab/ComfyUI-TeaNodes": { "stars": 4, "last_update": "2024-05-22 20:44:05", - "author_account_age_days": 3212 + "author_account_age_days": 3213 }, "https://github.com/TemryL/ComfyS3": { "stars": 15, - "last_update": "2024-06-15 17:03:52", - "author_account_age_days": 863 + "last_update": "2024-06-20 00:36:13", + "author_account_age_days": 864 }, "https://github.com/TemryL/ComfyUI-IDM-VTON": { - "stars": 195, - "last_update": "2024-06-18 17:59:20", - "author_account_age_days": 863 + "stars": 199, + "last_update": "2024-06-20 00:36:47", + "author_account_age_days": 864 }, "https://github.com/TencentQQGYLab/ComfyUI-ELLA": { - "stars": 281, + "stars": 284, "last_update": "2024-05-07 03:07:38", - "author_account_age_days": 92 + "author_account_age_days": 94 }, "https://github.com/TheBarret/ZSuite": { "stars": 6, "last_update": "2024-05-22 21:29:14", - "author_account_age_days": 2707 + "author_account_age_days": 2708 }, "https://github.com/TheBill2001/comfyui-upscale-by-model": { "stars": 1, "last_update": "2024-06-18 17:57:06", - "author_account_age_days": 1436 + "author_account_age_days": 1438 }, "https://github.com/TheMistoAI/ComfyUI-Anyline": { - "stars": 261, + "stars": 262, "last_update": "2024-06-12 11:34:17", - "author_account_age_days": 160 + "author_account_age_days": 161 }, "https://github.com/ThereforeGames/ComfyUI-Unprompted": { "stars": 3, "last_update": "2024-06-14 07:11:47", - "author_account_age_days": 930 + "author_account_age_days": 931 }, "https://github.com/TinyTerra/ComfyUI_tinyterraNodes": { - "stars": 317, - "last_update": "2024-06-17 12:37:41", - "author_account_age_days": 616 + "stars": 318, + "last_update": "2024-06-20 05:40:15", + "author_account_age_days": 617 }, "https://github.com/TripleHeadedMonkey/ComfyUI_MileHighStyler": { "stars": 18, "last_update": "2024-05-22 22:13:06", - "author_account_age_days": 855 + "author_account_age_days": 856 }, "https://github.com/Tropfchen/ComfyUI-Embedding_Picker": { "stars": 25, "last_update": "2024-05-24 20:02:20", - "author_account_age_days": 3848 + "author_account_age_days": 3849 }, "https://github.com/Tropfchen/ComfyUI-yaResolutionSelector": { - "stars": 6, + "stars": 7, "last_update": "2024-05-24 19:48:43", - "author_account_age_days": 3848 + "author_account_age_days": 3849 }, "https://github.com/Trung0246/ComfyUI-0246": { "stars": 91, "last_update": "2024-05-24 03:45:59", - "author_account_age_days": 3375 + "author_account_age_days": 3376 }, "https://github.com/Ttl/ComfyUi_NNLatentUpscale": { - "stars": 162, + "stars": 163, "last_update": "2024-05-22 20:50:03", - "author_account_age_days": 4916 + "author_account_age_days": 4917 }, "https://github.com/TylerZoro/SD3-Scaling": { "stars": 0, "last_update": "2024-06-15 16:59:22", - "author_account_age_days": 1280 + "author_account_age_days": 1281 }, "https://github.com/Umikaze-job/select_folder_path_easy": { "stars": 4, "last_update": "2024-05-22 21:30:13", - "author_account_age_days": 213 + "author_account_age_days": 215 }, "https://github.com/VAST-AI-Research/ComfyUI-Tripo": { - "stars": 64, + "stars": 65, "last_update": "2024-05-23 01:11:56", - "author_account_age_days": 237 + "author_account_age_days": 238 }, "https://github.com/WASasquatch/ASTERR": { "stars": 12, "last_update": "2024-06-17 00:49:59", - "author_account_age_days": 4620 + "author_account_age_days": 4621 }, "https://github.com/WASasquatch/ComfyUI_Preset_Merger": { "stars": 21, "last_update": "2024-06-17 00:52:28", - "author_account_age_days": 4620 + "author_account_age_days": 4621 }, "https://github.com/WASasquatch/FreeU_Advanced": { - "stars": 96, + "stars": 97, "last_update": "2024-06-17 04:40:22", - "author_account_age_days": 4620 + "author_account_age_days": 4621 }, "https://github.com/WASasquatch/PPF_Noise_ComfyUI": { "stars": 20, "last_update": "2024-06-14 10:27:23", - "author_account_age_days": 4620 + "author_account_age_days": 4621 }, "https://github.com/WASasquatch/PowerNoiseSuite": { - "stars": 53, + "stars": 54, "last_update": "2024-06-17 01:40:44", - "author_account_age_days": 4620 + "author_account_age_days": 4621 }, "https://github.com/WASasquatch/WAS_Extras": { - "stars": 23, + "stars": 24, "last_update": "2024-06-17 04:08:37", - "author_account_age_days": 4620 + "author_account_age_days": 4621 }, "https://github.com/WASasquatch/was-node-suite-comfyui": { - "stars": 924, - "last_update": "2024-06-17 03:26:50", - "author_account_age_days": 4620 + "stars": 927, + "last_update": "2024-06-20 06:11:03", + "author_account_age_days": 4621 }, "https://github.com/WebDev9000/WebDev9000-Nodes": { "stars": 1, "last_update": "2024-06-14 10:28:22", - "author_account_age_days": 3747 + "author_account_age_days": 3748 }, "https://github.com/Wicloz/ComfyUI-Simply-Nodes": { "stars": 1, "last_update": "2024-06-14 10:28:41", - "author_account_age_days": 3638 + "author_account_age_days": 3640 }, "https://github.com/XmYx/deforum-comfy-nodes": { - "stars": 118, + "stars": 119, "last_update": "2024-06-18 13:27:12", - "author_account_age_days": 2600 + "author_account_age_days": 2601 }, "https://github.com/Xyem/Xycuno-Oobabooga": { "stars": 3, "last_update": "2024-05-23 00:14:14", - "author_account_age_days": 4319 + "author_account_age_days": 4320 }, "https://github.com/YMC-GitHub/ymc-node-suite-comfyui": { "stars": 16, "last_update": "2024-05-22 21:15:51", - "author_account_age_days": 2690 + "author_account_age_days": 2691 }, "https://github.com/YOUR-WORST-TACO/ComfyUI-TacoNodes": { "stars": 14, "last_update": "2024-05-22 20:48:23", - "author_account_age_days": 3750 + "author_account_age_days": 3751 }, "https://github.com/Yanick112/ComfyUI-ToSVG": { "stars": 13, "last_update": "2024-06-14 14:00:22", - "author_account_age_days": 808 + "author_account_age_days": 810 }, "https://github.com/YinBailiang/MergeBlockWeighted_fo_ComfyUI": { "stars": 14, "last_update": "2024-05-22 18:04:22", - "author_account_age_days": 781 + "author_account_age_days": 782 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-APISR": { "stars": 315, "last_update": "2024-05-22 14:14:46", - "author_account_age_days": 334 + "author_account_age_days": 335 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Animated-optical-illusions": { "stars": 17, "last_update": "2024-06-14 07:06:15", - "author_account_age_days": 334 + "author_account_age_days": 335 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-ArtGallery": { - "stars": 349, + "stars": 350, "last_update": "2024-06-12 04:40:50", - "author_account_age_days": 334 + "author_account_age_days": 335 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-BRIA_AI-RMBG": { - "stars": 555, + "stars": 556, "last_update": "2024-05-22 14:14:18", - "author_account_age_days": 334 + "author_account_age_days": 335 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-BiRefNet-ZHO": { - "stars": 139, + "stars": 141, "last_update": "2024-05-22 14:14:31", - "author_account_age_days": 334 + "author_account_age_days": 335 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-DepthFM": { "stars": 67, "last_update": "2024-05-22 14:14:03", - "author_account_age_days": 334 + "author_account_age_days": 335 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Gemini": { - "stars": 585, + "stars": 587, "last_update": "2024-05-22 14:15:11", - "author_account_age_days": 334 + "author_account_age_days": 335 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-InstantID": { - "stars": 1191, + "stars": 1192, "last_update": "2024-05-22 13:57:55", - "author_account_age_days": 334 + "author_account_age_days": 335 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Phi-3-mini": { "stars": 175, "last_update": "2024-06-18 19:10:34", - "author_account_age_days": 334 + "author_account_age_days": 335 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-PhotoMaker-ZHO": { "stars": 746, "last_update": "2024-05-22 14:13:49", - "author_account_age_days": 334 + "author_account_age_days": 335 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-PixArt-alpha-Diffusers": { "stars": 43, "last_update": "2024-05-22 13:40:58", - "author_account_age_days": 334 + "author_account_age_days": 335 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Q-Align": { "stars": 3, "last_update": "2024-05-22 14:15:52", - "author_account_age_days": 334 + "author_account_age_days": 335 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Qwen-2": { "stars": 54, "last_update": "2024-06-14 12:02:55", - "author_account_age_days": 334 + "author_account_age_days": 335 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Qwen-VL-API": { "stars": 180, "last_update": "2024-05-22 14:14:57", - "author_account_age_days": 334 + "author_account_age_days": 335 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-SVD-ZHO": { - "stars": 94, + "stars": 95, "last_update": "2024-05-22 13:40:44", - "author_account_age_days": 334 + "author_account_age_days": 335 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-SegMoE": { "stars": 73, "last_update": "2024-05-22 13:41:14", - "author_account_age_days": 334 + "author_account_age_days": 335 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Text_Image-Composite": { "stars": 74, "last_update": "2024-05-31 12:03:55", - "author_account_age_days": 334 + "author_account_age_days": 335 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-YoloWorld-EfficientSAM": { - "stars": 457, + "stars": 458, "last_update": "2024-05-22 13:01:07", - "author_account_age_days": 334 + "author_account_age_days": 335 }, "https://github.com/ZHO-ZHO-ZHO/comfyui-portrait-master-zh-cn": { - "stars": 1481, + "stars": 1484, "last_update": "2024-06-14 09:00:04", - "author_account_age_days": 334 + "author_account_age_days": 335 }, "https://github.com/ZaneA/ComfyUI-ImageReward": { "stars": 22, "last_update": "2024-06-14 08:59:50", - "author_account_age_days": 5535 + "author_account_age_days": 5536 }, "https://github.com/ZeDarkAdam/ComfyUI-Embeddings-Tools": { "stars": 1, "last_update": "2024-05-23 01:19:25", - "author_account_age_days": 1188 + "author_account_age_days": 1190 }, "https://github.com/Zuellni/ComfyUI-Custom-Nodes": { "stars": 44, "last_update": "2023-09-19 12:11:26", - "author_account_age_days": 517 + "author_account_age_days": 518 }, "https://github.com/Zuellni/ComfyUI-ExLlama": { "stars": 99, "last_update": "2024-06-14 16:54:57", - "author_account_age_days": 517 + "author_account_age_days": 518 }, "https://github.com/Zuellni/ComfyUI-ExLlama-Nodes": { "stars": 99, "last_update": "2024-06-14 16:54:57", - "author_account_age_days": 517 + "author_account_age_days": 518 }, "https://github.com/Zuellni/ComfyUI-PickScore-Nodes": { "stars": 22, "last_update": "2024-06-15 08:23:16", - "author_account_age_days": 517 + "author_account_age_days": 518 }, "https://github.com/a1lazydog/ComfyUI-AudioScheduler": { "stars": 90, "last_update": "2024-06-14 11:02:32", - "author_account_age_days": 4797 + "author_account_age_days": 4798 }, "https://github.com/aburahamu/ComfyUI-IsNiceParts": { "stars": 2, "last_update": "2024-06-14 12:01:40", - "author_account_age_days": 67 + "author_account_age_days": 68 }, "https://github.com/aburahamu/ComfyUI-RequestsPoster": { "stars": 2, "last_update": "2024-06-14 13:59:24", - "author_account_age_days": 67 + "author_account_age_days": 68 }, "https://github.com/abyz22/image_control": { "stars": 14, "last_update": "2024-05-22 23:10:07", - "author_account_age_days": 157 + "author_account_age_days": 158 }, "https://github.com/adbrasi/ComfyUI-TrashNodes-DownloadHuggingface": { "stars": 4, "last_update": "2024-05-22 23:24:45", - "author_account_age_days": 698 + "author_account_age_days": 699 }, "https://github.com/adieyal/comfyui-dynamicprompts": { "stars": 179, "last_update": "2024-06-14 20:46:45", - "author_account_age_days": 5011 + "author_account_age_days": 5012 }, "https://github.com/adriflex/ComfyUI_Blender_Texdiff": { "stars": 1, "last_update": "2024-05-22 23:14:18", - "author_account_age_days": 2217 + "author_account_age_days": 2218 }, "https://github.com/aegis72/aegisflow_utility_nodes": { "stars": 22, "last_update": "2024-05-22 22:10:29", - "author_account_age_days": 578 + "author_account_age_days": 579 }, "https://github.com/aegis72/comfyui-styles-all": { "stars": 29, "last_update": "2024-05-22 22:10:41", - "author_account_age_days": 578 + "author_account_age_days": 579 }, "https://github.com/ai-liam/comfyui-liam": { "stars": 2, - "last_update": "2024-06-11 03:14:52", - "author_account_age_days": 1516 + "last_update": "2024-06-20 01:14:31", + "author_account_age_days": 1517 }, "https://github.com/ai-liam/comfyui_liam_util": { "stars": 2, "last_update": "2024-05-22 22:21:23", - "author_account_age_days": 1516 + "author_account_age_days": 1517 }, "https://github.com/aianimation55/ComfyUI-FatLabels": { "stars": 4, "last_update": "2024-05-22 21:26:01", - "author_account_age_days": 268 + "author_account_age_days": 269 }, "https://github.com/al-swaiti/ComfyUI-CascadeResolutions": { "stars": 1, "last_update": "2024-06-14 10:27:51", - "author_account_age_days": 924 + "author_account_age_days": 925 }, "https://github.com/alessandrozonta/ComfyUI-CenterNode": { "stars": 2, "last_update": "2024-05-23 01:17:52", - "author_account_age_days": 1191 + "author_account_age_days": 1192 }, "https://github.com/alessandrozonta/ComfyUI-Layers": { "stars": 10, "last_update": "2024-06-14 09:04:36", - "author_account_age_days": 1191 + "author_account_age_days": 1192 }, "https://github.com/alessandrozonta/ComfyUI-OpenPose": { "stars": 1, "last_update": "2024-06-14 13:59:36", - "author_account_age_days": 1191 + "author_account_age_days": 1192 }, "https://github.com/alexopus/ComfyUI-Image-Saver": { "stars": 31, - "last_update": "2024-06-16 11:31:41", - "author_account_age_days": 2674 + "last_update": "2024-06-19 18:13:53", + "author_account_age_days": 2675 }, "https://github.com/ali1234/comfyui-job-iterator": { "stars": 60, "last_update": "2024-05-22 20:54:21", - "author_account_age_days": 4855 + "author_account_age_days": 4856 }, "https://github.com/alisson-anjos/ComfyUI-Ollama-Describer": { "stars": 30, "last_update": "2024-05-23 00:17:43", - "author_account_age_days": 595 + "author_account_age_days": 596 }, "https://github.com/alpertunga-bile/prompt-generator-comfyui": { "stars": 63, "last_update": "2024-06-09 18:31:22", - "author_account_age_days": 1267 + "author_account_age_days": 1269 }, "https://github.com/alsritter/asymmetric-tiling-comfyui": { "stars": 14, "last_update": "2024-05-22 20:43:07", - "author_account_age_days": 1989 + "author_account_age_days": 1990 }, "https://github.com/alt-key-project/comfyui-dream-project": { "stars": 68, "last_update": "2024-05-22 20:51:52", - "author_account_age_days": 655 + "author_account_age_days": 656 }, "https://github.com/alt-key-project/comfyui-dream-video-batches": { "stars": 50, "last_update": "2024-05-22 20:52:05", - "author_account_age_days": 655 + "author_account_age_days": 656 }, "https://github.com/an90ray/ComfyUI_RErouter_CustomNodes": { "stars": 0, "last_update": "2024-05-22 22:21:00", - "author_account_age_days": 183 + "author_account_age_days": 184 }, "https://github.com/andersxa/comfyui-PromptAttention": { "stars": 20, - "last_update": "2024-05-22 18:16:30", - "author_account_age_days": 2948 + "last_update": "2024-06-20 11:09:25", + "author_account_age_days": 2949 }, "https://github.com/angeloshredder/StableCascadeResizer": { - "stars": 1, + "stars": 2, "last_update": "2024-05-23 00:12:55", - "author_account_age_days": 1823 + "author_account_age_days": 1824 }, "https://github.com/ansonkao/comfyui-geometry": { "stars": 7, "last_update": "2024-06-14 09:03:19", - "author_account_age_days": 340 + "author_account_age_days": 341 }, "https://github.com/antrobot1234/antrobots-comfyUI-nodepack": { "stars": 9, "last_update": "2024-05-28 14:44:16", - "author_account_age_days": 2857 + "author_account_age_days": 2858 }, "https://github.com/aria1th/ComfyUI-LogicUtils": { "stars": 19, "last_update": "2024-05-23 01:27:16", - "author_account_age_days": 2340 + "author_account_age_days": 2341 + }, + "https://github.com/asagi4/ComfyUI-Adaptive-Guidance": { + "stars": 4, + "last_update": "2024-06-19 21:12:48", + "author_account_age_days": 437 }, "https://github.com/asagi4/ComfyUI-CADS": { "stars": 32, "last_update": "2024-05-23 18:14:56", - "author_account_age_days": 435 + "author_account_age_days": 437 }, "https://github.com/asagi4/comfyui-prompt-control": { - "stars": 156, - "last_update": "2024-06-16 19:07:32", - "author_account_age_days": 435 + "stars": 157, + "last_update": "2024-06-19 21:37:35", + "author_account_age_days": 437 }, "https://github.com/asagi4/comfyui-utility-nodes": { "stars": 7, "last_update": "2024-05-25 11:40:49", - "author_account_age_days": 435 + "author_account_age_days": 437 }, "https://github.com/aszc-dev/ComfyUI-CoreMLSuite": { "stars": 87, "last_update": "2024-05-22 21:23:52", - "author_account_age_days": 2722 + "author_account_age_days": 2723 }, "https://github.com/atmaranto/ComfyUI-SaveAsScript": { "stars": 44, "last_update": "2024-06-14 09:01:17", - "author_account_age_days": 2343 + "author_account_age_days": 2344 }, "https://github.com/audioscavenger/ComfyUI-Thumbnails": { "stars": 4, "last_update": "2024-06-07 07:19:30", - "author_account_age_days": 4115 + "author_account_age_days": 4116 }, "https://github.com/audioscavenger/save-image-extended-comfyui": { - "stars": 16, + "stars": 17, "last_update": "2024-06-18 04:57:11", - "author_account_age_days": 4115 + "author_account_age_days": 4116 }, "https://github.com/avatechai/avatar-graph-comfyui": { "stars": 214, "last_update": "2024-05-22 21:14:14", - "author_account_age_days": 849 + "author_account_age_days": 850 }, "https://github.com/aws-samples/comfyui-llm-node-for-amazon-bedrock": { "stars": 4, "last_update": "2024-06-12 15:04:39", - "author_account_age_days": 3553 + "author_account_age_days": 3554 }, "https://github.com/azure-dragon-ai/ComfyUI-ClipScore-Nodes": { "stars": 2, "last_update": "2024-05-22 23:16:28", - "author_account_age_days": 296 + "author_account_age_days": 297 }, "https://github.com/badayvedat/ComfyUI-fal-Connector": { "stars": 12, - "last_update": "2024-06-19 01:21:44", - "author_account_age_days": 1765 + "last_update": "2024-06-20 00:55:24", + "author_account_age_days": 1766 }, "https://github.com/badjeff/comfyui_lora_tag_loader": { - "stars": 40, + "stars": 41, "last_update": "2024-05-22 20:40:03", - "author_account_age_days": 5357 + "author_account_age_days": 5358 }, "https://github.com/baicai99/ComfyUI-FrameSkipping": { - "stars": 5, + "stars": 6, "last_update": "2024-06-18 10:25:55", - "author_account_age_days": 826 + "author_account_age_days": 827 }, "https://github.com/banodoco/steerable-motion": { - "stars": 739, + "stars": 742, "last_update": "2024-06-15 23:01:54", - "author_account_age_days": 396 + "author_account_age_days": 398 }, "https://github.com/bash-j/mikey_nodes": { "stars": 79, "last_update": "2024-06-15 10:31:20", - "author_account_age_days": 4182 + "author_account_age_days": 4183 }, "https://github.com/bedovyy/ComfyUI_NAIDGenerator": { "stars": 17, "last_update": "2024-06-14 09:04:39", - "author_account_age_days": 357 + "author_account_age_days": 358 }, "https://github.com/bilal-arikan/ComfyUI_TextAssets": { "stars": 2, "last_update": "2024-05-22 23:23:50", - "author_account_age_days": 3502 + "author_account_age_days": 3503 }, "https://github.com/bitaffinity/ComfyUI_HF_Inference": { "stars": 0, "last_update": "2024-06-14 10:23:29", - "author_account_age_days": 51 + "author_account_age_days": 53 }, "https://github.com/blepping/ComfyUI-bleh": { "stars": 31, "last_update": "2024-05-22 23:17:49", - "author_account_age_days": 149 + "author_account_age_days": 150 }, "https://github.com/blepping/ComfyUI-sonar": { "stars": 31, "last_update": "2024-05-22 23:18:26", - "author_account_age_days": 149 + "author_account_age_days": 150 }, "https://github.com/blepping/comfyui_jankhidiffusion": { "stars": 88, "last_update": "2024-05-22 23:18:40", - "author_account_age_days": 149 + "author_account_age_days": 150 }, "https://github.com/blueraincoatli/comfyUI_SillyNodes": { "stars": 3, "last_update": "2024-06-09 13:30:57", - "author_account_age_days": 307 + "author_account_age_days": 308 }, "https://github.com/bmad4ever/ComfyUI-Bmad-DirtyUndoRedo": { "stars": 50, "last_update": "2024-05-22 18:11:51", - "author_account_age_days": 3531 + "author_account_age_days": 3532 }, "https://github.com/bmad4ever/comfyui_ab_samplercustom": { "stars": 5, "last_update": "2024-05-22 18:12:18", - "author_account_age_days": 3531 + "author_account_age_days": 3532 }, "https://github.com/bmad4ever/comfyui_bmad_nodes": { "stars": 47, "last_update": "2024-06-13 10:42:09", - "author_account_age_days": 3531 + "author_account_age_days": 3532 }, "https://github.com/bmad4ever/comfyui_lists_cartesian_product": { - "stars": 2, + "stars": 3, "last_update": "2024-05-22 20:18:07", - "author_account_age_days": 3531 + "author_account_age_days": 3532 }, "https://github.com/bmad4ever/comfyui_quilting": { "stars": 3, "last_update": "2024-06-18 01:23:37", - "author_account_age_days": 3531 + "author_account_age_days": 3532 }, "https://github.com/bmad4ever/comfyui_wfc_like": { "stars": 5, "last_update": "2024-06-02 23:06:37", - "author_account_age_days": 3531 + "author_account_age_days": 3532 }, "https://github.com/bobmagicii/comfykit-custom-nodes": { "stars": 1, "last_update": "2024-06-04 20:04:00", - "author_account_age_days": 4739 + "author_account_age_days": 4740 }, "https://github.com/bradsec/ComfyUI_ResolutionSelector": { "stars": 7, "last_update": "2024-05-22 20:44:31", - "author_account_age_days": 3651 + "author_account_age_days": 3652 }, "https://github.com/braintacles/braintacles-comfyui-nodes": { "stars": 1, "last_update": "2024-05-23 06:06:16", - "author_account_age_days": 426 + "author_account_age_days": 427 }, "https://github.com/brianfitzgerald/style_aligned_comfy": { - "stars": 246, + "stars": 247, "last_update": "2024-05-30 14:23:40", - "author_account_age_days": 4234 + "author_account_age_days": 4235 }, "https://github.com/bronkula/comfyui-fitsize": { "stars": 32, "last_update": "2024-05-22 21:32:34", - "author_account_age_days": 5150 + "author_account_age_days": 5151 }, "https://github.com/bruefire/ComfyUI-SeqImageLoader": { "stars": 28, "last_update": "2024-06-08 15:48:49", - "author_account_age_days": 2360 + "author_account_age_days": 2361 }, "https://github.com/budihartono/comfyui_otonx_nodes": { "stars": 1, "last_update": "2024-05-25 04:10:08", - "author_account_age_days": 4681 + "author_account_age_days": 4682 }, "https://github.com/bvhari/ComfyUI_ImageProcessing": { "stars": 16, "last_update": "2024-05-22 18:08:40", - "author_account_age_days": 1169 + "author_account_age_days": 1171 }, "https://github.com/bvhari/ComfyUI_LatentToRGB": { "stars": 11, "last_update": "2024-05-22 18:08:53", - "author_account_age_days": 1169 + "author_account_age_days": 1171 }, "https://github.com/bvhari/ComfyUI_PerpWeight": { "stars": 10, "last_update": "2024-05-22 18:09:06", - "author_account_age_days": 1169 + "author_account_age_days": 1171 }, "https://github.com/bvhari/ComfyUI_SUNoise": { "stars": 3, "last_update": "2024-05-22 18:09:19", - "author_account_age_days": 1169 + "author_account_age_days": 1171 }, "https://github.com/cdb-boop/ComfyUI-Bringing-Old-Photos-Back-to-Life": { - "stars": 18, + "stars": 19, "last_update": "2024-05-23 00:09:32", - "author_account_age_days": 1199 + "author_account_age_days": 1200 }, "https://github.com/cdb-boop/comfyui-image-round": { "stars": 0, "last_update": "2024-05-23 00:09:02", - "author_account_age_days": 1199 + "author_account_age_days": 1200 }, "https://github.com/cerspense/ComfyUI_cspnodes": { "stars": 24, "last_update": "2024-06-14 07:12:08", - "author_account_age_days": 2676 + "author_account_age_days": 2678 }, "https://github.com/ceruleandeep/ComfyUI-LLaVA-Captioner": { "stars": 76, "last_update": "2024-05-22 22:17:55", - "author_account_age_days": 1148 + "author_account_age_days": 1149 }, "https://github.com/chakib-belgaid/ComfyUI-autosize": { "stars": 0, "last_update": "2024-06-14 07:13:20", - "author_account_age_days": 3831 + "author_account_age_days": 3832 }, "https://github.com/chakib-belgaid/Comfyui_Prompt_styler": { "stars": 0, "last_update": "2024-06-14 09:04:45", - "author_account_age_days": 3831 + "author_account_age_days": 3832 }, "https://github.com/chandlergis/ComfyUI-IMG_Query": { "stars": 1, "last_update": "2024-05-23 01:25:57", - "author_account_age_days": 351 + "author_account_age_days": 352 }, "https://github.com/chandlergis/ComfyUI_EmojiOverlay": { "stars": 0, "last_update": "2024-06-14 09:05:03", - "author_account_age_days": 351 + "author_account_age_days": 352 }, "https://github.com/chaojie/ComfyUI-AniPortrait": { "stars": 226, "last_update": "2024-05-22 22:26:03", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-CameraCtrl-Wrapper": { "stars": 15, "last_update": "2024-06-14 09:07:23", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-Champ": { "stars": 19, "last_update": "2024-05-22 22:26:47", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-DragAnything": { "stars": 66, "last_update": "2024-06-14 10:23:53", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-DragNUWA": { "stars": 358, "last_update": "2024-06-14 10:25:01", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-DynamiCrafter": { "stars": 108, "last_update": "2024-06-14 10:23:59", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-EasyAnimate": { "stars": 39, "last_update": "2024-05-22 22:24:00", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-Gemma": { "stars": 5, "last_update": "2024-05-22 22:27:47", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-I2VGEN-XL": { "stars": 27, "last_update": "2024-06-14 09:06:10", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-Img2Img-Turbo": { "stars": 36, "last_update": "2024-05-22 22:26:30", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-LaVIT": { "stars": 8, "last_update": "2024-06-14 10:27:44", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-LightGlue": { "stars": 48, "last_update": "2024-01-20 16:53:51", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-Moore-AnimateAnyone": { "stars": 201, "last_update": "2024-06-10 20:16:06", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-Motion-Vector-Extractor": { "stars": 0, "last_update": "2024-06-14 10:26:15", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-MotionCtrl": { "stars": 125, "last_update": "2024-06-14 10:26:02", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-MotionCtrl-SVD": { - "stars": 78, + "stars": 79, "last_update": "2024-06-14 10:26:30", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-MuseTalk": { "stars": 139, "last_update": "2024-05-22 22:25:07", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-MuseV": { "stars": 122, "last_update": "2024-05-22 22:25:31", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-Open-Sora": { - "stars": 86, + "stars": 87, "last_update": "2024-05-22 22:26:59", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-Open-Sora-Plan": { "stars": 48, "last_update": "2024-05-29 16:15:10", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-Panda3d": { "stars": 13, "last_update": "2024-06-14 10:28:47", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-Pymunk": { "stars": 16, "last_update": "2024-06-14 12:02:32", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-RAFT": { "stars": 25, "last_update": "2024-06-14 11:02:00", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-SimDA": { "stars": 13, "last_update": "2024-06-14 12:02:39", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-Trajectory": { "stars": 5, "last_update": "2024-05-22 22:27:12", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-Video-Editing-X-Attention": { "stars": 17, "last_update": "2024-06-14 10:28:16", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI-dust3r": { "stars": 14, "last_update": "2024-05-22 22:27:33", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaojie/ComfyUI_StreamingT2V": { "stars": 23, "last_update": "2024-06-14 10:26:21", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/chaosaiart/Chaosaiart-Nodes": { "stars": 47, "last_update": "2024-05-27 10:55:18", - "author_account_age_days": 328 + "author_account_age_days": 330 }, "https://github.com/chenpx976/ComfyUI-RunRunRun": { "stars": 0, "last_update": "2024-05-23 01:19:37", - "author_account_age_days": 3410 + "author_account_age_days": 3411 }, "https://github.com/chesnokovivan/ComfyUI-Novakid": { "stars": 0, "last_update": "2024-06-10 20:15:56", - "author_account_age_days": 1524 + "author_account_age_days": 1526 }, "https://github.com/chflame163/ComfyUI_FaceSimilarity": { - "stars": 8, + "stars": 9, "last_update": "2024-05-23 12:48:18", - "author_account_age_days": 439 + "author_account_age_days": 440 }, "https://github.com/chflame163/ComfyUI_LayerStyle": { - "stars": 615, + "stars": 619, "last_update": "2024-06-17 12:12:21", - "author_account_age_days": 439 + "author_account_age_days": 440 }, "https://github.com/chflame163/ComfyUI_MSSpeech_TTS": { "stars": 22, "last_update": "2024-05-25 02:39:56", - "author_account_age_days": 439 + "author_account_age_days": 440 }, "https://github.com/chflame163/ComfyUI_WordCloud": { - "stars": 68, + "stars": 69, "last_update": "2024-05-25 02:41:06", - "author_account_age_days": 439 + "author_account_age_days": 440 }, "https://github.com/chibiace/ComfyUI-Chibi-Nodes": { "stars": 26, "last_update": "2024-05-22 21:16:12", - "author_account_age_days": 2844 + "author_account_age_days": 2845 }, "https://github.com/choey/Comfy-Topaz": { "stars": 23, "last_update": "2024-06-14 10:59:30", - "author_account_age_days": 5518 + "author_account_age_days": 5519 }, "https://github.com/chris-the-wiz/EmbeddingsCurveEditor_ComfyUI": { - "stars": 3, + "stars": 4, "last_update": "2024-06-19 07:24:33", - "author_account_age_days": 1791 + "author_account_age_days": 1792 }, "https://github.com/chrisfreilich/virtuoso-nodes": { "stars": 49, "last_update": "2024-05-23 01:15:43", - "author_account_age_days": 727 + "author_account_age_days": 728 }, "https://github.com/chrisgoringe/cg-image-picker": { - "stars": 177, + "stars": 179, "last_update": "2024-06-12 18:50:30", - "author_account_age_days": 4060 + "author_account_age_days": 4061 }, "https://github.com/chrisgoringe/cg-noise": { "stars": 25, "last_update": "2024-06-14 08:10:52", - "author_account_age_days": 4060 + "author_account_age_days": 4061 }, "https://github.com/chrisgoringe/cg-prompt-info": { "stars": 25, "last_update": "2024-05-22 21:07:33", - "author_account_age_days": 4060 + "author_account_age_days": 4061 }, "https://github.com/chrisgoringe/cg-use-everywhere": { - "stars": 329, + "stars": 332, "last_update": "2024-06-06 05:23:41", - "author_account_age_days": 4060 + "author_account_age_days": 4061 }, "https://github.com/chrish-slingshot/CrasHUtils": { "stars": 11, "last_update": "2024-05-22 21:15:25", - "author_account_age_days": 595 + "author_account_age_days": 596 }, "https://github.com/christian-byrne/img2colors-comfyui-node": { "stars": 1, "last_update": "2024-05-25 03:14:52", - "author_account_age_days": 1343 + "author_account_age_days": 1344 }, "https://github.com/christian-byrne/img2txt-comfyui-nodes": { - "stars": 23, + "stars": 25, "last_update": "2024-05-28 14:02:16", - "author_account_age_days": 1343 + "author_account_age_days": 1344 }, "https://github.com/christian-byrne/size-match-compositing-nodes": { "stars": 2, "last_update": "2024-06-01 05:49:27", - "author_account_age_days": 1343 + "author_account_age_days": 1344 }, "https://github.com/city96/ComfyUI_ColorMod": { "stars": 39, "last_update": "2024-05-22 18:06:19", - "author_account_age_days": 492 + "author_account_age_days": 493 }, "https://github.com/city96/ComfyUI_DiT": { "stars": 2, "last_update": "2024-05-22 18:06:05", - "author_account_age_days": 492 + "author_account_age_days": 493 }, "https://github.com/city96/ComfyUI_ExtraModels": { - "stars": 275, + "stars": 278, "last_update": "2024-06-19 08:45:39", - "author_account_age_days": 492 + "author_account_age_days": 493 }, "https://github.com/city96/ComfyUI_NetDist": { "stars": 218, "last_update": "2024-05-22 18:05:10", - "author_account_age_days": 492 + "author_account_age_days": 493 }, "https://github.com/city96/SD-Advanced-Noise": { "stars": 18, "last_update": "2024-05-22 18:05:35", - "author_account_age_days": 492 + "author_account_age_days": 493 }, "https://github.com/city96/SD-Latent-Interposer": { - "stars": 174, + "stars": 178, "last_update": "2024-06-17 05:27:08", - "author_account_age_days": 492 + "author_account_age_days": 493 }, "https://github.com/city96/SD-Latent-Upscaler": { "stars": 111, "last_update": "2024-05-22 18:05:50", - "author_account_age_days": 492 + "author_account_age_days": 493 }, "https://github.com/civitai/comfy-nodes": { "stars": 85, "last_update": "2024-06-17 10:01:06", - "author_account_age_days": 593 + "author_account_age_days": 594 }, "https://github.com/claussteinmassl/ComfyUI-CS-CustomNodes": { "stars": 1, "last_update": "2024-06-14 09:03:10", - "author_account_age_days": 2695 + "author_account_age_days": 2696 }, "https://github.com/comfyanonymous/ComfyUI": { - "stars": 39239, - "last_update": "2024-06-19 09:22:29", - "author_account_age_days": 544 + "stars": 39423, + "last_update": "2024-06-20 12:12:16", + "author_account_age_days": 545 }, "https://github.com/comfyanonymous/ComfyUI_TensorRT": { - "stars": 281, - "last_update": "2024-06-18 14:23:14", - "author_account_age_days": 544 + "stars": 290, + "last_update": "2024-06-19 21:31:56", + "author_account_age_days": 545 }, "https://github.com/comfyanonymous/ComfyUI_experiments": { - "stars": 133, + "stars": 134, "last_update": "2024-05-22 15:29:49", - "author_account_age_days": 544 + "author_account_age_days": 545 }, "https://github.com/concarne000/ConCarneNode": { "stars": 4, "last_update": "2024-05-22 22:10:18", - "author_account_age_days": 1896 + "author_account_age_days": 1897 }, "https://github.com/conquestace/ComfyUI-ImageUploader": { "stars": 1, "last_update": "2024-05-23 01:25:49", - "author_account_age_days": 4604 + "author_account_age_days": 4605 }, "https://github.com/coolzilj/ComfyUI-LJNodes": { - "stars": 51, + "stars": 52, "last_update": "2024-06-15 01:57:32", - "author_account_age_days": 4658 + "author_account_age_days": 4659 }, "https://github.com/coolzilj/ComfyUI-Photopea": { "stars": 56, "last_update": "2024-06-14 08:10:57", - "author_account_age_days": 4658 + "author_account_age_days": 4659 }, "https://github.com/coreyryanhanson/ComfyQR": { "stars": 50, "last_update": "2024-06-14 09:01:36", - "author_account_age_days": 3051 + "author_account_age_days": 3052 }, "https://github.com/coreyryanhanson/ComfyQR-scanning-nodes": { "stars": 8, "last_update": "2024-06-14 09:02:46", - "author_account_age_days": 3051 + "author_account_age_days": 3052 }, "https://github.com/cozymantis/cozy-utils-comfyui-nodes": { "stars": 3, "last_update": "2024-05-23 00:10:45", - "author_account_age_days": 103 + "author_account_age_days": 104 }, "https://github.com/cozymantis/human-parser-comfyui-node": { - "stars": 47, + "stars": 48, "last_update": "2024-05-23 00:10:21", - "author_account_age_days": 103 + "author_account_age_days": 104 }, "https://github.com/cozymantis/pose-generator-comfyui-node": { - "stars": 26, + "stars": 27, "last_update": "2024-05-23 00:10:33", - "author_account_age_days": 103 + "author_account_age_days": 104 }, "https://github.com/crystian/ComfyUI-Crystools": { - "stars": 471, - "last_update": "2024-06-07 04:43:29", - "author_account_age_days": 4112 + "stars": 472, + "last_update": "2024-06-20 04:07:55", + "author_account_age_days": 4113 }, "https://github.com/crystian/ComfyUI-Crystools-save": { "stars": 29, "last_update": "2024-05-22 22:20:15", - "author_account_age_days": 4112 + "author_account_age_days": 4113 }, "https://github.com/cubiq/ComfyUI_FaceAnalysis": { - "stars": 207, + "stars": 210, "last_update": "2024-06-14 08:08:35", - "author_account_age_days": 5006 + "author_account_age_days": 5007 }, "https://github.com/cubiq/ComfyUI_IPAdapter_plus": { - "stars": 2993, - "last_update": "2024-06-09 10:11:42", - "author_account_age_days": 5006 + "stars": 3000, + "last_update": "2024-06-20 06:27:42", + "author_account_age_days": 5007 }, "https://github.com/cubiq/ComfyUI_InstantID": { - "stars": 893, + "stars": 897, "last_update": "2024-06-14 09:03:05", - "author_account_age_days": 5006 + "author_account_age_days": 5007 }, "https://github.com/cubiq/ComfyUI_SimpleMath": { "stars": 15, "last_update": "2024-06-14 09:02:50", - "author_account_age_days": 5006 + "author_account_age_days": 5007 }, "https://github.com/cubiq/ComfyUI_essentials": { - "stars": 318, - "last_update": "2024-06-15 08:07:12", - "author_account_age_days": 5006 + "stars": 323, + "last_update": "2024-06-20 08:39:08", + "author_account_age_days": 5007 }, "https://github.com/cubiq/PuLID_ComfyUI": { - "stars": 400, + "stars": 402, "last_update": "2024-06-14 07:11:56", - "author_account_age_days": 5006 + "author_account_age_days": 5007 }, "https://github.com/cuongloveit/comfy_http_request": { "stars": 0, "last_update": "2024-06-14 11:00:11", - "author_account_age_days": 3247 + "author_account_age_days": 3248 }, "https://github.com/curiousjp/ComfyUI-MaskBatchPermutations": { "stars": 3, "last_update": "2024-05-28 13:09:32", - "author_account_age_days": 1924 + "author_account_age_days": 1926 }, "https://github.com/czcz1024/Comfyui-FaceCompare": { "stars": 0, "last_update": "2024-06-14 07:13:32", - "author_account_age_days": 4229 + "author_account_age_days": 4230 }, "https://github.com/da2el-ai/ComfyUI-d2-size-selector": { "stars": 1, "last_update": "2024-05-23 01:16:17", - "author_account_age_days": 384 + "author_account_age_days": 385 }, "https://github.com/da2el-ai/ComfyUI-d2-steps": { "stars": 4, "last_update": "2024-05-23 01:16:06", - "author_account_age_days": 384 + "author_account_age_days": 385 }, "https://github.com/dagthomas/comfyui_dagthomas": { "stars": 72, "last_update": "2024-06-16 22:39:37", - "author_account_age_days": 4066 + "author_account_age_days": 4067 }, "https://github.com/daniabib/ComfyUI_ProPainter_Nodes": { - "stars": 143, + "stars": 150, "last_update": "2024-06-14 11:00:17", - "author_account_age_days": 2399 + "author_account_age_days": 2400 }, "https://github.com/daniel-lewis-ab/ComfyUI-Llama": { "stars": 25, "last_update": "2024-06-14 08:08:32", - "author_account_age_days": 3346 + "author_account_age_days": 3347 }, "https://github.com/daniel-lewis-ab/ComfyUI-TTS": { "stars": 11, "last_update": "2024-06-14 08:09:49", - "author_account_age_days": 3346 + "author_account_age_days": 3347 }, "https://github.com/darkpixel/darkprompts": { "stars": 6, "last_update": "2024-05-23 19:48:02", - "author_account_age_days": 5319 + "author_account_age_days": 5320 }, "https://github.com/dave-palt/comfyui_DSP_imagehelpers": { "stars": 0, "last_update": "2024-05-22 23:12:11", - "author_account_age_days": 153 + "author_account_age_days": 154 }, "https://github.com/daxcay/ComfyUI-DRMN": { - "stars": 12, + "stars": 13, "last_update": "2024-06-16 07:41:11", - "author_account_age_days": 90 + "author_account_age_days": 91 }, "https://github.com/daxcay/ComfyUI-DataSet": { - "stars": 12, + "stars": 13, "last_update": "2024-06-16 07:41:11", - "author_account_age_days": 90 + "author_account_age_days": 91 }, "https://github.com/daxcay/ComfyUI-JDCN": { "stars": 59, "last_update": "2024-06-13 15:10:48", - "author_account_age_days": 90 + "author_account_age_days": 91 }, "https://github.com/daxcay/ComfyUI-NODEJS": { "stars": 4, "last_update": "2024-06-13 14:30:45", - "author_account_age_days": 90 + "author_account_age_days": 91 }, "https://github.com/daxthin/DZ-FaceDetailer": { "stars": 100, "last_update": "2024-06-17 10:00:30", - "author_account_age_days": 1226 + "author_account_age_days": 1227 }, "https://github.com/dchatel/comfyui_facetools": { "stars": 43, "last_update": "2024-06-17 15:45:08", - "author_account_age_days": 4530 + "author_account_age_days": 4531 }, "https://github.com/denfrost/Den_ComfyUI_Workflow": { "stars": 1, "last_update": "2024-06-14 08:57:51", - "author_account_age_days": 3491 + "author_account_age_days": 3492 }, "https://github.com/deroberon/StableZero123-comfyui": { "stars": 132, "last_update": "2024-05-22 22:09:53", - "author_account_age_days": 5291 + "author_account_age_days": 5292 }, "https://github.com/deroberon/demofusion-comfyui": { "stars": 83, "last_update": "2024-05-22 22:09:42", - "author_account_age_days": 5291 + "author_account_age_days": 5292 }, "https://github.com/dfl/comfyui-clip-with-break": { "stars": 9, "last_update": "2024-05-22 23:23:15", - "author_account_age_days": 5969 + "author_account_age_days": 5970 }, "https://github.com/dfl/comfyui-tcd-scheduler": { - "stars": 76, + "stars": 77, "last_update": "2024-05-22 23:23:28", - "author_account_age_days": 5969 + "author_account_age_days": 5970 }, "https://github.com/diStyApps/ComfyUI_FrameMaker": { "stars": 10, "last_update": "2024-05-23 00:11:33", - "author_account_age_days": 4199 + "author_account_age_days": 4200 }, "https://github.com/dicksondickson/ComfyUI-Dickson-Nodes": { "stars": 2, "last_update": "2024-06-18 01:56:55", - "author_account_age_days": 3986 + "author_account_age_days": 3987 }, "https://github.com/digitaljohn/comfyui-propost": { "stars": 103, - "last_update": "2024-05-22 23:24:19", - "author_account_age_days": 4512 + "last_update": "2024-06-19 11:30:18", + "author_account_age_days": 4514 }, "https://github.com/dimtoneff/ComfyUI-PixelArt-Detector": { "stars": 162, "last_update": "2024-06-14 08:58:27", - "author_account_age_days": 3409 + "author_account_age_days": 3410 }, "https://github.com/diontimmer/ComfyUI-Vextra-Nodes": { "stars": 60, "last_update": "2024-05-22 17:55:21", - "author_account_age_days": 4765 + "author_account_age_days": 4766 }, "https://github.com/discopixel-studio/comfyui-discopixel": { "stars": 7, "last_update": "2024-06-14 09:03:19", - "author_account_age_days": 340 + "author_account_age_days": 341 }, "https://github.com/discus0434/comfyui-aesthetic-predictor-v2-5": { "stars": 4, "last_update": "2024-06-14 08:12:05", - "author_account_age_days": 1465 + "author_account_age_days": 1466 }, "https://github.com/discus0434/comfyui-caching-embeddings": { "stars": 1, "last_update": "2024-06-14 08:59:36", - "author_account_age_days": 1465 + "author_account_age_days": 1466 }, "https://github.com/djbielejeski/a-person-mask-generator": { "stars": 228, "last_update": "2024-06-15 04:06:44", - "author_account_age_days": 4278 + "author_account_age_days": 4280 }, "https://github.com/dmMaze/sketch2manga": { "stars": 24, "last_update": "2024-06-16 14:10:01", - "author_account_age_days": 1844 + "author_account_age_days": 1845 }, "https://github.com/dmarx/ComfyUI-AudioReactive": { "stars": 10, "last_update": "2024-05-22 22:12:53", - "author_account_age_days": 4499 + "author_account_age_days": 4500 }, "https://github.com/dmarx/ComfyUI-Keyframed": { "stars": 81, "last_update": "2024-05-22 22:12:50", - "author_account_age_days": 4499 + "author_account_age_days": 4500 }, "https://github.com/drago87/ComfyUI_Dragos_Nodes": { "stars": 3, "last_update": "2024-05-22 21:32:15", - "author_account_age_days": 3764 + "author_account_age_days": 3765 }, "https://github.com/drustan-hawk/primitive-types": { "stars": 5, "last_update": "2024-05-22 21:23:12", - "author_account_age_days": 284 + "author_account_age_days": 285 }, "https://github.com/e7mac/ComfyUI-ShadertoyGL": { "stars": 2, "last_update": "2024-05-23 01:09:41", - "author_account_age_days": 4798 + "author_account_age_days": 4799 }, "https://github.com/ealkanat/comfyui_easy_padding": { "stars": 12, "last_update": "2024-05-22 21:58:52", - "author_account_age_days": 2458 + "author_account_age_days": 2459 }, "https://github.com/edenartlab/eden_comfy_pipelines": { "stars": 40, "last_update": "2024-06-06 21:49:00", - "author_account_age_days": 267 + "author_account_age_days": 268 }, "https://github.com/evanspearman/ComfyMath": { - "stars": 52, + "stars": 53, "last_update": "2023-08-27 03:29:04", - "author_account_age_days": 4233 + "author_account_age_days": 4234 }, "https://github.com/exdysa/comfyui-selector": { - "stars": 1, - "last_update": "2024-06-19 05:54:30", - "author_account_age_days": 990 + "stars": 2, + "last_update": "2024-06-20 01:31:09", + "author_account_age_days": 991 }, "https://github.com/failfa-st/failfast-comfyui-extensions": { "stars": 128, "last_update": "2024-06-17 10:01:12", - "author_account_age_days": 268 + "author_account_age_days": 269 }, "https://github.com/fexli/fexli-util-node-comfyui": { "stars": 3, "last_update": "2024-05-22 21:27:36", - "author_account_age_days": 1554 + "author_account_age_days": 1555 }, "https://github.com/fexploit/ComfyUI-AutoLabel": { - "stars": 4, + "stars": 5, "last_update": "2024-06-14 08:09:41", - "author_account_age_days": 5039 + "author_account_age_days": 5040 }, "https://github.com/fexploit/ComfyUI-AutoTrimBG": { "stars": 2, "last_update": "2024-05-24 20:38:15", - "author_account_age_days": 5039 + "author_account_age_days": 5040 }, "https://github.com/fexploit/ComfyUI-Classifier": { "stars": 1, "last_update": "2024-06-14 16:58:31", - "author_account_age_days": 5039 + "author_account_age_days": 5040 }, "https://github.com/filipemeneses/comfy_pixelization": { "stars": 28, "last_update": "2024-05-22 20:59:16", - "author_account_age_days": 3471 + "author_account_age_days": 3472 }, "https://github.com/filliptm/ComfyUI_Fill-Nodes": { - "stars": 116, + "stars": 117, "last_update": "2024-06-09 08:42:25", - "author_account_age_days": 1731 + "author_account_age_days": 1732 }, "https://github.com/florestefano1975/ComfyUI-HiDiffusion": { - "stars": 131, + "stars": 132, "last_update": "2024-05-22 00:33:06", - "author_account_age_days": 188 + "author_account_age_days": 189 }, "https://github.com/florestefano1975/ComfyUI-StabilityAI-Suite": { "stars": 2, "last_update": "2024-06-14 09:05:46", - "author_account_age_days": 188 + "author_account_age_days": 189 }, "https://github.com/florestefano1975/comfyui-portrait-master": { - "stars": 749, - "last_update": "2024-05-22 00:30:41", - "author_account_age_days": 188 + "stars": 752, + "last_update": "2024-06-19 16:30:07", + "author_account_age_days": 189 }, "https://github.com/florestefano1975/comfyui-prompt-composer": { "stars": 208, "last_update": "2024-05-22 00:34:06", - "author_account_age_days": 188 + "author_account_age_days": 189 }, "https://github.com/flowtyone/ComfyUI-Flowty-CRM": { "stars": 123, "last_update": "2024-06-14 10:23:09", - "author_account_age_days": 268 + "author_account_age_days": 269 }, "https://github.com/flowtyone/ComfyUI-Flowty-LDSR": { "stars": 162, "last_update": "2024-06-14 09:04:51", - "author_account_age_days": 268 + "author_account_age_days": 269 }, "https://github.com/flowtyone/ComfyUI-Flowty-TripoSR": { "stars": 356, "last_update": "2024-06-16 00:53:22", - "author_account_age_days": 268 + "author_account_age_days": 269 }, "https://github.com/flyingshutter/As_ComfyUI_CustomNodes": { "stars": 7, "last_update": "2024-05-22 18:07:19", - "author_account_age_days": 3490 + "author_account_age_days": 3491 }, "https://github.com/fmatray/ComfyUI_BattlemapGrid": { "stars": 0, "last_update": "2024-06-05 22:35:06", - "author_account_age_days": 3616 + "author_account_age_days": 3617 }, "https://github.com/fofr/ComfyUI-HyperSDXL1StepUnetScheduler": { "stars": 10, - "last_update": "2024-05-23 01:15:32", - "author_account_age_days": 5102 + "last_update": "2024-06-20 11:51:50", + "author_account_age_days": 5103 }, "https://github.com/forever22777/comfyui-self-guidance": { "stars": 6, "last_update": "2024-06-14 07:12:02", - "author_account_age_days": 319 + "author_account_age_days": 321 }, "https://github.com/foxtrot-roger/comfyui-rf-nodes": { "stars": 1, "last_update": "2024-05-22 23:09:13", - "author_account_age_days": 2315 + "author_account_age_days": 2316 }, "https://github.com/frankchieng/ComfyUI_Aniportrait": { "stars": 43, - "last_update": "2024-05-23 00:23:20", - "author_account_age_days": 435 + "last_update": "2024-06-20 11:43:23", + "author_account_age_days": 437 }, "https://github.com/frankchieng/ComfyUI_MagicClothing": { - "stars": 408, - "last_update": "2024-05-23 00:23:32", - "author_account_age_days": 435 + "stars": 409, + "last_update": "2024-06-20 11:31:17", + "author_account_age_days": 437 }, "https://github.com/frankchieng/ComfyUI_llm_easyanimiate": { "stars": 8, "last_update": "2024-06-14 09:06:05", - "author_account_age_days": 435 + "author_account_age_days": 437 }, "https://github.com/fsdymy1024/ComfyUI_fsdymy": { "stars": 2, "last_update": "2024-05-23 01:21:16", - "author_account_age_days": 2200 + "author_account_age_days": 2202 }, "https://github.com/gemell1/ComfyUI_GMIC": { "stars": 5, "last_update": "2024-05-22 21:28:51", - "author_account_age_days": 1951 + "author_account_age_days": 1953 }, "https://github.com/get-salt-AI/SaltAI": { - "stars": 52, + "stars": 53, "last_update": "2024-05-23 00:54:46", - "author_account_age_days": 111 + "author_account_age_days": 112 }, "https://github.com/get-salt-AI/SaltAI_Language_Toolkit": { "stars": 15, "last_update": "2024-06-14 09:06:17", - "author_account_age_days": 111 + "author_account_age_days": 112 }, "https://github.com/get-salt-AI/SaltAI_LlamaIndex": { "stars": 15, "last_update": "2024-06-14 09:06:17", - "author_account_age_days": 111 + "author_account_age_days": 112 }, "https://github.com/ginlov/segment_to_mask_comfyui": { "stars": 1, "last_update": "2024-06-14 10:23:23", - "author_account_age_days": 2006 + "author_account_age_days": 2007 }, "https://github.com/giriss/comfy-image-saver": { - "stars": 143, + "stars": 144, "last_update": "2024-05-22 20:40:55", - "author_account_age_days": 4233 + "author_account_age_days": 4234 }, "https://github.com/githubYiheng/ComfyUI_Change_IMAGE_BOREDER": { "stars": 0, "last_update": "2024-05-23 01:20:09", - "author_account_age_days": 3898 + "author_account_age_days": 3899 }, "https://github.com/githubYiheng/ComfyUI_GetFileNameFromURL": { "stars": 0, "last_update": "2024-05-23 01:19:47", - "author_account_age_days": 3898 + "author_account_age_days": 3899 }, "https://github.com/githubYiheng/comfyui_kmeans_filter": { "stars": 0, "last_update": "2024-06-14 09:01:24", - "author_account_age_days": 3898 + "author_account_age_days": 3899 }, "https://github.com/githubYiheng/comfyui_meanshift_filter": { "stars": 0, "last_update": "2024-06-14 10:59:43", - "author_account_age_days": 3898 + "author_account_age_days": 3899 }, "https://github.com/githubYiheng/comfyui_private_postprocessor": { "stars": 0, "last_update": "2024-06-14 08:09:39", - "author_account_age_days": 3898 + "author_account_age_days": 3899 }, "https://github.com/glibsonoran/Plush-for-ComfyUI": { - "stars": 104, + "stars": 106, "last_update": "2024-06-19 00:05:03", - "author_account_age_days": 2492 + "author_account_age_days": 2493 }, "https://github.com/glifxyz/ComfyUI-GlifNodes": { "stars": 7, "last_update": "2024-06-19 08:09:46", - "author_account_age_days": 568 + "author_account_age_days": 569 }, "https://github.com/glowcone/comfyui-base64-to-image": { "stars": 8, "last_update": "2024-06-14 09:01:12", - "author_account_age_days": 3740 + "author_account_age_days": 3741 }, "https://github.com/godspede/ComfyUI_Substring": { "stars": 0, "last_update": "2024-05-22 23:15:48", - "author_account_age_days": 3108 + "author_account_age_days": 3109 }, "https://github.com/gokayfem/ComfyUI-Depth-Visualization": { "stars": 48, "last_update": "2024-05-21 00:37:05", - "author_account_age_days": 1052 + "author_account_age_days": 1053 }, "https://github.com/gokayfem/ComfyUI-Dream-Interpreter": { "stars": 67, "last_update": "2024-05-21 00:36:50", - "author_account_age_days": 1052 + "author_account_age_days": 1053 }, "https://github.com/gokayfem/ComfyUI-Texture-Simple": { "stars": 29, "last_update": "2024-05-21 00:19:53", - "author_account_age_days": 1052 + "author_account_age_days": 1053 }, "https://github.com/gokayfem/ComfyUI_VLM_nodes": { - "stars": 273, + "stars": 274, "last_update": "2024-06-02 10:23:55", - "author_account_age_days": 1052 + "author_account_age_days": 1053 }, "https://github.com/gonzalu/ComfyUI_YFG_Comical": { "stars": 13, "last_update": "2024-06-14 01:34:14", - "author_account_age_days": 2456 + "author_account_age_days": 2457 }, "https://github.com/griptape-ai/ComfyUI-Griptape": { "stars": 20, - "last_update": "2024-06-19 01:55:36", - "author_account_age_days": 515 + "last_update": "2024-06-19 21:00:20", + "author_account_age_days": 516 }, "https://github.com/guill/abracadabra-comfyui": { "stars": 1, "last_update": "2024-06-14 08:12:07", - "author_account_age_days": 4188 + "author_account_age_days": 4189 }, "https://github.com/guoyk93/yk-node-suite-comfyui": { "stars": 10, "last_update": "2024-06-17 10:00:36", - "author_account_age_days": 1484 + "author_account_age_days": 1485 }, "https://github.com/hackkhai/ComfyUI-Image-Matting": { "stars": 12, - "last_update": "2024-05-23 00:11:45", - "author_account_age_days": 1846 + "last_update": "2024-06-20 11:25:12", + "author_account_age_days": 1847 }, "https://github.com/haohaocreates/ComfyUI-HH-Image-Selector": { "stars": 0, "last_update": "2024-06-14 08:13:19", - "author_account_age_days": 100 + "author_account_age_days": 101 }, "https://github.com/hay86/ComfyUI_AceNodes": { "stars": 8, "last_update": "2024-06-05 07:54:59", - "author_account_age_days": 4662 + "author_account_age_days": 4663 }, "https://github.com/hay86/ComfyUI_DDColor": { "stars": 1, "last_update": "2024-06-14 08:12:13", - "author_account_age_days": 4662 + "author_account_age_days": 4663 }, "https://github.com/hay86/ComfyUI_Dreamtalk": { "stars": 7, "last_update": "2024-06-14 09:02:55", - "author_account_age_days": 4662 + "author_account_age_days": 4663 }, "https://github.com/hay86/ComfyUI_MiniCPM-V": { "stars": 5, "last_update": "2024-05-29 07:27:09", - "author_account_age_days": 4662 + "author_account_age_days": 4663 }, "https://github.com/hay86/ComfyUI_OpenVoice": { "stars": 3, "last_update": "2024-05-23 00:18:52", - "author_account_age_days": 4662 + "author_account_age_days": 4663 }, "https://github.com/hayden-fr/ComfyUI-Image-Browsing": { "stars": 2, "last_update": "2024-05-22 20:54:07", - "author_account_age_days": 1932 + "author_account_age_days": 1933 }, "https://github.com/hayden-fr/ComfyUI-Model-Manager": { - "stars": 24, + "stars": 25, "last_update": "2024-05-22 20:53:55", - "author_account_age_days": 1932 + "author_account_age_days": 1933 }, "https://github.com/hben35096/ComfyUI-ToolBox": { "stars": 0, "last_update": "2024-06-14 08:09:46", - "author_account_age_days": 342 + "author_account_age_days": 343 }, "https://github.com/heshengtao/comfyui_LLM_party": { "stars": 113, - "last_update": "2024-06-19 04:29:30", - "author_account_age_days": 2890 + "last_update": "2024-06-20 03:38:50", + "author_account_age_days": 2891 }, "https://github.com/hhhzzyang/Comfyui_Lama": { "stars": 36, "last_update": "2024-05-22 21:13:19", - "author_account_age_days": 502 + "author_account_age_days": 503 }, "https://github.com/hiforce/comfyui-hiforce-plugin": { "stars": 2, "last_update": "2024-06-14 08:13:24", - "author_account_age_days": 1797 + "author_account_age_days": 1798 }, "https://github.com/hinablue/ComfyUI_3dPoseEditor": { - "stars": 112, + "stars": 114, "last_update": "2024-05-22 22:23:35", - "author_account_age_days": 5106 + "author_account_age_days": 5108 }, "https://github.com/holchan/ComfyUI-ModelDownloader": { "stars": 2, "last_update": "2024-06-14 08:59:42", - "author_account_age_days": 1586 + "author_account_age_days": 1587 }, "https://github.com/huagetai/ComfyUI-Gaffer": { "stars": 33, "last_update": "2024-06-19 00:58:38", - "author_account_age_days": 4627 + "author_account_age_days": 4628 }, "https://github.com/huagetai/ComfyUI_LightGradient": { "stars": 7, "last_update": "2024-05-23 01:21:27", - "author_account_age_days": 4627 + "author_account_age_days": 4628 }, "https://github.com/huchenlei/ComfyUI-IC-Light-Native": { - "stars": 372, + "stars": 373, "last_update": "2024-06-14 08:58:03", - "author_account_age_days": 2870 + "author_account_age_days": 2871 }, "https://github.com/huchenlei/ComfyUI-layerdiffuse": { "stars": 1257, - "last_update": "2024-06-17 15:23:49", - "author_account_age_days": 2870 + "last_update": "2024-06-20 11:21:23", + "author_account_age_days": 2871 }, "https://github.com/huchenlei/ComfyUI-openpose-editor": { - "stars": 13, + "stars": 14, "last_update": "2024-06-14 08:58:09", - "author_account_age_days": 2870 + "author_account_age_days": 2871 }, "https://github.com/huchenlei/ComfyUI_DanTagGen": { "stars": 49, "last_update": "2024-06-14 08:58:15", - "author_account_age_days": 2870 + "author_account_age_days": 2871 }, "https://github.com/huchenlei/ComfyUI_densediffusion": { - "stars": 57, + "stars": 58, "last_update": "2024-06-11 00:39:28", - "author_account_age_days": 2870 + "author_account_age_days": 2871 }, "https://github.com/huchenlei/ComfyUI_omost": { - "stars": 294, + "stars": 300, "last_update": "2024-06-14 12:45:52", - "author_account_age_days": 2870 + "author_account_age_days": 2871 }, "https://github.com/hughescr/ComfyUI-OpenPose-Keypoint-Extractor": { "stars": 6, "last_update": "2024-06-14 09:04:25", - "author_account_age_days": 5635 + "author_account_age_days": 5636 }, "https://github.com/humgate/simplecomfy": { "stars": 0, "last_update": "2024-06-14 08:58:21", - "author_account_age_days": 1361 + "author_account_age_days": 1362 }, "https://github.com/hustille/ComfyUI_Fooocus_KSampler": { "stars": 58, "last_update": "2024-05-22 20:39:48", - "author_account_age_days": 434 + "author_account_age_days": 435 }, "https://github.com/hustille/ComfyUI_hus_utils": { "stars": 6, "last_update": "2024-05-22 20:39:34", - "author_account_age_days": 434 + "author_account_age_days": 435 }, "https://github.com/hylarucoder/ComfyUI-Eagle-PNGInfo": { "stars": 7, "last_update": "2024-06-17 10:01:00", - "author_account_age_days": 3908 + "author_account_age_days": 3909 }, "https://github.com/iFREEGROUP/comfyui-undistort": { "stars": 1, "last_update": "2024-06-14 08:59:52", - "author_account_age_days": 1551 + "author_account_age_days": 1553 }, "https://github.com/icesun963/ComfyUI_HFDownLoad": { "stars": 0, "last_update": "2024-06-14 08:59:58", - "author_account_age_days": 4100 + "author_account_age_days": 4101 }, "https://github.com/idrirap/ComfyUI-Lora-Auto-Trigger-Words": { "stars": 94, "last_update": "2024-05-22 21:25:49", - "author_account_age_days": 3044 + "author_account_age_days": 3045 }, "https://github.com/iemesowum/ComfyUI_IsaacNodes": { "stars": 0, "last_update": "2024-06-14 09:00:05", - "author_account_age_days": 5286 + "author_account_age_days": 5287 }, "https://github.com/if-ai/ComfyUI-IF_AI_HFDownloaderNode": { "stars": 2, "last_update": "2024-05-22 22:31:30", - "author_account_age_days": 2857 + "author_account_age_days": 2858 }, "https://github.com/if-ai/ComfyUI-IF_AI_WishperSpeechNode": { "stars": 26, "last_update": "2024-05-22 22:02:55", - "author_account_age_days": 2857 + "author_account_age_days": 2858 }, "https://github.com/if-ai/ComfyUI-IF_AI_tools": { - "stars": 346, + "stars": 350, "last_update": "2024-06-10 22:40:42", - "author_account_age_days": 2857 + "author_account_age_days": 2858 }, "https://github.com/imb101/ComfyUI-FaceSwap": { "stars": 28, "last_update": "2024-05-22 18:22:29", - "author_account_age_days": 883 + "author_account_age_days": 884 }, "https://github.com/jags111/ComfyUI_Jags_Audiotools": { "stars": 32, "last_update": "2024-05-19 18:54:12", - "author_account_age_days": 3865 + "author_account_age_days": 3867 }, "https://github.com/jags111/ComfyUI_Jags_VectorMagic": { "stars": 51, "last_update": "2024-05-19 18:49:42", - "author_account_age_days": 3865 + "author_account_age_days": 3867 }, "https://github.com/jags111/efficiency-nodes-comfyui": { - "stars": 681, + "stars": 683, "last_update": "2024-06-17 07:23:01", - "author_account_age_days": 3865 + "author_account_age_days": 3867 }, "https://github.com/jamal-alkharrat/ComfyUI_rotate_image": { "stars": 0, "last_update": "2024-05-22 23:19:02", - "author_account_age_days": 971 + "author_account_age_days": 972 }, "https://github.com/jamesWalker55/comfyui-p2ldgan": { "stars": 12, "last_update": "2024-05-22 18:19:04", - "author_account_age_days": 2522 + "author_account_age_days": 2523 }, "https://github.com/jamesWalker55/comfyui-various": { - "stars": 28, + "stars": 29, "last_update": "2024-05-22 18:19:17", - "author_account_age_days": 2522 + "author_account_age_days": 2523 }, "https://github.com/jax-explorer/fast_video_comfyui": { "stars": 0, "last_update": "2024-05-23 01:17:35", - "author_account_age_days": 571 + "author_account_age_days": 572 }, "https://github.com/jeffy5/comfyui-faceless-node": { - "stars": 12, + "stars": 13, "last_update": "2024-06-14 04:11:28", - "author_account_age_days": 2925 + "author_account_age_days": 2927 }, "https://github.com/jesenzhang/ComfyUI_StreamDiffusion": { "stars": 105, "last_update": "2024-05-23 02:40:36", - "author_account_age_days": 3646 + "author_account_age_days": 3648 }, "https://github.com/jiaxiangc/ComfyUI-ResAdapter": { - "stars": 265, + "stars": 266, "last_update": "2024-05-23 00:22:23", - "author_account_age_days": 1281 + "author_account_age_days": 1282 }, "https://github.com/jitcoder/lora-info": { "stars": 43, - "last_update": "2024-05-22 22:17:44", - "author_account_age_days": 4035 + "last_update": "2024-06-20 12:29:46", + "author_account_age_days": 4036 }, "https://github.com/jjkramhoeft/ComfyUI-Jjk-Nodes": { "stars": 4, "last_update": "2024-05-22 20:44:56", - "author_account_age_days": 3644 + "author_account_age_days": 3645 }, "https://github.com/jkrauss82/ultools-comfyui": { "stars": 5, "last_update": "2024-06-14 08:12:15", - "author_account_age_days": 4206 + "author_account_age_days": 4207 }, "https://github.com/jmkl/ComfyUI-ricing": { "stars": 9, "last_update": "2024-05-22 20:54:35", - "author_account_age_days": 4592 + "author_account_age_days": 4593 }, "https://github.com/jojkaart/ComfyUI-sampler-lcm-alternative": { - "stars": 100, + "stars": 101, "last_update": "2024-05-22 21:31:41", - "author_account_age_days": 4793 + "author_account_age_days": 4794 }, "https://github.com/jordoh/ComfyUI-Deepface": { "stars": 10, "last_update": "2024-06-14 08:08:29", - "author_account_age_days": 4988 + "author_account_age_days": 4989 }, "https://github.com/jtrue/ComfyUI-JaRue": { "stars": 6, "last_update": "2024-06-14 09:01:12", - "author_account_age_days": 3924 + "author_account_age_days": 3925 }, "https://github.com/jtydhr88/ComfyUI-LayerDivider": { - "stars": 44, + "stars": 45, "last_update": "2024-06-15 15:02:53", - "author_account_age_days": 4748 + "author_account_age_days": 4749 }, "https://github.com/jtydhr88/ComfyUI-Workflow-Encrypt": { "stars": 12, "last_update": "2024-06-14 08:10:50", - "author_account_age_days": 4748 + "author_account_age_days": 4749 }, "https://github.com/juehackr/comfyui_fk_server": { - "stars": 28, + "stars": 30, "last_update": "2024-06-17 14:20:57", - "author_account_age_days": 1107 + "author_account_age_days": 1108 }, "https://github.com/ka-puna/comfyui-yanc": { "stars": 6, "last_update": "2024-05-22 21:29:37", - "author_account_age_days": 2202 + "author_account_age_days": 2203 }, "https://github.com/kaanyalova/ComfyUI_ExtendedImageFormats": { "stars": 2, "last_update": "2024-06-03 13:20:01", - "author_account_age_days": 1261 + "author_account_age_days": 1262 }, "https://github.com/kadirnar/ComfyUI-Transformers": { - "stars": 16, + "stars": 17, "last_update": "2024-05-23 12:34:26", - "author_account_age_days": 2324 + "author_account_age_days": 2325 }, "https://github.com/kadirnar/ComfyUI-YOLO": { - "stars": 3, - "last_update": "2024-06-18 22:20:23", - "author_account_age_days": 2324 + "stars": 12, + "last_update": "2024-06-20 11:26:05", + "author_account_age_days": 2325 }, "https://github.com/kale4eat/ComfyUI-path-util": { "stars": 0, "last_update": "2024-05-25 05:44:11", - "author_account_age_days": 1607 + "author_account_age_days": 1608 }, "https://github.com/kale4eat/ComfyUI-speech-dataset-toolkit": { "stars": 5, "last_update": "2024-05-23 00:25:02", - "author_account_age_days": 1607 + "author_account_age_days": 1608 }, "https://github.com/kale4eat/ComfyUI-string-util": { "stars": 1, "last_update": "2024-05-23 00:24:40", - "author_account_age_days": 1607 + "author_account_age_days": 1608 }, "https://github.com/kale4eat/ComfyUI-text-file-util": { "stars": 0, "last_update": "2024-05-23 00:24:51", - "author_account_age_days": 1607 + "author_account_age_days": 1608 }, "https://github.com/katalist-ai/comfyUI-nsfw-detection": { "stars": 1, "last_update": "2024-05-23 01:23:32", - "author_account_age_days": 748 + "author_account_age_days": 749 }, "https://github.com/kealiu/ComfyUI-S3-Tools": { "stars": 1, "last_update": "2024-05-23 01:10:44", - "author_account_age_days": 4123 + "author_account_age_days": 4124 }, "https://github.com/kealiu/ComfyUI-Zero123-Porting": { "stars": 13, "last_update": "2024-05-23 01:11:13", - "author_account_age_days": 4123 + "author_account_age_days": 4124 }, "https://github.com/kealiu/ComfyUI-ZeroShot-MTrans": { "stars": 128, "last_update": "2024-05-23 01:11:01", - "author_account_age_days": 4123 + "author_account_age_days": 4124 }, "https://github.com/kenjiqq/qq-nodes-comfyui": { "stars": 23, "last_update": "2024-05-22 21:34:53", - "author_account_age_days": 4884 + "author_account_age_days": 4885 }, "https://github.com/kft334/Knodes": { "stars": 3, "last_update": "2024-06-14 08:12:06", - "author_account_age_days": 954 + "author_account_age_days": 955 }, "https://github.com/kijai/ComfyUI-ADMotionDirector": { - "stars": 125, + "stars": 126, "last_update": "2024-06-19 09:13:35", - "author_account_age_days": 2178 + "author_account_age_days": 2179 }, "https://github.com/kijai/ComfyUI-APISR-KJ": { - "stars": 55, + "stars": 56, "last_update": "2024-05-21 16:30:21", - "author_account_age_days": 2178 + "author_account_age_days": 2179 }, "https://github.com/kijai/ComfyUI-BrushNet-Wrapper": { - "stars": 103, - "last_update": "2024-05-21 16:49:05", - "author_account_age_days": 2178 + "stars": 104, + "last_update": "2024-06-20 12:15:16", + "author_account_age_days": 2179 }, "https://github.com/kijai/ComfyUI-CCSR": { - "stars": 144, + "stars": 145, "last_update": "2024-05-22 21:09:35", - "author_account_age_days": 2178 + "author_account_age_days": 2179 }, "https://github.com/kijai/ComfyUI-DDColor": { - "stars": 78, + "stars": 79, "last_update": "2024-05-21 16:04:26", - "author_account_age_days": 2178 + "author_account_age_days": 2179 }, "https://github.com/kijai/ComfyUI-DepthAnythingV2": { - "stars": 77, + "stars": 79, "last_update": "2024-06-19 08:57:28", - "author_account_age_days": 2178 + "author_account_age_days": 2179 }, "https://github.com/kijai/ComfyUI-DiffusionLight": { - "stars": 48, + "stars": 49, "last_update": "2024-05-21 16:16:52", - "author_account_age_days": 2178 + "author_account_age_days": 2179 }, "https://github.com/kijai/ComfyUI-DynamiCrafterWrapper": { - "stars": 458, + "stars": 462, "last_update": "2024-06-09 11:19:05", - "author_account_age_days": 2178 + "author_account_age_days": 2179 }, "https://github.com/kijai/ComfyUI-ELLA-wrapper": { "stars": 103, "last_update": "2024-05-21 16:47:28", - "author_account_age_days": 2178 + "author_account_age_days": 2179 + }, + "https://github.com/kijai/ComfyUI-Florence2": { + "stars": 55, + "last_update": "2024-06-20 12:00:33", + "author_account_age_days": 2179 }, "https://github.com/kijai/ComfyUI-Geowizard": { "stars": 81, "last_update": "2024-05-28 14:08:34", - "author_account_age_days": 2178 + "author_account_age_days": 2179 }, "https://github.com/kijai/ComfyUI-IC-Light": { - "stars": 382, + "stars": 386, "last_update": "2024-06-19 09:18:06", - "author_account_age_days": 2178 + "author_account_age_days": 2179 }, "https://github.com/kijai/ComfyUI-KJNodes": { - "stars": 328, + "stars": 331, "last_update": "2024-06-19 09:05:21", - "author_account_age_days": 2178 + "author_account_age_days": 2179 }, "https://github.com/kijai/ComfyUI-LaVi-Bridge-Wrapper": { "stars": 19, "last_update": "2024-05-21 16:41:18", - "author_account_age_days": 2178 + "author_account_age_days": 2179 + }, + "https://github.com/kijai/ComfyUI-LuminaWrapper": { + "stars": 117, + "last_update": "2024-06-19 15:22:53", + "author_account_age_days": 2179 }, "https://github.com/kijai/ComfyUI-Marigold": { - "stars": 374, + "stars": 376, "last_update": "2024-06-19 09:10:03", - "author_account_age_days": 2178 + "author_account_age_days": 2179 }, "https://github.com/kijai/ComfyUI-SUPIR": { - "stars": 1160, + "stars": 1168, "last_update": "2024-05-21 14:56:36", - "author_account_age_days": 2178 + "author_account_age_days": 2179 }, "https://github.com/kijai/ComfyUI-SVD": { "stars": 152, "last_update": "2024-05-22 21:09:54", - "author_account_age_days": 2178 + "author_account_age_days": 2179 }, "https://github.com/kijai/ComfyUI-depth-fm": { "stars": 53, "last_update": "2024-05-22 21:10:15", - "author_account_age_days": 2178 + "author_account_age_days": 2179 }, "https://github.com/kijai/ComfyUI-moondream": { - "stars": 77, + "stars": 78, "last_update": "2024-05-22 21:10:33", - "author_account_age_days": 2178 + "author_account_age_days": 2179 }, "https://github.com/kinfolk0117/ComfyUI_GradientDeepShrink": { "stars": 23, "last_update": "2024-05-22 21:25:13", - "author_account_age_days": 463 + "author_account_age_days": 464 }, "https://github.com/kinfolk0117/ComfyUI_Pilgram": { "stars": 7, "last_update": "2024-05-22 21:25:24", - "author_account_age_days": 463 + "author_account_age_days": 464 }, "https://github.com/kinfolk0117/ComfyUI_SimpleTiles": { "stars": 24, "last_update": "2024-05-22 21:25:01", - "author_account_age_days": 463 + "author_account_age_days": 464 }, "https://github.com/klinter007/klinter_nodes": { "stars": 4, "last_update": "2024-06-14 09:05:41", - "author_account_age_days": 420 + "author_account_age_days": 421 }, "https://github.com/knuknX/ComfyUI-Image-Tools": { "stars": 3, "last_update": "2024-06-14 09:05:58", - "author_account_age_days": 195 + "author_account_age_days": 196 }, "https://github.com/kohya-ss/ControlNet-LLLite-ComfyUI": { - "stars": 145, + "stars": 147, "last_update": "2024-05-22 20:44:44", - "author_account_age_days": 1804 + "author_account_age_days": 1805 }, "https://github.com/komojini/ComfyUI_SDXL_DreamBooth_LoRA_CustomNodes": { "stars": 3, "last_update": "2024-05-22 21:34:27", - "author_account_age_days": 578 + "author_account_age_days": 579 }, "https://github.com/komojini/komojini-comfyui-nodes": { "stars": 63, "last_update": "2024-05-22 21:34:39", - "author_account_age_days": 578 + "author_account_age_days": 579 }, "https://github.com/kunieone/ComfyUI_alkaid": { "stars": 0, "last_update": "2024-05-23 01:10:21", - "author_account_age_days": 2514 + "author_account_age_days": 2516 }, "https://github.com/kwaroran/abg-comfyui": { "stars": 22, "last_update": "2024-05-22 18:19:51", - "author_account_age_days": 602 + "author_account_age_days": 603 }, "https://github.com/l20richo/ComfyUI-Azure-Blob-Storage": { "stars": 2, "last_update": "2024-06-14 10:24:05", - "author_account_age_days": 1162 + "author_account_age_days": 1163 }, "https://github.com/laksjdjf/Batch-Condition-ComfyUI": { "stars": 1, "last_update": "2024-05-22 20:42:42", - "author_account_age_days": 2826 + "author_account_age_days": 2827 }, "https://github.com/laksjdjf/LCMSampler-ComfyUI": { "stars": 14, "last_update": "2024-05-22 20:42:17", - "author_account_age_days": 2826 + "author_account_age_days": 2827 }, "https://github.com/laksjdjf/LoRTnoC-ComfyUI": { "stars": 11, "last_update": "2024-05-22 20:42:29", - "author_account_age_days": 2826 + "author_account_age_days": 2827 }, "https://github.com/laksjdjf/cd-tuner_negpip-ComfyUI": { "stars": 19, "last_update": "2024-05-22 20:42:04", - "author_account_age_days": 2826 + "author_account_age_days": 2827 }, "https://github.com/laksjdjf/cgem156-ComfyUI": { "stars": 30, "last_update": "2024-06-08 01:09:03", - "author_account_age_days": 2826 + "author_account_age_days": 2827 }, "https://github.com/laksjdjf/pfg-ComfyUI": { "stars": 10, "last_update": "2024-05-22 20:41:41", - "author_account_age_days": 2826 + "author_account_age_days": 2827 }, "https://github.com/larsupb/LoRA-Merger-ComfyUI": { "stars": 9, "last_update": "2024-06-14 10:23:47", - "author_account_age_days": 3070 + "author_account_age_days": 3072 }, "https://github.com/latenightlabs/ComfyUI-LNL": { - "stars": 0, - "last_update": "2024-06-14 13:02:47", - "author_account_age_days": 145 + "stars": 7, + "last_update": "2024-06-20 05:06:19", + "author_account_age_days": 146 }, "https://github.com/leoleelxh/ComfyUI-LLMs": { "stars": 7, "last_update": "2024-06-14 10:24:23", - "author_account_age_days": 4070 + "author_account_age_days": 4071 }, "https://github.com/lilly1987/ComfyUI_node_Lilly": { "stars": 49, "last_update": "2024-05-22 17:53:19", - "author_account_age_days": 2904 + "author_account_age_days": 2905 }, "https://github.com/linshier/comfyui-remote-tools": { "stars": 1, "last_update": "2024-05-28 07:44:23", - "author_account_age_days": 3786 + "author_account_age_days": 3788 }, "https://github.com/liusida/ComfyUI-AutoCropFaces": { "stars": 18, "last_update": "2024-06-14 10:24:37", - "author_account_age_days": 3202 + "author_account_age_days": 3203 }, "https://github.com/liusida/ComfyUI-B-LoRA": { - "stars": 13, + "stars": 14, "last_update": "2024-06-18 03:17:46", - "author_account_age_days": 3202 + "author_account_age_days": 3203 }, "https://github.com/liusida/ComfyUI-Debug": { "stars": 6, "last_update": "2024-06-14 10:25:26", - "author_account_age_days": 3202 + "author_account_age_days": 3203 }, "https://github.com/liusida/ComfyUI-Login": { "stars": 37, "last_update": "2024-06-19 03:30:09", - "author_account_age_days": 3202 + "author_account_age_days": 3203 }, "https://github.com/liusida/ComfyUI-SD3-nodes": { - "stars": 2, + "stars": 3, "last_update": "2024-06-14 13:01:41", - "author_account_age_days": 3202 + "author_account_age_days": 3203 }, "https://github.com/ljleb/comfy-mecha": { - "stars": 16, + "stars": 18, "last_update": "2024-06-18 20:57:28", - "author_account_age_days": 2458 + "author_account_age_days": 2459 }, "https://github.com/lks-ai/ComfyUI-StableAudioSampler": { - "stars": 168, + "stars": 170, "last_update": "2024-06-17 18:54:17", - "author_account_age_days": 94 + "author_account_age_days": 95 }, "https://github.com/lks-ai/anynode": { "stars": 405, "last_update": "2024-06-14 10:25:56", - "author_account_age_days": 94 + "author_account_age_days": 95 }, "https://github.com/lldacing/comfyui-easyapi-nodes": { "stars": 27, "last_update": "2024-05-24 02:51:26", - "author_account_age_days": 2088 + "author_account_age_days": 2089 }, "https://github.com/logtd/ComfyUI-FLATTEN": { - "stars": 61, + "stars": 65, "last_update": "2024-06-14 18:00:19", - "author_account_age_days": 117 + "author_account_age_days": 118 }, "https://github.com/logtd/ComfyUI-InstanceDiffusion": { - "stars": 140, + "stars": 142, "last_update": "2024-05-22 00:02:08", - "author_account_age_days": 117 + "author_account_age_days": 118 }, "https://github.com/logtd/ComfyUI-InversedNoise": { "stars": 5, "last_update": "2024-05-22 00:10:18", - "author_account_age_days": 117 + "author_account_age_days": 118 }, "https://github.com/logtd/ComfyUI-RAVE_ATTN": { "stars": 9, "last_update": "2024-05-22 00:20:03", - "author_account_age_days": 117 + "author_account_age_days": 118 }, "https://github.com/logtd/ComfyUI-RefSampling": { "stars": 4, "last_update": "2024-05-22 00:04:40", - "author_account_age_days": 117 + "author_account_age_days": 118 }, "https://github.com/logtd/ComfyUI-TrackingNodes": { "stars": 15, "last_update": "2024-05-22 00:03:27", - "author_account_age_days": 117 + "author_account_age_days": 118 }, "https://github.com/longgui0318/comfyui-llm-assistant": { "stars": 5, "last_update": "2024-05-22 23:13:46", - "author_account_age_days": 4159 + "author_account_age_days": 4160 }, "https://github.com/longgui0318/comfyui-magic-clothing": { - "stars": 20, + "stars": 21, "last_update": "2024-06-14 10:27:32", - "author_account_age_days": 4159 + "author_account_age_days": 4160 }, "https://github.com/longgui0318/comfyui-mask-util": { "stars": 4, "last_update": "2024-06-15 02:59:08", - "author_account_age_days": 4159 + "author_account_age_days": 4160 }, "https://github.com/longgui0318/comfyui-oms-diffusion": { - "stars": 20, + "stars": 21, "last_update": "2024-06-14 10:27:32", - "author_account_age_days": 4159 + "author_account_age_days": 4160 }, "https://github.com/lquesada/ComfyUI-Inpaint-CropAndStitch": { - "stars": 144, + "stars": 147, "last_update": "2024-06-11 03:36:02", - "author_account_age_days": 4045 + "author_account_age_days": 4046 }, "https://github.com/lquesada/ComfyUI-Prompt-Combinator": { "stars": 19, - "last_update": "2024-06-17 08:08:08", - "author_account_age_days": 4045 + "last_update": "2024-06-19 18:16:35", + "author_account_age_days": 4046 }, "https://github.com/ltdrdata/ComfyUI-Impact-Pack": { - "stars": 1373, - "last_update": "2024-06-18 16:40:52", - "author_account_age_days": 457 + "stars": 1376, + "last_update": "2024-06-19 14:51:06", + "author_account_age_days": 458 }, "https://github.com/ltdrdata/ComfyUI-Inspire-Pack": { - "stars": 286, - "last_update": "2024-06-18 18:01:15", - "author_account_age_days": 457 + "stars": 287, + "last_update": "2024-06-19 14:16:40", + "author_account_age_days": 458 }, "https://github.com/ltdrdata/ComfyUI-Manager": { - "stars": 4337, - "last_update": "2024-06-19 08:27:58", - "author_account_age_days": 457 + "stars": 4359, + "last_update": "2024-06-20 12:09:03", + "author_account_age_days": 458 }, "https://github.com/luandev/ComfyUI-CrewAI": { "stars": 5, "last_update": "2024-06-14 10:25:20", - "author_account_age_days": 3802 + "author_account_age_days": 3803 }, "https://github.com/m-sokes/ComfyUI-Sokes-Nodes": { "stars": 1, "last_update": "2024-05-22 20:36:07", - "author_account_age_days": 310 + "author_account_age_days": 311 }, "https://github.com/madtunebk/ComfyUI-ControlnetAux": { "stars": 8, "last_update": "2024-06-04 12:14:51", - "author_account_age_days": 456 + "author_account_age_days": 457 }, "https://github.com/mape/ComfyUI-mape-Helpers": { "stars": 120, "last_update": "2024-05-22 23:19:13", - "author_account_age_days": 5749 + "author_account_age_days": 5750 }, "https://github.com/maracman/ComfyUI-SubjectStyle-CSV": { "stars": 3, "last_update": "2024-06-14 10:24:29", - "author_account_age_days": 1161 + "author_account_age_days": 1163 }, "https://github.com/marduk191/comfyui-marnodes": { "stars": 0, "last_update": "2024-06-14 10:24:11", - "author_account_age_days": 4409 + "author_account_age_days": 4411 }, "https://github.com/marhensa/sdxl-recommended-res-calc": { "stars": 51, "last_update": "2024-05-22 20:46:17", - "author_account_age_days": 4770 + "author_account_age_days": 4771 }, "https://github.com/martijnat/comfyui-previewlatent": { "stars": 29, "last_update": "2024-05-22 21:28:39", - "author_account_age_days": 2826 + "author_account_age_days": 2827 }, "https://github.com/massao000/ComfyUI_aspect_ratios": { "stars": 7, "last_update": "2024-05-22 22:23:10", - "author_account_age_days": 1402 + "author_account_age_days": 1403 }, "https://github.com/matan1905/ComfyUI-Serving-Toolkit": { "stars": 38, "last_update": "2024-06-04 19:15:36", - "author_account_age_days": 2734 + "author_account_age_days": 2736 }, "https://github.com/mav-rik/facerestore_cf": { - "stars": 150, + "stars": 151, "last_update": "2024-05-22 20:53:23", - "author_account_age_days": 2915 + "author_account_age_days": 2916 }, "https://github.com/mbrostami/ComfyUI-HF": { "stars": 16, "last_update": "2024-05-27 21:45:33", - "author_account_age_days": 4316 + "author_account_age_days": 4317 }, "https://github.com/mbrostami/ComfyUI-TITrain": { "stars": 7, "last_update": "2024-05-27 21:50:06", - "author_account_age_days": 4316 + "author_account_age_days": 4317 }, "https://github.com/mcmonkeyprojects/sd-dynamic-thresholding": { - "stars": 1055, + "stars": 1059, "last_update": "2024-05-24 16:09:17", - "author_account_age_days": 2096 + "author_account_age_days": 2097 }, "https://github.com/meap158/ComfyUI-Background-Replacement": { "stars": 35, "last_update": "2024-05-22 20:43:52", - "author_account_age_days": 3198 + "author_account_age_days": 3199 }, "https://github.com/meap158/ComfyUI-GPU-temperature-protection": { "stars": 3, "last_update": "2024-05-22 20:43:21", - "author_account_age_days": 3198 + "author_account_age_days": 3199 }, "https://github.com/meap158/ComfyUI-Prompt-Expansion": { "stars": 61, "last_update": "2024-05-22 20:43:37", - "author_account_age_days": 3198 + "author_account_age_days": 3199 }, "https://github.com/melMass/comfy_mtb": { "stars": 338, "last_update": "2024-06-09 17:20:03", - "author_account_age_days": 3740 + "author_account_age_days": 3741 }, "https://github.com/mephisto83/petty-paint-comfyui-node": { "stars": 1, "last_update": "2024-06-15 20:16:58", - "author_account_age_days": 3667 + "author_account_age_days": 3668 }, "https://github.com/meshmesh-io/ComfyUI-MeshMesh": { "stars": 0, "last_update": "2024-05-23 00:10:09", - "author_account_age_days": 223 + "author_account_age_days": 224 }, "https://github.com/meshmesh-io/mm-comfyui-loopback": { "stars": 1, "last_update": "2024-05-23 00:09:57", - "author_account_age_days": 223 + "author_account_age_days": 224 }, "https://github.com/meshmesh-io/mm-comfyui-megamask": { "stars": 0, "last_update": "2024-05-23 00:09:47", - "author_account_age_days": 223 + "author_account_age_days": 224 }, "https://github.com/mihaiiancu/ComfyUI_Inpaint": { "stars": 9, "last_update": "2024-05-22 18:19:38", - "author_account_age_days": 2656 + "author_account_age_days": 2657 }, "https://github.com/mikkel/ComfyUI-text-overlay": { "stars": 29, "last_update": "2024-05-22 21:13:59", - "author_account_age_days": 5911 + "author_account_age_days": 5912 }, "https://github.com/mikkel/comfyui-mask-boundingbox": { "stars": 24, "last_update": "2024-05-22 21:26:23", - "author_account_age_days": 5911 + "author_account_age_days": 5912 }, "https://github.com/mirabarukaso/ComfyUI_Mira": { "stars": 20, "last_update": "2024-06-14 11:01:10", - "author_account_age_days": 1215 + "author_account_age_days": 1216 }, "https://github.com/modusCell/ComfyUI-dimension-node-modusCell": { "stars": 0, "last_update": "2024-05-22 22:08:50", - "author_account_age_days": 4598 + "author_account_age_days": 4600 }, "https://github.com/moyi7712/ComfyUI_Seamless_Patten": { - "stars": 7, - "last_update": "2024-06-19 03:07:36", - "author_account_age_days": 2295 + "stars": 8, + "last_update": "2024-06-19 13:44:39", + "author_account_age_days": 2297 }, "https://github.com/mozman/ComfyUI_mozman_nodes": { "stars": 0, "last_update": "2024-05-22 22:13:32", - "author_account_age_days": 4075 + "author_account_age_days": 4076 }, "https://github.com/mpiquero7164/ComfyUI-SaveImgPrompt": { "stars": 15, "last_update": "2023-08-14 11:27:09", - "author_account_age_days": 2603 + "author_account_age_days": 2604 }, "https://github.com/muzi12888/ComfyUI-PoseKeypoint-Mask": { "stars": 6, "last_update": "2024-06-14 13:26:02", - "author_account_age_days": 2940 + "author_account_age_days": 2941 }, "https://github.com/nagolinc/ComfyUI_FastVAEDecorder_SDXL": { "stars": 2, "last_update": "2024-05-22 20:44:17", - "author_account_age_days": 3669 + "author_account_age_days": 3670 }, "https://github.com/nagolinc/comfyui_openai_node": { "stars": 0, "last_update": "2024-06-15 15:59:07", - "author_account_age_days": 3669 + "author_account_age_days": 3670 }, "https://github.com/nat-chan/ComfyUI-graphToPrompt": { "stars": 0, "last_update": "2024-05-23 01:16:40", - "author_account_age_days": 2988 + "author_account_age_days": 2989 }, "https://github.com/nat-chan/comfyui-paint": { "stars": 2, "last_update": "2024-06-14 11:01:38", - "author_account_age_days": 2988 + "author_account_age_days": 2989 }, "https://github.com/nat-chan/comfyui-transceiver": { "stars": 3, "last_update": "2024-05-23 01:16:28", - "author_account_age_days": 2988 + "author_account_age_days": 2989 }, "https://github.com/nathannlu/ComfyUI-Cloud": { "stars": 133, "last_update": "2024-06-14 12:00:59", - "author_account_age_days": 2720 + "author_account_age_days": 2721 }, "https://github.com/nathannlu/ComfyUI-Pets": { "stars": 36, "last_update": "2024-06-14 11:00:42", - "author_account_age_days": 2720 + "author_account_age_days": 2721 }, "https://github.com/natto-maki/ComfyUI-NegiTools": { "stars": 26, "last_update": "2024-05-22 21:31:17", - "author_account_age_days": 272 + "author_account_age_days": 273 }, "https://github.com/nickve28/ComfyUI-Nich-Utils": { "stars": 8, "last_update": "2024-05-23 00:22:57", - "author_account_age_days": 4023 + "author_account_age_days": 4025 }, "https://github.com/ningxiaoxiao/comfyui-NDI": { "stars": 35, "last_update": "2024-06-14 12:00:29", - "author_account_age_days": 2982 + "author_account_age_days": 2983 }, "https://github.com/nirbhay-faaya/ImgProcessing_ComfyUI": { "stars": 0, "last_update": "2024-06-14 12:01:14", - "author_account_age_days": 330 + "author_account_age_days": 331 }, "https://github.com/nirex0/ComfyUI_pytorch_openpose": { "stars": 2, "last_update": "2024-06-14 12:01:07", - "author_account_age_days": 3497 + "author_account_age_days": 3499 }, "https://github.com/nkchocoai/ComfyUI-Dart": { "stars": 17, "last_update": "2024-05-22 23:11:22", - "author_account_age_days": 154 + "author_account_age_days": 155 }, "https://github.com/nkchocoai/ComfyUI-PromptUtilities": { "stars": 6, "last_update": "2024-05-22 23:10:42", - "author_account_age_days": 154 + "author_account_age_days": 155 }, "https://github.com/nkchocoai/ComfyUI-SaveImageWithMetaData": { "stars": 8, "last_update": "2024-06-15 05:58:02", - "author_account_age_days": 154 + "author_account_age_days": 155 }, "https://github.com/nkchocoai/ComfyUI-SizeFromPresets": { "stars": 4, "last_update": "2024-05-22 23:10:30", - "author_account_age_days": 154 + "author_account_age_days": 155 }, "https://github.com/nkchocoai/ComfyUI-TextOnSegs": { "stars": 5, "last_update": "2024-05-22 23:10:55", - "author_account_age_days": 154 + "author_account_age_days": 155 }, "https://github.com/noembryo/ComfyUI-noEmbryo": { "stars": 12, "last_update": "2024-06-04 11:27:45", - "author_account_age_days": 2737 + "author_account_age_days": 2738 }, "https://github.com/nosiu/comfyui-instantId-faceswap": { - "stars": 164, + "stars": 165, "last_update": "2024-05-22 23:21:38", - "author_account_age_days": 3899 + "author_account_age_days": 3900 }, "https://github.com/noxinias/ComfyUI_NoxinNodes": { "stars": 7, "last_update": "2024-05-22 21:24:24", - "author_account_age_days": 2555 + "author_account_age_days": 2556 }, "https://github.com/ntc-ai/ComfyUI-DARE-LoRA-Merge": { "stars": 22, "last_update": "2024-05-22 22:22:14", - "author_account_age_days": 1712 + "author_account_age_days": 1713 }, "https://github.com/nuanarchy/ComfyUI-NuA-BIRD": { - "stars": 3, + "stars": 4, "last_update": "2024-06-18 05:35:49", - "author_account_age_days": 1087 + "author_account_age_days": 1088 }, "https://github.com/nuanarchy/ComfyUI-NuA-FlashFace": { - "stars": 10, + "stars": 11, "last_update": "2024-06-17 15:29:15", - "author_account_age_days": 1087 + "author_account_age_days": 1088 }, "https://github.com/nullquant/ComfyUI-BrushNet": { - "stars": 341, - "last_update": "2024-06-16 18:29:47", - "author_account_age_days": 1171 + "stars": 350, + "last_update": "2024-06-19 16:24:00", + "author_account_age_days": 1172 }, "https://github.com/olduvai-jp/ComfyUI-HfLoader": { "stars": 3, "last_update": "2024-05-23 00:14:52", - "author_account_age_days": 871 + "author_account_age_days": 872 }, "https://github.com/omar92/ComfyUI-QualityOfLifeSuit_Omar92": { "stars": 108, "last_update": "2024-06-03 11:02:37", - "author_account_age_days": 4501 + "author_account_age_days": 4502 }, "https://github.com/osi1880vr/prompt_quill_comfyui": { "stars": 9, "last_update": "2024-06-13 17:24:12", - "author_account_age_days": 1071 + "author_account_age_days": 1072 }, "https://github.com/ostris/ostris_nodes_comfyui": { "stars": 19, "last_update": "2024-05-22 21:23:24", - "author_account_age_days": 2397 + "author_account_age_days": 2398 }, "https://github.com/ownimage/ComfyUI-ownimage": { "stars": 0, "last_update": "2024-05-22 22:22:37", - "author_account_age_days": 2778 + "author_account_age_days": 2779 }, "https://github.com/oyvindg/ComfyUI-TrollSuite": { "stars": 0, "last_update": "2024-05-22 21:32:03", - "author_account_age_days": 2324 + "author_account_age_days": 2325 }, "https://github.com/oztrkoguz/ComfyUI_StoryCreator": { "stars": 16, "last_update": "2024-05-23 12:18:45", - "author_account_age_days": 836 + "author_account_age_days": 837 }, "https://github.com/palant/extended-saveimage-comfyui": { "stars": 10, "last_update": "2024-03-27 14:08:21", - "author_account_age_days": 5048 + "author_account_age_days": 5049 }, "https://github.com/palant/image-resize-comfyui": { "stars": 61, "last_update": "2024-01-18 20:59:55", - "author_account_age_days": 5048 + "author_account_age_days": 5049 }, "https://github.com/palant/integrated-nodes-comfyui": { "stars": 31, "last_update": "2023-12-27 22:52:00", - "author_account_age_days": 5048 + "author_account_age_days": 5049 }, "https://github.com/pamparamm/sd-perturbed-attention": { - "stars": 171, + "stars": 172, "last_update": "2024-06-15 14:49:56", - "author_account_age_days": 2125 + "author_account_age_days": 2127 }, "https://github.com/pants007/comfy-pants": { "stars": 2, "last_update": "2024-05-22 18:16:04", - "author_account_age_days": 2312 + "author_account_age_days": 2313 }, "https://github.com/paulo-coronado/comfy_clip_blip_node": { "stars": 25, "last_update": "2024-05-22 17:39:09", - "author_account_age_days": 2681 + "author_account_age_days": 2683 }, "https://github.com/philz1337x/ComfyUI-ClarityAI": { - "stars": 40, + "stars": 42, "last_update": "2024-05-23 01:19:05", - "author_account_age_days": 658 + "author_account_age_days": 659 }, "https://github.com/phineas-pta/comfyui-auto-nodes-layout": { - "stars": 20, - "last_update": "2024-06-18 19:17:38", - "author_account_age_days": 2283 + "stars": 21, + "last_update": "2024-06-19 21:38:47", + "author_account_age_days": 2284 }, "https://github.com/picturesonpictures/comfy_PoP": { "stars": 13, "last_update": "2024-05-22 20:51:32", - "author_account_age_days": 582 + "author_account_age_days": 583 }, "https://github.com/pkpkTech/ComfyUI-SaveAVIF": { "stars": 0, "last_update": "2024-05-22 22:19:21", - "author_account_age_days": 1498 + "author_account_age_days": 1499 }, "https://github.com/pkpkTech/ComfyUI-SaveQueues": { "stars": 1, "last_update": "2024-05-22 22:19:54", - "author_account_age_days": 1498 + "author_account_age_days": 1499 }, "https://github.com/pkpkTech/ComfyUI-TemporaryLoader": { "stars": 1, "last_update": "2024-05-22 22:19:44", - "author_account_age_days": 1498 + "author_account_age_days": 1499 }, "https://github.com/pkpkTech/ComfyUI-ngrok": { "stars": 3, "last_update": "2024-05-22 22:19:32", - "author_account_age_days": 1498 + "author_account_age_days": 1499 }, "https://github.com/portu-sim/comfyui_bmab": { "stars": 22, "last_update": "2024-06-09 14:22:04", - "author_account_age_days": 317 + "author_account_age_days": 318 }, "https://github.com/prodogape/ComfyUI-EasyOCR": { "stars": 5, "last_update": "2024-06-14 13:01:27", - "author_account_age_days": 1025 + "author_account_age_days": 1026 }, "https://github.com/prodogape/ComfyUI-Minio": { "stars": 2, "last_update": "2024-05-23 00:13:38", - "author_account_age_days": 1025 + "author_account_age_days": 1026 }, "https://github.com/prodogape/ComfyUI-OmDet": { "stars": 2, "last_update": "2024-06-14 13:01:34", - "author_account_age_days": 1025 + "author_account_age_days": 1026 }, "https://github.com/prozacgod/comfyui-pzc-multiworkspace": { "stars": 7, "last_update": "2024-05-22 23:11:46", - "author_account_age_days": 5563 + "author_account_age_days": 5564 }, "https://github.com/pythongosssss/ComfyUI-Custom-Scripts": { - "stars": 1317, + "stars": 1322, "last_update": "2024-06-10 11:49:03", - "author_account_age_days": 492 + "author_account_age_days": 493 }, "https://github.com/pythongosssss/ComfyUI-WD14-Tagger": { - "stars": 413, - "last_update": "2024-05-25 18:12:08", - "author_account_age_days": 492 + "stars": 414, + "last_update": "2024-06-20 05:38:50", + "author_account_age_days": 493 }, "https://github.com/qwixiwp/queuetools": { "stars": 0, "last_update": "2024-06-14 10:27:57", - "author_account_age_days": 606 + "author_account_age_days": 607 }, "https://github.com/ramyma/A8R8_ComfyUI_nodes": { "stars": 4, "last_update": "2024-05-22 20:55:02", - "author_account_age_days": 3212 + "author_account_age_days": 3213 }, "https://github.com/randjtw/advance-aesthetic-score": { "stars": 0, "last_update": "2024-05-23 01:14:47", - "author_account_age_days": 755 + "author_account_age_days": 756 }, "https://github.com/ratulrafsan/Comfyui-SAL-VTON": { "stars": 56, "last_update": "2024-05-23 00:17:20", - "author_account_age_days": 4489 + "author_account_age_days": 4490 }, "https://github.com/rcfcu2000/zhihuige-nodes-comfyui": { "stars": 0, "last_update": "2024-05-22 22:13:55", - "author_account_age_days": 3419 + "author_account_age_days": 3420 }, "https://github.com/rcsaquino/comfyui-custom-nodes": { "stars": 1, "last_update": "2024-05-22 22:13:43", - "author_account_age_days": 1506 + "author_account_age_days": 1507 }, "https://github.com/receyuki/comfyui-prompt-reader-node": { - "stars": 206, + "stars": 208, "last_update": "2024-06-06 23:39:40", - "author_account_age_days": 2587 + "author_account_age_days": 2588 }, "https://github.com/redhottensors/ComfyUI-ODE": { "stars": 10, - "last_update": "2024-06-18 16:24:30", - "author_account_age_days": 134 + "last_update": "2024-06-19 17:56:42", + "author_account_age_days": 135 }, "https://github.com/redhottensors/ComfyUI-Prediction": { "stars": 9, "last_update": "2024-06-14 10:25:44", - "author_account_age_days": 134 + "author_account_age_days": 135 }, "https://github.com/rgthree/rgthree-comfy": { - "stars": 686, - "last_update": "2024-06-18 03:20:51", - "author_account_age_days": 4969 + "stars": 690, + "last_update": "2024-06-20 01:59:29", + "author_account_age_days": 4970 }, "https://github.com/richinsley/Comfy-LFO": { "stars": 5, "last_update": "2024-05-22 20:46:30", - "author_account_age_days": 2675 + "author_account_age_days": 2676 }, "https://github.com/ricklove/comfyui-ricklove": { "stars": 0, "last_update": "2024-05-22 23:21:25", - "author_account_age_days": 4827 + "author_account_age_days": 4828 }, "https://github.com/risunobushi/comfyUI_FrequencySeparation_RGB-HSV": { "stars": 8, "last_update": "2024-06-14 10:28:04", - "author_account_age_days": 642 + "author_account_age_days": 643 }, "https://github.com/rklaffehn/rk-comfy-nodes": { "stars": 2, "last_update": "2024-06-14 10:24:43", - "author_account_age_days": 287 + "author_account_age_days": 288 }, "https://github.com/romeobuilderotti/ComfyUI-PNG-Metadata": { "stars": 4, "last_update": "2024-05-22 21:29:25", - "author_account_age_days": 285 + "author_account_age_days": 286 }, "https://github.com/ronniebasak/ComfyUI-Tara-LLM-Integration": { "stars": 70, - "last_update": "2024-06-14 10:24:55", - "author_account_age_days": 4149 + "last_update": "2024-06-20 11:57:41", + "author_account_age_days": 4151 }, "https://github.com/royceschultz/ComfyUI-Notifications": { "stars": 4, "last_update": "2024-05-23 01:23:16", - "author_account_age_days": 2524 + "author_account_age_days": 2525 }, "https://github.com/royceschultz/ComfyUI-TranscriptionTools": { "stars": 12, "last_update": "2024-05-23 01:10:10", - "author_account_age_days": 2524 + "author_account_age_days": 2525 }, "https://github.com/rui40000/RUI-Nodes": { "stars": 14, "last_update": "2024-05-22 22:12:26", - "author_account_age_days": 469 + "author_account_age_days": 470 }, "https://github.com/ruiqutech/ComfyUI-RuiquNodes": { "stars": 0, "last_update": "2024-05-23 01:21:50", - "author_account_age_days": 64 + "author_account_age_days": 66 }, "https://github.com/runtime44/comfyui_r44_nodes": { "stars": 26, "last_update": "2024-06-11 10:49:02", - "author_account_age_days": 162 + "author_account_age_days": 163 }, "https://github.com/saftle/suplex_comfy_nodes": { "stars": 0, "last_update": "2024-05-29 13:09:25", - "author_account_age_days": 4752 + "author_account_age_days": 4753 }, "https://github.com/sdfxai/SDFXBridgeForComfyUI": { "stars": 4, "last_update": "2024-06-14 10:26:56", - "author_account_age_days": 229 + "author_account_age_days": 230 }, "https://github.com/seanlynch/comfyui-optical-flow": { "stars": 24, "last_update": "2024-05-22 20:52:17", - "author_account_age_days": 5300 + "author_account_age_days": 5301 }, "https://github.com/seanlynch/srl-nodes": { "stars": 3, "last_update": "2024-05-22 21:08:00", - "author_account_age_days": 5300 + "author_account_age_days": 5301 }, "https://github.com/sergekatzmann/ComfyUI_Nimbus-Pack": { "stars": 2, "last_update": "2024-05-22 21:34:15", - "author_account_age_days": 3327 + "author_account_age_days": 3328 }, "https://github.com/shadowcz007/comfyui-Image-reward": { "stars": 20, "last_update": "2024-06-14 10:24:49", - "author_account_age_days": 3309 + "author_account_age_days": 3310 }, "https://github.com/shadowcz007/comfyui-consistency-decoder": { "stars": 2, "last_update": "2024-06-14 10:23:35", - "author_account_age_days": 3309 + "author_account_age_days": 3310 }, "https://github.com/shadowcz007/comfyui-edit-mask": { - "stars": 1, - "last_update": "2024-06-17 02:58:56", - "author_account_age_days": 3309 + "stars": 3, + "last_update": "2024-06-20 01:42:48", + "author_account_age_days": 3310 }, "https://github.com/shadowcz007/comfyui-mixlab-nodes": { - "stars": 873, - "last_update": "2024-06-19 03:10:50", - "author_account_age_days": 3309 + "stars": 877, + "last_update": "2024-06-20 09:47:08", + "author_account_age_days": 3310 }, "https://github.com/shadowcz007/comfyui-sound-lab": { - "stars": 43, - "last_update": "2024-06-17 09:49:50", - "author_account_age_days": 3309 + "stars": 52, + "last_update": "2024-06-20 02:07:31", + "author_account_age_days": 3310 }, "https://github.com/shadowcz007/comfyui-ultralytics-yolo": { "stars": 17, - "last_update": "2024-06-05 10:29:22", - "author_account_age_days": 3309 + "last_update": "2024-06-20 01:43:22", + "author_account_age_days": 3310 }, "https://github.com/shi3z/ComfyUI_Memeplex_DALLE": { "stars": 2, "last_update": "2024-05-23 00:14:25", - "author_account_age_days": 5088 + "author_account_age_days": 5089 }, "https://github.com/shiimizu/ComfyUI-PhotoMaker-Plus": { "stars": 140, "last_update": "2024-04-17 09:02:51", - "author_account_age_days": 1760 + "author_account_age_days": 1761 }, "https://github.com/shiimizu/ComfyUI-TiledDiffusion": { "stars": 206, "last_update": "2024-05-14 22:01:41", - "author_account_age_days": 1760 + "author_account_age_days": 1761 }, "https://github.com/shiimizu/ComfyUI_smZNodes": { - "stars": 148, + "stars": 149, "last_update": "2024-06-18 07:30:24", - "author_account_age_days": 1760 + "author_account_age_days": 1761 }, "https://github.com/shingo1228/ComfyUI-SDXL-EmptyLatentImage": { "stars": 25, "last_update": "2024-05-22 20:41:29", - "author_account_age_days": 2218 + "author_account_age_days": 2219 }, "https://github.com/shingo1228/ComfyUI-send-eagle-slim": { "stars": 20, "last_update": "2024-05-22 20:41:15", - "author_account_age_days": 2218 + "author_account_age_days": 2219 }, "https://github.com/shinich39/comfyui-load-image-in-seq": { "stars": 3, "last_update": "2024-05-23 00:20:53", - "author_account_age_days": 307 + "author_account_age_days": 308 }, "https://github.com/shinich39/comfyui-local-db": { "stars": 1, "last_update": "2024-05-23 00:21:08", - "author_account_age_days": 307 + "author_account_age_days": 308 }, "https://github.com/shinich39/comfyui-ramdom-node": { "stars": 2, "last_update": "2024-06-14 10:25:13", - "author_account_age_days": 307 + "author_account_age_days": 308 }, "https://github.com/shobhitic/ComfyUI-PlusMinusTextClip": { "stars": 0, "last_update": "2024-06-14 14:00:29", - "author_account_age_days": 4302 + "author_account_age_days": 4303 }, "https://github.com/shockz0rz/ComfyUI_InterpolateEverything": { "stars": 23, "last_update": "2024-05-22 18:13:49", - "author_account_age_days": 1621 + "author_account_age_days": 1622 }, "https://github.com/shockz0rz/comfy-easy-grids": { "stars": 11, "last_update": "2024-05-22 18:14:05", - "author_account_age_days": 1621 + "author_account_age_days": 1622 }, "https://github.com/siliconflow/onediff_comfy_nodes": { - "stars": 11, + "stars": 12, "last_update": "2024-05-22 22:23:22", - "author_account_age_days": 300 + "author_account_age_days": 301 }, "https://github.com/sipherxyz/comfyui-art-venture": { - "stars": 82, + "stars": 83, "last_update": "2024-05-22 18:15:39", - "author_account_age_days": 1102 + "author_account_age_days": 1103 }, "https://github.com/skfoo/ComfyUI-Coziness": { "stars": 21, "last_update": "2024-05-27 18:24:29", - "author_account_age_days": 2077 + "author_account_age_days": 2078 }, "https://github.com/smagnetize/kb-comfyui-nodes": { "stars": 0, "last_update": "2024-06-14 12:00:45", - "author_account_age_days": 2709 + "author_account_age_days": 2710 }, "https://github.com/smthemex/ComfyUI_ChatGLM_API": { "stars": 17, "last_update": "2024-06-14 12:00:22", - "author_account_age_days": 349 + "author_account_age_days": 350 }, "https://github.com/smthemex/ComfyUI_CustomNet": { "stars": 4, "last_update": "2024-06-14 11:01:27", - "author_account_age_days": 349 + "author_account_age_days": 350 }, "https://github.com/smthemex/ComfyUI_HiDiffusion_Pro": { "stars": 22, "last_update": "2024-06-18 02:10:24", - "author_account_age_days": 349 + "author_account_age_days": 350 }, "https://github.com/smthemex/ComfyUI_ID_Animator": { "stars": 14, "last_update": "2024-06-15 10:15:03", - "author_account_age_days": 349 + "author_account_age_days": 350 }, "https://github.com/smthemex/ComfyUI_Llama3_8B": { "stars": 15, "last_update": "2024-06-15 07:14:32", - "author_account_age_days": 349 + "author_account_age_days": 350 }, "https://github.com/smthemex/ComfyUI_ParlerTTS": { "stars": 18, "last_update": "2024-05-15 13:48:05", - "author_account_age_days": 349 + "author_account_age_days": 350 }, "https://github.com/smthemex/ComfyUI_Pic2Story": { "stars": 3, "last_update": "2024-06-14 10:28:28", - "author_account_age_days": 349 + "author_account_age_days": 350 }, "https://github.com/smthemex/ComfyUI_Pipeline_Tool": { "stars": 6, "last_update": "2024-06-14 10:28:53", - "author_account_age_days": 349 + "author_account_age_days": 350 }, "https://github.com/smthemex/ComfyUI_Pops": { - "stars": 7, + "stars": 10, "last_update": "2024-06-14 13:59:12", - "author_account_age_days": 349 + "author_account_age_days": 350 }, "https://github.com/smthemex/ComfyUI_StableAudio_Open": { "stars": 5, "last_update": "2024-06-14 10:27:38", - "author_account_age_days": 349 + "author_account_age_days": 350 }, "https://github.com/smthemex/ComfyUI_StoryDiffusion": { - "stars": 45, + "stars": 47, "last_update": "2024-06-17 00:49:03", - "author_account_age_days": 349 + "author_account_age_days": 350 }, "https://github.com/space-nuko/ComfyUI-Disco-Diffusion": { "stars": 42, "last_update": "2024-05-22 18:10:36", - "author_account_age_days": 2719 + "author_account_age_days": 2720 }, "https://github.com/space-nuko/ComfyUI-OpenPose-Editor": { - "stars": 151, + "stars": 153, "last_update": "2024-05-22 18:10:49", - "author_account_age_days": 2719 + "author_account_age_days": 2720 }, "https://github.com/space-nuko/nui-suite": { "stars": 10, "last_update": "2024-05-22 18:11:04", - "author_account_age_days": 2719 + "author_account_age_days": 2720 + }, + "https://github.com/spacepxl/ComfyUI-Florence-2": { + "stars": 1, + "last_update": "2024-06-20 06:15:59", + "author_account_age_days": 290 }, "https://github.com/spacepxl/ComfyUI-HQ-Image-Save": { "stars": 29, "last_update": "2024-06-16 07:03:58", - "author_account_age_days": 289 + "author_account_age_days": 290 }, "https://github.com/spacepxl/ComfyUI-Image-Filters": { "stars": 78, "last_update": "2024-06-15 22:23:37", - "author_account_age_days": 289 + "author_account_age_days": 290 }, "https://github.com/spacepxl/ComfyUI-RAVE": { "stars": 79, "last_update": "2024-05-22 20:56:19", - "author_account_age_days": 289 + "author_account_age_days": 290 }, "https://github.com/spacepxl/ComfyUI-StyleGan": { "stars": 3, "last_update": "2024-06-10 20:16:34", - "author_account_age_days": 289 + "author_account_age_days": 290 }, "https://github.com/spinagon/ComfyUI-seam-carving": { "stars": 14, "last_update": "2024-05-23 05:07:00", - "author_account_age_days": 4735 + "author_account_age_days": 4736 }, "https://github.com/spinagon/ComfyUI-seamless-tiling": { "stars": 74, "last_update": "2024-05-23 05:03:42", - "author_account_age_days": 4735 + "author_account_age_days": 4736 }, "https://github.com/spro/comfyui-mirror": { "stars": 4, "last_update": "2024-05-22 20:50:25", - "author_account_age_days": 5226 + "author_account_age_days": 5227 }, "https://github.com/ssitu/ComfyUI_UltimateSDUpscale": { - "stars": 620, + "stars": 622, "last_update": "2024-05-22 18:09:32", - "author_account_age_days": 1684 + "author_account_age_days": 1685 }, "https://github.com/ssitu/ComfyUI_fabric": { "stars": 82, "last_update": "2024-05-22 18:10:19", - "author_account_age_days": 1684 + "author_account_age_days": 1685 }, "https://github.com/ssitu/ComfyUI_restart_sampling": { - "stars": 75, + "stars": 76, "last_update": "2024-05-22 18:09:49", - "author_account_age_days": 1684 + "author_account_age_days": 1685 }, "https://github.com/ssitu/ComfyUI_roop": { "stars": 59, "last_update": "2024-05-22 18:10:03", - "author_account_age_days": 1684 + "author_account_age_days": 1685 }, "https://github.com/stavsap/comfyui-ollama": { - "stars": 190, + "stars": 191, "last_update": "2024-06-18 21:27:18", - "author_account_age_days": 4078 + "author_account_age_days": 4080 }, "https://github.com/storyicon/comfyui_musev_evolved": { "stars": 13, "last_update": "2024-06-14 11:02:40", - "author_account_age_days": 2547 + "author_account_age_days": 2548 }, "https://github.com/storyicon/comfyui_segment_anything": { - "stars": 509, + "stars": 512, "last_update": "2024-05-31 07:36:30", - "author_account_age_days": 2547 + "author_account_age_days": 2548 }, "https://github.com/strimmlarn/ComfyUI_Strimmlarns_aesthetic_score": { "stars": 25, "last_update": "2024-06-17 10:01:44", - "author_account_age_days": 2621 + "author_account_age_days": 2623 }, "https://github.com/styler00dollar/ComfyUI-deepcache": { "stars": 8, "last_update": "2024-05-22 22:18:18", - "author_account_age_days": 1840 + "author_account_age_days": 1842 }, "https://github.com/styler00dollar/ComfyUI-sudo-latent-upscale": { "stars": 27, "last_update": "2024-05-22 22:18:07", - "author_account_age_days": 1840 + "author_account_age_days": 1842 }, "https://github.com/subtleGradient/TinkerBot-tech-for-ComfyUI-Touchpad": { "stars": 16, "last_update": "2024-06-19 04:30:39", - "author_account_age_days": 5925 + "author_account_age_days": 5926 }, "https://github.com/sugarkwork/comfyui_cohere": { "stars": 0, "last_update": "2024-06-14 13:59:30", - "author_account_age_days": 870 + "author_account_age_days": 871 }, "https://github.com/sugarkwork/comfyui_tag_fillter": { "stars": 16, "last_update": "2024-05-27 13:38:24", - "author_account_age_days": 870 + "author_account_age_days": 871 }, "https://github.com/superyoman/comfyui_lumaAPI": { "stars": 10, "last_update": "2024-06-17 21:00:05", - "author_account_age_days": 443 + "author_account_age_days": 444 }, "https://github.com/syllebra/bilbox-comfyui": { "stars": 80, "last_update": "2024-05-22 20:40:43", - "author_account_age_days": 3131 + "author_account_age_days": 3132 }, "https://github.com/sylym/comfy_vid2vid": { "stars": 57, "last_update": "2024-05-22 17:53:40", - "author_account_age_days": 1893 + "author_account_age_days": 1894 }, "https://github.com/szhublox/ambw_comfyui": { "stars": 12, "last_update": "2024-05-22 18:04:57", - "author_account_age_days": 1002 + "author_account_age_days": 1003 }, "https://github.com/taabata/LCM_Inpaint-Outpaint_Comfy": { "stars": 223, "last_update": "2024-06-17 10:01:50", - "author_account_age_days": 1677 + "author_account_age_days": 1679 }, "https://github.com/talesofai/comfyui-browser": { - "stars": 408, + "stars": 410, "last_update": "2024-05-21 20:51:18", - "author_account_age_days": 550 + "author_account_age_days": 551 }, "https://github.com/teward/ComfyUI-Helper-Nodes": { "stars": 4, "last_update": "2024-05-23 01:22:01", - "author_account_age_days": 5093 + "author_account_age_days": 5094 }, "https://github.com/theUpsider/ComfyUI-Logic": { "stars": 95, "last_update": "2024-05-22 20:35:47", - "author_account_age_days": 2717 + "author_account_age_days": 2718 }, "https://github.com/theUpsider/ComfyUI-Styles_CSV_Loader": { "stars": 28, "last_update": "2024-05-22 20:31:14", - "author_account_age_days": 2717 + "author_account_age_days": 2718 }, "https://github.com/thecooltechguy/ComfyUI-ComfyRun": { "stars": 78, "last_update": "2024-05-22 21:33:11", - "author_account_age_days": 2417 + "author_account_age_days": 2418 }, "https://github.com/thecooltechguy/ComfyUI-ComfyWorkflows": { "stars": 32, "last_update": "2024-05-22 21:33:47", - "author_account_age_days": 2417 + "author_account_age_days": 2418 }, "https://github.com/thecooltechguy/ComfyUI-MagicAnimate": { "stars": 196, "last_update": "2024-05-22 21:33:35", - "author_account_age_days": 2417 + "author_account_age_days": 2418 }, "https://github.com/thecooltechguy/ComfyUI-Stable-Video-Diffusion": { "stars": 287, "last_update": "2024-05-24 22:14:42", - "author_account_age_days": 2417 + "author_account_age_days": 2418 }, "https://github.com/tiankuan93/ComfyUI-V-Express": { "stars": 77, "last_update": "2024-06-17 13:32:21", - "author_account_age_days": 2945 + "author_account_age_days": 2946 }, "https://github.com/tianlang0704/ComfyUI-StableProjectorzBridge": { - "stars": 4, + "stars": 5, "last_update": "2024-06-15 09:09:38", - "author_account_age_days": 3320 + "author_account_age_days": 3321 }, "https://github.com/tmagara/ComfyUI-Prediction-Boost": { "stars": 0, "last_update": "2024-06-14 13:59:42", - "author_account_age_days": 4370 + "author_account_age_days": 4371 }, "https://github.com/tocubed/ComfyUI-AudioReactor": { "stars": 8, "last_update": "2024-05-22 22:21:57", - "author_account_age_days": 3854 + "author_account_age_days": 3855 }, "https://github.com/tooldigital/ComfyUI-Yolo-Cropper": { "stars": 4, "last_update": "2024-06-14 13:59:48", - "author_account_age_days": 4312 + "author_account_age_days": 4313 }, "https://github.com/toxicwind/ComfyUI-TTools": { "stars": 0, "last_update": "2024-06-14 13:02:56", - "author_account_age_days": 4365 + "author_account_age_days": 4366 }, "https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes": { "stars": 429, "last_update": "2024-06-18 15:27:19", - "author_account_age_days": 3644 + "author_account_age_days": 3645 }, "https://github.com/traugdor/ComfyUI-quadMoons-nodes": { "stars": 8, "last_update": "2024-06-11 00:02:55", - "author_account_age_days": 3815 + "author_account_age_days": 3816 }, "https://github.com/trojblue/trNodes": { "stars": 8, "last_update": "2024-05-22 18:04:36", - "author_account_age_days": 2252 + "author_account_age_days": 2253 }, "https://github.com/trumanwong/ComfyUI-NSFW-Detection": { "stars": 16, "last_update": "2024-05-23 01:27:29", - "author_account_age_days": 2955 + "author_account_age_days": 2956 }, "https://github.com/tsogzark/ComfyUI-load-image-from-url": { "stars": 5, "last_update": "2024-06-14 13:59:05", - "author_account_age_days": 1523 + "author_account_age_days": 1524 }, "https://github.com/ttulttul/ComfyUI-Iterative-Mixer": { "stars": 97, "last_update": "2024-06-13 22:29:53", - "author_account_age_days": 4752 + "author_account_age_days": 4753 }, "https://github.com/ttulttul/ComfyUI-Tensor-Operations": { "stars": 5, "last_update": "2024-06-12 21:55:39", - "author_account_age_days": 4752 + "author_account_age_days": 4753 }, "https://github.com/turkyden/ComfyUI-Comic": { "stars": 1, "last_update": "2024-06-14 13:02:14", - "author_account_age_days": 2744 + "author_account_age_days": 2745 }, "https://github.com/turkyden/ComfyUI-Sticker": { "stars": 0, "last_update": "2024-06-11 03:51:33", - "author_account_age_days": 2744 + "author_account_age_days": 2745 }, "https://github.com/tusharbhutt/Endless-Nodes": { "stars": 22, "last_update": "2024-06-14 12:02:17", - "author_account_age_days": 2660 + "author_account_age_days": 2661 }, "https://github.com/twri/sdxl_prompt_styler": { - "stars": 602, + "stars": 603, "last_update": "2024-05-22 18:16:58", - "author_account_age_days": 4063 + "author_account_age_days": 4064 }, "https://github.com/txt2any/ComfyUI-PromptOrganizer": { "stars": 0, "last_update": "2024-05-23 01:10:33", - "author_account_age_days": 79 + "author_account_age_days": 80 }, "https://github.com/ty0x2333/ComfyUI-Dev-Utils": { "stars": 36, "last_update": "2024-06-03 15:06:13", - "author_account_age_days": 3697 + "author_account_age_days": 3698 }, "https://github.com/tzwm/comfyui-profiler": { - "stars": 40, + "stars": 41, "last_update": "2024-06-14 07:05:45", - "author_account_age_days": 4764 + "author_account_age_days": 4765 }, "https://github.com/uarefans/ComfyUI-Fans": { "stars": 12, "last_update": "2024-05-22 20:34:07", - "author_account_age_days": 1267 + "author_account_age_days": 1268 }, "https://github.com/uetuluk/comfyui-webcam-node": { "stars": 2, "last_update": "2024-06-14 08:25:13", - "author_account_age_days": 2309 + "author_account_age_days": 2310 }, "https://github.com/unwdef/unwdef-nodes-comfyui": { "stars": 1, "last_update": "2024-06-14 07:05:51", - "author_account_age_days": 68 + "author_account_age_days": 69 }, "https://github.com/vanche1212/ComfyUI-ZMG-Nodes": { "stars": 3, "last_update": "2024-06-14 07:06:03", - "author_account_age_days": 2953 + "author_account_age_days": 2954 }, "https://github.com/vanillacode314/SimpleWildcardsComfyUI": { "stars": 3, "last_update": "2024-06-14 07:06:09", - "author_account_age_days": 852 + "author_account_age_days": 853 }, "https://github.com/victorchall/comfyui_webcamcapture": { "stars": 5, "last_update": "2024-05-31 18:01:11", - "author_account_age_days": 3140 + "author_account_age_days": 3141 }, "https://github.com/vienteck/ComfyUI-Chat-GPT-Integration": { "stars": 26, "last_update": "2024-05-22 22:11:14", - "author_account_age_days": 3422 + "author_account_age_days": 3423 }, "https://github.com/violet-chen/comfyui-psd2png": { "stars": 16, "last_update": "2024-06-12 15:30:14", - "author_account_age_days": 1393 + "author_account_age_days": 1394 }, "https://github.com/viperyl/ComfyUI-BiRefNet": { - "stars": 155, + "stars": 156, "last_update": "2024-05-23 00:18:06", - "author_account_age_days": 2027 + "author_account_age_days": 2029 }, "https://github.com/viperyl/ComfyUI-RGT": { - "stars": 4, + "stars": 5, "last_update": "2024-06-14 09:35:50", - "author_account_age_days": 2027 + "author_account_age_days": 2029 }, "https://github.com/vivax3794/ComfyUI-Vivax-Nodes": { "stars": 3, "last_update": "2024-05-23 00:10:56", - "author_account_age_days": 1833 + "author_account_age_days": 1834 }, "https://github.com/vsevolod-oparin/comfyui-kandinsky22": { "stars": 6, "last_update": "2024-05-23 00:14:03", - "author_account_age_days": 4979 + "author_account_age_days": 4980 }, "https://github.com/wallish77/wlsh_nodes": { - "stars": 80, - "last_update": "2024-05-22 18:21:28", - "author_account_age_days": 2215 + "stars": 81, + "last_update": "2024-06-19 12:01:29", + "author_account_age_days": 2216 }, "https://github.com/wandbrandon/comfyui-pixel": { "stars": 4, "last_update": "2024-06-14 07:07:09", - "author_account_age_days": 3378 + "author_account_age_days": 3379 }, "https://github.com/web3nomad/ComfyUI_Invisible_Watermark": { "stars": 1, "last_update": "2024-05-23 01:16:54", - "author_account_age_days": 962 + "author_account_age_days": 963 }, "https://github.com/wei30172/comfygen": { "stars": 4, "last_update": "2024-05-23 00:21:19", - "author_account_age_days": 1607 + "author_account_age_days": 1609 }, "https://github.com/whatbirdisthat/cyberdolphin": { "stars": 14, "last_update": "2024-05-23 03:43:08", - "author_account_age_days": 5482 + "author_account_age_days": 5483 }, "https://github.com/whmc76/ComfyUI-Openpose-Editor-Plus": { "stars": 20, "last_update": "2024-05-22 21:28:27", - "author_account_age_days": 446 + "author_account_age_days": 448 }, "https://github.com/wmatson/easy-comfy-nodes": { "stars": 13, "last_update": "2024-06-14 07:06:57", - "author_account_age_days": 4112 + "author_account_age_days": 4113 }, "https://github.com/wolfden/ComfyUi_PromptStylers": { "stars": 64, "last_update": "2024-05-22 18:17:46", - "author_account_age_days": 5716 + "author_account_age_days": 5717 }, "https://github.com/wolfden/ComfyUi_String_Function_Tree": { "stars": 8, "last_update": "2024-05-22 18:29:16", - "author_account_age_days": 5716 + "author_account_age_days": 5717 }, "https://github.com/wujm424606/ComfyUi-Ollama-YN": { - "stars": 11, + "stars": 12, "last_update": "2024-06-14 07:06:39", - "author_account_age_days": 2257 + "author_account_age_days": 2258 }, "https://github.com/wutipong/ComfyUI-TextUtils": { "stars": 1, "last_update": "2024-06-14 09:34:31", - "author_account_age_days": 4180 + "author_account_age_days": 4181 }, "https://github.com/wwwins/ComfyUI-Simple-Aspect-Ratio": { "stars": 1, "last_update": "2024-05-22 22:22:25", - "author_account_age_days": 5045 + "author_account_age_days": 5046 }, "https://github.com/xXAdonesXx/NodeGPT": { "stars": 324, - "last_update": "2024-06-14 07:07:03", - "author_account_age_days": 1473 + "last_update": "2024-06-20 11:41:30", + "author_account_age_days": 1475 }, "https://github.com/xiaoxiaodesha/hd_node": { "stars": 7, "last_update": "2024-06-11 02:36:48", - "author_account_age_days": 2869 + "author_account_age_days": 2870 }, "https://github.com/xliry/ComfyUI_SendDiscord": { "stars": 0, "last_update": "2024-05-23 02:21:38", - "author_account_age_days": 1268 + "author_account_age_days": 1269 }, "https://github.com/xuhongming251/ComfyUI-GPEN": { "stars": 2, "last_update": "2024-06-15 14:33:37", - "author_account_age_days": 4101 + "author_account_age_days": 4102 }, "https://github.com/xuhongming251/ComfyUI-MuseTalkUtils": { - "stars": 10, + "stars": 11, "last_update": "2024-06-15 14:32:32", - "author_account_age_days": 4101 + "author_account_age_days": 4102 }, "https://github.com/yffyhk/comfyui_auto_danbooru": { "stars": 0, "last_update": "2024-05-22 23:23:03", - "author_account_age_days": 3716 + "author_account_age_days": 3717 }, "https://github.com/yolain/ComfyUI-Easy-Use": { - "stars": 493, - "last_update": "2024-06-16 08:15:04", - "author_account_age_days": 1335 + "stars": 494, + "last_update": "2024-06-20 11:40:36", + "author_account_age_days": 1336 }, "https://github.com/yolanother/DTAIComfyImageSubmit": { "stars": 1, "last_update": "2024-05-22 18:14:56", - "author_account_age_days": 4858 + "author_account_age_days": 4859 }, "https://github.com/yolanother/DTAIComfyLoaders": { "stars": 1, "last_update": "2024-05-22 18:14:44", - "author_account_age_days": 4858 + "author_account_age_days": 4859 }, "https://github.com/yolanother/DTAIComfyPromptAgent": { "stars": 5, "last_update": "2024-05-22 18:14:18", - "author_account_age_days": 4858 + "author_account_age_days": 4859 }, "https://github.com/yolanother/DTAIComfyQRCodes": { "stars": 2, "last_update": "2024-05-22 18:15:09", - "author_account_age_days": 4858 + "author_account_age_days": 4859 }, "https://github.com/yolanother/DTAIComfyVariables": { "stars": 7, "last_update": "2024-05-22 18:15:21", - "author_account_age_days": 4858 + "author_account_age_days": 4859 }, "https://github.com/yolanother/DTAIImageToTextNode": { "stars": 15, "last_update": "2024-05-22 18:14:31", - "author_account_age_days": 4858 + "author_account_age_days": 4859 }, "https://github.com/youyegit/tdxh_node_comfyui": { "stars": 2, "last_update": "2024-05-23 17:55:42", - "author_account_age_days": 423 + "author_account_age_days": 424 }, "https://github.com/yuvraj108c/ComfyUI-Depth-Anything-Tensorrt": { "stars": 61, "last_update": "2024-06-14 08:07:23", - "author_account_age_days": 2147 + "author_account_age_days": 2148 }, "https://github.com/yuvraj108c/ComfyUI-PiperTTS": { "stars": 24, "last_update": "2024-05-22 23:17:27", - "author_account_age_days": 2147 + "author_account_age_days": 2148 }, "https://github.com/yuvraj108c/ComfyUI-Pronodes": { "stars": 1, "last_update": "2024-05-22 23:16:51", - "author_account_age_days": 2147 + "author_account_age_days": 2148 }, "https://github.com/yuvraj108c/ComfyUI-Upscaler-Tensorrt": { "stars": 37, "last_update": "2024-05-31 05:50:59", - "author_account_age_days": 2147 + "author_account_age_days": 2148 }, "https://github.com/yuvraj108c/ComfyUI-Vsgan": { "stars": 2, "last_update": "2024-05-22 23:17:02", - "author_account_age_days": 2147 + "author_account_age_days": 2148 }, "https://github.com/yuvraj108c/ComfyUI-Whisper": { "stars": 49, "last_update": "2024-05-31 05:59:22", - "author_account_age_days": 2147 + "author_account_age_days": 2148 }, "https://github.com/zcfrank1st/Comfyui-Toolbox": { "stars": 4, "last_update": "2024-05-22 22:08:07", - "author_account_age_days": 4410 + "author_account_age_days": 4411 }, "https://github.com/zcfrank1st/Comfyui-Yolov8": { "stars": 17, "last_update": "2024-06-14 07:08:40", - "author_account_age_days": 4410 + "author_account_age_days": 4411 }, "https://github.com/zcfrank1st/comfyui_visual_anagrams": { "stars": 5, "last_update": "2024-06-14 07:07:27", - "author_account_age_days": 4410 + "author_account_age_days": 4411 }, "https://github.com/zer0TF/cute-comfy": { "stars": 27, "last_update": "2024-05-22 21:18:53", - "author_account_age_days": 2665 + "author_account_age_days": 2666 }, "https://github.com/zfkun/ComfyUI_zfkun": { "stars": 13, "last_update": "2024-05-27 11:21:51", - "author_account_age_days": 4858 + "author_account_age_days": 4859 }, "https://github.com/zhangp365/ComfyUI-utils-nodes": { "stars": 6, "last_update": "2024-06-10 01:49:46", - "author_account_age_days": 286 + "author_account_age_days": 287 }, "https://github.com/zhongpei/ComfyUI-InstructIR": { "stars": 58, "last_update": "2024-05-22 23:19:43", - "author_account_age_days": 3454 + "author_account_age_days": 3455 }, "https://github.com/zhongpei/Comfyui_image2prompt": { - "stars": 224, + "stars": 227, "last_update": "2024-05-22 23:19:30", - "author_account_age_days": 3454 + "author_account_age_days": 3455 }, "https://github.com/zhuanqianfish/ComfyUI-EasyNode": { - "stars": 57, + "stars": 58, "last_update": "2024-06-14 07:10:18", - "author_account_age_days": 4229 + "author_account_age_days": 4231 }, "https://github.com/zhulu111/ComfyUI_Bxb": { "stars": 3, - "last_update": "2024-06-19 06:37:04", - "author_account_age_days": 34 + "last_update": "2024-06-20 01:50:20", + "author_account_age_days": 35 }, "https://github.com/zohac/ComfyUI_ZC_DrawShape": { "stars": 1, "last_update": "2024-06-14 07:10:25", - "author_account_age_days": 2656 + "author_account_age_days": 2657 }, "https://github.com/zombieyang/sd-ppp": { - "stars": 9, + "stars": 10, "last_update": "2024-06-16 02:45:04", - "author_account_age_days": 3912 + "author_account_age_days": 3913 } } \ No newline at end of file diff --git a/node_db/dev/custom-node-list.json b/node_db/dev/custom-node-list.json index c50b054b..4cfd6180 100644 --- a/node_db/dev/custom-node-list.json +++ b/node_db/dev/custom-node-list.json @@ -11,6 +11,17 @@ + { + "author": "mikeymcfish", + "title": "LaserCutterFull and Deptherize Nodes", + "id": "fishtools", + "reference": "https://github.com/mikeymcfish/FishTools", + "files": [ + "https://github.com/mikeymcfish/FishTools" + ], + "install_type": "git-clone", + "description": "This repository contains two custom nodes, LaserCutterFull and Deptherize, designed for use in image processing workflows. The LaserCutterFull node processes input images to generate layers for laser cutting, while the Deptherize node converts SVG data into a depth map image." + }, { "author": "zhulu111", "title": "ComfyUI_Bxb [UNSAFE]", @@ -33,17 +44,6 @@ "install_type": "git-clone", "description": "Nodes:ImageConcat, ImageFlip, DWposeTransform, PoseFilter, DrawPose, ReplaceImgae, LoadImageFromPath." }, - { - "author": "kijai", - "title": "ComfyUI-LuminaWrapper [WIP]", - "id": "luminawrapper", - "reference": "https://github.com/kijai/ComfyUI-LuminaWrapper", - "files": [ - "https://github.com/kijai/ComfyUI-LuminaWrapper" - ], - "install_type": "git-clone", - "description": "NOTE:Currently requires flash_attn!" - }, { "author": "pzzmyc", "title": "comfyui-sd3-simple-simpletuner", diff --git a/node_db/new/custom-node-list.json b/node_db/new/custom-node-list.json index c3ce3687..6187e4e9 100644 --- a/node_db/new/custom-node-list.json +++ b/node_db/new/custom-node-list.json @@ -13,6 +13,51 @@ + + { + "author": "asagi4", + "title": "Adaptive Guidance for ComfyUI", + "id": "asagi-nodes", + "reference": "https://github.com/asagi4/ComfyUI-Adaptive-Guidance", + "files": [ + "https://github.com/asagi4/ComfyUI-Adaptive-Guidance" + ], + "install_type": "git-clone", + "description": "An implementation of adaptive guidance for ComfyUI\nSee [a/https://bcv-uniandes.github.io/adaptiveguidance-wp/](https://bcv-uniandes.github.io/adaptiveguidance-wp/)" + }, + { + "author": "kijai", + "title": "ComfyUI-Florence2", + "id": "florence2-kijai", + "reference": "https://github.com/kijai/ComfyUI-Florence2", + "files": [ + "https://github.com/kijai/ComfyUI-Florence2" + ], + "install_type": "git-clone", + "description": "ComfyUI nodes to use Microsoft's Florence2 vision model. Supports captioning, object detection and segmentation" + }, + { + "author": "spacepxl", + "title": "ComfyUI-Florence-2", + "id": "florence2-spacepxl", + "reference": "https://github.com/spacepxl/ComfyUI-Florence-2", + "files": [ + "https://github.com/spacepxl/ComfyUI-Florence-2" + ], + "install_type": "git-clone", + "description": "[a/https://huggingface.co/microsoft/Florence-2-large-ft](https://huggingface.co/microsoft/Florence-2-large-ft)\nLarge or base model, support for captioning and bbox task modes, more coming soon." + }, + { + "author": "kijai", + "title": "ComfyUI-LuminaWrapper", + "id": "lumina", + "reference": "https://github.com/kijai/ComfyUI-LuminaWrapper", + "files": [ + "https://github.com/kijai/ComfyUI-LuminaWrapper" + ], + "install_type": "git-clone", + "description": "ComfyUI wrapper nodes for Lumina models" + }, { "author": "kadirnar", "title": "ComfyUI-YOLO", diff --git a/node_db/new/extension-node-map.json b/node_db/new/extension-node-map.json index 1e9ef905..9db9cd87 100644 --- a/node_db/new/extension-node-map.json +++ b/node_db/new/extension-node-map.json @@ -322,7 +322,7 @@ ], "https://github.com/AIFSH/ComfyUI-UVR5": [ [ - "LoadAudio", + "LoadAudioPath", "PreViewAudio", "UVR5_Node" ], @@ -400,6 +400,7 @@ "OpenPoseKeyPose", "OpenPoseLineart", "OpenPoseMediaPipeFace", + "PreviewAudio", "\u5b58\u50a8", "\u5bfc\u5165", "\u622a\u56fe", @@ -2970,6 +2971,7 @@ "SplitImages", "StringJoin", "TimeStamp", + "TintnShift", "TricolorComposition", "WorkflowSettings", "WrapText", @@ -3493,12 +3495,12 @@ ], "https://github.com/SamKhoze/ComfyUI-DeepFuze": [ [ + "DeepFuze Save", "DeepFuzeAdavance", "DeepFuzeFaceSwap", "DeepfuzePreview", "LLM_node", "PlayBackAudio", - "SaveVideo [n-suite]", "TTS_generation" ], { @@ -4600,6 +4602,7 @@ "https://github.com/TinyTerra/ComfyUI_tinyterraNodes": [ [ "ttN KSampler_v2", + "ttN advPlot combo", "ttN advPlot range", "ttN advPlot string", "ttN advanced xyPlot", @@ -4851,6 +4854,8 @@ "Diffusers Hub Model Down-Loader", "Diffusers Model Loader", "Export API", + "HSL to Hex", + "Hex to HSL", "Image Analyze", "Image Aspect Ratio", "Image Batch", @@ -5555,9 +5560,11 @@ [ "AiStoreAzureGPTLiam", "GetBetterDepthImage", + "LiamLibDisplayText", "LiamLibFillImage", "LiamLibImageToGray", "LiamLibLoadImage", + "LiamLibMergeText", "LiamLibSaveImg", "LiamLibSaveText", "OllamaApiTNodeLiam", @@ -5822,6 +5829,14 @@ "title_aux": "antrobots ComfyUI Nodepack" } ], + "https://github.com/asagi4/ComfyUI-Adaptive-Guidance": [ + [ + "AdaptiveGuidance" + ], + { + "title_aux": "Adaptive Guidance for ComfyUI" + } + ], "https://github.com/asagi4/ComfyUI-CADS": [ [ "CADS" @@ -7514,6 +7529,7 @@ "FlipSigmas", "FreeU", "FreeU_V2", + "GITSScheduler", "GLIGENLoader", "GLIGENTextBoxApply", "GrowMask", @@ -7572,6 +7588,7 @@ "ModelMergeBlocks", "ModelMergeSD1", "ModelMergeSD2", + "ModelMergeSD3", "ModelMergeSDXL", "ModelMergeSimple", "ModelMergeSubtract", @@ -8559,7 +8576,7 @@ ], { "author": "\"\u02f6\ud835\udfa2\u292c\u2ad2\u2d56s\u143c\u02f6\"", - "description": "\"Selector & Recourse. Presets & failsafes. Work flow.\"", + "description": "\"EXDYSA. Selector and Recourse. Presets & failsafes. Work flow.\"", "nickname": "\"Selector\"", "title": "\"Selector\"", "title_aux": "comfyui-selector" @@ -10507,6 +10524,15 @@ "title_aux": "ComfyUI-ELLA-wrapper" } ], + "https://github.com/kijai/ComfyUI-Florence2": [ + [ + "DownloadAndLoadFlorence2Model", + "Florence2Run" + ], + { + "title_aux": "ComfyUI-Florence2" + } + ], "https://github.com/kijai/ComfyUI-Geowizard": [ [ "geowizard_model_loader", @@ -10662,6 +10688,20 @@ "title_aux": "ComfyUI-LaVi-Bridge-Wrapper" } ], + "https://github.com/kijai/ComfyUI-LuminaWrapper": [ + [ + "DownloadAndLoadGemmaModel", + "DownloadAndLoadLuminaModel", + "GemmaSampler", + "LuminaGemmaTextEncode", + "LuminaGemmaTextEncodeArea", + "LuminaT2ISampler", + "LuminaTextAreaAppend" + ], + { + "title_aux": "ComfyUI-LuminaWrapper" + } + ], "https://github.com/kijai/ComfyUI-Marigold": [ [ "ColorizeDepthmap", @@ -11236,7 +11276,8 @@ [ "PromptCombinator", "PromptCombinatorExportGallery", - "PromptCombinatorMerger" + "PromptCombinatorMerger", + "PromptCombinatorRandomPrompt" ], { "title_aux": "ComfyUI-Prompt-Combinator" @@ -13390,6 +13431,15 @@ "title_aux": "nui suite" } ], + "https://github.com/spacepxl/ComfyUI-Florence-2": [ + [ + "Florence2", + "Florence2Postprocess" + ], + { + "title_aux": "ComfyUI-Florence-2" + } + ], "https://github.com/spacepxl/ComfyUI-HQ-Image-Save": [ [ "LoadEXR", From 49c47b137cf83e4aad8df1d34b7b294a94e08866 Mon Sep 17 00:00:00 2001 From: MaraScott Date: Fri, 21 Jun 2024 00:42:35 +0200 Subject: [PATCH 03/62] Allow use of local. subdomain (#799) Being able to use --listen local. as a local env instead of 127.0.0.1 example local.comfy.org --- glob/manager_server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glob/manager_server.py b/glob/manager_server.py index facdf22a..0c9c67dd 100644 --- a/glob/manager_server.py +++ b/glob/manager_server.py @@ -42,7 +42,7 @@ from comfy.cli_args import args import latent_preview -is_local_mode = args.listen.startswith('127.') +is_local_mode = args.listen.startswith('127.') or args.listen.startswith('local.') def is_allowed_security_level(level): From 74c2f2c0282ed4664933011c9c876527b199d4b0 Mon Sep 17 00:00:00 2001 From: zhulu111 <15621875625@163.com> Date: Fri, 21 Jun 2024 08:44:39 +0800 Subject: [PATCH 04/62] Sincere Apology and Request for Plugin Inclusion in ComfyUI-Manager (#801) Co-authored-by: zhulu111 <15666960994> --- custom-node-list.json | 11 +++++++++++ extension-node-map.json | 9 +++++++++ 2 files changed, 20 insertions(+) diff --git a/custom-node-list.json b/custom-node-list.json index d81ae459..69402e51 100644 --- a/custom-node-list.json +++ b/custom-node-list.json @@ -10539,6 +10539,17 @@ "install_type": "git-clone", "description": "Edit embeddings with a curve. Actually should work on any 1D input tensor. Tested with IPAdapter-Plus." }, + { + "author": "zhulu111", + "title": "ComfyUI_Bxb", + "id": "ComfyUI_Bxb", + "reference": "https://github.com/zhulu111/ComfyUI_Bxb", + "files": [ + "https://github.com/zhulu111/ComfyUI_Bxb" + ], + "install_type": "git-clone", + "description": "sdBxb, a tool that converts ComfyUI workflows into WeChat Mini Program, Douyin Mini Program, and H5 with one click, and supports payments." + }, diff --git a/extension-node-map.json b/extension-node-map.json index 9db9cd87..cf678b2e 100644 --- a/extension-node-map.json +++ b/extension-node-map.json @@ -14973,6 +14973,15 @@ "title_aux": "ComfyUI_ZC_DrawShape" } ], + "https://github.com/zhulu111/ComfyUI_Bxb": [ + [ + "sdBxb", + "sdBxb_textInput" + ], + { + "title_aux": "ComfyUI_Bxb" + } + ], "https://github.com/zombieyang/sd-ppp": [ [ "Get Image From Photoshop Layer", From b50d9c996e15d05b2fd41bc6906ec20d397e0304 Mon Sep 17 00:00:00 2001 From: "Dr.Lt.Data" Date: Fri, 21 Jun 2024 20:39:36 +0900 Subject: [PATCH 05/62] update DB --- README.md | 1 + custom-node-list.json | 37 +- extension-node-map.json | 84 +- github-stats.json | 2375 ++++++++++++++------------- node_db/dev/custom-node-list.json | 34 +- node_db/new/custom-node-list.json | 109 +- node_db/new/extension-node-map.json | 75 +- 7 files changed, 1403 insertions(+), 1312 deletions(-) diff --git a/README.md b/README.md index 306339da..8bfeebd1 100644 --- a/README.md +++ b/README.md @@ -380,6 +380,7 @@ When you run the `scan.sh` script: * https://github.com/SimithWang/comfyui-renameImages * https://github.com/icefairy64/comfyui-model-tilt * https://github.com/andrewharp/ComfyUI-EasyNodes +* https://github.com/SimithWang/comfyui-renameImages ## Roadmap diff --git a/custom-node-list.json b/custom-node-list.json index 69402e51..de1dce00 100644 --- a/custom-node-list.json +++ b/custom-node-list.json @@ -1423,7 +1423,7 @@ "https://github.com/asagi4/ComfyUI-Adaptive-Guidance" ], "install_type": "git-clone", - "description": "An implementation of adaptive guidance for ComfyUI\nSee [a/https://bcv-uniandes.github.io/adaptiveguidance-wp/](https://bcv-uniandes.github.io/adaptiveguidance-wp/)" + "description": "An implementation of adaptive guidance for ComfyUI\nSee [a/https://bcv-uniandes.github.io/adaptiveguidance-wp](https://bcv-uniandes.github.io/adaptiveguidance-wp)" }, { "author": "jamesWalker55", @@ -8152,7 +8152,7 @@ "description": "Use RetinaFace to detect and automatically crop faces." }, { - "author": "liusida", + "author": "Sida Liu", "title": "ComfyUI-SD3-nodes", "id": "sd3-nodes", "reference": "https://github.com/liusida/ComfyUI-SD3-nodes", @@ -8163,7 +8163,7 @@ "description": "Nodes that support Stable Diffusion 3 Medium better." }, { - "author": "liusida", + "author": "Sida Liu", "title": "ComfyUI-B-LoRA", "id": "b-lora", "reference": "https://github.com/liusida/ComfyUI-B-LoRA", @@ -8901,6 +8901,17 @@ "install_type": "git-clone", "description": "A stylized node with simple operation. The effect is achieved by I2I and lora. The clay style is currently implemented.Comes with watermark function." }, + { + "author": "MinusZoneAI", + "title": "ComfyUI-TrainTools-MZ", + "id": "traintools", + "reference": "https://github.com/MinusZoneAI/ComfyUI-TrainTools-MZ", + "files": [ + "https://github.com/MinusZoneAI/ComfyUI-TrainTools-MZ" + ], + "install_type": "git-clone", + "description": "Nodes for fine-tuning lora in ComfyUI, dependent on training tools such as kohya-ss/sd-scripts" + }, { "author": "blueraincoatli", "title": "comfyUI_SillyNodes", @@ -10550,6 +10561,26 @@ "install_type": "git-clone", "description": "sdBxb, a tool that converts ComfyUI workflows into WeChat Mini Program, Douyin Mini Program, and H5 with one click, and supports payments." }, + { + "author": "lordgasmic", + "title": "comfyui_wildcards", + "reference": "https://github.com/lordgasmic/comfyui_wildcards", + "files": [ + "https://github.com/lordgasmic/comfyui_wildcards" + ], + "install_type": "git-clone", + "description": "This is an attempt to recreate the wildcards plugin for Automatic1111 but for ComfyUI." + }, + { + "author": "lordgasmic", + "title": "comfyui_save_image_with_options", + "reference": "https://github.com/lordgasmic/comfyui_save_image_with_options", + "files": [ + "https://github.com/lordgasmic/comfyui_save_image_with_options" + ], + "install_type": "git-clone", + "description": "Nodes:Save Image with Options" + }, diff --git a/extension-node-map.json b/extension-node-map.json index cf678b2e..12a1d0b2 100644 --- a/extension-node-map.json +++ b/extension-node-map.json @@ -366,8 +366,7 @@ ], "https://github.com/AIFSH/ComfyUI_V-Express": [ [ - "CombineAudioVideo", - "LoadAudio", + "LoadAudioPath", "LoadImagePath", "LoadVideo", "PreViewVideo", @@ -401,6 +400,7 @@ "OpenPoseLineart", "OpenPoseMediaPipeFace", "PreviewAudio", + "SaveAudioBL", "\u5b58\u50a8", "\u5bfc\u5165", "\u622a\u56fe", @@ -592,10 +592,12 @@ [ "ArgosTranslateCLIPTextEncodeNode", "ArgosTranslateTextNode", + "ColorsCorrectNode", "DeepTranslatorCLIPTextEncodeNode", "DeepTranslatorTextNode", "GoogleTranslateCLIPTextEncodeNode", "GoogleTranslateTextNode", + "HexToHueNode", "PainterNode", "PoseNode", "PreviewTextNode" @@ -1619,6 +1621,8 @@ "OpenposePreprocessor", "PiDiNetPreprocessor", "PixelPerfectResolution", + "RenderAnimalKps", + "RenderPeopleKps", "SAMPreprocessor", "SavePoseKpsAsJsonFile", "ScribblePreprocessor", @@ -1905,6 +1909,7 @@ ], "https://github.com/GraftingRayman/ComfyUI_GraftingRayman": [ [ + "GR Checkered Board", "GR Flip Tile Random Inverted", "GR Flip Tile Random Red Ring", "GR Image Details Displayer", @@ -1917,6 +1922,7 @@ "GR Mask Create Random", "GR Mask Resize", "GR Multi Mask Create", + "GR Onomatopoeia", "GR Prompt Selector", "GR Prompt Selector Multi", "GR Stack Image", @@ -2372,8 +2378,9 @@ ], "https://github.com/KewkLW/ComfyUI-kewky_tools": [ [ - "FormattedTextOutput", - "TensorDebugPlus" + "TensorDebugPlus", + "TextAppendNode", + "VRAM_Debug_Plus" ], { "title_aux": "ComfyUI-kewky_tools" @@ -2852,8 +2859,10 @@ ], "https://github.com/MariusKM/ComfyUI-BadmanNodes": [ [ + "BadmanCLIPTextEncodeSDXLRegion", "BadmanIO", "BadmanIntUtil", + "BadmanStringSelect", "Badman_Blend", "Badman_Concat_String", "Badman_HexGenerator", @@ -3543,17 +3552,9 @@ "https://github.com/Scorpinaus/ComfyUI-DiffusersLoader": [ [ "CombinedDiffusersLoader", - "CombinedDiffusersSD15Loader", - "CombinedDiffusersSDXLLoader", "DiffusersClipLoader", "DiffusersUNETLoader", - "DiffusersVAELoader", - "SD15CLIPLoader", - "SD15UNETLoader", - "SD15VAELoader", - "SDXLCLIPLoader", - "SDXLUNETLoader", - "SDXLVAELoader" + "DiffusersVAELoader" ], { "title_aux": "Loaders for Diffusers-format checkpoints" @@ -9386,6 +9387,7 @@ "PromptImageVariationTask", "PromptTask", "Rule", + "RulesList", "RunAgent", "TextSummaryTask", "ToolList", @@ -9405,6 +9407,7 @@ "gtUIKnowledgeBaseTool", "gtUILeonardoImageGenerationDriver", "gtUILoadAudio", + "gtUIOllamaStructureConfig", "gtUIOpenAiAudioTranscriptionDriver", "gtUIOpenAiImageGenerationDriver", "gtUIOpenAiStructureConfig", @@ -9702,6 +9705,14 @@ "title_aux": "ComfyUI-layerdiffuse (layerdiffusion)" } ], + "https://github.com/huchenlei/ComfyUI-openpose-editor": [ + [ + "huchenlei.LoadOpenposeJSON" + ], + { + "title_aux": "ComfyUI-openpose-editor" + } + ], "https://github.com/huchenlei/ComfyUI_DanTagGen": [ [ "PromptDanTagGen" @@ -10235,10 +10246,12 @@ ], "https://github.com/kadirnar/ComfyUI-YOLO": [ [ + "BBoxToCOCO", "BBoxToXYWH", "ConvertToDict", - "LoadUltralytics", + "LoadUltralyticsModel", "UltralyticsInference", + "UltralyticsModelDownloader", "UltralyticsVisualization" ], { @@ -11261,6 +11274,22 @@ "title_aux": "Wildcards" } ], + "https://github.com/lordgasmic/comfyui_save_image_with_options": [ + [ + "SaveImageWithOptions" + ], + { + "title_aux": "comfyui_save_image_with_options" + } + ], + "https://github.com/lordgasmic/comfyui_wildcards": [ + [ + "CLIPTextEncodeWithWildcards" + ], + { + "title_aux": "comfyui_wildcards" + } + ], "https://github.com/lquesada/ComfyUI-Inpaint-CropAndStitch": [ [ "InpaintCrop", @@ -11327,6 +11356,7 @@ "FromDetailerPipe", "FromDetailerPipeSDXL", "FromDetailerPipe_v2", + "GITSSchedulerFuncProvider", "ImageListToImageBatch", "ImageMaskSwitch", "ImageReceiver", @@ -11842,6 +11872,7 @@ "PettyPaintFileExists", "PettyPaintImageColorsToMasks", "PettyPaintImageCompositeMasked", + "PettyPaintImageDims", "PettyPaintImagePlacement", "PettyPaintImageSave", "PettyPaintImageStore", @@ -11850,8 +11881,11 @@ "PettyPaintJsonMap", "PettyPaintJsonRead", "PettyPaintJsonReadArray", + "PettyPaintKSampler", + "PettyPaintKSamplerAdvanced", "PettyPaintLoRAStack", "PettyPaintLoadImage", + "PettyPaintLoadImageMasks", "PettyPaintLoadImages", "PettyPaintMap", "PettyPaintMasksToImages", @@ -11860,9 +11894,11 @@ "PettyPaintProcessor", "PettyPaintRemoveAddText", "PettyPaintSDTurboScheduler", + "PettyPaintStoryImage", "PettyPaintText", "PettyPaintTexts_to_Conditioning", - "PettyPaintToJson" + "PettyPaintToJson", + "PettyPaintVAEDecode" ], { "title_aux": "petty-paint-comfyui-node" @@ -14961,6 +14997,15 @@ "title_aux": "EasyCaptureNode for ComfyUI" } ], + "https://github.com/zhulu111/ComfyUI_Bxb": [ + [ + "sdBxb", + "sdBxb_textInput" + ], + { + "title_aux": "ComfyUI_Bxb" + } + ], "https://github.com/zohac/ComfyUI_ZC_DrawShape": [ [ "ZcDrawShape" @@ -14973,15 +15018,6 @@ "title_aux": "ComfyUI_ZC_DrawShape" } ], - "https://github.com/zhulu111/ComfyUI_Bxb": [ - [ - "sdBxb", - "sdBxb_textInput" - ], - { - "title_aux": "ComfyUI_Bxb" - } - ], "https://github.com/zombieyang/sd-ppp": [ [ "Get Image From Photoshop Layer", diff --git a/github-stats.json b/github-stats.json index 3f75cead..c5451653 100644 --- a/github-stats.json +++ b/github-stats.json @@ -2,167 +2,167 @@ "https://github.com/0xbitches/ComfyUI-LCM": { "stars": 246, "last_update": "2023-11-11 21:24:33", - "author_account_age_days": 527 + "author_account_age_days": 528 }, "https://github.com/1038lab/ComfyUI-GPT2P": { "stars": 3, "last_update": "2024-06-10 16:56:29", - "author_account_age_days": 448 + "author_account_age_days": 449 }, "https://github.com/11cafe/comfyui-workspace-manager": { - "stars": 782, - "last_update": "2024-06-20 05:18:45", - "author_account_age_days": 200 + "stars": 784, + "last_update": "2024-06-21 10:26:13", + "author_account_age_days": 201 }, "https://github.com/11dogzi/Comfyui-ergouzi-Nodes": { - "stars": 17, + "stars": 18, "last_update": "2024-05-23 00:08:39", - "author_account_age_days": 121 + "author_account_age_days": 122 }, "https://github.com/11dogzi/Comfyui-ergouzi-samplers": { "stars": 15, "last_update": "2024-06-17 11:44:41", - "author_account_age_days": 121 + "author_account_age_days": 122 }, "https://github.com/1mckw/Comfyui-Gelbooru": { "stars": 2, "last_update": "2024-05-27 07:45:00", - "author_account_age_days": 686 + "author_account_age_days": 687 }, "https://github.com/42lux/ComfyUI-safety-checker": { "stars": 18, "last_update": "2024-05-22 22:11:59", - "author_account_age_days": 3694 + "author_account_age_days": 3695 }, "https://github.com/438443467/ComfyUI-GPT4V-Image-Captioner": { - "stars": 18, + "stars": 19, "last_update": "2024-06-13 05:51:56", - "author_account_age_days": 410 + "author_account_age_days": 411 }, "https://github.com/54rt1n/ComfyUI-DareMerge": { - "stars": 41, + "stars": 42, "last_update": "2024-05-22 22:20:39", - "author_account_age_days": 4046 + "author_account_age_days": 4047 }, "https://github.com/80sVectorz/ComfyUI-Static-Primitives": { "stars": 10, "last_update": "2024-05-23 11:20:57", - "author_account_age_days": 1466 + "author_account_age_days": 1467 }, "https://github.com/A4P7J1N7M05OT/ComfyUI-AutoColorGimp": { "stars": 0, "last_update": "2024-05-23 00:26:10", - "author_account_age_days": 468 + "author_account_age_days": 469 }, "https://github.com/A4P7J1N7M05OT/ComfyUI-PixelOE": { "stars": 6, "last_update": "2024-06-02 14:57:59", - "author_account_age_days": 468 + "author_account_age_days": 469 }, "https://github.com/AARG-FAN/Image-Raster-for-ComfyUI": { - "stars": 62, + "stars": 63, "last_update": "2024-06-17 10:00:11", - "author_account_age_days": 495 + "author_account_age_days": 496 }, "https://github.com/AI2lab/comfyUI-DeepSeek-2lab": { "stars": 3, "last_update": "2024-06-06 23:11:12", - "author_account_age_days": 188 + "author_account_age_days": 189 }, "https://github.com/AIFSH/ComfyUI-3d-photo-inpainting": { "stars": 1, "last_update": "2024-06-19 13:59:49", - "author_account_age_days": 227 + "author_account_age_days": 228 }, "https://github.com/AIFSH/ComfyUI-FishSpeech": { "stars": 6, "last_update": "2024-05-23 01:18:49", - "author_account_age_days": 227 + "author_account_age_days": 228 }, "https://github.com/AIFSH/ComfyUI-GPT_SoVITS": { - "stars": 151, + "stars": 152, "last_update": "2024-06-14 07:05:01", - "author_account_age_days": 227 + "author_account_age_days": 228 }, "https://github.com/AIFSH/ComfyUI-Hallo": { - "stars": 108, - "last_update": "2024-06-20 05:38:40", - "author_account_age_days": 227 + "stars": 144, + "last_update": "2024-06-21 01:10:52", + "author_account_age_days": 228 }, "https://github.com/AIFSH/ComfyUI-IP_LAP": { "stars": 23, "last_update": "2024-06-14 07:05:39", - "author_account_age_days": 227 + "author_account_age_days": 228 }, "https://github.com/AIFSH/ComfyUI-Live2DViewer": { "stars": 2, "last_update": "2024-06-14 07:04:49", - "author_account_age_days": 227 + "author_account_age_days": 228 }, "https://github.com/AIFSH/ComfyUI-MimicBrush": { - "stars": 37, + "stars": 39, "last_update": "2024-06-17 22:26:53", - "author_account_age_days": 227 + "author_account_age_days": 228 }, "https://github.com/AIFSH/ComfyUI-MuseTalk_FSH": { "stars": 7, "last_update": "2024-06-14 07:05:19", - "author_account_age_days": 227 + "author_account_age_days": 228 }, "https://github.com/AIFSH/ComfyUI-RVC": { "stars": 9, "last_update": "2024-06-14 07:05:25", - "author_account_age_days": 227 + "author_account_age_days": 228 }, "https://github.com/AIFSH/ComfyUI-UVR5": { - "stars": 58, + "stars": 59, "last_update": "2024-06-20 07:31:20", - "author_account_age_days": 227 + "author_account_age_days": 228 }, "https://github.com/AIFSH/ComfyUI-UniAnimate": { - "stars": 4, + "stars": 14, "last_update": "2024-06-17 20:59:59", - "author_account_age_days": 227 + "author_account_age_days": 228 }, "https://github.com/AIFSH/ComfyUI-WhisperX": { "stars": 20, "last_update": "2024-06-14 07:05:31", - "author_account_age_days": 227 + "author_account_age_days": 228 }, "https://github.com/AIFSH/ComfyUI-XTTS": { - "stars": 21, + "stars": 22, "last_update": "2024-06-14 07:05:07", - "author_account_age_days": 227 + "author_account_age_days": 228 }, "https://github.com/AIFSH/ComfyUI_V-Express": { "stars": 74, - "last_update": "2024-06-14 07:05:13", - "author_account_age_days": 227 + "last_update": "2024-06-21 02:34:13", + "author_account_age_days": 228 }, "https://github.com/AIGCTeam/ComfyUI_kkTranslator_nodes": { "stars": 5, "last_update": "2024-05-23 00:13:50", - "author_account_age_days": 206 + "author_account_age_days": 207 }, "https://github.com/AIGODLIKE/AIGODLIKE-COMFYUI-TRANSLATION": { - "stars": 936, + "stars": 941, "last_update": "2024-06-18 03:10:38", - "author_account_age_days": 497 + "author_account_age_days": 498 }, "https://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Studio": { "stars": 203, "last_update": "2024-06-05 00:52:46", - "author_account_age_days": 497 + "author_account_age_days": 498 }, "https://github.com/AIGODLIKE/ComfyUI-CUP": { "stars": 4, - "last_update": "2024-06-20 07:26:58", - "author_account_age_days": 497 + "last_update": "2024-06-21 03:43:20", + "author_account_age_days": 498 }, "https://github.com/AIGODLIKE/ComfyUI-ToonCrafter": { - "stars": 237, + "stars": 238, "last_update": "2024-06-18 08:04:40", - "author_account_age_days": 497 + "author_account_age_days": 498 }, "https://github.com/AInseven/ComfyUI-fastblend": { "stars": 110, @@ -170,209 +170,209 @@ "author_account_age_days": 1679 }, "https://github.com/AIrjen/OneButtonPrompt": { - "stars": 733, + "stars": 734, "last_update": "2024-06-14 06:59:46", - "author_account_age_days": 438 + "author_account_age_days": 439 }, "https://github.com/ALatentPlace/ComfyUI_yanc": { - "stars": 17, + "stars": 18, "last_update": "2024-06-14 09:04:57", - "author_account_age_days": 1455 + "author_account_age_days": 1456 }, "https://github.com/AbdullahAlfaraj/Comfy-Photoshop-SD": { - "stars": 175, + "stars": 176, "last_update": "2024-06-14 07:04:37", - "author_account_age_days": 3663 + "author_account_age_days": 3664 }, "https://github.com/AbyssYuan0/ComfyUI_BadgerTools": { "stars": 6, "last_update": "2024-06-19 11:46:19", - "author_account_age_days": 485 + "author_account_age_days": 486 }, "https://github.com/Acly/comfyui-inpaint-nodes": { - "stars": 419, + "stars": 421, "last_update": "2024-06-17 13:51:51", - "author_account_age_days": 3800 + "author_account_age_days": 3801 }, "https://github.com/Acly/comfyui-tooling-nodes": { - "stars": 208, + "stars": 207, "last_update": "2024-06-20 09:26:34", - "author_account_age_days": 3800 + "author_account_age_days": 3801 }, "https://github.com/AiMiDi/ComfyUI-Aimidi-nodes": { "stars": 0, - "last_update": "2024-05-23 00:15:03", - "author_account_age_days": 1271 + "last_update": "2024-06-20 17:26:02", + "author_account_age_days": 1272 }, "https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet": { - "stars": 648, - "last_update": "2024-06-12 07:56:21", - "author_account_age_days": 2695 + "stars": 649, + "last_update": "2024-06-20 13:38:54", + "author_account_age_days": 2696 }, "https://github.com/Alysondao/Comfyui-Yolov8-JSON": { "stars": 12, "last_update": "2024-06-17 10:00:48", - "author_account_age_days": 1026 + "author_account_age_days": 1027 }, "https://github.com/Amorano/Jovimetrix": { "stars": 163, "last_update": "2024-06-04 15:28:54", - "author_account_age_days": 5208 + "author_account_age_days": 5209 }, "https://github.com/AonekoSS/ComfyUI-LoRA-Tuner": { "stars": 4, "last_update": "2024-06-14 08:57:39", - "author_account_age_days": 4087 + "author_account_age_days": 4088 }, "https://github.com/AonekoSS/ComfyUI-SimpleCounter": { "stars": 1, "last_update": "2024-05-23 01:11:36", - "author_account_age_days": 4087 + "author_account_age_days": 4088 }, "https://github.com/ArcherFMY/Diffusion360_ComfyUI": { - "stars": 17, + "stars": 18, "last_update": "2024-05-28 03:14:17", - "author_account_age_days": 3385 + "author_account_age_days": 3386 }, "https://github.com/ArdeniusAI/CPlus_Ardenius": { "stars": 0, "last_update": "2024-06-14 07:13:26", - "author_account_age_days": 122 + "author_account_age_days": 123 }, "https://github.com/ArtBot2023/CharacterFaceSwap": { "stars": 54, "last_update": "2024-05-22 20:53:09", - "author_account_age_days": 289 + "author_account_age_days": 290 }, "https://github.com/ArtVentureX/comfyui-animatediff": { "stars": 633, "last_update": "2024-05-22 18:16:43", - "author_account_age_days": 401 + "author_account_age_days": 402 }, "https://github.com/AshMartian/ComfyUI-DirGir": { "stars": 10, "last_update": "2024-05-29 22:28:55", - "author_account_age_days": 4582 + "author_account_age_days": 4583 }, "https://github.com/AuroBit/ComfyUI-AnimateAnyone-reproduction": { "stars": 34, "last_update": "2024-06-14 09:03:24", - "author_account_age_days": 385 + "author_account_age_days": 386 }, "https://github.com/AuroBit/ComfyUI-OOTDiffusion": { "stars": 337, "last_update": "2024-06-14 08:11:00", - "author_account_age_days": 385 + "author_account_age_days": 386 }, "https://github.com/AustinMroz/ComfyUI-DynamicOversampling": { "stars": 0, "last_update": "2024-06-14 07:06:51", - "author_account_age_days": 4070 + "author_account_age_days": 4071 }, "https://github.com/AustinMroz/ComfyUI-SpliceTools": { "stars": 7, "last_update": "2024-06-14 07:07:21", - "author_account_age_days": 4070 + "author_account_age_days": 4071 }, "https://github.com/AustinMroz/ComfyUI-WorkflowCheckpointing": { - "stars": 4, + "stars": 5, "last_update": "2024-06-19 21:19:45", - "author_account_age_days": 4070 + "author_account_age_days": 4071 }, "https://github.com/Auttasak-L/ComfyUI-ImageCropper": { "stars": 1, "last_update": "2024-05-23 05:04:53", - "author_account_age_days": 2645 + "author_account_age_days": 2646 }, "https://github.com/BAIS1C/ComfyUI_RSS_Feed_Reader": { "stars": 2, "last_update": "2024-06-20 03:42:00", - "author_account_age_days": 485 + "author_account_age_days": 486 }, "https://github.com/BXYMartin/ComfyUI-InstantIDUtils": { "stars": 3, "last_update": "2024-05-23 00:08:50", - "author_account_age_days": 2439 + "author_account_age_days": 2440 }, "https://github.com/BadCafeCode/masquerade-nodes-comfyui": { "stars": 305, "last_update": "2024-06-19 04:16:54", - "author_account_age_days": 426 + "author_account_age_days": 427 }, "https://github.com/Beinsezii/bsz-cui-extras": { "stars": 20, "last_update": "2024-05-22 20:46:45", - "author_account_age_days": 2222 + "author_account_age_days": 2223 }, "https://github.com/BenNarum/SigmaWaveFormNode": { "stars": 5, - "last_update": "2024-06-14 14:00:10", - "author_account_age_days": 3068 + "last_update": "2024-06-20 15:20:35", + "author_account_age_days": 3069 }, "https://github.com/BennyKok/comfyui-deploy": { - "stars": 677, + "stars": 678, "last_update": "2024-06-19 23:52:18", - "author_account_age_days": 2992 + "author_account_age_days": 2993 }, "https://github.com/Big-Idea-Technology/ComfyUI-Book-Tools": { "stars": 15, - "last_update": "2024-06-14 07:06:33", - "author_account_age_days": 867 + "last_update": "2024-06-21 10:21:10", + "author_account_age_days": 868 }, "https://github.com/Big-Idea-Technology/ComfyUI_LLM_Node": { - "stars": 49, - "last_update": "2024-06-14 08:08:12", - "author_account_age_days": 867 + "stars": 50, + "last_update": "2024-06-21 10:13:50", + "author_account_age_days": 868 }, "https://github.com/Billius-AI/ComfyUI-Path-Helper": { "stars": 13, "last_update": "2024-05-22 23:25:08", - "author_account_age_days": 130 + "author_account_age_days": 131 }, "https://github.com/BlakeOne/ComfyUI-CustomScheduler": { "stars": 11, "last_update": "2024-05-23 00:23:56", - "author_account_age_days": 2528 + "author_account_age_days": 2529 }, "https://github.com/BlakeOne/ComfyUI-NodePresets": { "stars": 11, "last_update": "2024-05-23 00:24:07", - "author_account_age_days": 2528 + "author_account_age_days": 2529 }, "https://github.com/BlakeOne/ComfyUI-NodeReset": { "stars": 1, "last_update": "2024-05-23 00:24:18", - "author_account_age_days": 2528 + "author_account_age_days": 2529 }, "https://github.com/BlakeOne/ComfyUI-SchedulerMixer": { "stars": 10, "last_update": "2024-05-23 00:23:44", - "author_account_age_days": 2528 + "author_account_age_days": 2529 }, "https://github.com/BlenderNeko/ComfyUI_ADV_CLIP_emb": { "stars": 264, "last_update": "2024-05-22 14:56:13", - "author_account_age_days": 473 + "author_account_age_days": 474 }, "https://github.com/BlenderNeko/ComfyUI_Cutoff": { "stars": 337, "last_update": "2024-05-22 15:01:45", - "author_account_age_days": 473 + "author_account_age_days": 474 }, "https://github.com/BlenderNeko/ComfyUI_Noise": { "stars": 201, "last_update": "2024-06-10 16:38:48", - "author_account_age_days": 473 + "author_account_age_days": 474 }, "https://github.com/BlenderNeko/ComfyUI_SeeCoder": { - "stars": 35, + "stars": 36, "last_update": "2024-05-22 14:57:04", - "author_account_age_days": 473 + "author_account_age_days": 474 }, "https://github.com/BlenderNeko/ComfyUI_TiledKSampler": { "stars": 291, "last_update": "2024-05-22 14:56:49", - "author_account_age_days": 473 + "author_account_age_days": 474 }, "https://github.com/CC-BryanOttho/ComfyUI_API_Manager": { "stars": 11, @@ -382,77 +382,77 @@ "https://github.com/CYBERLOOM-INC/ComfyUI-nodes-hnmr": { "stars": 4, "last_update": "2024-05-22 17:55:41", - "author_account_age_days": 245 + "author_account_age_days": 246 }, "https://github.com/CavinHuang/comfyui-nodes-docs": { - "stars": 59, + "stars": 60, "last_update": "2024-06-19 06:36:49", - "author_account_age_days": 2722 + "author_account_age_days": 2723 }, "https://github.com/Chan-0312/ComfyUI-EasyDeforum": { "stars": 8, "last_update": "2024-05-22 23:22:14", - "author_account_age_days": 1862 + "author_account_age_days": 1863 }, "https://github.com/Chan-0312/ComfyUI-IPAnimate": { "stars": 65, "last_update": "2024-05-22 23:22:03", - "author_account_age_days": 1862 + "author_account_age_days": 1863 }, "https://github.com/Chan-0312/ComfyUI-Prompt-Preview": { "stars": 16, "last_update": "2024-06-14 09:01:37", - "author_account_age_days": 1862 + "author_account_age_days": 1863 }, "https://github.com/Chaoses-Ib/ComfyUI_Ib_CustomNodes": { "stars": 12, "last_update": "2024-04-05 11:14:24", - "author_account_age_days": 1874 + "author_account_age_days": 1875 }, "https://github.com/Clybius/ComfyUI-Extra-Samplers": { "stars": 55, "last_update": "2024-06-14 09:03:17", - "author_account_age_days": 1729 + "author_account_age_days": 1730 }, "https://github.com/Clybius/ComfyUI-Latent-Modifiers": { "stars": 43, "last_update": "2024-06-14 09:02:44", - "author_account_age_days": 1729 + "author_account_age_days": 1730 }, "https://github.com/CosmicLaca/ComfyUI_Primere_Nodes": { - "stars": 81, - "last_update": "2024-06-20 11:40:52", - "author_account_age_days": 3651 + "stars": 82, + "last_update": "2024-06-20 13:27:56", + "author_account_age_days": 3652 }, "https://github.com/Danand/ComfyUI-ComfyCouple": { "stars": 21, "last_update": "2024-06-14 08:09:42", - "author_account_age_days": 4284 + "author_account_age_days": 4285 }, "https://github.com/DarKDinDoN/comfyui-checkpoint-automatic-config": { "stars": 3, "last_update": "2024-05-26 08:00:23", - "author_account_age_days": 4435 + "author_account_age_days": 4436 }, "https://github.com/DataCTE/prompt_injection": { "stars": 57, "last_update": "2024-06-15 16:06:59", - "author_account_age_days": 773 + "author_account_age_days": 774 }, "https://github.com/Derfuu/Derfuu_ComfyUI_ModdedNodes": { - "stars": 291, + "stars": 292, "last_update": "2024-06-17 21:28:45", - "author_account_age_days": 1770 + "author_account_age_days": 1771 }, "https://github.com/DigitalIO/ComfyUI-stable-wildcards": { "stars": 19, "last_update": "2024-05-24 21:15:08", - "author_account_age_days": 4034 + "author_account_age_days": 4035 }, "https://github.com/DimaChaichan/LAizypainter-Exporter-ComfyUI": { "stars": 7, "last_update": "2024-05-22 23:14:06", - "author_account_age_days": 3069 + "author_account_age_days": 3070 }, "https://github.com/DonBaronFactory/ComfyUI-Cre8it-Nodes": { "stars": 0, @@ -461,8 +461,8 @@ }, "https://github.com/DrJKL/ComfyUI-Anchors": { "stars": 4, - "last_update": "2024-06-14 07:12:14", - "author_account_age_days": 4990 + "last_update": "2024-06-20 18:23:00", + "author_account_age_days": 4991 }, "https://github.com/DrMWeigand/ComfyUI_ColorImageDetection": { "stars": 1, @@ -472,167 +472,167 @@ "https://github.com/Electrofried/ComfyUI-OpenAINode": { "stars": 18, "last_update": "2024-06-14 09:01:22", - "author_account_age_days": 2616 + "author_account_age_days": 2617 }, "https://github.com/EllangoK/ComfyUI-post-processing-nodes": { "stars": 144, "last_update": "2024-05-22 17:54:09", - "author_account_age_days": 2774 + "author_account_age_days": 2775 }, "https://github.com/ExponentialML/ComfyUI_ModelScopeT2V": { "stars": 25, "last_update": "2024-05-23 00:12:17", - "author_account_age_days": 1619 + "author_account_age_days": 1620 }, "https://github.com/ExponentialML/ComfyUI_Native_DynamiCrafter": { "stars": 98, "last_update": "2024-06-08 02:33:02", - "author_account_age_days": 1619 + "author_account_age_days": 1620 }, "https://github.com/ExponentialML/ComfyUI_VisualStylePrompting": { - "stars": 252, + "stars": 254, "last_update": "2024-05-23 00:12:41", - "author_account_age_days": 1619 + "author_account_age_days": 1620 }, "https://github.com/Extraltodeus/ComfyUI-AutomaticCFG": { - "stars": 270, - "last_update": "2024-06-19 05:31:19", - "author_account_age_days": 3145 + "stars": 274, + "last_update": "2024-06-21 00:44:06", + "author_account_age_days": 3146 }, "https://github.com/Extraltodeus/LoadLoraWithTags": { - "stars": 37, + "stars": 38, "last_update": "2024-06-03 03:04:45", - "author_account_age_days": 3145 + "author_account_age_days": 3146 }, "https://github.com/Extraltodeus/Stable-Diffusion-temperature-settings": { "stars": 20, "last_update": "2024-06-18 14:03:50", - "author_account_age_days": 3145 + "author_account_age_days": 3146 }, "https://github.com/Extraltodeus/Uncond-Zero-for-ComfyUI": { - "stars": 2, - "last_update": "2024-06-20 02:29:10", - "author_account_age_days": 3145 + "stars": 5, + "last_update": "2024-06-20 16:40:27", + "author_account_age_days": 3146 }, "https://github.com/Extraltodeus/Vector_Sculptor_ComfyUI": { "stars": 81, "last_update": "2024-06-03 03:04:03", - "author_account_age_days": 3145 + "author_account_age_days": 3146 }, "https://github.com/Extraltodeus/noise_latent_perlinpinpin": { "stars": 22, "last_update": "2024-06-03 03:04:40", - "author_account_age_days": 3145 + "author_account_age_days": 3146 }, "https://github.com/Extraltodeus/sigmas_tools_and_the_golden_scheduler": { "stars": 43, "last_update": "2024-06-11 19:48:04", - "author_account_age_days": 3145 + "author_account_age_days": 3146 }, "https://github.com/Fannovel16/ComfyUI-Frame-Interpolation": { "stars": 335, - "last_update": "2024-05-21 00:52:49", - "author_account_age_days": 3127 + "last_update": "2024-06-20 16:25:59", + "author_account_age_days": 3128 }, "https://github.com/Fannovel16/ComfyUI-Loopchain": { "stars": 28, "last_update": "2023-12-15 14:25:35", - "author_account_age_days": 3127 + "author_account_age_days": 3128 }, "https://github.com/Fannovel16/ComfyUI-MagickWand": { "stars": 70, - "last_update": "2024-05-20 14:13:55", - "author_account_age_days": 3127 + "last_update": "2024-06-20 16:23:15", + "author_account_age_days": 3128 }, "https://github.com/Fannovel16/ComfyUI-MotionDiff": { "stars": 145, - "last_update": "2024-05-21 00:51:03", - "author_account_age_days": 3127 + "last_update": "2024-06-20 16:29:32", + "author_account_age_days": 3128 }, "https://github.com/Fannovel16/ComfyUI-Video-Matting": { "stars": 140, - "last_update": "2024-05-21 00:51:54", - "author_account_age_days": 3127 + "last_update": "2024-06-20 16:14:38", + "author_account_age_days": 3128 }, "https://github.com/Fannovel16/comfyui_controlnet_aux": { - "stars": 1566, - "last_update": "2024-06-18 12:43:54", - "author_account_age_days": 3127 + "stars": 1575, + "last_update": "2024-06-21 05:39:50", + "author_account_age_days": 3128 }, "https://github.com/Fantaxico/ComfyUI-GCP-Storage": { "stars": 0, "last_update": "2024-06-14 09:05:52", - "author_account_age_days": 531 + "author_account_age_days": 532 }, "https://github.com/Feidorian/feidorian-ComfyNodes": { "stars": 5, "last_update": "2024-06-20 11:31:37", - "author_account_age_days": 2751 + "author_account_age_days": 2752 }, "https://github.com/Fictiverse/ComfyUI_Fictiverse": { "stars": 7, "last_update": "2024-06-05 19:03:21", - "author_account_age_days": 667 + "author_account_age_days": 668 }, "https://github.com/Fihade/IC-Light-ComfyUI-Node": { "stars": 5, "last_update": "2024-05-23 01:20:21", - "author_account_age_days": 2743 + "author_account_age_days": 2744 }, "https://github.com/FizzleDorf/ComfyUI-AIT": { "stars": 43, - "last_update": "2024-05-16 23:55:47", - "author_account_age_days": 1975 + "last_update": "2024-06-21 02:19:22", + "author_account_age_days": 1976 }, "https://github.com/FizzleDorf/ComfyUI_FizzNodes": { - "stars": 310, + "stars": 311, "last_update": "2024-06-13 03:43:00", - "author_account_age_days": 1975 + "author_account_age_days": 1976 }, "https://github.com/FlyingFireCo/tiled_ksampler": { "stars": 56, "last_update": "2024-05-22 23:15:17", - "author_account_age_days": 628 + "author_account_age_days": 629 }, "https://github.com/ForeignGods/ComfyUI-Mana-Nodes": { "stars": 176, "last_update": "2024-05-29 18:29:05", - "author_account_age_days": 1239 + "author_account_age_days": 1240 }, "https://github.com/Franck-Demongin/NX_PromptStyler": { "stars": 5, "last_update": "2024-05-22 23:25:21", - "author_account_age_days": 1767 + "author_account_age_days": 1768 }, "https://github.com/FredBill1/comfyui-fb-utils": { "stars": 0, "last_update": "2024-05-23 01:41:02", - "author_account_age_days": 2313 + "author_account_age_days": 2314 }, "https://github.com/G-370/ComfyUI-SD3-Powerlab": { "stars": 16, "last_update": "2024-06-19 02:28:26", - "author_account_age_days": 1515 + "author_account_age_days": 1516 }, "https://github.com/GMapeSplat/ComfyUI_ezXY": { "stars": 22, "last_update": "2024-05-29 17:43:08", - "author_account_age_days": 1293 + "author_account_age_days": 1294 }, "https://github.com/GTSuya-Studio/ComfyUI-Gtsuya-Nodes": { "stars": 7, "last_update": "2024-05-22 21:31:52", - "author_account_age_days": 2552 + "author_account_age_days": 2553 }, "https://github.com/GavChap/ComfyUI-SD3LatentSelectRes": { "stars": 4, "last_update": "2024-06-19 11:01:41", - "author_account_age_days": 4563 + "author_account_age_days": 4564 }, "https://github.com/GentlemanHu/ComfyUI-SunoAI": { "stars": 10, "last_update": "2024-06-14 06:02:29", - "author_account_age_days": 2379 + "author_account_age_days": 2380 }, "https://github.com/Goktug/comfyui-saveimage-plus": { "stars": 1, @@ -640,69 +640,69 @@ "author_account_age_days": 4928 }, "https://github.com/Gourieff/comfyui-reactor-node": { - "stars": 1041, - "last_update": "2024-06-17 04:37:25", - "author_account_age_days": 1115 + "stars": 1045, + "last_update": "2024-06-20 16:58:07", + "author_account_age_days": 1116 }, "https://github.com/GraftingRayman/ComfyUI_GraftingRayman": { - "stars": 12, - "last_update": "2024-06-19 16:59:55", + "stars": 14, + "last_update": "2024-06-21 10:18:50", "author_account_age_days": 159 }, "https://github.com/Guillaume-Fgt/ComfyUI_StableCascadeLatentRatio": { "stars": 3, "last_update": "2024-06-14 08:59:42", - "author_account_age_days": 1476 + "author_account_age_days": 1477 }, "https://github.com/HAL41/ComfyUI-aichemy-nodes": { "stars": 4, "last_update": "2024-05-22 23:10:19", - "author_account_age_days": 2841 + "author_account_age_days": 2842 }, "https://github.com/Hangover3832/ComfyUI-Hangover-Moondream": { "stars": 37, "last_update": "2024-06-14 08:08:20", - "author_account_age_days": 606 + "author_account_age_days": 607 }, "https://github.com/Hangover3832/ComfyUI-Hangover-Nodes": { "stars": 33, "last_update": "2024-06-14 08:08:28", - "author_account_age_days": 606 + "author_account_age_days": 607 }, "https://github.com/Hangover3832/ComfyUI-Hangover-Recognize_Anything": { "stars": 14, "last_update": "2024-06-14 08:10:52", - "author_account_age_days": 606 + "author_account_age_days": 607 }, "https://github.com/Haoming02/comfyui-clear-screen": { "stars": 1, "last_update": "2024-06-14 08:59:35", - "author_account_age_days": 1327 + "author_account_age_days": 1328 }, "https://github.com/Haoming02/comfyui-diffusion-cg": { "stars": 50, "last_update": "2024-06-14 07:10:28", - "author_account_age_days": 1327 + "author_account_age_days": 1328 }, "https://github.com/Haoming02/comfyui-floodgate": { "stars": 25, "last_update": "2024-06-14 07:11:55", - "author_account_age_days": 1327 + "author_account_age_days": 1328 }, "https://github.com/Haoming02/comfyui-menu-anchor": { "stars": 3, "last_update": "2024-06-14 07:10:37", - "author_account_age_days": 1327 + "author_account_age_days": 1328 }, "https://github.com/Haoming02/comfyui-prompt-format": { "stars": 28, "last_update": "2024-06-14 07:12:02", - "author_account_age_days": 1327 + "author_account_age_days": 1328 }, "https://github.com/Haoming02/comfyui-tab-handler": { "stars": 4, "last_update": "2024-06-14 08:09:45", - "author_account_age_days": 1327 + "author_account_age_days": 1328 }, "https://github.com/HaydenReeve/ComfyUI-Better-Strings": { "stars": 0, @@ -717,12 +717,12 @@ "https://github.com/Hiero207/ComfyUI-Hiero-Nodes": { "stars": 5, "last_update": "2024-05-22 23:16:16", - "author_account_age_days": 1694 + "author_account_age_days": 1695 }, "https://github.com/Hopping-Mad-Games/ComfyUI_LiteLLM": { - "stars": 2, + "stars": 3, "last_update": "2024-06-14 15:45:39", - "author_account_age_days": 184 + "author_account_age_days": 185 }, "https://github.com/IDGallagher/ComfyUI-IG-Nodes": { "stars": 0, @@ -732,60 +732,60 @@ "https://github.com/ITurchenko/ComfyUI-SizeFromArray": { "stars": 0, "last_update": "2024-05-24 14:09:58", - "author_account_age_days": 3704 + "author_account_age_days": 3705 }, "https://github.com/Intersection98/ComfyUI_MX_post_processing-nodes": { "stars": 9, "last_update": "2024-05-23 01:12:46", - "author_account_age_days": 2626 + "author_account_age_days": 2627 }, "https://github.com/Inzaniak/comfyui-ranbooru": { "stars": 7, "last_update": "2024-05-22 23:12:23", - "author_account_age_days": 3905 + "author_account_age_days": 3906 }, "https://github.com/IsItDanOrAi/ComfyUI-Stereopsis": { "stars": 2, "last_update": "2024-05-23 00:22:46", - "author_account_age_days": 107 + "author_account_age_days": 108 }, "https://github.com/JPS-GER/ComfyUI_JPS-Nodes": { "stars": 36, "last_update": "2024-05-22 20:39:14", - "author_account_age_days": 311 + "author_account_age_days": 312 }, "https://github.com/Jannchie/ComfyUI-J": { "stars": 62, "last_update": "2024-06-20 12:08:09", - "author_account_age_days": 2549 + "author_account_age_days": 2550 }, "https://github.com/JaredTherriault/ComfyUI-JNodes": { "stars": 13, "last_update": "2024-06-19 23:54:22", - "author_account_age_days": 3567 + "author_account_age_days": 3568 }, "https://github.com/JayLyu/ComfyUI_BaiKong_Node": { "stars": 0, - "last_update": "2024-06-18 16:07:31", - "author_account_age_days": 3264 + "last_update": "2024-06-20 16:36:32", + "author_account_age_days": 3265 }, "https://github.com/JcandZero/ComfyUI_GLM4Node": { "stars": 25, "last_update": "2024-05-22 23:12:46", - "author_account_age_days": 686 + "author_account_age_days": 687 }, "https://github.com/Jcd1230/rembg-comfyui-node": { "stars": 120, "last_update": "2024-05-22 17:58:34", - "author_account_age_days": 4882 + "author_account_age_days": 4883 }, "https://github.com/JerryOrbachJr/ComfyUI-RandomSize": { "stars": 3, "last_update": "2024-05-22 23:18:51", - "author_account_age_days": 151 + "author_account_age_days": 152 }, "https://github.com/JettHu/ComfyUI-TCD": { - "stars": 84, + "stars": 85, "last_update": "2024-06-03 11:40:18", "author_account_age_days": 2354 }, @@ -797,82 +797,82 @@ "https://github.com/Jordach/comfy-plasma": { "stars": 49, "last_update": "2024-05-22 18:08:28", - "author_account_age_days": 4508 + "author_account_age_days": 4509 }, "https://github.com/Kaharos94/ComfyUI-Saveaswebp": { - "stars": 31, + "stars": 32, "last_update": "2024-05-22 18:06:48", "author_account_age_days": 1191 }, "https://github.com/Kangkang625/ComfyUI-paint-by-example": { "stars": 14, "last_update": "2024-05-22 22:20:27", - "author_account_age_days": 909 + "author_account_age_days": 910 }, "https://github.com/KewkLW/ComfyUI-kewky_tools": { "stars": 3, - "last_update": "2024-05-23 01:20:32", - "author_account_age_days": 1683 + "last_update": "2024-06-21 05:48:24", + "author_account_age_days": 1684 }, "https://github.com/Koishi-Star/Euler-Smea-Dyn-Sampler": { "stars": 134, "last_update": "2024-06-16 15:50:10", - "author_account_age_days": 1481 + "author_account_age_days": 1482 }, "https://github.com/KoreTeknology/ComfyUI-Universal-Styler": { - "stars": 5, + "stars": 6, "last_update": "2024-06-14 10:28:10", - "author_account_age_days": 3186 + "author_account_age_days": 3187 }, "https://github.com/Kosinkadink/ComfyUI-Advanced-ControlNet": { - "stars": 413, + "stars": 415, "last_update": "2024-06-20 06:26:07", - "author_account_age_days": 3712 + "author_account_age_days": 3713 }, "https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved": { - "stars": 2242, - "last_update": "2024-06-17 12:20:18", - "author_account_age_days": 3712 + "stars": 2247, + "last_update": "2024-06-20 14:08:17", + "author_account_age_days": 3713 }, "https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite": { "stars": 396, "last_update": "2024-06-18 21:43:05", - "author_account_age_days": 3712 + "author_account_age_days": 3713 }, "https://github.com/KytraScript/ComfyUI_KytraWebhookHTTP": { "stars": 3, "last_update": "2024-05-23 00:21:43", - "author_account_age_days": 1775 + "author_account_age_days": 1776 }, "https://github.com/LEv145/images-grid-comfy-plugin": { - "stars": 129, + "stars": 130, "last_update": "2024-05-30 17:54:32", - "author_account_age_days": 2203 + "author_account_age_days": 2204 }, "https://github.com/LZpenguin/ComfyUI-Text": { - "stars": 5, - "last_update": "2024-06-19 03:37:22", - "author_account_age_days": 1975 + "stars": 6, + "last_update": "2024-06-20 13:38:16", + "author_account_age_days": 1976 }, "https://github.com/LarryJane491/Image-Captioning-in-ComfyUI": { - "stars": 29, + "stars": 30, "last_update": "2024-06-06 20:45:43", "author_account_age_days": 160 }, "https://github.com/LarryJane491/Lora-Training-in-Comfy": { - "stars": 260, + "stars": 261, "last_update": "2024-06-09 05:24:00", "author_account_age_days": 160 }, "https://github.com/Layer-norm/comfyui-lama-remover": { "stars": 55, "last_update": "2024-05-25 00:12:04", - "author_account_age_days": 328 + "author_account_age_days": 329 }, "https://github.com/Lerc/canvas_tab": { - "stars": 127, + "stars": 126, "last_update": "2024-05-22 20:48:45", - "author_account_age_days": 5363 + "author_account_age_days": 5364 }, "https://github.com/Limitex/ComfyUI-Calculation": { "stars": 0, @@ -880,69 +880,69 @@ "author_account_age_days": 1271 }, "https://github.com/Limitex/ComfyUI-Diffusers": { - "stars": 108, + "stars": 110, "last_update": "2024-05-22 22:18:57", "author_account_age_days": 1271 }, "https://github.com/Loewen-Hob/rembg-comfyui-node-better": { "stars": 32, "last_update": "2024-05-23 00:32:53", - "author_account_age_days": 466 + "author_account_age_days": 467 }, "https://github.com/LonicaMewinsky/ComfyUI-MakeFrame": { "stars": 23, "last_update": "2024-05-22 21:29:02", - "author_account_age_days": 971 + "author_account_age_days": 972 }, "https://github.com/LonicaMewinsky/ComfyUI-RawSaver": { "stars": 1, "last_update": "2024-05-22 21:31:28", - "author_account_age_days": 971 + "author_account_age_days": 972 }, "https://github.com/Ludobico/ComfyUI-ScenarioPrompt": { "stars": 13, - "last_update": "2024-06-14 23:40:08", - "author_account_age_days": 1028 + "last_update": "2024-06-21 06:43:02", + "author_account_age_days": 1029 }, "https://github.com/LyazS/comfyui-anime-seg": { "stars": 4, "last_update": "2024-05-22 23:21:49", - "author_account_age_days": 2853 + "author_account_age_days": 2854 }, "https://github.com/M1kep/ComfyLiterals": { "stars": 11, "last_update": "2024-05-22 20:31:38", - "author_account_age_days": 4254 + "author_account_age_days": 4255 }, "https://github.com/M1kep/ComfyUI-KepOpenAI": { "stars": 26, "last_update": "2024-05-22 20:33:54", - "author_account_age_days": 4254 + "author_account_age_days": 4255 }, "https://github.com/M1kep/ComfyUI-OtherVAEs": { "stars": 2, "last_update": "2024-05-22 20:33:41", - "author_account_age_days": 4254 + "author_account_age_days": 4255 }, "https://github.com/M1kep/Comfy_KepKitchenSink": { "stars": 0, "last_update": "2024-05-22 20:33:29", - "author_account_age_days": 4254 + "author_account_age_days": 4255 }, "https://github.com/M1kep/Comfy_KepListStuff": { "stars": 26, "last_update": "2024-05-22 20:31:26", - "author_account_age_days": 4254 + "author_account_age_days": 4255 }, "https://github.com/M1kep/Comfy_KepMatteAnything": { "stars": 10, "last_update": "2024-05-22 20:33:16", - "author_account_age_days": 4254 + "author_account_age_days": 4255 }, "https://github.com/M1kep/KepPromptLang": { "stars": 5, "last_update": "2024-05-22 20:32:56", - "author_account_age_days": 4254 + "author_account_age_days": 4255 }, "https://github.com/MNeMoNiCuZ/ComfyUI-mnemic-nodes": { "stars": 26, @@ -957,57 +957,62 @@ "https://github.com/Mamaaaamooooo/batchImg-rembg-ComfyUI-nodes": { "stars": 12, "last_update": "2024-06-14 10:24:17", - "author_account_age_days": 378 + "author_account_age_days": 379 }, "https://github.com/ManglerFTW/ComfyI2I": { "stars": 139, "last_update": "2024-06-14 11:01:01", - "author_account_age_days": 651 + "author_account_age_days": 652 }, "https://github.com/MaraScott/ComfyUI_MaraScott_Nodes": { - "stars": 52, - "last_update": "2024-06-19 23:25:34", - "author_account_age_days": 4965 + "stars": 53, + "last_update": "2024-06-21 09:37:51", + "author_account_age_days": 4966 }, "https://github.com/MarcusNyne/m9-prompts-comfyui": { "stars": 1, "last_update": "2024-06-14 15:25:15", - "author_account_age_days": 1418 + "author_account_age_days": 1419 }, "https://github.com/MariusKM/ComfyUI-BadmanNodes": { "stars": 0, - "last_update": "2024-06-14 12:01:26", - "author_account_age_days": 2226 + "last_update": "2024-06-21 08:23:00", + "author_account_age_days": 2227 }, "https://github.com/MarkoCa1/ComfyUI-Text": { "stars": 2, "last_update": "2024-05-23 00:15:39", - "author_account_age_days": 1629 + "author_account_age_days": 1630 }, "https://github.com/MarkoCa1/ComfyUI_Segment_Mask": { "stars": 15, "last_update": "2024-05-23 00:15:51", - "author_account_age_days": 1629 + "author_account_age_days": 1630 }, "https://github.com/Mason-McGough/ComfyUI-Mosaica": { "stars": 4, "last_update": "2024-05-29 12:57:49", - "author_account_age_days": 3201 + "author_account_age_days": 3202 }, "https://github.com/Millyarde/Pomfy": { "stars": 7, "last_update": "2024-05-22 22:22:48", - "author_account_age_days": 903 + "author_account_age_days": 904 }, "https://github.com/MinusZoneAI/ComfyUI-Prompt-MZ": { "stars": 66, "last_update": "2024-06-19 19:12:36", - "author_account_age_days": 61 + "author_account_age_days": 62 }, "https://github.com/MinusZoneAI/ComfyUI-StylizePhoto-MZ": { "stars": 16, "last_update": "2024-05-23 01:13:32", - "author_account_age_days": 61 + "author_account_age_days": 62 + }, + "https://github.com/MinusZoneAI/ComfyUI-TrainTools-MZ": { + "stars": 1, + "last_update": "2024-06-20 15:13:51", + "author_account_age_days": 62 }, "https://github.com/Miosp/ComfyUI-FBCNN": { "stars": 4, @@ -1022,67 +1027,67 @@ "https://github.com/MokkaBoss1/ComfyUI_Mokkaboss1": { "stars": 15, "last_update": "2024-06-20 08:03:14", - "author_account_age_days": 375 + "author_account_age_days": 376 }, "https://github.com/MrForExample/ComfyUI-3D-Pack": { - "stars": 1633, + "stars": 1645, "last_update": "2024-06-04 20:35:47", - "author_account_age_days": 1557 + "author_account_age_days": 1558 }, "https://github.com/MrForExample/ComfyUI-AnimateAnyone-Evolved": { - "stars": 431, + "stars": 432, "last_update": "2024-06-14 12:02:47", - "author_account_age_days": 1557 + "author_account_age_days": 1558 }, "https://github.com/Munkyfoot/ComfyUI-TextOverlay": { "stars": 2, "last_update": "2024-06-14 10:26:38", - "author_account_age_days": 3041 + "author_account_age_days": 3042 }, "https://github.com/Nestorchik/NStor-ComfyUI-Translation": { "stars": 1, "last_update": "2024-06-14 10:25:32", - "author_account_age_days": 1320 + "author_account_age_days": 1321 }, "https://github.com/NeuralSamurAI/Comfyui-Superprompt-Unofficial": { "stars": 55, "last_update": "2024-05-23 00:22:08", - "author_account_age_days": 89 + "author_account_age_days": 90 }, "https://github.com/Nevysha/ComfyUI-nevysha-top-menu": { "stars": 5, "last_update": "2024-05-23 00:17:31", - "author_account_age_days": 522 + "author_account_age_days": 523 }, "https://github.com/NicholasMcCarthy/ComfyUI_TravelSuite": { "stars": 13, "last_update": "2024-05-22 20:34:46", - "author_account_age_days": 5145 + "author_account_age_days": 5146 }, "https://github.com/NimaNzrii/comfyui-photoshop": { - "stars": 171, + "stars": 173, "last_update": "2024-06-18 22:59:33", - "author_account_age_days": 240 + "author_account_age_days": 241 }, "https://github.com/NimaNzrii/comfyui-popup_preview": { "stars": 34, "last_update": "2024-05-22 22:12:04", - "author_account_age_days": 240 + "author_account_age_days": 241 }, "https://github.com/Niutonian/ComfyUi-NoodleWebcam": { "stars": 27, "last_update": "2024-05-22 21:30:40", - "author_account_age_days": 1038 + "author_account_age_days": 1039 }, "https://github.com/Nlar/ComfyUI_CartoonSegmentation": { "stars": 9, "last_update": "2024-05-22 23:15:37", - "author_account_age_days": 3827 + "author_account_age_days": 3828 }, "https://github.com/NotHarroweD/Harronode": { "stars": 5, "last_update": "2024-05-22 22:18:29", - "author_account_age_days": 1979 + "author_account_age_days": 1980 }, "https://github.com/Nourepide/ComfyUI-Allor": { "stars": 172, @@ -1092,287 +1097,287 @@ "https://github.com/Nuked88/ComfyUI-N-Nodes": { "stars": 171, "last_update": "2024-05-21 19:52:44", - "author_account_age_days": 4475 + "author_account_age_days": 4476 }, "https://github.com/Nuked88/ComfyUI-N-Sidebar": { - "stars": 377, + "stars": 379, "last_update": "2024-06-18 17:58:13", - "author_account_age_days": 4475 + "author_account_age_days": 4476 }, "https://github.com/Off-Live/ComfyUI-off-suite": { "stars": 0, "last_update": "2024-06-14 12:02:25", - "author_account_age_days": 1168 + "author_account_age_days": 1169 }, "https://github.com/OpenArt-AI/ComfyUI-Assistant": { "stars": 14, "last_update": "2024-05-22 22:16:57", - "author_account_age_days": 771 + "author_account_age_days": 772 }, "https://github.com/PCMonsterx/ComfyUI-CSV-Loader": { "stars": 11, "last_update": "2024-05-22 21:27:10", - "author_account_age_days": 1661 + "author_account_age_days": 1662 }, "https://github.com/ParisNeo/lollms_nodes_suite": { "stars": 9, "last_update": "2024-05-23 00:22:34", - "author_account_age_days": 4765 + "author_account_age_days": 4766 }, "https://github.com/ParmanBabra/ComfyUI-Malefish-Custom-Scripts": { "stars": 0, "last_update": "2024-05-22 21:26:35", - "author_account_age_days": 3639 + "author_account_age_days": 3640 }, "https://github.com/Pfaeff/pfaeff-comfyui": { "stars": 19, "last_update": "2024-05-22 18:21:10", - "author_account_age_days": 3203 + "author_account_age_days": 3204 }, "https://github.com/PnthrLeo/comfyUI-image-search": { "stars": 0, "last_update": "2024-06-14 07:06:45", - "author_account_age_days": 2547 + "author_account_age_days": 2548 }, "https://github.com/Pos13/comfyui-cyclist": { - "stars": 16, + "stars": 18, "last_update": "2024-06-19 09:21:53", - "author_account_age_days": 1513 + "author_account_age_days": 1514 }, "https://github.com/QaisMalkawi/ComfyUI-QaisHelper": { "stars": 2, "last_update": "2024-05-23 20:29:30", - "author_account_age_days": 1246 + "author_account_age_days": 1247 }, "https://github.com/RenderRift/ComfyUI-RenderRiftNodes": { "stars": 6, "last_update": "2024-05-22 22:16:41", - "author_account_age_days": 182 + "author_account_age_days": 183 }, "https://github.com/RomanKuschanow/ComfyUI-Advanced-Latent-Control": { "stars": 15, - "last_update": "2024-06-14 08:11:00", - "author_account_age_days": 1377 + "last_update": "2024-06-21 07:29:14", + "author_account_age_days": 1378 }, "https://github.com/Ron-Digital/ComfyUI-SceneGenerator": { "stars": 2, "last_update": "2024-06-14 08:59:57", - "author_account_age_days": 925 + "author_account_age_days": 926 }, "https://github.com/Ryuukeisyou/comfyui_face_parsing": { "stars": 44, "last_update": "2024-05-22 22:21:46", - "author_account_age_days": 2408 + "author_account_age_days": 2409 }, "https://github.com/Ryuukeisyou/comfyui_io_helpers": { "stars": 1, "last_update": "2024-05-22 22:22:59", - "author_account_age_days": 2408 + "author_account_age_days": 2409 }, "https://github.com/SLAPaper/ComfyUI-Image-Selector": { "stars": 58, "last_update": "2024-05-24 17:03:46", - "author_account_age_days": 3693 + "author_account_age_days": 3694 }, "https://github.com/SLAPaper/ComfyUI-dpmpp_2m_alt-Sampler": { "stars": 8, "last_update": "2024-06-18 19:22:50", - "author_account_age_days": 3693 + "author_account_age_days": 3694 }, "https://github.com/SOELexicon/ComfyUI-LexMSDBNodes": { "stars": 4, "last_update": "2024-05-22 18:15:52", - "author_account_age_days": 4079 + "author_account_age_days": 4080 }, "https://github.com/SOELexicon/ComfyUI-LexTools": { "stars": 23, "last_update": "2024-05-23 09:39:07", - "author_account_age_days": 4079 + "author_account_age_days": 4080 }, "https://github.com/SamKhoze/ComfyUI-DeepFuze": { - "stars": 138, - "last_update": "2024-06-19 18:54:32", - "author_account_age_days": 1439 + "stars": 151, + "last_update": "2024-06-20 14:43:22", + "author_account_age_days": 1440 }, "https://github.com/SayanoAI/Comfy-RVC": { "stars": 2, "last_update": "2024-06-14 08:57:33", - "author_account_age_days": 2599 + "author_account_age_days": 2600 }, "https://github.com/Scholar01/ComfyUI-Keyframe": { "stars": 10, "last_update": "2024-06-14 09:01:30", - "author_account_age_days": 3192 + "author_account_age_days": 3193 }, "https://github.com/Scorpinaus/ComfyUI-DiffusersLoader": { "stars": 3, - "last_update": "2024-06-14 09:02:43", - "author_account_age_days": 1106 + "last_update": "2024-06-21 00:19:48", + "author_account_age_days": 1107 }, "https://github.com/ScreamingHawk/comfyui-ollama-prompt-encode": { "stars": 4, "last_update": "2024-06-18 02:52:45", - "author_account_age_days": 4502 + "author_account_age_days": 4503 }, "https://github.com/SeaArtLab/ComfyUI-Long-CLIP": { "stars": 59, "last_update": "2024-06-14 08:08:26", - "author_account_age_days": 73 + "author_account_age_days": 74 }, "https://github.com/SeargeDP/SeargeSDXL": { "stars": 740, "last_update": "2024-05-22 00:28:26", - "author_account_age_days": 4167 + "author_account_age_days": 4168 }, "https://github.com/Seedsa/Fooocus_Nodes": { "stars": 37, "last_update": "2024-06-03 17:13:53", - "author_account_age_days": 2604 + "author_account_age_days": 2605 }, "https://github.com/Shadetail/ComfyUI_Eagleshadow": { "stars": 1, "last_update": "2024-06-15 13:04:49", - "author_account_age_days": 3393 + "author_account_age_days": 3394 }, "https://github.com/ShmuelRonen/ComfyUI-SVDResizer": { "stars": 1, "last_update": "2024-06-14 11:50:52", - "author_account_age_days": 1201 + "author_account_age_days": 1202 }, "https://github.com/ShmuelRonen/ComfyUI_Gemini_Flash": { "stars": 6, "last_update": "2024-06-15 17:12:05", - "author_account_age_days": 1201 + "author_account_age_days": 1202 }, "https://github.com/ShmuelRonen/ComfyUI_wav2lip": { - "stars": 45, + "stars": 46, "last_update": "2024-06-15 10:03:53", - "author_account_age_days": 1201 + "author_account_age_days": 1202 }, "https://github.com/Shraknard/ComfyUI-Remover": { "stars": 4, "last_update": "2024-05-22 23:15:06", - "author_account_age_days": 2312 + "author_account_age_days": 2313 }, "https://github.com/Siberpone/lazy-pony-prompter": { "stars": 23, "last_update": "2024-05-22 23:12:00", - "author_account_age_days": 448 + "author_account_age_days": 449 }, "https://github.com/Smirnov75/ComfyUI-mxToolkit": { - "stars": 47, + "stars": 48, "last_update": "2024-06-19 13:12:38", - "author_account_age_days": 1507 + "author_account_age_days": 1508 }, "https://github.com/SoftMeng/ComfyUI_ImageToText": { "stars": 6, "last_update": "2024-06-14 08:08:36", - "author_account_age_days": 3519 + "author_account_age_days": 3520 }, "https://github.com/SoftMeng/ComfyUI_Mexx_Poster": { "stars": 16, "last_update": "2024-06-14 07:06:27", - "author_account_age_days": 3519 + "author_account_age_days": 3520 }, "https://github.com/SoftMeng/ComfyUI_Mexx_Styler": { "stars": 17, "last_update": "2024-06-14 07:09:03", - "author_account_age_days": 3519 + "author_account_age_days": 3520 }, "https://github.com/Sorcerio/MBM-Music-Visualizer": { - "stars": 14, + "stars": 15, "last_update": "2024-05-23 01:09:18", - "author_account_age_days": 4243 + "author_account_age_days": 4244 }, "https://github.com/SozeInc/ComfyUI-Mobile": { "stars": 0, "last_update": "2024-06-14 07:09:00", - "author_account_age_days": 75 + "author_account_age_days": 76 }, "https://github.com/SpaceKendo/ComfyUI-svd_txt2vid": { "stars": 6, "last_update": "2024-05-22 22:11:52", - "author_account_age_days": 204 + "author_account_age_days": 205 }, "https://github.com/Stability-AI/ComfyUI-SAI_API": { "stars": 38, "last_update": "2024-06-06 14:18:15", - "author_account_age_days": 838 + "author_account_age_days": 839 }, "https://github.com/Stability-AI/stability-ComfyUI-nodes": { "stars": 180, "last_update": "2024-05-22 15:30:47", - "author_account_age_days": 838 + "author_account_age_days": 839 }, "https://github.com/StartHua/ComfyUI_OOTDiffusion_CXH": { - "stars": 90, + "stars": 91, "last_update": "2024-06-14 08:12:12", - "author_account_age_days": 2831 + "author_account_age_days": 2832 }, "https://github.com/StartHua/ComfyUI_PCDMs": { "stars": 2, "last_update": "2024-05-22 23:21:14", - "author_account_age_days": 2831 + "author_account_age_days": 2832 }, "https://github.com/StartHua/ComfyUI_Seg_VITON": { "stars": 165, "last_update": "2024-05-22 23:20:17", - "author_account_age_days": 2831 + "author_account_age_days": 2832 }, "https://github.com/StartHua/Comfyui_joytag": { "stars": 19, "last_update": "2024-05-22 23:20:28", - "author_account_age_days": 2831 + "author_account_age_days": 2832 }, "https://github.com/StartHua/Comfyui_segformer_b2_clothes": { "stars": 36, "last_update": "2024-05-22 23:20:39", - "author_account_age_days": 2831 + "author_account_age_days": 2832 }, "https://github.com/SuperBeastsAI/ComfyUI-SuperBeasts": { - "stars": 98, + "stars": 101, "last_update": "2024-06-01 20:27:53", - "author_account_age_days": 85 + "author_account_age_days": 86 }, "https://github.com/SuperMasterBlasterLaser/ComfyUI_YOLO_Classifiers": { "stars": 0, - "last_update": "2024-06-17 15:08:33", - "author_account_age_days": 3574 + "last_update": "2024-06-20 15:06:51", + "author_account_age_days": 3575 }, "https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes": { - "stars": 475, + "stars": 476, "last_update": "2024-06-05 01:09:25", - "author_account_age_days": 2145 + "author_account_age_days": 2146 }, "https://github.com/Sxela/ComfyWarp": { "stars": 21, "last_update": "2024-05-22 20:47:11", - "author_account_age_days": 3368 + "author_account_age_days": 3369 }, "https://github.com/TGu-97/ComfyUI-TGu-utils": { "stars": 1, "last_update": "2024-05-22 21:07:45", - "author_account_age_days": 525 + "author_account_age_days": 526 }, "https://github.com/THtianhao/ComfyUI-FaceChain": { "stars": 83, "last_update": "2024-05-24 08:41:14", - "author_account_age_days": 3687 + "author_account_age_days": 3688 }, "https://github.com/THtianhao/ComfyUI-Portrait-Maker": { "stars": 167, "last_update": "2024-05-22 21:18:05", - "author_account_age_days": 3687 + "author_account_age_days": 3688 }, "https://github.com/TJ16th/comfyUI_TJ_NormalLighting": { "stars": 128, "last_update": "2024-05-23 00:25:37", - "author_account_age_days": 2531 + "author_account_age_days": 2532 }, "https://github.com/TMElyralab/Comfyui-MusePose": { - "stars": 252, + "stars": 256, "last_update": "2024-06-12 11:44:33", - "author_account_age_days": 93 + "author_account_age_days": 94 }, "https://github.com/TRI3D-LC/ComfyUI-MiroBoard": { "stars": 0, @@ -1381,58 +1386,58 @@ }, "https://github.com/TRI3D-LC/tri3d-comfyui-nodes": { "stars": 17, - "last_update": "2024-06-13 06:05:42", + "last_update": "2024-06-21 08:10:56", "author_account_age_days": 435 }, "https://github.com/TW-CUI/TW-CUI-Util": { "stars": 1, "last_update": "2024-06-17 03:03:57", - "author_account_age_days": 27 + "author_account_age_days": 28 }, "https://github.com/TaiTair/comfyui-simswap": { "stars": 7, "last_update": "2024-05-28 21:58:53", - "author_account_age_days": 3562 + "author_account_age_days": 3563 }, "https://github.com/Taremin/comfyui-prompt-extranetworks": { "stars": 2, "last_update": "2024-05-22 23:08:34", - "author_account_age_days": 2211 + "author_account_age_days": 2212 }, "https://github.com/Taremin/comfyui-string-tools": { "stars": 1, "last_update": "2024-05-22 23:08:45", - "author_account_age_days": 2211 + "author_account_age_days": 2212 }, "https://github.com/Taremin/webui-monaco-prompt": { "stars": 24, "last_update": "2024-05-23 13:58:57", - "author_account_age_days": 2211 + "author_account_age_days": 2212 }, "https://github.com/TeaCrab/ComfyUI-TeaNodes": { "stars": 4, "last_update": "2024-05-22 20:44:05", - "author_account_age_days": 3213 + "author_account_age_days": 3214 }, "https://github.com/TemryL/ComfyS3": { "stars": 15, "last_update": "2024-06-20 00:36:13", - "author_account_age_days": 864 + "author_account_age_days": 865 }, "https://github.com/TemryL/ComfyUI-IDM-VTON": { - "stars": 199, + "stars": 201, "last_update": "2024-06-20 00:36:47", - "author_account_age_days": 864 + "author_account_age_days": 865 }, "https://github.com/TencentQQGYLab/ComfyUI-ELLA": { - "stars": 284, + "stars": 285, "last_update": "2024-05-07 03:07:38", - "author_account_age_days": 94 + "author_account_age_days": 95 }, "https://github.com/TheBarret/ZSuite": { "stars": 6, - "last_update": "2024-05-22 21:29:14", - "author_account_age_days": 2708 + "last_update": "2024-06-21 07:00:00", + "author_account_age_days": 2709 }, "https://github.com/TheBill2001/comfyui-upscale-by-model": { "stars": 1, @@ -1442,47 +1447,47 @@ "https://github.com/TheMistoAI/ComfyUI-Anyline": { "stars": 262, "last_update": "2024-06-12 11:34:17", - "author_account_age_days": 161 + "author_account_age_days": 162 }, "https://github.com/ThereforeGames/ComfyUI-Unprompted": { "stars": 3, "last_update": "2024-06-14 07:11:47", - "author_account_age_days": 931 + "author_account_age_days": 932 }, "https://github.com/TinyTerra/ComfyUI_tinyterraNodes": { - "stars": 318, + "stars": 319, "last_update": "2024-06-20 05:40:15", - "author_account_age_days": 617 + "author_account_age_days": 618 }, "https://github.com/TripleHeadedMonkey/ComfyUI_MileHighStyler": { "stars": 18, "last_update": "2024-05-22 22:13:06", - "author_account_age_days": 856 + "author_account_age_days": 857 }, "https://github.com/Tropfchen/ComfyUI-Embedding_Picker": { "stars": 25, "last_update": "2024-05-24 20:02:20", - "author_account_age_days": 3849 + "author_account_age_days": 3850 }, "https://github.com/Tropfchen/ComfyUI-yaResolutionSelector": { "stars": 7, "last_update": "2024-05-24 19:48:43", - "author_account_age_days": 3849 + "author_account_age_days": 3850 }, "https://github.com/Trung0246/ComfyUI-0246": { "stars": 91, "last_update": "2024-05-24 03:45:59", - "author_account_age_days": 3376 + "author_account_age_days": 3377 }, "https://github.com/Ttl/ComfyUi_NNLatentUpscale": { "stars": 163, "last_update": "2024-05-22 20:50:03", - "author_account_age_days": 4917 + "author_account_age_days": 4918 }, "https://github.com/TylerZoro/SD3-Scaling": { "stars": 0, "last_update": "2024-06-15 16:59:22", - "author_account_age_days": 1281 + "author_account_age_days": 1282 }, "https://github.com/Umikaze-job/select_folder_path_easy": { "stars": 4, @@ -1492,302 +1497,302 @@ "https://github.com/VAST-AI-Research/ComfyUI-Tripo": { "stars": 65, "last_update": "2024-05-23 01:11:56", - "author_account_age_days": 238 + "author_account_age_days": 239 }, "https://github.com/WASasquatch/ASTERR": { "stars": 12, "last_update": "2024-06-17 00:49:59", - "author_account_age_days": 4621 + "author_account_age_days": 4622 }, "https://github.com/WASasquatch/ComfyUI_Preset_Merger": { "stars": 21, "last_update": "2024-06-17 00:52:28", - "author_account_age_days": 4621 + "author_account_age_days": 4622 }, "https://github.com/WASasquatch/FreeU_Advanced": { "stars": 97, "last_update": "2024-06-17 04:40:22", - "author_account_age_days": 4621 + "author_account_age_days": 4622 }, "https://github.com/WASasquatch/PPF_Noise_ComfyUI": { "stars": 20, "last_update": "2024-06-14 10:27:23", - "author_account_age_days": 4621 + "author_account_age_days": 4622 }, "https://github.com/WASasquatch/PowerNoiseSuite": { "stars": 54, "last_update": "2024-06-17 01:40:44", - "author_account_age_days": 4621 + "author_account_age_days": 4622 }, "https://github.com/WASasquatch/WAS_Extras": { "stars": 24, "last_update": "2024-06-17 04:08:37", - "author_account_age_days": 4621 + "author_account_age_days": 4622 }, "https://github.com/WASasquatch/was-node-suite-comfyui": { - "stars": 927, - "last_update": "2024-06-20 06:11:03", - "author_account_age_days": 4621 + "stars": 928, + "last_update": "2024-06-20 20:53:10", + "author_account_age_days": 4622 }, "https://github.com/WebDev9000/WebDev9000-Nodes": { "stars": 1, "last_update": "2024-06-14 10:28:22", - "author_account_age_days": 3748 + "author_account_age_days": 3749 }, "https://github.com/Wicloz/ComfyUI-Simply-Nodes": { "stars": 1, - "last_update": "2024-06-14 10:28:41", + "last_update": "2024-06-20 15:49:25", "author_account_age_days": 3640 }, "https://github.com/XmYx/deforum-comfy-nodes": { - "stars": 119, + "stars": 120, "last_update": "2024-06-18 13:27:12", - "author_account_age_days": 2601 + "author_account_age_days": 2602 }, "https://github.com/Xyem/Xycuno-Oobabooga": { "stars": 3, "last_update": "2024-05-23 00:14:14", - "author_account_age_days": 4320 + "author_account_age_days": 4321 }, "https://github.com/YMC-GitHub/ymc-node-suite-comfyui": { "stars": 16, "last_update": "2024-05-22 21:15:51", - "author_account_age_days": 2691 + "author_account_age_days": 2692 }, "https://github.com/YOUR-WORST-TACO/ComfyUI-TacoNodes": { "stars": 14, "last_update": "2024-05-22 20:48:23", - "author_account_age_days": 3751 + "author_account_age_days": 3752 }, "https://github.com/Yanick112/ComfyUI-ToSVG": { "stars": 13, "last_update": "2024-06-14 14:00:22", - "author_account_age_days": 810 + "author_account_age_days": 811 }, "https://github.com/YinBailiang/MergeBlockWeighted_fo_ComfyUI": { "stars": 14, "last_update": "2024-05-22 18:04:22", - "author_account_age_days": 782 + "author_account_age_days": 783 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-APISR": { "stars": 315, "last_update": "2024-05-22 14:14:46", - "author_account_age_days": 335 + "author_account_age_days": 336 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Animated-optical-illusions": { "stars": 17, "last_update": "2024-06-14 07:06:15", - "author_account_age_days": 335 + "author_account_age_days": 336 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-ArtGallery": { - "stars": 350, + "stars": 351, "last_update": "2024-06-12 04:40:50", - "author_account_age_days": 335 + "author_account_age_days": 336 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-BRIA_AI-RMBG": { - "stars": 556, + "stars": 559, "last_update": "2024-05-22 14:14:18", - "author_account_age_days": 335 + "author_account_age_days": 336 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-BiRefNet-ZHO": { - "stars": 141, + "stars": 142, "last_update": "2024-05-22 14:14:31", - "author_account_age_days": 335 + "author_account_age_days": 336 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-DepthFM": { "stars": 67, "last_update": "2024-05-22 14:14:03", - "author_account_age_days": 335 + "author_account_age_days": 336 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Gemini": { "stars": 587, "last_update": "2024-05-22 14:15:11", - "author_account_age_days": 335 + "author_account_age_days": 336 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-InstantID": { - "stars": 1192, + "stars": 1194, "last_update": "2024-05-22 13:57:55", - "author_account_age_days": 335 + "author_account_age_days": 336 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Phi-3-mini": { - "stars": 175, + "stars": 177, "last_update": "2024-06-18 19:10:34", - "author_account_age_days": 335 + "author_account_age_days": 336 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-PhotoMaker-ZHO": { - "stars": 746, + "stars": 747, "last_update": "2024-05-22 14:13:49", - "author_account_age_days": 335 + "author_account_age_days": 336 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-PixArt-alpha-Diffusers": { - "stars": 43, + "stars": 44, "last_update": "2024-05-22 13:40:58", - "author_account_age_days": 335 + "author_account_age_days": 336 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Q-Align": { "stars": 3, "last_update": "2024-05-22 14:15:52", - "author_account_age_days": 335 + "author_account_age_days": 336 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Qwen-2": { - "stars": 54, + "stars": 56, "last_update": "2024-06-14 12:02:55", - "author_account_age_days": 335 + "author_account_age_days": 336 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Qwen-VL-API": { "stars": 180, "last_update": "2024-05-22 14:14:57", - "author_account_age_days": 335 + "author_account_age_days": 336 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-SVD-ZHO": { "stars": 95, "last_update": "2024-05-22 13:40:44", - "author_account_age_days": 335 + "author_account_age_days": 336 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-SegMoE": { "stars": 73, "last_update": "2024-05-22 13:41:14", - "author_account_age_days": 335 + "author_account_age_days": 336 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Text_Image-Composite": { "stars": 74, "last_update": "2024-05-31 12:03:55", - "author_account_age_days": 335 + "author_account_age_days": 336 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-YoloWorld-EfficientSAM": { "stars": 458, "last_update": "2024-05-22 13:01:07", - "author_account_age_days": 335 + "author_account_age_days": 336 }, "https://github.com/ZHO-ZHO-ZHO/comfyui-portrait-master-zh-cn": { "stars": 1484, "last_update": "2024-06-14 09:00:04", - "author_account_age_days": 335 + "author_account_age_days": 336 }, "https://github.com/ZaneA/ComfyUI-ImageReward": { "stars": 22, "last_update": "2024-06-14 08:59:50", - "author_account_age_days": 5536 + "author_account_age_days": 5537 }, "https://github.com/ZeDarkAdam/ComfyUI-Embeddings-Tools": { "stars": 1, "last_update": "2024-05-23 01:19:25", - "author_account_age_days": 1190 + "author_account_age_days": 1191 }, "https://github.com/Zuellni/ComfyUI-Custom-Nodes": { "stars": 44, "last_update": "2023-09-19 12:11:26", - "author_account_age_days": 518 + "author_account_age_days": 519 }, "https://github.com/Zuellni/ComfyUI-ExLlama": { "stars": 99, "last_update": "2024-06-14 16:54:57", - "author_account_age_days": 518 + "author_account_age_days": 519 }, "https://github.com/Zuellni/ComfyUI-ExLlama-Nodes": { "stars": 99, "last_update": "2024-06-14 16:54:57", - "author_account_age_days": 518 + "author_account_age_days": 519 }, "https://github.com/Zuellni/ComfyUI-PickScore-Nodes": { "stars": 22, "last_update": "2024-06-15 08:23:16", - "author_account_age_days": 518 + "author_account_age_days": 519 }, "https://github.com/a1lazydog/ComfyUI-AudioScheduler": { - "stars": 90, + "stars": 91, "last_update": "2024-06-14 11:02:32", - "author_account_age_days": 4798 + "author_account_age_days": 4799 }, "https://github.com/aburahamu/ComfyUI-IsNiceParts": { "stars": 2, "last_update": "2024-06-14 12:01:40", - "author_account_age_days": 68 + "author_account_age_days": 69 }, "https://github.com/aburahamu/ComfyUI-RequestsPoster": { "stars": 2, "last_update": "2024-06-14 13:59:24", - "author_account_age_days": 68 + "author_account_age_days": 69 }, "https://github.com/abyz22/image_control": { "stars": 14, "last_update": "2024-05-22 23:10:07", - "author_account_age_days": 158 + "author_account_age_days": 159 }, "https://github.com/adbrasi/ComfyUI-TrashNodes-DownloadHuggingface": { "stars": 4, "last_update": "2024-05-22 23:24:45", - "author_account_age_days": 699 + "author_account_age_days": 700 }, "https://github.com/adieyal/comfyui-dynamicprompts": { - "stars": 179, + "stars": 180, "last_update": "2024-06-14 20:46:45", - "author_account_age_days": 5012 + "author_account_age_days": 5013 }, "https://github.com/adriflex/ComfyUI_Blender_Texdiff": { "stars": 1, "last_update": "2024-05-22 23:14:18", - "author_account_age_days": 2218 + "author_account_age_days": 2219 }, "https://github.com/aegis72/aegisflow_utility_nodes": { "stars": 22, "last_update": "2024-05-22 22:10:29", - "author_account_age_days": 579 + "author_account_age_days": 580 }, "https://github.com/aegis72/comfyui-styles-all": { "stars": 29, "last_update": "2024-05-22 22:10:41", - "author_account_age_days": 579 + "author_account_age_days": 580 }, "https://github.com/ai-liam/comfyui-liam": { "stars": 2, "last_update": "2024-06-20 01:14:31", - "author_account_age_days": 1517 + "author_account_age_days": 1518 }, "https://github.com/ai-liam/comfyui_liam_util": { "stars": 2, "last_update": "2024-05-22 22:21:23", - "author_account_age_days": 1517 + "author_account_age_days": 1518 }, "https://github.com/aianimation55/ComfyUI-FatLabels": { "stars": 4, "last_update": "2024-05-22 21:26:01", - "author_account_age_days": 269 + "author_account_age_days": 270 }, "https://github.com/al-swaiti/ComfyUI-CascadeResolutions": { "stars": 1, "last_update": "2024-06-14 10:27:51", - "author_account_age_days": 925 + "author_account_age_days": 926 }, "https://github.com/alessandrozonta/ComfyUI-CenterNode": { "stars": 2, "last_update": "2024-05-23 01:17:52", - "author_account_age_days": 1192 + "author_account_age_days": 1193 }, "https://github.com/alessandrozonta/ComfyUI-Layers": { "stars": 10, "last_update": "2024-06-14 09:04:36", - "author_account_age_days": 1192 + "author_account_age_days": 1193 }, "https://github.com/alessandrozonta/ComfyUI-OpenPose": { "stars": 1, "last_update": "2024-06-14 13:59:36", - "author_account_age_days": 1192 + "author_account_age_days": 1193 }, "https://github.com/alexopus/ComfyUI-Image-Saver": { "stars": 31, "last_update": "2024-06-19 18:13:53", - "author_account_age_days": 2675 + "author_account_age_days": 2676 }, "https://github.com/ali1234/comfyui-job-iterator": { - "stars": 60, + "stars": 61, "last_update": "2024-05-22 20:54:21", - "author_account_age_days": 4856 + "author_account_age_days": 4857 }, "https://github.com/alisson-anjos/ComfyUI-Ollama-Describer": { - "stars": 30, + "stars": 31, "last_update": "2024-05-23 00:17:43", - "author_account_age_days": 596 + "author_account_age_days": 597 }, "https://github.com/alpertunga-bile/prompt-generator-comfyui": { "stars": 63, @@ -1797,51 +1802,51 @@ "https://github.com/alsritter/asymmetric-tiling-comfyui": { "stars": 14, "last_update": "2024-05-22 20:43:07", - "author_account_age_days": 1990 + "author_account_age_days": 1991 }, "https://github.com/alt-key-project/comfyui-dream-project": { - "stars": 68, + "stars": 69, "last_update": "2024-05-22 20:51:52", - "author_account_age_days": 656 + "author_account_age_days": 657 }, "https://github.com/alt-key-project/comfyui-dream-video-batches": { - "stars": 50, + "stars": 51, "last_update": "2024-05-22 20:52:05", - "author_account_age_days": 656 + "author_account_age_days": 657 }, "https://github.com/an90ray/ComfyUI_RErouter_CustomNodes": { "stars": 0, "last_update": "2024-05-22 22:21:00", - "author_account_age_days": 184 + "author_account_age_days": 185 }, "https://github.com/andersxa/comfyui-PromptAttention": { "stars": 20, "last_update": "2024-06-20 11:09:25", - "author_account_age_days": 2949 + "author_account_age_days": 2950 }, "https://github.com/angeloshredder/StableCascadeResizer": { "stars": 2, "last_update": "2024-05-23 00:12:55", - "author_account_age_days": 1824 + "author_account_age_days": 1825 }, "https://github.com/ansonkao/comfyui-geometry": { "stars": 7, "last_update": "2024-06-14 09:03:19", - "author_account_age_days": 341 + "author_account_age_days": 342 }, "https://github.com/antrobot1234/antrobots-comfyUI-nodepack": { "stars": 9, "last_update": "2024-05-28 14:44:16", - "author_account_age_days": 2858 + "author_account_age_days": 2859 }, "https://github.com/aria1th/ComfyUI-LogicUtils": { "stars": 19, "last_update": "2024-05-23 01:27:16", - "author_account_age_days": 2341 + "author_account_age_days": 2342 }, "https://github.com/asagi4/ComfyUI-Adaptive-Guidance": { "stars": 4, - "last_update": "2024-06-19 21:12:48", + "last_update": "2024-06-20 17:12:35", "author_account_age_days": 437 }, "https://github.com/asagi4/ComfyUI-CADS": { @@ -1850,8 +1855,8 @@ "author_account_age_days": 437 }, "https://github.com/asagi4/comfyui-prompt-control": { - "stars": 157, - "last_update": "2024-06-19 21:37:35", + "stars": 158, + "last_update": "2024-06-20 13:48:26", "author_account_age_days": 437 }, "https://github.com/asagi4/comfyui-utility-nodes": { @@ -1860,74 +1865,74 @@ "author_account_age_days": 437 }, "https://github.com/aszc-dev/ComfyUI-CoreMLSuite": { - "stars": 87, + "stars": 88, "last_update": "2024-05-22 21:23:52", - "author_account_age_days": 2723 + "author_account_age_days": 2724 }, "https://github.com/atmaranto/ComfyUI-SaveAsScript": { - "stars": 44, + "stars": 46, "last_update": "2024-06-14 09:01:17", - "author_account_age_days": 2344 + "author_account_age_days": 2345 }, "https://github.com/audioscavenger/ComfyUI-Thumbnails": { "stars": 4, "last_update": "2024-06-07 07:19:30", - "author_account_age_days": 4116 + "author_account_age_days": 4117 }, "https://github.com/audioscavenger/save-image-extended-comfyui": { - "stars": 17, - "last_update": "2024-06-18 04:57:11", - "author_account_age_days": 4116 + "stars": 18, + "last_update": "2024-06-21 01:56:11", + "author_account_age_days": 4117 }, "https://github.com/avatechai/avatar-graph-comfyui": { "stars": 214, "last_update": "2024-05-22 21:14:14", - "author_account_age_days": 850 + "author_account_age_days": 851 }, "https://github.com/aws-samples/comfyui-llm-node-for-amazon-bedrock": { "stars": 4, "last_update": "2024-06-12 15:04:39", - "author_account_age_days": 3554 + "author_account_age_days": 3555 }, "https://github.com/azure-dragon-ai/ComfyUI-ClipScore-Nodes": { "stars": 2, "last_update": "2024-05-22 23:16:28", - "author_account_age_days": 297 + "author_account_age_days": 298 }, "https://github.com/badayvedat/ComfyUI-fal-Connector": { "stars": 12, "last_update": "2024-06-20 00:55:24", - "author_account_age_days": 1766 + "author_account_age_days": 1767 }, "https://github.com/badjeff/comfyui_lora_tag_loader": { "stars": 41, "last_update": "2024-05-22 20:40:03", - "author_account_age_days": 5358 + "author_account_age_days": 5359 }, "https://github.com/baicai99/ComfyUI-FrameSkipping": { "stars": 6, "last_update": "2024-06-18 10:25:55", - "author_account_age_days": 827 + "author_account_age_days": 828 }, "https://github.com/banodoco/steerable-motion": { "stars": 742, "last_update": "2024-06-15 23:01:54", - "author_account_age_days": 398 + "author_account_age_days": 399 }, "https://github.com/bash-j/mikey_nodes": { - "stars": 79, + "stars": 80, "last_update": "2024-06-15 10:31:20", - "author_account_age_days": 4183 + "author_account_age_days": 4184 }, "https://github.com/bedovyy/ComfyUI_NAIDGenerator": { - "stars": 17, + "stars": 18, "last_update": "2024-06-14 09:04:39", - "author_account_age_days": 358 + "author_account_age_days": 359 }, "https://github.com/bilal-arikan/ComfyUI_TextAssets": { "stars": 2, "last_update": "2024-05-22 23:23:50", - "author_account_age_days": 3503 + "author_account_age_days": 3504 }, "https://github.com/bitaffinity/ComfyUI_HF_Inference": { "stars": 0, @@ -1937,87 +1942,87 @@ "https://github.com/blepping/ComfyUI-bleh": { "stars": 31, "last_update": "2024-05-22 23:17:49", - "author_account_age_days": 150 + "author_account_age_days": 151 }, "https://github.com/blepping/ComfyUI-sonar": { "stars": 31, "last_update": "2024-05-22 23:18:26", - "author_account_age_days": 150 + "author_account_age_days": 151 }, "https://github.com/blepping/comfyui_jankhidiffusion": { "stars": 88, "last_update": "2024-05-22 23:18:40", - "author_account_age_days": 150 + "author_account_age_days": 151 }, "https://github.com/blueraincoatli/comfyUI_SillyNodes": { "stars": 3, "last_update": "2024-06-09 13:30:57", - "author_account_age_days": 308 + "author_account_age_days": 309 }, "https://github.com/bmad4ever/ComfyUI-Bmad-DirtyUndoRedo": { "stars": 50, "last_update": "2024-05-22 18:11:51", - "author_account_age_days": 3532 + "author_account_age_days": 3533 }, "https://github.com/bmad4ever/comfyui_ab_samplercustom": { "stars": 5, - "last_update": "2024-05-22 18:12:18", - "author_account_age_days": 3532 + "last_update": "2024-06-21 00:02:39", + "author_account_age_days": 3533 }, "https://github.com/bmad4ever/comfyui_bmad_nodes": { "stars": 47, "last_update": "2024-06-13 10:42:09", - "author_account_age_days": 3532 + "author_account_age_days": 3533 }, "https://github.com/bmad4ever/comfyui_lists_cartesian_product": { "stars": 3, "last_update": "2024-05-22 20:18:07", - "author_account_age_days": 3532 + "author_account_age_days": 3533 }, "https://github.com/bmad4ever/comfyui_quilting": { "stars": 3, "last_update": "2024-06-18 01:23:37", - "author_account_age_days": 3532 + "author_account_age_days": 3533 }, "https://github.com/bmad4ever/comfyui_wfc_like": { "stars": 5, "last_update": "2024-06-02 23:06:37", - "author_account_age_days": 3532 + "author_account_age_days": 3533 }, "https://github.com/bobmagicii/comfykit-custom-nodes": { "stars": 1, "last_update": "2024-06-04 20:04:00", - "author_account_age_days": 4740 + "author_account_age_days": 4741 }, "https://github.com/bradsec/ComfyUI_ResolutionSelector": { "stars": 7, "last_update": "2024-05-22 20:44:31", - "author_account_age_days": 3652 + "author_account_age_days": 3653 }, "https://github.com/braintacles/braintacles-comfyui-nodes": { "stars": 1, "last_update": "2024-05-23 06:06:16", - "author_account_age_days": 427 + "author_account_age_days": 428 }, "https://github.com/brianfitzgerald/style_aligned_comfy": { "stars": 247, "last_update": "2024-05-30 14:23:40", - "author_account_age_days": 4235 + "author_account_age_days": 4236 }, "https://github.com/bronkula/comfyui-fitsize": { "stars": 32, "last_update": "2024-05-22 21:32:34", - "author_account_age_days": 5151 + "author_account_age_days": 5152 }, "https://github.com/bruefire/ComfyUI-SeqImageLoader": { "stars": 28, "last_update": "2024-06-08 15:48:49", - "author_account_age_days": 2361 + "author_account_age_days": 2362 }, "https://github.com/budihartono/comfyui_otonx_nodes": { "stars": 1, "last_update": "2024-05-25 04:10:08", - "author_account_age_days": 4682 + "author_account_age_days": 4683 }, "https://github.com/bvhari/ComfyUI_ImageProcessing": { "stars": 16, @@ -2042,12 +2047,12 @@ "https://github.com/cdb-boop/ComfyUI-Bringing-Old-Photos-Back-to-Life": { "stars": 19, "last_update": "2024-05-23 00:09:32", - "author_account_age_days": 1200 + "author_account_age_days": 1201 }, "https://github.com/cdb-boop/comfyui-image-round": { "stars": 0, "last_update": "2024-05-23 00:09:02", - "author_account_age_days": 1200 + "author_account_age_days": 1201 }, "https://github.com/cerspense/ComfyUI_cspnodes": { "stars": 24, @@ -2057,167 +2062,167 @@ "https://github.com/ceruleandeep/ComfyUI-LLaVA-Captioner": { "stars": 76, "last_update": "2024-05-22 22:17:55", - "author_account_age_days": 1149 + "author_account_age_days": 1150 }, "https://github.com/chakib-belgaid/ComfyUI-autosize": { "stars": 0, "last_update": "2024-06-14 07:13:20", - "author_account_age_days": 3832 + "author_account_age_days": 3833 }, "https://github.com/chakib-belgaid/Comfyui_Prompt_styler": { "stars": 0, "last_update": "2024-06-14 09:04:45", - "author_account_age_days": 3832 + "author_account_age_days": 3833 }, "https://github.com/chandlergis/ComfyUI-IMG_Query": { "stars": 1, "last_update": "2024-05-23 01:25:57", - "author_account_age_days": 352 + "author_account_age_days": 353 }, "https://github.com/chandlergis/ComfyUI_EmojiOverlay": { "stars": 0, "last_update": "2024-06-14 09:05:03", - "author_account_age_days": 352 + "author_account_age_days": 353 }, "https://github.com/chaojie/ComfyUI-AniPortrait": { - "stars": 226, + "stars": 225, "last_update": "2024-05-22 22:26:03", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-CameraCtrl-Wrapper": { - "stars": 15, + "stars": 16, "last_update": "2024-06-14 09:07:23", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-Champ": { "stars": 19, "last_update": "2024-05-22 22:26:47", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-DragAnything": { "stars": 66, "last_update": "2024-06-14 10:23:53", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-DragNUWA": { - "stars": 358, + "stars": 359, "last_update": "2024-06-14 10:25:01", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-DynamiCrafter": { "stars": 108, "last_update": "2024-06-14 10:23:59", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-EasyAnimate": { "stars": 39, "last_update": "2024-05-22 22:24:00", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-Gemma": { "stars": 5, "last_update": "2024-05-22 22:27:47", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-I2VGEN-XL": { "stars": 27, "last_update": "2024-06-14 09:06:10", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-Img2Img-Turbo": { "stars": 36, "last_update": "2024-05-22 22:26:30", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-LaVIT": { "stars": 8, "last_update": "2024-06-14 10:27:44", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-LightGlue": { "stars": 48, "last_update": "2024-01-20 16:53:51", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-Moore-AnimateAnyone": { "stars": 201, "last_update": "2024-06-10 20:16:06", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-Motion-Vector-Extractor": { "stars": 0, "last_update": "2024-06-14 10:26:15", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-MotionCtrl": { "stars": 125, "last_update": "2024-06-14 10:26:02", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-MotionCtrl-SVD": { "stars": 79, "last_update": "2024-06-14 10:26:30", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-MuseTalk": { - "stars": 139, + "stars": 141, "last_update": "2024-05-22 22:25:07", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-MuseV": { "stars": 122, "last_update": "2024-05-22 22:25:31", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-Open-Sora": { "stars": 87, "last_update": "2024-05-22 22:26:59", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-Open-Sora-Plan": { "stars": 48, "last_update": "2024-05-29 16:15:10", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-Panda3d": { "stars": 13, "last_update": "2024-06-14 10:28:47", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-Pymunk": { "stars": 16, "last_update": "2024-06-14 12:02:32", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-RAFT": { "stars": 25, "last_update": "2024-06-14 11:02:00", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-SimDA": { "stars": 13, "last_update": "2024-06-14 12:02:39", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-Trajectory": { "stars": 5, "last_update": "2024-05-22 22:27:12", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-Video-Editing-X-Attention": { "stars": 17, "last_update": "2024-06-14 10:28:16", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI-dust3r": { "stars": 14, "last_update": "2024-05-22 22:27:33", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaojie/ComfyUI_StreamingT2V": { "stars": 23, "last_update": "2024-06-14 10:26:21", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/chaosaiart/Chaosaiart-Nodes": { "stars": 47, @@ -2227,7 +2232,7 @@ "https://github.com/chenpx976/ComfyUI-RunRunRun": { "stars": 0, "last_update": "2024-05-23 01:19:37", - "author_account_age_days": 3411 + "author_account_age_days": 3412 }, "https://github.com/chesnokovivan/ComfyUI-Novakid": { "stars": 0, @@ -2237,232 +2242,232 @@ "https://github.com/chflame163/ComfyUI_FaceSimilarity": { "stars": 9, "last_update": "2024-05-23 12:48:18", - "author_account_age_days": 440 + "author_account_age_days": 441 }, "https://github.com/chflame163/ComfyUI_LayerStyle": { - "stars": 619, + "stars": 623, "last_update": "2024-06-17 12:12:21", - "author_account_age_days": 440 + "author_account_age_days": 441 }, "https://github.com/chflame163/ComfyUI_MSSpeech_TTS": { "stars": 22, "last_update": "2024-05-25 02:39:56", - "author_account_age_days": 440 + "author_account_age_days": 441 }, "https://github.com/chflame163/ComfyUI_WordCloud": { "stars": 69, "last_update": "2024-05-25 02:41:06", - "author_account_age_days": 440 + "author_account_age_days": 441 }, "https://github.com/chibiace/ComfyUI-Chibi-Nodes": { "stars": 26, "last_update": "2024-05-22 21:16:12", - "author_account_age_days": 2845 + "author_account_age_days": 2846 }, "https://github.com/choey/Comfy-Topaz": { - "stars": 23, - "last_update": "2024-06-14 10:59:30", - "author_account_age_days": 5519 + "stars": 24, + "last_update": "2024-06-20 13:52:32", + "author_account_age_days": 5520 }, "https://github.com/chris-the-wiz/EmbeddingsCurveEditor_ComfyUI": { "stars": 4, "last_update": "2024-06-19 07:24:33", - "author_account_age_days": 1792 + "author_account_age_days": 1793 }, "https://github.com/chrisfreilich/virtuoso-nodes": { "stars": 49, "last_update": "2024-05-23 01:15:43", - "author_account_age_days": 728 + "author_account_age_days": 729 }, "https://github.com/chrisgoringe/cg-image-picker": { - "stars": 179, + "stars": 180, "last_update": "2024-06-12 18:50:30", - "author_account_age_days": 4061 + "author_account_age_days": 4062 }, "https://github.com/chrisgoringe/cg-noise": { "stars": 25, "last_update": "2024-06-14 08:10:52", - "author_account_age_days": 4061 + "author_account_age_days": 4062 }, "https://github.com/chrisgoringe/cg-prompt-info": { "stars": 25, "last_update": "2024-05-22 21:07:33", - "author_account_age_days": 4061 + "author_account_age_days": 4062 }, "https://github.com/chrisgoringe/cg-use-everywhere": { - "stars": 332, + "stars": 334, "last_update": "2024-06-06 05:23:41", - "author_account_age_days": 4061 + "author_account_age_days": 4062 }, "https://github.com/chrish-slingshot/CrasHUtils": { "stars": 11, - "last_update": "2024-05-22 21:15:25", - "author_account_age_days": 596 + "last_update": "2024-06-20 12:53:00", + "author_account_age_days": 597 }, "https://github.com/christian-byrne/img2colors-comfyui-node": { "stars": 1, "last_update": "2024-05-25 03:14:52", - "author_account_age_days": 1344 + "author_account_age_days": 1345 }, "https://github.com/christian-byrne/img2txt-comfyui-nodes": { "stars": 25, "last_update": "2024-05-28 14:02:16", - "author_account_age_days": 1344 + "author_account_age_days": 1345 }, "https://github.com/christian-byrne/size-match-compositing-nodes": { "stars": 2, "last_update": "2024-06-01 05:49:27", - "author_account_age_days": 1344 + "author_account_age_days": 1345 }, "https://github.com/city96/ComfyUI_ColorMod": { - "stars": 39, + "stars": 40, "last_update": "2024-05-22 18:06:19", - "author_account_age_days": 493 + "author_account_age_days": 494 }, "https://github.com/city96/ComfyUI_DiT": { "stars": 2, "last_update": "2024-05-22 18:06:05", - "author_account_age_days": 493 + "author_account_age_days": 494 }, "https://github.com/city96/ComfyUI_ExtraModels": { - "stars": 278, + "stars": 280, "last_update": "2024-06-19 08:45:39", - "author_account_age_days": 493 + "author_account_age_days": 494 }, "https://github.com/city96/ComfyUI_NetDist": { "stars": 218, "last_update": "2024-05-22 18:05:10", - "author_account_age_days": 493 + "author_account_age_days": 494 }, "https://github.com/city96/SD-Advanced-Noise": { "stars": 18, "last_update": "2024-05-22 18:05:35", - "author_account_age_days": 493 + "author_account_age_days": 494 }, "https://github.com/city96/SD-Latent-Interposer": { - "stars": 178, + "stars": 180, "last_update": "2024-06-17 05:27:08", - "author_account_age_days": 493 + "author_account_age_days": 494 }, "https://github.com/city96/SD-Latent-Upscaler": { - "stars": 111, + "stars": 112, "last_update": "2024-05-22 18:05:50", - "author_account_age_days": 493 + "author_account_age_days": 494 }, "https://github.com/civitai/comfy-nodes": { "stars": 85, "last_update": "2024-06-17 10:01:06", - "author_account_age_days": 594 + "author_account_age_days": 595 }, "https://github.com/claussteinmassl/ComfyUI-CS-CustomNodes": { "stars": 1, "last_update": "2024-06-14 09:03:10", - "author_account_age_days": 2696 + "author_account_age_days": 2697 }, "https://github.com/comfyanonymous/ComfyUI": { - "stars": 39423, - "last_update": "2024-06-20 12:12:16", - "author_account_age_days": 545 + "stars": 39552, + "last_update": "2024-06-20 21:08:57", + "author_account_age_days": 546 }, "https://github.com/comfyanonymous/ComfyUI_TensorRT": { - "stars": 290, + "stars": 298, "last_update": "2024-06-19 21:31:56", - "author_account_age_days": 545 + "author_account_age_days": 546 }, "https://github.com/comfyanonymous/ComfyUI_experiments": { "stars": 134, "last_update": "2024-05-22 15:29:49", - "author_account_age_days": 545 + "author_account_age_days": 546 }, "https://github.com/concarne000/ConCarneNode": { "stars": 4, "last_update": "2024-05-22 22:10:18", - "author_account_age_days": 1897 + "author_account_age_days": 1898 }, "https://github.com/conquestace/ComfyUI-ImageUploader": { "stars": 1, "last_update": "2024-05-23 01:25:49", - "author_account_age_days": 4605 + "author_account_age_days": 4606 }, "https://github.com/coolzilj/ComfyUI-LJNodes": { - "stars": 52, + "stars": 53, "last_update": "2024-06-15 01:57:32", - "author_account_age_days": 4659 + "author_account_age_days": 4660 }, "https://github.com/coolzilj/ComfyUI-Photopea": { "stars": 56, "last_update": "2024-06-14 08:10:57", - "author_account_age_days": 4659 + "author_account_age_days": 4660 }, "https://github.com/coreyryanhanson/ComfyQR": { "stars": 50, "last_update": "2024-06-14 09:01:36", - "author_account_age_days": 3052 + "author_account_age_days": 3053 }, "https://github.com/coreyryanhanson/ComfyQR-scanning-nodes": { "stars": 8, "last_update": "2024-06-14 09:02:46", - "author_account_age_days": 3052 + "author_account_age_days": 3053 }, "https://github.com/cozymantis/cozy-utils-comfyui-nodes": { "stars": 3, "last_update": "2024-05-23 00:10:45", - "author_account_age_days": 104 + "author_account_age_days": 105 }, "https://github.com/cozymantis/human-parser-comfyui-node": { - "stars": 48, + "stars": 49, "last_update": "2024-05-23 00:10:21", - "author_account_age_days": 104 + "author_account_age_days": 105 }, "https://github.com/cozymantis/pose-generator-comfyui-node": { "stars": 27, "last_update": "2024-05-23 00:10:33", - "author_account_age_days": 104 + "author_account_age_days": 105 }, "https://github.com/crystian/ComfyUI-Crystools": { - "stars": 472, + "stars": 474, "last_update": "2024-06-20 04:07:55", - "author_account_age_days": 4113 + "author_account_age_days": 4114 }, "https://github.com/crystian/ComfyUI-Crystools-save": { "stars": 29, "last_update": "2024-05-22 22:20:15", - "author_account_age_days": 4113 + "author_account_age_days": 4114 }, "https://github.com/cubiq/ComfyUI_FaceAnalysis": { - "stars": 210, + "stars": 212, "last_update": "2024-06-14 08:08:35", - "author_account_age_days": 5007 + "author_account_age_days": 5008 }, "https://github.com/cubiq/ComfyUI_IPAdapter_plus": { - "stars": 3000, + "stars": 3008, "last_update": "2024-06-20 06:27:42", - "author_account_age_days": 5007 + "author_account_age_days": 5008 }, "https://github.com/cubiq/ComfyUI_InstantID": { - "stars": 897, + "stars": 898, "last_update": "2024-06-14 09:03:05", - "author_account_age_days": 5007 + "author_account_age_days": 5008 }, "https://github.com/cubiq/ComfyUI_SimpleMath": { "stars": 15, "last_update": "2024-06-14 09:02:50", - "author_account_age_days": 5007 + "author_account_age_days": 5008 }, "https://github.com/cubiq/ComfyUI_essentials": { - "stars": 323, + "stars": 327, "last_update": "2024-06-20 08:39:08", - "author_account_age_days": 5007 + "author_account_age_days": 5008 }, "https://github.com/cubiq/PuLID_ComfyUI": { - "stars": 402, + "stars": 405, "last_update": "2024-06-14 07:11:56", - "author_account_age_days": 5007 + "author_account_age_days": 5008 }, "https://github.com/cuongloveit/comfy_http_request": { "stars": 0, "last_update": "2024-06-14 11:00:11", - "author_account_age_days": 3248 + "author_account_age_days": 3249 }, "https://github.com/curiousjp/ComfyUI-MaskBatchPermutations": { "stars": 3, @@ -2472,282 +2477,282 @@ "https://github.com/czcz1024/Comfyui-FaceCompare": { "stars": 0, "last_update": "2024-06-14 07:13:32", - "author_account_age_days": 4230 + "author_account_age_days": 4231 }, "https://github.com/da2el-ai/ComfyUI-d2-size-selector": { "stars": 1, "last_update": "2024-05-23 01:16:17", - "author_account_age_days": 385 + "author_account_age_days": 386 }, "https://github.com/da2el-ai/ComfyUI-d2-steps": { "stars": 4, "last_update": "2024-05-23 01:16:06", - "author_account_age_days": 385 + "author_account_age_days": 386 }, "https://github.com/dagthomas/comfyui_dagthomas": { "stars": 72, "last_update": "2024-06-16 22:39:37", - "author_account_age_days": 4067 + "author_account_age_days": 4068 }, "https://github.com/daniabib/ComfyUI_ProPainter_Nodes": { - "stars": 150, - "last_update": "2024-06-14 11:00:17", - "author_account_age_days": 2400 + "stars": 154, + "last_update": "2024-06-20 13:51:16", + "author_account_age_days": 2401 }, "https://github.com/daniel-lewis-ab/ComfyUI-Llama": { "stars": 25, "last_update": "2024-06-14 08:08:32", - "author_account_age_days": 3347 + "author_account_age_days": 3348 }, "https://github.com/daniel-lewis-ab/ComfyUI-TTS": { "stars": 11, "last_update": "2024-06-14 08:09:49", - "author_account_age_days": 3347 + "author_account_age_days": 3348 }, "https://github.com/darkpixel/darkprompts": { "stars": 6, "last_update": "2024-05-23 19:48:02", - "author_account_age_days": 5320 + "author_account_age_days": 5321 }, "https://github.com/dave-palt/comfyui_DSP_imagehelpers": { "stars": 0, "last_update": "2024-05-22 23:12:11", - "author_account_age_days": 154 + "author_account_age_days": 155 }, "https://github.com/daxcay/ComfyUI-DRMN": { "stars": 13, "last_update": "2024-06-16 07:41:11", - "author_account_age_days": 91 + "author_account_age_days": 92 }, "https://github.com/daxcay/ComfyUI-DataSet": { "stars": 13, "last_update": "2024-06-16 07:41:11", - "author_account_age_days": 91 + "author_account_age_days": 92 }, "https://github.com/daxcay/ComfyUI-JDCN": { "stars": 59, "last_update": "2024-06-13 15:10:48", - "author_account_age_days": 91 + "author_account_age_days": 92 }, "https://github.com/daxcay/ComfyUI-NODEJS": { "stars": 4, "last_update": "2024-06-13 14:30:45", - "author_account_age_days": 91 + "author_account_age_days": 92 }, "https://github.com/daxthin/DZ-FaceDetailer": { - "stars": 100, + "stars": 101, "last_update": "2024-06-17 10:00:30", - "author_account_age_days": 1227 + "author_account_age_days": 1228 }, "https://github.com/dchatel/comfyui_facetools": { "stars": 43, - "last_update": "2024-06-17 15:45:08", - "author_account_age_days": 4531 + "last_update": "2024-06-20 12:58:02", + "author_account_age_days": 4532 }, "https://github.com/denfrost/Den_ComfyUI_Workflow": { - "stars": 1, - "last_update": "2024-06-14 08:57:51", - "author_account_age_days": 3492 + "stars": 2, + "last_update": "2024-06-20 14:57:57", + "author_account_age_days": 3493 }, "https://github.com/deroberon/StableZero123-comfyui": { "stars": 132, "last_update": "2024-05-22 22:09:53", - "author_account_age_days": 5292 + "author_account_age_days": 5293 }, "https://github.com/deroberon/demofusion-comfyui": { "stars": 83, "last_update": "2024-05-22 22:09:42", - "author_account_age_days": 5292 + "author_account_age_days": 5293 }, "https://github.com/dfl/comfyui-clip-with-break": { "stars": 9, "last_update": "2024-05-22 23:23:15", - "author_account_age_days": 5970 + "author_account_age_days": 5971 }, "https://github.com/dfl/comfyui-tcd-scheduler": { "stars": 77, "last_update": "2024-05-22 23:23:28", - "author_account_age_days": 5970 + "author_account_age_days": 5971 }, "https://github.com/diStyApps/ComfyUI_FrameMaker": { "stars": 10, "last_update": "2024-05-23 00:11:33", - "author_account_age_days": 4200 + "author_account_age_days": 4201 }, "https://github.com/dicksondickson/ComfyUI-Dickson-Nodes": { "stars": 2, - "last_update": "2024-06-18 01:56:55", - "author_account_age_days": 3987 + "last_update": "2024-06-20 20:28:04", + "author_account_age_days": 3988 }, "https://github.com/digitaljohn/comfyui-propost": { "stars": 103, "last_update": "2024-06-19 11:30:18", - "author_account_age_days": 4514 + "author_account_age_days": 4515 }, "https://github.com/dimtoneff/ComfyUI-PixelArt-Detector": { "stars": 162, "last_update": "2024-06-14 08:58:27", - "author_account_age_days": 3410 + "author_account_age_days": 3411 }, "https://github.com/diontimmer/ComfyUI-Vextra-Nodes": { "stars": 60, - "last_update": "2024-05-22 17:55:21", - "author_account_age_days": 4766 + "last_update": "2024-06-20 16:48:44", + "author_account_age_days": 4767 }, "https://github.com/discopixel-studio/comfyui-discopixel": { "stars": 7, "last_update": "2024-06-14 09:03:19", - "author_account_age_days": 341 + "author_account_age_days": 342 }, "https://github.com/discus0434/comfyui-aesthetic-predictor-v2-5": { "stars": 4, "last_update": "2024-06-14 08:12:05", - "author_account_age_days": 1466 + "author_account_age_days": 1467 }, "https://github.com/discus0434/comfyui-caching-embeddings": { "stars": 1, "last_update": "2024-06-14 08:59:36", - "author_account_age_days": 1466 + "author_account_age_days": 1467 }, "https://github.com/djbielejeski/a-person-mask-generator": { - "stars": 228, + "stars": 229, "last_update": "2024-06-15 04:06:44", "author_account_age_days": 4280 }, "https://github.com/dmMaze/sketch2manga": { "stars": 24, "last_update": "2024-06-16 14:10:01", - "author_account_age_days": 1845 + "author_account_age_days": 1846 }, "https://github.com/dmarx/ComfyUI-AudioReactive": { "stars": 10, "last_update": "2024-05-22 22:12:53", - "author_account_age_days": 4500 + "author_account_age_days": 4501 }, "https://github.com/dmarx/ComfyUI-Keyframed": { "stars": 81, "last_update": "2024-05-22 22:12:50", - "author_account_age_days": 4500 + "author_account_age_days": 4501 }, "https://github.com/drago87/ComfyUI_Dragos_Nodes": { "stars": 3, "last_update": "2024-05-22 21:32:15", - "author_account_age_days": 3765 + "author_account_age_days": 3766 }, "https://github.com/drustan-hawk/primitive-types": { "stars": 5, "last_update": "2024-05-22 21:23:12", - "author_account_age_days": 285 + "author_account_age_days": 286 }, "https://github.com/e7mac/ComfyUI-ShadertoyGL": { "stars": 2, - "last_update": "2024-05-23 01:09:41", - "author_account_age_days": 4799 + "last_update": "2024-06-20 14:52:42", + "author_account_age_days": 4800 }, "https://github.com/ealkanat/comfyui_easy_padding": { "stars": 12, "last_update": "2024-05-22 21:58:52", - "author_account_age_days": 2459 + "author_account_age_days": 2460 }, "https://github.com/edenartlab/eden_comfy_pipelines": { "stars": 40, "last_update": "2024-06-06 21:49:00", - "author_account_age_days": 268 + "author_account_age_days": 269 }, "https://github.com/evanspearman/ComfyMath": { "stars": 53, "last_update": "2023-08-27 03:29:04", - "author_account_age_days": 4234 + "author_account_age_days": 4235 }, "https://github.com/exdysa/comfyui-selector": { "stars": 2, "last_update": "2024-06-20 01:31:09", - "author_account_age_days": 991 + "author_account_age_days": 992 }, "https://github.com/failfa-st/failfast-comfyui-extensions": { "stars": 128, "last_update": "2024-06-17 10:01:12", - "author_account_age_days": 269 + "author_account_age_days": 270 }, "https://github.com/fexli/fexli-util-node-comfyui": { "stars": 3, "last_update": "2024-05-22 21:27:36", - "author_account_age_days": 1555 + "author_account_age_days": 1556 }, "https://github.com/fexploit/ComfyUI-AutoLabel": { "stars": 5, "last_update": "2024-06-14 08:09:41", - "author_account_age_days": 5040 + "author_account_age_days": 5041 }, "https://github.com/fexploit/ComfyUI-AutoTrimBG": { "stars": 2, "last_update": "2024-05-24 20:38:15", - "author_account_age_days": 5040 + "author_account_age_days": 5041 }, "https://github.com/fexploit/ComfyUI-Classifier": { "stars": 1, "last_update": "2024-06-14 16:58:31", - "author_account_age_days": 5040 + "author_account_age_days": 5041 }, "https://github.com/filipemeneses/comfy_pixelization": { - "stars": 28, + "stars": 29, "last_update": "2024-05-22 20:59:16", - "author_account_age_days": 3472 + "author_account_age_days": 3473 }, "https://github.com/filliptm/ComfyUI_Fill-Nodes": { "stars": 117, "last_update": "2024-06-09 08:42:25", - "author_account_age_days": 1732 + "author_account_age_days": 1733 }, "https://github.com/florestefano1975/ComfyUI-HiDiffusion": { - "stars": 132, + "stars": 133, "last_update": "2024-05-22 00:33:06", - "author_account_age_days": 189 + "author_account_age_days": 190 }, "https://github.com/florestefano1975/ComfyUI-StabilityAI-Suite": { "stars": 2, "last_update": "2024-06-14 09:05:46", - "author_account_age_days": 189 + "author_account_age_days": 190 }, "https://github.com/florestefano1975/comfyui-portrait-master": { "stars": 752, "last_update": "2024-06-19 16:30:07", - "author_account_age_days": 189 + "author_account_age_days": 190 }, "https://github.com/florestefano1975/comfyui-prompt-composer": { "stars": 208, "last_update": "2024-05-22 00:34:06", - "author_account_age_days": 189 + "author_account_age_days": 190 }, "https://github.com/flowtyone/ComfyUI-Flowty-CRM": { "stars": 123, "last_update": "2024-06-14 10:23:09", - "author_account_age_days": 269 + "author_account_age_days": 270 }, "https://github.com/flowtyone/ComfyUI-Flowty-LDSR": { "stars": 162, "last_update": "2024-06-14 09:04:51", - "author_account_age_days": 269 + "author_account_age_days": 270 }, "https://github.com/flowtyone/ComfyUI-Flowty-TripoSR": { - "stars": 356, + "stars": 357, "last_update": "2024-06-16 00:53:22", - "author_account_age_days": 269 + "author_account_age_days": 270 }, "https://github.com/flyingshutter/As_ComfyUI_CustomNodes": { "stars": 7, "last_update": "2024-05-22 18:07:19", - "author_account_age_days": 3491 + "author_account_age_days": 3492 }, "https://github.com/fmatray/ComfyUI_BattlemapGrid": { "stars": 0, "last_update": "2024-06-05 22:35:06", - "author_account_age_days": 3617 + "author_account_age_days": 3618 }, "https://github.com/fofr/ComfyUI-HyperSDXL1StepUnetScheduler": { "stars": 10, "last_update": "2024-06-20 11:51:50", - "author_account_age_days": 5103 + "author_account_age_days": 5104 }, "https://github.com/forever22777/comfyui-self-guidance": { "stars": 6, @@ -2757,7 +2762,7 @@ "https://github.com/foxtrot-roger/comfyui-rf-nodes": { "stars": 1, "last_update": "2024-05-22 23:09:13", - "author_account_age_days": 2316 + "author_account_age_days": 2317 }, "https://github.com/frankchieng/ComfyUI_Aniportrait": { "stars": 43, @@ -2765,13 +2770,13 @@ "author_account_age_days": 437 }, "https://github.com/frankchieng/ComfyUI_MagicClothing": { - "stars": 409, + "stars": 413, "last_update": "2024-06-20 11:31:17", "author_account_age_days": 437 }, "https://github.com/frankchieng/ComfyUI_llm_easyanimiate": { "stars": 8, - "last_update": "2024-06-14 09:06:05", + "last_update": "2024-06-20 14:43:01", "author_account_age_days": 437 }, "https://github.com/fsdymy1024/ComfyUI_fsdymy": { @@ -2787,292 +2792,292 @@ "https://github.com/get-salt-AI/SaltAI": { "stars": 53, "last_update": "2024-05-23 00:54:46", - "author_account_age_days": 112 + "author_account_age_days": 113 }, "https://github.com/get-salt-AI/SaltAI_Language_Toolkit": { - "stars": 15, + "stars": 16, "last_update": "2024-06-14 09:06:17", - "author_account_age_days": 112 + "author_account_age_days": 113 }, "https://github.com/get-salt-AI/SaltAI_LlamaIndex": { - "stars": 15, + "stars": 16, "last_update": "2024-06-14 09:06:17", - "author_account_age_days": 112 + "author_account_age_days": 113 }, "https://github.com/ginlov/segment_to_mask_comfyui": { "stars": 1, "last_update": "2024-06-14 10:23:23", - "author_account_age_days": 2007 + "author_account_age_days": 2008 }, "https://github.com/giriss/comfy-image-saver": { - "stars": 144, + "stars": 146, "last_update": "2024-05-22 20:40:55", - "author_account_age_days": 4234 + "author_account_age_days": 4235 }, "https://github.com/githubYiheng/ComfyUI_Change_IMAGE_BOREDER": { "stars": 0, "last_update": "2024-05-23 01:20:09", - "author_account_age_days": 3899 + "author_account_age_days": 3900 }, "https://github.com/githubYiheng/ComfyUI_GetFileNameFromURL": { "stars": 0, "last_update": "2024-05-23 01:19:47", - "author_account_age_days": 3899 + "author_account_age_days": 3900 }, "https://github.com/githubYiheng/comfyui_kmeans_filter": { "stars": 0, "last_update": "2024-06-14 09:01:24", - "author_account_age_days": 3899 + "author_account_age_days": 3900 }, "https://github.com/githubYiheng/comfyui_meanshift_filter": { "stars": 0, "last_update": "2024-06-14 10:59:43", - "author_account_age_days": 3899 + "author_account_age_days": 3900 }, "https://github.com/githubYiheng/comfyui_private_postprocessor": { "stars": 0, "last_update": "2024-06-14 08:09:39", - "author_account_age_days": 3899 + "author_account_age_days": 3900 }, "https://github.com/glibsonoran/Plush-for-ComfyUI": { - "stars": 106, + "stars": 108, "last_update": "2024-06-19 00:05:03", - "author_account_age_days": 2493 + "author_account_age_days": 2494 }, "https://github.com/glifxyz/ComfyUI-GlifNodes": { "stars": 7, "last_update": "2024-06-19 08:09:46", - "author_account_age_days": 569 + "author_account_age_days": 570 }, "https://github.com/glowcone/comfyui-base64-to-image": { "stars": 8, "last_update": "2024-06-14 09:01:12", - "author_account_age_days": 3741 + "author_account_age_days": 3742 }, "https://github.com/godspede/ComfyUI_Substring": { "stars": 0, "last_update": "2024-05-22 23:15:48", - "author_account_age_days": 3109 + "author_account_age_days": 3110 }, "https://github.com/gokayfem/ComfyUI-Depth-Visualization": { "stars": 48, "last_update": "2024-05-21 00:37:05", - "author_account_age_days": 1053 + "author_account_age_days": 1054 }, "https://github.com/gokayfem/ComfyUI-Dream-Interpreter": { "stars": 67, "last_update": "2024-05-21 00:36:50", - "author_account_age_days": 1053 + "author_account_age_days": 1054 }, "https://github.com/gokayfem/ComfyUI-Texture-Simple": { "stars": 29, "last_update": "2024-05-21 00:19:53", - "author_account_age_days": 1053 + "author_account_age_days": 1054 }, "https://github.com/gokayfem/ComfyUI_VLM_nodes": { - "stars": 274, + "stars": 275, "last_update": "2024-06-02 10:23:55", - "author_account_age_days": 1053 + "author_account_age_days": 1054 }, "https://github.com/gonzalu/ComfyUI_YFG_Comical": { "stars": 13, "last_update": "2024-06-14 01:34:14", - "author_account_age_days": 2457 + "author_account_age_days": 2458 }, "https://github.com/griptape-ai/ComfyUI-Griptape": { - "stars": 20, - "last_update": "2024-06-19 21:00:20", - "author_account_age_days": 516 + "stars": 21, + "last_update": "2024-06-21 02:25:00", + "author_account_age_days": 517 }, "https://github.com/guill/abracadabra-comfyui": { "stars": 1, "last_update": "2024-06-14 08:12:07", - "author_account_age_days": 4189 + "author_account_age_days": 4190 }, "https://github.com/guoyk93/yk-node-suite-comfyui": { "stars": 10, "last_update": "2024-06-17 10:00:36", - "author_account_age_days": 1485 + "author_account_age_days": 1486 }, "https://github.com/hackkhai/ComfyUI-Image-Matting": { "stars": 12, "last_update": "2024-06-20 11:25:12", - "author_account_age_days": 1847 + "author_account_age_days": 1848 }, "https://github.com/haohaocreates/ComfyUI-HH-Image-Selector": { "stars": 0, "last_update": "2024-06-14 08:13:19", - "author_account_age_days": 101 + "author_account_age_days": 102 }, "https://github.com/hay86/ComfyUI_AceNodes": { "stars": 8, "last_update": "2024-06-05 07:54:59", - "author_account_age_days": 4663 + "author_account_age_days": 4664 }, "https://github.com/hay86/ComfyUI_DDColor": { "stars": 1, "last_update": "2024-06-14 08:12:13", - "author_account_age_days": 4663 + "author_account_age_days": 4664 }, "https://github.com/hay86/ComfyUI_Dreamtalk": { "stars": 7, "last_update": "2024-06-14 09:02:55", - "author_account_age_days": 4663 + "author_account_age_days": 4664 }, "https://github.com/hay86/ComfyUI_MiniCPM-V": { "stars": 5, "last_update": "2024-05-29 07:27:09", - "author_account_age_days": 4663 + "author_account_age_days": 4664 }, "https://github.com/hay86/ComfyUI_OpenVoice": { - "stars": 3, + "stars": 4, "last_update": "2024-05-23 00:18:52", - "author_account_age_days": 4663 + "author_account_age_days": 4664 }, "https://github.com/hayden-fr/ComfyUI-Image-Browsing": { "stars": 2, "last_update": "2024-05-22 20:54:07", - "author_account_age_days": 1933 + "author_account_age_days": 1934 }, "https://github.com/hayden-fr/ComfyUI-Model-Manager": { "stars": 25, "last_update": "2024-05-22 20:53:55", - "author_account_age_days": 1933 + "author_account_age_days": 1934 }, "https://github.com/hben35096/ComfyUI-ToolBox": { "stars": 0, "last_update": "2024-06-14 08:09:46", - "author_account_age_days": 343 + "author_account_age_days": 344 }, "https://github.com/heshengtao/comfyui_LLM_party": { - "stars": 113, - "last_update": "2024-06-20 03:38:50", - "author_account_age_days": 2891 + "stars": 114, + "last_update": "2024-06-21 09:22:04", + "author_account_age_days": 2892 }, "https://github.com/hhhzzyang/Comfyui_Lama": { "stars": 36, "last_update": "2024-05-22 21:13:19", - "author_account_age_days": 503 + "author_account_age_days": 504 }, "https://github.com/hiforce/comfyui-hiforce-plugin": { "stars": 2, "last_update": "2024-06-14 08:13:24", - "author_account_age_days": 1798 + "author_account_age_days": 1799 }, "https://github.com/hinablue/ComfyUI_3dPoseEditor": { - "stars": 114, + "stars": 116, "last_update": "2024-05-22 22:23:35", - "author_account_age_days": 5108 + "author_account_age_days": 5109 }, "https://github.com/holchan/ComfyUI-ModelDownloader": { "stars": 2, "last_update": "2024-06-14 08:59:42", - "author_account_age_days": 1587 + "author_account_age_days": 1588 }, "https://github.com/huagetai/ComfyUI-Gaffer": { "stars": 33, "last_update": "2024-06-19 00:58:38", - "author_account_age_days": 4628 + "author_account_age_days": 4629 }, "https://github.com/huagetai/ComfyUI_LightGradient": { "stars": 7, "last_update": "2024-05-23 01:21:27", - "author_account_age_days": 4628 + "author_account_age_days": 4629 }, "https://github.com/huchenlei/ComfyUI-IC-Light-Native": { "stars": 373, "last_update": "2024-06-14 08:58:03", - "author_account_age_days": 2871 + "author_account_age_days": 2872 }, "https://github.com/huchenlei/ComfyUI-layerdiffuse": { - "stars": 1257, - "last_update": "2024-06-20 11:21:23", - "author_account_age_days": 2871 + "stars": 1258, + "last_update": "2024-06-20 21:41:48", + "author_account_age_days": 2872 }, "https://github.com/huchenlei/ComfyUI-openpose-editor": { - "stars": 14, - "last_update": "2024-06-14 08:58:09", - "author_account_age_days": 2871 + "stars": 19, + "last_update": "2024-06-20 22:08:22", + "author_account_age_days": 2872 }, "https://github.com/huchenlei/ComfyUI_DanTagGen": { - "stars": 49, + "stars": 50, "last_update": "2024-06-14 08:58:15", - "author_account_age_days": 2871 + "author_account_age_days": 2872 }, "https://github.com/huchenlei/ComfyUI_densediffusion": { - "stars": 58, + "stars": 59, "last_update": "2024-06-11 00:39:28", - "author_account_age_days": 2871 + "author_account_age_days": 2872 }, "https://github.com/huchenlei/ComfyUI_omost": { - "stars": 300, + "stars": 308, "last_update": "2024-06-14 12:45:52", - "author_account_age_days": 2871 + "author_account_age_days": 2872 }, "https://github.com/hughescr/ComfyUI-OpenPose-Keypoint-Extractor": { "stars": 6, "last_update": "2024-06-14 09:04:25", - "author_account_age_days": 5636 + "author_account_age_days": 5637 }, "https://github.com/humgate/simplecomfy": { "stars": 0, "last_update": "2024-06-14 08:58:21", - "author_account_age_days": 1362 + "author_account_age_days": 1363 }, "https://github.com/hustille/ComfyUI_Fooocus_KSampler": { "stars": 58, "last_update": "2024-05-22 20:39:48", - "author_account_age_days": 435 + "author_account_age_days": 436 }, "https://github.com/hustille/ComfyUI_hus_utils": { "stars": 6, "last_update": "2024-05-22 20:39:34", - "author_account_age_days": 435 + "author_account_age_days": 436 }, "https://github.com/hylarucoder/ComfyUI-Eagle-PNGInfo": { "stars": 7, "last_update": "2024-06-17 10:01:00", - "author_account_age_days": 3909 + "author_account_age_days": 3910 }, "https://github.com/iFREEGROUP/comfyui-undistort": { "stars": 1, "last_update": "2024-06-14 08:59:52", - "author_account_age_days": 1553 + "author_account_age_days": 1554 }, "https://github.com/icesun963/ComfyUI_HFDownLoad": { "stars": 0, "last_update": "2024-06-14 08:59:58", - "author_account_age_days": 4101 + "author_account_age_days": 4102 }, "https://github.com/idrirap/ComfyUI-Lora-Auto-Trigger-Words": { "stars": 94, - "last_update": "2024-05-22 21:25:49", - "author_account_age_days": 3045 + "last_update": "2024-06-20 15:56:56", + "author_account_age_days": 3046 }, "https://github.com/iemesowum/ComfyUI_IsaacNodes": { "stars": 0, "last_update": "2024-06-14 09:00:05", - "author_account_age_days": 5287 + "author_account_age_days": 5288 }, "https://github.com/if-ai/ComfyUI-IF_AI_HFDownloaderNode": { "stars": 2, "last_update": "2024-05-22 22:31:30", - "author_account_age_days": 2858 + "author_account_age_days": 2859 }, "https://github.com/if-ai/ComfyUI-IF_AI_WishperSpeechNode": { - "stars": 26, + "stars": 27, "last_update": "2024-05-22 22:02:55", - "author_account_age_days": 2858 + "author_account_age_days": 2859 }, "https://github.com/if-ai/ComfyUI-IF_AI_tools": { - "stars": 350, + "stars": 355, "last_update": "2024-06-10 22:40:42", - "author_account_age_days": 2858 + "author_account_age_days": 2859 }, "https://github.com/imb101/ComfyUI-FaceSwap": { "stars": 28, "last_update": "2024-05-22 18:22:29", - "author_account_age_days": 884 + "author_account_age_days": 885 }, "https://github.com/jags111/ComfyUI_Jags_Audiotools": { "stars": 32, @@ -3085,29 +3090,29 @@ "author_account_age_days": 3867 }, "https://github.com/jags111/efficiency-nodes-comfyui": { - "stars": 683, + "stars": 686, "last_update": "2024-06-17 07:23:01", "author_account_age_days": 3867 }, "https://github.com/jamal-alkharrat/ComfyUI_rotate_image": { "stars": 0, "last_update": "2024-05-22 23:19:02", - "author_account_age_days": 972 + "author_account_age_days": 973 }, "https://github.com/jamesWalker55/comfyui-p2ldgan": { "stars": 12, "last_update": "2024-05-22 18:19:04", - "author_account_age_days": 2523 + "author_account_age_days": 2524 }, "https://github.com/jamesWalker55/comfyui-various": { "stars": 29, "last_update": "2024-05-22 18:19:17", - "author_account_age_days": 2523 + "author_account_age_days": 2524 }, "https://github.com/jax-explorer/fast_video_comfyui": { "stars": 0, "last_update": "2024-05-23 01:17:35", - "author_account_age_days": 572 + "author_account_age_days": 573 }, "https://github.com/jeffy5/comfyui-faceless-node": { "stars": 13, @@ -3117,272 +3122,272 @@ "https://github.com/jesenzhang/ComfyUI_StreamDiffusion": { "stars": 105, "last_update": "2024-05-23 02:40:36", - "author_account_age_days": 3648 + "author_account_age_days": 3649 }, "https://github.com/jiaxiangc/ComfyUI-ResAdapter": { "stars": 266, "last_update": "2024-05-23 00:22:23", - "author_account_age_days": 1282 + "author_account_age_days": 1283 }, "https://github.com/jitcoder/lora-info": { "stars": 43, - "last_update": "2024-06-20 12:29:46", - "author_account_age_days": 4036 + "last_update": "2024-06-20 13:04:19", + "author_account_age_days": 4037 }, "https://github.com/jjkramhoeft/ComfyUI-Jjk-Nodes": { "stars": 4, "last_update": "2024-05-22 20:44:56", - "author_account_age_days": 3645 + "author_account_age_days": 3646 }, "https://github.com/jkrauss82/ultools-comfyui": { "stars": 5, "last_update": "2024-06-14 08:12:15", - "author_account_age_days": 4207 + "author_account_age_days": 4208 }, "https://github.com/jmkl/ComfyUI-ricing": { "stars": 9, "last_update": "2024-05-22 20:54:35", - "author_account_age_days": 4593 + "author_account_age_days": 4594 }, "https://github.com/jojkaart/ComfyUI-sampler-lcm-alternative": { "stars": 101, "last_update": "2024-05-22 21:31:41", - "author_account_age_days": 4794 + "author_account_age_days": 4795 }, "https://github.com/jordoh/ComfyUI-Deepface": { "stars": 10, "last_update": "2024-06-14 08:08:29", - "author_account_age_days": 4989 + "author_account_age_days": 4990 }, "https://github.com/jtrue/ComfyUI-JaRue": { "stars": 6, "last_update": "2024-06-14 09:01:12", - "author_account_age_days": 3925 + "author_account_age_days": 3926 }, "https://github.com/jtydhr88/ComfyUI-LayerDivider": { "stars": 45, "last_update": "2024-06-15 15:02:53", - "author_account_age_days": 4749 + "author_account_age_days": 4750 }, "https://github.com/jtydhr88/ComfyUI-Workflow-Encrypt": { "stars": 12, "last_update": "2024-06-14 08:10:50", - "author_account_age_days": 4749 + "author_account_age_days": 4750 }, "https://github.com/juehackr/comfyui_fk_server": { - "stars": 30, + "stars": 31, "last_update": "2024-06-17 14:20:57", - "author_account_age_days": 1108 + "author_account_age_days": 1109 }, "https://github.com/ka-puna/comfyui-yanc": { "stars": 6, "last_update": "2024-05-22 21:29:37", - "author_account_age_days": 2203 + "author_account_age_days": 2204 }, "https://github.com/kaanyalova/ComfyUI_ExtendedImageFormats": { "stars": 2, "last_update": "2024-06-03 13:20:01", - "author_account_age_days": 1262 + "author_account_age_days": 1263 }, "https://github.com/kadirnar/ComfyUI-Transformers": { "stars": 17, - "last_update": "2024-05-23 12:34:26", - "author_account_age_days": 2325 + "last_update": "2024-06-20 22:52:59", + "author_account_age_days": 2326 }, "https://github.com/kadirnar/ComfyUI-YOLO": { "stars": 12, - "last_update": "2024-06-20 11:26:05", - "author_account_age_days": 2325 + "last_update": "2024-06-20 20:53:12", + "author_account_age_days": 2326 }, "https://github.com/kale4eat/ComfyUI-path-util": { "stars": 0, "last_update": "2024-05-25 05:44:11", - "author_account_age_days": 1608 + "author_account_age_days": 1609 }, "https://github.com/kale4eat/ComfyUI-speech-dataset-toolkit": { - "stars": 5, + "stars": 6, "last_update": "2024-05-23 00:25:02", - "author_account_age_days": 1608 + "author_account_age_days": 1609 }, "https://github.com/kale4eat/ComfyUI-string-util": { "stars": 1, "last_update": "2024-05-23 00:24:40", - "author_account_age_days": 1608 + "author_account_age_days": 1609 }, "https://github.com/kale4eat/ComfyUI-text-file-util": { "stars": 0, "last_update": "2024-05-23 00:24:51", - "author_account_age_days": 1608 + "author_account_age_days": 1609 }, "https://github.com/katalist-ai/comfyUI-nsfw-detection": { "stars": 1, "last_update": "2024-05-23 01:23:32", - "author_account_age_days": 749 + "author_account_age_days": 750 }, "https://github.com/kealiu/ComfyUI-S3-Tools": { "stars": 1, "last_update": "2024-05-23 01:10:44", - "author_account_age_days": 4124 + "author_account_age_days": 4125 }, "https://github.com/kealiu/ComfyUI-Zero123-Porting": { "stars": 13, "last_update": "2024-05-23 01:11:13", - "author_account_age_days": 4124 + "author_account_age_days": 4125 }, "https://github.com/kealiu/ComfyUI-ZeroShot-MTrans": { "stars": 128, "last_update": "2024-05-23 01:11:01", - "author_account_age_days": 4124 + "author_account_age_days": 4125 }, "https://github.com/kenjiqq/qq-nodes-comfyui": { "stars": 23, "last_update": "2024-05-22 21:34:53", - "author_account_age_days": 4885 + "author_account_age_days": 4886 }, "https://github.com/kft334/Knodes": { "stars": 3, "last_update": "2024-06-14 08:12:06", - "author_account_age_days": 955 + "author_account_age_days": 956 }, "https://github.com/kijai/ComfyUI-ADMotionDirector": { "stars": 126, "last_update": "2024-06-19 09:13:35", - "author_account_age_days": 2179 + "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-APISR-KJ": { "stars": 56, "last_update": "2024-05-21 16:30:21", - "author_account_age_days": 2179 + "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-BrushNet-Wrapper": { - "stars": 104, + "stars": 106, "last_update": "2024-06-20 12:15:16", - "author_account_age_days": 2179 + "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-CCSR": { "stars": 145, "last_update": "2024-05-22 21:09:35", - "author_account_age_days": 2179 + "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-DDColor": { "stars": 79, "last_update": "2024-05-21 16:04:26", - "author_account_age_days": 2179 + "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-DepthAnythingV2": { "stars": 79, "last_update": "2024-06-19 08:57:28", - "author_account_age_days": 2179 + "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-DiffusionLight": { "stars": 49, "last_update": "2024-05-21 16:16:52", - "author_account_age_days": 2179 + "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-DynamiCrafterWrapper": { - "stars": 462, + "stars": 463, "last_update": "2024-06-09 11:19:05", - "author_account_age_days": 2179 + "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-ELLA-wrapper": { "stars": 103, "last_update": "2024-05-21 16:47:28", - "author_account_age_days": 2179 + "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-Florence2": { - "stars": 55, - "last_update": "2024-06-20 12:00:33", - "author_account_age_days": 2179 + "stars": 102, + "last_update": "2024-06-20 21:30:03", + "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-Geowizard": { "stars": 81, "last_update": "2024-05-28 14:08:34", - "author_account_age_days": 2179 + "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-IC-Light": { - "stars": 386, + "stars": 389, "last_update": "2024-06-19 09:18:06", - "author_account_age_days": 2179 + "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-KJNodes": { "stars": 331, - "last_update": "2024-06-19 09:05:21", - "author_account_age_days": 2179 + "last_update": "2024-06-21 08:23:35", + "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-LaVi-Bridge-Wrapper": { "stars": 19, "last_update": "2024-05-21 16:41:18", - "author_account_age_days": 2179 + "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-LuminaWrapper": { - "stars": 117, - "last_update": "2024-06-19 15:22:53", - "author_account_age_days": 2179 + "stars": 133, + "last_update": "2024-06-20 14:27:15", + "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-Marigold": { "stars": 376, "last_update": "2024-06-19 09:10:03", - "author_account_age_days": 2179 + "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-SUPIR": { - "stars": 1168, + "stars": 1167, "last_update": "2024-05-21 14:56:36", - "author_account_age_days": 2179 + "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-SVD": { "stars": 152, "last_update": "2024-05-22 21:09:54", - "author_account_age_days": 2179 + "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-depth-fm": { "stars": 53, "last_update": "2024-05-22 21:10:15", - "author_account_age_days": 2179 + "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-moondream": { - "stars": 78, + "stars": 79, "last_update": "2024-05-22 21:10:33", - "author_account_age_days": 2179 + "author_account_age_days": 2180 }, "https://github.com/kinfolk0117/ComfyUI_GradientDeepShrink": { "stars": 23, "last_update": "2024-05-22 21:25:13", - "author_account_age_days": 464 + "author_account_age_days": 465 }, "https://github.com/kinfolk0117/ComfyUI_Pilgram": { "stars": 7, "last_update": "2024-05-22 21:25:24", - "author_account_age_days": 464 + "author_account_age_days": 465 }, "https://github.com/kinfolk0117/ComfyUI_SimpleTiles": { "stars": 24, "last_update": "2024-05-22 21:25:01", - "author_account_age_days": 464 + "author_account_age_days": 465 }, "https://github.com/klinter007/klinter_nodes": { "stars": 4, "last_update": "2024-06-14 09:05:41", - "author_account_age_days": 421 + "author_account_age_days": 422 }, "https://github.com/knuknX/ComfyUI-Image-Tools": { "stars": 3, "last_update": "2024-06-14 09:05:58", - "author_account_age_days": 196 + "author_account_age_days": 197 }, "https://github.com/kohya-ss/ControlNet-LLLite-ComfyUI": { "stars": 147, "last_update": "2024-05-22 20:44:44", - "author_account_age_days": 1805 + "author_account_age_days": 1806 }, "https://github.com/komojini/ComfyUI_SDXL_DreamBooth_LoRA_CustomNodes": { "stars": 3, "last_update": "2024-05-22 21:34:27", - "author_account_age_days": 579 + "author_account_age_days": 580 }, "https://github.com/komojini/komojini-comfyui-nodes": { "stars": 63, "last_update": "2024-05-22 21:34:39", - "author_account_age_days": 579 + "author_account_age_days": 580 }, "https://github.com/kunieone/ComfyUI_alkaid": { "stars": 0, @@ -3392,207 +3397,217 @@ "https://github.com/kwaroran/abg-comfyui": { "stars": 22, "last_update": "2024-05-22 18:19:51", - "author_account_age_days": 603 + "author_account_age_days": 604 }, "https://github.com/l20richo/ComfyUI-Azure-Blob-Storage": { "stars": 2, "last_update": "2024-06-14 10:24:05", - "author_account_age_days": 1163 + "author_account_age_days": 1164 }, "https://github.com/laksjdjf/Batch-Condition-ComfyUI": { "stars": 1, "last_update": "2024-05-22 20:42:42", - "author_account_age_days": 2827 + "author_account_age_days": 2828 }, "https://github.com/laksjdjf/LCMSampler-ComfyUI": { "stars": 14, "last_update": "2024-05-22 20:42:17", - "author_account_age_days": 2827 + "author_account_age_days": 2828 }, "https://github.com/laksjdjf/LoRTnoC-ComfyUI": { "stars": 11, "last_update": "2024-05-22 20:42:29", - "author_account_age_days": 2827 + "author_account_age_days": 2828 }, "https://github.com/laksjdjf/cd-tuner_negpip-ComfyUI": { "stars": 19, "last_update": "2024-05-22 20:42:04", - "author_account_age_days": 2827 + "author_account_age_days": 2828 }, "https://github.com/laksjdjf/cgem156-ComfyUI": { "stars": 30, "last_update": "2024-06-08 01:09:03", - "author_account_age_days": 2827 + "author_account_age_days": 2828 }, "https://github.com/laksjdjf/pfg-ComfyUI": { "stars": 10, "last_update": "2024-05-22 20:41:41", - "author_account_age_days": 2827 + "author_account_age_days": 2828 }, "https://github.com/larsupb/LoRA-Merger-ComfyUI": { - "stars": 9, + "stars": 10, "last_update": "2024-06-14 10:23:47", "author_account_age_days": 3072 }, "https://github.com/latenightlabs/ComfyUI-LNL": { - "stars": 7, - "last_update": "2024-06-20 05:06:19", - "author_account_age_days": 146 + "stars": 16, + "last_update": "2024-06-20 18:16:24", + "author_account_age_days": 147 }, "https://github.com/leoleelxh/ComfyUI-LLMs": { "stars": 7, "last_update": "2024-06-14 10:24:23", - "author_account_age_days": 4071 + "author_account_age_days": 4072 }, "https://github.com/lilly1987/ComfyUI_node_Lilly": { "stars": 49, "last_update": "2024-05-22 17:53:19", - "author_account_age_days": 2905 + "author_account_age_days": 2906 }, "https://github.com/linshier/comfyui-remote-tools": { "stars": 1, "last_update": "2024-05-28 07:44:23", - "author_account_age_days": 3788 + "author_account_age_days": 3789 }, "https://github.com/liusida/ComfyUI-AutoCropFaces": { - "stars": 18, - "last_update": "2024-06-14 10:24:37", - "author_account_age_days": 3203 + "stars": 19, + "last_update": "2024-06-21 00:41:53", + "author_account_age_days": 3204 }, "https://github.com/liusida/ComfyUI-B-LoRA": { "stars": 14, "last_update": "2024-06-18 03:17:46", - "author_account_age_days": 3203 + "author_account_age_days": 3204 }, "https://github.com/liusida/ComfyUI-Debug": { "stars": 6, "last_update": "2024-06-14 10:25:26", - "author_account_age_days": 3203 + "author_account_age_days": 3204 }, "https://github.com/liusida/ComfyUI-Login": { - "stars": 37, + "stars": 38, "last_update": "2024-06-19 03:30:09", - "author_account_age_days": 3203 + "author_account_age_days": 3204 }, "https://github.com/liusida/ComfyUI-SD3-nodes": { "stars": 3, "last_update": "2024-06-14 13:01:41", - "author_account_age_days": 3203 + "author_account_age_days": 3204 }, "https://github.com/ljleb/comfy-mecha": { - "stars": 18, + "stars": 21, "last_update": "2024-06-18 20:57:28", - "author_account_age_days": 2459 + "author_account_age_days": 2460 }, "https://github.com/lks-ai/ComfyUI-StableAudioSampler": { "stars": 170, "last_update": "2024-06-17 18:54:17", - "author_account_age_days": 95 + "author_account_age_days": 96 }, "https://github.com/lks-ai/anynode": { - "stars": 405, + "stars": 406, "last_update": "2024-06-14 10:25:56", - "author_account_age_days": 95 + "author_account_age_days": 96 }, "https://github.com/lldacing/comfyui-easyapi-nodes": { - "stars": 27, + "stars": 28, "last_update": "2024-05-24 02:51:26", - "author_account_age_days": 2089 + "author_account_age_days": 2090 }, "https://github.com/logtd/ComfyUI-FLATTEN": { - "stars": 65, + "stars": 68, "last_update": "2024-06-14 18:00:19", - "author_account_age_days": 118 + "author_account_age_days": 119 }, "https://github.com/logtd/ComfyUI-InstanceDiffusion": { - "stars": 142, + "stars": 144, "last_update": "2024-05-22 00:02:08", - "author_account_age_days": 118 + "author_account_age_days": 119 }, "https://github.com/logtd/ComfyUI-InversedNoise": { "stars": 5, "last_update": "2024-05-22 00:10:18", - "author_account_age_days": 118 + "author_account_age_days": 119 }, "https://github.com/logtd/ComfyUI-RAVE_ATTN": { "stars": 9, "last_update": "2024-05-22 00:20:03", - "author_account_age_days": 118 + "author_account_age_days": 119 }, "https://github.com/logtd/ComfyUI-RefSampling": { "stars": 4, "last_update": "2024-05-22 00:04:40", - "author_account_age_days": 118 + "author_account_age_days": 119 }, "https://github.com/logtd/ComfyUI-TrackingNodes": { "stars": 15, "last_update": "2024-05-22 00:03:27", - "author_account_age_days": 118 + "author_account_age_days": 119 }, "https://github.com/longgui0318/comfyui-llm-assistant": { "stars": 5, "last_update": "2024-05-22 23:13:46", - "author_account_age_days": 4160 + "author_account_age_days": 4161 }, "https://github.com/longgui0318/comfyui-magic-clothing": { "stars": 21, "last_update": "2024-06-14 10:27:32", - "author_account_age_days": 4160 + "author_account_age_days": 4161 }, "https://github.com/longgui0318/comfyui-mask-util": { "stars": 4, "last_update": "2024-06-15 02:59:08", - "author_account_age_days": 4160 + "author_account_age_days": 4161 }, "https://github.com/longgui0318/comfyui-oms-diffusion": { "stars": 21, "last_update": "2024-06-14 10:27:32", - "author_account_age_days": 4160 + "author_account_age_days": 4161 + }, + "https://github.com/lordgasmic/comfyui_save_image_with_options": { + "stars": 0, + "last_update": "2024-06-20 16:39:23", + "author_account_age_days": 4764 + }, + "https://github.com/lordgasmic/comfyui_wildcards": { + "stars": 5, + "last_update": "2024-06-20 16:52:14", + "author_account_age_days": 4764 }, "https://github.com/lquesada/ComfyUI-Inpaint-CropAndStitch": { - "stars": 147, - "last_update": "2024-06-11 03:36:02", - "author_account_age_days": 4046 + "stars": 149, + "last_update": "2024-06-20 12:42:37", + "author_account_age_days": 4047 }, "https://github.com/lquesada/ComfyUI-Prompt-Combinator": { "stars": 19, "last_update": "2024-06-19 18:16:35", - "author_account_age_days": 4046 + "author_account_age_days": 4047 }, "https://github.com/ltdrdata/ComfyUI-Impact-Pack": { - "stars": 1376, - "last_update": "2024-06-19 14:51:06", - "author_account_age_days": 458 + "stars": 1384, + "last_update": "2024-06-20 23:01:44", + "author_account_age_days": 459 }, "https://github.com/ltdrdata/ComfyUI-Inspire-Pack": { "stars": 287, - "last_update": "2024-06-19 14:16:40", - "author_account_age_days": 458 + "last_update": "2024-06-20 22:13:11", + "author_account_age_days": 459 }, "https://github.com/ltdrdata/ComfyUI-Manager": { - "stars": 4359, - "last_update": "2024-06-20 12:09:03", - "author_account_age_days": 458 + "stars": 4389, + "last_update": "2024-06-21 04:23:10", + "author_account_age_days": 459 }, "https://github.com/luandev/ComfyUI-CrewAI": { - "stars": 5, + "stars": 6, "last_update": "2024-06-14 10:25:20", - "author_account_age_days": 3803 + "author_account_age_days": 3804 }, "https://github.com/m-sokes/ComfyUI-Sokes-Nodes": { "stars": 1, "last_update": "2024-05-22 20:36:07", - "author_account_age_days": 311 + "author_account_age_days": 312 }, "https://github.com/madtunebk/ComfyUI-ControlnetAux": { "stars": 8, "last_update": "2024-06-04 12:14:51", - "author_account_age_days": 457 + "author_account_age_days": 458 }, "https://github.com/mape/ComfyUI-mape-Helpers": { - "stars": 120, + "stars": 121, "last_update": "2024-05-22 23:19:13", - "author_account_age_days": 5750 + "author_account_age_days": 5751 }, "https://github.com/maracman/ComfyUI-SubjectStyle-CSV": { "stars": 3, @@ -3607,102 +3622,102 @@ "https://github.com/marhensa/sdxl-recommended-res-calc": { "stars": 51, "last_update": "2024-05-22 20:46:17", - "author_account_age_days": 4771 + "author_account_age_days": 4772 }, "https://github.com/martijnat/comfyui-previewlatent": { "stars": 29, "last_update": "2024-05-22 21:28:39", - "author_account_age_days": 2827 + "author_account_age_days": 2828 }, "https://github.com/massao000/ComfyUI_aspect_ratios": { "stars": 7, "last_update": "2024-05-22 22:23:10", - "author_account_age_days": 1403 + "author_account_age_days": 1404 }, "https://github.com/matan1905/ComfyUI-Serving-Toolkit": { "stars": 38, "last_update": "2024-06-04 19:15:36", - "author_account_age_days": 2736 + "author_account_age_days": 2737 }, "https://github.com/mav-rik/facerestore_cf": { - "stars": 151, + "stars": 153, "last_update": "2024-05-22 20:53:23", - "author_account_age_days": 2916 + "author_account_age_days": 2917 }, "https://github.com/mbrostami/ComfyUI-HF": { "stars": 16, "last_update": "2024-05-27 21:45:33", - "author_account_age_days": 4317 + "author_account_age_days": 4318 }, "https://github.com/mbrostami/ComfyUI-TITrain": { "stars": 7, "last_update": "2024-05-27 21:50:06", - "author_account_age_days": 4317 + "author_account_age_days": 4318 }, "https://github.com/mcmonkeyprojects/sd-dynamic-thresholding": { "stars": 1059, "last_update": "2024-05-24 16:09:17", - "author_account_age_days": 2097 + "author_account_age_days": 2098 }, "https://github.com/meap158/ComfyUI-Background-Replacement": { "stars": 35, "last_update": "2024-05-22 20:43:52", - "author_account_age_days": 3199 + "author_account_age_days": 3200 }, "https://github.com/meap158/ComfyUI-GPU-temperature-protection": { "stars": 3, "last_update": "2024-05-22 20:43:21", - "author_account_age_days": 3199 + "author_account_age_days": 3200 }, "https://github.com/meap158/ComfyUI-Prompt-Expansion": { "stars": 61, "last_update": "2024-05-22 20:43:37", - "author_account_age_days": 3199 + "author_account_age_days": 3200 }, "https://github.com/melMass/comfy_mtb": { - "stars": 338, + "stars": 340, "last_update": "2024-06-09 17:20:03", - "author_account_age_days": 3741 + "author_account_age_days": 3742 }, "https://github.com/mephisto83/petty-paint-comfyui-node": { "stars": 1, - "last_update": "2024-06-15 20:16:58", - "author_account_age_days": 3668 + "last_update": "2024-06-20 21:21:52", + "author_account_age_days": 3669 }, "https://github.com/meshmesh-io/ComfyUI-MeshMesh": { "stars": 0, "last_update": "2024-05-23 00:10:09", - "author_account_age_days": 224 + "author_account_age_days": 225 }, "https://github.com/meshmesh-io/mm-comfyui-loopback": { "stars": 1, "last_update": "2024-05-23 00:09:57", - "author_account_age_days": 224 + "author_account_age_days": 225 }, "https://github.com/meshmesh-io/mm-comfyui-megamask": { "stars": 0, "last_update": "2024-05-23 00:09:47", - "author_account_age_days": 224 + "author_account_age_days": 225 }, "https://github.com/mihaiiancu/ComfyUI_Inpaint": { "stars": 9, "last_update": "2024-05-22 18:19:38", - "author_account_age_days": 2657 + "author_account_age_days": 2658 }, "https://github.com/mikkel/ComfyUI-text-overlay": { "stars": 29, "last_update": "2024-05-22 21:13:59", - "author_account_age_days": 5912 + "author_account_age_days": 5913 }, "https://github.com/mikkel/comfyui-mask-boundingbox": { "stars": 24, "last_update": "2024-05-22 21:26:23", - "author_account_age_days": 5912 + "author_account_age_days": 5913 }, "https://github.com/mirabarukaso/ComfyUI_Mira": { "stars": 20, "last_update": "2024-06-14 11:01:10", - "author_account_age_days": 1216 + "author_account_age_days": 1217 }, "https://github.com/modusCell/ComfyUI-dimension-node-modusCell": { "stars": 0, @@ -3712,62 +3727,62 @@ "https://github.com/moyi7712/ComfyUI_Seamless_Patten": { "stars": 8, "last_update": "2024-06-19 13:44:39", - "author_account_age_days": 2297 + "author_account_age_days": 2298 }, "https://github.com/mozman/ComfyUI_mozman_nodes": { "stars": 0, "last_update": "2024-05-22 22:13:32", - "author_account_age_days": 4076 + "author_account_age_days": 4077 }, "https://github.com/mpiquero7164/ComfyUI-SaveImgPrompt": { "stars": 15, "last_update": "2023-08-14 11:27:09", - "author_account_age_days": 2604 + "author_account_age_days": 2605 }, "https://github.com/muzi12888/ComfyUI-PoseKeypoint-Mask": { "stars": 6, "last_update": "2024-06-14 13:26:02", - "author_account_age_days": 2941 + "author_account_age_days": 2942 }, "https://github.com/nagolinc/ComfyUI_FastVAEDecorder_SDXL": { "stars": 2, "last_update": "2024-05-22 20:44:17", - "author_account_age_days": 3670 + "author_account_age_days": 3671 }, "https://github.com/nagolinc/comfyui_openai_node": { "stars": 0, "last_update": "2024-06-15 15:59:07", - "author_account_age_days": 3670 + "author_account_age_days": 3671 }, "https://github.com/nat-chan/ComfyUI-graphToPrompt": { "stars": 0, "last_update": "2024-05-23 01:16:40", - "author_account_age_days": 2989 + "author_account_age_days": 2990 }, "https://github.com/nat-chan/comfyui-paint": { "stars": 2, "last_update": "2024-06-14 11:01:38", - "author_account_age_days": 2989 + "author_account_age_days": 2990 }, "https://github.com/nat-chan/comfyui-transceiver": { "stars": 3, "last_update": "2024-05-23 01:16:28", - "author_account_age_days": 2989 + "author_account_age_days": 2990 }, "https://github.com/nathannlu/ComfyUI-Cloud": { - "stars": 133, - "last_update": "2024-06-14 12:00:59", - "author_account_age_days": 2721 + "stars": 134, + "last_update": "2024-06-21 05:53:26", + "author_account_age_days": 2722 }, "https://github.com/nathannlu/ComfyUI-Pets": { "stars": 36, "last_update": "2024-06-14 11:00:42", - "author_account_age_days": 2721 + "author_account_age_days": 2722 }, "https://github.com/natto-maki/ComfyUI-NegiTools": { "stars": 26, "last_update": "2024-05-22 21:31:17", - "author_account_age_days": 273 + "author_account_age_days": 274 }, "https://github.com/nickve28/ComfyUI-Nich-Utils": { "stars": 8, @@ -3777,12 +3792,12 @@ "https://github.com/ningxiaoxiao/comfyui-NDI": { "stars": 35, "last_update": "2024-06-14 12:00:29", - "author_account_age_days": 2983 + "author_account_age_days": 2984 }, "https://github.com/nirbhay-faaya/ImgProcessing_ComfyUI": { "stars": 0, "last_update": "2024-06-14 12:01:14", - "author_account_age_days": 331 + "author_account_age_days": 332 }, "https://github.com/nirex0/ComfyUI_pytorch_openpose": { "stars": 2, @@ -3792,122 +3807,122 @@ "https://github.com/nkchocoai/ComfyUI-Dart": { "stars": 17, "last_update": "2024-05-22 23:11:22", - "author_account_age_days": 155 + "author_account_age_days": 156 }, "https://github.com/nkchocoai/ComfyUI-PromptUtilities": { "stars": 6, "last_update": "2024-05-22 23:10:42", - "author_account_age_days": 155 + "author_account_age_days": 156 }, "https://github.com/nkchocoai/ComfyUI-SaveImageWithMetaData": { "stars": 8, "last_update": "2024-06-15 05:58:02", - "author_account_age_days": 155 + "author_account_age_days": 156 }, "https://github.com/nkchocoai/ComfyUI-SizeFromPresets": { "stars": 4, "last_update": "2024-05-22 23:10:30", - "author_account_age_days": 155 + "author_account_age_days": 156 }, "https://github.com/nkchocoai/ComfyUI-TextOnSegs": { "stars": 5, "last_update": "2024-05-22 23:10:55", - "author_account_age_days": 155 + "author_account_age_days": 156 }, "https://github.com/noembryo/ComfyUI-noEmbryo": { "stars": 12, "last_update": "2024-06-04 11:27:45", - "author_account_age_days": 2738 + "author_account_age_days": 2739 }, "https://github.com/nosiu/comfyui-instantId-faceswap": { - "stars": 165, + "stars": 166, "last_update": "2024-05-22 23:21:38", - "author_account_age_days": 3900 + "author_account_age_days": 3901 }, "https://github.com/noxinias/ComfyUI_NoxinNodes": { "stars": 7, "last_update": "2024-05-22 21:24:24", - "author_account_age_days": 2556 + "author_account_age_days": 2557 }, "https://github.com/ntc-ai/ComfyUI-DARE-LoRA-Merge": { "stars": 22, "last_update": "2024-05-22 22:22:14", - "author_account_age_days": 1713 + "author_account_age_days": 1714 }, "https://github.com/nuanarchy/ComfyUI-NuA-BIRD": { "stars": 4, "last_update": "2024-06-18 05:35:49", - "author_account_age_days": 1088 + "author_account_age_days": 1089 }, "https://github.com/nuanarchy/ComfyUI-NuA-FlashFace": { "stars": 11, "last_update": "2024-06-17 15:29:15", - "author_account_age_days": 1088 + "author_account_age_days": 1089 }, "https://github.com/nullquant/ComfyUI-BrushNet": { - "stars": 350, + "stars": 355, "last_update": "2024-06-19 16:24:00", - "author_account_age_days": 1172 + "author_account_age_days": 1173 }, "https://github.com/olduvai-jp/ComfyUI-HfLoader": { "stars": 3, "last_update": "2024-05-23 00:14:52", - "author_account_age_days": 872 + "author_account_age_days": 873 }, "https://github.com/omar92/ComfyUI-QualityOfLifeSuit_Omar92": { "stars": 108, "last_update": "2024-06-03 11:02:37", - "author_account_age_days": 4502 + "author_account_age_days": 4503 }, "https://github.com/osi1880vr/prompt_quill_comfyui": { "stars": 9, "last_update": "2024-06-13 17:24:12", - "author_account_age_days": 1072 + "author_account_age_days": 1073 }, "https://github.com/ostris/ostris_nodes_comfyui": { "stars": 19, "last_update": "2024-05-22 21:23:24", - "author_account_age_days": 2398 + "author_account_age_days": 2399 }, "https://github.com/ownimage/ComfyUI-ownimage": { "stars": 0, "last_update": "2024-05-22 22:22:37", - "author_account_age_days": 2779 + "author_account_age_days": 2780 }, "https://github.com/oyvindg/ComfyUI-TrollSuite": { "stars": 0, "last_update": "2024-05-22 21:32:03", - "author_account_age_days": 2325 + "author_account_age_days": 2326 }, "https://github.com/oztrkoguz/ComfyUI_StoryCreator": { "stars": 16, "last_update": "2024-05-23 12:18:45", - "author_account_age_days": 837 + "author_account_age_days": 838 }, "https://github.com/palant/extended-saveimage-comfyui": { "stars": 10, "last_update": "2024-03-27 14:08:21", - "author_account_age_days": 5049 + "author_account_age_days": 5050 }, "https://github.com/palant/image-resize-comfyui": { "stars": 61, "last_update": "2024-01-18 20:59:55", - "author_account_age_days": 5049 + "author_account_age_days": 5050 }, "https://github.com/palant/integrated-nodes-comfyui": { "stars": 31, "last_update": "2023-12-27 22:52:00", - "author_account_age_days": 5049 + "author_account_age_days": 5050 }, "https://github.com/pamparamm/sd-perturbed-attention": { - "stars": 172, + "stars": 173, "last_update": "2024-06-15 14:49:56", - "author_account_age_days": 2127 + "author_account_age_days": 2128 }, "https://github.com/pants007/comfy-pants": { "stars": 2, "last_update": "2024-05-22 18:16:04", - "author_account_age_days": 2313 + "author_account_age_days": 2314 }, "https://github.com/paulo-coronado/comfy_clip_blip_node": { "stars": 25, @@ -3917,167 +3932,167 @@ "https://github.com/philz1337x/ComfyUI-ClarityAI": { "stars": 42, "last_update": "2024-05-23 01:19:05", - "author_account_age_days": 659 + "author_account_age_days": 660 }, "https://github.com/phineas-pta/comfyui-auto-nodes-layout": { "stars": 21, "last_update": "2024-06-19 21:38:47", - "author_account_age_days": 2284 + "author_account_age_days": 2285 }, "https://github.com/picturesonpictures/comfy_PoP": { "stars": 13, "last_update": "2024-05-22 20:51:32", - "author_account_age_days": 583 + "author_account_age_days": 584 }, "https://github.com/pkpkTech/ComfyUI-SaveAVIF": { "stars": 0, "last_update": "2024-05-22 22:19:21", - "author_account_age_days": 1499 + "author_account_age_days": 1500 }, "https://github.com/pkpkTech/ComfyUI-SaveQueues": { "stars": 1, "last_update": "2024-05-22 22:19:54", - "author_account_age_days": 1499 + "author_account_age_days": 1500 }, "https://github.com/pkpkTech/ComfyUI-TemporaryLoader": { "stars": 1, "last_update": "2024-05-22 22:19:44", - "author_account_age_days": 1499 + "author_account_age_days": 1500 }, "https://github.com/pkpkTech/ComfyUI-ngrok": { "stars": 3, "last_update": "2024-05-22 22:19:32", - "author_account_age_days": 1499 + "author_account_age_days": 1500 }, "https://github.com/portu-sim/comfyui_bmab": { - "stars": 22, + "stars": 23, "last_update": "2024-06-09 14:22:04", - "author_account_age_days": 318 + "author_account_age_days": 319 }, "https://github.com/prodogape/ComfyUI-EasyOCR": { "stars": 5, "last_update": "2024-06-14 13:01:27", - "author_account_age_days": 1026 + "author_account_age_days": 1027 }, "https://github.com/prodogape/ComfyUI-Minio": { "stars": 2, "last_update": "2024-05-23 00:13:38", - "author_account_age_days": 1026 + "author_account_age_days": 1027 }, "https://github.com/prodogape/ComfyUI-OmDet": { "stars": 2, "last_update": "2024-06-14 13:01:34", - "author_account_age_days": 1026 + "author_account_age_days": 1027 }, "https://github.com/prozacgod/comfyui-pzc-multiworkspace": { "stars": 7, "last_update": "2024-05-22 23:11:46", - "author_account_age_days": 5564 + "author_account_age_days": 5565 }, "https://github.com/pythongosssss/ComfyUI-Custom-Scripts": { - "stars": 1322, + "stars": 1328, "last_update": "2024-06-10 11:49:03", - "author_account_age_days": 493 + "author_account_age_days": 494 }, "https://github.com/pythongosssss/ComfyUI-WD14-Tagger": { - "stars": 414, + "stars": 419, "last_update": "2024-06-20 05:38:50", - "author_account_age_days": 493 + "author_account_age_days": 494 }, "https://github.com/qwixiwp/queuetools": { "stars": 0, "last_update": "2024-06-14 10:27:57", - "author_account_age_days": 607 + "author_account_age_days": 608 }, "https://github.com/ramyma/A8R8_ComfyUI_nodes": { "stars": 4, "last_update": "2024-05-22 20:55:02", - "author_account_age_days": 3213 + "author_account_age_days": 3214 }, "https://github.com/randjtw/advance-aesthetic-score": { "stars": 0, "last_update": "2024-05-23 01:14:47", - "author_account_age_days": 756 + "author_account_age_days": 757 }, "https://github.com/ratulrafsan/Comfyui-SAL-VTON": { "stars": 56, "last_update": "2024-05-23 00:17:20", - "author_account_age_days": 4490 + "author_account_age_days": 4491 }, "https://github.com/rcfcu2000/zhihuige-nodes-comfyui": { "stars": 0, "last_update": "2024-05-22 22:13:55", - "author_account_age_days": 3420 + "author_account_age_days": 3421 }, "https://github.com/rcsaquino/comfyui-custom-nodes": { "stars": 1, "last_update": "2024-05-22 22:13:43", - "author_account_age_days": 1507 + "author_account_age_days": 1508 }, "https://github.com/receyuki/comfyui-prompt-reader-node": { - "stars": 208, + "stars": 209, "last_update": "2024-06-06 23:39:40", - "author_account_age_days": 2588 + "author_account_age_days": 2589 }, "https://github.com/redhottensors/ComfyUI-ODE": { - "stars": 10, + "stars": 11, "last_update": "2024-06-19 17:56:42", - "author_account_age_days": 135 + "author_account_age_days": 136 }, "https://github.com/redhottensors/ComfyUI-Prediction": { "stars": 9, "last_update": "2024-06-14 10:25:44", - "author_account_age_days": 135 + "author_account_age_days": 136 }, "https://github.com/rgthree/rgthree-comfy": { - "stars": 690, - "last_update": "2024-06-20 01:59:29", - "author_account_age_days": 4970 + "stars": 692, + "last_update": "2024-06-21 02:47:43", + "author_account_age_days": 4971 }, "https://github.com/richinsley/Comfy-LFO": { "stars": 5, "last_update": "2024-05-22 20:46:30", - "author_account_age_days": 2676 + "author_account_age_days": 2677 }, "https://github.com/ricklove/comfyui-ricklove": { "stars": 0, "last_update": "2024-05-22 23:21:25", - "author_account_age_days": 4828 + "author_account_age_days": 4829 }, "https://github.com/risunobushi/comfyUI_FrequencySeparation_RGB-HSV": { "stars": 8, "last_update": "2024-06-14 10:28:04", - "author_account_age_days": 643 + "author_account_age_days": 644 }, "https://github.com/rklaffehn/rk-comfy-nodes": { "stars": 2, "last_update": "2024-06-14 10:24:43", - "author_account_age_days": 288 + "author_account_age_days": 289 }, "https://github.com/romeobuilderotti/ComfyUI-PNG-Metadata": { "stars": 4, "last_update": "2024-05-22 21:29:25", - "author_account_age_days": 286 + "author_account_age_days": 287 }, "https://github.com/ronniebasak/ComfyUI-Tara-LLM-Integration": { - "stars": 70, + "stars": 71, "last_update": "2024-06-20 11:57:41", "author_account_age_days": 4151 }, "https://github.com/royceschultz/ComfyUI-Notifications": { "stars": 4, "last_update": "2024-05-23 01:23:16", - "author_account_age_days": 2525 + "author_account_age_days": 2526 }, "https://github.com/royceschultz/ComfyUI-TranscriptionTools": { "stars": 12, "last_update": "2024-05-23 01:10:10", - "author_account_age_days": 2525 + "author_account_age_days": 2526 }, "https://github.com/rui40000/RUI-Nodes": { - "stars": 14, + "stars": 15, "last_update": "2024-05-22 22:12:26", - "author_account_age_days": 470 + "author_account_age_days": 471 }, "https://github.com/ruiqutech/ComfyUI-RuiquNodes": { "stars": 0, @@ -4085,289 +4100,289 @@ "author_account_age_days": 66 }, "https://github.com/runtime44/comfyui_r44_nodes": { - "stars": 26, + "stars": 27, "last_update": "2024-06-11 10:49:02", - "author_account_age_days": 163 + "author_account_age_days": 164 }, "https://github.com/saftle/suplex_comfy_nodes": { "stars": 0, "last_update": "2024-05-29 13:09:25", - "author_account_age_days": 4753 + "author_account_age_days": 4754 }, "https://github.com/sdfxai/SDFXBridgeForComfyUI": { "stars": 4, "last_update": "2024-06-14 10:26:56", - "author_account_age_days": 230 + "author_account_age_days": 231 }, "https://github.com/seanlynch/comfyui-optical-flow": { "stars": 24, "last_update": "2024-05-22 20:52:17", - "author_account_age_days": 5301 + "author_account_age_days": 5302 }, "https://github.com/seanlynch/srl-nodes": { "stars": 3, "last_update": "2024-05-22 21:08:00", - "author_account_age_days": 5301 + "author_account_age_days": 5302 }, "https://github.com/sergekatzmann/ComfyUI_Nimbus-Pack": { "stars": 2, "last_update": "2024-05-22 21:34:15", - "author_account_age_days": 3328 + "author_account_age_days": 3329 }, "https://github.com/shadowcz007/comfyui-Image-reward": { "stars": 20, "last_update": "2024-06-14 10:24:49", - "author_account_age_days": 3310 + "author_account_age_days": 3311 }, "https://github.com/shadowcz007/comfyui-consistency-decoder": { "stars": 2, "last_update": "2024-06-14 10:23:35", - "author_account_age_days": 3310 + "author_account_age_days": 3311 }, "https://github.com/shadowcz007/comfyui-edit-mask": { "stars": 3, "last_update": "2024-06-20 01:42:48", - "author_account_age_days": 3310 + "author_account_age_days": 3311 }, "https://github.com/shadowcz007/comfyui-mixlab-nodes": { - "stars": 877, - "last_update": "2024-06-20 09:47:08", - "author_account_age_days": 3310 + "stars": 878, + "last_update": "2024-06-21 09:40:38", + "author_account_age_days": 3311 }, "https://github.com/shadowcz007/comfyui-sound-lab": { "stars": 52, "last_update": "2024-06-20 02:07:31", - "author_account_age_days": 3310 + "author_account_age_days": 3311 }, "https://github.com/shadowcz007/comfyui-ultralytics-yolo": { "stars": 17, "last_update": "2024-06-20 01:43:22", - "author_account_age_days": 3310 + "author_account_age_days": 3311 }, "https://github.com/shi3z/ComfyUI_Memeplex_DALLE": { "stars": 2, "last_update": "2024-05-23 00:14:25", - "author_account_age_days": 5089 + "author_account_age_days": 5090 }, "https://github.com/shiimizu/ComfyUI-PhotoMaker-Plus": { - "stars": 140, + "stars": 141, "last_update": "2024-04-17 09:02:51", - "author_account_age_days": 1761 + "author_account_age_days": 1762 }, "https://github.com/shiimizu/ComfyUI-TiledDiffusion": { - "stars": 206, + "stars": 207, "last_update": "2024-05-14 22:01:41", - "author_account_age_days": 1761 + "author_account_age_days": 1762 }, "https://github.com/shiimizu/ComfyUI_smZNodes": { "stars": 149, "last_update": "2024-06-18 07:30:24", - "author_account_age_days": 1761 + "author_account_age_days": 1762 }, "https://github.com/shingo1228/ComfyUI-SDXL-EmptyLatentImage": { "stars": 25, "last_update": "2024-05-22 20:41:29", - "author_account_age_days": 2219 + "author_account_age_days": 2220 }, "https://github.com/shingo1228/ComfyUI-send-eagle-slim": { "stars": 20, "last_update": "2024-05-22 20:41:15", - "author_account_age_days": 2219 + "author_account_age_days": 2220 }, "https://github.com/shinich39/comfyui-load-image-in-seq": { "stars": 3, "last_update": "2024-05-23 00:20:53", - "author_account_age_days": 308 + "author_account_age_days": 309 }, "https://github.com/shinich39/comfyui-local-db": { "stars": 1, "last_update": "2024-05-23 00:21:08", - "author_account_age_days": 308 + "author_account_age_days": 309 }, "https://github.com/shinich39/comfyui-ramdom-node": { "stars": 2, "last_update": "2024-06-14 10:25:13", - "author_account_age_days": 308 + "author_account_age_days": 309 }, "https://github.com/shobhitic/ComfyUI-PlusMinusTextClip": { - "stars": 0, - "last_update": "2024-06-14 14:00:29", - "author_account_age_days": 4303 + "stars": 2, + "last_update": "2024-06-20 13:57:29", + "author_account_age_days": 4304 }, "https://github.com/shockz0rz/ComfyUI_InterpolateEverything": { "stars": 23, "last_update": "2024-05-22 18:13:49", - "author_account_age_days": 1622 + "author_account_age_days": 1623 }, "https://github.com/shockz0rz/comfy-easy-grids": { "stars": 11, "last_update": "2024-05-22 18:14:05", - "author_account_age_days": 1622 + "author_account_age_days": 1623 }, "https://github.com/siliconflow/onediff_comfy_nodes": { "stars": 12, "last_update": "2024-05-22 22:23:22", - "author_account_age_days": 301 + "author_account_age_days": 302 }, "https://github.com/sipherxyz/comfyui-art-venture": { "stars": 83, "last_update": "2024-05-22 18:15:39", - "author_account_age_days": 1103 + "author_account_age_days": 1104 }, "https://github.com/skfoo/ComfyUI-Coziness": { "stars": 21, "last_update": "2024-05-27 18:24:29", - "author_account_age_days": 2078 + "author_account_age_days": 2079 }, "https://github.com/smagnetize/kb-comfyui-nodes": { "stars": 0, "last_update": "2024-06-14 12:00:45", - "author_account_age_days": 2710 + "author_account_age_days": 2711 }, "https://github.com/smthemex/ComfyUI_ChatGLM_API": { "stars": 17, "last_update": "2024-06-14 12:00:22", - "author_account_age_days": 350 + "author_account_age_days": 351 }, "https://github.com/smthemex/ComfyUI_CustomNet": { "stars": 4, "last_update": "2024-06-14 11:01:27", - "author_account_age_days": 350 + "author_account_age_days": 351 }, "https://github.com/smthemex/ComfyUI_HiDiffusion_Pro": { "stars": 22, "last_update": "2024-06-18 02:10:24", - "author_account_age_days": 350 + "author_account_age_days": 351 }, "https://github.com/smthemex/ComfyUI_ID_Animator": { "stars": 14, "last_update": "2024-06-15 10:15:03", - "author_account_age_days": 350 + "author_account_age_days": 351 }, "https://github.com/smthemex/ComfyUI_Llama3_8B": { "stars": 15, "last_update": "2024-06-15 07:14:32", - "author_account_age_days": 350 + "author_account_age_days": 351 }, "https://github.com/smthemex/ComfyUI_ParlerTTS": { "stars": 18, "last_update": "2024-05-15 13:48:05", - "author_account_age_days": 350 + "author_account_age_days": 351 }, "https://github.com/smthemex/ComfyUI_Pic2Story": { "stars": 3, "last_update": "2024-06-14 10:28:28", - "author_account_age_days": 350 + "author_account_age_days": 351 }, "https://github.com/smthemex/ComfyUI_Pipeline_Tool": { "stars": 6, "last_update": "2024-06-14 10:28:53", - "author_account_age_days": 350 + "author_account_age_days": 351 }, "https://github.com/smthemex/ComfyUI_Pops": { - "stars": 10, + "stars": 11, "last_update": "2024-06-14 13:59:12", - "author_account_age_days": 350 + "author_account_age_days": 351 }, "https://github.com/smthemex/ComfyUI_StableAudio_Open": { "stars": 5, "last_update": "2024-06-14 10:27:38", - "author_account_age_days": 350 + "author_account_age_days": 351 }, "https://github.com/smthemex/ComfyUI_StoryDiffusion": { - "stars": 47, - "last_update": "2024-06-17 00:49:03", - "author_account_age_days": 350 + "stars": 50, + "last_update": "2024-06-21 09:18:35", + "author_account_age_days": 351 }, "https://github.com/space-nuko/ComfyUI-Disco-Diffusion": { "stars": 42, "last_update": "2024-05-22 18:10:36", - "author_account_age_days": 2720 + "author_account_age_days": 2721 }, "https://github.com/space-nuko/ComfyUI-OpenPose-Editor": { "stars": 153, "last_update": "2024-05-22 18:10:49", - "author_account_age_days": 2720 + "author_account_age_days": 2721 }, "https://github.com/space-nuko/nui-suite": { "stars": 10, "last_update": "2024-05-22 18:11:04", - "author_account_age_days": 2720 + "author_account_age_days": 2721 }, "https://github.com/spacepxl/ComfyUI-Florence-2": { - "stars": 1, - "last_update": "2024-06-20 06:15:59", - "author_account_age_days": 290 + "stars": 3, + "last_update": "2024-06-20 14:05:19", + "author_account_age_days": 291 }, "https://github.com/spacepxl/ComfyUI-HQ-Image-Save": { - "stars": 29, - "last_update": "2024-06-16 07:03:58", - "author_account_age_days": 290 + "stars": 30, + "last_update": "2024-06-21 04:42:58", + "author_account_age_days": 291 }, "https://github.com/spacepxl/ComfyUI-Image-Filters": { "stars": 78, "last_update": "2024-06-15 22:23:37", - "author_account_age_days": 290 + "author_account_age_days": 291 }, "https://github.com/spacepxl/ComfyUI-RAVE": { "stars": 79, "last_update": "2024-05-22 20:56:19", - "author_account_age_days": 290 + "author_account_age_days": 291 }, "https://github.com/spacepxl/ComfyUI-StyleGan": { "stars": 3, "last_update": "2024-06-10 20:16:34", - "author_account_age_days": 290 + "author_account_age_days": 291 }, "https://github.com/spinagon/ComfyUI-seam-carving": { "stars": 14, "last_update": "2024-05-23 05:07:00", - "author_account_age_days": 4736 + "author_account_age_days": 4737 }, "https://github.com/spinagon/ComfyUI-seamless-tiling": { "stars": 74, "last_update": "2024-05-23 05:03:42", - "author_account_age_days": 4736 + "author_account_age_days": 4737 }, "https://github.com/spro/comfyui-mirror": { "stars": 4, "last_update": "2024-05-22 20:50:25", - "author_account_age_days": 5227 + "author_account_age_days": 5228 }, "https://github.com/ssitu/ComfyUI_UltimateSDUpscale": { - "stars": 622, + "stars": 621, "last_update": "2024-05-22 18:09:32", - "author_account_age_days": 1685 + "author_account_age_days": 1686 }, "https://github.com/ssitu/ComfyUI_fabric": { "stars": 82, "last_update": "2024-05-22 18:10:19", - "author_account_age_days": 1685 + "author_account_age_days": 1686 }, "https://github.com/ssitu/ComfyUI_restart_sampling": { "stars": 76, "last_update": "2024-05-22 18:09:49", - "author_account_age_days": 1685 + "author_account_age_days": 1686 }, "https://github.com/ssitu/ComfyUI_roop": { "stars": 59, "last_update": "2024-05-22 18:10:03", - "author_account_age_days": 1685 + "author_account_age_days": 1686 }, "https://github.com/stavsap/comfyui-ollama": { - "stars": 191, + "stars": 192, "last_update": "2024-06-18 21:27:18", "author_account_age_days": 4080 }, "https://github.com/storyicon/comfyui_musev_evolved": { "stars": 13, "last_update": "2024-06-14 11:02:40", - "author_account_age_days": 2548 + "author_account_age_days": 2549 }, "https://github.com/storyicon/comfyui_segment_anything": { - "stars": 512, + "stars": 514, "last_update": "2024-05-31 07:36:30", - "author_account_age_days": 2548 + "author_account_age_days": 2549 }, "https://github.com/strimmlarn/ComfyUI_Strimmlarns_aesthetic_score": { "stars": 25, @@ -4385,39 +4400,39 @@ "author_account_age_days": 1842 }, "https://github.com/subtleGradient/TinkerBot-tech-for-ComfyUI-Touchpad": { - "stars": 16, + "stars": 17, "last_update": "2024-06-19 04:30:39", - "author_account_age_days": 5926 + "author_account_age_days": 5927 }, "https://github.com/sugarkwork/comfyui_cohere": { "stars": 0, "last_update": "2024-06-14 13:59:30", - "author_account_age_days": 871 + "author_account_age_days": 872 }, "https://github.com/sugarkwork/comfyui_tag_fillter": { "stars": 16, "last_update": "2024-05-27 13:38:24", - "author_account_age_days": 871 + "author_account_age_days": 872 }, "https://github.com/superyoman/comfyui_lumaAPI": { "stars": 10, "last_update": "2024-06-17 21:00:05", - "author_account_age_days": 444 + "author_account_age_days": 445 }, "https://github.com/syllebra/bilbox-comfyui": { "stars": 80, "last_update": "2024-05-22 20:40:43", - "author_account_age_days": 3132 + "author_account_age_days": 3133 }, "https://github.com/sylym/comfy_vid2vid": { "stars": 57, "last_update": "2024-05-22 17:53:40", - "author_account_age_days": 1894 + "author_account_age_days": 1895 }, "https://github.com/szhublox/ambw_comfyui": { "stars": 12, "last_update": "2024-05-22 18:04:57", - "author_account_age_days": 1003 + "author_account_age_days": 1004 }, "https://github.com/taabata/LCM_Inpaint-Outpaint_Comfy": { "stars": 223, @@ -4425,219 +4440,219 @@ "author_account_age_days": 1679 }, "https://github.com/talesofai/comfyui-browser": { - "stars": 410, + "stars": 413, "last_update": "2024-05-21 20:51:18", - "author_account_age_days": 551 + "author_account_age_days": 552 }, "https://github.com/teward/ComfyUI-Helper-Nodes": { "stars": 4, "last_update": "2024-05-23 01:22:01", - "author_account_age_days": 5094 + "author_account_age_days": 5095 }, "https://github.com/theUpsider/ComfyUI-Logic": { "stars": 95, "last_update": "2024-05-22 20:35:47", - "author_account_age_days": 2718 + "author_account_age_days": 2719 }, "https://github.com/theUpsider/ComfyUI-Styles_CSV_Loader": { "stars": 28, "last_update": "2024-05-22 20:31:14", - "author_account_age_days": 2718 + "author_account_age_days": 2719 }, "https://github.com/thecooltechguy/ComfyUI-ComfyRun": { "stars": 78, "last_update": "2024-05-22 21:33:11", - "author_account_age_days": 2418 + "author_account_age_days": 2419 }, "https://github.com/thecooltechguy/ComfyUI-ComfyWorkflows": { "stars": 32, "last_update": "2024-05-22 21:33:47", - "author_account_age_days": 2418 + "author_account_age_days": 2419 }, "https://github.com/thecooltechguy/ComfyUI-MagicAnimate": { - "stars": 196, + "stars": 197, "last_update": "2024-05-22 21:33:35", - "author_account_age_days": 2418 + "author_account_age_days": 2419 }, "https://github.com/thecooltechguy/ComfyUI-Stable-Video-Diffusion": { - "stars": 287, + "stars": 288, "last_update": "2024-05-24 22:14:42", - "author_account_age_days": 2418 + "author_account_age_days": 2419 }, "https://github.com/tiankuan93/ComfyUI-V-Express": { "stars": 77, "last_update": "2024-06-17 13:32:21", - "author_account_age_days": 2946 + "author_account_age_days": 2947 }, "https://github.com/tianlang0704/ComfyUI-StableProjectorzBridge": { "stars": 5, "last_update": "2024-06-15 09:09:38", - "author_account_age_days": 3321 + "author_account_age_days": 3322 }, "https://github.com/tmagara/ComfyUI-Prediction-Boost": { "stars": 0, - "last_update": "2024-06-14 13:59:42", - "author_account_age_days": 4371 + "last_update": "2024-06-21 05:28:58", + "author_account_age_days": 4372 }, "https://github.com/tocubed/ComfyUI-AudioReactor": { "stars": 8, "last_update": "2024-05-22 22:21:57", - "author_account_age_days": 3855 + "author_account_age_days": 3856 }, "https://github.com/tooldigital/ComfyUI-Yolo-Cropper": { "stars": 4, "last_update": "2024-06-14 13:59:48", - "author_account_age_days": 4313 + "author_account_age_days": 4314 }, "https://github.com/toxicwind/ComfyUI-TTools": { "stars": 0, "last_update": "2024-06-14 13:02:56", - "author_account_age_days": 4366 + "author_account_age_days": 4367 }, "https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes": { - "stars": 429, + "stars": 442, "last_update": "2024-06-18 15:27:19", - "author_account_age_days": 3645 + "author_account_age_days": 3646 }, "https://github.com/traugdor/ComfyUI-quadMoons-nodes": { "stars": 8, "last_update": "2024-06-11 00:02:55", - "author_account_age_days": 3816 + "author_account_age_days": 3817 }, "https://github.com/trojblue/trNodes": { "stars": 8, "last_update": "2024-05-22 18:04:36", - "author_account_age_days": 2253 + "author_account_age_days": 2254 }, "https://github.com/trumanwong/ComfyUI-NSFW-Detection": { "stars": 16, "last_update": "2024-05-23 01:27:29", - "author_account_age_days": 2956 + "author_account_age_days": 2957 }, "https://github.com/tsogzark/ComfyUI-load-image-from-url": { "stars": 5, "last_update": "2024-06-14 13:59:05", - "author_account_age_days": 1524 + "author_account_age_days": 1525 }, "https://github.com/ttulttul/ComfyUI-Iterative-Mixer": { - "stars": 97, + "stars": 98, "last_update": "2024-06-13 22:29:53", - "author_account_age_days": 4753 + "author_account_age_days": 4754 }, "https://github.com/ttulttul/ComfyUI-Tensor-Operations": { "stars": 5, "last_update": "2024-06-12 21:55:39", - "author_account_age_days": 4753 + "author_account_age_days": 4754 }, "https://github.com/turkyden/ComfyUI-Comic": { "stars": 1, "last_update": "2024-06-14 13:02:14", - "author_account_age_days": 2745 + "author_account_age_days": 2746 }, "https://github.com/turkyden/ComfyUI-Sticker": { "stars": 0, "last_update": "2024-06-11 03:51:33", - "author_account_age_days": 2745 + "author_account_age_days": 2746 }, "https://github.com/tusharbhutt/Endless-Nodes": { "stars": 22, "last_update": "2024-06-14 12:02:17", - "author_account_age_days": 2661 + "author_account_age_days": 2662 }, "https://github.com/twri/sdxl_prompt_styler": { - "stars": 603, + "stars": 605, "last_update": "2024-05-22 18:16:58", - "author_account_age_days": 4064 + "author_account_age_days": 4065 }, "https://github.com/txt2any/ComfyUI-PromptOrganizer": { "stars": 0, "last_update": "2024-05-23 01:10:33", - "author_account_age_days": 80 + "author_account_age_days": 81 }, "https://github.com/ty0x2333/ComfyUI-Dev-Utils": { - "stars": 36, + "stars": 37, "last_update": "2024-06-03 15:06:13", - "author_account_age_days": 3698 + "author_account_age_days": 3699 }, "https://github.com/tzwm/comfyui-profiler": { "stars": 41, "last_update": "2024-06-14 07:05:45", - "author_account_age_days": 4765 + "author_account_age_days": 4766 }, "https://github.com/uarefans/ComfyUI-Fans": { "stars": 12, "last_update": "2024-05-22 20:34:07", - "author_account_age_days": 1268 + "author_account_age_days": 1269 }, "https://github.com/uetuluk/comfyui-webcam-node": { "stars": 2, "last_update": "2024-06-14 08:25:13", - "author_account_age_days": 2310 + "author_account_age_days": 2311 }, "https://github.com/unwdef/unwdef-nodes-comfyui": { "stars": 1, "last_update": "2024-06-14 07:05:51", - "author_account_age_days": 69 + "author_account_age_days": 70 }, "https://github.com/vanche1212/ComfyUI-ZMG-Nodes": { "stars": 3, "last_update": "2024-06-14 07:06:03", - "author_account_age_days": 2954 + "author_account_age_days": 2955 }, "https://github.com/vanillacode314/SimpleWildcardsComfyUI": { "stars": 3, - "last_update": "2024-06-14 07:06:09", - "author_account_age_days": 853 + "last_update": "2024-06-20 18:15:00", + "author_account_age_days": 854 }, "https://github.com/victorchall/comfyui_webcamcapture": { "stars": 5, "last_update": "2024-05-31 18:01:11", - "author_account_age_days": 3141 + "author_account_age_days": 3142 }, "https://github.com/vienteck/ComfyUI-Chat-GPT-Integration": { "stars": 26, "last_update": "2024-05-22 22:11:14", - "author_account_age_days": 3423 + "author_account_age_days": 3424 }, "https://github.com/violet-chen/comfyui-psd2png": { "stars": 16, "last_update": "2024-06-12 15:30:14", - "author_account_age_days": 1394 + "author_account_age_days": 1395 }, "https://github.com/viperyl/ComfyUI-BiRefNet": { - "stars": 156, - "last_update": "2024-05-23 00:18:06", - "author_account_age_days": 2029 + "stars": 157, + "last_update": "2024-06-20 15:25:49", + "author_account_age_days": 2030 }, "https://github.com/viperyl/ComfyUI-RGT": { "stars": 5, - "last_update": "2024-06-14 09:35:50", - "author_account_age_days": 2029 + "last_update": "2024-06-20 15:33:50", + "author_account_age_days": 2030 }, "https://github.com/vivax3794/ComfyUI-Vivax-Nodes": { "stars": 3, "last_update": "2024-05-23 00:10:56", - "author_account_age_days": 1834 + "author_account_age_days": 1835 }, "https://github.com/vsevolod-oparin/comfyui-kandinsky22": { "stars": 6, "last_update": "2024-05-23 00:14:03", - "author_account_age_days": 4980 + "author_account_age_days": 4981 }, "https://github.com/wallish77/wlsh_nodes": { - "stars": 81, + "stars": 82, "last_update": "2024-06-19 12:01:29", - "author_account_age_days": 2216 + "author_account_age_days": 2217 }, "https://github.com/wandbrandon/comfyui-pixel": { "stars": 4, "last_update": "2024-06-14 07:07:09", - "author_account_age_days": 3379 + "author_account_age_days": 3380 }, "https://github.com/web3nomad/ComfyUI_Invisible_Watermark": { "stars": 1, "last_update": "2024-05-23 01:16:54", - "author_account_age_days": 963 + "author_account_age_days": 964 }, "https://github.com/wei30172/comfygen": { "stars": 4, @@ -4647,42 +4662,42 @@ "https://github.com/whatbirdisthat/cyberdolphin": { "stars": 14, "last_update": "2024-05-23 03:43:08", - "author_account_age_days": 5483 + "author_account_age_days": 5484 }, "https://github.com/whmc76/ComfyUI-Openpose-Editor-Plus": { "stars": 20, - "last_update": "2024-05-22 21:28:27", - "author_account_age_days": 448 + "last_update": "2024-06-20 13:52:34", + "author_account_age_days": 449 }, "https://github.com/wmatson/easy-comfy-nodes": { "stars": 13, "last_update": "2024-06-14 07:06:57", - "author_account_age_days": 4113 + "author_account_age_days": 4114 }, "https://github.com/wolfden/ComfyUi_PromptStylers": { "stars": 64, "last_update": "2024-05-22 18:17:46", - "author_account_age_days": 5717 + "author_account_age_days": 5718 }, "https://github.com/wolfden/ComfyUi_String_Function_Tree": { "stars": 8, "last_update": "2024-05-22 18:29:16", - "author_account_age_days": 5717 + "author_account_age_days": 5718 }, "https://github.com/wujm424606/ComfyUi-Ollama-YN": { "stars": 12, "last_update": "2024-06-14 07:06:39", - "author_account_age_days": 2258 + "author_account_age_days": 2259 }, "https://github.com/wutipong/ComfyUI-TextUtils": { "stars": 1, "last_update": "2024-06-14 09:34:31", - "author_account_age_days": 4181 + "author_account_age_days": 4182 }, "https://github.com/wwwins/ComfyUI-Simple-Aspect-Ratio": { "stars": 1, "last_update": "2024-05-22 22:22:25", - "author_account_age_days": 5046 + "author_account_age_days": 5047 }, "https://github.com/xXAdonesXx/NodeGPT": { "stars": 324, @@ -4692,156 +4707,156 @@ "https://github.com/xiaoxiaodesha/hd_node": { "stars": 7, "last_update": "2024-06-11 02:36:48", - "author_account_age_days": 2870 + "author_account_age_days": 2871 }, "https://github.com/xliry/ComfyUI_SendDiscord": { "stars": 0, "last_update": "2024-05-23 02:21:38", - "author_account_age_days": 1269 + "author_account_age_days": 1270 }, "https://github.com/xuhongming251/ComfyUI-GPEN": { "stars": 2, "last_update": "2024-06-15 14:33:37", - "author_account_age_days": 4102 + "author_account_age_days": 4103 }, "https://github.com/xuhongming251/ComfyUI-MuseTalkUtils": { "stars": 11, "last_update": "2024-06-15 14:32:32", - "author_account_age_days": 4102 + "author_account_age_days": 4103 }, "https://github.com/yffyhk/comfyui_auto_danbooru": { "stars": 0, "last_update": "2024-05-22 23:23:03", - "author_account_age_days": 3717 + "author_account_age_days": 3718 }, "https://github.com/yolain/ComfyUI-Easy-Use": { - "stars": 494, - "last_update": "2024-06-20 11:40:36", - "author_account_age_days": 1336 + "stars": 496, + "last_update": "2024-06-21 08:59:27", + "author_account_age_days": 1337 }, "https://github.com/yolanother/DTAIComfyImageSubmit": { "stars": 1, "last_update": "2024-05-22 18:14:56", - "author_account_age_days": 4859 + "author_account_age_days": 4860 }, "https://github.com/yolanother/DTAIComfyLoaders": { "stars": 1, "last_update": "2024-05-22 18:14:44", - "author_account_age_days": 4859 + "author_account_age_days": 4860 }, "https://github.com/yolanother/DTAIComfyPromptAgent": { "stars": 5, "last_update": "2024-05-22 18:14:18", - "author_account_age_days": 4859 + "author_account_age_days": 4860 }, "https://github.com/yolanother/DTAIComfyQRCodes": { "stars": 2, "last_update": "2024-05-22 18:15:09", - "author_account_age_days": 4859 + "author_account_age_days": 4860 }, "https://github.com/yolanother/DTAIComfyVariables": { - "stars": 7, + "stars": 8, "last_update": "2024-05-22 18:15:21", - "author_account_age_days": 4859 + "author_account_age_days": 4860 }, "https://github.com/yolanother/DTAIImageToTextNode": { "stars": 15, "last_update": "2024-05-22 18:14:31", - "author_account_age_days": 4859 + "author_account_age_days": 4860 }, "https://github.com/youyegit/tdxh_node_comfyui": { "stars": 2, "last_update": "2024-05-23 17:55:42", - "author_account_age_days": 424 + "author_account_age_days": 425 }, "https://github.com/yuvraj108c/ComfyUI-Depth-Anything-Tensorrt": { "stars": 61, "last_update": "2024-06-14 08:07:23", - "author_account_age_days": 2148 + "author_account_age_days": 2149 }, "https://github.com/yuvraj108c/ComfyUI-PiperTTS": { "stars": 24, "last_update": "2024-05-22 23:17:27", - "author_account_age_days": 2148 + "author_account_age_days": 2149 }, "https://github.com/yuvraj108c/ComfyUI-Pronodes": { "stars": 1, "last_update": "2024-05-22 23:16:51", - "author_account_age_days": 2148 + "author_account_age_days": 2149 }, "https://github.com/yuvraj108c/ComfyUI-Upscaler-Tensorrt": { "stars": 37, "last_update": "2024-05-31 05:50:59", - "author_account_age_days": 2148 + "author_account_age_days": 2149 }, "https://github.com/yuvraj108c/ComfyUI-Vsgan": { "stars": 2, "last_update": "2024-05-22 23:17:02", - "author_account_age_days": 2148 + "author_account_age_days": 2149 }, "https://github.com/yuvraj108c/ComfyUI-Whisper": { - "stars": 49, + "stars": 50, "last_update": "2024-05-31 05:59:22", - "author_account_age_days": 2148 + "author_account_age_days": 2149 }, "https://github.com/zcfrank1st/Comfyui-Toolbox": { "stars": 4, "last_update": "2024-05-22 22:08:07", - "author_account_age_days": 4411 + "author_account_age_days": 4412 }, "https://github.com/zcfrank1st/Comfyui-Yolov8": { "stars": 17, "last_update": "2024-06-14 07:08:40", - "author_account_age_days": 4411 + "author_account_age_days": 4412 }, "https://github.com/zcfrank1st/comfyui_visual_anagrams": { "stars": 5, "last_update": "2024-06-14 07:07:27", - "author_account_age_days": 4411 + "author_account_age_days": 4412 }, "https://github.com/zer0TF/cute-comfy": { "stars": 27, "last_update": "2024-05-22 21:18:53", - "author_account_age_days": 2666 + "author_account_age_days": 2667 }, "https://github.com/zfkun/ComfyUI_zfkun": { "stars": 13, "last_update": "2024-05-27 11:21:51", - "author_account_age_days": 4859 + "author_account_age_days": 4860 }, "https://github.com/zhangp365/ComfyUI-utils-nodes": { "stars": 6, - "last_update": "2024-06-10 01:49:46", - "author_account_age_days": 287 + "last_update": "2024-06-21 04:39:05", + "author_account_age_days": 288 }, "https://github.com/zhongpei/ComfyUI-InstructIR": { "stars": 58, "last_update": "2024-05-22 23:19:43", - "author_account_age_days": 3455 + "author_account_age_days": 3456 }, "https://github.com/zhongpei/Comfyui_image2prompt": { "stars": 227, "last_update": "2024-05-22 23:19:30", - "author_account_age_days": 3455 + "author_account_age_days": 3456 }, "https://github.com/zhuanqianfish/ComfyUI-EasyNode": { "stars": 58, "last_update": "2024-06-14 07:10:18", - "author_account_age_days": 4231 + "author_account_age_days": 4232 }, "https://github.com/zhulu111/ComfyUI_Bxb": { "stars": 3, - "last_update": "2024-06-20 01:50:20", - "author_account_age_days": 35 + "last_update": "2024-06-21 07:16:24", + "author_account_age_days": 36 }, "https://github.com/zohac/ComfyUI_ZC_DrawShape": { "stars": 1, "last_update": "2024-06-14 07:10:25", - "author_account_age_days": 2657 + "author_account_age_days": 2658 }, "https://github.com/zombieyang/sd-ppp": { - "stars": 10, + "stars": 11, "last_update": "2024-06-16 02:45:04", - "author_account_age_days": 3913 + "author_account_age_days": 3914 } } \ No newline at end of file diff --git a/node_db/dev/custom-node-list.json b/node_db/dev/custom-node-list.json index 4cfd6180..b9335421 100644 --- a/node_db/dev/custom-node-list.json +++ b/node_db/dev/custom-node-list.json @@ -10,7 +10,28 @@ }, - + { + "author": "opvelll", + "title": "Comfy UI Text List Product", + "id": "listproduct", + "reference": "https://github.com/opvelll/ComfyUI_TextListProduct", + "files": [ + "https://github.com/opvelll/ComfyUI_TextListProduct" + ], + "install_type": "git-clone", + "description": "This is a custom node for Comfy UI. It mainly wraps itertools.product and can be used to create patterns by combining prompts. It is recommended to install this custom node in combination with the nodes from the WAS Node Suite." + }, + { + "author": "AllenEdgarPoe", + "title": "ComfyUI-Xorbis-nodes", + "id": "xorbis", + "reference": "https://github.com/AllenEdgarPoe/ComfyUI-Xorbis-nodes", + "files": [ + "https://github.com/AllenEdgarPoe/ComfyUI-Xorbis-nodes" + ], + "install_type": "git-clone", + "description": "This repository is for MuseumX Update. We use ComfyUI as our framework, and the nodes are built for my comfort." + }, { "author": "mikeymcfish", "title": "LaserCutterFull and Deptherize Nodes", @@ -22,17 +43,6 @@ "install_type": "git-clone", "description": "This repository contains two custom nodes, LaserCutterFull and Deptherize, designed for use in image processing workflows. The LaserCutterFull node processes input images to generate layers for laser cutting, while the Deptherize node converts SVG data into a depth map image." }, - { - "author": "zhulu111", - "title": "ComfyUI_Bxb [UNSAFE]", - "id": "ComfyUI_Bxb", - "reference": "https://github.com/zhulu111/ComfyUI_Bxb", - "files": [ - "https://github.com/zhulu111/ComfyUI_Bxb" - ], - "install_type": "git-clone", - "description": "sdBxb, a tool that converts ComfyUI workflows into WeChat Mini Program, Douyin Mini Program, and H5 with one click, and supports payments." - }, { "author": "mingqizhang", "title": "ComfyUI_tool_zmq", diff --git a/node_db/new/custom-node-list.json b/node_db/new/custom-node-list.json index 6187e4e9..89822c1b 100644 --- a/node_db/new/custom-node-list.json +++ b/node_db/new/custom-node-list.json @@ -13,7 +13,37 @@ - + { + "author": "MinusZoneAI", + "title": "ComfyUI-TrainTools-MZ", + "id": "traintools", + "reference": "https://github.com/MinusZoneAI/ComfyUI-TrainTools-MZ", + "files": [ + "https://github.com/MinusZoneAI/ComfyUI-TrainTools-MZ" + ], + "install_type": "git-clone", + "description": "Nodes for fine-tuning lora in ComfyUI, dependent on training tools such as kohya-ss/sd-scripts" + }, + { + "author": "lordgasmic", + "title": "comfyui_wildcards", + "reference": "https://github.com/lordgasmic/comfyui_wildcards", + "files": [ + "https://github.com/lordgasmic/comfyui_wildcards" + ], + "install_type": "git-clone", + "description": "This is an attempt to recreate the wildcards plugin for Automatic1111 but for ComfyUI." + }, + { + "author": "lordgasmic", + "title": "comfyui_save_image_with_options", + "reference": "https://github.com/lordgasmic/comfyui_save_image_with_options", + "files": [ + "https://github.com/lordgasmic/comfyui_save_image_with_options" + ], + "install_type": "git-clone", + "description": "Nodes:Save Image with Options" + }, { "author": "asagi4", "title": "Adaptive Guidance for ComfyUI", @@ -661,83 +691,6 @@ ], "install_type": "git-clone", "description": "Nodes:ZC DrawShape Node" - }, - { - "author": "ThereforeGames", - "title": "ComfyUI-Unprompted", - "id": "unprompted", - "reference": "https://github.com/ThereforeGames/ComfyUI-Unprompted", - "files": [ - "https://github.com/ThereforeGames/ComfyUI-Unprompted" - ], - "install_type": "git-clone", - "description": "This is a ComfyUI node that processes your input text with the [a/Unprompted templating language](https://github.com/ThereforeGames/unprompted). Early alpha release.\n" - }, - { - "author": "Scorpinaus", - "title": "Loaders for Diffusers-format checkpoints", - "id": "diffusersloader", - "reference": "https://github.com/Scorpinaus/ComfyUI-DiffusersLoader", - "files": [ - "https://github.com/Scorpinaus/ComfyUI-DiffusersLoader" - ], - "install_type": "git-clone", - "description": "This node pack allows loading of CLIP, MODEL, VAE aspects for both SD1.5 and SDXL checkpoints that is converted to diffusers format." - }, - { - "author": "chakib-belgaid", - "title": "ComfyUI Style Plugin", - "id": "style-plugin", - "reference": "https://github.com/chakib-belgaid/Comfyui_Prompt_styler", - "files": [ - "https://github.com/chakib-belgaid/Comfyui_Prompt_styler" - ], - "install_type": "git-clone", - "description": "This is a simple plugin for ComfyUI that allows you to import A1111 CSV styles into ComfyUI prompts." - }, - { - "author": "tiankuan93", - "title": "V-Express: Conditional Dropout for Progressive Training of Portrait Video Generation", - "id": "v-express", - "reference": "https://github.com/tiankuan93/ComfyUI-V-Express", - "files": [ - "https://github.com/tiankuan93/ComfyUI-V-Express" - ], - "install_type": "git-clone", - "description": "[Original] In the field of portrait video generation, the use of single images to generate portrait videos has become increasingly prevalent. A common approach involves leveraging generative models to enhance adapters for controlled generation. However, control signals can vary in strength, including text, audio, image reference, pose, depth map, etc. Among these, weaker conditions often struggle to be effective due to interference from stronger conditions, posing a challenge in balancing these conditions. In our work on portrait video generation, we identified audio signals as particularly weak, often overshadowed by stronger signals such as pose and original image. However, direct training with weak signals often leads to difficulties in convergence. To address this, we propose V-Express, a simple method that balances different control signals through a series of progressive drop operations. Our method gradually enables effective control by weak conditions, thereby achieving generation capabilities that simultaneously take into account pose, input image, and audio.\nNOTE: You need to downdload [a/model_ckpts](https://huggingface.co/tk93/V-Express/tree/main) manually." - }, - { - "author": "CMonk", - "title": "Stable Projectorz Bridge", - "id": "projectorz", - "reference": "https://github.com/tianlang0704/ComfyUI-StableProjectorzBridge", - "files": [ - "https://github.com/tianlang0704/ComfyUI-StableProjectorzBridge" - ], - "install_type": "git-clone", - "description": "This custom nodes enables Stable Projectorz to work with ComfyUI Directly." - }, - { - "author": "comfyanonymous", - "title": "TensorRT Node for ComfyUI", - "id": "tensorrt", - "reference": "https://github.com/comfyanonymous/ComfyUI_TensorRT", - "files": [ - "https://github.com/comfyanonymous/ComfyUI_TensorRT" - ], - "install_type": "git-clone", - "description": "This node enables the best performance on NVIDIA RTX™ Graphics Cards (GPUs) for Stable Diffusion by leveraging NVIDIA TensorRT." - }, - { - "author": "fexploit", - "title": "ComfyUI-Classifier", - "id": "classifier", - "reference": "https://github.com/fexploit/ComfyUI-Classifier", - "files": [ - "https://github.com/fexploit/ComfyUI-Classifier" - ], - "install_type": "git-clone", - "description": "ComfyUI-Classifier is a custom node for ComfyUI that uses a zero-shot classification model to classify text inputs based on a set of candidate labels. This node leverages the power of Hugging Face Transformers to provide accurate and flexible text classification." } ] } diff --git a/node_db/new/extension-node-map.json b/node_db/new/extension-node-map.json index 9db9cd87..12a1d0b2 100644 --- a/node_db/new/extension-node-map.json +++ b/node_db/new/extension-node-map.json @@ -366,8 +366,7 @@ ], "https://github.com/AIFSH/ComfyUI_V-Express": [ [ - "CombineAudioVideo", - "LoadAudio", + "LoadAudioPath", "LoadImagePath", "LoadVideo", "PreViewVideo", @@ -401,6 +400,7 @@ "OpenPoseLineart", "OpenPoseMediaPipeFace", "PreviewAudio", + "SaveAudioBL", "\u5b58\u50a8", "\u5bfc\u5165", "\u622a\u56fe", @@ -592,10 +592,12 @@ [ "ArgosTranslateCLIPTextEncodeNode", "ArgosTranslateTextNode", + "ColorsCorrectNode", "DeepTranslatorCLIPTextEncodeNode", "DeepTranslatorTextNode", "GoogleTranslateCLIPTextEncodeNode", "GoogleTranslateTextNode", + "HexToHueNode", "PainterNode", "PoseNode", "PreviewTextNode" @@ -1619,6 +1621,8 @@ "OpenposePreprocessor", "PiDiNetPreprocessor", "PixelPerfectResolution", + "RenderAnimalKps", + "RenderPeopleKps", "SAMPreprocessor", "SavePoseKpsAsJsonFile", "ScribblePreprocessor", @@ -1905,6 +1909,7 @@ ], "https://github.com/GraftingRayman/ComfyUI_GraftingRayman": [ [ + "GR Checkered Board", "GR Flip Tile Random Inverted", "GR Flip Tile Random Red Ring", "GR Image Details Displayer", @@ -1917,6 +1922,7 @@ "GR Mask Create Random", "GR Mask Resize", "GR Multi Mask Create", + "GR Onomatopoeia", "GR Prompt Selector", "GR Prompt Selector Multi", "GR Stack Image", @@ -2372,8 +2378,9 @@ ], "https://github.com/KewkLW/ComfyUI-kewky_tools": [ [ - "FormattedTextOutput", - "TensorDebugPlus" + "TensorDebugPlus", + "TextAppendNode", + "VRAM_Debug_Plus" ], { "title_aux": "ComfyUI-kewky_tools" @@ -2852,8 +2859,10 @@ ], "https://github.com/MariusKM/ComfyUI-BadmanNodes": [ [ + "BadmanCLIPTextEncodeSDXLRegion", "BadmanIO", "BadmanIntUtil", + "BadmanStringSelect", "Badman_Blend", "Badman_Concat_String", "Badman_HexGenerator", @@ -3543,17 +3552,9 @@ "https://github.com/Scorpinaus/ComfyUI-DiffusersLoader": [ [ "CombinedDiffusersLoader", - "CombinedDiffusersSD15Loader", - "CombinedDiffusersSDXLLoader", "DiffusersClipLoader", "DiffusersUNETLoader", - "DiffusersVAELoader", - "SD15CLIPLoader", - "SD15UNETLoader", - "SD15VAELoader", - "SDXLCLIPLoader", - "SDXLUNETLoader", - "SDXLVAELoader" + "DiffusersVAELoader" ], { "title_aux": "Loaders for Diffusers-format checkpoints" @@ -9386,6 +9387,7 @@ "PromptImageVariationTask", "PromptTask", "Rule", + "RulesList", "RunAgent", "TextSummaryTask", "ToolList", @@ -9405,6 +9407,7 @@ "gtUIKnowledgeBaseTool", "gtUILeonardoImageGenerationDriver", "gtUILoadAudio", + "gtUIOllamaStructureConfig", "gtUIOpenAiAudioTranscriptionDriver", "gtUIOpenAiImageGenerationDriver", "gtUIOpenAiStructureConfig", @@ -9702,6 +9705,14 @@ "title_aux": "ComfyUI-layerdiffuse (layerdiffusion)" } ], + "https://github.com/huchenlei/ComfyUI-openpose-editor": [ + [ + "huchenlei.LoadOpenposeJSON" + ], + { + "title_aux": "ComfyUI-openpose-editor" + } + ], "https://github.com/huchenlei/ComfyUI_DanTagGen": [ [ "PromptDanTagGen" @@ -10235,10 +10246,12 @@ ], "https://github.com/kadirnar/ComfyUI-YOLO": [ [ + "BBoxToCOCO", "BBoxToXYWH", "ConvertToDict", - "LoadUltralytics", + "LoadUltralyticsModel", "UltralyticsInference", + "UltralyticsModelDownloader", "UltralyticsVisualization" ], { @@ -11261,6 +11274,22 @@ "title_aux": "Wildcards" } ], + "https://github.com/lordgasmic/comfyui_save_image_with_options": [ + [ + "SaveImageWithOptions" + ], + { + "title_aux": "comfyui_save_image_with_options" + } + ], + "https://github.com/lordgasmic/comfyui_wildcards": [ + [ + "CLIPTextEncodeWithWildcards" + ], + { + "title_aux": "comfyui_wildcards" + } + ], "https://github.com/lquesada/ComfyUI-Inpaint-CropAndStitch": [ [ "InpaintCrop", @@ -11327,6 +11356,7 @@ "FromDetailerPipe", "FromDetailerPipeSDXL", "FromDetailerPipe_v2", + "GITSSchedulerFuncProvider", "ImageListToImageBatch", "ImageMaskSwitch", "ImageReceiver", @@ -11842,6 +11872,7 @@ "PettyPaintFileExists", "PettyPaintImageColorsToMasks", "PettyPaintImageCompositeMasked", + "PettyPaintImageDims", "PettyPaintImagePlacement", "PettyPaintImageSave", "PettyPaintImageStore", @@ -11850,8 +11881,11 @@ "PettyPaintJsonMap", "PettyPaintJsonRead", "PettyPaintJsonReadArray", + "PettyPaintKSampler", + "PettyPaintKSamplerAdvanced", "PettyPaintLoRAStack", "PettyPaintLoadImage", + "PettyPaintLoadImageMasks", "PettyPaintLoadImages", "PettyPaintMap", "PettyPaintMasksToImages", @@ -11860,9 +11894,11 @@ "PettyPaintProcessor", "PettyPaintRemoveAddText", "PettyPaintSDTurboScheduler", + "PettyPaintStoryImage", "PettyPaintText", "PettyPaintTexts_to_Conditioning", - "PettyPaintToJson" + "PettyPaintToJson", + "PettyPaintVAEDecode" ], { "title_aux": "petty-paint-comfyui-node" @@ -14961,6 +14997,15 @@ "title_aux": "EasyCaptureNode for ComfyUI" } ], + "https://github.com/zhulu111/ComfyUI_Bxb": [ + [ + "sdBxb", + "sdBxb_textInput" + ], + { + "title_aux": "ComfyUI_Bxb" + } + ], "https://github.com/zohac/ComfyUI_ZC_DrawShape": [ [ "ZcDrawShape" From 821fec5740291648de10e56c9bda0204eb696ab1 Mon Sep 17 00:00:00 2001 From: TinyTerra <115619949+TinyTerra@users.noreply.github.com> Date: Fri, 21 Jun 2024 21:43:14 +1000 Subject: [PATCH 06/62] Update custom-node-list.json (#804) --- custom-node-list.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/custom-node-list.json b/custom-node-list.json index de1dce00..627717d2 100644 --- a/custom-node-list.json +++ b/custom-node-list.json @@ -791,13 +791,13 @@ "author": "TinyTerra", "title": "ComfyUI_tinyterraNodes", "id": "ttn", - "reference": "https://github.com/tinyterra/ComfyUI_tinyterraNodes", + "reference": "https://github.com/TinyTerra/ComfyUI_tinyterraNodes", "files": [ "https://github.com/TinyTerra/ComfyUI_tinyterraNodes" ], "install_type": "git-clone", "nodename_pattern": "^ttN ", - "description": "This extension offers various pipe nodes, fullscreen image viewer based on node history, dynamic widgets, interface customization, and more." + "description": "This extension offers various pipe nodes, extensive XYZ plotting, fullscreen image viewer based on node history, dynamic widgets, interface customization, and more." }, { "author": "Jordach", From d5bdc3c5d646cf423bb4f434d4f58d3ae7757907 Mon Sep 17 00:00:00 2001 From: "Dr.Lt.Data" Date: Fri, 21 Jun 2024 22:08:40 +0900 Subject: [PATCH 07/62] update DB --- extension-node-map.json | 2 +- node_db/new/extension-node-map.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/extension-node-map.json b/extension-node-map.json index 12a1d0b2..220dfdc5 100644 --- a/extension-node-map.json +++ b/extension-node-map.json @@ -7589,7 +7589,7 @@ "ModelMergeBlocks", "ModelMergeSD1", "ModelMergeSD2", - "ModelMergeSD3", + "ModelMergeSD3_2B", "ModelMergeSDXL", "ModelMergeSimple", "ModelMergeSubtract", diff --git a/node_db/new/extension-node-map.json b/node_db/new/extension-node-map.json index 12a1d0b2..220dfdc5 100644 --- a/node_db/new/extension-node-map.json +++ b/node_db/new/extension-node-map.json @@ -7589,7 +7589,7 @@ "ModelMergeBlocks", "ModelMergeSD1", "ModelMergeSD2", - "ModelMergeSD3", + "ModelMergeSD3_2B", "ModelMergeSDXL", "ModelMergeSimple", "ModelMergeSubtract", From 7d154d5d9fdb5b3c554d835f1028dc0911809498 Mon Sep 17 00:00:00 2001 From: JaredTherriault Date: Fri, 21 Jun 2024 16:11:52 -0700 Subject: [PATCH 08/62] Update description for JNodes (#805) --- custom-node-list.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom-node-list.json b/custom-node-list.json index 627717d2..0fd7be97 100644 --- a/custom-node-list.json +++ b/custom-node-list.json @@ -5899,7 +5899,7 @@ "https://github.com/JaredTherriault/ComfyUI-JNodes" ], "install_type": "git-clone", - "description": "python and web UX improvements for ComfyUI.\n[w/'DynamicPrompts.js' and 'EditAttention.js' from the core, along with 'ImageFeed.js' and 'favicon.js' from the custom scripts of pythongosssss, are not compatible. Therefore, manual deletion of these files is required to use this web extension.]" + "description": "python and web UX improvements for ComfyUI: Lora/Embedding picker, web extension manager (enable/disable any extension without disabling python nodes), control any parameter with text prompts, image and video viewer, metadata viewer, token counter, comments in prompts, font control, and more! \n[w/'ImageFeed.js' from the custom scripts of pythongosssss is not compatible with this suite's ImageDrawer feature. Additionally, 'DynamicPrompts.js' and 'EditAttention.js' from the core, along with 'favicon.js' from the custom scripts of pythongosssss, are incompatible with advanced features of the suite. Please use the JNodes Extension Management setting in Settings > JNodes > Extension Management to disable these extensions by unchecking them to use the full functionality of the suite.]" }, { "author": "prozacgod", From f623e3fb01985bf532f625f53b2ed17e3be82d11 Mon Sep 17 00:00:00 2001 From: "Dr.Lt.Data" Date: Sat, 22 Jun 2024 09:01:56 +0900 Subject: [PATCH 09/62] update DB --- custom-node-list.json | 22 +- extension-node-map.json | 27 +- github-stats.json | 1365 +++++++++++++------------- node_db/dev/custom-node-list.json | 22 +- node_db/legacy/custom-node-list.json | 11 + node_db/new/custom-node-list.json | 22 +- node_db/new/extension-node-map.json | 27 +- 7 files changed, 768 insertions(+), 728 deletions(-) diff --git a/custom-node-list.json b/custom-node-list.json index 0fd7be97..9f477ed8 100644 --- a/custom-node-list.json +++ b/custom-node-list.json @@ -655,17 +655,6 @@ "install_type": "git-clone", "description": "This extension aims to add support for various random image diffusion models to ComfyUI." }, - { - "author": "Kaharos94", - "title": "ComfyUI-Saveaswebp", - "id": "save-webp", - "reference": "https://github.com/Kaharos94/ComfyUI-Saveaswebp", - "files": [ - "https://github.com/Kaharos94/ComfyUI-Saveaswebp" - ], - "install_type": "git-clone", - "description": "Save a picture as Webp file in Comfy + Workflow loading" - }, { "author": "SLAPaper", "title": "ComfyUI-Image-Selector", @@ -10581,6 +10570,17 @@ "install_type": "git-clone", "description": "Nodes:Save Image with Options" }, + { + "author": "opvelll", + "title": "Comfy UI Text List Product", + "id": "listproduct", + "reference": "https://github.com/opvelll/ComfyUI_TextListProduct", + "files": [ + "https://github.com/opvelll/ComfyUI_TextListProduct" + ], + "install_type": "git-clone", + "description": "This is a custom node for Comfy UI. It mainly wraps itertools.product and can be used to create patterns by combining prompts. It is recommended to install this custom node in combination with the nodes from the WAS Node Suite." + }, diff --git a/extension-node-map.json b/extension-node-map.json index 220dfdc5..d6428c03 100644 --- a/extension-node-map.json +++ b/extension-node-map.json @@ -2359,14 +2359,6 @@ "title_aux": "comfy-plasma" } ], - "https://github.com/Kaharos94/ComfyUI-Saveaswebp": [ - [ - "Save_as_webp" - ], - { - "title_aux": "ComfyUI-Saveaswebp" - } - ], "https://github.com/Kangkang625/ComfyUI-paint-by-example": [ [ "PaintbyExamplePipeLoader", @@ -10249,9 +10241,11 @@ "BBoxToCOCO", "BBoxToXYWH", "ConvertToDict", - "LoadUltralyticsModel", + "CustomUltralyticsModelLoader", + "SAMInference", + "SAMLoader", "UltralyticsInference", - "UltralyticsModelDownloader", + "UltralyticsModelLoader", "UltralyticsVisualization" ], { @@ -12379,6 +12373,18 @@ "title_aux": "Quality of life Suit:V2" } ], + "https://github.com/opvelll/ComfyUI_TextListProduct": [ + [ + "ProductedString", + "TextListProduct", + "TextListProductWithSingleA", + "TextListProductWithSingleB", + "TextListProductWithSingleBoth" + ], + { + "title_aux": "Comfy UI Text List Product" + } + ], "https://github.com/osi1880vr/prompt_quill_comfyui": [ [ "PromptQuillGenerate", @@ -13997,6 +14003,7 @@ "https://github.com/traugdor/ComfyUI-quadMoons-nodes": [ [ "quadmoonCLIPTextEncode", + "quadmoonChangeBackground", "quadmoonConvertBoolToString", "quadmoonConvertFloatToString", "quadmoonConvertIntToString", diff --git a/github-stats.json b/github-stats.json index c5451653..ad5899af 100644 --- a/github-stats.json +++ b/github-stats.json @@ -2,7 +2,7 @@ "https://github.com/0xbitches/ComfyUI-LCM": { "stars": 246, "last_update": "2023-11-11 21:24:33", - "author_account_age_days": 528 + "author_account_age_days": 529 }, "https://github.com/1038lab/ComfyUI-GPT2P": { "stars": 3, @@ -10,12 +10,12 @@ "author_account_age_days": 449 }, "https://github.com/11cafe/comfyui-workspace-manager": { - "stars": 784, - "last_update": "2024-06-21 10:26:13", - "author_account_age_days": 201 + "stars": 785, + "last_update": "2024-06-21 10:50:11", + "author_account_age_days": 202 }, "https://github.com/11dogzi/Comfyui-ergouzi-Nodes": { - "stars": 18, + "stars": 19, "last_update": "2024-05-23 00:08:39", "author_account_age_days": 122 }, @@ -32,7 +32,7 @@ "https://github.com/42lux/ComfyUI-safety-checker": { "stars": 18, "last_update": "2024-05-22 22:11:59", - "author_account_age_days": 3695 + "author_account_age_days": 3696 }, "https://github.com/438443467/ComfyUI-GPT4V-Image-Captioner": { "stars": 19, @@ -42,22 +42,22 @@ "https://github.com/54rt1n/ComfyUI-DareMerge": { "stars": 42, "last_update": "2024-05-22 22:20:39", - "author_account_age_days": 4047 + "author_account_age_days": 4048 }, "https://github.com/80sVectorz/ComfyUI-Static-Primitives": { "stars": 10, "last_update": "2024-05-23 11:20:57", - "author_account_age_days": 1467 + "author_account_age_days": 1468 }, "https://github.com/A4P7J1N7M05OT/ComfyUI-AutoColorGimp": { "stars": 0, "last_update": "2024-05-23 00:26:10", - "author_account_age_days": 469 + "author_account_age_days": 470 }, "https://github.com/A4P7J1N7M05OT/ComfyUI-PixelOE": { - "stars": 6, + "stars": 7, "last_update": "2024-06-02 14:57:59", - "author_account_age_days": 469 + "author_account_age_days": 470 }, "https://github.com/AARG-FAN/Image-Raster-for-ComfyUI": { "stars": 63, @@ -80,12 +80,12 @@ "author_account_age_days": 228 }, "https://github.com/AIFSH/ComfyUI-GPT_SoVITS": { - "stars": 152, + "stars": 153, "last_update": "2024-06-14 07:05:01", "author_account_age_days": 228 }, "https://github.com/AIFSH/ComfyUI-Hallo": { - "stars": 144, + "stars": 155, "last_update": "2024-06-21 01:10:52", "author_account_age_days": 228 }, @@ -100,7 +100,7 @@ "author_account_age_days": 228 }, "https://github.com/AIFSH/ComfyUI-MimicBrush": { - "stars": 39, + "stars": 40, "last_update": "2024-06-17 22:26:53", "author_account_age_days": 228 }, @@ -120,7 +120,7 @@ "author_account_age_days": 228 }, "https://github.com/AIFSH/ComfyUI-UniAnimate": { - "stars": 14, + "stars": 15, "last_update": "2024-06-17 20:59:59", "author_account_age_days": 228 }, @@ -136,7 +136,7 @@ }, "https://github.com/AIFSH/ComfyUI_V-Express": { "stars": 74, - "last_update": "2024-06-21 02:34:13", + "last_update": "2024-06-21 22:54:45", "author_account_age_days": 228 }, "https://github.com/AIGCTeam/ComfyUI_kkTranslator_nodes": { @@ -145,7 +145,7 @@ "author_account_age_days": 207 }, "https://github.com/AIGODLIKE/AIGODLIKE-COMFYUI-TRANSLATION": { - "stars": 941, + "stars": 945, "last_update": "2024-06-18 03:10:38", "author_account_age_days": 498 }, @@ -160,29 +160,29 @@ "author_account_age_days": 498 }, "https://github.com/AIGODLIKE/ComfyUI-ToonCrafter": { - "stars": 238, + "stars": 240, "last_update": "2024-06-18 08:04:40", "author_account_age_days": 498 }, "https://github.com/AInseven/ComfyUI-fastblend": { "stars": 110, "last_update": "2024-06-14 07:13:21", - "author_account_age_days": 1679 + "author_account_age_days": 1680 }, "https://github.com/AIrjen/OneButtonPrompt": { "stars": 734, "last_update": "2024-06-14 06:59:46", - "author_account_age_days": 439 + "author_account_age_days": 440 }, "https://github.com/ALatentPlace/ComfyUI_yanc": { "stars": 18, "last_update": "2024-06-14 09:04:57", - "author_account_age_days": 1456 + "author_account_age_days": 1457 }, "https://github.com/AbdullahAlfaraj/Comfy-Photoshop-SD": { "stars": 176, "last_update": "2024-06-14 07:04:37", - "author_account_age_days": 3664 + "author_account_age_days": 3665 }, "https://github.com/AbyssYuan0/ComfyUI_BadgerTools": { "stars": 6, @@ -190,24 +190,24 @@ "author_account_age_days": 486 }, "https://github.com/Acly/comfyui-inpaint-nodes": { - "stars": 421, + "stars": 422, "last_update": "2024-06-17 13:51:51", - "author_account_age_days": 3801 + "author_account_age_days": 3802 }, "https://github.com/Acly/comfyui-tooling-nodes": { - "stars": 207, + "stars": 208, "last_update": "2024-06-20 09:26:34", - "author_account_age_days": 3801 + "author_account_age_days": 3802 }, "https://github.com/AiMiDi/ComfyUI-Aimidi-nodes": { "stars": 0, "last_update": "2024-06-20 17:26:02", - "author_account_age_days": 1272 + "author_account_age_days": 1273 }, "https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet": { - "stars": 649, - "last_update": "2024-06-20 13:38:54", - "author_account_age_days": 2696 + "stars": 650, + "last_update": "2024-06-21 14:41:01", + "author_account_age_days": 2697 }, "https://github.com/Alysondao/Comfyui-Yolov8-JSON": { "stars": 12, @@ -215,19 +215,19 @@ "author_account_age_days": 1027 }, "https://github.com/Amorano/Jovimetrix": { - "stars": 163, + "stars": 164, "last_update": "2024-06-04 15:28:54", "author_account_age_days": 5209 }, "https://github.com/AonekoSS/ComfyUI-LoRA-Tuner": { "stars": 4, "last_update": "2024-06-14 08:57:39", - "author_account_age_days": 4088 + "author_account_age_days": 4089 }, "https://github.com/AonekoSS/ComfyUI-SimpleCounter": { "stars": 1, "last_update": "2024-05-23 01:11:36", - "author_account_age_days": 4088 + "author_account_age_days": 4089 }, "https://github.com/ArcherFMY/Diffusion360_ComfyUI": { "stars": 18, @@ -237,15 +237,15 @@ "https://github.com/ArdeniusAI/CPlus_Ardenius": { "stars": 0, "last_update": "2024-06-14 07:13:26", - "author_account_age_days": 123 + "author_account_age_days": 124 }, "https://github.com/ArtBot2023/CharacterFaceSwap": { - "stars": 54, + "stars": 55, "last_update": "2024-05-22 20:53:09", "author_account_age_days": 290 }, "https://github.com/ArtVentureX/comfyui-animatediff": { - "stars": 633, + "stars": 634, "last_update": "2024-05-22 18:16:43", "author_account_age_days": 402 }, @@ -257,12 +257,12 @@ "https://github.com/AuroBit/ComfyUI-AnimateAnyone-reproduction": { "stars": 34, "last_update": "2024-06-14 09:03:24", - "author_account_age_days": 386 + "author_account_age_days": 387 }, "https://github.com/AuroBit/ComfyUI-OOTDiffusion": { - "stars": 337, + "stars": 338, "last_update": "2024-06-14 08:11:00", - "author_account_age_days": 386 + "author_account_age_days": 387 }, "https://github.com/AustinMroz/ComfyUI-DynamicOversampling": { "stars": 0, @@ -287,7 +287,7 @@ "https://github.com/BAIS1C/ComfyUI_RSS_Feed_Reader": { "stars": 2, "last_update": "2024-06-20 03:42:00", - "author_account_age_days": 486 + "author_account_age_days": 487 }, "https://github.com/BXYMartin/ComfyUI-InstantIDUtils": { "stars": 3, @@ -317,72 +317,72 @@ "https://github.com/Big-Idea-Technology/ComfyUI-Book-Tools": { "stars": 15, "last_update": "2024-06-21 10:21:10", - "author_account_age_days": 868 + "author_account_age_days": 869 }, "https://github.com/Big-Idea-Technology/ComfyUI_LLM_Node": { "stars": 50, "last_update": "2024-06-21 10:13:50", - "author_account_age_days": 868 + "author_account_age_days": 869 }, "https://github.com/Billius-AI/ComfyUI-Path-Helper": { "stars": 13, "last_update": "2024-05-22 23:25:08", - "author_account_age_days": 131 + "author_account_age_days": 132 }, "https://github.com/BlakeOne/ComfyUI-CustomScheduler": { "stars": 11, "last_update": "2024-05-23 00:23:56", - "author_account_age_days": 2529 + "author_account_age_days": 2530 }, "https://github.com/BlakeOne/ComfyUI-NodePresets": { "stars": 11, "last_update": "2024-05-23 00:24:07", - "author_account_age_days": 2529 + "author_account_age_days": 2530 }, "https://github.com/BlakeOne/ComfyUI-NodeReset": { "stars": 1, "last_update": "2024-05-23 00:24:18", - "author_account_age_days": 2529 + "author_account_age_days": 2530 }, "https://github.com/BlakeOne/ComfyUI-SchedulerMixer": { "stars": 10, "last_update": "2024-05-23 00:23:44", - "author_account_age_days": 2529 + "author_account_age_days": 2530 }, "https://github.com/BlenderNeko/ComfyUI_ADV_CLIP_emb": { "stars": 264, "last_update": "2024-05-22 14:56:13", - "author_account_age_days": 474 + "author_account_age_days": 475 }, "https://github.com/BlenderNeko/ComfyUI_Cutoff": { "stars": 337, "last_update": "2024-05-22 15:01:45", - "author_account_age_days": 474 + "author_account_age_days": 475 }, "https://github.com/BlenderNeko/ComfyUI_Noise": { "stars": 201, "last_update": "2024-06-10 16:38:48", - "author_account_age_days": 474 + "author_account_age_days": 475 }, "https://github.com/BlenderNeko/ComfyUI_SeeCoder": { "stars": 36, "last_update": "2024-05-22 14:57:04", - "author_account_age_days": 474 + "author_account_age_days": 475 }, "https://github.com/BlenderNeko/ComfyUI_TiledKSampler": { "stars": 291, "last_update": "2024-05-22 14:56:49", - "author_account_age_days": 474 + "author_account_age_days": 475 }, "https://github.com/CC-BryanOttho/ComfyUI_API_Manager": { "stars": 11, "last_update": "2024-06-14 07:13:34", - "author_account_age_days": 481 + "author_account_age_days": 482 }, "https://github.com/CYBERLOOM-INC/ComfyUI-nodes-hnmr": { "stars": 4, "last_update": "2024-05-22 17:55:41", - "author_account_age_days": 246 + "author_account_age_days": 247 }, "https://github.com/CavinHuang/comfyui-nodes-docs": { "stars": 60, @@ -407,17 +407,17 @@ "https://github.com/Chaoses-Ib/ComfyUI_Ib_CustomNodes": { "stars": 12, "last_update": "2024-04-05 11:14:24", - "author_account_age_days": 1875 + "author_account_age_days": 1876 }, "https://github.com/Clybius/ComfyUI-Extra-Samplers": { "stars": 55, "last_update": "2024-06-14 09:03:17", - "author_account_age_days": 1730 + "author_account_age_days": 1731 }, "https://github.com/Clybius/ComfyUI-Latent-Modifiers": { "stars": 43, "last_update": "2024-06-14 09:02:44", - "author_account_age_days": 1730 + "author_account_age_days": 1731 }, "https://github.com/CosmicLaca/ComfyUI_Primere_Nodes": { "stars": 82, @@ -427,27 +427,27 @@ "https://github.com/Danand/ComfyUI-ComfyCouple": { "stars": 21, "last_update": "2024-06-14 08:09:42", - "author_account_age_days": 4285 + "author_account_age_days": 4286 }, "https://github.com/DarKDinDoN/comfyui-checkpoint-automatic-config": { "stars": 3, "last_update": "2024-05-26 08:00:23", - "author_account_age_days": 4436 + "author_account_age_days": 4437 }, "https://github.com/DataCTE/prompt_injection": { "stars": 57, - "last_update": "2024-06-15 16:06:59", - "author_account_age_days": 774 + "last_update": "2024-06-21 12:56:43", + "author_account_age_days": 775 }, "https://github.com/Derfuu/Derfuu_ComfyUI_ModdedNodes": { "stars": 292, - "last_update": "2024-06-17 21:28:45", - "author_account_age_days": 1771 + "last_update": "2024-06-21 22:16:55", + "author_account_age_days": 1772 }, "https://github.com/DigitalIO/ComfyUI-stable-wildcards": { "stars": 19, "last_update": "2024-05-24 21:15:08", - "author_account_age_days": 4035 + "author_account_age_days": 4036 }, "https://github.com/DimaChaichan/LAizypainter-Exporter-ComfyUI": { "stars": 7, @@ -457,20 +457,20 @@ "https://github.com/DonBaronFactory/ComfyUI-Cre8it-Nodes": { "stars": 0, "last_update": "2024-05-22 23:24:30", - "author_account_age_days": 3484 + "author_account_age_days": 3485 }, "https://github.com/DrJKL/ComfyUI-Anchors": { "stars": 4, "last_update": "2024-06-20 18:23:00", - "author_account_age_days": 4991 + "author_account_age_days": 4992 }, "https://github.com/DrMWeigand/ComfyUI_ColorImageDetection": { "stars": 1, "last_update": "2024-05-23 00:25:14", - "author_account_age_days": 1028 + "author_account_age_days": 1029 }, "https://github.com/Electrofried/ComfyUI-OpenAINode": { - "stars": 18, + "stars": 19, "last_update": "2024-06-14 09:01:22", "author_account_age_days": 2617 }, @@ -482,87 +482,87 @@ "https://github.com/ExponentialML/ComfyUI_ModelScopeT2V": { "stars": 25, "last_update": "2024-05-23 00:12:17", - "author_account_age_days": 1620 + "author_account_age_days": 1621 }, "https://github.com/ExponentialML/ComfyUI_Native_DynamiCrafter": { "stars": 98, "last_update": "2024-06-08 02:33:02", - "author_account_age_days": 1620 + "author_account_age_days": 1621 }, "https://github.com/ExponentialML/ComfyUI_VisualStylePrompting": { "stars": 254, "last_update": "2024-05-23 00:12:41", - "author_account_age_days": 1620 + "author_account_age_days": 1621 }, "https://github.com/Extraltodeus/ComfyUI-AutomaticCFG": { "stars": 274, "last_update": "2024-06-21 00:44:06", - "author_account_age_days": 3146 + "author_account_age_days": 3147 }, "https://github.com/Extraltodeus/LoadLoraWithTags": { "stars": 38, "last_update": "2024-06-03 03:04:45", - "author_account_age_days": 3146 + "author_account_age_days": 3147 }, "https://github.com/Extraltodeus/Stable-Diffusion-temperature-settings": { "stars": 20, "last_update": "2024-06-18 14:03:50", - "author_account_age_days": 3146 + "author_account_age_days": 3147 }, "https://github.com/Extraltodeus/Uncond-Zero-for-ComfyUI": { "stars": 5, "last_update": "2024-06-20 16:40:27", - "author_account_age_days": 3146 + "author_account_age_days": 3147 }, "https://github.com/Extraltodeus/Vector_Sculptor_ComfyUI": { "stars": 81, "last_update": "2024-06-03 03:04:03", - "author_account_age_days": 3146 + "author_account_age_days": 3147 }, "https://github.com/Extraltodeus/noise_latent_perlinpinpin": { "stars": 22, "last_update": "2024-06-03 03:04:40", - "author_account_age_days": 3146 + "author_account_age_days": 3147 }, "https://github.com/Extraltodeus/sigmas_tools_and_the_golden_scheduler": { "stars": 43, "last_update": "2024-06-11 19:48:04", - "author_account_age_days": 3146 + "author_account_age_days": 3147 }, "https://github.com/Fannovel16/ComfyUI-Frame-Interpolation": { "stars": 335, "last_update": "2024-06-20 16:25:59", - "author_account_age_days": 3128 + "author_account_age_days": 3129 }, "https://github.com/Fannovel16/ComfyUI-Loopchain": { "stars": 28, "last_update": "2023-12-15 14:25:35", - "author_account_age_days": 3128 + "author_account_age_days": 3129 }, "https://github.com/Fannovel16/ComfyUI-MagickWand": { "stars": 70, "last_update": "2024-06-20 16:23:15", - "author_account_age_days": 3128 + "author_account_age_days": 3129 }, "https://github.com/Fannovel16/ComfyUI-MotionDiff": { - "stars": 145, + "stars": 146, "last_update": "2024-06-20 16:29:32", - "author_account_age_days": 3128 + "author_account_age_days": 3129 }, "https://github.com/Fannovel16/ComfyUI-Video-Matting": { "stars": 140, "last_update": "2024-06-20 16:14:38", - "author_account_age_days": 3128 + "author_account_age_days": 3129 }, "https://github.com/Fannovel16/comfyui_controlnet_aux": { - "stars": 1575, + "stars": 1577, "last_update": "2024-06-21 05:39:50", - "author_account_age_days": 3128 + "author_account_age_days": 3129 }, "https://github.com/Fantaxico/ComfyUI-GCP-Storage": { "stars": 0, "last_update": "2024-06-14 09:05:52", - "author_account_age_days": 532 + "author_account_age_days": 533 }, "https://github.com/Feidorian/feidorian-ComfyNodes": { "stars": 5, @@ -572,7 +572,7 @@ "https://github.com/Fictiverse/ComfyUI_Fictiverse": { "stars": 7, "last_update": "2024-06-05 19:03:21", - "author_account_age_days": 668 + "author_account_age_days": 669 }, "https://github.com/Fihade/IC-Light-ComfyUI-Node": { "stars": 5, @@ -582,22 +582,22 @@ "https://github.com/FizzleDorf/ComfyUI-AIT": { "stars": 43, "last_update": "2024-06-21 02:19:22", - "author_account_age_days": 1976 + "author_account_age_days": 1977 }, "https://github.com/FizzleDorf/ComfyUI_FizzNodes": { "stars": 311, "last_update": "2024-06-13 03:43:00", - "author_account_age_days": 1976 + "author_account_age_days": 1977 }, "https://github.com/FlyingFireCo/tiled_ksampler": { "stars": 56, "last_update": "2024-05-22 23:15:17", - "author_account_age_days": 629 + "author_account_age_days": 630 }, "https://github.com/ForeignGods/ComfyUI-Mana-Nodes": { "stars": 176, "last_update": "2024-05-29 18:29:05", - "author_account_age_days": 1240 + "author_account_age_days": 1241 }, "https://github.com/Franck-Demongin/NX_PromptStyler": { "stars": 5, @@ -617,17 +617,17 @@ "https://github.com/GMapeSplat/ComfyUI_ezXY": { "stars": 22, "last_update": "2024-05-29 17:43:08", - "author_account_age_days": 1294 + "author_account_age_days": 1295 }, "https://github.com/GTSuya-Studio/ComfyUI-Gtsuya-Nodes": { "stars": 7, "last_update": "2024-05-22 21:31:52", - "author_account_age_days": 2553 + "author_account_age_days": 2554 }, "https://github.com/GavChap/ComfyUI-SD3LatentSelectRes": { - "stars": 4, + "stars": 5, "last_update": "2024-06-19 11:01:41", - "author_account_age_days": 4564 + "author_account_age_days": 4565 }, "https://github.com/GentlemanHu/ComfyUI-SunoAI": { "stars": 10, @@ -637,17 +637,17 @@ "https://github.com/Goktug/comfyui-saveimage-plus": { "stars": 1, "last_update": "2024-06-20 07:23:48", - "author_account_age_days": 4928 + "author_account_age_days": 4929 }, "https://github.com/Gourieff/comfyui-reactor-node": { - "stars": 1045, + "stars": 1047, "last_update": "2024-06-20 16:58:07", - "author_account_age_days": 1116 + "author_account_age_days": 1117 }, "https://github.com/GraftingRayman/ComfyUI_GraftingRayman": { - "stars": 14, + "stars": 15, "last_update": "2024-06-21 10:18:50", - "author_account_age_days": 159 + "author_account_age_days": 160 }, "https://github.com/Guillaume-Fgt/ComfyUI_StableCascadeLatentRatio": { "stars": 3, @@ -657,7 +657,7 @@ "https://github.com/HAL41/ComfyUI-aichemy-nodes": { "stars": 4, "last_update": "2024-05-22 23:10:19", - "author_account_age_days": 2842 + "author_account_age_days": 2843 }, "https://github.com/Hangover3832/ComfyUI-Hangover-Moondream": { "stars": 37, @@ -707,32 +707,32 @@ "https://github.com/HaydenReeve/ComfyUI-Better-Strings": { "stars": 0, "last_update": "2024-05-22 23:20:05", - "author_account_age_days": 2238 + "author_account_age_days": 2239 }, "https://github.com/HebelHuber/comfyui-enhanced-save-node": { "stars": 1, "last_update": "2024-06-14 08:59:28", - "author_account_age_days": 2320 + "author_account_age_days": 2321 }, "https://github.com/Hiero207/ComfyUI-Hiero-Nodes": { "stars": 5, "last_update": "2024-05-22 23:16:16", - "author_account_age_days": 1695 + "author_account_age_days": 1696 }, "https://github.com/Hopping-Mad-Games/ComfyUI_LiteLLM": { "stars": 3, "last_update": "2024-06-14 15:45:39", - "author_account_age_days": 185 + "author_account_age_days": 186 }, "https://github.com/IDGallagher/ComfyUI-IG-Nodes": { "stars": 0, "last_update": "2024-06-04 00:24:47", - "author_account_age_days": 5477 + "author_account_age_days": 5478 }, "https://github.com/ITurchenko/ComfyUI-SizeFromArray": { "stars": 0, "last_update": "2024-05-24 14:09:58", - "author_account_age_days": 3705 + "author_account_age_days": 3706 }, "https://github.com/Intersection98/ComfyUI_MX_post_processing-nodes": { "stars": 9, @@ -742,17 +742,17 @@ "https://github.com/Inzaniak/comfyui-ranbooru": { "stars": 7, "last_update": "2024-05-22 23:12:23", - "author_account_age_days": 3906 + "author_account_age_days": 3907 }, "https://github.com/IsItDanOrAi/ComfyUI-Stereopsis": { "stars": 2, - "last_update": "2024-05-23 00:22:46", - "author_account_age_days": 108 + "last_update": "2024-06-21 20:39:06", + "author_account_age_days": 109 }, "https://github.com/JPS-GER/ComfyUI_JPS-Nodes": { "stars": 36, "last_update": "2024-05-22 20:39:14", - "author_account_age_days": 312 + "author_account_age_days": 313 }, "https://github.com/Jannchie/ComfyUI-J": { "stars": 62, @@ -761,8 +761,8 @@ }, "https://github.com/JaredTherriault/ComfyUI-JNodes": { "stars": 13, - "last_update": "2024-06-19 23:54:22", - "author_account_age_days": 3568 + "last_update": "2024-06-21 20:39:45", + "author_account_age_days": 3569 }, "https://github.com/JayLyu/ComfyUI_BaiKong_Node": { "stars": 0, @@ -782,32 +782,32 @@ "https://github.com/JerryOrbachJr/ComfyUI-RandomSize": { "stars": 3, "last_update": "2024-05-22 23:18:51", - "author_account_age_days": 152 + "author_account_age_days": 153 }, "https://github.com/JettHu/ComfyUI-TCD": { "stars": 85, "last_update": "2024-06-03 11:40:18", - "author_account_age_days": 2354 + "author_account_age_days": 2355 }, "https://github.com/JettHu/ComfyUI_TGate": { "stars": 48, "last_update": "2024-05-26 08:29:23", - "author_account_age_days": 2354 + "author_account_age_days": 2355 }, "https://github.com/Jordach/comfy-plasma": { "stars": 49, "last_update": "2024-05-22 18:08:28", - "author_account_age_days": 4509 + "author_account_age_days": 4510 }, "https://github.com/Kaharos94/ComfyUI-Saveaswebp": { "stars": 32, - "last_update": "2024-05-22 18:06:48", - "author_account_age_days": 1191 + "last_update": "2024-06-21 23:01:48", + "author_account_age_days": 1192 }, "https://github.com/Kangkang625/ComfyUI-paint-by-example": { "stars": 14, "last_update": "2024-05-22 22:20:27", - "author_account_age_days": 910 + "author_account_age_days": 911 }, "https://github.com/KewkLW/ComfyUI-kewky_tools": { "stars": 3, @@ -817,7 +817,7 @@ "https://github.com/Koishi-Star/Euler-Smea-Dyn-Sampler": { "stars": 134, "last_update": "2024-06-16 15:50:10", - "author_account_age_days": 1482 + "author_account_age_days": 1483 }, "https://github.com/KoreTeknology/ComfyUI-Universal-Styler": { "stars": 6, @@ -825,29 +825,29 @@ "author_account_age_days": 3187 }, "https://github.com/Kosinkadink/ComfyUI-Advanced-ControlNet": { - "stars": 415, + "stars": 416, "last_update": "2024-06-20 06:26:07", - "author_account_age_days": 3713 + "author_account_age_days": 3714 }, "https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved": { - "stars": 2247, - "last_update": "2024-06-20 14:08:17", - "author_account_age_days": 3713 + "stars": 2252, + "last_update": "2024-06-21 20:56:01", + "author_account_age_days": 3714 }, "https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite": { "stars": 396, "last_update": "2024-06-18 21:43:05", - "author_account_age_days": 3713 + "author_account_age_days": 3714 }, "https://github.com/KytraScript/ComfyUI_KytraWebhookHTTP": { "stars": 3, "last_update": "2024-05-23 00:21:43", - "author_account_age_days": 1776 + "author_account_age_days": 1777 }, "https://github.com/LEv145/images-grid-comfy-plugin": { "stars": 130, "last_update": "2024-05-30 17:54:32", - "author_account_age_days": 2204 + "author_account_age_days": 2205 }, "https://github.com/LZpenguin/ComfyUI-Text": { "stars": 6, @@ -857,12 +857,12 @@ "https://github.com/LarryJane491/Image-Captioning-in-ComfyUI": { "stars": 30, "last_update": "2024-06-06 20:45:43", - "author_account_age_days": 160 + "author_account_age_days": 161 }, "https://github.com/LarryJane491/Lora-Training-in-Comfy": { "stars": 261, "last_update": "2024-06-09 05:24:00", - "author_account_age_days": 160 + "author_account_age_days": 161 }, "https://github.com/Layer-norm/comfyui-lama-remover": { "stars": 55, @@ -872,37 +872,37 @@ "https://github.com/Lerc/canvas_tab": { "stars": 126, "last_update": "2024-05-22 20:48:45", - "author_account_age_days": 5364 + "author_account_age_days": 5365 }, "https://github.com/Limitex/ComfyUI-Calculation": { "stars": 0, "last_update": "2024-05-22 22:18:40", - "author_account_age_days": 1271 + "author_account_age_days": 1272 }, "https://github.com/Limitex/ComfyUI-Diffusers": { "stars": 110, "last_update": "2024-05-22 22:18:57", - "author_account_age_days": 1271 + "author_account_age_days": 1272 }, "https://github.com/Loewen-Hob/rembg-comfyui-node-better": { "stars": 32, "last_update": "2024-05-23 00:32:53", - "author_account_age_days": 467 + "author_account_age_days": 468 }, "https://github.com/LonicaMewinsky/ComfyUI-MakeFrame": { "stars": 23, "last_update": "2024-05-22 21:29:02", - "author_account_age_days": 972 + "author_account_age_days": 973 }, "https://github.com/LonicaMewinsky/ComfyUI-RawSaver": { "stars": 1, "last_update": "2024-05-22 21:31:28", - "author_account_age_days": 972 + "author_account_age_days": 973 }, "https://github.com/Ludobico/ComfyUI-ScenarioPrompt": { "stars": 13, "last_update": "2024-06-21 06:43:02", - "author_account_age_days": 1029 + "author_account_age_days": 1030 }, "https://github.com/LyazS/comfyui-anime-seg": { "stars": 4, @@ -945,14 +945,14 @@ "author_account_age_days": 4255 }, "https://github.com/MNeMoNiCuZ/ComfyUI-mnemic-nodes": { - "stars": 26, + "stars": 27, "last_update": "2024-06-04 23:56:25", - "author_account_age_days": 1601 + "author_account_age_days": 1602 }, "https://github.com/Makeezi/ComfyUI-promptLAB": { "stars": 0, "last_update": "2024-05-23 01:24:51", - "author_account_age_days": 1778 + "author_account_age_days": 1779 }, "https://github.com/Mamaaaamooooo/batchImg-rembg-ComfyUI-nodes": { "stars": 12, @@ -962,22 +962,22 @@ "https://github.com/ManglerFTW/ComfyI2I": { "stars": 139, "last_update": "2024-06-14 11:01:01", - "author_account_age_days": 652 + "author_account_age_days": 653 }, "https://github.com/MaraScott/ComfyUI_MaraScott_Nodes": { - "stars": 53, - "last_update": "2024-06-21 09:37:51", - "author_account_age_days": 4966 + "stars": 54, + "last_update": "2024-06-21 11:52:12", + "author_account_age_days": 4967 }, "https://github.com/MarcusNyne/m9-prompts-comfyui": { "stars": 1, "last_update": "2024-06-14 15:25:15", - "author_account_age_days": 1419 + "author_account_age_days": 1420 }, "https://github.com/MariusKM/ComfyUI-BadmanNodes": { - "stars": 0, - "last_update": "2024-06-21 08:23:00", - "author_account_age_days": 2227 + "stars": 1, + "last_update": "2024-06-21 15:20:22", + "author_account_age_days": 2228 }, "https://github.com/MarkoCa1/ComfyUI-Text": { "stars": 2, @@ -992,7 +992,7 @@ "https://github.com/Mason-McGough/ComfyUI-Mosaica": { "stars": 4, "last_update": "2024-05-29 12:57:49", - "author_account_age_days": 3202 + "author_account_age_days": 3203 }, "https://github.com/Millyarde/Pomfy": { "stars": 7, @@ -1001,28 +1001,28 @@ }, "https://github.com/MinusZoneAI/ComfyUI-Prompt-MZ": { "stars": 66, - "last_update": "2024-06-19 19:12:36", - "author_account_age_days": 62 + "last_update": "2024-06-21 17:27:45", + "author_account_age_days": 63 }, "https://github.com/MinusZoneAI/ComfyUI-StylizePhoto-MZ": { "stars": 16, "last_update": "2024-05-23 01:13:32", - "author_account_age_days": 62 + "author_account_age_days": 63 }, "https://github.com/MinusZoneAI/ComfyUI-TrainTools-MZ": { "stars": 1, - "last_update": "2024-06-20 15:13:51", - "author_account_age_days": 62 + "last_update": "2024-06-21 14:37:21", + "author_account_age_days": 63 }, "https://github.com/Miosp/ComfyUI-FBCNN": { "stars": 4, "last_update": "2024-05-24 12:13:08", - "author_account_age_days": 2512 + "author_account_age_days": 2513 }, "https://github.com/MitoshiroPJ/comfyui_slothful_attention": { "stars": 5, "last_update": "2024-05-22 22:09:15", - "author_account_age_days": 3964 + "author_account_age_days": 3965 }, "https://github.com/MokkaBoss1/ComfyUI_Mokkaboss1": { "stars": 15, @@ -1030,7 +1030,7 @@ "author_account_age_days": 376 }, "https://github.com/MrForExample/ComfyUI-3D-Pack": { - "stars": 1645, + "stars": 1652, "last_update": "2024-06-04 20:35:47", "author_account_age_days": 1558 }, @@ -1047,32 +1047,32 @@ "https://github.com/Nestorchik/NStor-ComfyUI-Translation": { "stars": 1, "last_update": "2024-06-14 10:25:32", - "author_account_age_days": 1321 + "author_account_age_days": 1322 }, "https://github.com/NeuralSamurAI/Comfyui-Superprompt-Unofficial": { "stars": 55, "last_update": "2024-05-23 00:22:08", - "author_account_age_days": 90 + "author_account_age_days": 91 }, "https://github.com/Nevysha/ComfyUI-nevysha-top-menu": { "stars": 5, "last_update": "2024-05-23 00:17:31", - "author_account_age_days": 523 + "author_account_age_days": 524 }, "https://github.com/NicholasMcCarthy/ComfyUI_TravelSuite": { "stars": 13, "last_update": "2024-05-22 20:34:46", - "author_account_age_days": 5146 + "author_account_age_days": 5147 }, "https://github.com/NimaNzrii/comfyui-photoshop": { - "stars": 173, - "last_update": "2024-06-18 22:59:33", - "author_account_age_days": 241 + "stars": 174, + "last_update": "2024-06-21 23:12:28", + "author_account_age_days": 242 }, "https://github.com/NimaNzrii/comfyui-popup_preview": { "stars": 34, "last_update": "2024-05-22 22:12:04", - "author_account_age_days": 241 + "author_account_age_days": 242 }, "https://github.com/Niutonian/ComfyUi-NoodleWebcam": { "stars": 27, @@ -1087,22 +1087,22 @@ "https://github.com/NotHarroweD/Harronode": { "stars": 5, "last_update": "2024-05-22 22:18:29", - "author_account_age_days": 1980 + "author_account_age_days": 1981 }, "https://github.com/Nourepide/ComfyUI-Allor": { "stars": 172, "last_update": "2024-05-22 18:11:17", - "author_account_age_days": 2842 + "author_account_age_days": 2843 }, "https://github.com/Nuked88/ComfyUI-N-Nodes": { "stars": 171, "last_update": "2024-05-21 19:52:44", - "author_account_age_days": 4476 + "author_account_age_days": 4477 }, "https://github.com/Nuked88/ComfyUI-N-Sidebar": { "stars": 379, "last_update": "2024-06-18 17:58:13", - "author_account_age_days": 4476 + "author_account_age_days": 4477 }, "https://github.com/Off-Live/ComfyUI-off-suite": { "stars": 0, @@ -1122,7 +1122,7 @@ "https://github.com/ParisNeo/lollms_nodes_suite": { "stars": 9, "last_update": "2024-05-23 00:22:34", - "author_account_age_days": 4766 + "author_account_age_days": 4767 }, "https://github.com/ParmanBabra/ComfyUI-Malefish-Custom-Scripts": { "stars": 0, @@ -1132,32 +1132,32 @@ "https://github.com/Pfaeff/pfaeff-comfyui": { "stars": 19, "last_update": "2024-05-22 18:21:10", - "author_account_age_days": 3204 + "author_account_age_days": 3205 }, "https://github.com/PnthrLeo/comfyUI-image-search": { "stars": 0, "last_update": "2024-06-14 07:06:45", - "author_account_age_days": 2548 + "author_account_age_days": 2549 }, "https://github.com/Pos13/comfyui-cyclist": { "stars": 18, "last_update": "2024-06-19 09:21:53", - "author_account_age_days": 1514 + "author_account_age_days": 1515 }, "https://github.com/QaisMalkawi/ComfyUI-QaisHelper": { "stars": 2, "last_update": "2024-05-23 20:29:30", - "author_account_age_days": 1247 + "author_account_age_days": 1248 }, "https://github.com/RenderRift/ComfyUI-RenderRiftNodes": { "stars": 6, "last_update": "2024-05-22 22:16:41", - "author_account_age_days": 183 + "author_account_age_days": 184 }, "https://github.com/RomanKuschanow/ComfyUI-Advanced-Latent-Control": { "stars": 15, "last_update": "2024-06-21 07:29:14", - "author_account_age_days": 1378 + "author_account_age_days": 1379 }, "https://github.com/Ron-Digital/ComfyUI-SceneGenerator": { "stars": 2, @@ -1167,42 +1167,42 @@ "https://github.com/Ryuukeisyou/comfyui_face_parsing": { "stars": 44, "last_update": "2024-05-22 22:21:46", - "author_account_age_days": 2409 + "author_account_age_days": 2410 }, "https://github.com/Ryuukeisyou/comfyui_io_helpers": { "stars": 1, "last_update": "2024-05-22 22:22:59", - "author_account_age_days": 2409 + "author_account_age_days": 2410 }, "https://github.com/SLAPaper/ComfyUI-Image-Selector": { "stars": 58, "last_update": "2024-05-24 17:03:46", - "author_account_age_days": 3694 + "author_account_age_days": 3695 }, "https://github.com/SLAPaper/ComfyUI-dpmpp_2m_alt-Sampler": { "stars": 8, "last_update": "2024-06-18 19:22:50", - "author_account_age_days": 3694 + "author_account_age_days": 3695 }, "https://github.com/SOELexicon/ComfyUI-LexMSDBNodes": { "stars": 4, "last_update": "2024-05-22 18:15:52", - "author_account_age_days": 4080 + "author_account_age_days": 4081 }, "https://github.com/SOELexicon/ComfyUI-LexTools": { "stars": 23, "last_update": "2024-05-23 09:39:07", - "author_account_age_days": 4080 + "author_account_age_days": 4081 }, "https://github.com/SamKhoze/ComfyUI-DeepFuze": { - "stars": 151, - "last_update": "2024-06-20 14:43:22", + "stars": 159, + "last_update": "2024-06-21 22:49:57", "author_account_age_days": 1440 }, "https://github.com/SayanoAI/Comfy-RVC": { "stars": 2, "last_update": "2024-06-14 08:57:33", - "author_account_age_days": 2600 + "author_account_age_days": 2601 }, "https://github.com/Scholar01/ComfyUI-Keyframe": { "stars": 10, @@ -1211,7 +1211,7 @@ }, "https://github.com/Scorpinaus/ComfyUI-DiffusersLoader": { "stars": 3, - "last_update": "2024-06-21 00:19:48", + "last_update": "2024-06-21 20:10:04", "author_account_age_days": 1107 }, "https://github.com/ScreamingHawk/comfyui-ollama-prompt-encode": { @@ -1227,7 +1227,7 @@ "https://github.com/SeargeDP/SeargeSDXL": { "stars": 740, "last_update": "2024-05-22 00:28:26", - "author_account_age_days": 4168 + "author_account_age_days": 4169 }, "https://github.com/Seedsa/Fooocus_Nodes": { "stars": 37, @@ -1237,7 +1237,7 @@ "https://github.com/Shadetail/ComfyUI_Eagleshadow": { "stars": 1, "last_update": "2024-06-15 13:04:49", - "author_account_age_days": 3394 + "author_account_age_days": 3395 }, "https://github.com/ShmuelRonen/ComfyUI-SVDResizer": { "stars": 1, @@ -1250,39 +1250,39 @@ "author_account_age_days": 1202 }, "https://github.com/ShmuelRonen/ComfyUI_wav2lip": { - "stars": 46, + "stars": 47, "last_update": "2024-06-15 10:03:53", "author_account_age_days": 1202 }, "https://github.com/Shraknard/ComfyUI-Remover": { "stars": 4, "last_update": "2024-05-22 23:15:06", - "author_account_age_days": 2313 + "author_account_age_days": 2314 }, "https://github.com/Siberpone/lazy-pony-prompter": { "stars": 23, "last_update": "2024-05-22 23:12:00", - "author_account_age_days": 449 + "author_account_age_days": 450 }, "https://github.com/Smirnov75/ComfyUI-mxToolkit": { "stars": 48, - "last_update": "2024-06-19 13:12:38", - "author_account_age_days": 1508 + "last_update": "2024-06-21 19:22:42", + "author_account_age_days": 1509 }, "https://github.com/SoftMeng/ComfyUI_ImageToText": { "stars": 6, "last_update": "2024-06-14 08:08:36", - "author_account_age_days": 3520 + "author_account_age_days": 3521 }, "https://github.com/SoftMeng/ComfyUI_Mexx_Poster": { "stars": 16, "last_update": "2024-06-14 07:06:27", - "author_account_age_days": 3520 + "author_account_age_days": 3521 }, "https://github.com/SoftMeng/ComfyUI_Mexx_Styler": { "stars": 17, "last_update": "2024-06-14 07:09:03", - "author_account_age_days": 3520 + "author_account_age_days": 3521 }, "https://github.com/Sorcerio/MBM-Music-Visualizer": { "stars": 15, @@ -1292,7 +1292,7 @@ "https://github.com/SozeInc/ComfyUI-Mobile": { "stars": 0, "last_update": "2024-06-14 07:09:00", - "author_account_age_days": 76 + "author_account_age_days": 77 }, "https://github.com/SpaceKendo/ComfyUI-svd_txt2vid": { "stars": 6, @@ -1302,12 +1302,12 @@ "https://github.com/Stability-AI/ComfyUI-SAI_API": { "stars": 38, "last_update": "2024-06-06 14:18:15", - "author_account_age_days": 839 + "author_account_age_days": 840 }, "https://github.com/Stability-AI/stability-ComfyUI-nodes": { "stars": 180, "last_update": "2024-05-22 15:30:47", - "author_account_age_days": 839 + "author_account_age_days": 840 }, "https://github.com/StartHua/ComfyUI_OOTDiffusion_CXH": { "stars": 91, @@ -1345,9 +1345,9 @@ "author_account_age_days": 3575 }, "https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes": { - "stars": 476, + "stars": 477, "last_update": "2024-06-05 01:09:25", - "author_account_age_days": 2146 + "author_account_age_days": 2147 }, "https://github.com/Sxela/ComfyWarp": { "stars": 21, @@ -1357,7 +1357,7 @@ "https://github.com/TGu-97/ComfyUI-TGu-utils": { "stars": 1, "last_update": "2024-05-22 21:07:45", - "author_account_age_days": 526 + "author_account_age_days": 527 }, "https://github.com/THtianhao/ComfyUI-FaceChain": { "stars": 83, @@ -1370,24 +1370,24 @@ "author_account_age_days": 3688 }, "https://github.com/TJ16th/comfyUI_TJ_NormalLighting": { - "stars": 128, + "stars": 127, "last_update": "2024-05-23 00:25:37", "author_account_age_days": 2532 }, "https://github.com/TMElyralab/Comfyui-MusePose": { - "stars": 256, + "stars": 258, "last_update": "2024-06-12 11:44:33", "author_account_age_days": 94 }, "https://github.com/TRI3D-LC/ComfyUI-MiroBoard": { "stars": 0, "last_update": "2024-06-19 07:24:27", - "author_account_age_days": 435 + "author_account_age_days": 436 }, "https://github.com/TRI3D-LC/tri3d-comfyui-nodes": { "stars": 17, - "last_update": "2024-06-21 08:10:56", - "author_account_age_days": 435 + "last_update": "2024-06-21 15:18:57", + "author_account_age_days": 436 }, "https://github.com/TW-CUI/TW-CUI-Util": { "stars": 1, @@ -1397,7 +1397,7 @@ "https://github.com/TaiTair/comfyui-simswap": { "stars": 7, "last_update": "2024-05-28 21:58:53", - "author_account_age_days": 3563 + "author_account_age_days": 3564 }, "https://github.com/Taremin/comfyui-prompt-extranetworks": { "stars": 2, @@ -1417,17 +1417,17 @@ "https://github.com/TeaCrab/ComfyUI-TeaNodes": { "stars": 4, "last_update": "2024-05-22 20:44:05", - "author_account_age_days": 3214 + "author_account_age_days": 3215 }, "https://github.com/TemryL/ComfyS3": { "stars": 15, "last_update": "2024-06-20 00:36:13", - "author_account_age_days": 865 + "author_account_age_days": 866 }, "https://github.com/TemryL/ComfyUI-IDM-VTON": { "stars": 201, "last_update": "2024-06-20 00:36:47", - "author_account_age_days": 865 + "author_account_age_days": 866 }, "https://github.com/TencentQQGYLab/ComfyUI-ELLA": { "stars": 285, @@ -1437,15 +1437,15 @@ "https://github.com/TheBarret/ZSuite": { "stars": 6, "last_update": "2024-06-21 07:00:00", - "author_account_age_days": 2709 + "author_account_age_days": 2710 }, "https://github.com/TheBill2001/comfyui-upscale-by-model": { "stars": 1, "last_update": "2024-06-18 17:57:06", - "author_account_age_days": 1438 + "author_account_age_days": 1439 }, "https://github.com/TheMistoAI/ComfyUI-Anyline": { - "stars": 262, + "stars": 263, "last_update": "2024-06-12 11:34:17", "author_account_age_days": 162 }, @@ -1456,23 +1456,23 @@ }, "https://github.com/TinyTerra/ComfyUI_tinyterraNodes": { "stars": 319, - "last_update": "2024-06-20 05:40:15", + "last_update": "2024-06-21 14:18:48", "author_account_age_days": 618 }, "https://github.com/TripleHeadedMonkey/ComfyUI_MileHighStyler": { "stars": 18, "last_update": "2024-05-22 22:13:06", - "author_account_age_days": 857 + "author_account_age_days": 858 }, "https://github.com/Tropfchen/ComfyUI-Embedding_Picker": { "stars": 25, "last_update": "2024-05-24 20:02:20", - "author_account_age_days": 3850 + "author_account_age_days": 3851 }, "https://github.com/Tropfchen/ComfyUI-yaResolutionSelector": { "stars": 7, "last_update": "2024-05-24 19:48:43", - "author_account_age_days": 3850 + "author_account_age_days": 3851 }, "https://github.com/Trung0246/ComfyUI-0246": { "stars": 91, @@ -1482,17 +1482,17 @@ "https://github.com/Ttl/ComfyUi_NNLatentUpscale": { "stars": 163, "last_update": "2024-05-22 20:50:03", - "author_account_age_days": 4918 + "author_account_age_days": 4919 }, "https://github.com/TylerZoro/SD3-Scaling": { "stars": 0, "last_update": "2024-06-15 16:59:22", - "author_account_age_days": 1282 + "author_account_age_days": 1283 }, "https://github.com/Umikaze-job/select_folder_path_easy": { "stars": 4, "last_update": "2024-05-22 21:30:13", - "author_account_age_days": 215 + "author_account_age_days": 216 }, "https://github.com/VAST-AI-Research/ComfyUI-Tripo": { "stars": 65, @@ -1502,37 +1502,37 @@ "https://github.com/WASasquatch/ASTERR": { "stars": 12, "last_update": "2024-06-17 00:49:59", - "author_account_age_days": 4622 + "author_account_age_days": 4623 }, "https://github.com/WASasquatch/ComfyUI_Preset_Merger": { "stars": 21, "last_update": "2024-06-17 00:52:28", - "author_account_age_days": 4622 + "author_account_age_days": 4623 }, "https://github.com/WASasquatch/FreeU_Advanced": { "stars": 97, "last_update": "2024-06-17 04:40:22", - "author_account_age_days": 4622 + "author_account_age_days": 4623 }, "https://github.com/WASasquatch/PPF_Noise_ComfyUI": { "stars": 20, "last_update": "2024-06-14 10:27:23", - "author_account_age_days": 4622 + "author_account_age_days": 4623 }, "https://github.com/WASasquatch/PowerNoiseSuite": { "stars": 54, "last_update": "2024-06-17 01:40:44", - "author_account_age_days": 4622 + "author_account_age_days": 4623 }, "https://github.com/WASasquatch/WAS_Extras": { "stars": 24, "last_update": "2024-06-17 04:08:37", - "author_account_age_days": 4622 + "author_account_age_days": 4623 }, "https://github.com/WASasquatch/was-node-suite-comfyui": { - "stars": 928, + "stars": 929, "last_update": "2024-06-20 20:53:10", - "author_account_age_days": 4622 + "author_account_age_days": 4623 }, "https://github.com/WebDev9000/WebDev9000-Nodes": { "stars": 1, @@ -1542,17 +1542,17 @@ "https://github.com/Wicloz/ComfyUI-Simply-Nodes": { "stars": 1, "last_update": "2024-06-20 15:49:25", - "author_account_age_days": 3640 + "author_account_age_days": 3641 }, "https://github.com/XmYx/deforum-comfy-nodes": { "stars": 120, "last_update": "2024-06-18 13:27:12", - "author_account_age_days": 2602 + "author_account_age_days": 2603 }, "https://github.com/Xyem/Xycuno-Oobabooga": { "stars": 3, "last_update": "2024-05-23 00:14:14", - "author_account_age_days": 4321 + "author_account_age_days": 4322 }, "https://github.com/YMC-GitHub/ymc-node-suite-comfyui": { "stars": 16, @@ -1562,7 +1562,7 @@ "https://github.com/YOUR-WORST-TACO/ComfyUI-TacoNodes": { "stars": 14, "last_update": "2024-05-22 20:48:23", - "author_account_age_days": 3752 + "author_account_age_days": 3753 }, "https://github.com/Yanick112/ComfyUI-ToSVG": { "stars": 13, @@ -1577,97 +1577,97 @@ "https://github.com/ZHO-ZHO-ZHO/ComfyUI-APISR": { "stars": 315, "last_update": "2024-05-22 14:14:46", - "author_account_age_days": 336 + "author_account_age_days": 337 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Animated-optical-illusions": { "stars": 17, "last_update": "2024-06-14 07:06:15", - "author_account_age_days": 336 + "author_account_age_days": 337 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-ArtGallery": { "stars": 351, "last_update": "2024-06-12 04:40:50", - "author_account_age_days": 336 + "author_account_age_days": 337 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-BRIA_AI-RMBG": { - "stars": 559, + "stars": 560, "last_update": "2024-05-22 14:14:18", - "author_account_age_days": 336 + "author_account_age_days": 337 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-BiRefNet-ZHO": { "stars": 142, "last_update": "2024-05-22 14:14:31", - "author_account_age_days": 336 + "author_account_age_days": 337 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-DepthFM": { "stars": 67, "last_update": "2024-05-22 14:14:03", - "author_account_age_days": 336 + "author_account_age_days": 337 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Gemini": { - "stars": 587, + "stars": 588, "last_update": "2024-05-22 14:15:11", - "author_account_age_days": 336 + "author_account_age_days": 337 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-InstantID": { "stars": 1194, "last_update": "2024-05-22 13:57:55", - "author_account_age_days": 336 + "author_account_age_days": 337 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Phi-3-mini": { "stars": 177, "last_update": "2024-06-18 19:10:34", - "author_account_age_days": 336 + "author_account_age_days": 337 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-PhotoMaker-ZHO": { - "stars": 747, + "stars": 748, "last_update": "2024-05-22 14:13:49", - "author_account_age_days": 336 + "author_account_age_days": 337 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-PixArt-alpha-Diffusers": { "stars": 44, "last_update": "2024-05-22 13:40:58", - "author_account_age_days": 336 + "author_account_age_days": 337 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Q-Align": { "stars": 3, "last_update": "2024-05-22 14:15:52", - "author_account_age_days": 336 + "author_account_age_days": 337 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Qwen-2": { "stars": 56, "last_update": "2024-06-14 12:02:55", - "author_account_age_days": 336 + "author_account_age_days": 337 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Qwen-VL-API": { "stars": 180, "last_update": "2024-05-22 14:14:57", - "author_account_age_days": 336 + "author_account_age_days": 337 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-SVD-ZHO": { "stars": 95, "last_update": "2024-05-22 13:40:44", - "author_account_age_days": 336 + "author_account_age_days": 337 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-SegMoE": { "stars": 73, "last_update": "2024-05-22 13:41:14", - "author_account_age_days": 336 + "author_account_age_days": 337 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Text_Image-Composite": { "stars": 74, "last_update": "2024-05-31 12:03:55", - "author_account_age_days": 336 + "author_account_age_days": 337 }, "https://github.com/ZHO-ZHO-ZHO/ComfyUI-YoloWorld-EfficientSAM": { "stars": 458, "last_update": "2024-05-22 13:01:07", - "author_account_age_days": 336 + "author_account_age_days": 337 }, "https://github.com/ZHO-ZHO-ZHO/comfyui-portrait-master-zh-cn": { "stars": 1484, "last_update": "2024-06-14 09:00:04", - "author_account_age_days": 336 + "author_account_age_days": 337 }, "https://github.com/ZaneA/ComfyUI-ImageReward": { "stars": 22, @@ -1682,22 +1682,22 @@ "https://github.com/Zuellni/ComfyUI-Custom-Nodes": { "stars": 44, "last_update": "2023-09-19 12:11:26", - "author_account_age_days": 519 + "author_account_age_days": 520 }, "https://github.com/Zuellni/ComfyUI-ExLlama": { "stars": 99, "last_update": "2024-06-14 16:54:57", - "author_account_age_days": 519 + "author_account_age_days": 520 }, "https://github.com/Zuellni/ComfyUI-ExLlama-Nodes": { "stars": 99, "last_update": "2024-06-14 16:54:57", - "author_account_age_days": 519 + "author_account_age_days": 520 }, "https://github.com/Zuellni/ComfyUI-PickScore-Nodes": { "stars": 22, "last_update": "2024-06-15 08:23:16", - "author_account_age_days": 519 + "author_account_age_days": 520 }, "https://github.com/a1lazydog/ComfyUI-AudioScheduler": { "stars": 91, @@ -1707,27 +1707,27 @@ "https://github.com/aburahamu/ComfyUI-IsNiceParts": { "stars": 2, "last_update": "2024-06-14 12:01:40", - "author_account_age_days": 69 + "author_account_age_days": 70 }, "https://github.com/aburahamu/ComfyUI-RequestsPoster": { "stars": 2, "last_update": "2024-06-14 13:59:24", - "author_account_age_days": 69 + "author_account_age_days": 70 }, "https://github.com/abyz22/image_control": { "stars": 14, "last_update": "2024-05-22 23:10:07", - "author_account_age_days": 159 + "author_account_age_days": 160 }, "https://github.com/adbrasi/ComfyUI-TrashNodes-DownloadHuggingface": { "stars": 4, "last_update": "2024-05-22 23:24:45", - "author_account_age_days": 700 + "author_account_age_days": 701 }, "https://github.com/adieyal/comfyui-dynamicprompts": { "stars": 180, "last_update": "2024-06-14 20:46:45", - "author_account_age_days": 5013 + "author_account_age_days": 5014 }, "https://github.com/adriflex/ComfyUI_Blender_Texdiff": { "stars": 1, @@ -1737,12 +1737,12 @@ "https://github.com/aegis72/aegisflow_utility_nodes": { "stars": 22, "last_update": "2024-05-22 22:10:29", - "author_account_age_days": 580 + "author_account_age_days": 581 }, "https://github.com/aegis72/comfyui-styles-all": { "stars": 29, "last_update": "2024-05-22 22:10:41", - "author_account_age_days": 580 + "author_account_age_days": 581 }, "https://github.com/ai-liam/comfyui-liam": { "stars": 2, @@ -1757,32 +1757,32 @@ "https://github.com/aianimation55/ComfyUI-FatLabels": { "stars": 4, "last_update": "2024-05-22 21:26:01", - "author_account_age_days": 270 + "author_account_age_days": 271 }, "https://github.com/al-swaiti/ComfyUI-CascadeResolutions": { "stars": 1, "last_update": "2024-06-14 10:27:51", - "author_account_age_days": 926 + "author_account_age_days": 927 }, "https://github.com/alessandrozonta/ComfyUI-CenterNode": { "stars": 2, "last_update": "2024-05-23 01:17:52", - "author_account_age_days": 1193 + "author_account_age_days": 1194 }, "https://github.com/alessandrozonta/ComfyUI-Layers": { "stars": 10, "last_update": "2024-06-14 09:04:36", - "author_account_age_days": 1193 + "author_account_age_days": 1194 }, "https://github.com/alessandrozonta/ComfyUI-OpenPose": { "stars": 1, "last_update": "2024-06-14 13:59:36", - "author_account_age_days": 1193 + "author_account_age_days": 1194 }, "https://github.com/alexopus/ComfyUI-Image-Saver": { "stars": 31, "last_update": "2024-06-19 18:13:53", - "author_account_age_days": 2676 + "author_account_age_days": 2677 }, "https://github.com/ali1234/comfyui-job-iterator": { "stars": 61, @@ -1792,12 +1792,12 @@ "https://github.com/alisson-anjos/ComfyUI-Ollama-Describer": { "stars": 31, "last_update": "2024-05-23 00:17:43", - "author_account_age_days": 597 + "author_account_age_days": 598 }, "https://github.com/alpertunga-bile/prompt-generator-comfyui": { "stars": 63, "last_update": "2024-06-09 18:31:22", - "author_account_age_days": 1269 + "author_account_age_days": 1270 }, "https://github.com/alsritter/asymmetric-tiling-comfyui": { "stars": 14, @@ -1817,7 +1817,7 @@ "https://github.com/an90ray/ComfyUI_RErouter_CustomNodes": { "stars": 0, "last_update": "2024-05-22 22:21:00", - "author_account_age_days": 185 + "author_account_age_days": 186 }, "https://github.com/andersxa/comfyui-PromptAttention": { "stars": 20, @@ -1827,17 +1827,17 @@ "https://github.com/angeloshredder/StableCascadeResizer": { "stars": 2, "last_update": "2024-05-23 00:12:55", - "author_account_age_days": 1825 + "author_account_age_days": 1826 }, "https://github.com/ansonkao/comfyui-geometry": { "stars": 7, "last_update": "2024-06-14 09:03:19", - "author_account_age_days": 342 + "author_account_age_days": 343 }, "https://github.com/antrobot1234/antrobots-comfyUI-nodepack": { "stars": 9, "last_update": "2024-05-28 14:44:16", - "author_account_age_days": 2859 + "author_account_age_days": 2860 }, "https://github.com/aria1th/ComfyUI-LogicUtils": { "stars": 19, @@ -1847,22 +1847,22 @@ "https://github.com/asagi4/ComfyUI-Adaptive-Guidance": { "stars": 4, "last_update": "2024-06-20 17:12:35", - "author_account_age_days": 437 + "author_account_age_days": 438 }, "https://github.com/asagi4/ComfyUI-CADS": { "stars": 32, "last_update": "2024-05-23 18:14:56", - "author_account_age_days": 437 + "author_account_age_days": 438 }, "https://github.com/asagi4/comfyui-prompt-control": { "stars": 158, "last_update": "2024-06-20 13:48:26", - "author_account_age_days": 437 + "author_account_age_days": 438 }, "https://github.com/asagi4/comfyui-utility-nodes": { "stars": 7, "last_update": "2024-05-25 11:40:49", - "author_account_age_days": 437 + "author_account_age_days": 438 }, "https://github.com/aszc-dev/ComfyUI-CoreMLSuite": { "stars": 88, @@ -1872,17 +1872,17 @@ "https://github.com/atmaranto/ComfyUI-SaveAsScript": { "stars": 46, "last_update": "2024-06-14 09:01:17", - "author_account_age_days": 2345 + "author_account_age_days": 2346 }, "https://github.com/audioscavenger/ComfyUI-Thumbnails": { "stars": 4, "last_update": "2024-06-07 07:19:30", - "author_account_age_days": 4117 + "author_account_age_days": 4118 }, "https://github.com/audioscavenger/save-image-extended-comfyui": { "stars": 18, "last_update": "2024-06-21 01:56:11", - "author_account_age_days": 4117 + "author_account_age_days": 4118 }, "https://github.com/avatechai/avatar-graph-comfyui": { "stars": 214, @@ -1892,7 +1892,7 @@ "https://github.com/aws-samples/comfyui-llm-node-for-amazon-bedrock": { "stars": 4, "last_update": "2024-06-12 15:04:39", - "author_account_age_days": 3555 + "author_account_age_days": 3556 }, "https://github.com/azure-dragon-ai/ComfyUI-ClipScore-Nodes": { "stars": 2, @@ -1902,12 +1902,12 @@ "https://github.com/badayvedat/ComfyUI-fal-Connector": { "stars": 12, "last_update": "2024-06-20 00:55:24", - "author_account_age_days": 1767 + "author_account_age_days": 1768 }, "https://github.com/badjeff/comfyui_lora_tag_loader": { "stars": 41, "last_update": "2024-05-22 20:40:03", - "author_account_age_days": 5359 + "author_account_age_days": 5360 }, "https://github.com/baicai99/ComfyUI-FrameSkipping": { "stars": 6, @@ -1927,17 +1927,17 @@ "https://github.com/bedovyy/ComfyUI_NAIDGenerator": { "stars": 18, "last_update": "2024-06-14 09:04:39", - "author_account_age_days": 359 + "author_account_age_days": 360 }, "https://github.com/bilal-arikan/ComfyUI_TextAssets": { "stars": 2, "last_update": "2024-05-22 23:23:50", - "author_account_age_days": 3504 + "author_account_age_days": 3505 }, "https://github.com/bitaffinity/ComfyUI_HF_Inference": { "stars": 0, "last_update": "2024-06-14 10:23:29", - "author_account_age_days": 53 + "author_account_age_days": 54 }, "https://github.com/blepping/ComfyUI-bleh": { "stars": 31, @@ -1957,42 +1957,42 @@ "https://github.com/blueraincoatli/comfyUI_SillyNodes": { "stars": 3, "last_update": "2024-06-09 13:30:57", - "author_account_age_days": 309 + "author_account_age_days": 310 }, "https://github.com/bmad4ever/ComfyUI-Bmad-DirtyUndoRedo": { "stars": 50, "last_update": "2024-05-22 18:11:51", - "author_account_age_days": 3533 + "author_account_age_days": 3534 }, "https://github.com/bmad4ever/comfyui_ab_samplercustom": { "stars": 5, "last_update": "2024-06-21 00:02:39", - "author_account_age_days": 3533 + "author_account_age_days": 3534 }, "https://github.com/bmad4ever/comfyui_bmad_nodes": { "stars": 47, "last_update": "2024-06-13 10:42:09", - "author_account_age_days": 3533 + "author_account_age_days": 3534 }, "https://github.com/bmad4ever/comfyui_lists_cartesian_product": { "stars": 3, "last_update": "2024-05-22 20:18:07", - "author_account_age_days": 3533 + "author_account_age_days": 3534 }, "https://github.com/bmad4ever/comfyui_quilting": { "stars": 3, "last_update": "2024-06-18 01:23:37", - "author_account_age_days": 3533 + "author_account_age_days": 3534 }, "https://github.com/bmad4ever/comfyui_wfc_like": { "stars": 5, "last_update": "2024-06-02 23:06:37", - "author_account_age_days": 3533 + "author_account_age_days": 3534 }, "https://github.com/bobmagicii/comfykit-custom-nodes": { "stars": 1, "last_update": "2024-06-04 20:04:00", - "author_account_age_days": 4741 + "author_account_age_days": 4742 }, "https://github.com/bradsec/ComfyUI_ResolutionSelector": { "stars": 7, @@ -2007,7 +2007,7 @@ "https://github.com/brianfitzgerald/style_aligned_comfy": { "stars": 247, "last_update": "2024-05-30 14:23:40", - "author_account_age_days": 4236 + "author_account_age_days": 4237 }, "https://github.com/bronkula/comfyui-fitsize": { "stars": 32, @@ -2017,7 +2017,7 @@ "https://github.com/bruefire/ComfyUI-SeqImageLoader": { "stars": 28, "last_update": "2024-06-08 15:48:49", - "author_account_age_days": 2362 + "author_account_age_days": 2363 }, "https://github.com/budihartono/comfyui_otonx_nodes": { "stars": 1, @@ -2027,37 +2027,37 @@ "https://github.com/bvhari/ComfyUI_ImageProcessing": { "stars": 16, "last_update": "2024-05-22 18:08:40", - "author_account_age_days": 1171 + "author_account_age_days": 1172 }, "https://github.com/bvhari/ComfyUI_LatentToRGB": { "stars": 11, "last_update": "2024-05-22 18:08:53", - "author_account_age_days": 1171 + "author_account_age_days": 1172 }, "https://github.com/bvhari/ComfyUI_PerpWeight": { - "stars": 10, + "stars": 11, "last_update": "2024-05-22 18:09:06", - "author_account_age_days": 1171 + "author_account_age_days": 1172 }, "https://github.com/bvhari/ComfyUI_SUNoise": { "stars": 3, "last_update": "2024-05-22 18:09:19", - "author_account_age_days": 1171 + "author_account_age_days": 1172 }, "https://github.com/cdb-boop/ComfyUI-Bringing-Old-Photos-Back-to-Life": { "stars": 19, - "last_update": "2024-05-23 00:09:32", - "author_account_age_days": 1201 + "last_update": "2024-06-21 15:05:26", + "author_account_age_days": 1202 }, "https://github.com/cdb-boop/comfyui-image-round": { "stars": 0, "last_update": "2024-05-23 00:09:02", - "author_account_age_days": 1201 + "author_account_age_days": 1202 }, "https://github.com/cerspense/ComfyUI_cspnodes": { "stars": 24, "last_update": "2024-06-14 07:12:08", - "author_account_age_days": 2678 + "author_account_age_days": 2679 }, "https://github.com/ceruleandeep/ComfyUI-LLaVA-Captioner": { "stars": 76, @@ -2087,147 +2087,147 @@ "https://github.com/chaojie/ComfyUI-AniPortrait": { "stars": 225, "last_update": "2024-05-22 22:26:03", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-CameraCtrl-Wrapper": { "stars": 16, "last_update": "2024-06-14 09:07:23", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-Champ": { "stars": 19, "last_update": "2024-05-22 22:26:47", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-DragAnything": { "stars": 66, "last_update": "2024-06-14 10:23:53", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-DragNUWA": { "stars": 359, "last_update": "2024-06-14 10:25:01", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-DynamiCrafter": { "stars": 108, "last_update": "2024-06-14 10:23:59", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-EasyAnimate": { "stars": 39, "last_update": "2024-05-22 22:24:00", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-Gemma": { "stars": 5, "last_update": "2024-05-22 22:27:47", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-I2VGEN-XL": { "stars": 27, "last_update": "2024-06-14 09:06:10", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-Img2Img-Turbo": { "stars": 36, "last_update": "2024-05-22 22:26:30", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-LaVIT": { "stars": 8, "last_update": "2024-06-14 10:27:44", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-LightGlue": { "stars": 48, "last_update": "2024-01-20 16:53:51", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-Moore-AnimateAnyone": { "stars": 201, "last_update": "2024-06-10 20:16:06", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-Motion-Vector-Extractor": { "stars": 0, "last_update": "2024-06-14 10:26:15", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-MotionCtrl": { "stars": 125, "last_update": "2024-06-14 10:26:02", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-MotionCtrl-SVD": { "stars": 79, "last_update": "2024-06-14 10:26:30", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-MuseTalk": { "stars": 141, "last_update": "2024-05-22 22:25:07", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-MuseV": { "stars": 122, "last_update": "2024-05-22 22:25:31", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-Open-Sora": { "stars": 87, "last_update": "2024-05-22 22:26:59", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-Open-Sora-Plan": { "stars": 48, "last_update": "2024-05-29 16:15:10", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-Panda3d": { "stars": 13, "last_update": "2024-06-14 10:28:47", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-Pymunk": { "stars": 16, "last_update": "2024-06-14 12:02:32", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-RAFT": { "stars": 25, "last_update": "2024-06-14 11:02:00", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-SimDA": { "stars": 13, "last_update": "2024-06-14 12:02:39", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-Trajectory": { "stars": 5, "last_update": "2024-05-22 22:27:12", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-Video-Editing-X-Attention": { "stars": 17, "last_update": "2024-06-14 10:28:16", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI-dust3r": { "stars": 14, "last_update": "2024-05-22 22:27:33", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaojie/ComfyUI_StreamingT2V": { "stars": 23, "last_update": "2024-06-14 10:26:21", - "author_account_age_days": 4830 + "author_account_age_days": 4831 }, "https://github.com/chaosaiart/Chaosaiart-Nodes": { "stars": 47, "last_update": "2024-05-27 10:55:18", - "author_account_age_days": 330 + "author_account_age_days": 331 }, "https://github.com/chenpx976/ComfyUI-RunRunRun": { "stars": 0, @@ -2237,7 +2237,7 @@ "https://github.com/chesnokovivan/ComfyUI-Novakid": { "stars": 0, "last_update": "2024-06-10 20:15:56", - "author_account_age_days": 1526 + "author_account_age_days": 1527 }, "https://github.com/chflame163/ComfyUI_FaceSimilarity": { "stars": 9, @@ -2245,7 +2245,7 @@ "author_account_age_days": 441 }, "https://github.com/chflame163/ComfyUI_LayerStyle": { - "stars": 623, + "stars": 626, "last_update": "2024-06-17 12:12:21", "author_account_age_days": 441 }, @@ -2272,7 +2272,7 @@ "https://github.com/chris-the-wiz/EmbeddingsCurveEditor_ComfyUI": { "stars": 4, "last_update": "2024-06-19 07:24:33", - "author_account_age_days": 1793 + "author_account_age_days": 1794 }, "https://github.com/chrisfreilich/virtuoso-nodes": { "stars": 49, @@ -2295,82 +2295,82 @@ "author_account_age_days": 4062 }, "https://github.com/chrisgoringe/cg-use-everywhere": { - "stars": 334, + "stars": 335, "last_update": "2024-06-06 05:23:41", "author_account_age_days": 4062 }, "https://github.com/chrish-slingshot/CrasHUtils": { "stars": 11, "last_update": "2024-06-20 12:53:00", - "author_account_age_days": 597 + "author_account_age_days": 598 }, "https://github.com/christian-byrne/img2colors-comfyui-node": { "stars": 1, "last_update": "2024-05-25 03:14:52", - "author_account_age_days": 1345 + "author_account_age_days": 1346 }, "https://github.com/christian-byrne/img2txt-comfyui-nodes": { "stars": 25, "last_update": "2024-05-28 14:02:16", - "author_account_age_days": 1345 + "author_account_age_days": 1346 }, "https://github.com/christian-byrne/size-match-compositing-nodes": { "stars": 2, "last_update": "2024-06-01 05:49:27", - "author_account_age_days": 1345 + "author_account_age_days": 1346 }, "https://github.com/city96/ComfyUI_ColorMod": { "stars": 40, "last_update": "2024-05-22 18:06:19", - "author_account_age_days": 494 + "author_account_age_days": 495 }, "https://github.com/city96/ComfyUI_DiT": { "stars": 2, "last_update": "2024-05-22 18:06:05", - "author_account_age_days": 494 + "author_account_age_days": 495 }, "https://github.com/city96/ComfyUI_ExtraModels": { "stars": 280, "last_update": "2024-06-19 08:45:39", - "author_account_age_days": 494 + "author_account_age_days": 495 }, "https://github.com/city96/ComfyUI_NetDist": { "stars": 218, "last_update": "2024-05-22 18:05:10", - "author_account_age_days": 494 + "author_account_age_days": 495 }, "https://github.com/city96/SD-Advanced-Noise": { "stars": 18, "last_update": "2024-05-22 18:05:35", - "author_account_age_days": 494 + "author_account_age_days": 495 }, "https://github.com/city96/SD-Latent-Interposer": { "stars": 180, "last_update": "2024-06-17 05:27:08", - "author_account_age_days": 494 + "author_account_age_days": 495 }, "https://github.com/city96/SD-Latent-Upscaler": { "stars": 112, "last_update": "2024-05-22 18:05:50", - "author_account_age_days": 494 + "author_account_age_days": 495 }, "https://github.com/civitai/comfy-nodes": { "stars": 85, "last_update": "2024-06-17 10:01:06", - "author_account_age_days": 595 + "author_account_age_days": 596 }, "https://github.com/claussteinmassl/ComfyUI-CS-CustomNodes": { "stars": 1, "last_update": "2024-06-14 09:03:10", - "author_account_age_days": 2697 + "author_account_age_days": 2698 }, "https://github.com/comfyanonymous/ComfyUI": { - "stars": 39552, - "last_update": "2024-06-20 21:08:57", + "stars": 39613, + "last_update": "2024-06-21 12:43:06", "author_account_age_days": 546 }, "https://github.com/comfyanonymous/ComfyUI_TensorRT": { - "stars": 298, + "stars": 300, "last_update": "2024-06-19 21:31:56", "author_account_age_days": 546 }, @@ -2412,17 +2412,17 @@ "https://github.com/cozymantis/cozy-utils-comfyui-nodes": { "stars": 3, "last_update": "2024-05-23 00:10:45", - "author_account_age_days": 105 + "author_account_age_days": 106 }, "https://github.com/cozymantis/human-parser-comfyui-node": { "stars": 49, "last_update": "2024-05-23 00:10:21", - "author_account_age_days": 105 + "author_account_age_days": 106 }, "https://github.com/cozymantis/pose-generator-comfyui-node": { "stars": 27, "last_update": "2024-05-23 00:10:33", - "author_account_age_days": 105 + "author_account_age_days": 106 }, "https://github.com/crystian/ComfyUI-Crystools": { "stars": 474, @@ -2435,17 +2435,17 @@ "author_account_age_days": 4114 }, "https://github.com/cubiq/ComfyUI_FaceAnalysis": { - "stars": 212, + "stars": 213, "last_update": "2024-06-14 08:08:35", "author_account_age_days": 5008 }, "https://github.com/cubiq/ComfyUI_IPAdapter_plus": { - "stars": 3008, + "stars": 3012, "last_update": "2024-06-20 06:27:42", "author_account_age_days": 5008 }, "https://github.com/cubiq/ComfyUI_InstantID": { - "stars": 898, + "stars": 900, "last_update": "2024-06-14 09:03:05", "author_account_age_days": 5008 }, @@ -2455,7 +2455,7 @@ "author_account_age_days": 5008 }, "https://github.com/cubiq/ComfyUI_essentials": { - "stars": 327, + "stars": 328, "last_update": "2024-06-20 08:39:08", "author_account_age_days": 5008 }, @@ -2472,7 +2472,7 @@ "https://github.com/curiousjp/ComfyUI-MaskBatchPermutations": { "stars": 3, "last_update": "2024-05-28 13:09:32", - "author_account_age_days": 1926 + "author_account_age_days": 1927 }, "https://github.com/czcz1024/Comfyui-FaceCompare": { "stars": 0, @@ -2482,32 +2482,32 @@ "https://github.com/da2el-ai/ComfyUI-d2-size-selector": { "stars": 1, "last_update": "2024-05-23 01:16:17", - "author_account_age_days": 386 + "author_account_age_days": 387 }, "https://github.com/da2el-ai/ComfyUI-d2-steps": { "stars": 4, "last_update": "2024-05-23 01:16:06", - "author_account_age_days": 386 + "author_account_age_days": 387 }, "https://github.com/dagthomas/comfyui_dagthomas": { "stars": 72, "last_update": "2024-06-16 22:39:37", - "author_account_age_days": 4068 + "author_account_age_days": 4069 }, "https://github.com/daniabib/ComfyUI_ProPainter_Nodes": { "stars": 154, "last_update": "2024-06-20 13:51:16", - "author_account_age_days": 2401 + "author_account_age_days": 2402 }, "https://github.com/daniel-lewis-ab/ComfyUI-Llama": { "stars": 25, "last_update": "2024-06-14 08:08:32", - "author_account_age_days": 3348 + "author_account_age_days": 3349 }, "https://github.com/daniel-lewis-ab/ComfyUI-TTS": { "stars": 11, "last_update": "2024-06-14 08:09:49", - "author_account_age_days": 3348 + "author_account_age_days": 3349 }, "https://github.com/darkpixel/darkprompts": { "stars": 6, @@ -2547,12 +2547,12 @@ "https://github.com/dchatel/comfyui_facetools": { "stars": 43, "last_update": "2024-06-20 12:58:02", - "author_account_age_days": 4532 + "author_account_age_days": 4533 }, "https://github.com/denfrost/Den_ComfyUI_Workflow": { "stars": 2, "last_update": "2024-06-20 14:57:57", - "author_account_age_days": 3493 + "author_account_age_days": 3494 }, "https://github.com/deroberon/StableZero123-comfyui": { "stars": 132, @@ -2567,17 +2567,17 @@ "https://github.com/dfl/comfyui-clip-with-break": { "stars": 9, "last_update": "2024-05-22 23:23:15", - "author_account_age_days": 5971 + "author_account_age_days": 5972 }, "https://github.com/dfl/comfyui-tcd-scheduler": { "stars": 77, "last_update": "2024-05-22 23:23:28", - "author_account_age_days": 5971 + "author_account_age_days": 5972 }, "https://github.com/diStyApps/ComfyUI_FrameMaker": { "stars": 10, "last_update": "2024-05-23 00:11:33", - "author_account_age_days": 4201 + "author_account_age_days": 4202 }, "https://github.com/dicksondickson/ComfyUI-Dickson-Nodes": { "stars": 2, @@ -2590,19 +2590,19 @@ "author_account_age_days": 4515 }, "https://github.com/dimtoneff/ComfyUI-PixelArt-Detector": { - "stars": 162, + "stars": 163, "last_update": "2024-06-14 08:58:27", - "author_account_age_days": 3411 + "author_account_age_days": 3412 }, "https://github.com/diontimmer/ComfyUI-Vextra-Nodes": { "stars": 60, "last_update": "2024-06-20 16:48:44", - "author_account_age_days": 4767 + "author_account_age_days": 4768 }, "https://github.com/discopixel-studio/comfyui-discopixel": { "stars": 7, "last_update": "2024-06-14 09:03:19", - "author_account_age_days": 342 + "author_account_age_days": 343 }, "https://github.com/discus0434/comfyui-aesthetic-predictor-v2-5": { "stars": 4, @@ -2615,29 +2615,29 @@ "author_account_age_days": 1467 }, "https://github.com/djbielejeski/a-person-mask-generator": { - "stars": 229, + "stars": 230, "last_update": "2024-06-15 04:06:44", - "author_account_age_days": 4280 + "author_account_age_days": 4281 }, "https://github.com/dmMaze/sketch2manga": { "stars": 24, "last_update": "2024-06-16 14:10:01", - "author_account_age_days": 1846 + "author_account_age_days": 1847 }, "https://github.com/dmarx/ComfyUI-AudioReactive": { "stars": 10, "last_update": "2024-05-22 22:12:53", - "author_account_age_days": 4501 + "author_account_age_days": 4502 }, "https://github.com/dmarx/ComfyUI-Keyframed": { "stars": 81, "last_update": "2024-05-22 22:12:50", - "author_account_age_days": 4501 + "author_account_age_days": 4502 }, "https://github.com/drago87/ComfyUI_Dragos_Nodes": { "stars": 3, "last_update": "2024-05-22 21:32:15", - "author_account_age_days": 3766 + "author_account_age_days": 3767 }, "https://github.com/drustan-hawk/primitive-types": { "stars": 5, @@ -2647,7 +2647,7 @@ "https://github.com/e7mac/ComfyUI-ShadertoyGL": { "stars": 2, "last_update": "2024-06-20 14:52:42", - "author_account_age_days": 4800 + "author_account_age_days": 4801 }, "https://github.com/ealkanat/comfyui_easy_padding": { "stars": 12, @@ -2656,23 +2656,23 @@ }, "https://github.com/edenartlab/eden_comfy_pipelines": { "stars": 40, - "last_update": "2024-06-06 21:49:00", - "author_account_age_days": 269 + "last_update": "2024-06-21 21:22:28", + "author_account_age_days": 270 }, "https://github.com/evanspearman/ComfyMath": { "stars": 53, "last_update": "2023-08-27 03:29:04", - "author_account_age_days": 4235 + "author_account_age_days": 4236 }, "https://github.com/exdysa/comfyui-selector": { "stars": 2, "last_update": "2024-06-20 01:31:09", - "author_account_age_days": 992 + "author_account_age_days": 993 }, "https://github.com/failfa-st/failfast-comfyui-extensions": { "stars": 128, "last_update": "2024-06-17 10:01:12", - "author_account_age_days": 270 + "author_account_age_days": 271 }, "https://github.com/fexli/fexli-util-node-comfyui": { "stars": 3, @@ -2695,9 +2695,9 @@ "author_account_age_days": 5041 }, "https://github.com/filipemeneses/comfy_pixelization": { - "stars": 29, + "stars": 30, "last_update": "2024-05-22 20:59:16", - "author_account_age_days": 3473 + "author_account_age_days": 3474 }, "https://github.com/filliptm/ComfyUI_Fill-Nodes": { "stars": 117, @@ -2707,37 +2707,37 @@ "https://github.com/florestefano1975/ComfyUI-HiDiffusion": { "stars": 133, "last_update": "2024-05-22 00:33:06", - "author_account_age_days": 190 + "author_account_age_days": 191 }, "https://github.com/florestefano1975/ComfyUI-StabilityAI-Suite": { "stars": 2, "last_update": "2024-06-14 09:05:46", - "author_account_age_days": 190 + "author_account_age_days": 191 }, "https://github.com/florestefano1975/comfyui-portrait-master": { - "stars": 752, + "stars": 754, "last_update": "2024-06-19 16:30:07", - "author_account_age_days": 190 + "author_account_age_days": 191 }, "https://github.com/florestefano1975/comfyui-prompt-composer": { - "stars": 208, + "stars": 209, "last_update": "2024-05-22 00:34:06", - "author_account_age_days": 190 + "author_account_age_days": 191 }, "https://github.com/flowtyone/ComfyUI-Flowty-CRM": { - "stars": 123, + "stars": 124, "last_update": "2024-06-14 10:23:09", - "author_account_age_days": 270 + "author_account_age_days": 271 }, "https://github.com/flowtyone/ComfyUI-Flowty-LDSR": { "stars": 162, "last_update": "2024-06-14 09:04:51", - "author_account_age_days": 270 + "author_account_age_days": 271 }, "https://github.com/flowtyone/ComfyUI-Flowty-TripoSR": { "stars": 357, "last_update": "2024-06-16 00:53:22", - "author_account_age_days": 270 + "author_account_age_days": 271 }, "https://github.com/flyingshutter/As_ComfyUI_CustomNodes": { "stars": 7, @@ -2747,47 +2747,47 @@ "https://github.com/fmatray/ComfyUI_BattlemapGrid": { "stars": 0, "last_update": "2024-06-05 22:35:06", - "author_account_age_days": 3618 + "author_account_age_days": 3619 }, "https://github.com/fofr/ComfyUI-HyperSDXL1StepUnetScheduler": { "stars": 10, "last_update": "2024-06-20 11:51:50", - "author_account_age_days": 5104 + "author_account_age_days": 5105 }, "https://github.com/forever22777/comfyui-self-guidance": { "stars": 6, "last_update": "2024-06-14 07:12:02", - "author_account_age_days": 321 + "author_account_age_days": 322 }, "https://github.com/foxtrot-roger/comfyui-rf-nodes": { "stars": 1, "last_update": "2024-05-22 23:09:13", - "author_account_age_days": 2317 + "author_account_age_days": 2318 }, "https://github.com/frankchieng/ComfyUI_Aniportrait": { - "stars": 43, + "stars": 44, "last_update": "2024-06-20 11:43:23", - "author_account_age_days": 437 + "author_account_age_days": 438 }, "https://github.com/frankchieng/ComfyUI_MagicClothing": { - "stars": 413, + "stars": 414, "last_update": "2024-06-20 11:31:17", - "author_account_age_days": 437 + "author_account_age_days": 438 }, "https://github.com/frankchieng/ComfyUI_llm_easyanimiate": { "stars": 8, "last_update": "2024-06-20 14:43:01", - "author_account_age_days": 437 + "author_account_age_days": 438 }, "https://github.com/fsdymy1024/ComfyUI_fsdymy": { "stars": 2, "last_update": "2024-05-23 01:21:16", - "author_account_age_days": 2202 + "author_account_age_days": 2203 }, "https://github.com/gemell1/ComfyUI_GMIC": { "stars": 5, "last_update": "2024-05-22 21:28:51", - "author_account_age_days": 1953 + "author_account_age_days": 1954 }, "https://github.com/get-salt-AI/SaltAI": { "stars": 53, @@ -2807,7 +2807,7 @@ "https://github.com/ginlov/segment_to_mask_comfyui": { "stars": 1, "last_update": "2024-06-14 10:23:23", - "author_account_age_days": 2008 + "author_account_age_days": 2009 }, "https://github.com/giriss/comfy-image-saver": { "stars": 146, @@ -2842,17 +2842,17 @@ "https://github.com/glibsonoran/Plush-for-ComfyUI": { "stars": 108, "last_update": "2024-06-19 00:05:03", - "author_account_age_days": 2494 + "author_account_age_days": 2495 }, "https://github.com/glifxyz/ComfyUI-GlifNodes": { "stars": 7, "last_update": "2024-06-19 08:09:46", - "author_account_age_days": 570 + "author_account_age_days": 571 }, "https://github.com/glowcone/comfyui-base64-to-image": { "stars": 8, "last_update": "2024-06-14 09:01:12", - "author_account_age_days": 3742 + "author_account_age_days": 3743 }, "https://github.com/godspede/ComfyUI_Substring": { "stars": 0, @@ -2862,22 +2862,22 @@ "https://github.com/gokayfem/ComfyUI-Depth-Visualization": { "stars": 48, "last_update": "2024-05-21 00:37:05", - "author_account_age_days": 1054 + "author_account_age_days": 1055 }, "https://github.com/gokayfem/ComfyUI-Dream-Interpreter": { - "stars": 67, + "stars": 66, "last_update": "2024-05-21 00:36:50", - "author_account_age_days": 1054 + "author_account_age_days": 1055 }, "https://github.com/gokayfem/ComfyUI-Texture-Simple": { "stars": 29, "last_update": "2024-05-21 00:19:53", - "author_account_age_days": 1054 + "author_account_age_days": 1055 }, "https://github.com/gokayfem/ComfyUI_VLM_nodes": { "stars": 275, "last_update": "2024-06-02 10:23:55", - "author_account_age_days": 1054 + "author_account_age_days": 1055 }, "https://github.com/gonzalu/ComfyUI_YFG_Comical": { "stars": 13, @@ -2885,9 +2885,9 @@ "author_account_age_days": 2458 }, "https://github.com/griptape-ai/ComfyUI-Griptape": { - "stars": 21, - "last_update": "2024-06-21 02:25:00", - "author_account_age_days": 517 + "stars": 22, + "last_update": "2024-06-21 22:22:11", + "author_account_age_days": 518 }, "https://github.com/guill/abracadabra-comfyui": { "stars": 1, @@ -2907,7 +2907,7 @@ "https://github.com/haohaocreates/ComfyUI-HH-Image-Selector": { "stars": 0, "last_update": "2024-06-14 08:13:19", - "author_account_age_days": 102 + "author_account_age_days": 103 }, "https://github.com/hay86/ComfyUI_AceNodes": { "stars": 8, @@ -2947,11 +2947,11 @@ "https://github.com/hben35096/ComfyUI-ToolBox": { "stars": 0, "last_update": "2024-06-14 08:09:46", - "author_account_age_days": 344 + "author_account_age_days": 345 }, "https://github.com/heshengtao/comfyui_LLM_party": { "stars": 114, - "last_update": "2024-06-21 09:22:04", + "last_update": "2024-06-21 17:07:00", "author_account_age_days": 2892 }, "https://github.com/hhhzzyang/Comfyui_Lama": { @@ -2966,13 +2966,13 @@ }, "https://github.com/hinablue/ComfyUI_3dPoseEditor": { "stars": 116, - "last_update": "2024-05-22 22:23:35", + "last_update": "2024-06-21 17:38:40", "author_account_age_days": 5109 }, "https://github.com/holchan/ComfyUI-ModelDownloader": { "stars": 2, "last_update": "2024-06-14 08:59:42", - "author_account_age_days": 1588 + "author_account_age_days": 1589 }, "https://github.com/huagetai/ComfyUI-Gaffer": { "stars": 33, @@ -2986,53 +2986,53 @@ }, "https://github.com/huchenlei/ComfyUI-IC-Light-Native": { "stars": 373, - "last_update": "2024-06-14 08:58:03", - "author_account_age_days": 2872 + "last_update": "2024-06-21 21:49:44", + "author_account_age_days": 2873 }, "https://github.com/huchenlei/ComfyUI-layerdiffuse": { - "stars": 1258, + "stars": 1259, "last_update": "2024-06-20 21:41:48", - "author_account_age_days": 2872 + "author_account_age_days": 2873 }, "https://github.com/huchenlei/ComfyUI-openpose-editor": { "stars": 19, - "last_update": "2024-06-20 22:08:22", - "author_account_age_days": 2872 + "last_update": "2024-06-21 16:07:50", + "author_account_age_days": 2873 }, "https://github.com/huchenlei/ComfyUI_DanTagGen": { "stars": 50, - "last_update": "2024-06-14 08:58:15", - "author_account_age_days": 2872 + "last_update": "2024-06-21 21:46:47", + "author_account_age_days": 2873 }, "https://github.com/huchenlei/ComfyUI_densediffusion": { "stars": 59, "last_update": "2024-06-11 00:39:28", - "author_account_age_days": 2872 + "author_account_age_days": 2873 }, "https://github.com/huchenlei/ComfyUI_omost": { - "stars": 308, + "stars": 313, "last_update": "2024-06-14 12:45:52", - "author_account_age_days": 2872 + "author_account_age_days": 2873 }, "https://github.com/hughescr/ComfyUI-OpenPose-Keypoint-Extractor": { "stars": 6, "last_update": "2024-06-14 09:04:25", - "author_account_age_days": 5637 + "author_account_age_days": 5638 }, "https://github.com/humgate/simplecomfy": { "stars": 0, "last_update": "2024-06-14 08:58:21", - "author_account_age_days": 1363 + "author_account_age_days": 1364 }, "https://github.com/hustille/ComfyUI_Fooocus_KSampler": { "stars": 58, "last_update": "2024-05-22 20:39:48", - "author_account_age_days": 436 + "author_account_age_days": 437 }, "https://github.com/hustille/ComfyUI_hus_utils": { "stars": 6, "last_update": "2024-05-22 20:39:34", - "author_account_age_days": 436 + "author_account_age_days": 437 }, "https://github.com/hylarucoder/ComfyUI-Eagle-PNGInfo": { "stars": 7, @@ -3047,17 +3047,17 @@ "https://github.com/icesun963/ComfyUI_HFDownLoad": { "stars": 0, "last_update": "2024-06-14 08:59:58", - "author_account_age_days": 4102 + "author_account_age_days": 4103 }, "https://github.com/idrirap/ComfyUI-Lora-Auto-Trigger-Words": { - "stars": 94, + "stars": 95, "last_update": "2024-06-20 15:56:56", - "author_account_age_days": 3046 + "author_account_age_days": 3047 }, "https://github.com/iemesowum/ComfyUI_IsaacNodes": { "stars": 0, "last_update": "2024-06-14 09:00:05", - "author_account_age_days": 5288 + "author_account_age_days": 5289 }, "https://github.com/if-ai/ComfyUI-IF_AI_HFDownloaderNode": { "stars": 2, @@ -3070,34 +3070,34 @@ "author_account_age_days": 2859 }, "https://github.com/if-ai/ComfyUI-IF_AI_tools": { - "stars": 355, + "stars": 356, "last_update": "2024-06-10 22:40:42", "author_account_age_days": 2859 }, "https://github.com/imb101/ComfyUI-FaceSwap": { "stars": 28, "last_update": "2024-05-22 18:22:29", - "author_account_age_days": 885 + "author_account_age_days": 886 }, "https://github.com/jags111/ComfyUI_Jags_Audiotools": { "stars": 32, "last_update": "2024-05-19 18:54:12", - "author_account_age_days": 3867 + "author_account_age_days": 3868 }, "https://github.com/jags111/ComfyUI_Jags_VectorMagic": { "stars": 51, "last_update": "2024-05-19 18:49:42", - "author_account_age_days": 3867 + "author_account_age_days": 3868 }, "https://github.com/jags111/efficiency-nodes-comfyui": { "stars": 686, "last_update": "2024-06-17 07:23:01", - "author_account_age_days": 3867 + "author_account_age_days": 3868 }, "https://github.com/jamal-alkharrat/ComfyUI_rotate_image": { "stars": 0, "last_update": "2024-05-22 23:19:02", - "author_account_age_days": 973 + "author_account_age_days": 974 }, "https://github.com/jamesWalker55/comfyui-p2ldgan": { "stars": 12, @@ -3112,12 +3112,12 @@ "https://github.com/jax-explorer/fast_video_comfyui": { "stars": 0, "last_update": "2024-05-23 01:17:35", - "author_account_age_days": 573 + "author_account_age_days": 574 }, "https://github.com/jeffy5/comfyui-faceless-node": { "stars": 13, "last_update": "2024-06-14 04:11:28", - "author_account_age_days": 2927 + "author_account_age_days": 2928 }, "https://github.com/jesenzhang/ComfyUI_StreamDiffusion": { "stars": 105, @@ -3130,9 +3130,9 @@ "author_account_age_days": 1283 }, "https://github.com/jitcoder/lora-info": { - "stars": 43, + "stars": 44, "last_update": "2024-06-20 13:04:19", - "author_account_age_days": 4037 + "author_account_age_days": 4038 }, "https://github.com/jjkramhoeft/ComfyUI-Jjk-Nodes": { "stars": 4, @@ -3142,7 +3142,7 @@ "https://github.com/jkrauss82/ultools-comfyui": { "stars": 5, "last_update": "2024-06-14 08:12:15", - "author_account_age_days": 4208 + "author_account_age_days": 4209 }, "https://github.com/jmkl/ComfyUI-ricing": { "stars": 9, @@ -3157,12 +3157,12 @@ "https://github.com/jordoh/ComfyUI-Deepface": { "stars": 10, "last_update": "2024-06-14 08:08:29", - "author_account_age_days": 4990 + "author_account_age_days": 4991 }, "https://github.com/jtrue/ComfyUI-JaRue": { "stars": 6, "last_update": "2024-06-14 09:01:12", - "author_account_age_days": 3926 + "author_account_age_days": 3927 }, "https://github.com/jtydhr88/ComfyUI-LayerDivider": { "stars": 45, @@ -3175,7 +3175,7 @@ "author_account_age_days": 4750 }, "https://github.com/juehackr/comfyui_fk_server": { - "stars": 31, + "stars": 32, "last_update": "2024-06-17 14:20:57", "author_account_age_days": 1109 }, @@ -3187,17 +3187,17 @@ "https://github.com/kaanyalova/ComfyUI_ExtendedImageFormats": { "stars": 2, "last_update": "2024-06-03 13:20:01", - "author_account_age_days": 1263 + "author_account_age_days": 1264 }, "https://github.com/kadirnar/ComfyUI-Transformers": { "stars": 17, "last_update": "2024-06-20 22:52:59", - "author_account_age_days": 2326 + "author_account_age_days": 2327 }, "https://github.com/kadirnar/ComfyUI-YOLO": { "stars": 12, - "last_update": "2024-06-20 20:53:12", - "author_account_age_days": 2326 + "last_update": "2024-06-21 22:24:21", + "author_account_age_days": 2327 }, "https://github.com/kale4eat/ComfyUI-path-util": { "stars": 0, @@ -3222,7 +3222,7 @@ "https://github.com/katalist-ai/comfyUI-nsfw-detection": { "stars": 1, "last_update": "2024-05-23 01:23:32", - "author_account_age_days": 750 + "author_account_age_days": 751 }, "https://github.com/kealiu/ComfyUI-S3-Tools": { "stars": 1, @@ -3242,7 +3242,7 @@ "https://github.com/kenjiqq/qq-nodes-comfyui": { "stars": 23, "last_update": "2024-05-22 21:34:53", - "author_account_age_days": 4886 + "author_account_age_days": 4887 }, "https://github.com/kft334/Knodes": { "stars": 3, @@ -3275,7 +3275,7 @@ "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-DepthAnythingV2": { - "stars": 79, + "stars": 80, "last_update": "2024-06-19 08:57:28", "author_account_age_days": 2180 }, @@ -3285,7 +3285,7 @@ "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-DynamiCrafterWrapper": { - "stars": 463, + "stars": 466, "last_update": "2024-06-09 11:19:05", "author_account_age_days": 2180 }, @@ -3295,7 +3295,7 @@ "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-Florence2": { - "stars": 102, + "stars": 120, "last_update": "2024-06-20 21:30:03", "author_account_age_days": 2180 }, @@ -3305,12 +3305,12 @@ "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-IC-Light": { - "stars": 389, + "stars": 392, "last_update": "2024-06-19 09:18:06", "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-KJNodes": { - "stars": 331, + "stars": 332, "last_update": "2024-06-21 08:23:35", "author_account_age_days": 2180 }, @@ -3320,17 +3320,17 @@ "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-LuminaWrapper": { - "stars": 133, + "stars": 135, "last_update": "2024-06-20 14:27:15", "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-Marigold": { - "stars": 376, + "stars": 380, "last_update": "2024-06-19 09:10:03", "author_account_age_days": 2180 }, "https://github.com/kijai/ComfyUI-SUPIR": { - "stars": 1167, + "stars": 1170, "last_update": "2024-05-21 14:56:36", "author_account_age_days": 2180 }, @@ -3352,22 +3352,22 @@ "https://github.com/kinfolk0117/ComfyUI_GradientDeepShrink": { "stars": 23, "last_update": "2024-05-22 21:25:13", - "author_account_age_days": 465 + "author_account_age_days": 466 }, "https://github.com/kinfolk0117/ComfyUI_Pilgram": { "stars": 7, "last_update": "2024-05-22 21:25:24", - "author_account_age_days": 465 + "author_account_age_days": 466 }, "https://github.com/kinfolk0117/ComfyUI_SimpleTiles": { "stars": 24, "last_update": "2024-05-22 21:25:01", - "author_account_age_days": 465 + "author_account_age_days": 466 }, "https://github.com/klinter007/klinter_nodes": { "stars": 4, "last_update": "2024-06-14 09:05:41", - "author_account_age_days": 422 + "author_account_age_days": 423 }, "https://github.com/knuknX/ComfyUI-Image-Tools": { "stars": 3, @@ -3392,12 +3392,12 @@ "https://github.com/kunieone/ComfyUI_alkaid": { "stars": 0, "last_update": "2024-05-23 01:10:21", - "author_account_age_days": 2516 + "author_account_age_days": 2517 }, "https://github.com/kwaroran/abg-comfyui": { "stars": 22, "last_update": "2024-05-22 18:19:51", - "author_account_age_days": 604 + "author_account_age_days": 605 }, "https://github.com/l20richo/ComfyUI-Azure-Blob-Storage": { "stars": 2, @@ -3435,14 +3435,14 @@ "author_account_age_days": 2828 }, "https://github.com/larsupb/LoRA-Merger-ComfyUI": { - "stars": 10, + "stars": 11, "last_update": "2024-06-14 10:23:47", - "author_account_age_days": 3072 + "author_account_age_days": 3073 }, "https://github.com/latenightlabs/ComfyUI-LNL": { "stars": 16, "last_update": "2024-06-20 18:16:24", - "author_account_age_days": 147 + "author_account_age_days": 148 }, "https://github.com/leoleelxh/ComfyUI-LLMs": { "stars": 7, @@ -3452,7 +3452,7 @@ "https://github.com/lilly1987/ComfyUI_node_Lilly": { "stars": 49, "last_update": "2024-05-22 17:53:19", - "author_account_age_days": 2906 + "author_account_age_days": 2907 }, "https://github.com/linshier/comfyui-remote-tools": { "stars": 1, @@ -3462,42 +3462,42 @@ "https://github.com/liusida/ComfyUI-AutoCropFaces": { "stars": 19, "last_update": "2024-06-21 00:41:53", - "author_account_age_days": 3204 + "author_account_age_days": 3205 }, "https://github.com/liusida/ComfyUI-B-LoRA": { - "stars": 14, + "stars": 15, "last_update": "2024-06-18 03:17:46", - "author_account_age_days": 3204 + "author_account_age_days": 3205 }, "https://github.com/liusida/ComfyUI-Debug": { "stars": 6, "last_update": "2024-06-14 10:25:26", - "author_account_age_days": 3204 + "author_account_age_days": 3205 }, "https://github.com/liusida/ComfyUI-Login": { "stars": 38, "last_update": "2024-06-19 03:30:09", - "author_account_age_days": 3204 + "author_account_age_days": 3205 }, "https://github.com/liusida/ComfyUI-SD3-nodes": { "stars": 3, "last_update": "2024-06-14 13:01:41", - "author_account_age_days": 3204 + "author_account_age_days": 3205 }, "https://github.com/ljleb/comfy-mecha": { "stars": 21, "last_update": "2024-06-18 20:57:28", - "author_account_age_days": 2460 + "author_account_age_days": 2461 }, "https://github.com/lks-ai/ComfyUI-StableAudioSampler": { "stars": 170, "last_update": "2024-06-17 18:54:17", - "author_account_age_days": 96 + "author_account_age_days": 97 }, "https://github.com/lks-ai/anynode": { - "stars": 406, + "stars": 407, "last_update": "2024-06-14 10:25:56", - "author_account_age_days": 96 + "author_account_age_days": 97 }, "https://github.com/lldacing/comfyui-easyapi-nodes": { "stars": 28, @@ -3505,7 +3505,7 @@ "author_account_age_days": 2090 }, "https://github.com/logtd/ComfyUI-FLATTEN": { - "stars": 68, + "stars": 69, "last_update": "2024-06-14 18:00:19", "author_account_age_days": 119 }, @@ -3537,22 +3537,22 @@ "https://github.com/longgui0318/comfyui-llm-assistant": { "stars": 5, "last_update": "2024-05-22 23:13:46", - "author_account_age_days": 4161 + "author_account_age_days": 4162 }, "https://github.com/longgui0318/comfyui-magic-clothing": { "stars": 21, "last_update": "2024-06-14 10:27:32", - "author_account_age_days": 4161 + "author_account_age_days": 4162 }, "https://github.com/longgui0318/comfyui-mask-util": { "stars": 4, "last_update": "2024-06-15 02:59:08", - "author_account_age_days": 4161 + "author_account_age_days": 4162 }, "https://github.com/longgui0318/comfyui-oms-diffusion": { "stars": 21, "last_update": "2024-06-14 10:27:32", - "author_account_age_days": 4161 + "author_account_age_days": 4162 }, "https://github.com/lordgasmic/comfyui_save_image_with_options": { "stars": 0, @@ -3566,16 +3566,16 @@ }, "https://github.com/lquesada/ComfyUI-Inpaint-CropAndStitch": { "stars": 149, - "last_update": "2024-06-20 12:42:37", - "author_account_age_days": 4047 + "last_update": "2024-06-21 10:54:35", + "author_account_age_days": 4048 }, "https://github.com/lquesada/ComfyUI-Prompt-Combinator": { - "stars": 19, - "last_update": "2024-06-19 18:16:35", - "author_account_age_days": 4047 + "stars": 20, + "last_update": "2024-06-21 10:59:38", + "author_account_age_days": 4048 }, "https://github.com/ltdrdata/ComfyUI-Impact-Pack": { - "stars": 1384, + "stars": 1385, "last_update": "2024-06-20 23:01:44", "author_account_age_days": 459 }, @@ -3585,19 +3585,19 @@ "author_account_age_days": 459 }, "https://github.com/ltdrdata/ComfyUI-Manager": { - "stars": 4389, - "last_update": "2024-06-21 04:23:10", + "stars": 4396, + "last_update": "2024-06-21 23:11:52", "author_account_age_days": 459 }, "https://github.com/luandev/ComfyUI-CrewAI": { - "stars": 6, + "stars": 7, "last_update": "2024-06-14 10:25:20", - "author_account_age_days": 3804 + "author_account_age_days": 3805 }, "https://github.com/m-sokes/ComfyUI-Sokes-Nodes": { "stars": 1, "last_update": "2024-05-22 20:36:07", - "author_account_age_days": 312 + "author_account_age_days": 313 }, "https://github.com/madtunebk/ComfyUI-ControlnetAux": { "stars": 8, @@ -3605,19 +3605,19 @@ "author_account_age_days": 458 }, "https://github.com/mape/ComfyUI-mape-Helpers": { - "stars": 121, + "stars": 122, "last_update": "2024-05-22 23:19:13", - "author_account_age_days": 5751 + "author_account_age_days": 5752 }, "https://github.com/maracman/ComfyUI-SubjectStyle-CSV": { "stars": 3, "last_update": "2024-06-14 10:24:29", - "author_account_age_days": 1163 + "author_account_age_days": 1164 }, "https://github.com/marduk191/comfyui-marnodes": { "stars": 0, "last_update": "2024-06-14 10:24:11", - "author_account_age_days": 4411 + "author_account_age_days": 4412 }, "https://github.com/marhensa/sdxl-recommended-res-calc": { "stars": 51, @@ -3627,7 +3627,7 @@ "https://github.com/martijnat/comfyui-previewlatent": { "stars": 29, "last_update": "2024-05-22 21:28:39", - "author_account_age_days": 2828 + "author_account_age_days": 2829 }, "https://github.com/massao000/ComfyUI_aspect_ratios": { "stars": 7, @@ -3642,25 +3642,25 @@ "https://github.com/mav-rik/facerestore_cf": { "stars": 153, "last_update": "2024-05-22 20:53:23", - "author_account_age_days": 2917 + "author_account_age_days": 2918 }, "https://github.com/mbrostami/ComfyUI-HF": { "stars": 16, "last_update": "2024-05-27 21:45:33", - "author_account_age_days": 4318 + "author_account_age_days": 4319 }, "https://github.com/mbrostami/ComfyUI-TITrain": { "stars": 7, "last_update": "2024-05-27 21:50:06", - "author_account_age_days": 4318 + "author_account_age_days": 4319 }, "https://github.com/mcmonkeyprojects/sd-dynamic-thresholding": { - "stars": 1059, + "stars": 1060, "last_update": "2024-05-24 16:09:17", - "author_account_age_days": 2098 + "author_account_age_days": 2099 }, "https://github.com/meap158/ComfyUI-Background-Replacement": { - "stars": 35, + "stars": 36, "last_update": "2024-05-22 20:43:52", "author_account_age_days": 3200 }, @@ -3676,53 +3676,53 @@ }, "https://github.com/melMass/comfy_mtb": { "stars": 340, - "last_update": "2024-06-09 17:20:03", - "author_account_age_days": 3742 + "last_update": "2024-06-21 18:55:34", + "author_account_age_days": 3743 }, "https://github.com/mephisto83/petty-paint-comfyui-node": { "stars": 1, "last_update": "2024-06-20 21:21:52", - "author_account_age_days": 3669 + "author_account_age_days": 3670 }, "https://github.com/meshmesh-io/ComfyUI-MeshMesh": { "stars": 0, "last_update": "2024-05-23 00:10:09", - "author_account_age_days": 225 + "author_account_age_days": 226 }, "https://github.com/meshmesh-io/mm-comfyui-loopback": { "stars": 1, "last_update": "2024-05-23 00:09:57", - "author_account_age_days": 225 + "author_account_age_days": 226 }, "https://github.com/meshmesh-io/mm-comfyui-megamask": { "stars": 0, "last_update": "2024-05-23 00:09:47", - "author_account_age_days": 225 + "author_account_age_days": 226 }, "https://github.com/mihaiiancu/ComfyUI_Inpaint": { "stars": 9, "last_update": "2024-05-22 18:19:38", - "author_account_age_days": 2658 + "author_account_age_days": 2659 }, "https://github.com/mikkel/ComfyUI-text-overlay": { "stars": 29, "last_update": "2024-05-22 21:13:59", - "author_account_age_days": 5913 + "author_account_age_days": 5914 }, "https://github.com/mikkel/comfyui-mask-boundingbox": { "stars": 24, "last_update": "2024-05-22 21:26:23", - "author_account_age_days": 5913 + "author_account_age_days": 5914 }, "https://github.com/mirabarukaso/ComfyUI_Mira": { "stars": 20, "last_update": "2024-06-14 11:01:10", - "author_account_age_days": 1217 + "author_account_age_days": 1218 }, "https://github.com/modusCell/ComfyUI-dimension-node-modusCell": { "stars": 0, "last_update": "2024-05-22 22:08:50", - "author_account_age_days": 4600 + "author_account_age_days": 4601 }, "https://github.com/moyi7712/ComfyUI_Seamless_Patten": { "stars": 8, @@ -3737,12 +3737,12 @@ "https://github.com/mpiquero7164/ComfyUI-SaveImgPrompt": { "stars": 15, "last_update": "2023-08-14 11:27:09", - "author_account_age_days": 2605 + "author_account_age_days": 2606 }, "https://github.com/muzi12888/ComfyUI-PoseKeypoint-Mask": { "stars": 6, "last_update": "2024-06-14 13:26:02", - "author_account_age_days": 2942 + "author_account_age_days": 2943 }, "https://github.com/nagolinc/ComfyUI_FastVAEDecorder_SDXL": { "stars": 2, @@ -3770,84 +3770,84 @@ "author_account_age_days": 2990 }, "https://github.com/nathannlu/ComfyUI-Cloud": { - "stars": 134, + "stars": 136, "last_update": "2024-06-21 05:53:26", - "author_account_age_days": 2722 + "author_account_age_days": 2723 }, "https://github.com/nathannlu/ComfyUI-Pets": { "stars": 36, "last_update": "2024-06-14 11:00:42", - "author_account_age_days": 2722 + "author_account_age_days": 2723 }, "https://github.com/natto-maki/ComfyUI-NegiTools": { "stars": 26, "last_update": "2024-05-22 21:31:17", - "author_account_age_days": 274 + "author_account_age_days": 275 }, "https://github.com/nickve28/ComfyUI-Nich-Utils": { "stars": 8, "last_update": "2024-05-23 00:22:57", - "author_account_age_days": 4025 + "author_account_age_days": 4026 }, "https://github.com/ningxiaoxiao/comfyui-NDI": { "stars": 35, "last_update": "2024-06-14 12:00:29", - "author_account_age_days": 2984 + "author_account_age_days": 2985 }, "https://github.com/nirbhay-faaya/ImgProcessing_ComfyUI": { "stars": 0, "last_update": "2024-06-14 12:01:14", - "author_account_age_days": 332 + "author_account_age_days": 333 }, "https://github.com/nirex0/ComfyUI_pytorch_openpose": { "stars": 2, "last_update": "2024-06-14 12:01:07", - "author_account_age_days": 3499 + "author_account_age_days": 3500 }, "https://github.com/nkchocoai/ComfyUI-Dart": { "stars": 17, "last_update": "2024-05-22 23:11:22", - "author_account_age_days": 156 + "author_account_age_days": 157 }, "https://github.com/nkchocoai/ComfyUI-PromptUtilities": { "stars": 6, "last_update": "2024-05-22 23:10:42", - "author_account_age_days": 156 + "author_account_age_days": 157 }, "https://github.com/nkchocoai/ComfyUI-SaveImageWithMetaData": { "stars": 8, "last_update": "2024-06-15 05:58:02", - "author_account_age_days": 156 + "author_account_age_days": 157 }, "https://github.com/nkchocoai/ComfyUI-SizeFromPresets": { "stars": 4, "last_update": "2024-05-22 23:10:30", - "author_account_age_days": 156 + "author_account_age_days": 157 }, "https://github.com/nkchocoai/ComfyUI-TextOnSegs": { "stars": 5, "last_update": "2024-05-22 23:10:55", - "author_account_age_days": 156 + "author_account_age_days": 157 }, "https://github.com/noembryo/ComfyUI-noEmbryo": { "stars": 12, "last_update": "2024-06-04 11:27:45", - "author_account_age_days": 2739 + "author_account_age_days": 2740 }, "https://github.com/nosiu/comfyui-instantId-faceswap": { "stars": 166, "last_update": "2024-05-22 23:21:38", - "author_account_age_days": 3901 + "author_account_age_days": 3902 }, "https://github.com/noxinias/ComfyUI_NoxinNodes": { "stars": 7, "last_update": "2024-05-22 21:24:24", - "author_account_age_days": 2557 + "author_account_age_days": 2558 }, "https://github.com/ntc-ai/ComfyUI-DARE-LoRA-Merge": { "stars": 22, "last_update": "2024-05-22 22:22:14", - "author_account_age_days": 1714 + "author_account_age_days": 1715 }, "https://github.com/nuanarchy/ComfyUI-NuA-BIRD": { "stars": 4, @@ -3860,9 +3860,9 @@ "author_account_age_days": 1089 }, "https://github.com/nullquant/ComfyUI-BrushNet": { - "stars": 355, + "stars": 358, "last_update": "2024-06-19 16:24:00", - "author_account_age_days": 1173 + "author_account_age_days": 1174 }, "https://github.com/olduvai-jp/ComfyUI-HfLoader": { "stars": 3, @@ -3872,17 +3872,22 @@ "https://github.com/omar92/ComfyUI-QualityOfLifeSuit_Omar92": { "stars": 108, "last_update": "2024-06-03 11:02:37", - "author_account_age_days": 4503 + "author_account_age_days": 4504 + }, + "https://github.com/opvelll/ComfyUI_TextListProduct": { + "stars": 0, + "last_update": "2024-06-21 15:10:30", + "author_account_age_days": 1552 }, "https://github.com/osi1880vr/prompt_quill_comfyui": { "stars": 9, "last_update": "2024-06-13 17:24:12", - "author_account_age_days": 1073 + "author_account_age_days": 1074 }, "https://github.com/ostris/ostris_nodes_comfyui": { "stars": 19, "last_update": "2024-05-22 21:23:24", - "author_account_age_days": 2399 + "author_account_age_days": 2400 }, "https://github.com/ownimage/ComfyUI-ownimage": { "stars": 0, @@ -3892,12 +3897,12 @@ "https://github.com/oyvindg/ComfyUI-TrollSuite": { "stars": 0, "last_update": "2024-05-22 21:32:03", - "author_account_age_days": 2326 + "author_account_age_days": 2327 }, "https://github.com/oztrkoguz/ComfyUI_StoryCreator": { "stars": 16, "last_update": "2024-05-23 12:18:45", - "author_account_age_days": 838 + "author_account_age_days": 839 }, "https://github.com/palant/extended-saveimage-comfyui": { "stars": 10, @@ -3927,17 +3932,17 @@ "https://github.com/paulo-coronado/comfy_clip_blip_node": { "stars": 25, "last_update": "2024-05-22 17:39:09", - "author_account_age_days": 2683 + "author_account_age_days": 2684 }, "https://github.com/philz1337x/ComfyUI-ClarityAI": { "stars": 42, "last_update": "2024-05-23 01:19:05", - "author_account_age_days": 660 + "author_account_age_days": 661 }, "https://github.com/phineas-pta/comfyui-auto-nodes-layout": { "stars": 21, "last_update": "2024-06-19 21:38:47", - "author_account_age_days": 2285 + "author_account_age_days": 2286 }, "https://github.com/picturesonpictures/comfy_PoP": { "stars": 13, @@ -3992,12 +3997,12 @@ "https://github.com/pythongosssss/ComfyUI-Custom-Scripts": { "stars": 1328, "last_update": "2024-06-10 11:49:03", - "author_account_age_days": 494 + "author_account_age_days": 495 }, "https://github.com/pythongosssss/ComfyUI-WD14-Tagger": { - "stars": 419, + "stars": 420, "last_update": "2024-06-20 05:38:50", - "author_account_age_days": 494 + "author_account_age_days": 495 }, "https://github.com/qwixiwp/queuetools": { "stars": 0, @@ -4012,7 +4017,7 @@ "https://github.com/randjtw/advance-aesthetic-score": { "stars": 0, "last_update": "2024-05-23 01:14:47", - "author_account_age_days": 757 + "author_account_age_days": 758 }, "https://github.com/ratulrafsan/Comfyui-SAL-VTON": { "stars": 56, @@ -4022,7 +4027,7 @@ "https://github.com/rcfcu2000/zhihuige-nodes-comfyui": { "stars": 0, "last_update": "2024-05-22 22:13:55", - "author_account_age_days": 3421 + "author_account_age_days": 3422 }, "https://github.com/rcsaquino/comfyui-custom-nodes": { "stars": 1, @@ -4032,7 +4037,7 @@ "https://github.com/receyuki/comfyui-prompt-reader-node": { "stars": 209, "last_update": "2024-06-06 23:39:40", - "author_account_age_days": 2589 + "author_account_age_days": 2590 }, "https://github.com/redhottensors/ComfyUI-ODE": { "stars": 11, @@ -4045,19 +4050,19 @@ "author_account_age_days": 136 }, "https://github.com/rgthree/rgthree-comfy": { - "stars": 692, + "stars": 694, "last_update": "2024-06-21 02:47:43", - "author_account_age_days": 4971 + "author_account_age_days": 4972 }, "https://github.com/richinsley/Comfy-LFO": { "stars": 5, "last_update": "2024-05-22 20:46:30", - "author_account_age_days": 2677 + "author_account_age_days": 2678 }, "https://github.com/ricklove/comfyui-ricklove": { "stars": 0, "last_update": "2024-05-22 23:21:25", - "author_account_age_days": 4829 + "author_account_age_days": 4830 }, "https://github.com/risunobushi/comfyUI_FrequencySeparation_RGB-HSV": { "stars": 8, @@ -4067,27 +4072,27 @@ "https://github.com/rklaffehn/rk-comfy-nodes": { "stars": 2, "last_update": "2024-06-14 10:24:43", - "author_account_age_days": 289 + "author_account_age_days": 290 }, "https://github.com/romeobuilderotti/ComfyUI-PNG-Metadata": { "stars": 4, "last_update": "2024-05-22 21:29:25", - "author_account_age_days": 287 + "author_account_age_days": 288 }, "https://github.com/ronniebasak/ComfyUI-Tara-LLM-Integration": { "stars": 71, "last_update": "2024-06-20 11:57:41", - "author_account_age_days": 4151 + "author_account_age_days": 4152 }, "https://github.com/royceschultz/ComfyUI-Notifications": { "stars": 4, "last_update": "2024-05-23 01:23:16", - "author_account_age_days": 2526 + "author_account_age_days": 2527 }, "https://github.com/royceschultz/ComfyUI-TranscriptionTools": { "stars": 12, "last_update": "2024-05-23 01:10:10", - "author_account_age_days": 2526 + "author_account_age_days": 2527 }, "https://github.com/rui40000/RUI-Nodes": { "stars": 15, @@ -4097,22 +4102,22 @@ "https://github.com/ruiqutech/ComfyUI-RuiquNodes": { "stars": 0, "last_update": "2024-05-23 01:21:50", - "author_account_age_days": 66 + "author_account_age_days": 67 }, "https://github.com/runtime44/comfyui_r44_nodes": { "stars": 27, "last_update": "2024-06-11 10:49:02", - "author_account_age_days": 164 + "author_account_age_days": 165 }, "https://github.com/saftle/suplex_comfy_nodes": { "stars": 0, "last_update": "2024-05-29 13:09:25", - "author_account_age_days": 4754 + "author_account_age_days": 4755 }, "https://github.com/sdfxai/SDFXBridgeForComfyUI": { - "stars": 4, + "stars": 5, "last_update": "2024-06-14 10:26:56", - "author_account_age_days": 231 + "author_account_age_days": 232 }, "https://github.com/seanlynch/comfyui-optical-flow": { "stars": 24, @@ -4127,37 +4132,37 @@ "https://github.com/sergekatzmann/ComfyUI_Nimbus-Pack": { "stars": 2, "last_update": "2024-05-22 21:34:15", - "author_account_age_days": 3329 + "author_account_age_days": 3330 }, "https://github.com/shadowcz007/comfyui-Image-reward": { "stars": 20, "last_update": "2024-06-14 10:24:49", - "author_account_age_days": 3311 + "author_account_age_days": 3312 }, "https://github.com/shadowcz007/comfyui-consistency-decoder": { "stars": 2, "last_update": "2024-06-14 10:23:35", - "author_account_age_days": 3311 + "author_account_age_days": 3312 }, "https://github.com/shadowcz007/comfyui-edit-mask": { "stars": 3, "last_update": "2024-06-20 01:42:48", - "author_account_age_days": 3311 + "author_account_age_days": 3312 }, "https://github.com/shadowcz007/comfyui-mixlab-nodes": { "stars": 878, - "last_update": "2024-06-21 09:40:38", - "author_account_age_days": 3311 + "last_update": "2024-06-21 15:08:53", + "author_account_age_days": 3312 }, "https://github.com/shadowcz007/comfyui-sound-lab": { "stars": 52, "last_update": "2024-06-20 02:07:31", - "author_account_age_days": 3311 + "author_account_age_days": 3312 }, "https://github.com/shadowcz007/comfyui-ultralytics-yolo": { "stars": 17, "last_update": "2024-06-20 01:43:22", - "author_account_age_days": 3311 + "author_account_age_days": 3312 }, "https://github.com/shi3z/ComfyUI_Memeplex_DALLE": { "stars": 2, @@ -4192,22 +4197,22 @@ "https://github.com/shinich39/comfyui-load-image-in-seq": { "stars": 3, "last_update": "2024-05-23 00:20:53", - "author_account_age_days": 309 + "author_account_age_days": 310 }, "https://github.com/shinich39/comfyui-local-db": { "stars": 1, "last_update": "2024-05-23 00:21:08", - "author_account_age_days": 309 + "author_account_age_days": 310 }, "https://github.com/shinich39/comfyui-ramdom-node": { "stars": 2, "last_update": "2024-06-14 10:25:13", - "author_account_age_days": 309 + "author_account_age_days": 310 }, "https://github.com/shobhitic/ComfyUI-PlusMinusTextClip": { "stars": 2, "last_update": "2024-06-20 13:57:29", - "author_account_age_days": 4304 + "author_account_age_days": 4305 }, "https://github.com/shockz0rz/ComfyUI_InterpolateEverything": { "stars": 23, @@ -4222,7 +4227,7 @@ "https://github.com/siliconflow/onediff_comfy_nodes": { "stars": 12, "last_update": "2024-05-22 22:23:22", - "author_account_age_days": 302 + "author_account_age_days": 303 }, "https://github.com/sipherxyz/comfyui-art-venture": { "stars": 83, @@ -4237,7 +4242,7 @@ "https://github.com/smagnetize/kb-comfyui-nodes": { "stars": 0, "last_update": "2024-06-14 12:00:45", - "author_account_age_days": 2711 + "author_account_age_days": 2712 }, "https://github.com/smthemex/ComfyUI_ChatGLM_API": { "stars": 17, @@ -4251,7 +4256,7 @@ }, "https://github.com/smthemex/ComfyUI_HiDiffusion_Pro": { "stars": 22, - "last_update": "2024-06-18 02:10:24", + "last_update": "2024-06-21 12:49:09", "author_account_age_days": 351 }, "https://github.com/smthemex/ComfyUI_ID_Animator": { @@ -4297,60 +4302,60 @@ "https://github.com/space-nuko/ComfyUI-Disco-Diffusion": { "stars": 42, "last_update": "2024-05-22 18:10:36", - "author_account_age_days": 2721 + "author_account_age_days": 2722 }, "https://github.com/space-nuko/ComfyUI-OpenPose-Editor": { "stars": 153, "last_update": "2024-05-22 18:10:49", - "author_account_age_days": 2721 + "author_account_age_days": 2722 }, "https://github.com/space-nuko/nui-suite": { "stars": 10, "last_update": "2024-05-22 18:11:04", - "author_account_age_days": 2721 + "author_account_age_days": 2722 }, "https://github.com/spacepxl/ComfyUI-Florence-2": { "stars": 3, "last_update": "2024-06-20 14:05:19", - "author_account_age_days": 291 + "author_account_age_days": 292 }, "https://github.com/spacepxl/ComfyUI-HQ-Image-Save": { "stars": 30, "last_update": "2024-06-21 04:42:58", - "author_account_age_days": 291 + "author_account_age_days": 292 }, "https://github.com/spacepxl/ComfyUI-Image-Filters": { - "stars": 78, + "stars": 80, "last_update": "2024-06-15 22:23:37", - "author_account_age_days": 291 + "author_account_age_days": 292 }, "https://github.com/spacepxl/ComfyUI-RAVE": { "stars": 79, "last_update": "2024-05-22 20:56:19", - "author_account_age_days": 291 + "author_account_age_days": 292 }, "https://github.com/spacepxl/ComfyUI-StyleGan": { "stars": 3, "last_update": "2024-06-10 20:16:34", - "author_account_age_days": 291 + "author_account_age_days": 292 }, "https://github.com/spinagon/ComfyUI-seam-carving": { "stars": 14, "last_update": "2024-05-23 05:07:00", - "author_account_age_days": 4737 + "author_account_age_days": 4738 }, "https://github.com/spinagon/ComfyUI-seamless-tiling": { - "stars": 74, + "stars": 75, "last_update": "2024-05-23 05:03:42", - "author_account_age_days": 4737 + "author_account_age_days": 4738 }, "https://github.com/spro/comfyui-mirror": { "stars": 4, "last_update": "2024-05-22 20:50:25", - "author_account_age_days": 5228 + "author_account_age_days": 5229 }, "https://github.com/ssitu/ComfyUI_UltimateSDUpscale": { - "stars": 621, + "stars": 623, "last_update": "2024-05-22 18:09:32", "author_account_age_days": 1686 }, @@ -4370,9 +4375,9 @@ "author_account_age_days": 1686 }, "https://github.com/stavsap/comfyui-ollama": { - "stars": 192, + "stars": 193, "last_update": "2024-06-18 21:27:18", - "author_account_age_days": 4080 + "author_account_age_days": 4081 }, "https://github.com/storyicon/comfyui_musev_evolved": { "stars": 13, @@ -4387,37 +4392,37 @@ "https://github.com/strimmlarn/ComfyUI_Strimmlarns_aesthetic_score": { "stars": 25, "last_update": "2024-06-17 10:01:44", - "author_account_age_days": 2623 + "author_account_age_days": 2624 }, "https://github.com/styler00dollar/ComfyUI-deepcache": { "stars": 8, "last_update": "2024-05-22 22:18:18", - "author_account_age_days": 1842 + "author_account_age_days": 1843 }, "https://github.com/styler00dollar/ComfyUI-sudo-latent-upscale": { "stars": 27, "last_update": "2024-05-22 22:18:07", - "author_account_age_days": 1842 + "author_account_age_days": 1843 }, "https://github.com/subtleGradient/TinkerBot-tech-for-ComfyUI-Touchpad": { "stars": 17, "last_update": "2024-06-19 04:30:39", - "author_account_age_days": 5927 + "author_account_age_days": 5928 }, "https://github.com/sugarkwork/comfyui_cohere": { "stars": 0, "last_update": "2024-06-14 13:59:30", - "author_account_age_days": 872 + "author_account_age_days": 873 }, "https://github.com/sugarkwork/comfyui_tag_fillter": { "stars": 16, "last_update": "2024-05-27 13:38:24", - "author_account_age_days": 872 + "author_account_age_days": 873 }, "https://github.com/superyoman/comfyui_lumaAPI": { "stars": 10, "last_update": "2024-06-17 21:00:05", - "author_account_age_days": 445 + "author_account_age_days": 446 }, "https://github.com/syllebra/bilbox-comfyui": { "stars": 80, @@ -4437,12 +4442,12 @@ "https://github.com/taabata/LCM_Inpaint-Outpaint_Comfy": { "stars": 223, "last_update": "2024-06-17 10:01:50", - "author_account_age_days": 1679 + "author_account_age_days": 1680 }, "https://github.com/talesofai/comfyui-browser": { "stars": 413, "last_update": "2024-05-21 20:51:18", - "author_account_age_days": 552 + "author_account_age_days": 553 }, "https://github.com/teward/ComfyUI-Helper-Nodes": { "stars": 4, @@ -4450,34 +4455,34 @@ "author_account_age_days": 5095 }, "https://github.com/theUpsider/ComfyUI-Logic": { - "stars": 95, + "stars": 96, "last_update": "2024-05-22 20:35:47", - "author_account_age_days": 2719 + "author_account_age_days": 2720 }, "https://github.com/theUpsider/ComfyUI-Styles_CSV_Loader": { "stars": 28, "last_update": "2024-05-22 20:31:14", - "author_account_age_days": 2719 + "author_account_age_days": 2720 }, "https://github.com/thecooltechguy/ComfyUI-ComfyRun": { "stars": 78, "last_update": "2024-05-22 21:33:11", - "author_account_age_days": 2419 + "author_account_age_days": 2420 }, "https://github.com/thecooltechguy/ComfyUI-ComfyWorkflows": { "stars": 32, "last_update": "2024-05-22 21:33:47", - "author_account_age_days": 2419 + "author_account_age_days": 2420 }, "https://github.com/thecooltechguy/ComfyUI-MagicAnimate": { "stars": 197, "last_update": "2024-05-22 21:33:35", - "author_account_age_days": 2419 + "author_account_age_days": 2420 }, "https://github.com/thecooltechguy/ComfyUI-Stable-Video-Diffusion": { "stars": 288, "last_update": "2024-05-24 22:14:42", - "author_account_age_days": 2419 + "author_account_age_days": 2420 }, "https://github.com/tiankuan93/ComfyUI-V-Express": { "stars": 77, @@ -4497,12 +4502,12 @@ "https://github.com/tocubed/ComfyUI-AudioReactor": { "stars": 8, "last_update": "2024-05-22 22:21:57", - "author_account_age_days": 3856 + "author_account_age_days": 3857 }, "https://github.com/tooldigital/ComfyUI-Yolo-Cropper": { - "stars": 4, + "stars": 5, "last_update": "2024-06-14 13:59:48", - "author_account_age_days": 4314 + "author_account_age_days": 4315 }, "https://github.com/toxicwind/ComfyUI-TTools": { "stars": 0, @@ -4510,19 +4515,19 @@ "author_account_age_days": 4367 }, "https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes": { - "stars": 442, + "stars": 450, "last_update": "2024-06-18 15:27:19", - "author_account_age_days": 3646 + "author_account_age_days": 3647 }, "https://github.com/traugdor/ComfyUI-quadMoons-nodes": { "stars": 8, - "last_update": "2024-06-11 00:02:55", + "last_update": "2024-06-21 15:44:54", "author_account_age_days": 3817 }, "https://github.com/trojblue/trNodes": { "stars": 8, "last_update": "2024-05-22 18:04:36", - "author_account_age_days": 2254 + "author_account_age_days": 2255 }, "https://github.com/trumanwong/ComfyUI-NSFW-Detection": { "stars": 16, @@ -4532,7 +4537,7 @@ "https://github.com/tsogzark/ComfyUI-load-image-from-url": { "stars": 5, "last_update": "2024-06-14 13:59:05", - "author_account_age_days": 1525 + "author_account_age_days": 1526 }, "https://github.com/ttulttul/ComfyUI-Iterative-Mixer": { "stars": 98, @@ -4560,19 +4565,19 @@ "author_account_age_days": 2662 }, "https://github.com/twri/sdxl_prompt_styler": { - "stars": 605, + "stars": 607, "last_update": "2024-05-22 18:16:58", "author_account_age_days": 4065 }, "https://github.com/txt2any/ComfyUI-PromptOrganizer": { "stars": 0, "last_update": "2024-05-23 01:10:33", - "author_account_age_days": 81 + "author_account_age_days": 82 }, "https://github.com/ty0x2333/ComfyUI-Dev-Utils": { "stars": 37, "last_update": "2024-06-03 15:06:13", - "author_account_age_days": 3699 + "author_account_age_days": 3700 }, "https://github.com/tzwm/comfyui-profiler": { "stars": 41, @@ -4592,7 +4597,7 @@ "https://github.com/unwdef/unwdef-nodes-comfyui": { "stars": 1, "last_update": "2024-06-14 07:05:51", - "author_account_age_days": 70 + "author_account_age_days": 71 }, "https://github.com/vanche1212/ComfyUI-ZMG-Nodes": { "stars": 3, @@ -4607,7 +4612,7 @@ "https://github.com/victorchall/comfyui_webcamcapture": { "stars": 5, "last_update": "2024-05-31 18:01:11", - "author_account_age_days": 3142 + "author_account_age_days": 3143 }, "https://github.com/vienteck/ComfyUI-Chat-GPT-Integration": { "stars": 26, @@ -4620,7 +4625,7 @@ "author_account_age_days": 1395 }, "https://github.com/viperyl/ComfyUI-BiRefNet": { - "stars": 157, + "stars": 159, "last_update": "2024-06-20 15:25:49", "author_account_age_days": 2030 }, @@ -4632,7 +4637,7 @@ "https://github.com/vivax3794/ComfyUI-Vivax-Nodes": { "stars": 3, "last_update": "2024-05-23 00:10:56", - "author_account_age_days": 1835 + "author_account_age_days": 1836 }, "https://github.com/vsevolod-oparin/comfyui-kandinsky22": { "stars": 6, @@ -4647,17 +4652,17 @@ "https://github.com/wandbrandon/comfyui-pixel": { "stars": 4, "last_update": "2024-06-14 07:07:09", - "author_account_age_days": 3380 + "author_account_age_days": 3381 }, "https://github.com/web3nomad/ComfyUI_Invisible_Watermark": { "stars": 1, "last_update": "2024-05-23 01:16:54", - "author_account_age_days": 964 + "author_account_age_days": 965 }, "https://github.com/wei30172/comfygen": { "stars": 4, "last_update": "2024-05-23 00:21:19", - "author_account_age_days": 1609 + "author_account_age_days": 1610 }, "https://github.com/whatbirdisthat/cyberdolphin": { "stars": 14, @@ -4672,7 +4677,7 @@ "https://github.com/wmatson/easy-comfy-nodes": { "stars": 13, "last_update": "2024-06-14 07:06:57", - "author_account_age_days": 4114 + "author_account_age_days": 4115 }, "https://github.com/wolfden/ComfyUi_PromptStylers": { "stars": 64, @@ -4685,9 +4690,9 @@ "author_account_age_days": 5718 }, "https://github.com/wujm424606/ComfyUi-Ollama-YN": { - "stars": 12, + "stars": 13, "last_update": "2024-06-14 07:06:39", - "author_account_age_days": 2259 + "author_account_age_days": 2260 }, "https://github.com/wutipong/ComfyUI-TextUtils": { "stars": 1, @@ -4702,17 +4707,17 @@ "https://github.com/xXAdonesXx/NodeGPT": { "stars": 324, "last_update": "2024-06-20 11:41:30", - "author_account_age_days": 1475 + "author_account_age_days": 1476 }, "https://github.com/xiaoxiaodesha/hd_node": { "stars": 7, "last_update": "2024-06-11 02:36:48", - "author_account_age_days": 2871 + "author_account_age_days": 2872 }, "https://github.com/xliry/ComfyUI_SendDiscord": { "stars": 0, "last_update": "2024-05-23 02:21:38", - "author_account_age_days": 1270 + "author_account_age_days": 1271 }, "https://github.com/xuhongming251/ComfyUI-GPEN": { "stars": 2, @@ -4727,77 +4732,77 @@ "https://github.com/yffyhk/comfyui_auto_danbooru": { "stars": 0, "last_update": "2024-05-22 23:23:03", - "author_account_age_days": 3718 + "author_account_age_days": 3719 }, "https://github.com/yolain/ComfyUI-Easy-Use": { - "stars": 496, + "stars": 499, "last_update": "2024-06-21 08:59:27", - "author_account_age_days": 1337 + "author_account_age_days": 1338 }, "https://github.com/yolanother/DTAIComfyImageSubmit": { "stars": 1, "last_update": "2024-05-22 18:14:56", - "author_account_age_days": 4860 + "author_account_age_days": 4861 }, "https://github.com/yolanother/DTAIComfyLoaders": { "stars": 1, "last_update": "2024-05-22 18:14:44", - "author_account_age_days": 4860 + "author_account_age_days": 4861 }, "https://github.com/yolanother/DTAIComfyPromptAgent": { "stars": 5, "last_update": "2024-05-22 18:14:18", - "author_account_age_days": 4860 + "author_account_age_days": 4861 }, "https://github.com/yolanother/DTAIComfyQRCodes": { "stars": 2, "last_update": "2024-05-22 18:15:09", - "author_account_age_days": 4860 + "author_account_age_days": 4861 }, "https://github.com/yolanother/DTAIComfyVariables": { "stars": 8, "last_update": "2024-05-22 18:15:21", - "author_account_age_days": 4860 + "author_account_age_days": 4861 }, "https://github.com/yolanother/DTAIImageToTextNode": { "stars": 15, "last_update": "2024-05-22 18:14:31", - "author_account_age_days": 4860 + "author_account_age_days": 4861 }, "https://github.com/youyegit/tdxh_node_comfyui": { "stars": 2, "last_update": "2024-05-23 17:55:42", - "author_account_age_days": 425 + "author_account_age_days": 426 }, "https://github.com/yuvraj108c/ComfyUI-Depth-Anything-Tensorrt": { "stars": 61, "last_update": "2024-06-14 08:07:23", - "author_account_age_days": 2149 + "author_account_age_days": 2150 }, "https://github.com/yuvraj108c/ComfyUI-PiperTTS": { "stars": 24, "last_update": "2024-05-22 23:17:27", - "author_account_age_days": 2149 + "author_account_age_days": 2150 }, "https://github.com/yuvraj108c/ComfyUI-Pronodes": { "stars": 1, "last_update": "2024-05-22 23:16:51", - "author_account_age_days": 2149 + "author_account_age_days": 2150 }, "https://github.com/yuvraj108c/ComfyUI-Upscaler-Tensorrt": { "stars": 37, "last_update": "2024-05-31 05:50:59", - "author_account_age_days": 2149 + "author_account_age_days": 2150 }, "https://github.com/yuvraj108c/ComfyUI-Vsgan": { "stars": 2, "last_update": "2024-05-22 23:17:02", - "author_account_age_days": 2149 + "author_account_age_days": 2150 }, "https://github.com/yuvraj108c/ComfyUI-Whisper": { "stars": 50, "last_update": "2024-05-31 05:59:22", - "author_account_age_days": 2149 + "author_account_age_days": 2150 }, "https://github.com/zcfrank1st/Comfyui-Toolbox": { "stars": 4, @@ -4835,7 +4840,7 @@ "author_account_age_days": 3456 }, "https://github.com/zhongpei/Comfyui_image2prompt": { - "stars": 227, + "stars": 228, "last_update": "2024-05-22 23:19:30", "author_account_age_days": 3456 }, @@ -4852,11 +4857,11 @@ "https://github.com/zohac/ComfyUI_ZC_DrawShape": { "stars": 1, "last_update": "2024-06-14 07:10:25", - "author_account_age_days": 2658 + "author_account_age_days": 2659 }, "https://github.com/zombieyang/sd-ppp": { "stars": 11, "last_update": "2024-06-16 02:45:04", - "author_account_age_days": 3914 + "author_account_age_days": 3915 } } \ No newline at end of file diff --git a/node_db/dev/custom-node-list.json b/node_db/dev/custom-node-list.json index b9335421..7279ffd9 100644 --- a/node_db/dev/custom-node-list.json +++ b/node_db/dev/custom-node-list.json @@ -11,15 +11,25 @@ { - "author": "opvelll", - "title": "Comfy UI Text List Product", - "id": "listproduct", - "reference": "https://github.com/opvelll/ComfyUI_TextListProduct", + "author": "prabinpebam", + "title": "anyPython [UNSAFE]", + "reference": "https://github.com/prabinpebam/anyPython", "files": [ - "https://github.com/opvelll/ComfyUI_TextListProduct" + "https://github.com/prabinpebam/anyPython" ], "install_type": "git-clone", - "description": "This is a custom node for Comfy UI. It mainly wraps itertools.product and can be used to create patterns by combining prompts. It is recommended to install this custom node in combination with the nodes from the WAS Node Suite." + "description": "This node was inspired by AnyNode. I wanted to have a node where I can paste any python script and execute it. That way I can use this node in combination with a Custom node like the Ollama node that can generate the python code and feed into this node. This also makes it much easier to debug or modify the code iteratively. As of the current version, I've created separate nodes for no input, 1 input and 2 inputs. The input also currently takes only sting as input. Let me know in the discussion how you would use this node.\n[w/This extension allows the execution of arbitrary Python code from a workflow.]" + }, + { + "author": "kijai", + "title": "ComfyUI DiffSynth wrapper nodes [WIP]", + "id": "diffsynth-wrapper", + "reference": "https://github.com/kijai/ComfyUI-DiffSynthWrapper", + "files": [ + "https://github.com/kijai/ComfyUI-DiffSynthWrapper" + ], + "install_type": "git-clone", + "description": "Currently only the new extended SVD model 'ExVideo' is supported.\nOriginal repo:[a/https://github.com/modelscope/DiffSynth-Studio](https://github.com/modelscope/DiffSynth-Studio)" }, { "author": "AllenEdgarPoe", diff --git a/node_db/legacy/custom-node-list.json b/node_db/legacy/custom-node-list.json index 220034e5..00ac54e6 100644 --- a/node_db/legacy/custom-node-list.json +++ b/node_db/legacy/custom-node-list.json @@ -11,6 +11,17 @@ + { + "author": "Kaharos94", + "title": "ComfyUI-Saveaswebp [DEPRECATED]", + "id": "save-webp", + "reference": "https://github.com/Kaharos94/ComfyUI-Saveaswebp", + "files": [ + "https://github.com/Kaharos94/ComfyUI-Saveaswebp" + ], + "install_type": "git-clone", + "description": "Save a picture as Webp file in Comfy + Workflow loading" + }, { "author": "udi0510", "title": "comfyui-slicer [REMOVED]", diff --git a/node_db/new/custom-node-list.json b/node_db/new/custom-node-list.json index 89822c1b..f7f6c396 100644 --- a/node_db/new/custom-node-list.json +++ b/node_db/new/custom-node-list.json @@ -13,6 +13,17 @@ + { + "author": "opvelll", + "title": "Comfy UI Text List Product", + "id": "listproduct", + "reference": "https://github.com/opvelll/ComfyUI_TextListProduct", + "files": [ + "https://github.com/opvelll/ComfyUI_TextListProduct" + ], + "install_type": "git-clone", + "description": "This is a custom node for Comfy UI. It mainly wraps itertools.product and can be used to create patterns by combining prompts. It is recommended to install this custom node in combination with the nodes from the WAS Node Suite." + }, { "author": "MinusZoneAI", "title": "ComfyUI-TrainTools-MZ", @@ -680,17 +691,6 @@ ], "install_type": "git-clone", "description": "Nodes:BK Img To Color, BK Color Selector" - }, - { - "author": "zohac", - "title": "ComfyUI_ZC_DrawShape", - "id": "drawshape", - "reference": "https://github.com/zohac/ComfyUI_ZC_DrawShape", - "files": [ - "https://github.com/zohac/ComfyUI_ZC_DrawShape" - ], - "install_type": "git-clone", - "description": "Nodes:ZC DrawShape Node" } ] } diff --git a/node_db/new/extension-node-map.json b/node_db/new/extension-node-map.json index 220dfdc5..d6428c03 100644 --- a/node_db/new/extension-node-map.json +++ b/node_db/new/extension-node-map.json @@ -2359,14 +2359,6 @@ "title_aux": "comfy-plasma" } ], - "https://github.com/Kaharos94/ComfyUI-Saveaswebp": [ - [ - "Save_as_webp" - ], - { - "title_aux": "ComfyUI-Saveaswebp" - } - ], "https://github.com/Kangkang625/ComfyUI-paint-by-example": [ [ "PaintbyExamplePipeLoader", @@ -10249,9 +10241,11 @@ "BBoxToCOCO", "BBoxToXYWH", "ConvertToDict", - "LoadUltralyticsModel", + "CustomUltralyticsModelLoader", + "SAMInference", + "SAMLoader", "UltralyticsInference", - "UltralyticsModelDownloader", + "UltralyticsModelLoader", "UltralyticsVisualization" ], { @@ -12379,6 +12373,18 @@ "title_aux": "Quality of life Suit:V2" } ], + "https://github.com/opvelll/ComfyUI_TextListProduct": [ + [ + "ProductedString", + "TextListProduct", + "TextListProductWithSingleA", + "TextListProductWithSingleB", + "TextListProductWithSingleBoth" + ], + { + "title_aux": "Comfy UI Text List Product" + } + ], "https://github.com/osi1880vr/prompt_quill_comfyui": [ [ "PromptQuillGenerate", @@ -13997,6 +14003,7 @@ "https://github.com/traugdor/ComfyUI-quadMoons-nodes": [ [ "quadmoonCLIPTextEncode", + "quadmoonChangeBackground", "quadmoonConvertBoolToString", "quadmoonConvertFloatToString", "quadmoonConvertIntToString", From 651496cae0b6f6bce4a7e3e72e5aafbaf928ff24 Mon Sep 17 00:00:00 2001 From: CenFun Date: Sat, 22 Jun 2024 09:12:01 +0800 Subject: [PATCH 10/62] Better model manager UI (#802) * fixed row height with lib API * update grid lib * UI adjustment * move some of api to common utils * added model manager * update install * replace model-downloader with model-manager * replace model-downloader with model-manager * fixed filter * fixed status * apply loading animation for install button * sort type and base --- js/comfyui-manager.js | 12 +- js/common.js | 91 +++++ js/custom-nodes-manager.js | 200 ++--------- js/model-downloader.js | 388 -------------------- js/model-manager.js | 715 +++++++++++++++++++++++++++++++++++++ js/turbogrid.esm.js | 2 +- 6 files changed, 842 insertions(+), 566 deletions(-) delete mode 100644 js/model-downloader.js create mode 100644 js/model-manager.js diff --git a/js/comfyui-manager.js b/js/comfyui-manager.js index 53544c15..f6ab968b 100644 --- a/js/comfyui-manager.js +++ b/js/comfyui-manager.js @@ -12,8 +12,8 @@ import { } from "./comfyui-share-common.js"; import { OpenArtShareDialog } from "./comfyui-share-openart.js"; import { CustomNodesManager } from "./custom-nodes-manager.js"; +import { ModelManager } from "./model-manager.js"; import { SnapshotManager } from "./snapshot.js"; -import { ModelInstaller } from "./model-downloader.js"; import { manager_instance, setManagerInstance, install_via_git_url, install_pip, rebootAPI, free_models, show_message } from "./common.js"; import { ComponentBuilderDialog, load_components, set_component_policy, getPureName } from "./components-manager.js"; import { set_double_click_policy } from "./node_fixer.js"; @@ -736,14 +736,16 @@ class ManagerMenuDialog extends ComfyDialog { } }), + $el("button.cm-button", { type: "button", - textContent: "Install Models", + textContent: "Model Manager", onclick: () => { - if(!ModelInstaller.instance) - ModelInstaller.instance = new ModelInstaller(app, self); - ModelInstaller.instance.show(); + if(!ModelManager.instance) { + ModelManager.instance = new ModelManager(app, self); + } + ModelManager.instance.show(); } }), diff --git a/js/common.js b/js/common.js index 7090855f..6482d00c 100644 --- a/js/common.js +++ b/js/common.js @@ -119,3 +119,94 @@ export async function free_models() { show_message('Unloading of models failed.

Installed ComfyUI may be an outdated version.') } } + +export function md5(inputString) { + const hc = '0123456789abcdef'; + const rh = n => {let j,s='';for(j=0;j<=3;j++) s+=hc.charAt((n>>(j*8+4))&0x0F)+hc.charAt((n>>(j*8))&0x0F);return s;} + const ad = (x,y) => {let l=(x&0xFFFF)+(y&0xFFFF);let m=(x>>16)+(y>>16)+(l>>16);return (m<<16)|(l&0xFFFF);} + const rl = (n,c) => (n<>>(32-c)); + const cm = (q,a,b,x,s,t) => ad(rl(ad(ad(a,q),ad(x,t)),s),b); + const ff = (a,b,c,d,x,s,t) => cm((b&c)|((~b)&d),a,b,x,s,t); + const gg = (a,b,c,d,x,s,t) => cm((b&d)|(c&(~d)),a,b,x,s,t); + const hh = (a,b,c,d,x,s,t) => cm(b^c^d,a,b,x,s,t); + const ii = (a,b,c,d,x,s,t) => cm(c^(b|(~d)),a,b,x,s,t); + const sb = x => { + let i;const nblk=((x.length+8)>>6)+1;const blks=[];for(i=0;i>2]|=x.charCodeAt(i)<<((i%4)*8);} + blks[i>>2]|=0x80<<((i%4)*8);blks[nblk*16-2]=x.length*8;return blks; + } + let i,x=sb(inputString),a=1732584193,b=-271733879,c=-1732584194,d=271733878,olda,oldb,oldc,oldd; + for(i=0;i { + err = e; + }); + + if (!res) { + return { + status: 400, + error: new Error("Unknown Error") + } + } + + const { status, statusText } = res; + if (err) { + return { + status, + error: err + } + } + + if (status !== 200) { + return { + status, + error: new Error(statusText || "Unknown Error") + } + } + + const data = await res.json(); + if (!data) { + return { + status, + error: new Error(`Failed to load data: ${route}`) + } + } + return { + status, + data + } +} + +export const icons = { + search: '', + extensions: '', + conflicts: '', + passed: '' +} \ No newline at end of file diff --git a/js/custom-nodes-manager.js b/js/custom-nodes-manager.js index a89e1b39..2e08a92f 100644 --- a/js/custom-nodes-manager.js +++ b/js/custom-nodes-manager.js @@ -1,17 +1,13 @@ import { app } from "../../scripts/app.js"; -import { api } from "../../scripts/api.js" import { $el } from "../../scripts/ui.js"; -import { manager_instance, rebootAPI, install_via_git_url } from "./common.js"; +import { + manager_instance, rebootAPI, install_via_git_url, + fetchData, md5, icons +} from "./common.js"; // https://cenfun.github.io/turbogrid/api.html import TG from "./turbogrid.esm.js"; -const icons = { - search: '', - extensions: '', - conflicts: '' -} - const pageCss = ` .cn-manager { --grid-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; @@ -123,6 +119,7 @@ const pageCss = ` .cn-manager-grid .cn-node-name a { color: skyblue; text-decoration: none; + word-break: break-word; } .cn-manager-grid .cn-node-desc a { @@ -305,7 +302,7 @@ const pageHtml = ` - +
@@ -613,59 +610,16 @@ export class CustomNodesManager { const container = this.element.querySelector(".cn-manager-grid"); const grid = new TG.Grid(container); this.grid = grid; - - const autoHeightColumns = ['description', "alternatives"]; - let prevViewRowsLength = 0; + let prevViewRowsLength = -1; grid.bind('onUpdated', (e, d) => { const viewRows = grid.viewRows; if (viewRows.length !== prevViewRowsLength) { prevViewRowsLength = viewRows.length; - this.showStatus(`${prevViewRowsLength} custom nodes`); + this.showStatus(`${prevViewRowsLength.toLocaleString()} custom nodes`); } - const visibleRowList = grid.viewport.rows; - const rows = []; - const heights = []; - - visibleRowList.forEach(function(viewIndex) { - // display index after filter is no equal global index - const rowItem = grid.getViewRowItem(viewIndex); - if (rowItem.rowHeightFixed) { - return; - } - - const list = autoHeightColumns.map(k => { - const cellNode = grid.getCellNode(rowItem, k); - if (cellNode) { - const div = cellNode.querySelector('.tg-multiline-fixing'); - // 10px is padding top and bottom - const realHeight = Math.max(TG.$(div).height() + 10, grid.options.rowHeight); - return realHeight; - } - }).filter(n => n); - - if (list.length) { - rowItem.rowHeightFixed = true; - rows.push(rowItem); - heights.push(Math.max.apply(null, list)); - } - - }); - if (!rows.length) { - return; - } - grid.setRowHeight(rows, heights); - }); - - grid.bind('onColumnWidthChanged', (e, d) => { - if (autoHeightColumns.includes(d.id)) { - // reset when column width changed - grid.forEachRow(function(row) { - row.rowHeightFixed = false; - }); - } }); grid.bind('onSelectChanged', (e, changes) => { @@ -691,10 +645,15 @@ export class CustomNodesManager { frozenColumn: 1, rowNotFound: "No Results", - rowHeight: 30 * 3 + 3 * 4, + rowHeight: 40, bindWindowResize: true, bindContainerResize: true, + cellResizeObserver: (rowItem, columnItem) => { + const autoHeightColumns = ['title', 'installed', 'description', "alternatives"]; + return autoHeightColumns.includes(columnItem.id) + }, + // updateGrid handler for filter and keywords rowFilter: (rowItem) => { @@ -765,12 +724,10 @@ export class CustomNodesManager { width: 200, minWidth: 100, maxWidth: 500, - classMap: 'tg-multiline cn-node-name', + classMap: 'cn-node-name', formatter: (title, rowItem, columnItem) => { - return `
- ${rowItem.installed === 'Fail' ? '(IMPORT FAILED)' : ''} - ${title} -
`; + return `${rowItem.installed === 'Fail' ? '(IMPORT FAILED)' : ''} + ${title}`; } }, { id: 'installed', @@ -793,19 +750,13 @@ export class CustomNodesManager { width: 400, maxWidth: 5000, invisible: !this.hasAlternatives(), - classMap: 'tg-multiline cn-node-desc', - formatter: (alternatives, rowItem, columnItem) => { - return `
${alternatives}
`; - } + classMap: 'cn-node-desc' }, { id: 'description', name: 'Description', width: 400, maxWidth: 5000, - classMap: 'tg-multiline cn-node-desc', - formatter: (description, rowItem, columnItem) => { - return `
${description}
`; - } + classMap: 'cn-node-desc' }, { id: "extensions", name: "Extensions", @@ -856,7 +807,7 @@ export class CustomNodesManager { }, { id: 'author', name: 'Author', - width: 100, + width: 120, classMap: "cn-node-author", formatter: (author, rowItem, columnItem) => { if (rowItem.trust) { @@ -907,9 +858,6 @@ export class CustomNodesManager { if (this.grid) { this.grid.update(); if (this.hasAlternatives()) { - this.grid.forEachRow(function(row) { - row.rowHeightFixed = false; - }); this.grid.showColumn("alternatives"); } else { this.grid.hideColumn("alternatives"); @@ -1000,7 +948,7 @@ export class CustomNodesManager { this.showStatus(`${label} ${item.title} ...`); const data = item.originalData; - const res = await this.fetchData(`/customnode/${mode}`, { + const res = await fetchData(`/customnode/${mode}`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) @@ -1049,53 +997,10 @@ export class CustomNodesManager { // =========================================================================================== - async fetchData(route, options) { - let err; - const res = await api.fetchApi(route, options).catch(e => { - err = e; - }); - - if (!res) { - return { - status: 400, - error: new Error("Unknown Error") - } - } - - const { status, statusText } = res; - if (err) { - return { - status, - error: err - } - } - - if (status !== 200) { - return { - status, - error: new Error(statusText || "Unknown Error") - } - } - - const data = await res.json(); - if (!data) { - return { - status, - error: new Error(`Failed to load data: ${route}`) - } - } - return { - status, - data - } - } - - // =========================================================================================== - async getExtensionMappings() { const mode = manager_instance.datasrc_combo.value; this.showStatus(`Loading extension mappings (${mode}) ...`); - const res = await this.fetchData(`/customnode/getmappings?mode=${mode}`); + const res = await fetchData(`/customnode/getmappings?mode=${mode}`); if (res.error) { console.log(res.error); return {} @@ -1149,7 +1054,7 @@ export class CustomNodesManager { async getMissingNodes() { const mode = manager_instance.datasrc_combo.value; this.showStatus(`Loading missing nodes (${mode}) ...`); - const res = await this.fetchData(`/customnode/getmappings?mode=${mode}`); + const res = await fetchData(`/customnode/getmappings?mode=${mode}`); if (res.error) { this.showError(`Failed to get custom node mappings: ${res.error}`); return; @@ -1219,7 +1124,7 @@ export class CustomNodesManager { } } - const resUnresolved = await this.fetchData(`/component/get_unresolved`); + const resUnresolved = await fetchData(`/component/get_unresolved`); const unresolved = resUnresolved.data; if (unresolved && unresolved.nodes) { unresolved.nodes.forEach(node_type => { @@ -1243,7 +1148,7 @@ export class CustomNodesManager { const mode = manager_instance.datasrc_combo.value; this.showStatus(`Loading alternatives (${mode}) ...`); - const res = await this.fetchData(`/customnode/alternatives?mode=${mode}`); + const res = await fetchData(`/customnode/alternatives?mode=${mode}`); if (res.error) { this.showError(`Failed to get alternatives: ${res.error}`); return []; @@ -1285,7 +1190,7 @@ export class CustomNodesManager { this.showStatus(`Loading custom nodes (${mode}) ...`); const skip_update = this.show_mode === ShowMode.UPDATE ? "" : "&skip_update=true"; - const res = await this.fetchData(`/customnode/getlist?mode=${mode}${skip_update}`); + const res = await fetchData(`/customnode/getlist?mode=${mode}${skip_update}`); if (res.error) { this.showError("Failed to get custom node list."); this.hideLoading(); @@ -1302,7 +1207,8 @@ export class CustomNodesManager { for (const item of custom_nodes) { item.originalData = JSON.parse(JSON.stringify(item)); - item.hash = await calculateHash(item); + const message = item.title + item.files[0]; + item.hash = md5(message); } const filterItem = this.getFilterItem(this.show_mode); @@ -1471,54 +1377,4 @@ export class CustomNodesManager { close() { this.element.style.display = "none"; } -} - -// =========================================================================================== - -async function calculateHash(item) { - const message = item.title + item.files[0]; - return md5(message); -} - -function md5(inputString) { - const hc = '0123456789abcdef'; - const rh = n => {let j,s='';for(j=0;j<=3;j++) s+=hc.charAt((n>>(j*8+4))&0x0F)+hc.charAt((n>>(j*8))&0x0F);return s;} - const ad = (x,y) => {let l=(x&0xFFFF)+(y&0xFFFF);let m=(x>>16)+(y>>16)+(l>>16);return (m<<16)|(l&0xFFFF);} - const rl = (n,c) => (n<>>(32-c)); - const cm = (q,a,b,x,s,t) => ad(rl(ad(ad(a,q),ad(x,t)),s),b); - const ff = (a,b,c,d,x,s,t) => cm((b&c)|((~b)&d),a,b,x,s,t); - const gg = (a,b,c,d,x,s,t) => cm((b&d)|(c&(~d)),a,b,x,s,t); - const hh = (a,b,c,d,x,s,t) => cm(b^c^d,a,b,x,s,t); - const ii = (a,b,c,d,x,s,t) => cm(c^(b|(~d)),a,b,x,s,t); - const sb = x => { - let i;const nblk=((x.length+8)>>6)+1;const blks=[];for(i=0;i>2]|=x.charCodeAt(i)<<((i%4)*8);} - blks[i>>2]|=0x80<<((i%4)*8);blks[nblk*16-2]=x.length*8;return blks; - } - let i,x=sb(inputString),a=1732584193,b=-271733879,c=-1732584194,d=271733878,olda,oldb,oldc,oldd; - for(i=0;iTo apply the installed model, please click the 'Refresh' button on the main menu."); - } - } -} - -async function getModelList() { - var mode = manager_instance.datasrc_combo.value; - - const response = await api.fetchApi(`/externalmodel/getlist?mode=${mode}`); - - const data = await response.json(); - return data; -} - -export class ModelInstaller extends ComfyDialog { - static instance = null; - - install_buttons = []; - message_box = null; - data = null; - - clear() { - this.install_buttons = []; - this.message_box = null; - this.data = null; - } - - constructor(app, manager_dialog) { - super(); - this.manager_dialog = manager_dialog; - this.search_keyword = ''; - this.element = $el("div.comfy-modal", { parent: document.body }, []); - } - - createControls() { - return [ - $el("button.cm-small-button", { - type: "button", - textContent: "Close", - onclick: () => { this.close(); } - }) - ]; - } - - startInstall(target) { - const self = ModelInstaller.instance; - - self.updateMessage(`
Installing '${target.name}'`); - - for(let i in self.install_buttons) { - self.install_buttons[i].disabled = true; - self.install_buttons[i].style.backgroundColor = 'gray'; - } - } - - apply_searchbox(data) { - let keyword = this.search_box.value.toLowerCase(); - for(let i in this.grid_rows) { - let data = this.grid_rows[i].data; - let content = data.name.toLowerCase() + data.type.toLowerCase() + data.base.toLowerCase() + data.filename.toLowerCase() + data.description.toLowerCase(); - - if(this.filter && this.filter != '*') { - if(this.filter != data.installed) { - this.grid_rows[i].control.style.display = 'none'; - continue; - } - } - - if(keyword == "") - this.grid_rows[i].control.style.display = null; - else if(content.includes(keyword)) { - this.grid_rows[i].control.style.display = null; - } - else { - this.grid_rows[i].control.style.display = 'none'; - } - } - } - - async invalidateControl() { - this.clear(); - this.data = (await getModelList()).models; - - while (this.element.children.length) { - this.element.removeChild(this.element.children[0]); - } - - await this.createHeaderControls(); - - if(this.search_keyword) { - this.search_box.value = this.search_keyword; - } - - await this.createGrid(); - await this.createBottomControls(); - - this.apply_searchbox(this.data); - } - - updateMessage(msg, btn_id) { - this.message_box.innerHTML = msg; - if(btn_id) { - const rebootButton = document.getElementById(btn_id); - const self = this; - rebootButton.addEventListener("click", - function() { - if(rebootAPI()) { - self.close(); - self.manager_dialog.close(); - } - }); - } - } - - async createGrid(models_json) { - var grid = document.createElement('table'); - grid.setAttribute('id', 'external-models-grid'); - - var thead = document.createElement('thead'); - var tbody = document.createElement('tbody'); - - var headerRow = document.createElement('tr'); - thead.style.position = "sticky"; - thead.style.top = "0px"; - thead.style.borderCollapse = "collapse"; - thead.style.tableLayout = "fixed"; - - var header1 = document.createElement('th'); - header1.innerHTML = '  ID  '; - header1.style.width = "20px"; - var header2 = document.createElement('th'); - header2.innerHTML = 'Type'; - header2.style.width = "100px"; - var header3 = document.createElement('th'); - header3.innerHTML = 'Base'; - header3.style.width = "100px"; - var header4 = document.createElement('th'); - header4.innerHTML = 'Name'; - header4.style.width = "30%"; - var header5 = document.createElement('th'); - header5.innerHTML = 'Filename'; - header5.style.width = "20%"; - header5.style.tableLayout = "fixed"; - var header6 = document.createElement('th'); - header6.innerHTML = 'Description'; - header6.style.width = "50%"; - var header_down = document.createElement('th'); - header_down.innerHTML = 'Download'; - header_down.style.width = "50px"; - - thead.appendChild(headerRow); - headerRow.appendChild(header1); - headerRow.appendChild(header2); - headerRow.appendChild(header3); - headerRow.appendChild(header4); - headerRow.appendChild(header5); - headerRow.appendChild(header6); - headerRow.appendChild(header_down); - - headerRow.style.backgroundColor = "Black"; - headerRow.style.color = "White"; - headerRow.style.textAlign = "center"; - headerRow.style.width = "100%"; - headerRow.style.padding = "0"; - - grid.appendChild(thead); - grid.appendChild(tbody); - - this.grid_rows = {}; - - if(this.data) - for (var i = 0; i < this.data.length; i++) { - const data = this.data[i]; - var dataRow = document.createElement('tr'); - var data1 = document.createElement('td'); - data1.style.textAlign = "center"; - data1.innerHTML = i+1; - var data2 = document.createElement('td'); - data2.innerHTML = ` ${data.type}`; - var data3 = document.createElement('td'); - data3.innerHTML = ` ${data.base}`; - var data4 = document.createElement('td'); - data4.className = "cm-node-name"; - data4.innerHTML = ` ${data.name}`; - var data5 = document.createElement('td'); - data5.className = "cm-node-filename"; - data5.innerHTML = ` ${data.filename}`; - data5.style.wordBreak = "break-all"; - var data6 = document.createElement('td'); - data6.className = "cm-node-desc"; - data6.innerHTML = data.description; - data6.style.wordBreak = "break-all"; - var data_install = document.createElement('td'); - var installBtn = document.createElement('button'); - data_install.style.textAlign = "center"; - - installBtn.innerHTML = 'Install'; - this.install_buttons.push(installBtn); - - switch(data.installed) { - case 'True': - installBtn.innerHTML = 'Installed'; - installBtn.style.backgroundColor = 'green'; - installBtn.style.color = 'white'; - installBtn.disabled = true; - break; - default: - installBtn.innerHTML = 'Install'; - installBtn.style.backgroundColor = 'black'; - installBtn.style.color = 'white'; - break; - } - - installBtn.style.width = "100px"; - - installBtn.addEventListener('click', function() { - install_model(data); - }); - - data_install.appendChild(installBtn); - - dataRow.style.backgroundColor = "var(--bg-color)"; - dataRow.style.color = "var(--fg-color)"; - dataRow.style.textAlign = "left"; - - dataRow.appendChild(data1); - dataRow.appendChild(data2); - dataRow.appendChild(data3); - dataRow.appendChild(data4); - dataRow.appendChild(data5); - dataRow.appendChild(data6); - dataRow.appendChild(data_install); - tbody.appendChild(dataRow); - - this.grid_rows[i] = {data:data, control:dataRow}; - } - - let self = this; - const panel = document.createElement('div'); - panel.style.width = "100%"; - panel.appendChild(grid); - - function handleResize() { - const parentHeight = self.element.clientHeight; - const gridHeight = parentHeight - 200; - - grid.style.height = gridHeight + "px"; - } - window.addEventListener("resize", handleResize); - - grid.style.position = "relative"; - grid.style.display = "inline-block"; - grid.style.width = "100%"; - grid.style.height = "100%"; - grid.style.overflowY = "scroll"; - this.element.style.height = "85%"; - this.element.style.width = "80%"; - this.element.appendChild(panel); - - handleResize(); - } - - createFilterCombo() { - let combo = document.createElement("select"); - - combo.style.cssFloat = "left"; - combo.style.fontSize = "14px"; - combo.style.padding = "4px"; - combo.style.background = "black"; - combo.style.marginLeft = "2px"; - combo.style.width = "199px"; - combo.id = `combo-manger-filter`; - combo.style.borderRadius = "15px"; - - let items = - [ - { value:'*', text:'Filter: all' }, - { value:'True', text:'Filter: installed' }, - { value:'False', text:'Filter: not-installed' }, - ]; - - items.forEach(item => { - const option = document.createElement("option"); - option.value = item.value; - option.text = item.text; - combo.appendChild(option); - }); - - let self = this; - combo.addEventListener('change', function(event) { - self.filter = event.target.value; - self.apply_searchbox(); - }); - - return combo; - } - - createHeaderControls() { - let self = this; - this.search_box = $el('input.cm-search-filter', {type:'text', id:'manager-model-search-box', placeholder:'input search keyword', value:this.search_keyword}, []); - this.search_box.style.height = "25px"; - this.search_box.onkeydown = (event) => { - if (event.key === 'Enter') { - self.search_keyword = self.search_box.value; - self.apply_searchbox(); - } - if (event.key === 'Escape') { - self.search_keyword = self.search_box.value; - self.apply_searchbox(); - } - }; - - let search_button = document.createElement("button"); - search_button.className = "cm-small-button"; - search_button.innerHTML = "Search"; - search_button.onclick = () => { - self.search_keyword = self.search_box.value; - self.apply_searchbox(); - }; - search_button.style.display = "inline-block"; - - let filter_control = this.createFilterCombo(); - filter_control.style.display = "inline-block"; - - let cell = $el('td', {width:'100%'}, [filter_control, this.search_box, ' ', search_button]); - let search_control = $el('table', {width:'100%'}, - [ - $el('tr', {}, [cell]) - ] - ); - - cell.style.textAlign = "right"; - this.element.appendChild(search_control); - } - - async createBottomControls() { - var close_button = document.createElement("button"); - close_button.className = "cm-small-button"; - close_button.innerHTML = "Close"; - close_button.onclick = () => { this.close(); } - close_button.style.display = "inline-block"; - - this.message_box = $el('div', {id:'custom-download-message'}, [$el('br'), '']); - this.message_box.style.height = '60px'; - this.message_box.style.verticalAlign = 'middle'; - - this.element.appendChild(this.message_box); - this.element.appendChild(close_button); - } - - async show() { - try { - this.invalidateControl(); - this.element.style.display = "block"; - this.element.style.zIndex = 10001; - } - catch(exception) { - app.ui.dialog.show(`Failed to get external model list. / ${exception}`); - } - } -} diff --git a/js/model-manager.js b/js/model-manager.js new file mode 100644 index 00000000..d6efd386 --- /dev/null +++ b/js/model-manager.js @@ -0,0 +1,715 @@ +import { $el } from "../../scripts/ui.js"; +import { + manager_instance, rebootAPI, + fetchData, md5, icons +} from "./common.js"; + +// https://cenfun.github.io/turbogrid/api.html +import TG from "./turbogrid.esm.js"; + +const pageCss = ` +.cmm-manager { + --grid-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + z-index: 10001; + width: 80%; + height: 80%; + display: flex; + flex-direction: column; + gap: 10px; + color: var(--fg-color); + font-family: arial, sans-serif; +} + +.cmm-manager .cmm-flex-auto { + flex: auto; +} + +.cmm-manager button { + font-size: 16px; + color: var(--input-text); + background-color: var(--comfy-input-bg); + border-radius: 8px; + border-color: var(--border-color); + border-style: solid; + margin: 0; + padding: 4px 8px; + min-width: 100px; +} + +.cmm-manager button:disabled, +.cmm-manager input:disabled, +.cmm-manager select:disabled { + color: gray; +} + +.cmm-manager button:disabled { + background-color: var(--comfy-input-bg); +} + +.cmm-manager-header { + display: flex; + flex-wrap: wrap; + gap: 5px; + align-items: center; + padding: 0 5px; +} + +.cmm-manager-header label { + display: flex; + gap: 5px; + align-items: center; +} + +.cmm-manager-type, +.cmm-manager-base, +.cmm-manager-filter { + height: 28px; + line-height: 28px; +} + +.cmm-manager-keywords { + height: 28px; + line-height: 28px; + padding: 0 5px 0 26px; + background-size: 16px; + background-position: 5px center; + background-repeat: no-repeat; + background-image: url("data:image/svg+xml;charset=utf8,${encodeURIComponent(icons.search.replace("currentColor", "#888"))}"); +} + +.cmm-manager-status { + padding-left: 10px; +} + +.cmm-manager-grid { + flex: auto; + border: 1px solid var(--border-color); + overflow: hidden; +} + +.cmm-manager-message { + +} + +.cmm-manager-footer { + display: flex; + flex-wrap: wrap; + gap: 10px; + align-items: center; +} + +.cmm-manager-grid .tg-turbogrid { + font-family: var(--grid-font); + font-size: 15px; + background: var(--bg-color); +} + +.cmm-manager-grid .cmm-node-name a { + color: skyblue; + text-decoration: none; + word-break: break-word; +} + +.cmm-manager-grid .cmm-node-desc a { + color: #5555FF; + font-weight: bold; + text-decoration: none; +} + +.cmm-manager-grid .tg-cell a:hover { + text-decoration: underline; +} + +.cmm-icon-passed { + width: 20px; + height: 20px; + position: absolute; + left: calc(50% - 10px); + top: calc(50% - 10px); + +} + +.cmm-manager .cmm-btn-enable { + background-color: blue; + color: white; +} + +.cmm-manager .cmm-btn-disable { + background-color: MediumSlateBlue; + color: white; +} + +.cmm-manager .cmm-btn-install { + background-color: black; + color: white; +} + +@keyframes cmm-btn-loading-bg { + 0% { + left: 0; + } + 100% { + left: -100px; + } +} + +.cmm-manager button.cmm-btn-loading { + position: relative; + overflow: hidden; + border-color: rgb(0 119 207 / 80%); + background-color: var(--comfy-input-bg); +} + +.cmm-manager button.cmm-btn-loading::after { + position: absolute; + top: 0; + left: 0; + content: ""; + width: 500px; + height: 100%; + background-image: repeating-linear-gradient( + -45deg, + rgb(0 119 207 / 30%), + rgb(0 119 207 / 30%) 10px, + transparent 10px, + transparent 15px + ); + animation: cmm-btn-loading-bg 3s linear infinite; +} + +.cmm-manager-light .cmm-node-name a { + color: blue; +} + +.cmm-manager-light .cm-warn-note { + background-color: #ccc !important; +} + +.cmm-manager-light .cmm-btn-install { + background-color: #333; +} + +`; + +const pageHtml = ` +
+ + + + +
+
+
+
+
+ +`; + +export class ModelManager { + static instance = null; + + constructor(app, manager_dialog) { + this.app = app; + this.manager_dialog = manager_dialog; + this.id = "cmm-manager"; + + this.filter = ''; + this.type = ''; + this.base = ''; + this.keywords = ''; + + this.init(); + } + + init() { + + if (!document.querySelector(`style[context="${this.id}"]`)) { + const $style = document.createElement("style"); + $style.setAttribute("context", this.id); + $style.innerHTML = pageCss; + document.head.appendChild($style); + } + + this.element = $el("div", { + parent: document.body, + className: "comfy-modal cmm-manager" + }); + this.element.innerHTML = pageHtml; + this.initFilter(); + this.bindEvents(); + this.initGrid(); + } + + initFilter() { + + this.filterList = [{ + label: "All", + value: "" + }, { + label: "Installed", + value: "True" + }, { + label: "Not Installed", + value: "False" + }]; + + this.typeList = [{ + label: "All", + value: "" + }]; + + this.baseList = [{ + label: "All", + value: "" + }]; + + this.updateFilter(); + + } + + updateFilter() { + const $filter = this.element.querySelector(".cmm-manager-filter"); + $filter.innerHTML = this.filterList.map(item => { + const selected = item.value === this.filter ? " selected" : ""; + return `` + }).join(""); + + const $type = this.element.querySelector(".cmm-manager-type"); + $type.innerHTML = this.typeList.map(item => { + const selected = item.value === this.type ? " selected" : ""; + return `` + }).join(""); + + const $base = this.element.querySelector(".cmm-manager-base"); + $base.innerHTML = this.baseList.map(item => { + const selected = item.value === this.base ? " selected" : ""; + return `` + }).join(""); + + } + + bindEvents() { + const eventsMap = { + ".cmm-manager-filter": { + change: (e) => { + this.filter = e.target.value; + this.updateGrid(); + } + }, + ".cmm-manager-type": { + change: (e) => { + this.type = e.target.value; + this.updateGrid(); + } + }, + ".cmm-manager-base": { + change: (e) => { + this.base = e.target.value; + this.updateGrid(); + } + }, + + ".cmm-manager-keywords": { + input: (e) => { + const keywords = `${e.target.value}`.trim(); + if (keywords !== this.keywords) { + this.keywords = keywords; + this.updateGrid(); + } + }, + focus: (e) => e.target.select() + }, + + ".cmm-manager-close": { + click: (e) => this.close() + }, + + }; + Object.keys(eventsMap).forEach(selector => { + const target = this.element.querySelector(selector); + if (target) { + const events = eventsMap[selector]; + if (events) { + Object.keys(events).forEach(type => { + target.addEventListener(type, events[type]); + }); + } + } + }); + } + + // =========================================================================================== + + initGrid() { + const container = this.element.querySelector(".cmm-manager-grid"); + const grid = new TG.Grid(container); + this.grid = grid; + + grid.bind('onUpdated', (e, d) => { + + this.showStatus(`${grid.viewRows.length.toLocaleString()} external models`); + + }); + + grid.bind('onClick', (e, d) => { + const { rowItem } = d; + const target = d.e.target; + const mode = target.getAttribute("mode"); + if (mode === "install") { + this.installModel(rowItem, target); + } + + }); + + grid.setOption({ + theme: 'dark', + + textSelectable: true, + scrollbarRound: true, + + frozenColumn: 1, + rowNotFound: "No Results", + + rowHeight: 40, + bindWindowResize: true, + bindContainerResize: true, + + cellResizeObserver: (rowItem, columnItem) => { + const autoHeightColumns = ['name', 'description']; + return autoHeightColumns.includes(columnItem.id) + }, + + // updateGrid handler for filter and keywords + rowFilter: (rowItem) => { + + const searchableColumns = ["name", "type", "base", "description", "filename", "save_path"]; + + let shouldShown = grid.highlightKeywordsFilter(rowItem, searchableColumns, this.keywords); + + if (shouldShown) { + if(this.filter && rowItem.installed !== this.filter) { + return false; + } + + if(this.type && rowItem.type !== this.type) { + return false; + } + + if(this.base && rowItem.base !== this.base) { + return false; + } + + } + + return shouldShown; + } + }); + + } + + renderGrid() { + + // update theme + const colorPalette = this.app.ui.settings.settingsValues['Comfy.ColorPalette']; + Array.from(this.element.classList).forEach(cn => { + if (cn.startsWith("cmm-manager-")) { + this.element.classList.remove(cn); + } + }); + this.element.classList.add(`cmm-manager-${colorPalette}`); + + const options = { + theme: colorPalette === "light" ? "" : "dark" + }; + + const rows = this.modelList || []; + + const columns = [{ + id: 'id', + name: 'ID', + width: 50, + align: 'center' + }, { + id: 'name', + name: 'Name', + width: 200, + minWidth: 100, + maxWidth: 500, + classMap: 'cmm-node-name', + formatter: function(name, rowItem, columnItem, cellNode) { + return `${name}`; + } + }, { + id: 'installed', + name: 'Download', + width: 130, + minWidth: 110, + maxWidth: 200, + sortable: false, + align: 'center', + formatter: (installed, rowItem, columnItem) => { + if (rowItem.refresh) { + return `Refresh Required`; + } + if (installed === "True") { + return `
${icons.passed}
`; + } + return ``; + } + }, { + id: 'type', + name: 'Type', + width: 100 + }, { + id: 'base', + name: 'Base' + }, { + id: 'description', + name: 'Description', + width: 400, + maxWidth: 5000, + classMap: 'cmm-node-desc' + }, { + id: 'filename', + name: 'Filename', + width: 200 + }, { + id: "save_path", + name: 'Save Path', + width: 200 + }]; + + this.grid.setData({ + options, + rows, + columns + }); + + this.grid.render(); + + } + + updateGrid() { + if (this.grid) { + this.grid.update(); + } + } + + // =========================================================================================== + + async installModel(item, btn) { + + this.showLoading(); + this.showError(""); + + this.showStatus(`Install ${item.name} ...`); + btn.classList.add("cmm-btn-loading"); + + const data = item.originalData; + const res = await fetchData('/model/install', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(data) + }); + + + if (res.error) { + const errorMsg = `Install failed: ${item.name} ${res.error.message}`; + this.showError(errorMsg); + this.hideLoading(); + return; + } + + item.refresh = true; + this.grid.updateCell(item, "installed"); + + this.hideLoading(); + + this.showStatus(`Install ${item.name} successfully`); + this.showMessage(`To apply the installed model, please click the 'Refresh' button on the main menu.`, "red") + + } + + getModelList(models) { + + const typeMap = new Map(); + const baseMap = new Map(); + + models.forEach((item, i) => { + const { type, base, name, reference } = item; + item.originalData = JSON.parse(JSON.stringify(item)); + item.hash = md5(name + reference); + item.id = i + 1; + + typeMap.set(type, type); + baseMap.set(base, base); + + }); + + const typeList = []; + typeMap.forEach(type => { + typeList.push({ + label: type, + value: type + }); + }); + typeList.sort((a,b)=> { + const au = a.label.toUpperCase(); + const bu = b.label.toUpperCase(); + if (au !== bu) { + return au > bu ? 1 : -1; + } + return 0; + }); + this.typeList = [{ + label: "All", + value: "" + }].concat(typeList); + + + const baseList = []; + baseMap.forEach(base => { + baseList.push({ + label: base, + value: base + }); + }); + baseList.sort((a,b)=> { + const au = a.label.toUpperCase(); + const bu = b.label.toUpperCase(); + if (au !== bu) { + return au > bu ? 1 : -1; + } + return 0; + }); + this.baseList = [{ + label: "All", + value: "" + }].concat(baseList); + + return models; + } + + // =========================================================================================== + + async loadData() { + + this.showLoading(); + + this.showStatus(`Loading external model list ...`); + + const mode = manager_instance.datasrc_combo.value; + + const res = await fetchData(`/externalmodel/getlist?mode=${mode}`); + if (res.error) { + this.showError("Failed to get external model list."); + this.hideLoading(); + return + } + + const { models } = res.data; + + this.modelList = this.getModelList(models); + // console.log("models", this.modelList); + + this.updateFilter(); + + this.renderGrid(); + + this.hideLoading(); + + } + + // =========================================================================================== + + showError(err) { + this.showMessage(err, "red"); + } + + showMessage(msg, color) { + if (color) { + msg = `${msg}`; + } + this.element.querySelector(".cmm-manager-message").innerHTML = msg; + } + + showStatus(msg, color) { + if (color) { + msg = `${msg}`; + } + this.element.querySelector(".cmm-manager-status").innerHTML = msg; + } + + showLoading() { + this.setDisabled(true); + if (this.grid) { + this.grid.showLoading(); + this.grid.showMask({ + opacity: 0.05 + }); + } + } + + hideLoading() { + this.setDisabled(false); + if (this.grid) { + this.grid.hideLoading(); + this.grid.hideMask(); + } + } + + setDisabled(disabled) { + + const $close = this.element.querySelector(".cmm-manager-close"); + + const list = [ + ".cmm-manager-header input", + ".cmm-manager-header select", + ".cmm-manager-footer button" + ].map(s => { + return Array.from(this.element.querySelectorAll(s)); + }) + .flat() + .filter(it => { + return it !== $close; + }); + + list.forEach($elem => { + if (disabled) { + $elem.setAttribute("disabled", "disabled"); + } else { + $elem.removeAttribute("disabled"); + } + }); + + Array.from(this.element.querySelectorAll(".cmm-btn-loading")).forEach($elem => { + $elem.classList.remove("cmm-btn-loading"); + }); + + } + + setKeywords(keywords = "") { + this.keywords = keywords; + this.element.querySelector(".cmm-manager-keywords").value = keywords; + } + + show() { + this.element.style.display = "flex"; + this.setKeywords(""); + this.showMessage(""); + this.loadData(); + } + + close() { + this.element.style.display = "none"; + } +} \ No newline at end of file diff --git a/js/turbogrid.esm.js b/js/turbogrid.esm.js index ca6088a2..fd0bfb57 100644 --- a/js/turbogrid.esm.js +++ b/js/turbogrid.esm.js @@ -1 +1 @@ -var t={915:(t,e,i)=>{i.d(e,{A:()=>l});var o=i(256),n=i.n(o),s=i(505),r=i.n(s)()(n());r.push([t.id,'.tg-turbogrid{position:relative;z-index:0;width:100%;height:100%;margin:0;padding:0;box-sizing:border-box;font-size:14px;font-family:arial,sans-serif;outline:0;cursor:default;overflow:hidden}.tg-turbogrid *,.tg-turbogrid *::before,.tg-turbogrid *::after{box-sizing:border-box}.tg-text-unselectable.tg-turbogrid{user-select:none}.tg-turbogrid svg{display:block;pointer-events:none}.tg-turbogrid .tg-symbols{font-family:webdings,sans-serif}.tg-turbogrid .tg-nowrap{white-space:nowrap}.tg-turbogrid .tg-align-left{text-align:left}.tg-turbogrid .tg-align-center{text-align:center}.tg-turbogrid .tg-align-right{text-align:right}@keyframes tg-fade-in{from{opacity:0}to{opacity:1}}@keyframes tg-fade-out{from{opacity:1}to{opacity:0}}.tg-turbogrid .tg-fade-in{animation-name:tg-fade-in;animation-duration:.2s;animation-fill-mode:both}.tg-turbogrid .tg-fade-in .tg-scrollbar-track{display:none}.tg-turbogrid .tg-fade-out{animation-name:tg-fade-out;animation-duration:.2s;animation-fill-mode:both}.tg-turbogrid .tg-fade-out .tg-scrollbar-track{display:none}.tg-turbogrid .tg-mask{position:absolute;top:0;left:0;z-index:200;display:none;width:100%;height:100%;background-color:#000;opacity:.1}@keyframes tg-loading-animation{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.tg-turbogrid .tg-loading{position:absolute;top:50%;left:50%;z-index:300;display:none;transform:translate(-50%, -50%);pointer-events:none}.tg-turbogrid .tg-loading-default{width:35px;height:35px;color:#0077cf;animation:1s tg-loading-animation linear infinite}.tg-turbogrid .tg-loading-fast{animation:.382s tg-loading-animation linear infinite}.tg-turbogrid .tg-checkbox{width:100%;height:100%;cursor:pointer;overflow:hidden}.tg-turbogrid .tg-checkbox:hover .tg-checkbox-item{fill:#005ba1}.tg-turbogrid .tg-checkbox.tg-select-icon-all{height:18px}.tg-turbogrid .tg-checkbox .tg-icon-checkbox{position:absolute;top:50%;left:50%;display:block;width:16px;height:16px;transform:translate(-50%, -50%)}.tg-turbogrid .tg-checkbox .tg-checkbox-item{display:none;fill:gray}.tg-turbogrid .tg-checkbox .tg-checkbox-none{display:block}.tg-turbogrid .tg-checkbox.tg-selected .tg-checkbox-selected{display:block;fill:#0077cf}.tg-turbogrid .tg-checkbox.tg-mixed .tg-checkbox-mixed{display:block;fill:#0077cf}.tg-turbogrid .tg-radio{cursor:pointer;overflow:hidden}.tg-turbogrid .tg-radio:hover .tg-icon-radio::before{border-color:#005ba1}.tg-turbogrid .tg-radio .tg-icon-radio{position:absolute;top:50%;left:50%;width:16px;height:16px;transform:translate(-50%, -50%)}.tg-turbogrid .tg-radio .tg-icon-radio::before{position:absolute;top:50%;left:50%;content:"";display:block;width:16px;height:16px;border:thin solid gray;border-radius:50%;background:#fff;transform:translate(-50%, -50%)}.tg-turbogrid .tg-radio .tg-icon-radio::after{position:absolute;top:50%;left:50%;content:"";display:none;width:10px;height:10px;border-radius:50%;background:#0077cf;transform:translate(-50%, -50%)}.tg-turbogrid .tg-radio.tg-selected .tg-icon-radio::after{display:block;border-color:#0077cf}.tg-turbogrid .tg-scrollbar{position:absolute;z-index:100;overflow:hidden;user-select:none}.tg-turbogrid .tg-scrollbar-v{top:0;right:0}.tg-turbogrid .tg-scrollbar-h{left:0;bottom:0}.tg-turbogrid .tg-scrollbar-track{position:relative;width:100%;height:100%;background:#f9f9f9;overflow:hidden;user-select:none}.tg-turbogrid .tg-scrollbar-thumb{position:absolute;top:0;left:0;border-radius:1px;background:#999;overflow:hidden;user-select:none}.tg-turbogrid .tg-scrollbar-thumb:hover{background:#888}.tg-turbogrid .tg-scrollbar-thumb-hold{background:#666}.tg-turbogrid .tg-scrollbar-thumb-hold:hover{background:#666}.tg-turbogrid .tg-scrollbar-round .tg-scrollbar-track{border-radius:10px}.tg-turbogrid .tg-scrollbar-round .tg-scrollbar-thumb{border-radius:10px}.tg-turbogrid .tg-scroll-pane{position:relative;margin:0;padding:0;border:none;outline:none;overflow:hidden}.tg-turbogrid .tg-scroll-view{position:relative;width:100%;height:100%;margin:0;padding:0;border:none;overflow:hidden}.tg-turbogrid .tg-scroll-body{position:absolute}.tg-turbogrid .tg-header{position:relative;width:10000px;border-left:0;overflow:hidden}.tg-turbogrid .tg-header-table{position:relative;color:#5e5e5e;font-weight:bold;font-size:14px;line-height:16px;border-bottom:thin solid #e5e5e5;overflow:hidden}.tg-turbogrid .tg-header-item{position:absolute;bottom:0}.tg-turbogrid .tg-header-group-item{overflow:hidden}.tg-turbogrid .tg-header-group-item::after{position:absolute;left:5px;bottom:0;content:"";display:block;width:calc(100% - 10px);height:1px;border-bottom:thin solid #ccc}.tg-turbogrid .tg-column-header{position:absolute;bottom:0;overflow:hidden}.tg-turbogrid .tg-column-header .tg-column-name{padding:10px 5px;text-overflow:ellipsis;overflow:hidden}.tg-turbogrid .tg-column-header .tg-column-name.tg-header-group-name{margin:0 5px;padding:5px 0}.tg-turbogrid .tg-column-resizing{position:absolute;top:0;right:-5px;z-index:100;width:10px;height:100%;background:#ccc;cursor:ew-resize;opacity:0}.tg-turbogrid .tg-header-column-last .tg-column-resizing{right:0}.tg-turbogrid .tg-column-sortable .tg-column-name{cursor:pointer}.tg-turbogrid .tg-column-sortable .tg-sort-indicator{cursor:pointer}.tg-turbogrid .tg-column-sorted{color:#000}.tg-turbogrid .tg-header-sort-h .tg-column-name{padding:12px 5px 15px}.tg-turbogrid .tg-header-sort-h .tg-column-sort{width:100%;height:15px;margin-top:-15px;padding:0 5px;overflow:hidden}.tg-turbogrid .tg-header-sort-h .tg-sort-indicator{position:relative;display:none;width:100%;height:100%}.tg-turbogrid .tg-header-sort-h .tg-column-sorted .tg-column-sort .tg-sort-indicator{display:block}.tg-turbogrid .tg-header-sort-h .tg-sort-indicator-line{position:absolute;top:1px;width:100%;height:0;border-top:thin solid #1e1e1e;overflow:hidden}.tg-turbogrid .tg-header-sort-h .tg-sort-indicator-icon{position:absolute;top:5px;left:0;right:inherit}.tg-turbogrid .tg-header-sort-h .tg-align-right .tg-sort-indicator-icon{left:inherit;right:0}.tg-turbogrid .tg-header-sort-h .tg-align-center .tg-sort-indicator-icon{left:50%;transform:translateX(-50%)}.tg-turbogrid .tg-header-sort-h .tg-sort-indicator-icon .tg-icon-sort-h{display:block;width:19px;height:6px}.tg-turbogrid .tg-header-sort-h .tg-sort-indicator-icon .tg-icon-item{display:none;fill:#1e1e1e}.tg-turbogrid .tg-header-sort-h .tg-sort-indicator-icon .tg-icon-item-light{fill:#ababab}.tg-turbogrid .tg-column-sort-v{display:flex;flex-direction:row;align-items:center}.tg-turbogrid .tg-column-sort-v .tg-column-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tg-turbogrid .tg-column-sort-v.tg-align-right{justify-content:right}.tg-turbogrid .tg-column-sort-v .tg-sort-indicator{position:relative;width:16px;height:16px}.tg-turbogrid .tg-column-sort-v .tg-sort-indicator-icon{position:absolute}.tg-turbogrid .tg-column-sort-v .tg-sort-indicator-icon .tg-icon-sort-v{display:block;width:10px;height:16px}.tg-turbogrid .tg-column-sort-v .tg-sort-indicator-icon .tg-icon-item{fill:#ababab}.tg-turbogrid .tg-column-sort-v .tg-sort-indicator-icon .tg-icon-item-light{fill:#ababab}.tg-turbogrid .tg-column-sort-v.tg-column-sorted .tg-sort-indicator-icon .tg-icon-item{fill:#1e1e1e}.tg-turbogrid .tg-column-sort-v.tg-column-sorted .tg-sort-indicator-icon .tg-icon-item-light{fill:#ababab}.tg-turbogrid .tg-sort-desc .tg-sort-indicator .tg-sort-indicator-icon .tg-desc{display:block}.tg-turbogrid .tg-sort-desc .tg-sort-indicator .tg-sort-indicator-icon .tg-asc{display:none}.tg-turbogrid .tg-sort-asc .tg-sort-indicator .tg-sort-indicator-icon .tg-desc{display:none}.tg-turbogrid .tg-sort-asc .tg-sort-indicator .tg-sort-indicator-icon .tg-asc{display:block}.tg-turbogrid .tg-column-line{position:absolute;top:0;left:0;z-index:100;display:none;height:100%;pointer-events:none}.tg-turbogrid .tg-column-line-item{position:absolute;top:0;bottom:0;display:block;width:0;height:100%;border-left:thin solid #ccc}.tg-turbogrid .tg-column-line-item.tg-active{border-left:thin solid #0077cf}.tg-turbogrid .tg-column-dragging{cursor:ew-resize}.tg-turbogrid .tg-column-dragging .tg-column-name{cursor:ew-resize}.tg-turbogrid .tg-column-dragging .tg-column-resizing:not(.tg-resizing-active){display:none}.tg-turbogrid .tg-tree{position:relative;display:flex;flex-direction:row;place-items:center left;width:100%;height:100%;overflow:hidden}.tg-turbogrid .tg-tree-icon{position:relative;width:15px;height:100%;min-height:9px;text-align:left;cursor:pointer;overflow:hidden}.tg-turbogrid .tg-tree-icon .tg-icon-tree{position:absolute;top:50%;left:0;display:block;width:9px;height:9px;transform:translate(0, -50%);overflow:hidden}.tg-turbogrid .tg-tree-icon .tg-tree-item{display:none}.tg-turbogrid .tg-tree-icon-collapsed .tg-tree-collapsed{display:block}.tg-turbogrid .tg-tree-icon-empty .tg-tree-collapsed{opacity:.5}.tg-turbogrid .tg-tree-icon-expanded .tg-tree-expanded{display:block}.tg-turbogrid .tg-tree-name{flex:1;text-overflow:ellipsis;overflow:hidden}.tg-turbogrid .tg-tree-header .tg-tree .tg-tree-icon{display:none}.tg-turbogrid .tg-tree-icon-all{position:relative;height:17px}.tg-turbogrid .tg-tree-header-indent .tg-tree{padding-left:5px}.tg-turbogrid .tg-tree-header-indent .tg-tree .tg-tree-icon{display:block}.tg-turbogrid .tg-tree-header-indent.tg-column-sort-h .tg-column-sort{width:calc(100% - 20px);margin-left:20px}.tg-turbogrid .tg-pane{position:absolute;width:100%;outline:0;overflow:hidden}.tg-turbogrid .tg-header-frame{position:relative;display:block;outline:0;overflow:hidden}.tg-turbogrid .tg-header-frame .tg-pane{height:100%}.tg-turbogrid .tg-body-frame{position:relative;width:100%;outline:0}.tg-turbogrid .tg-body-message{position:absolute;display:none;width:100%;height:100%;padding:10px;overflow:hidden}.tg-turbogrid .tg-body-message img,.tg-turbogrid .tg-body-message div{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.tg-turbogrid .tg-body{position:absolute;outline:0}.tg-turbogrid .tg-cell-hover-icon{display:none}.tg-touch-device.tg-turbogrid .tg-cell-hover-icon{display:inherit}.tg-turbogrid .tg-cell-row-number{font-weight:normal}.tg-turbogrid .tg-cell-row-drag .tg-row-drag-icon{position:absolute;top:50%;left:50%;width:24px;height:24px;cursor:move;opacity:.8;transform:translate(-50%, -50%)}.tg-turbogrid .tg-cell-row-drag .tg-row-drag-icon:hover{opacity:1}.tg-turbogrid .tg-cell{position:absolute;z-index:1;height:100%;margin:0;padding:0 5px;color:#1e1e1e;white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;overflow:hidden}.tg-turbogrid .tg-cell:focus{outline:none}.tg-turbogrid .tg-cell.tg-flashing{border:1px solid red !important}.tg-turbogrid .tg-cell.tg-selected{background-color:beige}.tg-turbogrid .tg-cell.tg-multiline{display:flex;flex-direction:column;justify-content:center;padding:5px;line-height:normal;white-space:normal;text-overflow:ellipsis}.tg-turbogrid .tg-cell.tg-multiline .tg-multiline-wrapper{overflow:hidden}.tg-turbogrid .tg-cell.tg-align-left.tg-cell-negative{padding-left:1px}.tg-turbogrid .tg-cell.tg-align-right.tg-cell-negative{padding-right:1px}.tg-turbogrid .tg-row{position:absolute;width:100%;border:0;border-bottom:thin solid #e5e5e5}.tg-turbogrid .tg-row.tg-group-line{border-bottom:thin solid #999}.tg-turbogrid .tg-row.tg-none-line{border-bottom:none}.tg-turbogrid .tg-row.tg-top-line{border-top:thin solid #e5e5e5}.tg-turbogrid .tg-row.tg-group{font-weight:bold;overflow:hidden}.tg-turbogrid .tg-row.tg-group .tg-cell.tg-align-left.tg-cell-negative{padding-left:0}.tg-turbogrid .tg-row.tg-group .tg-cell.tg-align-right.tg-cell-negative{padding-right:0}.tg-turbogrid .tg-row.tg-hover .tg-cell .tg-cell-hover-icon{display:inherit}.tg-turbogrid .tg-row.tg-dragging{opacity:.3}.tg-turbogrid .tg-row.tg-clone{z-index:1000;border:1px dashed #ccc;border-right:none;border-left:none;background:#fff;cursor:move;opacity:.5}.tg-turbogrid .tg-row.tg-clone *{cursor:move}.tg-turbogrid .tg-row-placeholder{position:absolute;z-index:9999;width:100%;border-top:2px solid #00a8e1;pointer-events:none}.tg-turbogrid .tg-row::before,.tg-turbogrid .tg-row::after{position:absolute;top:0;left:0;content:"";z-index:100;display:none;width:100%;height:100%;pointer-events:none}.tg-turbogrid .tg-hover.tg-row::before{display:block;background:rgba(0,0,0,.08)}.tg-turbogrid .tg-selected.tg-row::after{display:block;background:rgba(0,0,0,.13)}.tg-lightblue .tg-header-item{border-top:thin solid #e8eaf0;border-right:thin solid #e8eaf0}.tg-lightblue .tg-column-name{padding:5px;color:#304265}.tg-lightblue .tg-header-group-item::after{display:none}.tg-lightblue .tg-checkbox .tg-icon-item{fill:#d4d7e0}.tg-lightblue .tg-checkbox:hover .tg-icon-item{fill:#107fff}.tg-lightblue .tg-checkbox.tg-selected .tg-select-checkbox{fill:#107fff}.tg-lightblue .tg-checkbox.tg-mixed .tg-select-mixed{fill:#107fff}.tg-lightblue .tg-cell{color:#304265;border-right:thin solid #e8eaf0}.tg-lightblue .tg-row{border-bottom:thin solid #e8eaf0}.tg-lightblue .tg-row.tg-group-line{border-bottom:thin solid #c9ccd8}.tg-lightblue .tg-row.tg-selected{background:rgba(58,116,213,.05)}.tg-lightblue .tg-row.tg-hover{background:rgba(58,116,213,.05)}.tg-lightblue .tg-row.tg-even{background:#fbfcfe}.tg-lightblue .tg-row.tg-odd{background:#fff}.tg-lightblue .tg-hover.tg-row::before{background:rgba(58,116,213,.05)}.tg-lightblue .tg-selected.tg-row::after{background:rgba(58,116,213,.1)}.tg-lightblue .tg-header-frame{border-bottom:thin solid #e8eaf0}.tg-lightblue .tg-row-not-found .tg-frozen-line-v{border-right:none}.tg-lightblue .tg-scrollbar-track{background:#fff}.tg-lightblue .tg-scrollbar-thumb{background:rgba(48,66,101,.35)}.tg-lightblue .tg-scrollbar-thumb:hover{background-color:#a8a8a8}.tg-lightblue .tg-scrollbar-thumb:active{background-color:#787878}.tg-dark{background:#1e1e1e}.tg-dark .tg-checkbox .tg-icon-item{fill:#ababab}.tg-dark .tg-header-table{color:#ccc;border-bottom:thin solid #333}.tg-dark .tg-header-group-item::after{border-bottom:1px solid #999}.tg-dark .tg-column-sorted{color:#fff}.tg-dark .tg-column-sorted .tg-tree-icon-all .tg-icon-item{fill:#fff}.tg-dark .tg-header-sort-h .tg-sort-indicator-line{border-top:thin solid #eee}.tg-dark .tg-header-sort-h .tg-sort-indicator-icon .tg-icon-item{fill:#eee}.tg-dark .tg-header-sort-h .tg-sort-indicator-icon .tg-icon-item-light{fill:#666}.tg-dark .tg-column-sort-v .tg-sort-indicator-icon .tg-icon-item{fill:#666}.tg-dark .tg-column-sort-v .tg-sort-indicator-icon .tg-icon-item-light{fill:#666}.tg-dark .tg-column-sort-v.tg-column-sorted .tg-sort-indicator-icon .tg-icon-item{fill:#fff}.tg-dark .tg-column-sort-v.tg-column-sorted .tg-sort-indicator-icon .tg-icon-item-light{fill:#666}.tg-dark .tg-tree-icon .tg-icon-item{fill:#fff}.tg-dark .tg-tree-icon-all .tg-icon-item{fill:#999}.tg-dark .tg-header-item .tg-tree-icon .tg-icon-item{fill:#999}.tg-dark .tg-header-item .tg-column-sorted .tg-tree-icon .tg-icon-item{fill:#fff}.tg-dark .tg-row{border-bottom:thin solid #333}.tg-dark .tg-row.tg-group-line{border-bottom:thin solid #666}.tg-dark .tg-row.tg-clone{border:1px dashed #1e1e1e;opacity:.1}.tg-dark .tg-cell{color:#eee}.tg-dark .tg-body-message{color:#eee}.tg-dark .tg-hover.tg-row::before{background:rgba(255,255,255,.1)}.tg-dark .tg-selected.tg-row::after{background:rgba(255,255,255,.2)}.tg-dark .tg-mask{background-color:#fff}.tg-dark .tg-scrollbar-track{background:#333}.tg-dark .tg-scrollbar-thumb{background:#bbb}.tg-dark .tg-scrollbar-thumb:hover{background:#ddd}.tg-dark .tg-scrollbar-thumb-hold{background:#eee}.tg-dark .tg-scrollbar-thumb-hold:hover{background:#eee}.tg-pointer-events-none{pointer-events:none}',""]);const l=r},505:t=>{t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var i="",o=void 0!==e[5];return e[4]&&(i+="@supports (".concat(e[4],") {")),e[2]&&(i+="@media ".concat(e[2]," {")),o&&(i+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),i+=t(e),o&&(i+="}"),e[2]&&(i+="}"),e[4]&&(i+="}"),i})).join("")},e.i=function(t,i,o,n,s){"string"==typeof t&&(t=[[null,t,void 0]]);var r={};if(o)for(var l=0;l0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=s),i&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=i):c[2]=i),n&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=n):c[4]="".concat(n)),e.push(c))}},e}},256:t=>{t.exports=function(t){return t[1]}}},e={};function i(o){var n=e[o];if(void 0!==n)return n.exports;var s=e[o]={id:o,exports:{}};return t[o](s,s.exports,i),s.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var o in e)i.o(e,o)&&!i.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var o={};(()=>{i.d(o,{$:()=>w,MP:()=>e,_d:()=>k,xA:()=>Xt,In:()=>X,T8:()=>D,Gr:()=>kt,ht:()=>qt,J0:()=>d,xv:()=>Yt,Ay:()=>Kt});const t="turbogrid",e={ID:t,NS:`tg-${t}`,VERSION:"3.1.0",TIMESTAMP:"2024-06-04T10:15:28.564Z",UP:"up",DOWN:"down",LEFT:"left",RIGHT:"right",TREE_INDENT:15},n=function(t){if(!t||"object"!=typeof t)return!1;const e=Object.prototype.toString.call(t);return!!["[object Object]","[object Array]"].includes(e)&&(!t.constructor||!![Object,Array].includes(t.constructor))},s=function(t,e){let i;return t.forEach((t=>{n(t)&&(i||(i=t instanceof Array?[]:{}),t instanceof Array?function(t,e,i){const o=e.length;for(let s=0;s{this.execute()})):Promise.resolve().then((()=>{this.execute()}))}execute(){if(!this.started)return;this.started=!1;const t=this.callback;this.callback=null,"function"==typeof t&&t.call(this)}cancel(){this.started=!1,this.callback=null}}const a=new WeakMap,c={isObject:n,merge:l,hasOwn:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},uid:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:8;const e="0123456789abcdefghijklmnopqrstuvwxyz";let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";for(;t--;)i+=e[36*Math.random()|0];return i},isNum:function(t){if("number"!=typeof t||isNaN(t))return!1;return(e=t)!==Number.MAX_VALUE&&e!==Number.MIN_VALUE&&e!==Number.NEGATIVE_INFINITY&&e!==Number.POSITIVE_INFINITY;var e},toNum:function(t,e){return"number"!=typeof t&&(t=parseFloat(t)),isNaN(t)&&(t=0),e&&!Number.isInteger(t)&&(t=Math.round(t)),t},convertNum:function(t){if("string"==typeof t){if(/^[-+]?\d+(\.\d+)?$/gi.test(t))return parseFloat(t)}return t},clamp:function(t,e,i){return Math.max(Math.min(t,i),e)},per:function(t){return t=c.toNum(t),t=c.clamp(t,0,1)},replace:function(t,e){return t=`${t}`,e?t=t.replace(/\{([^}]+)\}/g,(function(t,i){return c.hasOwn(e,i)?e[i]:t})):t},isArray:function(t){return!!(t&&t instanceof Array)},toList:function(t){return t instanceof Array?t:void 0===t?[]:"string"==typeof t?[t]:t&&c.hasOwn(t,"length")?Array.from(t):[t]},isList:function(t){return!!(c.isArray(t)&&t.length>0)},inList:function(t,e){if(!c.isList(e))return!1;for(let i=0,o=e.length;i{if(!c.isList(t))return;let n=0;const s=t.length;for(;nt.startsWith(e))).forEach((e=>{t[e]=null}))},hasShiftKey:function(t){let e=!1;return t&&(e=t.shiftKey),e},isTouchDevice:function(){return"ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0},contains:function(t,e){if(!t||!e)return!1;if(t===e)return!0;if("function"==typeof t.contains)return t.contains(e);let i=e.parentNode;for(;i;){if(i===t)return!0;i=i.parentNode}return!1},isNarrowCharacter:function(t){const e=t.codePointAt(0);return e>=32&&e<=126||162===e||163===e||165===e||166===e||172===e||175===e||8361===e||e>=10214&&e<=10221||10629===e||10630===e||e>=65377&&e<=65470||e>=65474&&e<=65479||e>=65482&&e<=65487||e>=65490&&e<=65495||e>=65498&&e<=65500||e>=65512&&e<=65518},getCharLen:function(t){let e=0;if(!t)return e;for(const i of String(t))e+=c.isNarrowCharacter(i)?1:2;return e},pascalToKebabCase:function(t){return`${t}`.trim().replace(/([a-z])([A-Z])/g,"$1-$2").replace(/\W/g,(t=>/[À-ž]/.test(t)?t:"-")).replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-").toLowerCase()},classMap:function(t){if("string"==typeof t)return t.trim();if(Array.isArray(t)){let e=t.filter((t=>t));return e=e.map((t=>t&&"object"==typeof t?c.classMap(t):String(t).trim())),e=e.filter((t=>t)),e=Array.from(new Set(e)),e.join(" ")}if(t&&"object"==typeof t){const e=[];return Object.keys(t).forEach((i=>{t[i]&&e.push(i)})),e.join(" ")}return""},styleMap:function(t){if("string"==typeof t)return t.trim();if(Array.isArray(t)){let e=t.filter((t=>t));return e=e.map((t=>{const e=String(t).trim();return e?-1===e.indexOf(":")?"":e.endsWith(";")?e:`${e};`:""})),e=e.filter((t=>t)),e=Array.from(new Set(e)),e.join(" ")}if(t&&"object"==typeof t){const e=[];return Object.keys(t).forEach((i=>{const o=t[i];if(o||0===o){const t=String(o).trim();t&&e.push(`${c.pascalToKebabCase(i)}: ${t};`)}})),e.join(" ")}return""},getInstance:function(t){if(t){const e=document.getElementById(t);if(e)return a.get(e)}},setInstance:function(t,e){t&&a.set(t,e)},bindEvents:function(t,e){t&&(c.unbindEvents(t),Object.keys(t).forEach((i=>{const o=t[i];o.target=o.target||e,o.target.addEventListener(i,o.handler,o.options)})))},unbindEvents:function(t){t&&Object.keys(t).forEach((e=>{const i=t[e];i.target&&i.target.removeEventListener(e,i.handler,i.options)}))},preventDefault:function(t){t&&"function"==typeof t.preventDefault&&t.cancelable&&t.preventDefault()},debounce:function(t){let e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;const o=function(){clearTimeout(e),e=setTimeout((()=>{t.apply(this,arguments)}),i)};return o.cancel=()=>{clearTimeout(e)},o},throttle:function(t){let e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100,o=0;const n=function(){const n=Date.now();if(n>o+i)return clearTimeout(e),o=n,void t.apply(this,arguments);clearTimeout(e),e=setTimeout((()=>{o=n,t.apply(this,arguments)}),i)};return n.cancel=()=>{clearTimeout(e),o=0},n},microtask:function(t){const e=new h,i=function(){e.start((()=>{t.apply(this,arguments)}))};return i.cancel=()=>{e.cancel()},i},nextTick:function(t){"function"==typeof window.queueMicrotask?window.queueMicrotask((()=>{t()})):Promise.resolve().then((()=>{t()}))},cancelAsync:function(t){t&&(Object.keys(t).filter((e=>e.startsWith("async")&&"function"==typeof t[e])).forEach((e=>{const i=t[e];"function"==typeof i.cancel&&(i.cancel(),t[e]=null)})),Object.keys(t).filter((t=>t.startsWith("timeout"))).forEach((e=>{clearTimeout(t[e])})))}},d=c,u={animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},g=function(t){return null!==t&&1===t.nodeType},f=function(t){let e=t.ownerDocument.defaultView;return e&&e.opener||(e=window),e.getComputedStyle(t)},p={},m=function(t,e){return null!=(i=t)&&i===i.window?t[`inner${e}`]:(function(t){return null!==t&&9===t.nodeType}(t)&&(t=t.body),t[`client${e}`]);var i},b=function(t){return this.list=[],t?this.create(t):this};function w(t){return new b(t)}b.prototype={constructor:b,Query:"Query",list:[],create:function(t){return t instanceof b?t:"string"==typeof t?this.createFromString(t):((t.nodeType||t===window)&&(this.list=[t]),this)},createFromString:function(t){if("<"===(t=t.trim())[0]&&">"===t[t.length-1]&&t.length>=3)this.parseHTML(t);else{const e=document.querySelectorAll(t);for(let t=0,i=e.length;t{this.css(e,t[e])}))}var i;return this.each((function(i){let o=e;"number"!=typeof o||u[t]||(o+="px"),i.style[t]=o})),this},attr:function(t,e){if(!t)return this;if(1===arguments.length){if("object"==typeof t)return Object.keys(t).forEach((e=>{this.attr(e,t[e])})),this;const e=this.get(0);return e?e.getAttribute(t):void 0}return this.each((function(i){i.setAttribute(t,e)})),this},removeAttr:function(t){return t?(this.each((function(e){e.hasAttribute(t)&&e.removeAttribute(t)})),this):this},removeClass:function(t){if(!arguments.length)return this.each((function(t){t.className=""})),this;if(!t||"string"!=typeof t)return this;const e=t.split(" ");return this.each((function(t){e.forEach((function(e){e&&t.classList.remove(e)}))})),this},addClass:function(t){if(!t||"string"!=typeof t)return this;const e=t.split(" ");return this.each((function(t){e.forEach((function(e){e&&t.classList.add(e)}))})),this},hasClass:function(t){if(!t||"string"!=typeof t)return!1;let e=!1;return this.each((function(i){if(i.classList.contains(t))return e=!0,!1})),e},show:function(){return this.each((function(t){if(!g(t))return;const e=function(t){if(!p[t]){const e=document.createElement(t);document.body.appendChild(e);const i=f(e).display;e.parentNode.removeChild(e),p[t]=i}return p[t]}(t.nodeName);t.style.display=e})),this},hide:function(){return this.each((function(t){if(!g(t))return;"none"!==t.style.display&&(t.style.display="none")})),this},click:function(){const t=this.get(0);return t&&"function"==typeof t.click&&t.click(),this},offset:function(){const t={left:0,top:0},e=this.get(0);if(e){const i=e.getBoundingClientRect();t.left=i.left+window.scrollX,t.top=i.top+window.scrollY}return t},clone:function(){const t=new b;return this.each((function(e){if(e&&e.cloneNode){const i=e.cloneNode(!0);t.add(i)}})),t},children:function(){const t=new b;return this.each((function(e){let i=e.firstChild;for(;i;)t.add(i),i=i.nextSibling})),t},parent:function(){const t=this.get(0);return t?new b(t.parentNode):new b},is:function(t){if(!t)return!1;const e=t.split(",");let i=!0;return this.each((function(t){if(!t.nodeName)return i=!1,!1;const o=t.nodeName.toLowerCase();return d.inList(o,e)?void 0:(i=!1,!1)})),i}},Object.defineProperty(b.prototype,"length",{get:function(){return this.list.length}});const v={createCache:function(){this.headerCache=new Map,this.bodyCache=new Map,this.dataCache=new WeakMap},setHeaderCache:function(t,e){this.headerCache.set(t,e)},getHeaderCache:function(t){return this.headerCache.get(t)},clearHeaderCache:function(){this.headerCache.clear()},setRowCache:function(t,e){this.bodyCache.set(t,{rowNodes:e,cellNodes:new Map})},getRowCache:function(t){return this.bodyCache.get(t)},deleteRowCache:function(t){const e=this.getRowNodesByIndex(t);e&&e.each((t=>{this.removeNode(t)})),this.bodyCache.delete(t)},deleteCellCache:function(t,e){t&&(this.removeNode(t.get(e)),t.delete(e))},getRowNodesByIndex:function(t){const e=this.getRowCache(t);if(e)return e.rowNodes},getCellNodeByIndex:function(t,e){const i=this.getRowCache(t);if(i)return i.cellNodes.get(e)},forEachBodyCache:function(t){this.bodyCache.forEach(((e,i)=>{t.call(this,i,e.rowNodes,e.cellNodes)}))},updateRowCacheTopOffset:function(){const t=this.frozenInfo.row;this.forEachBodyCache(((e,i,o)=>{if(!(e<=t)&&i){const t=this.getViewRowItem(e),o=this.getViewRowTop(t);i.css("top",o)}}))},setNodeDataCache:function(t,e){if(t)return this.dataCache.set(t,e)},getNodeDataCache:function(t){if(t)return this.dataCache.get(t)},removeCache:function(){this.headerCache=null,this.bodyCache=null,this.dataCache=null}},H=["onUpdated","onFirstUpdated","onHeaderUpdated","onSort","onColumnAdded","onColumnRemoved","onColumnWidthChanged","onRowAdded","onRowRemoved","onRowExpanded","onRowCollapsed","onRowSubsRequest","onRowDragged","onRowDropped","onRowMoved","onRowMouseEnter","onRowMouseLeave","onSelectChanged","onCellUpdated","onCellMouseEnter","onCellMouseLeave","onClick","onDblClick","onContextMenu","onMouseOver","onMouseOut","onTouchStart","onTouchMove","onTouchEnd","onScroll","onScrollStateChanged","onMouseWheel","onResize","onLayout","onKeyDown","onDestroy"],y={};H.forEach((t=>{y[t]=t}));const C=y,R={renderCells:function(t,e){t.forEach((t=>{this.drawRowCells(t,e)}))},getCellValue:function(t,e){return t[e.id]},renderCell:function(t,e,i){const o=this.getCellValue(t,e);let n=o;this.nullFormatter&&(n=this.nullFormatter.call(this,n,t,e,i));const s=t.tg_formatter||e.tg_formatter;"function"==typeof s&&(n=s.call(this,n,t,e,i)),this.renderNodeContent(i,n);const{highlightKey:r}=this.options.highlightKeywords;t[r+e.id]&&this.renderSettings.highlightCells.push(i),this.trigger(C.onCellUpdated,{value:o,rowItem:t,columnItem:e,node:i})},getPreRenderColumnList:function(t,e){const i=[];if(!e.length)return i;for(let o=0,n=e.length;o{this.createCellNode(t,e)}))},getCellClass:function(t,e){const i=e.tg_view_index,o=["tg-cell"];return o.push(`tg-c-${i}`),e.align&&o.push(`tg-align-${e.align}`),0===e.tg_list_index&&o.push("tg-list-first"),e.tg_list_last&&o.push("tg-list-last"),o.push(d.classMap(e.classMap)),o.push(d.classMap(t[`${e.id}ClassMap`])),d.classMap(o)},createCellNode:function(t,e){const i=this.getRowCache(t);if(!i)return;const o=this.getViewRowItem(t),n=this.getViewColumnItem(e);if(!o||!n)return;const s=document.createElement("div");s.setAttribute("column",e);const r=this.getCellClass(o,n);s.className=r;const l=d.styleMap(n.styleMap)+d.styleMap(o[`${n.id}StyleMap`]);l&&(s.style.cssText=l);const h=i.rowNodes,a=n.tg_frozen,c=this.getCellRowNode(h,a);this.appendNode(c,s),this.renderCell(o,n,s),i.cellNodes.set(e,s),this.setNodeDataCache(s,{row:t,rowItem:o,rowNode:c,column:e,columnItem:n,cellNode:s})},getCellRowNode:function(t,e){const i=t.get(0);if(this.frozenInfo.columns){const o=t.get(1);return this.frozenInfo.right?e?o:i:e?i:o}return i}},S={addColumn:function(t,e,i){let o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const n=this.getToBeAddedItemList(t);if(!n.length)return!1;let s;if(null!=e&&(s=this.getColumnItem(e),!s))return!1;const r=this.getToBeAddedParentSubs(s,this.columns),l=[this.getToBeAddedPositionIndex(i,r),0].concat(n);r.splice.apply(r,l),this.onNextUpdated((function(){this.trigger(C.onColumnAdded,n)}));const h={type:"columns"};return o&&(h.scrollColumn=n[n.length-1]),this.render(h),!0},deleteColumn:function(t){const e=this.toColumnItemList(t,(t=>!t.private));return!!e.length&&(this.removeColumnsHandler(e),this.onNextUpdated((function(){this.trigger(C.onColumnRemoved,e)})),this.render("columns"),!0)},removeColumnsHandler:function(t){const e=[].concat(t);e.sort((function(t,e){return e.tg_index-t.tg_index})),e.forEach((t=>{let e;if(t===this.sortColumn&&this.removeSortColumn(),t.tg_parent)e=t.tg_parent.subs,e.splice(t.tg_sub_index,1);else{e=this.columns;const i=e.findIndex((e=>e===t));-1!==i&&e.splice(i,1)}!e.length&&t.tg_parent&&(t.tg_parent.subs=null)}))}},T={setColumnWidth:function(t,e){return this.updateColumnWidth(t,e)?(this.resize(),this):this},updateColumnWidth:function(t,e){const i=this.getColumnItem(t);return!!i&&(!!d.isNum(e)&&(e=Math.round(e),e=Math.max(0,e),i.tg_width!==e&&(i.width=e,i.minWidth=Math.min(i.minWidth,e),i.maxWidth=Math.max(i.maxWidth,e),this.updateViewColumnWidth(i),!0)))},showColumn:function(t){return this.updateColumnsInvisible(this.toColumnItemList(t),!1)},hideColumn:function(t){return this.updateColumnsInvisible(this.toColumnItemList(t),!0)},updateColumnsInvisible:function(t,e){if(!t.length)return!1;const i=[];return t.forEach((t=>{t.invisible!==e&&(t.invisible=e,t.tg_invisible=e,i.push(t))})),!!i.length&&(this.render("columns"),!0)}},L={showColumnLine:function(t){t&&(this.$columnLineContainer.show(),this.renderColumnLine(t))},hideColumnLine:function(){this.previousColumnLineActive||this.$columnLineContainer.hide()},setColumnLineActive:function(t){t!==this.previousColumnLineActive&&(this.previousColumnLineActive=t,t?this.$columnLineItem.addClass("tg-active"):this.$columnLineItem.removeClass("tg-active"))},getColumnLineLeft:function(t){let e=t.tg_left;return t.tg_frozen||(e-=this.scrollLeft),this.frozenInfo.right&&(t.tg_frozen?e=t.tg_left+this.paneWidthL:e-=this.columnsWidthR),e},renderColumnLine:function(t){const e=this.getHeaderItemNode(t).offsetTop,i=t.tg_width,o=this.getColumnLineLeft(t);this.$columnLineItemL.css({top:e,left:o}),this.$columnLineItemR.css({top:e,left:o+i-1}),this.frozenInfo.right||(this.frozenInfo.columns&&!t.tg_frozen&&o{this.renderColumnLine(e.columnItem)})),this.resize()},columnWidthTouchStartHandler:function(t,e){d.preventDefault(e.e);const i=e.columnItem;this.showColumnLine(i),this.setColumnLineActive(!0),e.index=i.tg_index;const o=this.getColumnHeaderNode(i);e.width=o.clientWidth},columnWidthTouchMoveHandler:function(t,e){d.preventDefault(e.e);const i=e.columnItem;let o=e.width+e.offsetX;o=d.clamp(o,i.minWidth,i.maxWidth),i.tg_width!==o&&(i.width=o,this.updateViewColumnWidth(i),this.renderColumnLine(i))},columnWidthTouchEndHandler:function(t,e){d.preventDefault(e.e),this.setColumnLineActive(!1),this.hideColumnLine(),this.resize()}},I={getColumnItem:function(t){return d.isNum(t)?(t<0&&(t=this.columnsInfo.length+t),this.columnsInfo.indexCache[t]):t?d.isNum(t.tg_index)?t:this.getColumnItemById(t.id||t):void 0},getColumnItemById:function(t){return this.getColumnItemBy("id",t)},getColumnItemBy:function(t,e){if(void 0!==e)return this.columnsInfo.indexCache.find((i=>i[t]===e))},getColumnsLength:function(t){return t?this.columnsInfo.length:this.viewColumns.length},getViewColumnItem:function(t){return this.viewAllColumns[t]},isColumnSortable:function(t){return!!t&&(!t.tg_group&&(!(!t.name||!t.id)&&this.isSortable(t)))},isColumnResizable:function(t){return!!t&&(!t.tg_group&&(!d.hasOwn(t,"resizable")||Boolean(t.resizable)))},updateViewColumnWidth:function(t){return t.tg_width=t.width,this.updateColumnHeaderSize(t),this.updateTotalColumnsWidth(),this.updateHeaderLayerHeight(),this.cssRulesInvalid=!0,this.resizeBodyHandler(),this.trigger(C.onColumnWidthChanged,t),!0},updateTotalColumnsWidth:function(){this.blankColumn.tg_width=0;const t=this.viewColumns;let e=0,i=0;const o=this.frozenInfo.columns,n=t.length;let s=0;for(let r=0;r0&&(s+=l,o&&r>=o?i+=l:e+=l)}if(this.frozenInfo.right){const t=e;e=i,i=t}this.columnsWidthL=e,this.columnsWidthR=i,this.columnsWidth=e+i},updateColumnHeaderSize:function(t){this.updateColumnHeaderWidth(t),this.updateColumnHeaderHeight(t,!0),this.updateColumnGroupWidth(t)},updateColumnHeaderWidth:function(t){const e=this.getColumnHeaderNode(t);if(!e)return;const i=t.tg_width;this.isInvisible(t)||i<=0?e.style.display="none":(e.style.display="",e.style.width=`${i}px`)},updateColumnHeaderHeight:function(t,e){if(t.tg_height=0,t.tg_width<=0)return;if(this.isInvisible(t))return;e&&(t.tg_element_height=0);const i=t.tg_element_height;if(i)return void(t.tg_height=i);const o=this.getColumnHeaderHeight(t);t.tg_height=o,t.tg_element_height=o},getColumnHeaderHeight:function(t){const e=this.getColumnHeaderNode(t);return e?e.clientHeight:0},updateColumnGroupWidth:function(t){const e=t.tg_parent;if(!e)return;const i=this.getColumnGroupWidth(e);e.tg_width!==i&&(e.tg_width=i,this.updateColumnHeaderSize(e))},getColumnGroupWidth:function(t){if(this.isInvisible(t))return 0;let e=0;return t.subs&&t.subs.forEach((t=>{this.isInvisible(t)||d.isNum(t.tg_width)&&(e+=t.tg_width)})),e}},E={initTreeInfo:function(t,e){const i=[];let o=!1,n=0,s=0;const r=function(t,r,l){(t=>{t.invisible?t.tg_invisible=!0:t.tg_invisible&&(t.tg_invisible=!1)})(t),((t,i)=>{if(e>=0&&!t.tg_invisible)return t.tg_frozen=!0,void(e-=1);t.tg_frozen&&(t.tg_frozen=!1)})(t),(t=>{if(d.hasOwn(t,"subs")){if(Array.isArray(t.subs))return o=!0,t.tg_group=!0,void(t.tg_subs_length=t.subs.length);t.subs=null}t.tg_group&&(t.tg_group=!1)})(t),((t,e)=>{t.tg_parent=e;let i=0;e&&(i=e.tg_level+1,i>n&&(n=i)),t.tg_level=i})(t,l),t.tg_index=s,t.tg_sub_index=r,i.push(t),s+=1},l=function(t,e){let i=0;const o=t.length;for(;i{if(!this.isInvisible(e))return this.isRowSelectable(e)?t(e,i,o):void 0})),this},toRowItemList:function(t,e){let i=d.toList(t).map((t=>this.getRowItem(t))).filter((t=>t));return"function"==typeof e&&(i=i.filter(e)),i},toColumnItemList:function(t,e){let i=d.toList(t).map((t=>this.getColumnItem(t))).filter((t=>t));return"function"==typeof e&&(i=i.filter(e)),i},isRowLeaf:function(t){return!!t&&("blank"!==t.formatter&&(!t.tg_frozen&&!t.tg_group))},isRowSelectable:function(t){return!!t&&(d.hasOwn(t,"selectable")?Boolean(t.selectable):this.isRowLeaf(t))},isEmptyGroup:function(t){return!(!t||!t.tg_group||0!==t.tg_subs_length)},isInvisible:function(t){return!!t&&(!(!t.tg_filtered&&!t.tg_invisible)||!!this.isInvisible(t.tg_parent))},isSortable:function(t){return!!t&&(!d.hasOwn(t,"sortable")||Boolean(t.sortable))},isCollapsedChanged:function(t,e){return Boolean(t.collapsed)!==e},isSelectedChanged:function(t,e){return Boolean(t.selected)!==e}},x={updateCssRules:function(){this.cssRulesInvalid&&(this.cssRulesInvalid=!1,this.initCssRules(),this.updateColumnsCssRules(),this.updateHeadersCssRules(),this.updateStyleElement())},initCssRules:function(){this.removeCssRules(),this.cssList={},this.cssDisplayCache={};const t=this.getRowHeight(),e=this.createCssRule(".tg-row");e.height=`${t}px`,e["line-height"]=`${t}px`},resetCssDisplay:function(t){if(this.cssDisplayCache){t=t||"";for(const e in this.cssDisplayCache)if(d.hasOwn(this.cssDisplayCache,e)){this.cssDisplayCache[e].style.display=t}}},updateColumnsCssRules:function(){const t=this.viewColumns,e=this.frozenInfo.column,i={};let o=0;for(let n=0,s=t.length;n=0;i--){const e=this.headerLayerHeight[i],o=this.createCssRule(`.tg-h-${i}`);o.bottom=`${t}px`,o.height=`${e}px`,t+=e}this.getLayerCombinations(e).forEach((t=>{const e=this.createCssRule(`.tg-h-${t}`);let i=0;t.split("").forEach((t=>{i+=this.headerLayerHeight[t]||0})),e.height=`${i}px`}))},getLayerCombinations:function(t){let e="";for(;t>=0;)e+=t,t--;if(e.length<2)return[];const i=[],o=function(t,e){const n=t.length;let s=e+2;for(;s<=n;){const o=t.substring(e,s);i.push(o),s++}e=i){let t="Possible Event memory leak detected. ";return t+=`More than ${i} (max limit) listeners added. `,t+="Use setMaxListeners(n) to increase limit.",void console.warn(t,e)}t.events.push(e)},addEvents:function(t,e,i){e.forEach((function(e){const o=e.type;t[o]||(t[o]={events:[]});if("function"!=typeof e.handler)return;const n=t[o];_.addEvent(n,e,i)}))},removeEventByNamespace:function(t,e){Object.keys(t).forEach((function(i){const o=t[i],n=[];o.events.forEach((function(t){t&&t.namespace!==e&&n.push(t)})),o.events=n}))},removeEventByHandler:function(t,e,i){const o=t[e];if(!o)return;const n=[];o.events.forEach((function(t){t&&t.handler!==i&&n.push(t)})),o.events=n},removeEventByType:function(t,e){const i=t[e];i&&(i.events=[])},removeEvent:function(t,e){const i=e.type,o=e.namespace;if(!i&&o)return void _.removeEventByNamespace(t,o);const n=e.handler;"function"!=typeof n?_.removeEventByType(t,i):_.removeEventByHandler(t,i,n)},removeEvents:function(t,e){e.forEach((function(e){_.removeEvent(t,e)}))},removeAllEvents:function(t){Object.keys(t).forEach((function(e){_.removeEventByType(t,e)}))},sendEventList:function(t,e,i,o){const n=e.events;for(let e=0;e!t.onceCalled))},sendEvent:function(t,e,i,o){const n=e[i];if(!n)return;const s=new P({type:i,target:t,currentTarget:t,data:o});_.sendEventList(t,n,s,o)}},N=_;class k{maxListeners=10;setMaxListeners(t){this.maxListeners=Number(t)||10}getMaxListeners(){return this.maxListeners}getEventListeners(){return this.eventListeners||(this.eventListeners={}),this.eventListeners}delEventListeners(){this.eventListeners=null}bind(t,e,i){const o=N.getEventList(this,t,e,i);if(!o.length)return this;const n=this.getEventListeners();return N.addEvents(n,o,this.maxListeners),this}once(t,e){return this.bind(t,e,{once:!0})}unbind(t,e,i){const o=this.getEventListeners();if(!arguments.length)return N.removeAllEvents(o),this;const n=N.getEventList(this,t,e,i);return n.length?(N.removeEvents(o,n),this):this}trigger(t,e){const i=this.getEventListeners();return N.sendEvent(this,i,t,e),this}}const V={DRAG_START:"drag_start",DRAG_MOVE:"drag_move",DRAG_END:"drag_end"};class O extends k{static EVENT=V;generateOptions(t){return d.merge({type:"mouse",startX:0,startY:0,previousX:0,previousY:0,currentX:0,currentY:0,moveX:0,moveY:0,offsetX:0,offsetY:0,changed:!1},t)}start(t,e){t&&(this.unbindEvents(),this.bindEvents(),this.options=this.generateOptions(e),this.startHandler(t))}bindEvents(){this.windowEvents={mousemove:{handler:t=>{this.iframeHandler(t),this.mouseMoveHandler(t)},options:!0},mouseup:{handler:t=>{this.mouseUpHandler(t)},options:{once:!0}}},d.bindEvents(this.windowEvents,window)}unbindEvents(){d.unbindEvents(this.windowEvents),this.windowEvents=null,this.previousIframe&&(this.previousIframe.classList.remove("tg-pointer-events-none"),this.previousIframe=null)}iframeHandler(t){const e=t.target;"IFRAME"===e.nodeName&&e!==this.previousIframe&&(this.previousIframe&&this.previousIframe.classList.remove("tg-pointer-events-none"),e.classList.add("tg-pointer-events-none"),this.previousIframe=e)}startHandler(t){const e=this.options;e.e=t,e.startX=t.pageX,e.startY=t.pageY,e.currentX=e.startX,e.currentY=e.startY,this.hasMoved=!1}mouseMoveHandler(t){d.preventDefault(t);const e=this.options;e.e=t,e.previousX=e.currentX,e.previousY=e.currentY,e.currentX=t.pageX,e.currentY=t.pageY,e.moveX=e.currentX-e.previousX,e.moveY=e.currentY-e.previousY,e.offsetX=e.currentX-e.startX,e.offsetY=e.currentY-e.startY,e.changed=!(0===e.offsetX&&0===e.offsetY),this.hasMoved?this.trigger(V.DRAG_MOVE,e):(this.hasMoved=!0,this.trigger(V.DRAG_START,e))}mouseUpHandler(t){this.unbindEvents();const e=this.options;this.hasMoved&&(e.e=t,d.preventDefault(t),this.trigger(V.DRAG_END,e))}destroy(){this.unbindEvents(),this.unbind()}}const $={Linear:{None:function(t){return t}}},B={MOTION_START:"motion_start",MOTION_MOVE:"motion_move",MOTION_END:"motion_end",MOTION_STOP:"motion_stop"};class D extends k{static EVENT=B;constructor(t){super(),this.constructorOptions=t,this.stopped=!0}generateOptions(t){return d.merge({easing:null,duration:100,from:0,till:1,data:0},this.constructorOptions,t)}stop(){return this.stopped||(this.stopped=!0,this.cancelAnimationFrame(),this.trigger(B.MOTION_STOP,this.data)),this}start(t){return this.stop(),this.stopped=!1,this.options=this.generateOptions(t),this.initCalculation(),this.data=this.calculateHandler(0),this.trigger(B.MOTION_START,this.data),this.stopped||(this.time=Date.now(),this.requestAnimationFrame(this.moveHandler)),this}requestAnimationFrame(t){this.requestId=window.requestAnimationFrame((()=>{t.apply(this)}))}cancelAnimationFrame(){window.cancelAnimationFrame(this.requestId)}getEasing(t){return"function"!=typeof t&&(t=d.getValue($,t,$.Linear.None)),t}moveHandler(){const t=Date.now()-this.time,e=this.duration;if(t{o[n]=this.calculateNumber(t,e[n],i[n])})),o):(this.calculateKeys=[],Object.keys(e).forEach((n=>{const s=e[n],r=i[n];d.isNum(s)&&d.isNum(r)&&(o[n]=this.calculateNumber(t,s,r),this.calculateKeys.push(n))})),o)}calculateNumber(t,e,i){return(i-e)*t+e}calculateNone(t,e,i){return e}destroy(){this.stop(),this.unbind()}}const W={TOUCH_START:"touch_start",TOUCH_MOVE:"touch_move",TOUCH_END:"touch_end",TOUCH_INERTIA:"touch_inertia"};class A extends k{static EVENT=W;generateOptions(t){return d.merge({type:"touch",startX:0,startY:0,previousX:0,previousY:0,currentX:0,currentY:0,moveX:0,moveY:0,offsetX:0,offsetY:0,changed:!1,touchLength:0,direction:"",inertia:!1,inertiaTime:200},t)}start(t,e){t&&(this.unbindEvents(),this.bindEvents(),this.options=this.generateOptions(e),this.startHandler(t))}bindEvents(){this.touchEvents={touchmove:{handler:t=>{this.touchMoveHandler(t)},options:{passive:!1}},touchend:{handler:t=>{this.touchEndHandler(t)},options:{passive:!1,once:!0}},touchcancel:{handler:t=>{this.touchCancelHandler(t)},options:{passive:!1,once:!0}}},d.bindEvents(this.touchEvents,document.body)}unbindEvents(){this.motionStop(),d.unbindEvents(this.touchEvents),this.touchEvents=null}startHandler(t){this.trackingPoints=[];const e=t.touches,i=e[0];if(!i)return;const o=this.options;o.e=t,o.startX=i.clientX,o.startY=i.clientY,o.currentX=o.startX,o.currentY=o.startY,o.touchLength=e.length,this.addTrackingPoint(o),this.trigger(W.TOUCH_START,o)}touchMoveHandler(t){const e=t.touches,i=e[0];if(!i)return;const o=this.options;o.e=t,o.previousX=o.currentX,o.previousY=o.currentY,o.currentX=i.clientX,o.currentY=i.clientY,o.moveX=o.currentX-o.previousX,o.moveY=o.currentY-o.previousY,o.offsetX=o.currentX-o.startX,o.offsetY=o.currentY-o.startY,o.changed=!(0===o.offsetX&&0===o.offsetY),o.touchLength=e.length,o.direction=this.getDirection(o),this.addTrackingPoint(o),this.trigger(W.TOUCH_MOVE,o)}touchEndHandler(t){this.unbindEvents();const e=this.options;e.e=t,this.trigger(W.TOUCH_END,e);const i=t.changedTouches[0];if(!i)return;const o=t.touches;e.touchLength=o.length,e.touchLength>0||(e.currentX=i.clientX,e.currentY=i.clientY,this.addTrackingPoint(e),this.motionStart())}touchCancelHandler(t){this.unbindEvents(),this.trigger(W.TOUCH_END,this.options)}getMotionInfo(){const t=this.trackingPoints;if(t.length<2)return;if(this.filterTrackingPoints(t),t.length<2)return;const e=t[0],i=t[t.length-1],o=i.t-e.t;if(o<=0)return;let n=i.x-e.x,s=i.y-e.y;const r=Math.abs(n),l=Math.abs(s);r>l?s=0:n=0;return{offsetDistance:Math.max(r,l),offsetTime:o,offsetX:n,offsetY:s}}motionStart(){const t=this.options;if(!t.inertia)return;const e=this.getMotionInfo();if(!e)return;const i=500*e.offsetDistance/50,o=d.clamp(i,20,2e3),n={x:20*(e.offsetX/e.offsetTime),y:20*(e.offsetY/e.offsetTime)};this.motion=new D,this.motion.bind(D.EVENT.MOTION_MOVE,((e,i)=>{t.touchInertiaX=i.x,t.touchInertiaY=i.y,this.trigger(W.TOUCH_INERTIA,t)})),this.motion.start({duration:o,from:n,till:{x:0,y:0}})}motionStop(){this.motion&&(this.motion.destroy(),this.motion=null)}getDirection(t){const i=t.offsetX,o=t.offsetY,n=Math.abs(i),s=Math.abs(o);if(n0)return e.UP;if(o<0)return e.DOWN}if(n>s){if(i>0)return e.LEFT;if(i<0)return e.RIGHT}return""}filterTrackingPoints(t){t.reverse();const e=t.length,i=Date.now(),o=this.options.inertiaTime;for(let n=0;no){t.length=n;break}t.reverse()}addTrackingPoint(t){if(!t.inertia)return;const e=t.currentX,i=t.currentY,o=Date.now(),n=this.trackingPoints;n.push({x:e,y:i,t:o}),n.length>100&&this.filterTrackingPoints(n)}destroy(){this.unbindEvents(),this.unbind()}}const F={getAllEvents:function(){return[].concat(H)},bindEvents:function(){this.unbindEvents(),this.containerEvents={mousedown:{handler:t=>{this.containerMouseDownHandler(t)},options:!0},mousemove:{handler:t=>{this.containerMouseMoveHandler(t)},options:!0},mouseover:{handler:t=>{this.containerMouseOverOutHandler(t,!0)},options:!0},mouseout:{handler:t=>{this.containerMouseOverOutHandler(t,!1)},options:!0},mouseenter:{handler:t=>{this.containerMouseEnterLeaveHandler(t,!0)},options:!0},mouseleave:{handler:t=>{this.containerMouseEnterLeaveHandler(t,!1)},options:!0},touchstart:{handler:t=>{this.containerTouchStartHandler(t)},options:{passive:!1}},touchmove:{handler:t=>{this.containerTouchMoveHandler(t)},options:{passive:!1}},touchend:{handler:t=>{this.containerTouchEndHandler(t)},options:{passive:!1}},touchcancel:{handler:t=>{this.containerTouchCancelHandler(t)},options:{passive:!1}},wheel:{handler:t=>{this.containerWheelHandler(t)},options:{passive:!1}},click:{handler:t=>{this.containerClickHandler(t)},options:!0},dblclick:{handler:t=>{this.containerDblClickHandler(t)},options:!0},contextmenu:{handler:t=>{this.containerContextMenuHandler(t)},options:!0},selectstart:{handler:t=>{this.containerSelectStartHandler(t)},options:!0},keydown:{handler:t=>{this.containerKeyDownHandler(t)},options:!0}},d.bindEvents(this.containerEvents,this.container),this.columnWidthDrag=new O,this.columnWidthDrag.bind(O.EVENT.DRAG_START,((t,e)=>{this.columnWidthDragStartHandler(t,e)})).bind(O.EVENT.DRAG_MOVE,((t,e)=>{this.columnWidthDragMoveHandler(t,e)})).bind(O.EVENT.DRAG_END,((t,e)=>{this.columnWidthDragEndHandler(t,e)})),this.columnWidthTouch=new A,this.columnWidthTouch.bind(A.EVENT.TOUCH_START,((t,e)=>{this.columnWidthTouchStartHandler(t,e)})).bind(A.EVENT.TOUCH_MOVE,((t,e)=>{this.columnWidthTouchMoveHandler(t,e)})).bind(A.EVENT.TOUCH_END,((t,e)=>{this.columnWidthTouchEndHandler(t,e)})),this.rowDrag=new O,this.rowDrag.bind(O.EVENT.DRAG_START,((t,e)=>{this.rowDragStartHandler(t,e)})).bind(O.EVENT.DRAG_MOVE,((t,e)=>{this.rowDragMoveHandler(t,e)})).bind(O.EVENT.DRAG_END,((t,e)=>{this.rowDragEndHandler(t,e)})),this.rowTouch=new A,this.rowTouch.bind(A.EVENT.TOUCH_START,((t,e)=>{this.rowDragStartHandler(t,e)})).bind(A.EVENT.TOUCH_MOVE,((t,e)=>{this.rowDragMoveHandler(t,e)})).bind(A.EVENT.TOUCH_END,((t,e)=>{this.rowDragEndHandler(t,e)})),this.scrollTouch=new A,this.scrollTouch.bind(A.EVENT.TOUCH_START,((t,e)=>{this.scrollTouchStartHandler(t,e)})).bind(A.EVENT.TOUCH_MOVE,((t,e)=>{this.scrollTouchMoveHandler(t,e)})).bind(A.EVENT.TOUCH_END,((t,e)=>{this.scrollTouchEndHandler(t,e)})).bind(A.EVENT.TOUCH_INERTIA,((t,e)=>{this.scrollTouchInertiaHandler(t,e)}))},isDefaultPrevented:function(t){return!!t&&t.defaultPrevented},getEventClosestNode:function(t,e){if(t&&t!==this.container)return t.classList.contains(e)?t:this.getEventClosestNode(t.parentNode,e)},getEventClosestData:function(t){if(!t||t===this.container)return;const e=this.getNodeDataCache(t);return e||this.getEventClosestData(t.parentNode)},getEventData:function(t){const e=this.getEventClosestData(t.target);if(e)return e.e=t,e},getWheelDelta:function(t,e,i){let o=t.deltaX,n=t.deltaY;return d.isNum(o)||(o=d.toNum(t.wheelDeltaX)),d.isNum(n)||(n=d.toNum(t.wheelDeltaY||t.wheelDelta)),1===t.deltaMode?(n*=e,o*=e):2===t.deltaMode&&(n*=i,o*=i),{deltaX:o,deltaY:n}},columnResizingMouseDownHandler:function(t){const e=this.getEventData(t);e&&this.columnWidthDrag.start(t,{columnItem:e.columnItem})},columnResizingTouchStartHandler:function(t){const e=this.getEventData(t);e&&this.columnWidthTouch.start(t,{columnItem:e.columnItem})},columnResizingMouseEnterLeaveHandler:function(t,e){const i=this.getEventData(t);i&&(e?this.showColumnLine(i.columnItem):this.hideColumnLine())},rowDragMouseDownHandler:function(t){const e=this.getEventData(t);e&&this.rowDrag.start(t,{rowItem:e.rowItem})},rowDragTouchStartHandler:function(t){const e=this.getEventData(t);e&&(this.protectedItem=e,this.rowTouch.start(t,{rowItem:e.rowItem}))},scrollPaneTouchStartHandler:function(t){if(!this.hasHScroll&&!this.hasVScroll)return;const e=this.getEventData(t);this.protectedItem=e,this.scrollTouch.start(t,{inertia:!0})},sortHandler:function(t,e){const i=e.columnItem;if(!this.isColumnSortable(i))return;const o=this.getEventClosestNode(t.target,"tg-column-name"),n=this.getEventClosestNode(t.target,"tg-column-sort");(o||n)&&(this.trigger(C.onSort,e),this.isDefaultPrevented(t)||this.setSortColumn(i))},selectIconAllClickHandler:function(t){const e=w(t);let i=!1;(e.hasClass("tg-selected")||e.hasClass("tg-mixed"))&&(i=!0),i=!i,this.selectAll(i)},cellEnterLeaveHandler:function(t,e){const i=this.getEventData(t);i&&(e?this.trigger(C.onCellMouseEnter,i):this.trigger(C.onCellMouseLeave,i))},rowEnterLeaveHandler:function(t,e){const i=this.getEventData(t);if(i&&(e?this.trigger(C.onRowMouseEnter,i):this.trigger(C.onRowMouseLeave,i),!this.isDefaultPrevented(t)))return this.renderRowHover(i.rowItem,e),this},containerMouseDownHandler:function(t){if(this.getEventClosestNode(t.target,"tg-column-resizing"))this.columnResizingMouseDownHandler(t);else if(this.options.rowDragVisible){this.getEventClosestNode(t.target,"tg-row-drag-icon")&&this.rowDragMouseDownHandler(t)}},containerMouseMoveHandler:function(t){this.scrollbarFadeInOutHandler(t,!0)},containerMouseOverOutHandler:function(t,e){const i=this.getEventClosestNode(t.target,"tg-cell"),o=this.getEventClosestNode(t.target,"tg-header-item");if(i||o){const i=this.getEventData(t);if(!i)return;e?this.trigger(C.onMouseOver,i):this.trigger(C.onMouseOut,i)}},containerMouseEnterLeaveHandler:function(t,e){this.scrollbarFadeInOutHandler(t,e);if(w(t.target).hasClass("tg-column-resizing"))return void this.columnResizingMouseEnterLeaveHandler(t,e);if(w(t.target).hasClass("tg-cell"))return void this.cellEnterLeaveHandler(t,e);w(t.target).hasClass("tg-row")&&this.rowEnterLeaveHandler(t,e)},containerTouchStartHandler:function(t){this.scrollTouch.motionStop();if(this.getEventClosestNode(t.target,"tg-column-resizing"))return void this.columnResizingTouchStartHandler(t);if(this.options.rowDragVisible){if(this.getEventClosestNode(t.target,"tg-row-drag-icon"))return void this.rowDragTouchStartHandler(t)}const e=this.getEventData(t);e&&(this.trigger(C.onTouchStart,e),this.isDefaultPrevented(t))||this.scrollPaneTouchStartHandler(t)},containerTouchMoveHandler:function(t){const e=this.getEventData(t);e&&this.trigger(C.onTouchMove,e)},containerTouchEndHandler:function(t){const e=this.getEventData(t);e&&this.trigger(C.onTouchEnd,e)},containerTouchCancelHandler:function(t){this.trigger(C.onTouchEnd,{e:t})},containerWheelHandler:function(t){if(this.hasMask)return;const e=this.getRowHeight(),i=this.bodyHeight,o=this.getWheelDelta(t,e,i);if(this.trigger(C.onMouseWheel,{e:t,deltaX:o.deltaX,deltaY:o.deltaY,delta:o}),this.isDefaultPrevented(t))return;let n=!1;this.scrollPaneHidden&&(n=this.scrollPaneFrozen.setOffsetH(o.deltaX),o.deltaX=0);(this.scrollPane.mouseWheelHandler(o)||n)&&d.preventDefault(t)},containerClickHandler:function(t){if(this.getEventClosestNode(t.target,"tg-tree-icon-all"))return void this.toggleAllRows();const e=this.getEventClosestNode(t.target,"tg-select-icon-all");if(e)return void this.selectIconAllClickHandler(e);const i=this.getEventData(t);if(!i)return;if(this.getEventClosestNode(t.target,"tg-header-item")){if(this.trigger(C.onClick,i),this.isDefaultPrevented(t))return;return void this.sortHandler(t,i)}if(this.getEventClosestNode(t.target,"tg-tree-icon"))return void this.toggleRow(i.rowItem);this.getEventClosestNode(t.target,"tg-select-icon")?this.setRowSelected(i.rowItem,t):this.trigger(C.onClick,i)},containerDblClickHandler:function(t){const e=this.getEventData(t)||{e:t};this.trigger(C.onDblClick,e)},containerContextMenuHandler:function(t){const e=this.getEventData(t)||{e:t};this.trigger(C.onContextMenu,e)},containerSelectStartHandler:function(t){if(this.options.textSelectable)return;w(t.target).is("input,textarea,code")||d.preventDefault(t)},containerKeyDownHandler:function(t){if(this.hasMask)return;if(this.trigger(C.onKeyDown,{e:t}),this.isDefaultPrevented(t))return;const e=t.keyCode,i={9:this.keyTabHandler,13:this.keyEnterHandler,27:this.keyEscHandler,33:this.keyPageUpHandler,34:this.keyPageDownHandler,35:this.keyEndHandler,36:this.keyHomeHandler,37:this.keyLeftHandler,38:this.keyUpHandler,39:this.keyRightHandler,40:this.keyDownHandler}[e];if(!i)return;i.call(this,t)&&d.preventDefault(t)},unbindEvents:function(){d.unbindEvents(this.containerEvents),this.containerEvents=null,this.columnWidthDrag&&(this.columnWidthDrag.destroy(),this.columnWidthDrag=null),this.columnWidthTouch&&(this.columnWidthTouch.destroy(),this.columnWidthTouch=null),this.rowDrag&&(this.rowDrag.destroy(),this.rowDrag=null),this.rowTouch&&(this.rowTouch.destroy(),this.rowTouch=null),this.scrollTouch&&(this.scrollTouch.destroy(),this.scrollTouch=null),this.protectedItem=null}},G={exportData:function(t){const e=this.getData();return{columns:this.getTreeSnapshot(e.columns,t),rows:this.getTreeSnapshot(e.rows,t)}},isItemExportable:function(t){return!!t&&(!d.hasOwn(t,"exportable")||Boolean(t.exportable))},getTreeSnapshot:function(t,e){const i=(t,o)=>{d.isList(o)&&o.forEach((o=>{if(!this.isItemExportable(o))return;const n=this.getItemSnapshot(o,e),s=o.subs;Array.isArray(s)&&(n.subs=[],i(n.subs,s)),t.push(n)}))},o=[];return i(o,t),o},getItemSnapshot:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i={};return Object.keys(t).forEach((o=>{!0!==e[o]?!1!==e[o]&&"subs"!==o&&0!==o.indexOf("tg_")&&(i[o]=t[o]):i[o]=t[o]})),i}},j={flushRow:function(t){d.toList(t).forEach((t=>{this.deleteRowCache(t)}))},flushRowFrom:function(t){d.isNum(t)&&(0!==t?this.forEachBodyCache(((e,i,o)=>{e>=t&&this.deleteRowCache(e)})):this.flushBody())},flushBody:function(){this.forEachBodyCache(((t,e,i)=>{this.deleteRowCache(t)}))},flushSort:function(){this.frozenInfo.rows?this.flushRowFrom(this.frozenInfo.rows):this.flushBody()},flushColumn:function(t){const e=d.toList(t);this.forEachBodyCache(((t,i,o)=>{e.forEach((t=>{this.deleteCellCache(o,t)}))}))},flushColumnFrom:function(t){d.isNum(t)&&this.forEachBodyCache(((e,i,o)=>{o.forEach(((e,i)=>{i>=t&&this.deleteCellCache(o,i)}))}))},flushCell:function(t,e){const i=d.toList(t),o=d.toList(e);i.forEach((t=>{const e=this.getRowCache(t);if(!e)return;const i=e.cellNodes;o.forEach((t=>{this.deleteCellCache(i,t)}))}))},flushWithViewport:function(){const{rows:t,columns:e}=this.viewport;this.forEachBodyCache(((i,o,n)=>{t.includes(i)?n.forEach(((t,i)=>{e.includes(i)||this.deleteCellCache(n,i)})):this.deleteRowCache(i)}))}},U={"sort-h":'\n\n \n \n \n \n\n',"sort-v":'\n\n \n \n \n \n\n',checkbox:'\n\n \n \n \n\n',radio:'
',drag:'\n\n \n\n',tree:'\n\n \n \n\n'},X={icons:U,getIcon:function(t){let e=U[t];return e=String(e).trim(),e}},Y={header:function(t,e,i,o){return t},null:function(t,e,i,o){return e&&e.tg_group?t:null==t?"—":t},blank:function(t,e,i,o){return""},string:function(t,e,i,o){return t},number:function(t,e,i,o){return t},icon:function(t,e,i,o){return`${t}`},select:function(t,e,i,o){return this.isRowSelectable(e)?this.getSelectFormatterContent(e):""},rowDrag:function(t,e,i,o){return this.getRowDragFormatterContent(e)},rowNumber:function(t,e,i,o){return e.tg_row_number||""},tree:function(t,e,i,o){return this.getTreeFormatterContent(t,e)}},q={setFormatter:function(t,e){this.renderType="all";let i=t;if("string"==typeof t){if(this.formatters)return this.formatters[t]=e,this;i={},i[t]=e}return this.customFormatters=i,this},getFormatter:function(t){if(!t)return;const e=this.formatters[t];return"function"==typeof e?e.bind(this):void 0},getDefaultFormatter:function(t){return(Y[t]||Y.string).bind(this)},getSelectFormatterContent:function(t){let e="radio";this.options.selectMultiple&&(e="checkbox");const i=X.getIcon(e);return`
${i}
`},getRowDragFormatterContent:function(t){if(t.tg_frozen)return"";return`
${X.getIcon("drag")}
`},getTreeIndentWidth:function(t,i,o){if(!t)return 0;let n=5;return i||(n+=e.TREE_INDENT),n+=o*e.TREE_INDENT,n},getTreeFormatterContent:function(t,e){const i=this.rowsInfo.isTree,o=e.tg_group,n=this.isEmptyGroup(e);n&&(e.collapsed=!0);const s=e.collapsed,r=d.toNum(e.tg_level),l=this.getTreeIndentWidth(i,o,r),h=[];if(h.push(`
`),o){const t={"tg-tree-icon":!0,"tg-tree-icon-collapsed":s,"tg-tree-icon-expanded":!s,"tg-tree-icon-empty":n},e=X.getIcon("tree"),i=`
${e}
`;h.push(i)}return h.push(`
${t}
`),h.push("
"),h.join("")}},K={renderHeaderTables:function(){this.clearHeaderCache();const t=this.viewColumns,e=this.frozenInfo.columns;this.hasTreeColumn=!1,this.hasSortColumn=!1;let i=[],o=[];for(let n=0,s=t.length;n=e?o.push(s):i.push(s)}if(this.frozenInfo.right){const t=i;i=o,o=t}this.renderHeaderTable(i,this.$headerL),this.renderHeaderTable(o,this.$headerR)},renderHeaderTable:function(t,e){const i=document.createElement("div"),o=["tg-header-table"];this.hasSortColumn&&(o.push("tg-header-sortable"),o.push(`tg-header-sort-${this.options.sortIndicator}`)),i.className=d.classMap(o);const n=t.length;if(n){let e=t[n-1];e&&"tg-column-blank"===e.id&&(e=t[n-2]),t.forEach((t=>{this.renderHeaderItem(t,i,e)}))}e.append(i)},renderHeaderItem:function(t,e,i){const o=t.tg_view_index;if(this.getHeaderCache(o))return;const n=this.getHeaderItemClass(t,i),s=d.styleMap(t.headerStyleMap),r={column:o,class:n,data:t.id};s&&(r.style=s);const l=[this.createColumnHeader(t)];if(this.isColumnResizable(t)){const e=this.createColumnResizing(t);l.push(e)}const h=this.createElement("div",r,l);e.appendChild(h),this.setHeaderCache(o,h),this.setNodeDataCache(h,{rowItem:this.headerRowItem,column:o,columnItem:t,headerNode:h}),t.tg_parent&&this.renderHeaderItem(t.tg_parent,e)},createColumnHeader:function(t){const e={class:this.getHeaderClass(t),style:this.getHeaderStyle(t)},i=[this.createColumnName(t)];if(this.hasSortColumn&&!t.tg_group){const e=this.createColumnSort(t);i.push(e)}return this.createElement("div",e,i)},createColumnName:function(t){const e=["tg-column-name"];t.tg_group&&e.push("tg-header-group-name");const i={class:e.join(" ")};let o=t.name;const n=t.tg_headerFormatter;return"function"==typeof n&&(o=n.call(this,o,this.headerRowItem,t)),"tree"===t.formatter?o=this.createHeaderTreeName(o):t===this.selectColumn&&this.isSelectAllVisible()&&(o=this.createHeaderSelectName()),this.createElement("div",i,o)},createHeaderTreeName:function(t){this.hasTreeColumn=!0;const e=[];if(this.options.collapseAllVisible){const t=X.getIcon("tree"),i=this.createElement("div",{class:"tg-tree-icon tg-tree-icon-all"},t);e.push(i)}else{const t=this.createElement("div",{class:"tg-tree-icon"});e.push(t)}const i=this.createElement("div",{class:"tg-tree-name"},t);e.push(i);return this.createElement("div",{class:"tg-tree"},e)},createHeaderSelectName:function(){const t=X.getIcon("checkbox");return this.createElement("div",{class:"tg-select-icon-all tg-checkbox"},t)},createColumnSort:function(t){let e;return this.isColumnSortable(t)&&(e="h"===this.options.sortIndicator?this.createSortIndicatorH(t):this.createSortIndicatorV(t)),this.createElement("div",{class:"tg-column-sort"},e)},createSortIndicatorH:function(t){const e=X.getIcon("sort-h"),i=[this.createElement("div",{class:"tg-sort-indicator-line"}),this.createElement("div",{class:"tg-sort-indicator-icon"},e)];return this.createElement("div",{class:"tg-sort-indicator"},i)},createSortIndicatorV:function(t){const e=X.getIcon("sort-v"),i=[this.createElement("div",{class:"tg-sort-indicator-icon"},e)];return this.createElement("div",{class:"tg-sort-indicator"},i)},createColumnResizing:function(){return this.createElement("div",{class:"tg-column-resizing"})},getHeaderItemClass:function(t,e){const i=["tg-header-item"];return t.tg_group&&i.push("tg-header-group-item"),t===e&&i.push("tg-header-column-last"),i.push(`tg-c-${t.tg_view_index}`),i.push(`tg-h-${t.tg_layer}`),t.tg_combination&&i.push(`tg-h-${t.tg_combination}`),i.push(d.classMap(t.headerClassMap)),d.classMap(i)},getHeaderClass:function(t){const e=["tg-column-header"];return"tree"===t.formatter&&(e.push("tg-tree-header"),this.rowsInfo.isTree&&e.push("tg-tree-header-indent")),this.isColumnSortable(t)&&e.push(`tg-column-sortable tg-column-sort-${this.options.sortIndicator}`),t.align&&e.push(`tg-align-${t.align}`),e.join(" ")},getHeaderStyle:function(t){const e=[d.styleMap(t.headerStyleMap)],i=t.tg_width;return this.isInvisible(t)||i<=0?e.push("display:none;"):e.push(`width:${i}px;`),e.join("")}},J={renderHeader:function(){this.cssRulesInvalid=!0,this.$headerL.empty(),this.$headerR.empty(),this.resetCssDisplay(),this.renderHeaderTables(),this.renderHeaderSort(),this.headerCreated=!0,this.trigger(C.onHeaderUpdated,{node:this.$headerFrame.get(0)})},initHeaderLayerHeight:function(){this.updateScrollPaneHiddenState(),this.resetCssDisplay(),this.viewAllColumns.forEach((t=>{this.updateColumnHeaderHeight(t)})),this.resetCssDisplay("none"),this.updateHeaderLayerHeight()},updateHeaderLayerHeight:function(){const t={},e=this.columnsInfo.maxLevel;for(let i=0;i<=e;i++)t[i]=0;const i=[];this.viewAllColumns.forEach((function(e){if(e.tg_combination)i.push(e);else{const i=e.tg_height,o=e.tg_layer;t[o]=Math.max(t[o],i)}})),i.forEach((function(e){let i=e.tg_height;const o=e.tg_combination.split(""),n=o.pop();o.forEach((function(e){i-=t[e]||0})),t[n]=Math.max(t[n],i)}));const o=JSON.stringify(t);this.previousHeaderLayerHeight!==o&&(this.previousHeaderLayerHeight=o,this.headerLayerHeight=t,this.cssRulesInvalid=!0)}};var Q=i(915);const Z={create:function(t){this.id=d.uid(4,"tg-"),d.isObject(t)||(t={container:t}),this.constructorOptions=t,this.createCache(),this.createView(t.container)},createView:function(t){this.createHolder(t),this.$holder?(this.createGlobalStyle(),this.createContainer()):console.error("Grid requires a container")},createHolder:function(t){const e=w(t);if(!e.length)return;this.$holder=e,this.$holder.empty(),this.holder=this.$holder.get(0);const i=this.holder.getRootNode();this.shadowRoot=null,i&&i.host&&(this.shadowRoot=i)},createGlobalStyle:function(){const t=this.shadowRoot||document.head;if(t.querySelector(`style[context="${e.ID}"]`))return;const i=document.createElement("style");i.setAttribute("context",e.ID),i.innerHTML=Q.A.toString(),t.appendChild(i)},createContainer:function(){return this.$container=w('
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n').appendTo(this.$holder),this.$container.attr("id",this.id),this.$container.addClass(`${e.NS} ${this.id}`),this.container=this.$container.get(0),d.setInstance(this.container,this),this.$headerFrame=this.$container.find(".tg-header-frame"),this.$paneHL=this.$headerFrame.find(".tg-pane-header-left"),this.$paneHR=this.$headerFrame.find(".tg-pane-header-right"),this.$headerL=this.$paneHL.find(".tg-header-left"),this.$headerR=this.$paneHR.find(".tg-header-right"),this.$header=w().add(this.$headerL).add(this.$headerR),this.$bodyFrame=this.$container.find(".tg-body-frame"),this.$paneTL=this.$bodyFrame.find(".tg-pane-top-left"),this.$paneTR=this.$bodyFrame.find(".tg-pane-top-right"),this.$paneBL=this.$bodyFrame.find(".tg-pane-bottom-left"),this.$paneBR=this.$bodyFrame.find(".tg-pane-bottom-right"),this.$bodyTL=this.$paneTL.find(".tg-body-top-left"),this.$bodyTR=this.$paneTR.find(".tg-body-top-right"),this.$bodyBL=this.$paneBL.find(".tg-body-bottom-left"),this.$bodyBR=this.$paneBR.find(".tg-body-bottom-right"),this.$body=w().add(this.$bodyTL).add(this.$bodyTR).add(this.$bodyBL).add(this.$bodyBR),this.$columnLineContainer=this.$container.find(".tg-column-line"),this.$columnLineItem=this.$columnLineContainer.find(".tg-column-line-item"),this.$columnLineItemL=this.$columnLineContainer.find(".tg-column-line-l"),this.$columnLineItemR=this.$columnLineContainer.find(".tg-column-line-r"),this}},tt={initColumnsHandler:function(){this.columns=this.data.columns,this.columns.forEach(((t,e)=>{t&&"object"==typeof t||(this.columns[e]={})}));const t=this.getPrivateColumns();this.columnsInfo=this.initTreeInfo(t,this.frozenInfo.column);const e=[],i=[],o=(t,n)=>{if(!d.isList(t))return;let s,r=0;t.forEach((t=>{if(!this.isInvisible(t))if(t.tg_group){if(this.isEmptyGroup(t))return;i.push(t),o(t.subs,t)}else t.tg_list_index=r,r+=1,t.tg_list_last=!1,s=t,e.push(t)})),s&&(s.tg_list_last=!0)};o(t),e.forEach((t=>{this.initColumnItemHandler(t)})),i.forEach((t=>{this.initColumnGroupHandler(t)}));const n=[].concat(e).concat(i);this.initViewList(n,((t,e)=>{})),this.viewColumns=e,this.viewGroupColumns=i,this.viewAllColumns=n,this.initHeaderHandler(t),this.initSortColumn()},getPrivateColumns:function(){const t=this.options;this.selectColumn=t.selectColumn,this.rowDragColumn=t.rowDragColumn,this.rowNumberColumn=t.rowNumberColumn,this.blankColumn=t.blankColumn;let e=[];const i=()=>{t.selectVisible&&e.push(this.selectColumn),t.rowDragVisible&&e.push(this.rowDragColumn),t.rowNumberVisible&&(this.rowNumberColumn.width=t.rowNumberWidth,e.push(this.rowNumberColumn))};if(this.frozenInfo.right){const t=this.frozenInfo.column;this.columns.forEach(((o,n)=>{e.push(o),n===t&&i()}))}else i(),e=e.concat(this.columns);return e.push(this.blankColumn),e},setColumns:function(t){this.data.columns=d.toList(t),this.rerender()},getColumns:function(){return this.columns},getViewColumns:function(t){return t?this.viewAllColumns:this.viewColumns},initColumnItemHandler:function(t){this.initColumnProps(t),this.initColumnFormatter(t),this.initColumnWidth(t)},initColumnGroupHandler:function(t){this.initColumnFormatterByName(t,"headerFormatter","header")},initColumnProps:function(t){const e=this.options.columnTypes;if(!d.hasOwn(t,"type")){const i=e[t.id];"string"==typeof i&&(t.type=i)}let i=this.options.columnProps;const o=e[t.type];o&&"object"==typeof o&&(i=d.merge(i,o));for(const e in i)d.hasOwn(t,e)||(t[e]=i[e])},initColumnFormatter:function(t){this.initColumnFormatterByName(t,"headerFormatter","header");let e=t.type;const i=t.formatter;"string"==typeof i&&(e=i),this.initColumnFormatterByName(t,"formatter",e)},initColumnFormatterByName:function(t,e,i){let o=t[e];"function"!=typeof o?(o=this.getFormatter(i),t[`tg_${e}`]=o||this.getFormatter("string")):t[`tg_${e}`]=o.bind(this)},initColumnWidth:function(t){if(t!==this.blankColumn)return d.isNum(t.width)&&t.width>=0?(t.tg_width=t.width,t.minWidth=Math.min(t.minWidth,t.tg_width),void(t.maxWidth=Math.max(t.maxWidth,t.tg_width))):void this.initColumnWidthByName(t);t.tg_width=0},initColumnWidthByName:function(t){const e=this.getComputedColumnWidth(t);d.isNum(e)&&(t.tg_width=e)},getComputedColumnWidth:function(t){const e=t.name||"",i=d.getCharLen(e);let o=Math.round(10*i);return o>103&&(o=Math.max(103,Math.round(10*i/2)),o>133&&(o=Math.max(133,Math.round(10*i/3)),o>163&&(o=Math.max(163,Math.round(10*i/4))))),d.clamp(o,t.minWidth,t.maxWidth)},initSortColumn:function(){this.sortColumn=null;const t=this.options,e=t.sortField;if(!e)return;const i=this.getColumnItemById(e);return i&&this.isColumnSortable(i)?(d.hasOwn(i,"sortAsc")||(i.sortAsc=t.sortAsc),this.sortColumn=i,this):void 0}},et={initHeaderHandler:function(t){this.initHeaderRowItem(),this.viewGroupColumns.reverse(),this.initGroupColumnsWidth(),this.initGroupColumnsLayer(t)},initHeaderRowItem:function(){this.headerRowItem={tg_index:-1,tg_view_index:-1},this.viewAllColumns.forEach((t=>{d.hasOwn(t,"id")&&(this.headerRowItem[t.id]=t.name)}))},initGroupColumnsWidth:function(){this.viewGroupColumns.forEach((t=>{let e=0;t.subs.forEach((t=>{this.isInvisible(t)||(e+=t.tg_width)})),t.tg_width=e}))},initGroupColumnsLayer:function(t){const e=this.columnsInfo.maxLevel;this.viewColumns.forEach((function(t){t.tg_layer=e,t.tg_parent&&(t.tg_parent.tg_layer=e-1)})),this.viewGroupColumns.forEach((function(t){const e=t.tg_layer,i=t.tg_parent;if(i){let t=e-1;d.isNum(i.tg_layer)&&(t=Math.min(t,i.tg_layer)),i.tg_layer=t}})),this.initColumnRowspanHandler(t,0)},initColumnRowspanHandler:function(t,e){t.forEach((t=>{const i=this.initColumnCombinationHandler(t,e);t.tg_group&&this.initColumnRowspanHandler(t.subs,e+i)}))},initColumnCombinationHandler:function(t,e){const i=[],o=t.tg_layer;for(;e<=o;)i.push(e),e+=1;i.reverse();const n=i.length;let s="";return n>1&&(s=i.join("")),t.tg_combination=s,n}},it={},ot={name:"",minWidth:81,maxWidth:300},nt=function(t){return null==t},st=function(t,e){const i=nt(t),o=nt(e);return i&&o?0:i?1:o?-1:void 0},rt=function(t,e){return t.tg_index>e.tg_index?1:-1},lt=function(t,e){return rt(t,e)},ht=function(t,e){if("string"==typeof t&&"string"==typeof e){const i=t.toUpperCase(),o=e.toUpperCase();if(i!==o)return i>o?-1:1}return t>e?-1:1},at=function(t,e,i,o){return t?-1:e?1:ht(i,o)},ct=function(t,e){const i="number"==typeof t,o="number"==typeof e;return i&&o?t>e?-1:1:at(i,o,t,e)},dt=function(t,e){const i=new Date(t),o=new Date(e),n=d.isDate(i),s=d.isDate(o);if(n&&s){const t=i.getTime(),e=o.getTime();if(t===e)return;return t>e?-1:1}return at(n,s,t,e)},ut=function(t,e){const i="boolean"==typeof t,o="boolean"==typeof e;return i&&o?t>e?-1:1:at(i,o,t,e)},gt=function(t,e,i,o){const n=t[i.sortField],s=e[i.sortField],r=st(n,s);if("number"==typeof r)return 0===r?lt(t,e):i.sortBlankFactor*r;if(n!==s&&"function"==typeof o){const t=o(n,s);if(d.isNum(t))return i.sortFactor*t}return lt(t,e)},ft={blankValue:st,equal:lt,index:rt,value:gt,diffType:at,string:function(t,e,i){return gt(t,e,i,ht)},stringValue:ht,number:function(t,e,i){return gt(t,e,i,ct)},numberValue:ct,date:function(t,e,i){return gt(t,e,i,dt)},dateValue:dt,boolean:function(t,e,i){return gt(t,e,i,ut)},booleanValue:ut};const pt={initOptionsHandler:function(){return this.options=this.generateOptions(),this.initOptionsFormatters(),this.initOptionsSort(),this.initOptionsFrozen(),this.initOptionsScrollbar(),this.initOptionsContainer(),this.initBindWindowResize(),this.initBindContainerResize(),this},generateOptions(){const t={className:e.NS,theme:e.ID,headerVisible:!0,rowHeight:32,rowFilter:null,rowFilteredSort:null,rowNotFound:"",rowMoveCrossLevel:!0,rowCacheLength:0,rowProps:it,columnTypes:{tree:{type:"tree",formatter:"tree",width:230,minWidth:120,maxWidth:810},number:{type:"number",align:"right"},date:{type:"date",align:"right"},name:"tree"},columnCacheLength:0,columnProps:ot,collapseAllOnInit:null,collapseAllVisible:!0,selectAllOnInit:null,selectVisible:!1,selectAllVisible:!0,selectMultiple:!0,selectColumn:{private:!0,id:"tg-column-select",name:"",formatter:"select",headerClassMap:"tg-header-select",classMap:"tg-cell-select",width:36,align:"center",resizable:!1,sortable:!1,exportable:!1},rowDragCrossLevel:!0,rowDragVisible:!1,rowDragColumn:{private:!0,id:"tg-column-row-drag",name:"",formatter:"rowDrag",headerClassMap:"tg-header-row-drag",classMap:"tg-cell-row-drag",align:"center",width:36,resizable:!1,sortable:!1,exportable:!1},rowNumberWidth:36,rowNumberFilter:null,rowNumberVisible:!1,rowNumberColumn:{private:!0,id:"tg-column-row-number",name:"",formatter:"rowNumber",headerClassMap:"tg-header-row-number",classMap:"tg-cell-row-number",align:"center",maxWidth:100,sortable:!1,exportable:!1},blankColumn:{private:!0,id:"tg-column-blank",name:"",formatter:"blank",headerClassMap:"tg-header-blank",classMap:"tg-cell-blank",width:0,minWidth:0,maxWidth:4096,resizable:!1,sortable:!1,exportable:!1},sortField:"",sortAsc:!0,sortBlankValueBottom:!0,sortComparers:ft,sortOnInit:!1,sortIndicator:"h",highlightKeywords:{textKey:"tg_text_",textGenerator:null,highlightKey:"tg_highlight_",highlightPre:"",highlightPost:""},frozenRow:-1,frozenRowMax:10,frozenRowHoverable:!1,frozenBottom:!1,frozenColumn:-1,frozenColumnMax:10,frozenRight:!1,scrollbarSize:12,scrollbarSizeH:null,scrollbarSizeV:null,scrollbarRound:!1,scrollbarFade:!1,scrollbarFadeTimeout:1e3,scrollbarType:"auto",scrollPaneMinWidth:30,scrollPaneGradient:30,autoHeight:!1,textSelectable:!1,bindWindowResize:!1,bindContainerResize:!1},i=this.generateThemeOptions();return d.merge(t,i,this.constructorOptions,this.customOptions,this.dataOptions)},generateThemeOptions(){const t=this.pickOptions("theme").pop();if(t)return this.getThemeOptions(t)},pickOptions(t){return[this.constructorOptions,this.customOptions,this.dataOptions].map((e=>e&&e[t])).filter((t=>t))},initOptionsFormatters(){let t;const e=this.pickOptions("formatters");e.length&&(t=d.merge.apply(null,e)),this.formatters=d.merge(Y,t,this.customFormatters),this.nullFormatter=this.getFormatter("null")},initOptionsSort(){"v"!==this.options.sortIndicator&&(this.options.sortIndicator="h")},initOptionsFrozen:function(){const t=this.options;this.frozenInfo={column:-1,row:-1,columns:0,rows:0,bottom:Boolean(t.frozenBottom),right:Boolean(t.frozenRight)};let e=d.toNum(t.frozenColumn,!0);e=d.clamp(e,-1,t.frozenColumnMax),e>-1&&!this.frozenInfo.right&&(t.selectVisible&&(e+=1),t.rowDragVisible&&(e+=1),t.rowNumberVisible&&(e+=1)),this.frozenInfo.column=e,e>-1?this.frozenInfo.columns=e+1:(this.frozenInfo.columns=0,this.frozenInfo.right=!1);let i=d.toNum(t.frozenRow,!0);i=d.clamp(i,-1,t.frozenRowMax),this.frozenInfo.row=i,i>-1?this.frozenInfo.rows=i+1:(this.frozenInfo.rows=0,this.frozenInfo.bottom=!1)},initOptionsScrollbar:function(){const t=this.options;("auto"===t.scrollbarType&&d.isTouchDevice()||["touch","mobile"].includes(t.scrollbarType))&&(t.scrollbarFade=!0,t.scrollbarSize=6,t.scrollbarRound=!0);const e=d.toNum(t.scrollbarSize);this.scrollbarSizeH=e,d.isNum(t.scrollbarSizeH)&&(this.scrollbarSizeH=t.scrollbarSizeH),this.scrollbarSizeV=e,d.isNum(t.scrollbarSizeV)&&(this.scrollbarSizeV=t.scrollbarSizeV)},initOptionsContainer:function(){this.$container.attr("id",this.id);const t=this.options;this.$container.removeClass();const i=[e.NS,this.id,`tg-${t.theme}`,t.className];t.textSelectable||i.push("tg-text-unselectable"),d.isTouchDevice()&&i.push("tg-touch-device"),this.$container.addClass(d.classMap(i))}},mt={initBindWindowResize:function(){this.unbindWindowResize(),this.options.bindWindowResize&&(this.windowResizeEvents={resize:{handler:t=>{this.resize()}}},d.bindEvents(this.windowResizeEvents,window))},unbindWindowResize:function(){d.unbindEvents(this.windowResizeEvents)},initBindContainerResize:function(){if(this.unbindContainerResize(),!this.options.bindContainerResize||!this.holder)return;if("undefined"==typeof ResizeObserver)return;this.resizeObserver=new ResizeObserver((t=>{var e;(e=this.holder,Boolean(e.offsetWidth||e.offsetHeight||e.getClientRects().length))&&this.resize()})),this.resizeObserver.observe(this.holder)},unbindContainerResize:function(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}},bt={initRowsHandler:function(){this.rows=this.data.rows,this.rowsInfo=this.initTreeInfo(this.rows,this.frozenInfo.row)},getRows:function(){return this.rows},getViewRows:function(){return this.viewRows},createViewRows:function(){this.initRowFilterHandler();const t=[],e=this.getRowNumberFilter();let i=1;const o=(t,o)=>{if(e.call(this,t,o))return t.tg_row_number=i,void(i+=1);t.tg_row_number=""},n=(e,i,s)=>{if(!d.isList(e))return;let r,l=0;e.forEach((e=>{if(this.isInvisible(e))return;e.tg_list_index=l,l+=1,e.tg_list_last=!1,r=e,this.gridRowItemHandler(e),o(e,l),s||t.push(e);const i=s||e.tg_group&&e.collapsed;n(e.subs,e,i)})),r&&(r.tg_list_last=!0)};n(this.rows);let s,r=0;return this.initViewList(t,((t,e)=>{t.tg_top=r,this.initRowHeight(t),r+=this.getRowHeight(t),t.tg_group_line=!1,t.collapsed&&(t.tg_group_line=!0),s&&(t.tg_group||t.tg_level{const i=this.getRowItem(t);if(!i)return;const s=o[e]||n;i.height=s,delete i.tg_height,this.initRowHeight(i),this.flushRowFrom(i.tg_view_index)})),this.render("rows"),this},initRowFilterHandler:function(){const t=this.options.rowFilter;if("function"!=typeof t)return;if(this.forEachRow(((e,i,o)=>{if(e.tg_invisible)return;const n=!t.call(this,e,i,o);if(e.tg_filtered=n,!n){let t=e;for(;t.tg_parent;)t.tg_parent.tg_filtered=!1,t=t.tg_parent}})),this.sortColumn)return;let e=this.options.rowFilteredSort;if("function"==typeof e&&(e=e.call(this)),!e)return;"string"==typeof e&&(e={sortField:e,sortAsc:this.options.sortAsc});const i=e.sortField||e.id;i&&this.sortRows(i,e)},highlightKeywordsFilter:function(t,e,i){const{textKey:o,textGenerator:n,highlightKey:s}=this.options.highlightKeywords;if(e.forEach((e=>{t[`${s}${e}`]=null})),!i)return!0;const r=`${i}`.trim().toLowerCase().split(/\s+/g).filter((t=>t));if(!r.length)return!0;let l=!1;const h=(e,i)=>(/<\/?[a-z][\s\S]*>/i.test(e)&&(e=((e,i)=>{const n=`${o}${i}`,s=t[n];if(s)return s;const r=document.createElement("div");r.innerHTML=e;const l=r.innerText;return t[n]=l,l})(e,i)),(t=>{const e=t.toLowerCase();let i=0;for(const t of r){const o=e.indexOf(t,i);if(-1===o)return;i=o+t.length}return!0})(e));let a=function(t,e){return t[e]};return"function"==typeof n&&(a=n),e.forEach((e=>{const i=a(t,e);if(null==i)return;const o=`${i}`.trim();if(!o)return;const n=h(o,e);n&&(t[`${s}${e}`]=n,l=!0,this.highlightKeywords=r)})),l},highlightKeywordsHandler:function(){const{highlightCells:t}=this.renderSettings;if(!t.length)return;const e=this.highlightKeywords;e&&d.nextTick((()=>{t.forEach((t=>{const i=document.createTreeWalker(t,NodeFilter.SHOW_TEXT),o=[];let n=i.nextNode();for(;n;)o.push(n),n=i.nextNode();o.length&&this.highlightTextNodes(o,e)}))}))},highlightTextNodes:function(t,e){const{highlightPre:i,highlightPost:o}=this.options.highlightKeywords;let n=0;const s=()=>(n>=e.length&&(n=0),e[n++]);let r=s();t.forEach((t=>{const e=t.textContent,n=e.toLowerCase(),l=[];let h=0;const a=e.length;let c=!1;for(;h{if(e.selected){if(t)return void(e.selected=!1);t=e}}))}const t=this.options.selectAllOnInit;!0!==t?!1===t&&this.updateAllRowsSelected(!1):this.updateAllRowsSelected(!0)},updateAllRowsSelected:function(t){this.forEachSelectableRow((e=>{e.selected=t}))},initCollapseAllOnInitHandler:function(){const t=this.options.collapseAllOnInit;!0!==t?!1===t&&this.updateAllRowsCollapsed(!1):this.updateAllRowsCollapsed(!0)},getToBeAddedItemList:function(t){const e=[];return d.toList(t).forEach((t=>{t&&"object"==typeof t?e.push(t):void 0!==t&&e.push({name:t})})),e},getToBeAddedParentSubs:function(t,e){return t?(t.subs||(t.subs=[]),t.subs):e},getToBeAddedPositionIndex:function(t,e){const i=e.length;return d.isNum(t)&&t>=0&&t<=i?Math.round(t):i},generateDataSnapshot:function(t){if(!t||"object"!=typeof t)return t;const e=this.cleanTreeList(t.rows),i=this.cleanTreeList(t.columns);return this.convertNumberType(e,i),t.rows=e,t.columns=i,t},cleanTreeList:function(t){if(!d.isList(t))return[];const e=(t,i)=>{i.forEach((i=>{if(!i||"object"!=typeof i)return void t.push({});const o=this.getItemSnapshot(i),n=i.subs;Array.isArray(n)&&(o.subs=[],e(o.subs,n)),t.push(o)}))},i=[];return e(i,t),i},convertNumberType:function(t,e){const i=[];d.forEachTree(e,(function(t){"number"===t.type&&t.id&&i.push(t.id)})),i.length&&d.forEachTree(t,(function(t){i.forEach((function(e){t[e]=d.convertNum(t[e])}))}))}},vt={setDefaultLoading:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t)return;const i=t.style;e.size&&(i.width=e.size,i.height=e.size),e.color&&(i.color=e.color),e.size||e.color||t.removeAttribute("style"),e.fast?t.classList.add("tg-loading-fast"):t.classList.remove("tg-loading-fast")},getDefaultLoading:function(t){return this.setDefaultLoading(this.$defaultLoading,t),this.$defaultLoading},getLoadingHolder:function(){return this.$container?this.$container.find(".tg-loading"):w()},setLoading:function(t){if(!this.$container)return this;this.$defaultLoading||(this.$defaultLoading=this.$container.find(".tg-loading-default").get(0));const e=this.getLoadingHolder().get(0);return"function"==typeof t&&(t=t.call(this,e)),d.isObject(t)&&(t=this.getDefaultLoading(t)),t||(t=this.getDefaultLoading()),this.renderNodeContent(e,t),this},showLoading:function(){return this.getLoadingHolder().show(),this},hideLoading:function(){return this.getLoadingHolder().hide(),this}},Ht={showMask:function(t){if(!this.hasMask||t){const e=this.$container.find(".tg-mask"),i=e.get(0);if(t&&i){const e=d.styleMap(t);e&&(i.style.cssText=e)}e.show(),this.hasMask=!0}return this},hideMask:function(){return this.hasMask&&(this.$container.find(".tg-mask").hide(),this.hasMask=!1),this}},yt={renderNodeContent:function(t,e){if(t){if(e&&e.nodeType)return this.emptyNode(t),void t.appendChild(e);if(Array.isArray(e))return this.emptyNode(t),void e.forEach((e=>{e&&e.nodeType&&t.appendChild(e)}));void 0===e&&(e=""),t.innerHTML=e}},emptyNode:function(t){if(t)for(;t.firstChild;)t.removeChild(t.firstChild)},removeNode:function(t){t&&t.parentNode&&t.parentNode.removeChild(t)},appendNode:function(t,e){t&&e&&t.appendChild(e)},createElement:function(t,e,i){const o=document.createElement(t);e&&Object.keys(e).forEach((function(t){const i=e[t];void 0!==i&&o.setAttribute(t,i)})),d.isArray(i)||(i=[i]);let n="";return i.forEach((function(t){t&&t.nodeType?o.appendChild(t):void 0!==t&&(n+=t)})),n&&(o.innerHTML=n),o},find:function(t,e){return w(e||this.$container).find(t)},getRowNodes:function(t){const e=this.getRowItem(t);if(e)return this.getRowNodesByIndex(e.tg_view_index)},getCellNode:function(t,e){const i=this.getRowItem(t);if(!i)return;const o=this.getColumnItem(e);return o?this.getCellNodeByIndex(i.tg_view_index,o.tg_view_index):void 0},getHeaderItemNode:function(t){const e=this.getColumnItem(t);if(e)return this.getHeaderCache(e.tg_view_index)},getColumnHeaderNode:function(t){const e=this.getHeaderItemNode(t);if(e)return e.querySelector(".tg-column-header")}},Ct={render:function(){this.asyncRender||(this.asyncRender=d.microtask(this.renderSync)),this.asyncRender.apply(this,arguments)},renderSync:function(){this.renderStartedTimestamp=Date.now();const t=this.generateRenderSettings.apply(this,arguments);return this.renderSettings=t,"all"===t.type?(this.flushBody(),this.initHandler(),this.renderHeader(),this.updateViewRowsAndSize(),this.renderBody(),this):"columns"===t.type?(this.flushBody(),this.initColumnsHandler(),this.renderHeader(),this.updateViewRowsAndSize(),this.renderBody(),this):"rows"===t.type?(this.updateViewRowsAndSize(),this.renderBody(),this):"resize"===t.type?(this.resizeHandler(),this.renderBody(),this):(this.renderBody(),this)},generateRenderSettings:function(t){const e={type:this.renderType,scrollLeft:null,scrollTop:null,scrollColumn:null,scrollRow:null,highlightCells:[]};return"string"==typeof t?e.type=t:t&&Object.assign(e,t),this.headerCreated||(e.type="all"),e},renderBody:function(){this.scrollOnInit(),this.scrollTopOffset=this.scrollPane.getScrollTopOffset();const t=this.getViewport();return this.viewport=t,this.flushWithViewport(),this.previousScrollTopOffset!==this.scrollTopOffset&&(this.previousScrollTopOffset=this.scrollTopOffset,this.updateRowCacheTopOffset()),this.renderRows(t.rows),this.renderCells(t.rows,t.columns),this.renderUpdatedTimestamp=Date.now(),this.renderDuration=this.renderUpdatedTimestamp-this.renderStartedTimestamp,this.trigger(C.onUpdated,t),this.firstUpdated||(this.firstUpdated=!0,this.trigger(C.onFirstUpdated,t)),this.layoutEventHandler(),this.resizeEventHandler(),this.highlightKeywordsHandler(),this.renderSettings=null,this.renderType=null,this},rerender:function(){return this.render("all"),this}},Rt={resize:function(){return this.asyncResize||(this.asyncResize=d.throttle(this.resizeSync,100)),this.asyncResize.apply(this,arguments),this},resizeSync:function(){return this.headerCreated?(this.resizeHolderHandler.apply(this,arguments),this.firstUpdated&&this.isHolderInvisible()||this.render("resize"),this):this},resizeHolderHandler(t,e){if(0!==arguments.length)return 1===arguments.length?t&&"object"==typeof t?void this.$holder.css(t):void this.$holder.css({width:t}):void this.$holder.css({width:t,height:e})},isHolderInvisible(){const t=this.$holder.width(),e=this.$holder.height();return!t||!e},resizeHandler:function(){this.containerWidth=this.$container.width(),this.containerHeight=this.$container.height(),this.headerWidth=this.containerWidth,this.bodyWidth=this.containerWidth,this.updateTotalColumnsWidth(),this.resizeHeaderHandler(),this.resizeBodyHandler()},layoutEventHandler:function(){const t=this.previousLayout||{},e={headerWidth:this.headerWidth,headerHeight:this.headerHeight,bodyWidth:this.bodyWidth,bodyHeight:this.bodyHeight};Object.values(e).join("")!==Object.values(t).join("")&&(this.previousLayout=e,this.trigger(C.onLayout,d.merge({previous:t},e)))},resizeEventHandler:function(){const t=this.previousSize||{},e={width:this.containerWidth,height:this.containerHeight};Object.values(e).join("")!==Object.values(t).join("")&&(this.previousSize=e,this.trigger(C.onResize,d.merge({previous:t},e)))},resizeHeaderHandler:function(){this.initHeaderLayerHeight();const t=this.options;t.autoHeight&&this.viewRows.length>5e3&&(t.autoHeight=!1),this.headerHeight=0,t.headerVisible&&(this.containerHeight>0||t.autoHeight)&&this.updateHeaderTableHeight(),this.$headerFrame.css({width:this.headerWidth,height:this.headerHeight})},updateHeaderTableHeight:function(){let t=0;Object.keys(this.headerLayerHeight).forEach((e=>{t+=this.headerLayerHeight[e]}));const e=this.$headerL.find(".tg-header-table"),i=this.$headerR.find(".tg-header-table");e.css({height:t}),i.css({height:t}),this.headerHeight=t},resizeBodyHandler:function(){this.updateScrollState(),this.bodyHeight=this.containerHeight-this.headerHeight,this.$bodyFrame.css({width:this.bodyWidth,height:this.bodyHeight}),this.updatePaneWidth(),this.updatePaneHeight(),this.updateCanvasWidth(),this.updateCanvasHeight(),this.updateScrollPane(),this.updateCssRules()},updatePaneWidth:function(){let t=this.bodyWidth,e=0;if(this.frozenInfo.columns){const i=this.getScrollbarWidth();this.frozenInfo.right?(e=this.columnsWidthR+i,t=this.bodyWidth-e):(t=this.columnsWidthL,e=this.bodyWidth-t),this.scrollPaneHidden&&(this.frozenInfo.right?(t<=0&&(t=0),e=Math.max(0,this.bodyWidth-t)):(e3&&void 0!==arguments[3])||arguments[3];const n=this.getToBeAddedItemList(t);if(!n.length)return!1;let s;if(null!=e&&(s=this.getRowItem(e),!s))return!1;const r=this.getToBeAddedParentSubs(s,this.rows),l=this.getToBeAddedPositionIndex(i,r),h=[l,0].concat(n);r.splice.apply(r,h),this.initRowsHandler(),s?(s.collapsed=!1,this.flushRowFrom(s.tg_view_index+l)):this.flushRowFrom(l),this.onNextUpdated((function(){this.trigger(C.onRowAdded,n)}));const a={type:"rows"};return o&&(a.scrollRow=n[n.length-1]),this.render(a),!0},deleteRow:function(t){const e=d.toList(t),i=[];if(e.forEach((t=>{const e=this.getRowItem(t);e&&i.push(e)})),!i.length)return!1;const o=this.removeRowsHandler(i);this.initRowsHandler();const n=this.getRemovedMinIndex(o);return this.flushRowFrom(n),this.onNextUpdated((function(){this.trigger(C.onRowRemoved,i)})),this.render("rows"),!0},getRemovedMinIndex:function(t){let e=0;const i=t[t.length-1];if(this.isInvisible(i))return e;e=i.tg_view_index,e>0&&(e-=1);let o=i.tg_parent;for(;o;)o.collapsed&&(e=o.tg_view_index),o=o.tg_parent;return e},removeRowsHandler:function(t){const e=[].concat(t);e.sort((function(t,e){return e.tg_index-t.tg_index}));const i=[];return e.forEach((t=>{this.getRowParentSubs(t).splice(t.tg_sub_index,1),i.push(t)})),i}},Tt={renderCollapseAllState:function(){this.hasTreeColumn&&(this.asyncRenderCollapseAllState||(this.asyncRenderCollapseAllState=d.microtask(this.renderCollapseAllStateSync)),this.asyncRenderCollapseAllState.apply(this,arguments))},renderCollapseAllStateSync:function(){const t=this.$header.find(".tg-tree-header");this.rowsInfo.isTree?t.addClass("tg-tree-header-indent"):t.removeClass("tg-tree-header-indent"),this.renderCollapseAllIcon()},checkCollapseAllState:function(t){if(t!==this.allRowsCollapsed){if(t){let t=0;const e=this.rows.length;for(;t{if(e.tg_group&&e.tg_subs_length&&e.collapsed)return t=!0,!1})),t)return}this.allRowsCollapsed=t,this.renderCollapseAllIcon()}},expandAllRows:function(){return this.renderAllRowsCollapsed(!1)},collapseAllRows:function(){return this.renderAllRowsCollapsed(!0)},toggleAllRows:function(){return this.allRowsCollapsed?this.expandAllRows():this.collapseAllRows()},renderAllRowsCollapsed:function(t){const e=this.updateAllRowsCollapsed(t);return e.length?(this.flushBody(),this.onNextUpdated((()=>{this.renderCollapseAllIcon(),t?this.trigger(C.onRowCollapsed,e):this.trigger(C.onRowExpanded,e)})),this.render("rows"),this):this},updateAllRowsCollapsed:function(t){this.allRowsCollapsed=t;const e=[];return this.forEachRow((i=>{i.subs&&i.tg_subs_length&&this.isCollapsedChanged(i,t)&&(i.collapsed=t,e.push(i))})),e},expandRow:function(t){const e=this.getRowItem(t);return e?this.isEmptyGroup(e)?(this.trigger(C.onRowSubsRequest,e),this):this.isCollapsedChanged(e,!1)?(e.collapsed=!1,this.flushRowFrom(e.tg_view_index),this.renderCollapseIcon(e),this.onNextUpdated((()=>{this.checkCollapseAllState(!1),this.trigger(C.onRowExpanded,e)})),this.render("rows"),this):this:this},collapseRow:function(t){const e=this.getRowItem(t);return e&&e.subs&&e.tg_subs_length&&this.isCollapsedChanged(e,!0)?(e.collapsed=!0,this.flushRowFrom(e.tg_view_index),this.renderCollapseIcon(e),this.onNextUpdated((()=>{this.checkCollapseAllState(!0),this.trigger(C.onRowCollapsed,e)})),this.render("rows"),this):this},toggleRow:function(t){const e=this.getRowItem(t);return e?(e.collapsed?this.expandRow(e):this.collapseRow(e),this):this},expandRowLevel:function(t){t=d.toNum(t,!0);const e=[],i=[];return this.forEachRow((o=>{o.subs&&o.tg_subs_length&&(o.tg_level<=t?this.isCollapsedChanged(o,!1)&&(o.collapsed=!1,i.push(o)):this.isCollapsedChanged(o,!0)&&(o.collapsed=!0,e.push(o)))})),e.length||i.length?(this.flushBody(),this.onNextUpdated((()=>{e.length&&this.trigger(C.onRowCollapsed,e),i.length&&this.trigger(C.onRowExpanded,i)})),this.render("rows"),this):this},renderCollapseAllIcon:function(){if(!this.options.collapseAllVisible||!this.hasTreeColumn)return;const t=this.$header.find(".tg-tree-icon-all");this.renderTreeIcon(t,this.allRowsCollapsed)},renderCollapseIcon:function(t){if(!this.headerCreated)return;const e=this.getRowNodesByIndex(t.tg_view_index);if(!e)return;const i=e.find(".tg-tree-icon");this.renderTreeIcon(i,t.collapsed)},renderTreeIcon:function(t,e){t&&(e?t.removeClass("tg-tree-icon-expanded").addClass("tg-tree-icon-collapsed"):t.removeClass("tg-tree-icon-collapsed").addClass("tg-tree-icon-expanded"))}},Lt={rowDragStartHandler:function(t,e){this.removeSortColumn();const i=e.rowItem;if(!i)return;const o=this.getRowNodesByIndex(i.tg_view_index);o&&(e.dragCloneNodes=this.getRowDragCloneNodes(o),e.dropPlaceholder=this.getRowDropPlaceholder(o),e.dragStartTop=this.getRowTop(i),e.dragRowHeight=this.getRowHeight(i),e.dragStartScrollTop=this.scrollTop,e.dragMaxScrollTop=this.scrollPane.getMaxScrollTop(),this.trigger(C.onRowDragged,{e:t,rowItem:i}),this.isDefaultPrevented(t)||("touch"===e.type&&d.preventDefault(e.e),this.setRowState(i,"dragging"),this.rowDropListHandler(e),this.updateDragCloneRowPosition(e)))},rowDragMoveHandler:function(t,e){"touch"===e.type&&d.preventDefault(e.e),this.updateDragCloneRowPosition(e),this.updateDragPlaceholderPosition(e),this.rowDragAutoScrollHandler(e)},rowDragEndHandler:function(t,e){"touch"===e.type&&(this.protectedItem=null,d.preventDefault(e.e)),this.autoScrollStop(),this.setRowState(e.rowItem,"dragging",!1),e.dragCloneNodes&&(e.dragCloneNodes.remove(),e.dragCloneNodes=null),e.dropPlaceholder&&(e.dropPlaceholder.remove(),e.dropPlaceholder=null),e.changed&&this.rowDropHandler(e)},updateDragCloneRowPosition:function(t){const e=this.scrollTop-t.dragStartScrollTop,i=t.dragStartTop+t.offsetY+e,o=i-this.scrollTopOffset;t.dragCloneNodes&&t.dragCloneNodes.css("top",o).show(),t.dragCurrentPosition=i+.5*t.dragRowHeight},getRowDragCloneNodes:function(t){const e=w();return t.each((function(t){const i=w(t),o=i.clone();o.appendTo(i.parent()),e.add(o)})),e.addClass("tg-clone").hide(),e},getRowDropPlaceholder:function(t){const e=w();return t.each((function(t){const i=w(t),o=w("
").addClass("tg-row-placeholder").hide(),n=i.parent();n.find(".tg-row-placeholder").remove(),o.appendTo(n),e.add(o)})),e},updateDragPlaceholderPosition:function(t){this.rowDropItemHandler(t);const e=t.dropItem;if(!e)return;let i=t.dropPosition-1;t.dropBottom?e.tg_view_last&&(i=t.dropPosition-2):e.tg_view_index-this.frozenInfo.rows==0&&(i=t.dropPosition);const o=i-this.scrollTopOffset;t.dropPlaceholder&&t.dropPlaceholder.css("top",o).show()},rowDragAutoScrollHandler:function(t){const e=t.dragCurrentPosition,i=this.scrollTop,o=this.bodyHeight-this.frozenRowsHeight,n=i+o,s=this.options.rowHeight,r=Math.min(3*s,.5*o);if(!(rn-r){const i=e-(n-r),o=this.getAutoScrollOffset(i,r);this.autoScrollStart(o,t)}else this.autoScrollStop()},getAutoScrollOffset:function(t,e){return Math.floor(t/e*20)},autoScrollStop:function(){this.autoScrollMotion&&(this.autoScrollMotion.destroy(),this.autoScrollMotion=null)},autoScrollStart:function(t,e){this.autoScrollStop();const i=e.dragMaxScrollTop;this.autoScrollMotion=new D,this.autoScrollMotion.bind(D.EVENT.MOTION_MOVE,(()=>{const o=d.clamp(this.scrollTop+t,0,i);o!==this.scrollTop?(this.setScrollTop(o),this.updateDragCloneRowPosition(e),this.updateDragPlaceholderPosition(e)):this.autoScrollStop()})),this.autoScrollMotion.once(D.EVENT.MOTION_END,(()=>{this.autoScrollStart(t,e)})),this.autoScrollMotion.start({duration:200})},rowDropListHandler:function(t){const e=this.getRowDropList(t);if(!d.isList(e))return;const i=t.rowItem,o=e.filter((t=>{if(t===i)return!1;if(t.tg_frozen)return!1;let e=t.tg_parent;for(;e;){if(e===i)return!1;e=e.tg_parent}return!0}));if(!d.isList(o))return;const n=[];o.forEach((t=>{const e=this.getRowTop(t),i=this.getRowHeight(t);n.push({rowItem:t,position:e}),n.push({rowItem:t,position:e+i-1,dropBottom:!0})})),t.dropList=n},getRowDropList:function(t){const e=this.options.rowDragCrossLevel;return e?"function"==typeof e?e.call(this,t):this.viewRows:this.getRowParentSubs(t.rowItem)},rowDropItemHandler:function(t){const e=t.dropList;if(!e)return;const i=t.dragCurrentPosition;let o=Number.MAX_VALUE;for(let n=0,s=e.length;no)break;o=r,t.dropItem=s.rowItem,t.dropBottom=s.dropBottom,t.dropPosition=s.position}},rowDragDropPositionHandler:function(t,e,i){const o=this.getRowParentSubs(t),n=t.tg_sub_index;let s,r;return this.isDropIntoGroupFirstChild(e,i)?(s=e.subs,r=0):(s=this.getRowParentSubs(e),r=e.tg_sub_index,o===s&&n{this.trigger(C.onRowDropped,n)})),this.render({type:"rows",scrollRow:i})}},It={getMoveFocusRow:function(t,e){let i=t[0];return e>0&&(i=t[t.length-1]),i},getMoveLengthInList:function(t,e){let i=0;return t.forEach((t=>{this.getRowParentSubs(t)===e&&(i+=1)})),i},getMoveInfo:function(t,e,i){const o=this.getRowParentSubs(i);let n=i.tg_sub_index+e;const s=i.tg_parent;if(s&&this.options.rowMoveCrossLevel){const e=0,i=s.tg_subs_length-1;if(ni){const e=n-i;return this.getMoveInfo(t,e,s)}}if(e>0){n-=this.getMoveLengthInList(t,o)-1}return n=d.clamp(n,0,o.length),{list:o,index:n}},moveRowsHandler:function(t,e){(t=this.removeRowsHandler(t)).reverse();const i=this.getMoveFocusRow(t,e),o=this.getMoveInfo(t,e,i),n=[o.index,0].concat(t);return o.list.splice.apply(o.list,n),this.initRowsHandler(),this.onNextUpdated((function(){this.scrollRowIntoView(i),this.trigger(C.onRowMoved,t)})),this.removeSortColumn(),this.update(),!0},moveRows:function(t,e){t=d.toList(t);const i=[];return t.forEach((t=>{const e=this.getRowItem(t);e&&i.push(e)})),!!i.length&&(!(i.length>=this.getRowsLength())&&(0!==(e=d.toNum(e,!0))&&this.moveRowsHandler(i,e)))},moveRowsUp:function(t){return this.moveRows(t,-1)},moveRowsDown:function(t){return this.moveRows(t,1)},moveRowsToTop:function(t){return this.moveRows(t,-this.getRowsLength(!0))},moveRowsToBottom:function(t){return this.moveRows(t,this.getRowsLength(!0))},moveSelectedRowsUp:function(){return this.moveRows(this.getSelectedRows(),-1)},moveSelectedRowsDown:function(){return this.moveRows(this.getSelectedRows(),1)},moveSelectedRowsToTop:function(){return this.moveRows(this.getSelectedRows(),-this.getRowsLength(!0))},moveSelectedRowsToBottom:function(){return this.moveRows(this.getSelectedRows(),this.getRowsLength(!0))}},Et={getSelectedRow:function(){let t=null;return this.forEachSelectableRow((function(e){if(e.selected)return t=e,!1})),t},getSelectedRows:function(){const t=[];return this.forEachSelectableRow((function(e){e.selected&&t.push(e)})),t.length>1&&t.sort((function(t,e){const i=t.tg_selected_index,o=e.tg_selected_index;return i>o?1:i0&&void 0!==arguments[0])||arguments[0];if(t=Boolean(t),this.globalSelectedIndex=0,t&&!this.options.selectMultiple)return this;const e=this.getAllSelectedChangedList(t);return e.length?(this.updateRowsSelectedState(e),this):this},setRowSelected:function(){return(this.options.selectMultiple?this.setRowMultipleSelected:this.setRowSingleSelected).apply(this,arguments)},setRowSingleSelected:function(t){const e=this.getRowItem(t);if(!e)return this;if(!this.isRowSelectable(e))return this;if(e.selected)return this;const i=[],o=this.getSelectedRow();return o&&o.selected&&i.push(o),e.selected||i.push(e),i.length?(this.updateRowsSelectedState(i),this):this},setRowMultipleSelected:function(t,e){if(0===arguments.length)return this;if(1===arguments.length&&!1===arguments[0])return this.selectAll(!1);const i=this.toRowItemList(t,(t=>this.isRowSelectable(t)));return i.length?!1===e?(this.setRowListUnselected(i),this):d.hasShiftKey(e)&&1===i.length?(this.setRowBetweenListSelected(i[0]),this):(this.updateRowsSelectedState(i),this):this},setRowListUnselected:function(t){const e=this.getSelectedChangedList(t,!1);e.length&&this.updateRowsSelectedState(e)},setRowBetweenListSelected:function(t){const e=this.previousSelectedRow;if(e&&e!==t){const i=this.getBetweenSelectedChangedList(e,t);if(!i.length)return;this.updateRowsSelectedState(i,!0)}else this.updateRowsSelectedState([t])},getAllSelectedChangedList:function(t){const e=[];return this.forEachSelectableRow((i=>{this.isSelectedChanged(i,t)&&e.push(i)})),e},getSelectedChangedList:function(t,e){const i=[];return t.forEach((t=>{this.isSelectedChanged(t,e)&&i.push(t)})),i},getBetweenSelectedChangedList:function(t,e){const i=t.tg_index,o=e.tg_index,n=[];if(i=o;)n.push(t),t--}return this.toRowItemList(n,(t=>this.isRowSelectable(t)&&!t.selected))},updateRowsSelectedState:function(t,e){let i;t.forEach((t=>{const e=!t.selected;t.selected=e,e&&(t.tg_selected_index=this.globalSelectedIndex++,i=t),this.renderRowSelectedState(t)})),e||(this.previousSelectedRow=i),this.renderSelectAllState(),this.onNextUpdated((()=>{this.trigger(C.onSelectChanged,t)})),this.render()},renderRowSelectedState:function(t){const e=t.tg_view_index;this.viewport.rows.includes(e)&&(this.renderRowState(t,"selected"),this.flushCell(e,this.selectColumn.tg_view_index))},renderSelectAllState:function(){this.isSelectAllVisible()&&(this.asyncRenderSelectAllState||(this.asyncRenderSelectAllState=d.microtask(this.renderSelectAllStateSync)),this.asyncRenderSelectAllState.apply(this,arguments))},renderSelectAllStateSync:function(){const t=this.getSelectAllState();if(t===this.previousSelectAllState)return;this.previousSelectAllState=t;const e=this.selectColumn,i=w(this.getColumnHeaderNode(e)).find(".tg-select-icon-all");i.length&&(i.removeClass("tg-selected tg-mixed"),t&&i.addClass(`tg-${t}`))},getSelectAllState:function(){let t=0;this.forEachSelectableRow((e=>{t+=1}));const e=this.getSelectedRows().length;let i="mixed";return 0===e?(i="",this.previousSelectedRow=null):e===t&&(i="selected"),i},isSelectAllVisible:function(){const t=this.options;return!!(t.selectVisible&&t.selectAllVisible&&t.selectMultiple)}},xt={setRowHover:function(t,e){const i=this.getRowItem(t);return i?(this.renderRowHover(i,e),this):this},renderRowHover:function(t,e){if(this.previousHover&&(this.previousHover.removeClass("tg-hover"),this.previousHover=null),!e)return this;if(t.tg_frozen&&!this.options.frozenRowHoverable)return this;const i=t.tg_view_index;return this.previousHover=this.$body.find(`.tg-row[row='${i}']`).addClass("tg-hover"),this},setRowState:function(t,e){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const o=this.getRowItem(t);return o?(o.tg_state_names||(o.tg_state_names=new Set),o.tg_state_names.add(e),o[e]=i,this.renderRowState(o,e),this):this},renderRowState:function(t,e){const i=this.getRowNodesByIndex(t.tg_view_index);if(i){const o=`tg-${e}`;t[e]?i.addClass(o):i.removeClass(o)}}},zt={getRowItem:function(t){return d.isNum(t)?(t<0&&(t=this.rowsInfo.length+t),this.rowsInfo.indexCache[t]):t?d.isNum(t.tg_index)?t:this.getRowItemById(t.id||t):void 0},getRowItemById:function(t){return this.getRowItemBy("id",t)},getRowItemBy:function(t,e){if(void 0!==e)return this.rowsInfo.indexCache.find((i=>i[t]===e))},getRowsLength:function(t){return t?this.rowsInfo.length:this.viewRows.length},getViewRowItem:function(t){return this.viewRows[t]},getPreRenderRowInfo:function(t){const e={rows:[],rowNotFound:!1,benchmark:0};if(!t.length)return 0===this.getRowsLength()&&(e.rowNotFound=!0),e;const i=[],o=this.frozenInfo.row;return t.forEach((t=>{this.getRowCache(t)?t>o&&i.push(t):e.rows.push(t)})),i.length&&(e.benchmark=Math.min.apply(Math,i)),e.rows.sort((function(t,i){return t{this.renderRowNodes(t,e.benchmark)}))},createRowNode:function(t,e,i,o,n,s){const r=document.createElement("div");return r.setAttribute("row",t),r.className=i,o&&(r.style.cssText=o),r.style.top=`${n}px`,s!==this.options.rowHeight&&(r.style.height=`${s}px`,r.style.lineHeight=`${s}px`),this.setNodeDataCache(r,{row:t,rowItem:e,rowNode:r}),r},appendRowNode:function(t,e,i,o){ithis.frozenInfo.row))return e;e-=this.frozenRowsHeight}return e-=this.scrollTopOffset,e},getRowTop:function(t){let e=t.tg_top;return t.tg_frozen||(e-=this.frozenRowsHeight),e},getRowVPos:function(t){const e=this.frozenInfo.bottom,i=this.frozenInfo.row;let o="top";return this.frozenInfo.rows&&(t<=i?e&&(o="bottom"):e||(o="bottom")),o},getRowCanvas:function(t,e){return"top"===t?"left"===e?this.$bodyTL:this.$bodyTR:"left"===e?this.$bodyBL:this.$bodyBR}},Mt={CHANGE:"change"},Pt={h:{type:"h",className:"tg-scrollbar-h",offset:"left",size:"width",page:"pageX",axis:"x",offsetName:"offsetX"},v:{type:"v",className:"tg-scrollbar-v",offset:"top",size:"height",page:"pageY",axis:"y",offsetName:"offsetY"}};class _t extends k{static EVENT=Mt;static H="h";static V="v";type="h";settings={};size=0;viewSize=0;bodySize=0;trackSize=0;position=0;scale=0;thumbPosition=0;thumbScale=0;constructor(t,e){super(),this.settings=Pt[t]||Pt.h,this.type=this.settings.type,this.id=d.uid(4,`tg-scrollbar-${this.type}-`),this.$holder=w(e),this.$holder.find(`.${this.settings.className}`).remove(),this.options=this.generateOptions()}generateOptions(t){return d.merge({size:15,round:!1,blank:!1,motionDuration:200},t)}updateOptions(t){this.options=this.generateOptions(t);let e=this.options.size;d.isNum(e)||(e=d.toNum(e)),e=Math.round(e),e=Math.max(e,0),e=Math.min(e,30),this.size=e}create(){this.$container=w('
').appendTo(this.$holder),this.$container.attr("id",this.id),this.$container.addClass(d.classMap(["tg-scrollbar",this.settings.className,{"tg-scrollbar-round":this.options.round}])),this.$track=this.$container.find(".tg-scrollbar-track"),this.$thumb=this.$container.find(".tg-scrollbar-thumb"),this.thumbDrag=new O,this.thumbDrag.bind(O.EVENT.DRAG_START,((t,e)=>{this.thumbDragStart(e)})).bind(O.EVENT.DRAG_MOVE,((t,e)=>{this.thumbDragMove(e)})).bind(O.EVENT.DRAG_END,((t,e)=>{this.thumbDragEnd(e)}));const t=this.$container.get(0);return this.scrollEvents={mousedown:{handler:e=>{e.target.classList.contains("tg-scrollbar-thumb")?this.thumbMouseDownHandler(e):(this.trackEvents={mouseup:{handler:t=>{this.trackMouseupHandler(t)},options:{once:!0}}},d.bindEvents(this.trackEvents,t),this.trackMousedownHandler(e))},options:!0},selectstart:{handler:t=>{d.preventDefault(t)},options:!0}},d.bindEvents(this.scrollEvents,t),this}getBlank(){return this.options.blank}getSize(){return this.size}getViewSize(){return this.viewSize}getBodySize(){return this.bodySize}getTrackMouseDirection(){let t=1;return this.trackMousePosition0){const i=this.getMaxThumbPosition();t=Math.round(i*this.position/e),t=d.clamp(t,0,i)}return this.setThumbPosition(t),this}trackMousedownHandler(t){return this.motionStop(),this.trackMousePosition=this.getTrackMousePos(t),this.motionStart(),this}trackMouseupHandler(t){return d.unbindEvents(this.trackEvents),this.motionStop(),this.motionStarted||(this.trackMousePosition=this.getTrackMousePos(t),this.trackScrollHandler(),this.triggerEvent()),this}trackScrollHandler(){const t=Math.max(0,this.viewSize-20)*this.getTrackMouseDirection();return this.setOffset(t),this}motionStop(){return this.motion&&(this.motion.destroy(),this.motion=null),this}motionStart(){const t=this.position,e=Math.round(this.trackMousePosition/this.viewSize*this.getMaxPosition());return this.motionStarted=!1,this.motion=new D,this.motion.bind(D.EVENT.MOTION_START,((t,e)=>{this.motionStarted=!0})),this.motion.bind(D.EVENT.MOTION_MOVE,((t,e)=>{this.motionUpdateHandler(t,e)})),this.motion.start({duration:this.options.motionDuration,from:t,till:e}),this}motionUpdateHandler(t,e){e!==this.position&&(this.setPosition(e),this.triggerEvent())}thumbMouseDownHandler(t){this.$thumb.addClass("tg-scrollbar-thumb-hold"),this.thumbDrag.start(t,{target:this.$thumb})}thumbDragStart(t){this.motionStop(),t.thumbPositionStart=this.thumbPosition}thumbDragMove(t){let e=t.thumbPositionStart+t[this.settings.offsetName];const i=this.getMaxThumbPosition();e=d.clamp(e,0,i),this.setThumbPosition(e);let o=0;i>0&&(o=d.per(e/i)*this.getMaxPosition(),o=Math.round(o)),this.position=o,this.triggerEvent()}thumbDragEnd(t){this.$thumb&&this.$thumb.removeClass("tg-scrollbar-thumb-hold")}triggerEvent(){this.trigger(Mt.CHANGE,this.position)}getPosition(){return this.position}setPosition(t){t=d.toNum(t,!0);const e=this.getMaxPosition();t=d.clamp(t,0,e),this.position=t,this.updateThumbPosition()}getMaxPosition(){return this.bodySize-this.viewSize}updatePosition(){const t=this.getMaxPosition(),e=d.clamp(this.position,0,t);this.position=e}setOffset(t){t=d.toNum(t);const e=this.position+t;return this.setPosition(e),this}getScale(){return this.scale}setScale(t){return t=d.per(t),this.scale=t,this.scaleChangeHandler(),this}scaleChangeHandler(){let t=Math.round(this.viewSize*this.scale);if(t=Math.max(t,Math.round(1.5*this.options.size)),t=Math.min(t,this.viewSize-1),this.thumbSize=t,this.$thumb){const t={};"h"===this.type?(t.height=this.size,t.width=this.thumbSize):(t.width=this.size,t.height=this.thumbSize),this.$thumb.css(t)}}updateTrackSize(){const t={};return"h"===this.type?(t.width=this.trackSize,t.height=this.size):(t.height=this.trackSize,t.width=this.size),this.$container.css(t),this}updateThumbSize(){let t=0;return this.bodySize&&(t=this.trackSize/this.bodySize),this.setScale(t),this}parseSize(t){return t=d.toNum(t),t=Math.round(t),t=Math.max(t,0)}updateSize(t,e,i){t=this.parseSize(t),this.viewSize=t,e=this.parseSize(e),this.bodySize=e,i=d.isNum(i)?this.parseSize(i):t,this.trackSize=i,this.previousFadeIn=null}fade(t){return!(!this.$container||!this.size)&&(this.previousFadeIn!==t&&(this.previousFadeIn=t,t?this.$container.hasClass("tg-fade-out")&&this.$container.removeClass("tg-fade-out").addClass("tg-fade-in"):this.$container.removeClass("tg-fade-in").addClass("tg-fade-out"),!0))}show(){if(this.updatePosition(),!this.getBlank())return!this.$container&&this.size>0&&this.create(),this.$container?(this.updateTrackSize(),this.updateThumbSize(),this):this;this.remove()}hide(){return this.updatePosition(),this.remove(),this}remove(){if(this.motionStop(),d.unbindEvents(this.scrollEvents),d.unbindEvents(this.trackEvents),this.thumbDrag&&(this.thumbDrag.destroy(),this.thumbDrag=null),!this.$container)return this;this.$thumb=null,this.$track=null,this.$container.remove(),this.$container=null}destroy(){return this.remove(),this}}const Nt={CHANGE:"change"};class kt extends k{static EVENT=Nt;visible=!0;constructor(t,e){super(),this.id=d.uid(4,`tg-scroll-pane-${e}-`),this.gradientInfo=[],this.$container=w(t).attr("id",this.id),this.$container.addClass("tg-scroll-pane"),this.$scrollView=this.$container.find(".tg-scroll-view"),this.$scrollBody=this.$scrollView.find(".tg-scroll-body"),this.scrollbarH=new _t(_t.H,this.$container),this.scrollbarH.bind(_t.EVENT.CHANGE,((t,e)=>{this.scrollHChangeHandler()})),this.scrollbarV=new _t(_t.V,this.$container),this.scrollbarV.bind(_t.EVENT.CHANGE,((t,e)=>{this.scrollVChangeHandler()})),this.options=this.generateOptions()}generateOptions(t){return d.merge({scrollbarH:{},scrollbarV:{},scrollbarFade:!1,scrollSizeOnKeyPress:20,gradient:30},t)}show(){return this.$container.show(),this.visible=!0,this}hide(){return this.$container.hide(),this.visible=!1,this}width(){return this.scrollPaneW}height(){return this.scrollPaneH}render(t){return this.visible?(this.options=this.generateOptions(t),this.update(),this):this}update(){this.scrollPaneW=this.options.scrollPaneW,this.scrollPaneH=this.options.scrollPaneH,this.scrollBodyW=this.options.scrollBodyW,this.scrollBodyH=this.options.scrollBodyH,this.updateScrollbar()}setGroupH(t){this.groupH=d.toList(t)}setGroupV(t){this.groupV=d.toList(t)}updateGroupH(){if(!d.isList(this.groupH))return this;const t=this.scrollbarH.getPosition();return this.groupH.forEach((function(e){e&&e.updateScrollHFromGroup(t)})),this}updateGroupV(){if(!d.isList(this.groupV))return this;const t=this.scrollbarV.getPosition();return this.groupV.forEach((function(e){e&&e.updateScrollVFromGroup(t)})),this}updateGroupList(){this.updateGroupH(),this.updateGroupV()}updateScrollHFromGroup(t){this.scrollbarH.getPosition()!==t&&(this.scrollbarH.setPosition(t),this.updateScrollLeft(),this.triggerEvent())}updateScrollVFromGroup(t){this.scrollbarV.getPosition()!==t&&(this.scrollbarV.setPosition(t),this.updateScrollTop(),this.triggerEvent())}setPosition(t,e){return this.scrollbarH.setPosition(t),this.scrollbarV.setPosition(e),this.updateScrollLeft(),this.updateScrollTop(),this.updateGroupList(),this}updateScrollbar(){this.scrollbarH.updateOptions(this.options.scrollbarH),this.scrollbarV.updateOptions(this.options.scrollbarV),this.updateScrollState(),this.updateScrollView(),this.updateScrollTrack(),this.scrollbarH.updateSize(this.scrollViewW,this.scrollBodyW,this.scrollTrackW),this.scrollbarV.updateSize(this.scrollViewH,this.scrollBodyH,this.scrollTrackH),this.hasScrollH?(this.scrollbarH.show(),this.scrollbarH.setPosition(this.scrollbarH.getPosition())):this.scrollbarH.hide(),this.hasScrollV?(this.scrollbarV.show(),this.scrollbarV.setPosition(this.scrollbarV.getPosition())):this.scrollbarV.hide(),this.updateScrollLeft(),this.updateScrollTop(),this.updateGroupList()}updateScrollState(){const t=this.scrollbarH.getSize(),e=this.scrollbarV.getSize(),i=this.scrollbarH.getBlank(),o=this.scrollbarV.getBlank(),n=this.options.scrollbarFade;let s=!1,r=0;(function(){(this.scrollPaneWe&&t.push("left"),ie&&t.push("top"),o{const i=`tg-gradient-${e}`;t.includes(e)?this.$container.addClass(i):this.$container.removeClass(i)})))}getScrollLeft(){return this.scrollbarH.getPosition()}getScrollTop(){return this.scrollbarV.getPosition()}getMaxScrollLeft(){return this.scrollbarH.getMaxPosition()}getMaxScrollTop(){return this.scrollbarV.getMaxPosition()}getScrollTopOffset(){const t=this.getScrollTop();return t-t%1e4}triggerEvent(){this.trigger(Nt.CHANGE,{scrollLeft:this.getScrollLeft(),scrollTop:this.getScrollTop()})}scrollHChangeHandler(){this.updateScrollLeft(),this.updateGroupList(),this.triggerEvent()}scrollVChangeHandler(){this.updateScrollTop(),this.updateGroupList(),this.triggerEvent()}setOffsetH(t){const e=this.getScrollLeft();this.scrollbarH.setOffset(t);return this.getScrollLeft()!==e&&(this.updateScrollLeft(),this.updateGroupList(),this.triggerEvent(),!0)}setOffsetV(t){const e=this.getScrollTop();this.scrollbarV.setOffset(t);return this.getScrollTop()!==e&&(this.updateScrollTop(),this.updateGroupList(),this.triggerEvent(),!0)}mouseWheelHandler(t){const e=t.deltaX,i=t.deltaY,o=Math.abs(e);if(o>Math.abs(i)){if(this.hasScrollH)return this.setOffsetH(e)}else{if(this.hasScrollV)return this.setOffsetV(i);if(this.hasScrollH&&!o)return this.setOffsetH(i)}return!1}keyPageUpHandler(t){return this.setOffsetV(-this.scrollViewH)}keyPageDownHandler(t){return this.setOffsetV(this.scrollViewH)}keyEndHandler(t){return this.setOffsetV(this.scrollBodyH)}keyHomeHandler(t){return this.setOffsetV(-this.scrollBodyH)}keyLeftHandler(t){return this.setOffsetH(-this.options.scrollSizeOnKeyPress)}keyUpHandler(t){return this.setOffsetV(-this.options.scrollSizeOnKeyPress)}keyRightHandler(t){return this.setOffsetH(this.options.scrollSizeOnKeyPress)}keyDownHandler(t){return this.setOffsetV(this.options.scrollSizeOnKeyPress)}destroy(){return this.visible=!1,this.groupH=null,this.groupV=null,this.scrollbarV&&(this.scrollbarV.destroy(),this.scrollbarV=null),this.scrollbarH&&(this.scrollbarH.destroy(),this.scrollbarH=null),this.$container=null,this.$scrollView=null,this.$scrollBody=null,this}}const Vt={initScrollPane:function(){this.initFrozenStyle(),this.createScrollPane()},initFrozenStyle:function(){const t={HL:{container:this.$paneHL,cls:[]},HR:{container:this.$paneHR,cls:[]},TL:{container:this.$paneTL,cls:[]},TR:{container:this.$paneTR,cls:[]},BL:{container:this.$paneBL,cls:[]},BR:{container:this.$paneBR,cls:[]}},e="tg-frozen-h";this.frozenInfo.rows&&(this.frozenInfo.bottom?(t.BL.cls.push(e),t.BR.cls.push(e)):(t.TL.cls.push(e),t.TR.cls.push(e)));const i="tg-frozen-v",o="tg-frozen-line-v";this.frozenInfo.columns&&(this.frozenInfo.right?(t.HR.cls.push(i),t.TR.cls.push(i),t.BR.cls.push(i)):(t.HL.cls.push(i),t.TL.cls.push(i),t.BL.cls.push(i)),t.HL.cls.push(o),t.TL.cls.push(o),t.BL.cls.push(o));const n="tg-frozen",s=[n,e,i,o].join(" ");Object.keys(t).forEach((function(e){const i=t[e],o=i.container;o.removeClass(s);const r=i.cls;if(!r.length)return;const l=[n].concat(r).join(" ");o.addClass(l)}))},createScrollPane:function(){this.removeScrollPane(),this.scrollPaneMap={HL:new kt(this.$paneHL,"header-left"),HR:new kt(this.$paneHR,"header-right"),TL:new kt(this.$paneTL,"top-left"),TR:new kt(this.$paneTR,"top-right"),BL:new kt(this.$paneBL,"bottom-left"),BR:new kt(this.$paneBR,"bottom-right")},this.scrollPaneMap.BR.setGroupH([this.scrollPaneMap.HR,this.scrollPaneMap.TR]),this.scrollPaneMap.TR.setGroupH([this.scrollPaneMap.HR,this.scrollPaneMap.BR]),this.scrollPaneMap.BL.setGroupH([this.scrollPaneMap.HL,this.scrollPaneMap.TL]),this.scrollPaneMap.TL.setGroupH([this.scrollPaneMap.HL,this.scrollPaneMap.BL]),this.scrollPaneMap.BR.setGroupV(this.scrollPaneMap.BL),this.scrollPaneMap.BL.setGroupV(this.scrollPaneMap.BR),this.scrollPaneMap.TR.setGroupV(this.scrollPaneMap.TL),this.scrollPaneMap.TL.setGroupV(this.scrollPaneMap.TR),this.initActiveScrollPane(),this.initPaneVisibility()},initActiveScrollPane:function(){const t=this.getScrollPaneVP(),e=this.getScrollPaneHP(),i=`${t}${e}`;this.scrollPane=this.scrollPaneMap[i],this.scrollPane.bind(kt.EVENT.CHANGE,((t,e)=>{this.scrollPaneChangeHandler(t,e)}));let o={L:"L",R:"L"};this.frozenInfo.columns&&this.frozenInfo.right&&(o={L:"R",R:"L"});const n=`${t}${o[e]}`;this.scrollPaneFrozen=this.scrollPaneMap[n]},getScrollPaneVP:function(){return this.frozenInfo.rows&&!this.frozenInfo.bottom?"B":"T"},getScrollPaneHP:function(){return this.frozenInfo.columns&&!this.frozenInfo.right?"R":"L"},initPaneVisibility:function(){this.scrollPaneMap.HL.show(),this.scrollPaneMap.TL.show(),this.frozenInfo.columns?(this.scrollPaneMap.HR.show(),this.scrollPaneMap.TR.show(),this.frozenInfo.rows?(this.scrollPaneMap.BL.show(),this.scrollPaneMap.BR.show()):(this.scrollPaneMap.BL.hide(),this.scrollPaneMap.BR.hide())):(this.scrollPaneMap.HR.hide(),this.scrollPaneMap.TR.hide(),this.scrollPaneMap.BR.hide(),this.frozenInfo.rows?this.scrollPaneMap.BL.show():this.scrollPaneMap.BL.hide())},scrollPaneChangeHandler:function(t,e){this.hideColumnLine(),this.scrollLeft=e.scrollLeft,this.scrollTop=e.scrollTop,this.scrollRenderHandler()},scrollbarFadeInOutHandler:function(t,e){this.options.scrollbarFade&&(e?this.updateScrollPaneFade(!0):this.options.scrollbarFadeTimeout||this.updateScrollPaneFade(!1))},updateScrollPaneFade:function(t){if(!this.options.scrollbarFade)return;this.updateScrollPaneFadeSync(t);const e=this.options.scrollbarFadeTimeout;e&&(clearTimeout(this.timeout_fade),this.timeout_fade=setTimeout((()=>{this.updateScrollPaneFadeSync(!1)}),e))},updateScrollPaneFadeSync:function(t){if(this.previousScrollbarFadeIn===t)return;this.previousScrollbarFadeIn=t;const e=[];Object.keys(this.scrollPaneMap).forEach((t=>{const i=this.scrollPaneMap[t];i.hasScrollbar()&&e.push(i)})),e.length&&e.forEach((function(e){e.fade(t)}))},updateScrollPane:function(){const t=this.getScrollbarOptions();this.scrollPaneMap.HL.render(this.getScrollPaneOptions({scrollPaneW:this.paneWidthL,scrollPaneH:this.headerHeight,scrollBodyW:this.bodyWidthL,scrollBodyH:this.headerHeight,scrollbarV:t.HLV,scrollbarH:t.HLH})),this.scrollPaneMap.HR.render(this.getScrollPaneOptions({scrollPaneW:this.paneWidthR,scrollPaneH:this.headerHeight,scrollBodyW:this.bodyWidthR,scrollBodyH:this.headerHeight,scrollbarV:t.HRV,scrollbarH:t.HRH})),this.scrollPaneMap.TL.render(this.getScrollPaneOptions({scrollPaneW:this.paneWidthL,scrollPaneH:this.paneHeightT,scrollBodyW:this.bodyWidthL,scrollBodyH:this.bodyHeightT,scrollbarV:t.TLV,scrollbarH:t.TLH})),this.scrollPaneMap.TR.render(this.getScrollPaneOptions({scrollPaneW:this.paneWidthR,scrollPaneH:this.paneHeightT,scrollBodyW:this.bodyWidthR,scrollBodyH:this.bodyHeightT,scrollbarV:t.TRV,scrollbarH:t.TRH})),this.scrollPaneMap.BL.render(this.getScrollPaneOptions({scrollPaneW:this.paneWidthL,scrollPaneH:this.paneHeightB,scrollBodyW:this.bodyWidthL,scrollBodyH:this.bodyHeightB,scrollbarV:t.BLV,scrollbarH:t.BLH})),this.scrollPaneMap.BR.render(this.getScrollPaneOptions({scrollPaneW:this.paneWidthR,scrollPaneH:this.paneHeightB,scrollBodyW:this.bodyWidthR,scrollBodyH:this.bodyHeightB,scrollbarV:t.BRV,scrollbarH:t.BRH})),this.scrollLeft=this.getScrollLeft(),this.scrollTop=this.getScrollTop(),this.updateScrollPaneFade(Boolean(this.options.scrollbarFadeTimeout))},getScrollPaneOptions:function(t){const e=this.options;return t.scrollbarFade=e.scrollbarFade,t.gradient=d.clamp(d.toNum(e.scrollPaneGradient,!0),0,100),t},getScrollbarOptions:function(){const t=this.options.scrollbarRound,e={};return["HLH","HLV","HRH","HRV","TLH","TLV","TRH","TRV","BLH","BLV","BRH","BRV"].forEach((function(i){e[i]={size:0,round:t,blank:!1}})),this.scrollbarOptionsHandler(e),this.scrollbarFadeHandler(e),e},scrollbarOptionsHandler:function(t){const e=this.scrollbarSizeH,i=this.scrollbarSizeV;this.scrollbarHeaderHandler(t,e,i),this.frozenInfo.columns?this.frozenInfo.rows?this.scrollbarC1R1Handler(t,e,i):this.scrollbarC1R0Handler(t,e,i):this.frozenInfo.rows?this.scrollbarC0R1Handler(t,e,i):this.scrollbarC0R0Handler(t,e,i)},scrollbarFadeHandler:function(t){if(this.options.scrollbarFade)for(const e in t)if(d.hasOwn(t,e)){const i=t[e];i.size>0&&i.blank&&(i.blank=!1,i.size=0)}},scrollbarHeaderHandler:function(t,e,i){this.hasVScroll&&(this.frozenInfo.columns?(t.HRV.size=i,t.HRV.blank=1):(t.HLV.size=i,t.HLV.blank=1))},scrollbarC0R0Handler:function(t,e,i){t.TLH.size=e,t.TLV.size=i},scrollbarC0R1Handler:function(t,e,i){this.frozenInfo.bottom?this.scrollbarC0R1B1Handler(t,e,i):this.scrollbarC0R1B0Handler(t,e,i)},scrollbarC0R1B1Handler:function(t,e,i){t.BLH.size=e,t.TLV.size=i,this.hasVScroll&&(t.BLV.size=i,t.BLV.blank=1)},scrollbarC0R1B0Handler:function(t,e,i){t.BLH.size=e,t.BLV.size=i,this.hasVScroll&&(t.TLV.size=i,t.TLV.blank=1)},scrollbarC1R0Handler:function(t,e,i){this.frozenInfo.right?this.scrollbarC1R0R1Handler(t,e,i):this.scrollbarC1R0R0Handler(t,e,i)},scrollbarC1R0R1Handler:function(t,e,i){this.hasHScroll&&(t.TLH.size=e,this.scrollPaneHidden?(t.TRH.size=e,t.TLH.blank=!0):(t.TRH.size=e,t.TRH.blank=!0)),t.TRV.size=i},scrollbarC1R0R0Handler:function(t,e,i){this.hasHScroll&&(t.TRH.size=e,this.scrollPaneHidden?(t.TLH.size=e,t.TRH.blank=!0):(t.TLH.size=e,t.TLH.blank=!0)),t.TRV.size=i},scrollbarC1R1Handler:function(t,e,i){this.frozenInfo.right?this.frozenInfo.bottom?this.scrollbarC1R1R1B1Handler(t,e,i):this.scrollbarC1R1R1B0Handler(t,e,i):this.frozenInfo.bottom?this.scrollbarC1R1R0B1Handler(t,e,i):this.scrollbarC1R1R0B0Handler(t,e,i)},scrollbarC1R1R1B1Handler:function(t,e,i){this.hasHScroll&&(t.BLH.size=e,this.scrollPaneHidden&&(t.BRH.size=e,t.BLH.blank=!0)),t.TRV.size=i,this.hasVScroll&&(t.BRV.size=i,t.BRV.blank=1)},scrollbarC1R1R1B0Handler:function(t,e,i){this.hasHScroll&&(t.BLH.size=e,this.scrollPaneHidden?(t.BRH.size=e,t.BLH.blank=!0):(t.BRH.size=e,t.BRH.blank=!0)),t.BRV.size=i,this.hasVScroll&&(t.TRV.size=i,t.TRV.blank=1)},scrollbarC1R1R0B1Handler:function(t,e,i){this.hasHScroll&&(t.BRH.size=e,this.scrollPaneHidden&&(t.BLH.size=e,t.BRH.blank=!0)),t.TRV.size=i,this.hasVScroll&&(t.BRV.size=i,t.BRV.blank=1)},scrollbarC1R1R0B0Handler:function(t,e,i){this.hasHScroll&&(t.BRH.size=e,this.scrollPaneHidden?(t.BLH.size=e,t.BRH.blank=!0):(t.BLH.size=e,t.BLH.blank=!0)),t.BRV.size=i,this.hasVScroll&&(t.TRV.size=i,t.TRV.blank=1)},removeScrollPane:function(){clearTimeout(this.timeout_fade),this.previousScrollbarFadeIn=null,this.scrollPaneMap&&(Object.keys(this.scrollPaneMap).forEach((t=>{const e=this.scrollPaneMap[t];e&&e.destroy()})),this.scrollPaneMap=null,this.scrollPane=null,this.scrollPaneFrozen=null)}},Ot={updateScrollState:function(){this.updateGlobalScrollInfo(),this.updateHScrollState(),this.updateVScrollState(),this.updateBlankColumnWidth(),this.scrollStateChanged=!1,this.previousHasHScroll===this.hasHScroll&&this.previousHasVScroll===this.hasVScroll||(this.scrollStateChanged=!0,this.previousHasHScroll=this.hasHScroll,this.previousHasVScroll=this.hasVScroll,this.trigger(C.onScrollStateChanged,{hasHScroll:this.hasHScroll,hasVScroll:this.hasVScroll}))},updateGlobalScrollInfo:function(){this.totalRowsLength=this.getRowsLength(),this.totalRowsHeight=this.getRowsHeight(),this.frozenRowsHeight=this.getFrozenRowsHeight(),this.scrollRowsHeight=this.totalRowsHeight-this.frozenRowsHeight,this.totalRowsHeight=Math.max(this.totalRowsHeight,1),this.scrollRowsHeight=Math.max(this.scrollRowsHeight,1),this.flushRowFrom(this.totalRowsLength)},updateHScrollState:function(){if(this.hasHScroll=!0,this.updateScrollPaneHiddenState(),this.updateHScrollByScrollPaneHidden(),this.scrollPaneHidden)return;this.containerWidth-this.columnsWidth>=0&&(this.hasHScroll=!1)},getScrollPaneCurrentWidth:function(){return this.frozenInfo.right?this.bodyWidth-this.columnsWidthR:this.bodyWidth-this.columnsWidthL},updateHScrollByScrollPaneHidden:function(){if(this.scrollPaneHidden){this.hasHScroll=!1;this.getScrollPaneCurrentWidth()=this.totalRowsHeight&&(this.hasVScroll=!1)}},updateBlankColumnWidth:function(){let t=this.containerWidth-this.columnsWidth;!this.hasVScroll||this.hasHScroll||this.options.scrollbarFade||(t-=this.scrollbarSizeV),this.scrollPaneHidden&&(t=0),this.hasHScroll||(t>=0?(this.frozenInfo.columns?this.columnsWidthR+=t:this.columnsWidthL+=t,this.blankColumn.tg_width=t):this.hasHScroll=!0)}},$t={scrollToRow:function(t){const e=this.getRowItem(t);return this.scrollToItem(e,null),this},scrollToColumn:function(t){const e=this.getColumnItem(t);return this.scrollToItem(null,e),this},scrollToCell:function(t,e){const i=this.getRowItem(t),o=this.getColumnItem(e);return this.scrollToItem(i,o),this},scrollToFirstRow:function(){return this.setScrollTop(0),this},scrollToLastRow:function(){const t=this.getViewRows(),e=t[t.length-1],i=this.getScrollRowPosition(e);if(d.isNum(i))return this.setScrollTop(i),this},scrollToFirstColumn:function(){return this.setScrollLeft(0),this},scrollToLastColumn:function(t){const e=this.getViewColumns();let i=e[e.length-2];t&&(i=e[e.length-1]);const o=this.getScrollColumnPosition(i);if(d.isNum(o))return this.setScrollLeft(o),this},scrollRowIntoView:function(t){const e=this.getRowItem(t);return this.scrollItemIntoView(e,null),this},scrollColumnIntoView:function(t){const e=this.getColumnItem(t);return this.scrollItemIntoView(null,e),this},scrollCellIntoView:function(t,e){const i=this.getRowItem(t),o=this.getColumnItem(e);return this.scrollItemIntoView(i,o),this},setScroll:function(t,e){return t===this.scrollLeft&&e===this.scrollTop||(this.scrollLeft=t,this.scrollTop=e,this.scrollHandler()),this},setScrollLeft:function(t){return t===this.scrollLeft||(this.scrollLeft=t,this.scrollHandler()),this},setScrollTop:function(t){return t===this.scrollTop||(this.scrollTop=t,this.scrollHandler()),this},getScrollRowPosition:function(t){if(!t)return;let e=t.tg_view_index;return e-=this.frozenInfo.rows,e>=0?this.getRowTop(t):void 0},getScrollColumnPosition:function(t){if(!t)return;let e=t.tg_left;return this.frozenInfo.columns&&(e-=this.bodyWidthL),e>=0?e:void 0},scrollToItem:function(t,e){return this.scrollToChanged=!1,this.scrollToRowHandler(t),this.scrollToColumnHandler(e),this.scrollToChanged?(this.scrollHandler(),this):this},scrollToRowHandler:function(t){if(!t)return;const e=this.getScrollRowPosition(t);d.isNum(e)&&e!==this.scrollTop&&(this.scrollTop=e,this.scrollToChanged=!0)},scrollToColumnHandler:function(t){if(!t)return;const e=this.getScrollColumnPosition(t);d.isNum(e)&&e!==this.scrollLeft&&(this.scrollLeft=e,this.scrollToChanged=!0)},scrollItemIntoView:function(t,e){return this.scrollIntoViewChanged=!1,this.scrollRowIntoViewHandler(t),this.scrollColumnIntoViewHandler(e),this.scrollIntoViewChanged?(this.scrollHandler(),this):this},scrollRowIntoViewHandler:function(t){if(!t)return;const e=this.getScrollRowPosition(t);if(!d.isNum(e))return;if(ethis.scrollTop+o){const t=e-(o-i);this.scrollTop=t,this.scrollIntoViewChanged=!0}},scrollColumnIntoViewHandler:function(t){if(!t)return;const e=this.getScrollColumnPosition(t);if(!d.isNum(e))return;if(ethis.scrollLeft+o){const t=e-(o-i);this.scrollLeft=t,this.scrollIntoViewChanged=!0}},scrollOnInit:function(){const{scrollLeft:t,scrollTop:e,scrollColumn:i,scrollRow:o}=this.renderSettings;this.scrollIntoViewChanged=!1,Number.isInteger(t)&&t!==this.scrollLeft&&(this.scrollLeft=t,this.scrollIntoViewChanged=!0),Number.isInteger(e)&&e!==this.scrollTop&&(this.scrollTop=e,this.scrollIntoViewChanged=!0),i&&this.scrollColumnIntoViewHandler(i),o&&this.scrollRowIntoViewHandler(o),this.scrollIntoViewChanged&&this.scrollPane.setPosition(this.scrollLeft,this.scrollTop)},scrollHandler:function(){this.scrollPane.setPosition(this.scrollLeft,this.scrollTop),this.scrollRenderHandler()},scrollRenderHandler:function(){this.previousScrollLeft===this.scrollLeft&&this.previousScrollTop===this.scrollTop||(this.previousScrollLeft=this.scrollLeft,this.previousScrollTop=this.scrollTop,this.onNextUpdated((()=>{this.updateScrollPaneFade(!0),this.trigger(C.onScroll,{scrollLeft:this.scrollLeft,scrollTop:this.scrollTop})})),this.render())},scrollTouchStartHandler:function(t,e){this.hideColumnLine(),this.scrollTouchLeft=this.getScrollLeft(),this.scrollTouchTop=this.getScrollTop(),this.scrollMaxTouchLeft=this.getMaxScrollLeft(),this.scrollMaxTouchTop=this.getMaxScrollTop()},getTouchOrientation:function(t){return t.orientation?t.orientation:[e.LEFT,e.RIGHT].includes(t.direction)?(t.orientation||(t.orientation="Y"),t.orientation):[e.UP,e.DOWN].includes(t.direction)?(t.orientation||(t.orientation="X"),t.orientation):void 0},scrollTouchMoveHandler:function(t,e){if(e.touchLength>1)return;let i=e.offsetX,o=e.offsetY;const n=this.getTouchOrientation(e);"X"===n?i=0:"Y"===n&&(o=0);let s=this.scrollTouchLeft-i,r=this.scrollTouchTop-o;s=d.clamp(s,0,this.scrollMaxTouchLeft),r=d.clamp(r,0,this.scrollMaxTouchTop);let l=!1;this.scrollPaneHidden&&(l=this.scrollPaneFrozen.setOffsetH(-e.moveX),s=0);const h=this.getScrollLeft(),a=this.getScrollTop();(s!==h||r!==a||l)&&(d.preventDefault(e.e),this.setScroll(s,r))},scrollTouchEndHandler:function(){this.protectedItem=null},scrollTouchInertiaHandler:function(t,e){const i=this.getScrollLeft(),o=this.getScrollTop(),n=i-e.touchInertiaX,s=o-e.touchInertiaY;this.setScroll(n,s)},getScrollViewWidth:function(){let t=this.getScrollPaneWidth();return this.frozenInfo.right||(t-=this.getScrollbarWidth()),t},getScrollViewHeight:function(){let t=this.getScrollPaneHeight();return this.frozenInfo.bottom||(t-=this.getScrollbarHeight()),t},getScrollPaneWidth:function(){return this.scrollPane.width()},getScrollPaneHeight:function(){return this.scrollPane.height()},getScrollbarWidth:function(){return this.hasVScroll&&!this.options.scrollbarFade?this.scrollbarSizeV:0},getScrollbarHeight:function(){return this.hasHScroll&&!this.options.scrollbarFade?this.scrollbarSizeH:0},getScrollLeft:function(){return this.scrollPane.getScrollLeft()},getScrollTop:function(){return this.scrollPane.getScrollTop()},getMaxScrollLeft:function(){return this.scrollPane.getMaxScrollLeft()},getMaxScrollTop:function(){return this.scrollPane.getMaxScrollTop()}};class Bt{constructor(t){this.options=this.generateOptions(t)}generateOptions(t){return d.merge({ignore:null,sortField:"",sortFactor:1,sortBlankFactor:1,sortComparer:null},t)}sortList(t){if(!d.isList(t)||1===t.length)return!1;this.ignoreExcludeHandler(t);const e=this.comparerHandler(t);return this.ignoreIncludeHandler(t),e}getDefaultComparer(t){return(ft[t]||ft.string).bind(this)}comparerHandler(t){const e=this.options,i=e.sortField,o=e.sortFactor,n=e.sortBlankFactor,s=e.sortComparer;return"function"==typeof s&&(t.sort(((t,e)=>s.call(this,t,e,{sortField:i,sortFactor:o,sortBlankFactor:n}))),!0)}ignoreExcludeHandler(t){const e=this.options.ignore;this.ignoreListTop=[],this.ignoreListBottom=[];const i=[];for(let o=0,n=t.length;o{t.unshift(e.item)})),this.ignoreListBottom.forEach((e=>{t.push(e.item)}))}}const Dt={removeSortColumn:function(){return this.sortColumn=null,this.$header&&this.$header.find(".tg-column-sorted").removeClass("tg-column-sorted"),this},setSortColumn:function(t){if(!(t=this.getColumnItem(t)))return;if(!this.isColumnSortable(t))return;t===this.sortColumn?t.sortAsc=!t.sortAsc:d.hasOwn(t,"sortAsc")||(t.sortAsc=this.options.sortAsc),this.sortColumn=t;if(this.getRowsLength()-this.frozenInfo.rows<2)return;if(!this.headerCreated)return;this.updateRowsSort()&&(this.renderHeaderSort(),this.flushSort(),this.render("rows"))},renderHeaderSort:function(){const t=this.sortColumn;if(!t)return this;if(!this.isColumnSortable(t))return this;this.$header.find(".tg-column-sorted").removeClass("tg-column-sorted");const e=t.tg_view_index,i=this.$header.find(`.tg-header-item[column='${e}']`).find(".tg-column-header").addClass("tg-column-sorted");return t.sortAsc?i.removeClass("tg-sort-desc").addClass("tg-sort-asc"):i.removeClass("tg-sort-asc").addClass("tg-sort-desc"),this},getSortComparer:function(t){const e=t.comparer;if("function"==typeof e)return e;const i=this.options.sortComparers,o=i[e||t.type];return"function"==typeof o?o:i.string},updateRowsSort:function(){const t=this.sortColumn;if(!t)return!1;const e=t.id;return!!e&&this.sortRows(e,t)},sortRows:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=e.sortAsc?-1:1,o=this.options.sortBlankValueBottom?1:i,n=this.getSortComparer(e);let s=!1;const r=new Bt({ignore:function(t){return t.tg_frozen?{item:t,top:!0}:t.sortFixed?{item:t,top:"top"===t.sortFixed}:void 0},sortField:t,sortFactor:i,sortBlankFactor:o,sortComparer:n}),l=function(t){r.sortList(t)&&(s=!0),t.forEach((function(t,e){t.tg_sub_index=e,t.subs&&l(t.subs)}))};return l(this.rows),s&&this.initRowsHandler(),s}},Wt={default:{},lightblue:{rowHeight:35,scrollbarSize:10,scrollbarRound:!0},dark:{}},At={getAllThemes:function(){return Object.keys(Wt)},getThemeOptions:function(t){return Wt[t]}},Ft={update:function(){return this.flushBody(),this.render("rows"),this},updateRow:function(t,e){const i=this.getRowItem(t);if(!i)return this;if(e&&"object"==typeof e){const t=this.getItemSnapshot(e);Object.keys(t).forEach((function(e){i[e]=t[e]}))}return this.flushRow(i.tg_view_index),this.render("rows"),this},updateCell:function(t,e,i){const o=this.getRowItem(t);if(!o)return this;const n=this.getColumnItem(e);return n?(arguments.length>2&&(o[n.id]=i),this.flushCell(o.tg_view_index,n.tg_view_index),this.render("rows"),this):this},onNextUpdated:function(t){return"function"!=typeof t||this.once(C.onUpdated,t),this}},Gt={getViewport:function(){this.scrollLeft=this.getScrollLeft(),this.scrollTop=this.getScrollTop();return{rows:this.getViewportRows(),columns:this.getViewportColumns()}},getViewportRows:function(){const t=[],e=this.viewRows,i=e.length;if(!i)return t;let o=this.options.rowCacheLength;o=d.clamp(d.toNum(o,!0),0,i);const n=this.frozenInfo.rows;if(n){let e=0;for(;e1;){const n=Math.floor(.5*(e+i)),s=t[n],r=this.getRowTop(s),l=this.getRowHeight(s);if(or+l))return n;e=n}}const n=t[i];return o=e)return[];const i=[],o=this.frozenInfo.columns,n=this.viewColumns;for(let s=o,r=n.length;s0;){const n=t[0]-1;n>o&&t.unshift(n);const s=t[t.length-1]+1;si)&&!(n0&&(e.rows.length=o),i=t.options}return this.data=e,this.dataOptions=i,this}setDataSnapshot(t){return this.setData(this.generateDataSnapshot(t)),this}getData(){return this.data}toString(){return"[object Grid]"}}var Ut;Ut=jt.prototype,[v,R,S,T,L,I,E,x,z,F,G,j,q,K,J,Z,tt,et,pt,mt,bt,wt,vt,Ht,{keyTabHandler:function(t){},keyEnterHandler:function(t){},keyEscHandler:function(t){},keyPageUpHandler:function(t){return this.scrollPane.keyPageUpHandler(t)},keyPageDownHandler:function(t){return this.scrollPane.keyPageDownHandler(t)},keyEndHandler:function(t){return this.scrollPane.keyEndHandler(t)},keyHomeHandler:function(t){return this.scrollPane.keyHomeHandler(t)},keyLeftHandler:function(t){return this.scrollPaneHidden?this.scrollPaneFrozen.keyLeftHandler(t):this.scrollPane.keyLeftHandler(t)},keyUpHandler:function(t){return this.scrollPane.keyUpHandler(t)},keyRightHandler:function(t){return this.scrollPaneHidden?this.scrollPaneFrozen.keyRightHandler(t):this.scrollPane.keyRightHandler(t)},keyDownHandler:function(t){return this.scrollPane.keyDownHandler(t)}},yt,Ct,Rt,St,Tt,{showRow:function(t){return this.updateRowsInvisible(this.toRowItemList(t),!1)},hideRow:function(t){return this.updateRowsInvisible(this.toRowItemList(t),!0)},updateRowsInvisible:function(t,e){if(!t.length)return!1;const i=[];return t.forEach((t=>{t.invisible!==e&&(t.invisible=e,t.tg_invisible=e,i.push(t))})),!!i.length&&(this.update(),!0)}},Lt,It,Et,xt,zt,Vt,Ot,$t,Dt,At,Ft,Gt].forEach((t=>{for(const e in t){if(d.hasOwn(Ut,e))throw new Error(`ERROR: extends with an existing key: "${e}"`);Ut[e]=t[e]}}));const Xt=jt,Yt=e.VERSION,qt=e.TIMESTAMP,Kt={VERSION:Yt,TIMESTAMP:qt,Grid:Xt,$:w,CONST:e,EventBase:k,Icon:X,Motion:D,ScrollPane:kt,Util:d}})();var n=o.$,s=o.MP,r=o._d,l=o.xA,h=o.In,a=o.T8,c=o.Gr,d=o.ht,u=o.J0,g=o.xv,f=o.Ay;export{n as $,s as CONST,r as EventBase,l as Grid,h as Icon,a as Motion,c as ScrollPane,d as TIMESTAMP,u as Util,g as VERSION,f as default}; \ No newline at end of file +var t={915:(t,e,i)=>{i.d(e,{A:()=>l});var o=i(256),n=i.n(o),s=i(505),r=i.n(s)()(n());r.push([t.id,'.tg-turbogrid{position:relative;z-index:0;width:100%;height:100%;margin:0;padding:0;box-sizing:border-box;font-size:14px;font-family:arial,sans-serif;outline:0;cursor:default;overflow:hidden}.tg-turbogrid *,.tg-turbogrid *::before,.tg-turbogrid *::after{box-sizing:border-box}.tg-text-unselectable.tg-turbogrid{user-select:none}.tg-turbogrid svg{display:block;pointer-events:none}.tg-turbogrid .tg-symbols{font-family:webdings,sans-serif}.tg-turbogrid .tg-nowrap{white-space:nowrap}.tg-turbogrid .tg-align-left{text-align:left}.tg-turbogrid .tg-align-center{text-align:center}.tg-turbogrid .tg-align-right{text-align:right}@keyframes tg-fade-in{from{opacity:0}to{opacity:1}}@keyframes tg-fade-out{from{opacity:1}to{opacity:0}}.tg-turbogrid .tg-fade-in{animation-name:tg-fade-in;animation-duration:.2s;animation-fill-mode:both}.tg-turbogrid .tg-fade-in .tg-scrollbar-track{display:none}.tg-turbogrid .tg-fade-out{animation-name:tg-fade-out;animation-duration:.2s;animation-fill-mode:both}.tg-turbogrid .tg-fade-out .tg-scrollbar-track{display:none}.tg-turbogrid .tg-mask{position:absolute;top:0;left:0;z-index:200;display:none;width:100%;height:100%;background-color:#000;opacity:.1}@keyframes tg-loading-animation{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.tg-turbogrid .tg-loading{position:absolute;top:50%;left:50%;z-index:300;display:none;transform:translate(-50%, -50%);pointer-events:none}.tg-turbogrid .tg-loading-default{width:35px;height:35px;color:#0077cf;animation:1s tg-loading-animation linear infinite}.tg-turbogrid .tg-loading-fast{animation:.382s tg-loading-animation linear infinite}.tg-turbogrid .tg-checkbox{width:100%;height:100%;cursor:pointer;overflow:hidden}.tg-turbogrid .tg-checkbox:hover .tg-checkbox-item{fill:#005ba1}.tg-turbogrid .tg-checkbox.tg-select-icon-all{height:18px}.tg-turbogrid .tg-checkbox .tg-icon-checkbox{position:absolute;top:50%;left:50%;display:block;width:16px;height:16px;transform:translate(-50%, -50%)}.tg-turbogrid .tg-checkbox .tg-checkbox-item{display:none;fill:gray}.tg-turbogrid .tg-checkbox .tg-checkbox-none{display:block}.tg-turbogrid .tg-checkbox.tg-selected .tg-checkbox-selected{display:block;fill:#0077cf}.tg-turbogrid .tg-checkbox.tg-mixed .tg-checkbox-mixed{display:block;fill:#0077cf}.tg-turbogrid .tg-radio{cursor:pointer;overflow:hidden}.tg-turbogrid .tg-radio:hover .tg-icon-radio::before{border-color:#005ba1}.tg-turbogrid .tg-radio .tg-icon-radio{position:absolute;top:50%;left:50%;width:16px;height:16px;transform:translate(-50%, -50%)}.tg-turbogrid .tg-radio .tg-icon-radio::before{position:absolute;top:50%;left:50%;content:"";display:block;width:16px;height:16px;border:thin solid gray;border-radius:50%;background:#fff;transform:translate(-50%, -50%)}.tg-turbogrid .tg-radio .tg-icon-radio::after{position:absolute;top:50%;left:50%;content:"";display:none;width:10px;height:10px;border-radius:50%;background:#0077cf;transform:translate(-50%, -50%)}.tg-turbogrid .tg-radio.tg-selected .tg-icon-radio::after{display:block;border-color:#0077cf}.tg-turbogrid .tg-scrollbar{position:absolute;z-index:100;overflow:hidden;user-select:none}.tg-turbogrid .tg-scrollbar-v{top:0;right:0}.tg-turbogrid .tg-scrollbar-h{left:0;bottom:0}.tg-turbogrid .tg-scrollbar-track{position:relative;width:100%;height:100%;background:#f9f9f9;overflow:hidden;user-select:none}.tg-turbogrid .tg-scrollbar-thumb{position:absolute;top:0;left:0;border-radius:1px;background:#999;overflow:hidden;user-select:none}.tg-turbogrid .tg-scrollbar-thumb:hover{background:#888}.tg-turbogrid .tg-scrollbar-thumb-hold{background:#666}.tg-turbogrid .tg-scrollbar-thumb-hold:hover{background:#666}.tg-turbogrid .tg-scrollbar-round .tg-scrollbar-track{border-radius:10px}.tg-turbogrid .tg-scrollbar-round .tg-scrollbar-thumb{border-radius:10px}.tg-turbogrid .tg-scroll-pane{position:relative;margin:0;padding:0;border:none;outline:none;overflow:hidden}.tg-turbogrid .tg-scroll-view{position:relative;width:100%;height:100%;margin:0;padding:0;border:none;overflow:hidden}.tg-turbogrid .tg-scroll-body{position:absolute}.tg-turbogrid .tg-header{position:relative;width:10000px;border-left:0;overflow:hidden}.tg-turbogrid .tg-header-table{position:relative;color:#5e5e5e;font-weight:bold;font-size:14px;line-height:16px;border-bottom:thin solid #e5e5e5;overflow:hidden}.tg-turbogrid .tg-header-item{position:absolute;bottom:0}.tg-turbogrid .tg-header-group-item{overflow:hidden}.tg-turbogrid .tg-header-group-item::after{position:absolute;left:5px;bottom:0;content:"";display:block;width:calc(100% - 10px);height:1px;border-bottom:thin solid #ccc}.tg-turbogrid .tg-column-header{position:absolute;bottom:0;overflow:hidden}.tg-turbogrid .tg-column-header .tg-column-name{padding:10px 5px;text-overflow:ellipsis;overflow:hidden}.tg-turbogrid .tg-column-header .tg-column-name.tg-header-group-name{margin:0 5px;padding:5px 0}.tg-turbogrid .tg-column-resizing{position:absolute;top:0;right:-5px;z-index:100;width:10px;height:100%;background:#ccc;cursor:ew-resize;opacity:0}.tg-turbogrid .tg-header-column-last .tg-column-resizing{right:0}.tg-turbogrid .tg-column-sortable .tg-column-name{cursor:pointer}.tg-turbogrid .tg-column-sortable .tg-sort-indicator{cursor:pointer}.tg-turbogrid .tg-column-sorted{color:#000}.tg-turbogrid .tg-header-sort-h .tg-column-name{padding:12px 5px 15px}.tg-turbogrid .tg-header-sort-h .tg-column-sort{width:100%;height:15px;margin-top:-15px;padding:0 5px;overflow:hidden}.tg-turbogrid .tg-header-sort-h .tg-sort-indicator{position:relative;display:none;width:100%;height:100%}.tg-turbogrid .tg-header-sort-h .tg-column-sorted .tg-column-sort .tg-sort-indicator{display:block}.tg-turbogrid .tg-header-sort-h .tg-sort-indicator-line{position:absolute;top:1px;width:100%;height:0;border-top:thin solid #1e1e1e;overflow:hidden}.tg-turbogrid .tg-header-sort-h .tg-sort-indicator-icon{position:absolute;top:5px;left:0;right:inherit}.tg-turbogrid .tg-header-sort-h .tg-align-right .tg-sort-indicator-icon{left:inherit;right:0}.tg-turbogrid .tg-header-sort-h .tg-align-center .tg-sort-indicator-icon{left:50%;transform:translateX(-50%)}.tg-turbogrid .tg-header-sort-h .tg-sort-indicator-icon .tg-icon-sort-h{display:block;width:19px;height:6px}.tg-turbogrid .tg-header-sort-h .tg-sort-indicator-icon .tg-icon-item{display:none;fill:#1e1e1e}.tg-turbogrid .tg-header-sort-h .tg-sort-indicator-icon .tg-icon-item-light{fill:#ababab}.tg-turbogrid .tg-column-sort-v{display:flex;flex-direction:row;align-items:center}.tg-turbogrid .tg-column-sort-v .tg-column-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tg-turbogrid .tg-column-sort-v.tg-align-right{justify-content:right}.tg-turbogrid .tg-column-sort-v .tg-sort-indicator{position:relative;width:16px;height:16px}.tg-turbogrid .tg-column-sort-v .tg-sort-indicator-icon{position:absolute}.tg-turbogrid .tg-column-sort-v .tg-sort-indicator-icon .tg-icon-sort-v{display:block;width:10px;height:16px}.tg-turbogrid .tg-column-sort-v .tg-sort-indicator-icon .tg-icon-item{fill:#ababab}.tg-turbogrid .tg-column-sort-v .tg-sort-indicator-icon .tg-icon-item-light{fill:#ababab}.tg-turbogrid .tg-column-sort-v.tg-column-sorted .tg-sort-indicator-icon .tg-icon-item{fill:#1e1e1e}.tg-turbogrid .tg-column-sort-v.tg-column-sorted .tg-sort-indicator-icon .tg-icon-item-light{fill:#ababab}.tg-turbogrid .tg-sort-desc .tg-sort-indicator .tg-sort-indicator-icon .tg-desc{display:block}.tg-turbogrid .tg-sort-desc .tg-sort-indicator .tg-sort-indicator-icon .tg-asc{display:none}.tg-turbogrid .tg-sort-asc .tg-sort-indicator .tg-sort-indicator-icon .tg-desc{display:none}.tg-turbogrid .tg-sort-asc .tg-sort-indicator .tg-sort-indicator-icon .tg-asc{display:block}.tg-turbogrid .tg-column-line{position:absolute;top:0;left:0;z-index:100;display:none;height:100%;pointer-events:none}.tg-turbogrid .tg-column-line-item{position:absolute;top:0;bottom:0;display:block;width:0;height:100%;border-left:thin solid #ccc}.tg-turbogrid .tg-column-line-item.tg-active{border-left:thin solid #0077cf}.tg-turbogrid .tg-column-dragging{cursor:ew-resize}.tg-turbogrid .tg-column-dragging .tg-column-name{cursor:ew-resize}.tg-turbogrid .tg-column-dragging .tg-column-resizing:not(.tg-resizing-active){display:none}.tg-turbogrid .tg-tree{position:relative;display:flex;flex-direction:row;place-items:center left;width:100%;height:100%;overflow:hidden}.tg-turbogrid .tg-tree-icon{position:relative;width:15px;height:100%;min-height:9px;text-align:left;cursor:pointer;overflow:hidden}.tg-turbogrid .tg-tree-icon .tg-icon-tree{position:absolute;top:50%;left:0;display:block;width:9px;height:9px;transform:translate(0, -50%);overflow:hidden}.tg-turbogrid .tg-tree-icon .tg-tree-item{display:none}.tg-turbogrid .tg-tree-icon-collapsed .tg-tree-collapsed{display:block}.tg-turbogrid .tg-tree-icon-empty .tg-tree-collapsed{opacity:.5}.tg-turbogrid .tg-tree-icon-expanded .tg-tree-expanded{display:block}.tg-turbogrid .tg-tree-name{flex:1;text-overflow:ellipsis;overflow:hidden}.tg-turbogrid .tg-tree-header .tg-tree .tg-tree-icon{display:none}.tg-turbogrid .tg-tree-icon-all{position:relative;height:17px}.tg-turbogrid .tg-tree-header-indent .tg-tree{padding-left:5px}.tg-turbogrid .tg-tree-header-indent .tg-tree .tg-tree-icon{display:block}.tg-turbogrid .tg-tree-header-indent.tg-column-sort-h .tg-column-sort{width:calc(100% - 20px);margin-left:20px}.tg-turbogrid .tg-pane{position:absolute;width:100%;outline:0;overflow:hidden}.tg-turbogrid .tg-header-frame{position:relative;display:block;outline:0;overflow:hidden}.tg-turbogrid .tg-header-frame .tg-pane{height:100%}.tg-turbogrid .tg-body-frame{position:relative;width:100%;outline:0}.tg-turbogrid .tg-body-message{position:absolute;display:none;width:100%;height:100%;padding:10px;overflow:hidden}.tg-turbogrid .tg-body-message img,.tg-turbogrid .tg-body-message div{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.tg-turbogrid .tg-body{position:absolute;outline:0}.tg-turbogrid .tg-cell-hover-icon{display:none}.tg-touch-device.tg-turbogrid .tg-cell-hover-icon{display:inherit}.tg-turbogrid .tg-cell-row-number{font-weight:normal}.tg-turbogrid .tg-cell-row-drag .tg-row-drag-icon{position:absolute;top:50%;left:50%;width:24px;height:24px;cursor:move;opacity:.8;transform:translate(-50%, -50%)}.tg-turbogrid .tg-cell-row-drag .tg-row-drag-icon:hover{opacity:1}.tg-turbogrid .tg-cell{position:absolute;z-index:1;height:100%;margin:0;padding:0 5px;color:#1e1e1e;white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;overflow:hidden}.tg-turbogrid .tg-cell:focus{outline:none}.tg-turbogrid .tg-cell.tg-flashing{border:1px solid red !important}.tg-turbogrid .tg-cell.tg-selected{background-color:beige}.tg-turbogrid .tg-cell.tg-align-left.tg-cell-negative{padding-left:1px}.tg-turbogrid .tg-cell.tg-align-right.tg-cell-negative{padding-right:1px}.tg-turbogrid .tg-cell.tg-cell-observer{display:flex;flex-direction:column;justify-content:center;padding:5px;line-height:normal;white-space:normal;text-overflow:ellipsis;overflow:hidden}.tg-turbogrid .tg-cell.tg-cell-observer .tg-observer{position:relative;margin:0;padding:0;border:none}.tg-turbogrid .tg-row{position:absolute;width:100%;border:0;border-bottom:thin solid #e5e5e5}.tg-turbogrid .tg-row.tg-group-line{border-bottom:thin solid #999}.tg-turbogrid .tg-row.tg-none-line{border-bottom:none}.tg-turbogrid .tg-row.tg-top-line{border-top:thin solid #e5e5e5}.tg-turbogrid .tg-row.tg-group{font-weight:bold;overflow:hidden}.tg-turbogrid .tg-row.tg-group .tg-cell.tg-align-left.tg-cell-negative{padding-left:0}.tg-turbogrid .tg-row.tg-group .tg-cell.tg-align-right.tg-cell-negative{padding-right:0}.tg-turbogrid .tg-row.tg-hover .tg-cell .tg-cell-hover-icon{display:inherit}.tg-turbogrid .tg-row.tg-dragging{opacity:.3}.tg-turbogrid .tg-row.tg-clone{z-index:1000;border:1px dashed #ccc;border-right:none;border-left:none;background:#fff;cursor:move;opacity:.5}.tg-turbogrid .tg-row.tg-clone *{cursor:move}.tg-turbogrid .tg-row-placeholder{position:absolute;z-index:9999;width:100%;border-top:2px solid #00a8e1;pointer-events:none}.tg-turbogrid .tg-row::before,.tg-turbogrid .tg-row::after{position:absolute;top:0;left:0;content:"";z-index:100;display:none;width:100%;height:100%;pointer-events:none}.tg-turbogrid .tg-hover.tg-row::before{display:block;background:rgba(0,0,0,.08)}.tg-turbogrid .tg-selected.tg-row::after{display:block;background:rgba(0,0,0,.13)}.tg-lightblue .tg-header-item{border-top:thin solid #e8eaf0;border-right:thin solid #e8eaf0}.tg-lightblue .tg-column-name{padding:5px;color:#304265}.tg-lightblue .tg-header-group-item::after{display:none}.tg-lightblue .tg-checkbox .tg-icon-item{fill:#d4d7e0}.tg-lightblue .tg-checkbox:hover .tg-icon-item{fill:#107fff}.tg-lightblue .tg-checkbox.tg-selected .tg-select-checkbox{fill:#107fff}.tg-lightblue .tg-checkbox.tg-mixed .tg-select-mixed{fill:#107fff}.tg-lightblue .tg-cell{color:#304265;border-right:thin solid #e8eaf0}.tg-lightblue .tg-row{border-bottom:thin solid #e8eaf0}.tg-lightblue .tg-row.tg-group-line{border-bottom:thin solid #c9ccd8}.tg-lightblue .tg-row.tg-selected{background:rgba(58,116,213,.05)}.tg-lightblue .tg-row.tg-hover{background:rgba(58,116,213,.05)}.tg-lightblue .tg-row.tg-even{background:#fbfcfe}.tg-lightblue .tg-row.tg-odd{background:#fff}.tg-lightblue .tg-hover.tg-row::before{background:rgba(58,116,213,.05)}.tg-lightblue .tg-selected.tg-row::after{background:rgba(58,116,213,.1)}.tg-lightblue .tg-header-frame{border-bottom:thin solid #e8eaf0}.tg-lightblue .tg-row-not-found .tg-frozen-line-v{border-right:none}.tg-lightblue .tg-scrollbar-track{background:#fff}.tg-lightblue .tg-scrollbar-thumb{background:rgba(48,66,101,.35)}.tg-lightblue .tg-scrollbar-thumb:hover{background-color:#a8a8a8}.tg-lightblue .tg-scrollbar-thumb:active{background-color:#787878}.tg-dark{background:#1e1e1e}.tg-dark .tg-checkbox .tg-icon-item{fill:#ababab}.tg-dark .tg-header-table{color:#ccc;border-bottom:thin solid #333}.tg-dark .tg-header-group-item::after{border-bottom:1px solid #999}.tg-dark .tg-column-sorted{color:#fff}.tg-dark .tg-column-sorted .tg-tree-icon-all .tg-icon-item{fill:#fff}.tg-dark .tg-header-sort-h .tg-sort-indicator-line{border-top:thin solid #eee}.tg-dark .tg-header-sort-h .tg-sort-indicator-icon .tg-icon-item{fill:#eee}.tg-dark .tg-header-sort-h .tg-sort-indicator-icon .tg-icon-item-light{fill:#666}.tg-dark .tg-column-sort-v .tg-sort-indicator-icon .tg-icon-item{fill:#666}.tg-dark .tg-column-sort-v .tg-sort-indicator-icon .tg-icon-item-light{fill:#666}.tg-dark .tg-column-sort-v.tg-column-sorted .tg-sort-indicator-icon .tg-icon-item{fill:#fff}.tg-dark .tg-column-sort-v.tg-column-sorted .tg-sort-indicator-icon .tg-icon-item-light{fill:#666}.tg-dark .tg-tree-icon .tg-icon-item{fill:#fff}.tg-dark .tg-tree-icon-all .tg-icon-item{fill:#999}.tg-dark .tg-header-item .tg-tree-icon .tg-icon-item{fill:#999}.tg-dark .tg-header-item .tg-column-sorted .tg-tree-icon .tg-icon-item{fill:#fff}.tg-dark .tg-row{border-bottom:thin solid #333}.tg-dark .tg-row.tg-group-line{border-bottom:thin solid #666}.tg-dark .tg-row.tg-clone{border:1px dashed #1e1e1e;opacity:.1}.tg-dark .tg-cell{color:#eee}.tg-dark .tg-body-message{color:#eee}.tg-dark .tg-hover.tg-row::before{background:rgba(255,255,255,.1)}.tg-dark .tg-selected.tg-row::after{background:rgba(255,255,255,.2)}.tg-dark .tg-mask{background-color:#fff}.tg-dark .tg-scrollbar-track{background:#333}.tg-dark .tg-scrollbar-thumb{background:#bbb}.tg-dark .tg-scrollbar-thumb:hover{background:#ddd}.tg-dark .tg-scrollbar-thumb-hold{background:#eee}.tg-dark .tg-scrollbar-thumb-hold:hover{background:#eee}.tg-pointer-events-none{pointer-events:none}',""]);const l=r},505:t=>{t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var i="",o=void 0!==e[5];return e[4]&&(i+="@supports (".concat(e[4],") {")),e[2]&&(i+="@media ".concat(e[2]," {")),o&&(i+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),i+=t(e),o&&(i+="}"),e[2]&&(i+="}"),e[4]&&(i+="}"),i})).join("")},e.i=function(t,i,o,n,s){"string"==typeof t&&(t=[[null,t,void 0]]);var r={};if(o)for(var l=0;l0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=s),i&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=i):c[2]=i),n&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=n):c[4]="".concat(n)),e.push(c))}},e}},256:t=>{t.exports=function(t){return t[1]}}},e={};function i(o){var n=e[o];if(void 0!==n)return n.exports;var s=e[o]={id:o,exports:{}};return t[o](s,s.exports,i),s.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var o in e)i.o(e,o)&&!i.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var o={};(()=>{i.d(o,{$:()=>w,MP:()=>e,_d:()=>k,xA:()=>Xt,In:()=>X,T8:()=>B,Gr:()=>kt,ht:()=>Kt,J0:()=>d,xv:()=>Yt,Ay:()=>qt});const t="turbogrid",e={ID:t,NS:`tg-${t}`,VERSION:"3.2.0",TIMESTAMP:"2024-06-20T10:33:49.165Z",UP:"up",DOWN:"down",LEFT:"left",RIGHT:"right",TREE_INDENT:15},n=function(t){if(!t||"object"!=typeof t)return!1;const e=Object.prototype.toString.call(t);return!!["[object Object]","[object Array]"].includes(e)&&(!t.constructor||!![Object,Array].includes(t.constructor))},s=function(t,e){let i;return t.forEach((t=>{n(t)&&(i||(i=t instanceof Array?[]:{}),t instanceof Array?function(t,e,i){const o=e.length;for(let s=0;s{this.execute()})):Promise.resolve().then((()=>{this.execute()}))}execute(){if(!this.started)return;this.started=!1;const t=this.callback;this.callback=null,"function"==typeof t&&t.call(this)}cancel(){this.started=!1,this.callback=null}}const a=new WeakMap,c={isObject:n,merge:l,hasOwn:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},uid:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:8;const e="0123456789abcdefghijklmnopqrstuvwxyz";let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";for(;t--;)i+=e[36*Math.random()|0];return i},isNum:function(t){if("number"!=typeof t||isNaN(t))return!1;return(e=t)!==Number.MAX_VALUE&&e!==Number.MIN_VALUE&&e!==Number.NEGATIVE_INFINITY&&e!==Number.POSITIVE_INFINITY;var e},toNum:function(t,e){return"number"!=typeof t&&(t=parseFloat(t)),isNaN(t)&&(t=0),e&&!Number.isInteger(t)&&(t=Math.round(t)),t},convertNum:function(t){if("string"==typeof t){if(/^[-+]?\d+(\.\d+)?$/gi.test(t))return parseFloat(t)}return t},clamp:function(t,e,i){return Math.max(Math.min(t,i),e)},per:function(t){return t=c.toNum(t),t=c.clamp(t,0,1)},replace:function(t,e){return t=`${t}`,e?t=t.replace(/\{([^}]+)\}/g,(function(t,i){return c.hasOwn(e,i)?e[i]:t})):t},isArray:function(t){return!!(t&&t instanceof Array)},toList:function(t){return t instanceof Array?t:void 0===t?[]:"string"==typeof t?[t]:t&&c.hasOwn(t,"length")?Array.from(t):[t]},isList:function(t){return!!(c.isArray(t)&&t.length>0)},inList:function(t,e){if(!c.isList(e))return!1;for(let i=0,o=e.length;i{if(!c.isList(t))return;let n=0;const s=t.length;for(;nt.startsWith(e))).forEach((e=>{t[e]=null}))},hasShiftKey:function(t){let e=!1;return t&&(e=t.shiftKey),e},isTouchDevice:function(){return"ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0},contains:function(t,e){if(!t||!e)return!1;if(t===e)return!0;if("function"==typeof t.contains)return t.contains(e);let i=e.parentNode;for(;i;){if(i===t)return!0;i=i.parentNode}return!1},isNarrowCharacter:function(t){const e=t.codePointAt(0);return e>=32&&e<=126||162===e||163===e||165===e||166===e||172===e||175===e||8361===e||e>=10214&&e<=10221||10629===e||10630===e||e>=65377&&e<=65470||e>=65474&&e<=65479||e>=65482&&e<=65487||e>=65490&&e<=65495||e>=65498&&e<=65500||e>=65512&&e<=65518},getCharLen:function(t){let e=0;if(!t)return e;for(const i of String(t))e+=c.isNarrowCharacter(i)?1:2;return e},pascalToKebabCase:function(t){return`${t}`.trim().replace(/([a-z])([A-Z])/g,"$1-$2").replace(/\W/g,(t=>/[À-ž]/.test(t)?t:"-")).replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-").toLowerCase()},classMap:function(t){if("string"==typeof t)return t.trim();if(Array.isArray(t)){let e=t.filter((t=>t));return e=e.map((t=>t&&"object"==typeof t?c.classMap(t):String(t).trim())),e=e.filter((t=>t)),e=Array.from(new Set(e)),e.join(" ")}if(t&&"object"==typeof t){const e=[];return Object.keys(t).forEach((i=>{t[i]&&e.push(i)})),e.join(" ")}return""},styleMap:function(t){if("string"==typeof t)return t.trim();if(Array.isArray(t)){let e=t.filter((t=>t));return e=e.map((t=>{const e=String(t).trim();return e?-1===e.indexOf(":")?"":e.endsWith(";")?e:`${e};`:""})),e=e.filter((t=>t)),e=Array.from(new Set(e)),e.join(" ")}if(t&&"object"==typeof t){const e=[];return Object.keys(t).forEach((i=>{const o=t[i];if(o||0===o){const t=String(o).trim();t&&e.push(`${c.pascalToKebabCase(i)}: ${t};`)}})),e.join(" ")}return""},getInstance:function(t){if(t){const e=document.getElementById(t);if(e)return a.get(e)}},setInstance:function(t,e){t&&a.set(t,e)},bindEvents:function(t,e){t&&(c.unbindEvents(t),Object.keys(t).forEach((i=>{const o=t[i];o.target=o.target||e,o.target.addEventListener(i,o.handler,o.options)})))},unbindEvents:function(t){t&&Object.keys(t).forEach((e=>{const i=t[e];i.target&&i.target.removeEventListener(e,i.handler,i.options)}))},preventDefault:function(t){t&&"function"==typeof t.preventDefault&&t.cancelable&&t.preventDefault()},debounce:function(t){let e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;const o=function(){clearTimeout(e),e=setTimeout((()=>{t.apply(this,arguments)}),i)};return o.cancel=()=>{clearTimeout(e)},o},throttle:function(t){let e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100,o=0;const n=function(){const n=Date.now();if(n>o+i)return clearTimeout(e),o=n,void t.apply(this,arguments);clearTimeout(e),e=setTimeout((()=>{o=n,t.apply(this,arguments)}),i)};return n.cancel=()=>{clearTimeout(e),o=0},n},microtask:function(t){const e=new h,i=function(){e.start((()=>{t.apply(this,arguments)}))};return i.cancel=()=>{e.cancel()},i},nextTick:function(t){"function"==typeof window.queueMicrotask?window.queueMicrotask((()=>{t()})):Promise.resolve().then((()=>{t()}))},cancelAsync:function(t){t&&(Object.keys(t).filter((e=>e.startsWith("async")&&"function"==typeof t[e])).forEach((e=>{const i=t[e];"function"==typeof i.cancel&&(i.cancel(),t[e]=null)})),Object.keys(t).filter((t=>t.startsWith("timeout"))).forEach((e=>{clearTimeout(t[e])})))}},d=c,u={animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},g=function(t){return null!==t&&1===t.nodeType},f=function(t){let e=t.ownerDocument.defaultView;return e&&e.opener||(e=window),e.getComputedStyle(t)},p={},m=function(t,e){return null!=(i=t)&&i===i.window?t[`inner${e}`]:(function(t){return null!==t&&9===t.nodeType}(t)&&(t=t.body),t[`client${e}`]);var i},b=function(t){return this.list=[],t?this.create(t):this};function w(t){return new b(t)}b.prototype={constructor:b,Query:"Query",list:[],create:function(t){return t instanceof b?t:"string"==typeof t?this.createFromString(t):((t.nodeType||t===window)&&(this.list=[t]),this)},createFromString:function(t){if("<"===(t=t.trim())[0]&&">"===t[t.length-1]&&t.length>=3)this.parseHTML(t);else{const e=document.querySelectorAll(t);for(let t=0,i=e.length;t{this.css(e,t[e])}))}var i;return this.each((function(i){let o=e;"number"!=typeof o||u[t]||(o+="px"),i.style[t]=o})),this},attr:function(t,e){if(!t)return this;if(1===arguments.length){if("object"==typeof t)return Object.keys(t).forEach((e=>{this.attr(e,t[e])})),this;const e=this.get(0);return e?e.getAttribute(t):void 0}return this.each((function(i){i.setAttribute(t,e)})),this},removeAttr:function(t){return t?(this.each((function(e){e.hasAttribute(t)&&e.removeAttribute(t)})),this):this},removeClass:function(t){if(!arguments.length)return this.each((function(t){t.className=""})),this;if(!t||"string"!=typeof t)return this;const e=t.split(" ");return this.each((function(t){e.forEach((function(e){e&&t.classList.remove(e)}))})),this},addClass:function(t){if(!t||"string"!=typeof t)return this;const e=t.split(" ");return this.each((function(t){e.forEach((function(e){e&&t.classList.add(e)}))})),this},hasClass:function(t){if(!t||"string"!=typeof t)return!1;let e=!1;return this.each((function(i){if(i.classList.contains(t))return e=!0,!1})),e},show:function(){return this.each((function(t){if(!g(t))return;const e=function(t){if(!p[t]){const e=document.createElement(t);document.body.appendChild(e);const i=f(e).display;e.parentNode.removeChild(e),p[t]=i}return p[t]}(t.nodeName);t.style.display=e})),this},hide:function(){return this.each((function(t){if(!g(t))return;"none"!==t.style.display&&(t.style.display="none")})),this},click:function(){const t=this.get(0);return t&&"function"==typeof t.click&&t.click(),this},offset:function(){const t={left:0,top:0},e=this.get(0);if(e){const i=e.getBoundingClientRect();t.left=i.left+window.scrollX,t.top=i.top+window.scrollY}return t},clone:function(){const t=new b;return this.each((function(e){if(e&&e.cloneNode){const i=e.cloneNode(!0);t.add(i)}})),t},children:function(){const t=new b;return this.each((function(e){let i=e.firstChild;for(;i;)t.add(i),i=i.nextSibling})),t},parent:function(){const t=this.get(0);return t?new b(t.parentNode):new b},is:function(t){if(!t)return!1;const e=t.split(",");let i=!0;return this.each((function(t){if(!t.nodeName)return i=!1,!1;const o=t.nodeName.toLowerCase();return d.inList(o,e)?void 0:(i=!1,!1)})),i}},Object.defineProperty(b.prototype,"length",{get:function(){return this.list.length}});const v={createCache:function(){this.headerCache=new Map,this.rowsCache=new Map,this.dataCache=new WeakMap,this.cellResizeObserver=this.createResizeObserver((t=>{this.cellResizeHandler(t)}))},setHeaderCache:function(t,e){this.headerCache.set(t,e)},getHeaderCache:function(t){return this.headerCache.get(t)},clearHeaderCache:function(){this.headerCache.clear()},setRowCache:function(t,e){this.rowsCache.set(t,{rowNodes:e,cellNodes:new Map,observerNodes:new Map})},getRowCache:function(t){return this.rowsCache.get(t)},deleteRowCache:function(t){const e=this.getRowCache(t);if(!e)return;this.rowsCache.delete(t);const i=e.observerNodes;i&&i.forEach((t=>{t&&this.cellResizeObserver.unobserve(t)}));const o=e.rowNodes;o&&o.each((t=>{this.removeNode(t)}))},deleteCellCache:function(t,e,i){if(i){const e=i.get(t);e&&this.cellResizeObserver.unobserve(e),i.delete(t)}e&&(this.removeNode(e.get(t)),e.delete(t))},getRowNodesByIndex:function(t){const e=this.getRowCache(t);if(e)return e.rowNodes},getCellNodeByIndex:function(t,e){const i=this.getRowCache(t);if(i)return i.cellNodes.get(e)},forEachRowsCache:function(t){this.rowsCache.forEach(((e,i)=>{t.call(this,i,e.rowNodes,e.cellNodes,e.observerNodes)}))},updateRowCacheTopOffset:function(){const t=this.frozenInfo.row;this.forEachRowsCache(((e,i)=>{if(!(e<=t)&&i){const t=this.getViewRowItem(e),o=this.getViewRowTop(t);i.css("top",o)}}))},updateRowCacheTopAndHeight:function(){this.forEachRowsCache(((t,e)=>{if(e){const i=this.getViewRowItem(t),o=this.getViewRowTop(i),n=this.getRowHeight(i);e.css({top:o,height:n,"line-height":n})}}))},setNodeDataCache:function(t,e){if(t)return this.dataCache.set(t,e)},getNodeDataCache:function(t){if(t)return this.dataCache.get(t)},removeCache:function(){this.headerCache=null,this.rowsCache=null,this.dataCache=null,this.cellResizeObserver&&(this.cellResizeObserver.disconnect(),this.cellResizeObserver=null)}},H=["onUpdated","onFirstUpdated","onHeaderUpdated","onSort","onColumnAdded","onColumnRemoved","onColumnWidthChanged","onRowAdded","onRowRemoved","onRowExpanded","onRowCollapsed","onRowSubsRequest","onRowDragged","onRowDropped","onRowMoved","onRowMouseEnter","onRowMouseLeave","onSelectChanged","onCellUpdated","onCellMouseEnter","onCellMouseLeave","onClick","onDblClick","onContextMenu","onMouseOver","onMouseOut","onTouchStart","onTouchMove","onTouchEnd","onScroll","onScrollStateChanged","onMouseWheel","onResize","onLayout","onKeyDown","onDestroy"],C={};H.forEach((t=>{C[t]=t}));const y=C,R={renderCells:function(t,e){t.forEach((t=>{this.drawRowCells(t,e)}))},getCellValue:function(t,e){return t[e.id]},renderCell:function(t){const{rowItem:e,columnItem:i,cellNode:o,observerNode:n}=t,s=this.getCellValue(e,i);let r=s;this.nullFormatter&&(r=this.nullFormatter.call(this,r,e,i,o,n));const l=e.tg_formatter||i.tg_formatter;"function"==typeof l&&(r=l.call(this,r,e,i,o,n));const h=n||o;this.renderNodeContent(h,r);const{highlightKey:a}=this.options.highlightKeywords;e[a+i.id]&&this.renderSettings.highlightCells.push(o),this.trigger(y.onCellUpdated,{value:s,rowItem:e,columnItem:i,node:o})},getPreRenderColumnList:function(t,e){const i=[];if(!e.length)return i;for(let o=0,n=e.length;o{this.createCellNode(t,e)}))},getCellClass:function(t,e,i){const o=e.tg_view_index,n=["tg-cell"];return i&&n.push("tg-cell-observer"),n.push(`tg-c-${o}`),e.align&&n.push(`tg-align-${e.align}`),0===e.tg_list_index&&n.push("tg-list-first"),e.tg_list_last&&n.push("tg-list-last"),n.push(d.classMap(e.classMap)),n.push(d.classMap(t[`${e.id}ClassMap`])),d.classMap(n)},cellResizeObserverHandler:function(t,e){const i=this.options.cellResizeObserver;if("function"==typeof i)return i.apply(this,[t,e])},cellResizeHandler:function(t){const e=new Map;t.forEach((t=>{const{target:i}=t,o=this.getNodeDataCache(i.parentNode);if(!o)return;const{row:n,rowItem:s}=o;e.set(n,s)}));let i=!1;e.forEach(((t,e)=>{const o=this.getRowCache(e);if(!o)return;const n=o.observerNodes;if(!n)return;const{rowHeight:s,rowMinHeight:r}=this.options;let l=Math.max(r||s,1);n.forEach((t=>{if(t){const e=t.clientHeight+11;e>l&&(l=e)}}));this.getRowHeight(t)!==l&&(t.tg_height=l,i=!0)})),i&&this.render("rows_cache")},createCellNode:function(t,e){const i=this.getRowCache(t);if(!i)return;const o=this.getViewRowItem(t),n=this.getViewColumnItem(e);if(!o||!n)return;const s=this.cellResizeObserverHandler(o,n),r=document.createElement("div");r.setAttribute("column",e);const l=this.getCellClass(o,n,s);r.className=l;const h=d.styleMap(n.styleMap)+d.styleMap(o[`${n.id}StyleMap`]);h&&(r.style.cssText=h);const a=i.rowNodes,c=n.tg_frozen,u=this.getCellRowNode(a,c);let g;this.appendNode(u,r),s&&(g=document.createElement("div"),g.className="tg-observer",r.appendChild(g),this.cellResizeObserver.observe(g),i.observerNodes.set(e,g));const f={row:t,rowItem:o,rowNode:u,column:e,columnItem:n,cellNode:r,observerNode:g};this.setNodeDataCache(r,f),i.cellNodes.set(e,r),this.renderCell(f)},getCellRowNode:function(t,e){const i=t.get(0);if(this.frozenInfo.columns){const o=t.get(1);return this.frozenInfo.right?e?o:i:e?i:o}return i}},S={addColumn:function(t,e,i){let o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const n=this.getToBeAddedItemList(t);if(!n.length)return!1;let s;if(null!=e&&(s=this.getColumnItem(e),!s))return!1;const r=this.getToBeAddedParentSubs(s,this.columns),l=[this.getToBeAddedPositionIndex(i,r),0].concat(n);r.splice.apply(r,l),this.onNextUpdated((function(){this.trigger(y.onColumnAdded,n)}));const h={type:"columns"};return o&&(h.scrollColumn=n[n.length-1]),this.render(h),!0},deleteColumn:function(t){const e=this.toColumnItemList(t,(t=>!t.private));return!!e.length&&(this.removeColumnsHandler(e),this.onNextUpdated((function(){this.trigger(y.onColumnRemoved,e)})),this.render("columns"),!0)},removeColumnsHandler:function(t){const e=[].concat(t);e.sort((function(t,e){return e.tg_index-t.tg_index})),e.forEach((t=>{let e;if(t===this.sortColumn&&this.removeSortColumn(),t.tg_parent)e=t.tg_parent.subs,e.splice(t.tg_sub_index,1);else{e=this.columns;const i=e.findIndex((e=>e===t));-1!==i&&e.splice(i,1)}!e.length&&t.tg_parent&&(t.tg_parent.subs=null)}))}},T={setColumnWidth:function(t,e){return this.updateColumnWidth(t,e)?(this.resize(),this):this},updateColumnWidth:function(t,e){const i=this.getColumnItem(t);return!!i&&(!!d.isNum(e)&&(e=Math.round(e),e=Math.max(0,e),i.tg_width!==e&&(i.width=e,i.minWidth=Math.min(i.minWidth,e),i.maxWidth=Math.max(i.maxWidth,e),this.updateViewColumnWidth(i),!0)))},showColumn:function(t){return this.updateColumnsInvisible(this.toColumnItemList(t),!1)},hideColumn:function(t){return this.updateColumnsInvisible(this.toColumnItemList(t),!0)},updateColumnsInvisible:function(t,e){if(!t.length)return!1;const i=[];return t.forEach((t=>{t.invisible!==e&&(t.invisible=e,t.tg_invisible=e,i.push(t))})),!!i.length&&(this.render("columns"),!0)}},E={showColumnLine:function(t){t&&(this.$columnLineContainer.show(),this.renderColumnLine(t))},hideColumnLine:function(){this.previousColumnLineActive||this.$columnLineContainer.hide()},setColumnLineActive:function(t){this.setTextSelectable(!t),this.rowHoverable=!t,t!==this.previousColumnLineActive&&(this.previousColumnLineActive=t,t?this.$columnLineItem.addClass("tg-active"):this.$columnLineItem.removeClass("tg-active"))},getColumnLineLeft:function(t){let e=t.tg_left;return t.tg_frozen||(e-=this.scrollLeft),this.frozenInfo.right&&(t.tg_frozen?e=t.tg_left+this.paneWidthL:e-=this.columnsWidthR),e},renderColumnLine:function(t){const e=this.getHeaderItemNode(t).offsetTop,i=t.tg_width,o=this.getColumnLineLeft(t);this.$columnLineItemL.css({top:e,left:o}),this.$columnLineItemR.css({top:e,left:o+i-1}),this.frozenInfo.right||(this.frozenInfo.columns&&!t.tg_frozen&&o{this.renderColumnLine(e.columnItem)})),this.resize()},columnWidthTouchStartHandler:function(t,e){d.preventDefault(e.e);const i=e.columnItem;this.showColumnLine(i),this.setColumnLineActive(!0),e.index=i.tg_index;const o=this.getColumnHeaderNode(i);e.width=o.clientWidth},columnWidthTouchMoveHandler:function(t,e){d.preventDefault(e.e);const i=e.columnItem;let o=e.width+e.offsetX;o=d.clamp(o,i.minWidth,i.maxWidth),i.tg_width!==o&&(i.width=o,this.updateViewColumnWidth(i),this.renderColumnLine(i))},columnWidthTouchEndHandler:function(t,e){d.preventDefault(e.e),this.setColumnLineActive(!1),this.hideColumnLine(),this.resize()}},I={getColumnItem:function(t){return d.isNum(t)?(t<0&&(t=this.columnsInfo.length+t),this.columnsInfo.indexCache[t]):t?d.isNum(t.tg_index)?t:this.getColumnItemById(t.id||t):void 0},getColumnItemById:function(t){return this.getColumnItemBy("id",t)},getColumnItemBy:function(t,e){if(void 0!==e)return this.columnsInfo.indexCache.find((i=>i[t]===e))},getColumnsLength:function(t){return t?this.columnsInfo.length:this.viewColumns.length},getViewColumnItem:function(t){return this.viewAllColumns[t]},isColumnSortable:function(t){return!!t&&(!t.tg_group&&(!(!t.name||!t.id)&&this.isSortable(t)))},isColumnResizable:function(t){return!!t&&(!t.tg_group&&(!d.hasOwn(t,"resizable")||Boolean(t.resizable)))},updateViewColumnWidth:function(t){return t.tg_width=t.width,this.updateColumnHeaderSize(t),this.updateTotalColumnsWidth(),this.updateHeaderLayerHeight(),this.cssRulesInvalid=!0,this.resizeBodyHandler(),this.trigger(y.onColumnWidthChanged,t),!0},updateTotalColumnsWidth:function(){this.blankColumn.tg_width=0;const t=this.viewColumns;let e=0,i=0;const o=this.frozenInfo.columns,n=t.length;let s=0;for(let r=0;r0&&(s+=l,o&&r>=o?i+=l:e+=l)}if(this.frozenInfo.right){const t=e;e=i,i=t}this.columnsWidthL=e,this.columnsWidthR=i,this.columnsWidth=e+i},updateColumnHeaderSize:function(t){this.updateColumnHeaderWidth(t),this.updateColumnHeaderHeight(t,!0),this.updateColumnGroupWidth(t)},updateColumnHeaderWidth:function(t){const e=this.getColumnHeaderNode(t);if(!e)return;const i=t.tg_width;this.isInvisible(t)||i<=0?e.style.display="none":(e.style.display="",e.style.width=`${i}px`)},updateColumnHeaderHeight:function(t,e){if(t.tg_height=0,t.tg_width<=0)return;if(this.isInvisible(t))return;e&&(t.tg_element_height=0);const i=t.tg_element_height;if(i)return void(t.tg_height=i);const o=this.getColumnHeaderHeight(t);t.tg_height=o,t.tg_element_height=o},getColumnHeaderHeight:function(t){const e=this.getColumnHeaderNode(t);return e?e.clientHeight:0},updateColumnGroupWidth:function(t){const e=t.tg_parent;if(!e)return;const i=this.getColumnGroupWidth(e);e.tg_width!==i&&(e.tg_width=i,this.updateColumnHeaderSize(e))},getColumnGroupWidth:function(t){if(this.isInvisible(t))return 0;let e=0;return t.subs&&t.subs.forEach((t=>{this.isInvisible(t)||d.isNum(t.tg_width)&&(e+=t.tg_width)})),e}},L={initTreeInfo:function(t,e){const i=[];let o=!1,n=0,s=0;const r=function(t,r,l){(t=>{t.invisible?t.tg_invisible=!0:t.tg_invisible&&(t.tg_invisible=!1)})(t),((t,i)=>{if(e>=0&&!t.tg_invisible)return t.tg_frozen=!0,void(e-=1);t.tg_frozen&&(t.tg_frozen=!1)})(t),(t=>{if(d.hasOwn(t,"subs")){if(Array.isArray(t.subs))return o=!0,t.tg_group=!0,void(t.tg_subs_length=t.subs.length);t.subs=null}t.tg_group&&(t.tg_group=!1)})(t),((t,e)=>{t.tg_parent=e;let i=0;e&&(i=e.tg_level+1,i>n&&(n=i)),t.tg_level=i})(t,l),t.tg_index=s,t.tg_sub_index=r,i.push(t),s+=1},l=function(t,e){let i=0;const o=t.length;for(;i{if(!this.isInvisible(e))return this.isRowSelectable(e)?t(e,i,o):void 0})),this},toRowItemList:function(t,e){let i=d.toList(t).map((t=>this.getRowItem(t))).filter((t=>t));return"function"==typeof e&&(i=i.filter(e)),i},toColumnItemList:function(t,e){let i=d.toList(t).map((t=>this.getColumnItem(t))).filter((t=>t));return"function"==typeof e&&(i=i.filter(e)),i},isRowLeaf:function(t){return!!t&&("blank"!==t.formatter&&(!t.tg_frozen&&!t.tg_group))},isRowSelectable:function(t){return!!t&&(d.hasOwn(t,"selectable")?Boolean(t.selectable):this.isRowLeaf(t))},isEmptyGroup:function(t){return!(!t||!t.tg_group||0!==t.tg_subs_length)},isInvisible:function(t){return!!t&&(!(!t.tg_filtered&&!t.tg_invisible)||!!this.isInvisible(t.tg_parent))},isSortable:function(t){return!!t&&(!d.hasOwn(t,"sortable")||Boolean(t.sortable))},isCollapsedChanged:function(t,e){return Boolean(t.collapsed)!==e},isSelectedChanged:function(t,e){return Boolean(t.selected)!==e}},x={updateCssRules:function(){this.cssRulesInvalid&&(this.cssRulesInvalid=!1,this.initCssRules(),this.updateColumnsCssRules(),this.updateHeadersCssRules(),this.updateStyleElement())},initCssRules:function(){this.removeCssRules(),this.cssList={},this.cssDisplayCache={};const t=this.getRowHeight(),e=this.createCssRule(".tg-row");e.height=`${t}px`,e["line-height"]=`${t}px`},resetCssDisplay:function(t){if(this.cssDisplayCache){t=t||"";for(const e in this.cssDisplayCache)if(d.hasOwn(this.cssDisplayCache,e)){this.cssDisplayCache[e].style.display=t}}},updateColumnsCssRules:function(){const t=this.viewColumns,e=this.frozenInfo.column,i={};let o=0;for(let n=0,s=t.length;n=0;i--){const e=this.headerLayerHeight[i],o=this.createCssRule(`.tg-h-${i}`);o.bottom=`${t}px`,o.height=`${e}px`,t+=e}this.getLayerCombinations(e).forEach((t=>{const e=this.createCssRule(`.tg-h-${t}`);let i=0;t.split("").forEach((t=>{i+=this.headerLayerHeight[t]||0})),e.height=`${i}px`}))},getLayerCombinations:function(t){let e="";for(;t>=0;)e+=t,t--;if(e.length<2)return[];const i=[],o=function(t,e){const n=t.length;let s=e+2;for(;s<=n;){const o=t.substring(e,s);i.push(o),s++}e=i){let t="Possible Event memory leak detected. ";return t+=`More than ${i} (max limit) listeners added. `,t+="Use setMaxListeners(n) to increase limit.",void console.warn(t,e)}t.events.push(e)},addEvents:function(t,e,i){e.forEach((function(e){const o=e.type;t[o]||(t[o]={events:[]});if("function"!=typeof e.handler)return;const n=t[o];N.addEvent(n,e,i)}))},removeEventByNamespace:function(t,e){Object.keys(t).forEach((function(i){const o=t[i],n=[];o.events.forEach((function(t){t&&t.namespace!==e&&n.push(t)})),o.events=n}))},removeEventByHandler:function(t,e,i){const o=t[e];if(!o)return;const n=[];o.events.forEach((function(t){t&&t.handler!==i&&n.push(t)})),o.events=n},removeEventByType:function(t,e){const i=t[e];i&&(i.events=[])},removeEvent:function(t,e){const i=e.type,o=e.namespace;if(!i&&o)return void N.removeEventByNamespace(t,o);const n=e.handler;"function"!=typeof n?N.removeEventByType(t,i):N.removeEventByHandler(t,i,n)},removeEvents:function(t,e){e.forEach((function(e){N.removeEvent(t,e)}))},removeAllEvents:function(t){Object.keys(t).forEach((function(e){N.removeEventByType(t,e)}))},sendEventList:function(t,e,i,o){const n=e.events;for(let e=0;e!t.onceCalled))},sendEvent:function(t,e,i,o){const n=e[i];if(!n)return;const s=new P({type:i,target:t,currentTarget:t,data:o});N.sendEventList(t,n,s,o)}},_=N;class k{maxListeners=10;setMaxListeners(t){this.maxListeners=Number(t)||10}getMaxListeners(){return this.maxListeners}getEventListeners(){return this.eventListeners||(this.eventListeners={}),this.eventListeners}delEventListeners(){this.eventListeners=null}bind(t,e,i){const o=_.getEventList(this,t,e,i);if(!o.length)return this;const n=this.getEventListeners();return _.addEvents(n,o,this.maxListeners),this}once(t,e){return this.bind(t,e,{once:!0})}unbind(t,e,i){const o=this.getEventListeners();if(!arguments.length)return _.removeAllEvents(o),this;const n=_.getEventList(this,t,e,i);return n.length?(_.removeEvents(o,n),this):this}trigger(t,e){const i=this.getEventListeners();return _.sendEvent(this,i,t,e),this}}const V={DRAG_START:"drag_start",DRAG_MOVE:"drag_move",DRAG_END:"drag_end"};class O extends k{static EVENT=V;generateOptions(t){return d.merge({type:"mouse",startX:0,startY:0,previousX:0,previousY:0,currentX:0,currentY:0,moveX:0,moveY:0,offsetX:0,offsetY:0,changed:!1},t)}start(t,e){t&&(this.unbindEvents(),this.bindEvents(),this.options=this.generateOptions(e),this.startHandler(t))}bindEvents(){this.windowEvents={mousemove:{handler:t=>{this.iframeHandler(t),this.mouseMoveHandler(t)},options:!0},mouseup:{handler:t=>{this.mouseUpHandler(t)},options:{once:!0}}},d.bindEvents(this.windowEvents,window)}unbindEvents(){d.unbindEvents(this.windowEvents),this.windowEvents=null,this.previousIframe&&(this.previousIframe.classList.remove("tg-pointer-events-none"),this.previousIframe=null)}iframeHandler(t){const e=t.target;"IFRAME"===e.nodeName&&e!==this.previousIframe&&(this.previousIframe&&this.previousIframe.classList.remove("tg-pointer-events-none"),e.classList.add("tg-pointer-events-none"),this.previousIframe=e)}startHandler(t){const e=this.options;e.e=t,e.startX=t.pageX,e.startY=t.pageY,e.currentX=e.startX,e.currentY=e.startY,this.hasMoved=!1}mouseMoveHandler(t){d.preventDefault(t);const e=this.options;e.e=t,e.previousX=e.currentX,e.previousY=e.currentY,e.currentX=t.pageX,e.currentY=t.pageY,e.moveX=e.currentX-e.previousX,e.moveY=e.currentY-e.previousY,e.offsetX=e.currentX-e.startX,e.offsetY=e.currentY-e.startY,e.changed=!(0===e.offsetX&&0===e.offsetY),this.hasMoved?this.trigger(V.DRAG_MOVE,e):(this.hasMoved=!0,this.trigger(V.DRAG_START,e))}mouseUpHandler(t){this.unbindEvents();const e=this.options;this.hasMoved&&(e.e=t,d.preventDefault(t),this.trigger(V.DRAG_END,e))}destroy(){this.unbindEvents(),this.unbind()}}const $={Linear:{None:function(t){return t}}},D={MOTION_START:"motion_start",MOTION_MOVE:"motion_move",MOTION_END:"motion_end",MOTION_STOP:"motion_stop"};class B extends k{static EVENT=D;constructor(t){super(),this.constructorOptions=t,this.stopped=!0}generateOptions(t){return d.merge({easing:null,duration:100,from:0,till:1,data:0},this.constructorOptions,t)}stop(){return this.stopped||(this.stopped=!0,this.cancelAnimationFrame(),this.trigger(D.MOTION_STOP,this.data)),this}start(t){return this.stop(),this.stopped=!1,this.options=this.generateOptions(t),this.initCalculation(),this.data=this.calculateHandler(0),this.trigger(D.MOTION_START,this.data),this.stopped||(this.time=Date.now(),this.requestAnimationFrame(this.moveHandler)),this}requestAnimationFrame(t){this.requestId=window.requestAnimationFrame((()=>{t.apply(this)}))}cancelAnimationFrame(){window.cancelAnimationFrame(this.requestId)}getEasing(t){return"function"!=typeof t&&(t=d.getValue($,t,$.Linear.None)),t}moveHandler(){const t=Date.now()-this.time,e=this.duration;if(t{o[n]=this.calculateNumber(t,e[n],i[n])})),o):(this.calculateKeys=[],Object.keys(e).forEach((n=>{const s=e[n],r=i[n];d.isNum(s)&&d.isNum(r)&&(o[n]=this.calculateNumber(t,s,r),this.calculateKeys.push(n))})),o)}calculateNumber(t,e,i){return(i-e)*t+e}calculateNone(t,e,i){return e}destroy(){this.stop(),this.unbind()}}const A={TOUCH_START:"touch_start",TOUCH_MOVE:"touch_move",TOUCH_END:"touch_end",TOUCH_INERTIA:"touch_inertia"};class W extends k{static EVENT=A;generateOptions(t){return d.merge({type:"touch",startX:0,startY:0,previousX:0,previousY:0,currentX:0,currentY:0,moveX:0,moveY:0,offsetX:0,offsetY:0,changed:!1,touchLength:0,direction:"",inertia:!1,inertiaTime:200},t)}start(t,e){t&&(this.unbindEvents(),this.bindEvents(),this.options=this.generateOptions(e),this.startHandler(t))}bindEvents(){this.touchEvents={touchmove:{handler:t=>{this.touchMoveHandler(t)},options:{passive:!1}},touchend:{handler:t=>{this.touchEndHandler(t)},options:{passive:!1,once:!0}},touchcancel:{handler:t=>{this.touchCancelHandler(t)},options:{passive:!1,once:!0}}},d.bindEvents(this.touchEvents,document.body)}unbindEvents(){this.motionStop(),d.unbindEvents(this.touchEvents),this.touchEvents=null}startHandler(t){this.trackingPoints=[];const e=t.touches,i=e[0];if(!i)return;const o=this.options;o.e=t,o.startX=i.clientX,o.startY=i.clientY,o.currentX=o.startX,o.currentY=o.startY,o.touchLength=e.length,this.addTrackingPoint(o),this.trigger(A.TOUCH_START,o)}touchMoveHandler(t){const e=t.touches,i=e[0];if(!i)return;const o=this.options;o.e=t,o.previousX=o.currentX,o.previousY=o.currentY,o.currentX=i.clientX,o.currentY=i.clientY,o.moveX=o.currentX-o.previousX,o.moveY=o.currentY-o.previousY,o.offsetX=o.currentX-o.startX,o.offsetY=o.currentY-o.startY,o.changed=!(0===o.offsetX&&0===o.offsetY),o.touchLength=e.length,o.direction=this.getDirection(o),this.addTrackingPoint(o),this.trigger(A.TOUCH_MOVE,o)}touchEndHandler(t){this.unbindEvents();const e=this.options;e.e=t,this.trigger(A.TOUCH_END,e);const i=t.changedTouches[0];if(!i)return;const o=t.touches;e.touchLength=o.length,e.touchLength>0||(e.currentX=i.clientX,e.currentY=i.clientY,this.addTrackingPoint(e),this.motionStart())}touchCancelHandler(t){this.unbindEvents(),this.trigger(A.TOUCH_END,this.options)}getMotionInfo(){const t=this.trackingPoints;if(t.length<2)return;if(this.filterTrackingPoints(t),t.length<2)return;const e=t[0],i=t[t.length-1],o=i.t-e.t;if(o<=0)return;let n=i.x-e.x,s=i.y-e.y;const r=Math.abs(n),l=Math.abs(s);r>l?s=0:n=0;return{offsetDistance:Math.max(r,l),offsetTime:o,offsetX:n,offsetY:s}}motionStart(){const t=this.options;if(!t.inertia)return;const e=this.getMotionInfo();if(!e)return;const i=500*e.offsetDistance/50,o=d.clamp(i,20,2e3),n={x:20*(e.offsetX/e.offsetTime),y:20*(e.offsetY/e.offsetTime)};this.motion=new B,this.motion.bind(B.EVENT.MOTION_MOVE,((e,i)=>{t.touchInertiaX=i.x,t.touchInertiaY=i.y,this.trigger(A.TOUCH_INERTIA,t)})),this.motion.start({duration:o,from:n,till:{x:0,y:0}})}motionStop(){this.motion&&(this.motion.destroy(),this.motion=null)}getDirection(t){const i=t.offsetX,o=t.offsetY,n=Math.abs(i),s=Math.abs(o);if(n0)return e.UP;if(o<0)return e.DOWN}if(n>s){if(i>0)return e.LEFT;if(i<0)return e.RIGHT}return""}filterTrackingPoints(t){t.reverse();const e=t.length,i=Date.now(),o=this.options.inertiaTime;for(let n=0;no){t.length=n;break}t.reverse()}addTrackingPoint(t){if(!t.inertia)return;const e=t.currentX,i=t.currentY,o=Date.now(),n=this.trackingPoints;n.push({x:e,y:i,t:o}),n.length>100&&this.filterTrackingPoints(n)}destroy(){this.unbindEvents(),this.unbind()}}const F={getAllEvents:function(){return[].concat(H)},bindEvents:function(){this.unbindEvents(),this.containerEvents={mousedown:{handler:t=>{this.containerMouseDownHandler(t)},options:!0},mousemove:{handler:t=>{this.containerMouseMoveHandler(t)},options:!0},mouseover:{handler:t=>{this.containerMouseOverOutHandler(t,!0)},options:!0},mouseout:{handler:t=>{this.containerMouseOverOutHandler(t,!1)},options:!0},mouseenter:{handler:t=>{this.containerMouseEnterLeaveHandler(t,!0)},options:!0},mouseleave:{handler:t=>{this.containerMouseEnterLeaveHandler(t,!1)},options:!0},touchstart:{handler:t=>{this.containerTouchStartHandler(t)},options:{passive:!1}},touchmove:{handler:t=>{this.containerTouchMoveHandler(t)},options:{passive:!1}},touchend:{handler:t=>{this.containerTouchEndHandler(t)},options:{passive:!1}},touchcancel:{handler:t=>{this.containerTouchCancelHandler(t)},options:{passive:!1}},wheel:{handler:t=>{this.containerWheelHandler(t)},options:{passive:!1}},click:{handler:t=>{this.containerClickHandler(t)},options:!0},dblclick:{handler:t=>{this.containerDblClickHandler(t)},options:!0},contextmenu:{handler:t=>{this.containerContextMenuHandler(t)},options:!0},selectstart:{handler:t=>{this.containerSelectStartHandler(t)},options:!0},keydown:{handler:t=>{this.containerKeyDownHandler(t)},options:!0}},d.bindEvents(this.containerEvents,this.container),this.columnWidthDrag=new O,this.columnWidthDrag.bind(O.EVENT.DRAG_START,((t,e)=>{this.columnWidthDragStartHandler(t,e)})).bind(O.EVENT.DRAG_MOVE,((t,e)=>{this.columnWidthDragMoveHandler(t,e)})).bind(O.EVENT.DRAG_END,((t,e)=>{this.columnWidthDragEndHandler(t,e)})),this.columnWidthTouch=new W,this.columnWidthTouch.bind(W.EVENT.TOUCH_START,((t,e)=>{this.columnWidthTouchStartHandler(t,e)})).bind(W.EVENT.TOUCH_MOVE,((t,e)=>{this.columnWidthTouchMoveHandler(t,e)})).bind(W.EVENT.TOUCH_END,((t,e)=>{this.columnWidthTouchEndHandler(t,e)})),this.rowDrag=new O,this.rowDrag.bind(O.EVENT.DRAG_START,((t,e)=>{this.rowDragStartHandler(t,e)})).bind(O.EVENT.DRAG_MOVE,((t,e)=>{this.rowDragMoveHandler(t,e)})).bind(O.EVENT.DRAG_END,((t,e)=>{this.rowDragEndHandler(t,e)})),this.rowTouch=new W,this.rowTouch.bind(W.EVENT.TOUCH_START,((t,e)=>{this.rowDragStartHandler(t,e)})).bind(W.EVENT.TOUCH_MOVE,((t,e)=>{this.rowDragMoveHandler(t,e)})).bind(W.EVENT.TOUCH_END,((t,e)=>{this.rowDragEndHandler(t,e)})),this.scrollTouch=new W,this.scrollTouch.bind(W.EVENT.TOUCH_START,((t,e)=>{this.scrollTouchStartHandler(t,e)})).bind(W.EVENT.TOUCH_MOVE,((t,e)=>{this.scrollTouchMoveHandler(t,e)})).bind(W.EVENT.TOUCH_END,((t,e)=>{this.scrollTouchEndHandler(t,e)})).bind(W.EVENT.TOUCH_INERTIA,((t,e)=>{this.scrollTouchInertiaHandler(t,e)}))},isDefaultPrevented:function(t){if(t){if(t.defaultPrevented)return!0;if(t.e&&t.e.defaultPrevented)return!0}return!1},getEventClosestNode:function(t,e){if(t&&t!==this.container)return t.classList.contains(e)?t:this.getEventClosestNode(t.parentNode,e)},getEventClosestData:function(t){if(!t||t===this.container)return;const e=this.getNodeDataCache(t);return e||this.getEventClosestData(t.parentNode)},getEventData:function(t){const e=this.getEventClosestData(t.target);if(e)return e.e=t,e},getWheelDelta:function(t,e,i){let o=t.deltaX,n=t.deltaY;return d.isNum(o)||(o=d.toNum(t.wheelDeltaX)),d.isNum(n)||(n=d.toNum(t.wheelDeltaY||t.wheelDelta)),1===t.deltaMode?(n*=e,o*=e):2===t.deltaMode&&(n*=i,o*=i),{deltaX:o,deltaY:n}},columnResizingMouseDownHandler:function(t){const e=this.getEventData(t);e&&this.columnWidthDrag.start(t,{columnItem:e.columnItem})},columnResizingTouchStartHandler:function(t){const e=this.getEventData(t);e&&this.columnWidthTouch.start(t,{columnItem:e.columnItem})},columnResizingMouseEnterLeaveHandler:function(t,e){const i=this.getEventData(t);i&&(e?this.showColumnLine(i.columnItem):this.hideColumnLine())},rowDragMouseDownHandler:function(t){const e=this.getEventData(t);e&&this.rowDrag.start(t,{rowItem:e.rowItem})},rowDragTouchStartHandler:function(t){const e=this.getEventData(t);e&&(this.protectedItem=e,this.rowTouch.start(t,{rowItem:e.rowItem}))},scrollPaneTouchStartHandler:function(t){if(!this.hasHScroll&&!this.hasVScroll)return;const e=this.getEventData(t);this.protectedItem=e,this.scrollTouch.start(t,{inertia:!0})},sortHandler:function(t,e){const i=e.columnItem;if(!this.isColumnSortable(i))return;const o=this.getEventClosestNode(t.target,"tg-column-name"),n=this.getEventClosestNode(t.target,"tg-column-sort");(o||n)&&(this.trigger(y.onSort,e),this.isDefaultPrevented(e)||this.setSortColumn(i))},selectIconAllClickHandler:function(t){const e=w(t);let i=!1;(e.hasClass("tg-selected")||e.hasClass("tg-mixed"))&&(i=!0),i=!i,this.selectAll(i)},cellEnterLeaveHandler:function(t,e){const i=this.getEventData(t);i&&(e?this.trigger(y.onCellMouseEnter,i):this.trigger(y.onCellMouseLeave,i))},rowEnterLeaveHandler:function(t,e){const i=this.getEventData(t);if(i&&(e?this.trigger(y.onRowMouseEnter,i):this.trigger(y.onRowMouseLeave,i),!this.isDefaultPrevented(i)))return this.renderRowHover(i.rowItem,e),this},containerMouseDownHandler:function(t){if(this.getEventClosestNode(t.target,"tg-column-resizing"))this.columnResizingMouseDownHandler(t);else if(this.options.rowDragVisible){this.getEventClosestNode(t.target,"tg-row-drag-icon")&&this.rowDragMouseDownHandler(t)}},containerMouseMoveHandler:function(t){this.scrollbarFadeInOutHandler(t,!0)},containerMouseOverOutHandler:function(t,e){const i=this.getEventClosestNode(t.target,"tg-cell"),o=this.getEventClosestNode(t.target,"tg-header-item");if(i||o){const i=this.getEventData(t);if(!i)return;e?this.trigger(y.onMouseOver,i):this.trigger(y.onMouseOut,i)}},containerMouseEnterLeaveHandler:function(t,e){this.scrollbarFadeInOutHandler(t,e);if(w(t.target).hasClass("tg-column-resizing"))return void this.columnResizingMouseEnterLeaveHandler(t,e);if(w(t.target).hasClass("tg-cell"))return void this.cellEnterLeaveHandler(t,e);w(t.target).hasClass("tg-row")&&this.rowEnterLeaveHandler(t,e)},containerTouchStartHandler:function(t){this.scrollTouch.motionStop();if(this.getEventClosestNode(t.target,"tg-column-resizing"))return void this.columnResizingTouchStartHandler(t);if(this.options.rowDragVisible){if(this.getEventClosestNode(t.target,"tg-row-drag-icon"))return void this.rowDragTouchStartHandler(t)}const e=this.getEventData(t);e&&(this.trigger(y.onTouchStart,e),this.isDefaultPrevented(e))||this.scrollPaneTouchStartHandler(t)},containerTouchMoveHandler:function(t){const e=this.getEventData(t);e&&this.trigger(y.onTouchMove,e)},containerTouchEndHandler:function(t){const e=this.getEventData(t);e&&this.trigger(y.onTouchEnd,e)},containerTouchCancelHandler:function(t){this.trigger(y.onTouchEnd,{e:t})},containerWheelHandler:function(t){if(this.hasMask)return;const e=this.getRowHeight(),i=this.bodyHeight,o=this.getWheelDelta(t,e,i),n={e:t,deltaX:o.deltaX,deltaY:o.deltaY,delta:o};if(this.trigger(y.onMouseWheel,n),this.isDefaultPrevented(n))return;let s=!1;this.scrollPaneHidden&&(s=this.scrollPaneFrozen.setOffsetH(o.deltaX),o.deltaX=0);(this.scrollPane.mouseWheelHandler(o)||s)&&d.preventDefault(t)},containerClickHandler:function(t){if(this.getEventClosestNode(t.target,"tg-tree-icon-all"))return void this.toggleAllRows();const e=this.getEventClosestNode(t.target,"tg-select-icon-all");if(e)return void this.selectIconAllClickHandler(e);const i=this.getEventData(t);if(!i)return;if(this.getEventClosestNode(t.target,"tg-header-item")){if(this.trigger(y.onClick,i),this.isDefaultPrevented(i))return;return void this.sortHandler(t,i)}if(this.getEventClosestNode(t.target,"tg-tree-icon"))return void this.toggleRow(i.rowItem);this.getEventClosestNode(t.target,"tg-select-icon")?this.setRowSelected(i.rowItem,t):this.trigger(y.onClick,i)},containerDblClickHandler:function(t){const e=this.getEventData(t)||{e:t};this.trigger(y.onDblClick,e)},containerContextMenuHandler:function(t){const e=this.getEventData(t)||{e:t};this.trigger(y.onContextMenu,e)},containerSelectStartHandler:function(t){if(this.options.textSelectable)return;w(t.target).is("input,textarea,code")||d.preventDefault(t)},containerKeyDownHandler:function(t){if(this.hasMask)return;const e={e:t};if(this.trigger(y.onKeyDown,e),this.isDefaultPrevented(e))return;const i=t.keyCode,o={9:this.keyTabHandler,13:this.keyEnterHandler,27:this.keyEscHandler,33:this.keyPageUpHandler,34:this.keyPageDownHandler,35:this.keyEndHandler,36:this.keyHomeHandler,37:this.keyLeftHandler,38:this.keyUpHandler,39:this.keyRightHandler,40:this.keyDownHandler}[i];if(!o)return;o.call(this,t)&&d.preventDefault(t)},unbindEvents:function(){d.unbindEvents(this.containerEvents),this.containerEvents=null,this.columnWidthDrag&&(this.columnWidthDrag.destroy(),this.columnWidthDrag=null),this.columnWidthTouch&&(this.columnWidthTouch.destroy(),this.columnWidthTouch=null),this.rowDrag&&(this.rowDrag.destroy(),this.rowDrag=null),this.rowTouch&&(this.rowTouch.destroy(),this.rowTouch=null),this.scrollTouch&&(this.scrollTouch.destroy(),this.scrollTouch=null),this.protectedItem=null}},G={exportData:function(t){const e=this.getData();return{columns:this.getTreeSnapshot(e.columns,t),rows:this.getTreeSnapshot(e.rows,t)}},isItemExportable:function(t){return!!t&&(!d.hasOwn(t,"exportable")||Boolean(t.exportable))},getTreeSnapshot:function(t,e){const i=(t,o)=>{d.isList(o)&&o.forEach((o=>{if(!this.isItemExportable(o))return;const n=this.getItemSnapshot(o,e),s=o.subs;Array.isArray(s)&&(n.subs=[],i(n.subs,s)),t.push(n)}))},o=[];return i(o,t),o},getItemSnapshot:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i={};return Object.keys(t).forEach((o=>{!0!==e[o]?!1!==e[o]&&"subs"!==o&&0!==o.indexOf("tg_")&&(i[o]=t[o]):i[o]=t[o]})),i}},j={flushRow:function(t){d.toList(t).forEach((t=>{this.deleteRowCache(t)}))},flushRowFrom:function(t){d.isNum(t)&&(0!==t?this.forEachRowsCache((e=>{e>=t&&this.deleteRowCache(e)})):this.flushBody())},flushBody:function(){this.forEachRowsCache((t=>{this.deleteRowCache(t)}))},flushSort:function(){this.frozenInfo.rows?this.flushRowFrom(this.frozenInfo.rows):this.flushBody()},flushColumn:function(t){const e=d.toList(t);this.forEachRowsCache(((t,i,o,n)=>{e.forEach((t=>{this.deleteCellCache(t,o,n)}))}))},flushColumnFrom:function(t){d.isNum(t)&&this.forEachRowsCache(((e,i,o,n)=>{o.forEach(((e,i)=>{i>=t&&this.deleteCellCache(i,o,n)}))}))},flushCell:function(t,e){const i=d.toList(t),o=d.toList(e);i.forEach((t=>{const e=this.getRowCache(t);if(!e)return;const i=e.cellNodes,n=e.observerNodes;o.forEach((t=>{this.deleteCellCache(t,i,n)}))}))},flushWithViewport:function(){const{rows:t,columns:e}=this.viewport;this.forEachRowsCache(((i,o,n,s)=>{t.includes(i)?n.forEach(((t,i)=>{e.includes(i)||this.deleteCellCache(i,n,s)})):this.deleteRowCache(i)}))}},U={"sort-h":'\n\n \n \n \n \n\n',"sort-v":'\n\n \n \n \n \n\n',checkbox:'\n\n \n \n \n\n',radio:'
',drag:'\n\n \n\n',tree:'\n\n \n \n\n'},X={icons:U,getIcon:function(t){let e=U[t];return e=String(e).trim(),e}},Y={header:function(t,e,i,o){return t},null:function(t,e,i,o){return e&&e.tg_group?t:null==t?"—":t},blank:function(t,e,i,o){return""},string:function(t,e,i,o){return t},number:function(t,e,i,o){return t},icon:function(t,e,i,o){return`${t}`},select:function(t,e,i,o){return this.isRowSelectable(e)?this.getSelectFormatterContent(e):""},rowDrag:function(t,e,i,o){return this.getRowDragFormatterContent(e)},rowNumber:function(t,e,i,o){return e.tg_row_number||""},tree:function(t,e,i,o){return this.getTreeFormatterContent(t,e)}},K={setFormatter:function(t,e){this.renderType="all";let i=t;if("string"==typeof t){if(this.formatters)return this.formatters[t]=e,this;i={},i[t]=e}return this.customFormatters=i,this},getFormatter:function(t){if(!t)return;const e=this.formatters[t];return"function"==typeof e?e.bind(this):void 0},getDefaultFormatter:function(t){return(Y[t]||Y.string).bind(this)},getSelectFormatterContent:function(t){let e="radio";this.options.selectMultiple&&(e="checkbox");const i=X.getIcon(e);return`
${i}
`},getRowDragFormatterContent:function(t){if(t.tg_frozen)return"";return`
${X.getIcon("drag")}
`},getTreeIndentWidth:function(t,i,o){if(!t)return 0;let n=5;return i||(n+=e.TREE_INDENT),n+=o*e.TREE_INDENT,n},getTreeFormatterContent:function(t,e){const i=this.rowsInfo.isTree,o=e.tg_group,n=this.isEmptyGroup(e);n&&(e.collapsed=!0);const s=e.collapsed,r=d.toNum(e.tg_level),l=this.getTreeIndentWidth(i,o,r),h=[];if(h.push(`
`),o){const t={"tg-tree-icon":!0,"tg-tree-icon-collapsed":s,"tg-tree-icon-expanded":!s,"tg-tree-icon-empty":n},e=X.getIcon("tree"),i=`
${e}
`;h.push(i)}return h.push(`
${t}
`),h.push("
"),h.join("")}},q={renderHeaderTables:function(){this.clearHeaderCache();const t=this.viewColumns,e=this.frozenInfo.columns;this.hasTreeColumn=!1,this.hasSortColumn=!1;let i=[],o=[];for(let n=0,s=t.length;n=e?o.push(s):i.push(s)}if(this.frozenInfo.right){const t=i;i=o,o=t}this.renderHeaderTable(i,this.$headerL),this.renderHeaderTable(o,this.$headerR)},renderHeaderTable:function(t,e){const i=document.createElement("div"),o=["tg-header-table"];this.hasSortColumn&&(o.push("tg-header-sortable"),o.push(`tg-header-sort-${this.options.sortIndicator}`)),i.className=d.classMap(o);const n=t.length;if(n){let e=t[n-1];e&&"tg-column-blank"===e.id&&(e=t[n-2]),t.forEach((t=>{this.renderHeaderItem(t,i,e)}))}e.append(i)},renderHeaderItem:function(t,e,i){const o=t.tg_view_index;if(this.getHeaderCache(o))return;const n=this.getHeaderItemClass(t,i),s=d.styleMap(t.headerStyleMap),r={column:o,class:n,data:t.id};s&&(r.style=s);const l=[this.createColumnHeader(t)];if(this.isColumnResizable(t)){const e=this.createColumnResizing(t);l.push(e)}const h=this.createElement("div",r,l);e.appendChild(h),this.setHeaderCache(o,h),this.setNodeDataCache(h,{rowItem:this.headerRowItem,column:o,columnItem:t,headerNode:h}),t.tg_parent&&this.renderHeaderItem(t.tg_parent,e)},createColumnHeader:function(t){const e={class:this.getHeaderClass(t),style:this.getHeaderStyle(t)},i=[this.createColumnName(t)];if(this.hasSortColumn&&!t.tg_group){const e=this.createColumnSort(t);i.push(e)}return this.createElement("div",e,i)},createColumnName:function(t){const e=["tg-column-name"];t.tg_group&&e.push("tg-header-group-name");const i={class:e.join(" ")};let o=t.name;const n=t.tg_headerFormatter;return"function"==typeof n&&(o=n.call(this,o,this.headerRowItem,t)),"tree"===t.formatter?o=this.createHeaderTreeName(o):t===this.selectColumn&&this.isSelectAllVisible()&&(o=this.createHeaderSelectName()),this.createElement("div",i,o)},createHeaderTreeName:function(t){this.hasTreeColumn=!0;const e=[];if(this.options.collapseAllVisible){const t=X.getIcon("tree"),i=this.createElement("div",{class:"tg-tree-icon tg-tree-icon-all"},t);e.push(i)}else{const t=this.createElement("div",{class:"tg-tree-icon"});e.push(t)}const i=this.createElement("div",{class:"tg-tree-name"},t);e.push(i);return this.createElement("div",{class:"tg-tree"},e)},createHeaderSelectName:function(){const t=X.getIcon("checkbox");return this.createElement("div",{class:"tg-select-icon-all tg-checkbox"},t)},createColumnSort:function(t){let e;return this.isColumnSortable(t)&&(e="h"===this.options.sortIndicator?this.createSortIndicatorH(t):this.createSortIndicatorV(t)),this.createElement("div",{class:"tg-column-sort"},e)},createSortIndicatorH:function(t){const e=X.getIcon("sort-h"),i=[this.createElement("div",{class:"tg-sort-indicator-line"}),this.createElement("div",{class:"tg-sort-indicator-icon"},e)];return this.createElement("div",{class:"tg-sort-indicator"},i)},createSortIndicatorV:function(t){const e=X.getIcon("sort-v"),i=[this.createElement("div",{class:"tg-sort-indicator-icon"},e)];return this.createElement("div",{class:"tg-sort-indicator"},i)},createColumnResizing:function(){return this.createElement("div",{class:"tg-column-resizing"})},getHeaderItemClass:function(t,e){const i=["tg-header-item"];return t.tg_group&&i.push("tg-header-group-item"),t===e&&i.push("tg-header-column-last"),i.push(`tg-c-${t.tg_view_index}`),i.push(`tg-h-${t.tg_layer}`),t.tg_combination&&i.push(`tg-h-${t.tg_combination}`),i.push(d.classMap(t.headerClassMap)),d.classMap(i)},getHeaderClass:function(t){const e=["tg-column-header"];return"tree"===t.formatter&&(e.push("tg-tree-header"),this.rowsInfo.isTree&&e.push("tg-tree-header-indent")),this.isColumnSortable(t)&&e.push(`tg-column-sortable tg-column-sort-${this.options.sortIndicator}`),t.align&&e.push(`tg-align-${t.align}`),e.join(" ")},getHeaderStyle:function(t){const e=[d.styleMap(t.headerStyleMap)],i=t.tg_width;return this.isInvisible(t)||i<=0?e.push("display:none;"):e.push(`width:${i}px;`),e.join("")}},J={renderHeader:function(){this.cssRulesInvalid=!0,this.$headerL.empty(),this.$headerR.empty(),this.resetCssDisplay(),this.renderHeaderTables(),this.renderHeaderSort(),this.headerCreated=!0,this.trigger(y.onHeaderUpdated,{node:this.$headerFrame.get(0)})},initHeaderLayerHeight:function(){this.updateScrollPaneHiddenState(),this.resetCssDisplay(),this.viewAllColumns.forEach((t=>{this.updateColumnHeaderHeight(t)})),this.resetCssDisplay("none"),this.updateHeaderLayerHeight()},updateHeaderLayerHeight:function(){const t={},e=this.columnsInfo.maxLevel;for(let i=0;i<=e;i++)t[i]=0;const i=[];this.viewAllColumns.forEach((function(e){if(e.tg_combination)i.push(e);else{const i=e.tg_height,o=e.tg_layer;t[o]=Math.max(t[o],i)}})),i.forEach((function(e){let i=e.tg_height;const o=e.tg_combination.split(""),n=o.pop();o.forEach((function(e){i-=t[e]||0})),t[n]=Math.max(t[n],i)}));const o=JSON.stringify(t);this.previousHeaderLayerHeight!==o&&(this.previousHeaderLayerHeight=o,this.headerLayerHeight=t,this.cssRulesInvalid=!0)}};var Q=i(915);const Z={create:function(t){this.id=d.uid(4,"tg-"),d.isObject(t)||(t={container:t}),this.constructorOptions=t,this.createCache(),this.createView(t.container)},createView:function(t){this.createHolder(t),this.$holder?(this.createGlobalStyle(),this.createContainer()):console.error("ERROR: Grid requires a container")},createHolder:function(t){const e=w(t);if(!e.length)return;this.$holder=e,this.$holder.empty(),this.holder=this.$holder.get(0);const i=this.holder.getRootNode();this.shadowRoot=null,i&&i.host&&(this.shadowRoot=i)},createGlobalStyle:function(){const t=this.shadowRoot||document.head;if(t.querySelector(`style[context="${e.ID}"]`))return;const i=document.createElement("style");i.setAttribute("context",e.ID),i.innerHTML=Q.A.toString(),t.appendChild(i)},createContainer:function(){return this.$container=w('
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n').appendTo(this.$holder),this.$container.attr("id",this.id),this.$container.addClass(`${e.NS} ${this.id}`),this.container=this.$container.get(0),d.setInstance(this.container,this),this.$headerFrame=this.$container.find(".tg-header-frame"),this.$paneHL=this.$headerFrame.find(".tg-pane-header-left"),this.$paneHR=this.$headerFrame.find(".tg-pane-header-right"),this.$headerL=this.$paneHL.find(".tg-header-left"),this.$headerR=this.$paneHR.find(".tg-header-right"),this.$header=w().add(this.$headerL).add(this.$headerR),this.$bodyFrame=this.$container.find(".tg-body-frame"),this.$paneTL=this.$bodyFrame.find(".tg-pane-top-left"),this.$paneTR=this.$bodyFrame.find(".tg-pane-top-right"),this.$paneBL=this.$bodyFrame.find(".tg-pane-bottom-left"),this.$paneBR=this.$bodyFrame.find(".tg-pane-bottom-right"),this.$bodyTL=this.$paneTL.find(".tg-body-top-left"),this.$bodyTR=this.$paneTR.find(".tg-body-top-right"),this.$bodyBL=this.$paneBL.find(".tg-body-bottom-left"),this.$bodyBR=this.$paneBR.find(".tg-body-bottom-right"),this.$body=w().add(this.$bodyTL).add(this.$bodyTR).add(this.$bodyBL).add(this.$bodyBR),this.$columnLineContainer=this.$container.find(".tg-column-line"),this.$columnLineItem=this.$columnLineContainer.find(".tg-column-line-item"),this.$columnLineItemL=this.$columnLineContainer.find(".tg-column-line-l"),this.$columnLineItemR=this.$columnLineContainer.find(".tg-column-line-r"),this}},tt={initColumnsHandler:function(){this.columns=this.data.columns,this.columns.forEach(((t,e)=>{t&&"object"==typeof t||(this.columns[e]={})}));const t=this.getPrivateColumns();this.columnsInfo=this.initTreeInfo(t,this.frozenInfo.column);const e=[],i=[],o=(t,n)=>{if(!d.isList(t))return;let s,r=0;t.forEach((t=>{if(!this.isInvisible(t))if(t.tg_group){if(this.isEmptyGroup(t))return;i.push(t),o(t.subs,t)}else t.tg_list_index=r,r+=1,t.tg_list_last=!1,s=t,e.push(t)})),s&&(s.tg_list_last=!0)};o(t),e.forEach((t=>{this.initColumnItemHandler(t)})),i.forEach((t=>{this.initColumnGroupHandler(t)}));const n=[].concat(e).concat(i);this.initViewList(n,((t,e)=>{})),this.viewColumns=e,this.viewGroupColumns=i,this.viewAllColumns=n,this.initHeaderHandler(t),this.initSortColumn()},getPrivateColumns:function(){const t=this.options;this.selectColumn=t.selectColumn,this.rowDragColumn=t.rowDragColumn,this.rowNumberColumn=t.rowNumberColumn,this.blankColumn=t.blankColumn;let e=[];const i=()=>{t.selectVisible&&e.push(this.selectColumn),t.rowDragVisible&&e.push(this.rowDragColumn),t.rowNumberVisible&&(this.rowNumberColumn.width=t.rowNumberWidth,e.push(this.rowNumberColumn))};if(this.frozenInfo.right){const t=this.frozenInfo.column;this.columns.forEach(((o,n)=>{e.push(o),n===t&&i()}))}else i(),e=e.concat(this.columns);return e.push(this.blankColumn),e},setColumns:function(t){this.data.columns=d.toList(t),this.rerender()},getColumns:function(){return this.columns},getViewColumns:function(t){return t?this.viewAllColumns:this.viewColumns},initColumnItemHandler:function(t){this.initColumnProps(t),this.initColumnFormatter(t),this.initColumnWidth(t)},initColumnGroupHandler:function(t){this.initColumnFormatterByName(t,"headerFormatter","header")},initColumnProps:function(t){const e=this.options.columnTypes;if(!d.hasOwn(t,"type")){const i=e[t.id];"string"==typeof i&&(t.type=i)}let i=this.options.columnProps;const o=e[t.type];o&&"object"==typeof o&&(i=d.merge(i,o));for(const e in i)d.hasOwn(t,e)||(t[e]=i[e])},initColumnFormatter:function(t){this.initColumnFormatterByName(t,"headerFormatter","header");let e=t.type;const i=t.formatter;"string"==typeof i&&(e=i),this.initColumnFormatterByName(t,"formatter",e)},initColumnFormatterByName:function(t,e,i){let o=t[e];"function"!=typeof o?(o=this.getFormatter(i),t[`tg_${e}`]=o||this.getFormatter("string")):t[`tg_${e}`]=o.bind(this)},initColumnWidth:function(t){if(t!==this.blankColumn)return d.isNum(t.width)&&t.width>=0?(t.tg_width=t.width,t.minWidth=Math.min(t.minWidth,t.tg_width),void(t.maxWidth=Math.max(t.maxWidth,t.tg_width))):void this.initColumnWidthByName(t);t.tg_width=0},initColumnWidthByName:function(t){const e=this.getComputedColumnWidth(t);d.isNum(e)&&(t.tg_width=e)},getComputedColumnWidth:function(t){const e=t.name||"",i=d.getCharLen(e);let o=Math.round(10*i);return o>103&&(o=Math.max(103,Math.round(10*i/2)),o>133&&(o=Math.max(133,Math.round(10*i/3)),o>163&&(o=Math.max(163,Math.round(10*i/4))))),d.clamp(o,t.minWidth,t.maxWidth)},initSortColumn:function(){this.sortColumn=null;const t=this.options,e=t.sortField;if(!e)return;const i=this.getColumnItemById(e);return i&&this.isColumnSortable(i)?(d.hasOwn(i,"sortAsc")||(i.sortAsc=t.sortAsc),this.sortColumn=i,this):void 0}},et={initHeaderHandler:function(t){this.initHeaderRowItem(),this.viewGroupColumns.reverse(),this.initGroupColumnsWidth(),this.initGroupColumnsLayer(t)},initHeaderRowItem:function(){this.headerRowItem={tg_index:-1,tg_view_index:-1},this.viewAllColumns.forEach((t=>{d.hasOwn(t,"id")&&(this.headerRowItem[t.id]=t.name)}))},initGroupColumnsWidth:function(){this.viewGroupColumns.forEach((t=>{let e=0;t.subs.forEach((t=>{this.isInvisible(t)||(e+=t.tg_width)})),t.tg_width=e}))},initGroupColumnsLayer:function(t){const e=this.columnsInfo.maxLevel;this.viewColumns.forEach((function(t){t.tg_layer=e,t.tg_parent&&(t.tg_parent.tg_layer=e-1)})),this.viewGroupColumns.forEach((function(t){const e=t.tg_layer,i=t.tg_parent;if(i){let t=e-1;d.isNum(i.tg_layer)&&(t=Math.min(t,i.tg_layer)),i.tg_layer=t}})),this.initColumnRowspanHandler(t,0)},initColumnRowspanHandler:function(t,e){t.forEach((t=>{const i=this.initColumnCombinationHandler(t,e);t.tg_group&&this.initColumnRowspanHandler(t.subs,e+i)}))},initColumnCombinationHandler:function(t,e){const i=[],o=t.tg_layer;for(;e<=o;)i.push(e),e+=1;i.reverse();const n=i.length;let s="";return n>1&&(s=i.join("")),t.tg_combination=s,n}},it={},ot={name:"",minWidth:81,maxWidth:300},nt=function(t){return null==t},st=function(t,e){const i=nt(t),o=nt(e);return i&&o?0:i?1:o?-1:void 0},rt=function(t,e){return t.tg_index>e.tg_index?1:-1},lt=function(t,e){return rt(t,e)},ht=function(t,e){if("string"==typeof t&&"string"==typeof e){const i=t.toUpperCase(),o=e.toUpperCase();if(i!==o)return i>o?-1:1}return t>e?-1:1},at=function(t,e,i,o){return t?-1:e?1:ht(i,o)},ct=function(t,e){const i="number"==typeof t,o="number"==typeof e;return i&&o?t>e?-1:1:at(i,o,t,e)},dt=function(t,e){const i=new Date(t),o=new Date(e),n=d.isDate(i),s=d.isDate(o);if(n&&s){const t=i.getTime(),e=o.getTime();if(t===e)return;return t>e?-1:1}return at(n,s,t,e)},ut=function(t,e){const i="boolean"==typeof t,o="boolean"==typeof e;return i&&o?t>e?-1:1:at(i,o,t,e)},gt=function(t,e,i,o){const n=t[i.sortField],s=e[i.sortField],r=st(n,s);if("number"==typeof r)return 0===r?lt(t,e):i.sortBlankFactor*r;if(n!==s&&"function"==typeof o){const t=o(n,s);if(d.isNum(t))return i.sortFactor*t}return lt(t,e)},ft={blankValue:st,equal:lt,index:rt,value:gt,diffType:at,string:function(t,e,i){return gt(t,e,i,ht)},stringValue:ht,number:function(t,e,i){return gt(t,e,i,ct)},numberValue:ct,date:function(t,e,i){return gt(t,e,i,dt)},dateValue:dt,boolean:function(t,e,i){return gt(t,e,i,ut)},booleanValue:ut};const pt={initOptionsHandler:function(){return this.options=this.generateOptions(),this.initOptionsFormatters(),this.initOptionsSort(),this.initOptionsFrozen(),this.initOptionsScrollbar(),this.initOptionsContainer(),this.initBindWindowResize(),this.initBindContainerResize(),this},generateOptions(){const t={className:e.NS,theme:e.ID,headerVisible:!0,rowHeight:32,rowFilter:null,rowFilteredSort:null,rowNotFound:"",rowMoveCrossLevel:!0,rowCacheLength:0,rowProps:it,columnTypes:{tree:{type:"tree",formatter:"tree",width:230,minWidth:120,maxWidth:810},number:{type:"number",align:"right"},date:{type:"date",align:"right"},name:"tree"},columnCacheLength:0,columnProps:ot,collapseAllOnInit:null,collapseAllVisible:!0,selectAllOnInit:null,selectVisible:!1,selectAllVisible:!0,selectMultiple:!0,selectColumn:{private:!0,id:"tg-column-select",name:"",formatter:"select",headerClassMap:"tg-header-select",classMap:"tg-cell-select",width:36,align:"center",resizable:!1,sortable:!1,exportable:!1},rowDragCrossLevel:!0,rowDragVisible:!1,rowDragColumn:{private:!0,id:"tg-column-row-drag",name:"",formatter:"rowDrag",headerClassMap:"tg-header-row-drag",classMap:"tg-cell-row-drag",align:"center",width:36,resizable:!1,sortable:!1,exportable:!1},rowNumberWidth:36,rowNumberFilter:null,rowNumberVisible:!1,rowNumberColumn:{private:!0,id:"tg-column-row-number",name:"",formatter:"rowNumber",headerClassMap:"tg-header-row-number",classMap:"tg-cell-row-number",align:"center",maxWidth:100,sortable:!1,exportable:!1},blankColumn:{private:!0,id:"tg-column-blank",name:"",formatter:"blank",headerClassMap:"tg-header-blank",classMap:"tg-cell-blank",width:0,minWidth:0,maxWidth:4096,resizable:!1,sortable:!1,exportable:!1},sortField:"",sortAsc:!0,sortBlankValueBottom:!0,sortComparers:ft,sortOnInit:!1,sortIndicator:"h",highlightKeywords:{textKey:"tg_text_",textGenerator:null,highlightKey:"tg_highlight_",highlightPre:"",highlightPost:""},frozenRow:-1,frozenRowMax:10,frozenRowHoverable:!1,frozenBottom:!1,frozenColumn:-1,frozenColumnMax:10,frozenRight:!1,scrollbarSize:12,scrollbarSizeH:null,scrollbarSizeV:null,scrollbarRound:!1,scrollbarFade:!1,scrollbarFadeTimeout:1e3,scrollbarType:"auto",scrollPaneMinWidth:30,scrollPaneGradient:30,autoHeight:!1,textSelectable:!1,bindWindowResize:!1,bindContainerResize:!1,cellResizeObserver:null},i=this.generateThemeOptions();return d.merge(t,i,this.constructorOptions,this.customOptions,this.dataOptions)},generateThemeOptions(){const t=this.pickOptions("theme").pop();if(t)return this.getThemeOptions(t)},pickOptions(t){return[this.constructorOptions,this.customOptions,this.dataOptions].map((e=>e&&e[t])).filter((t=>t))},initOptionsFormatters(){let t;const e=this.pickOptions("formatters");e.length&&(t=d.merge.apply(null,e)),this.formatters=d.merge(Y,t,this.customFormatters),this.nullFormatter=this.getFormatter("null")},initOptionsSort(){"v"!==this.options.sortIndicator&&(this.options.sortIndicator="h")},initOptionsFrozen:function(){const t=this.options;this.frozenInfo={column:-1,row:-1,columns:0,rows:0,bottom:Boolean(t.frozenBottom),right:Boolean(t.frozenRight)};let e=d.toNum(t.frozenColumn,!0);e=d.clamp(e,-1,t.frozenColumnMax),e>-1&&!this.frozenInfo.right&&(t.selectVisible&&(e+=1),t.rowDragVisible&&(e+=1),t.rowNumberVisible&&(e+=1)),this.frozenInfo.column=e,e>-1?this.frozenInfo.columns=e+1:(this.frozenInfo.columns=0,this.frozenInfo.right=!1);let i=d.toNum(t.frozenRow,!0);i=d.clamp(i,-1,t.frozenRowMax),this.frozenInfo.row=i,i>-1?this.frozenInfo.rows=i+1:(this.frozenInfo.rows=0,this.frozenInfo.bottom=!1)},initOptionsScrollbar:function(){const t=this.options;("auto"===t.scrollbarType&&d.isTouchDevice()||["touch","mobile"].includes(t.scrollbarType))&&(t.scrollbarFade=!0,t.scrollbarSize=6,t.scrollbarRound=!0);const e=d.toNum(t.scrollbarSize);this.scrollbarSizeH=e,d.isNum(t.scrollbarSizeH)&&(this.scrollbarSizeH=t.scrollbarSizeH),this.scrollbarSizeV=e,d.isNum(t.scrollbarSizeV)&&(this.scrollbarSizeV=t.scrollbarSizeV)},initOptionsContainer:function(){this.$container.attr("id",this.id);const t=this.options;this.$container.removeClass();const i=[e.NS,this.id,`tg-${t.theme}`,t.className];t.textSelectable||i.push("tg-text-unselectable"),d.isTouchDevice()&&i.push("tg-touch-device"),this.$container.addClass(d.classMap(i))},setTextSelectable:function(t){this.options.textSelectable&&(t?this.$container.removeClass("tg-text-unselectable"):this.$container.addClass("tg-text-unselectable"))}},mt={initBindWindowResize:function(){this.unbindWindowResize(),this.options.bindWindowResize&&(this.windowResizeEvents={resize:{handler:t=>{this.resize()}}},d.bindEvents(this.windowResizeEvents,window))},unbindWindowResize:function(){d.unbindEvents(this.windowResizeEvents)},createResizeObserver:function(t){if("undefined"==typeof ResizeObserver)return console.error("ERROR: This browser does not support ResizeObserver"),{observe:()=>{},unobserve:()=>{},disconnect:()=>{}};return new ResizeObserver((e=>{t.call(this,e)}))},initBindContainerResize:function(){this.unbindContainerResize(),this.options.bindContainerResize&&this.holder&&(this.resizeObserver=this.createResizeObserver((t=>{Boolean(this.holder.offsetWidth||this.holder.offsetHeight||this.holder.getClientRects().length)&&this.resize()})),this.resizeObserver.observe(this.holder))},unbindContainerResize:function(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}},bt={initRowsHandler:function(){this.rows=this.data.rows,this.rowsInfo=this.initTreeInfo(this.rows,this.frozenInfo.row)},getRows:function(){return this.rows},getViewRows:function(){return this.viewRows},createViewRows:function(){this.initRowFilterHandler();const t=[],e=this.getRowNumberFilter();let i=1;const o=(t,o)=>{if(e.call(this,t,o))return t.tg_row_number=i,void(i+=1);t.tg_row_number=""},n=(e,i,s)=>{if(!d.isList(e))return;let r,l=0;e.forEach((e=>{if(this.isInvisible(e))return;e.tg_list_index=l,l+=1,e.tg_list_last=!1,r=e,this.gridRowItemHandler(e),o(e,l),s||t.push(e);const i=s||e.tg_group&&e.collapsed;n(e.subs,e,i)})),r&&(r.tg_list_last=!0)};n(this.rows);let s,r=0;return this.initViewList(t,((t,e)=>{t.tg_top=r,r+=this.getRowHeight(t),t.tg_group_line=!1,t.collapsed&&(t.tg_group_line=!0),s&&(t.tg_group||t.tg_level{if(e.tg_invisible)return;const n=!t.call(this,e,i,o);if(e.tg_filtered=n,!n){let t=e;for(;t.tg_parent;)t.tg_parent.tg_filtered=!1,t=t.tg_parent}})),this.sortColumn)return;let e=this.options.rowFilteredSort;if("function"==typeof e&&(e=e.call(this)),!e)return;"string"==typeof e&&(e={sortField:e,sortAsc:this.options.sortAsc});const i=e.sortField||e.id;i&&this.sortRows(i,e)},highlightKeywordsFilter:function(t,e,i){const{textKey:o,textGenerator:n,highlightKey:s}=this.options.highlightKeywords;if(e.forEach((e=>{t[`${s}${e}`]=null})),!i)return!0;const r=`${i}`.trim().toLowerCase().split(/\s+/g).filter((t=>t));if(!r.length)return!0;let l=!1;const h=(e,i)=>(/<\/?[a-z][\s\S]*>/i.test(e)&&(e=((e,i)=>{const n=`${o}${i}`,s=t[n];if(s)return s;const r=document.createElement("div");r.innerHTML=e;const l=r.innerText;return t[n]=l,l})(e,i)),(t=>{const e=t.toLowerCase();let i=0;for(const t of r){const o=e.indexOf(t,i);if(-1===o)return;i=o+t.length}return!0})(e));let a=function(t,e){return t[e]};return"function"==typeof n&&(a=n),e.forEach((e=>{const i=a(t,e);if(null==i)return;const o=`${i}`.trim();if(!o)return;const n=h(o,e);n&&(t[`${s}${e}`]=n,l=!0,this.highlightKeywords=r)})),l},highlightKeywordsHandler:function(){const{highlightCells:t}=this.renderSettings;if(!t.length)return;const e=this.highlightKeywords;e&&(this.asyncHighlightKeywords||(this.asyncHighlightKeywords=d.debounce(this.highlightKeywordsSync,10)),this.asyncHighlightKeywords.apply(this,[t,e]))},highlightKeywordsSync:function(t,e){t.forEach((t=>{const i=Array.from(t.querySelectorAll("svg")).concat(Array.from(t.querySelectorAll("textarea"))),o=document.createTreeWalker(t,NodeFilter.SHOW_TEXT,(t=>{if(i.length)for(const e of i)if(e.contains(t))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT})),n=[];let s=o.nextNode();for(;s;)n.push(s),s=o.nextNode();n.length&&this.highlightTextNodes(n,e)}))},highlightTextNodes:function(t,e){const{highlightPre:i,highlightPost:o}=this.options.highlightKeywords;let n=0;const s=()=>(n>=e.length&&(n=0),e[n++]);let r=s();t.forEach((t=>{const e=t.textContent,n=e.toLowerCase(),l=[];let h=0;const a=e.length;let c=!1;for(;h{if(e.selected){if(t)return void(e.selected=!1);t=e}}))}const t=this.options.selectAllOnInit;!0!==t?!1===t&&this.updateAllRowsSelected(!1):this.updateAllRowsSelected(!0)},updateAllRowsSelected:function(t){this.forEachSelectableRow((e=>{e.selected=t}))},initCollapseAllOnInitHandler:function(){const t=this.options.collapseAllOnInit;!0!==t?!1===t&&this.updateAllRowsCollapsed(!1):this.updateAllRowsCollapsed(!0)},getToBeAddedItemList:function(t){const e=[];return d.toList(t).forEach((t=>{t&&"object"==typeof t?e.push(t):void 0!==t&&e.push({name:t})})),e},getToBeAddedParentSubs:function(t,e){return t?(t.subs||(t.subs=[]),t.subs):e},getToBeAddedPositionIndex:function(t,e){const i=e.length;return d.isNum(t)&&t>=0&&t<=i?Math.round(t):i},generateDataSnapshot:function(t){if(!t||"object"!=typeof t)return t;const e=this.cleanTreeList(t.rows),i=this.cleanTreeList(t.columns);return this.convertNumberType(e,i),t.rows=e,t.columns=i,t},cleanTreeList:function(t){if(!d.isList(t))return[];const e=(t,i)=>{i.forEach((i=>{if(!i||"object"!=typeof i)return void t.push({});const o=this.getItemSnapshot(i),n=i.subs;Array.isArray(n)&&(o.subs=[],e(o.subs,n)),t.push(o)}))},i=[];return e(i,t),i},convertNumberType:function(t,e){const i=[];d.forEachTree(e,(function(t){"number"===t.type&&t.id&&i.push(t.id)})),i.length&&d.forEachTree(t,(function(t){i.forEach((function(e){t[e]=d.convertNum(t[e])}))}))}},vt={setDefaultLoading:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t)return;const i=t.style;e.size&&(i.width=e.size,i.height=e.size),e.color&&(i.color=e.color),e.size||e.color||t.removeAttribute("style"),e.fast?t.classList.add("tg-loading-fast"):t.classList.remove("tg-loading-fast")},getDefaultLoading:function(t){return this.setDefaultLoading(this.$defaultLoading,t),this.$defaultLoading},getLoadingHolder:function(){return this.$container?this.$container.find(".tg-loading"):w()},setLoading:function(t){if(!this.$container)return this;this.$defaultLoading||(this.$defaultLoading=this.$container.find(".tg-loading-default").get(0));const e=this.getLoadingHolder().get(0);return"function"==typeof t&&(t=t.call(this,e)),d.isObject(t)&&(t=this.getDefaultLoading(t)),t||(t=this.getDefaultLoading()),this.renderNodeContent(e,t),this},showLoading:function(){return this.getLoadingHolder().show(),this},hideLoading:function(){return this.getLoadingHolder().hide(),this}},Ht={showMask:function(t){if(!this.hasMask||t){const e=this.$container.find(".tg-mask"),i=e.get(0);if(t&&i){const e=d.styleMap(t);e&&(i.style.cssText=e)}e.show(),this.hasMask=!0}return this},hideMask:function(){return this.hasMask&&(this.$container.find(".tg-mask").hide(),this.hasMask=!1),this}},Ct={renderNodeContent:function(t,e){if(t){if(e&&e.nodeType)return this.emptyNode(t),void t.appendChild(e);if(Array.isArray(e))return this.emptyNode(t),void e.forEach((e=>{e&&e.nodeType&&t.appendChild(e)}));void 0===e&&(e=""),t.innerHTML=e}},emptyNode:function(t){if(t)for(;t.firstChild;)t.removeChild(t.firstChild)},removeNode:function(t){t&&t.parentNode&&t.parentNode.removeChild(t)},appendNode:function(t,e){t&&e&&t.appendChild(e)},createElement:function(t,e,i){const o=document.createElement(t);e&&Object.keys(e).forEach((function(t){const i=e[t];void 0!==i&&o.setAttribute(t,i)})),d.isArray(i)||(i=[i]);let n="";return i.forEach((function(t){t&&t.nodeType?o.appendChild(t):void 0!==t&&(n+=t)})),n&&(o.innerHTML=n),o},find:function(t,e){return w(e||this.$container).find(t)},getRowNodes:function(t){const e=this.getRowItem(t);if(e)return this.getRowNodesByIndex(e.tg_view_index)},getCellNode:function(t,e){const i=this.getRowItem(t);if(!i)return;const o=this.getColumnItem(e);return o?this.getCellNodeByIndex(i.tg_view_index,o.tg_view_index):void 0},getHeaderItemNode:function(t){const e=this.getColumnItem(t);if(e)return this.getHeaderCache(e.tg_view_index)},getColumnHeaderNode:function(t){const e=this.getHeaderItemNode(t);if(e)return e.querySelector(".tg-column-header")}},yt={render:function(){this.asyncRender||(this.asyncRender=d.microtask(this.renderSync)),this.asyncRender.apply(this,arguments)},renderSync:function(){this.renderStartedTimestamp=Date.now();const t=this.generateRenderSettings.apply(this,arguments);return this.renderSettings=t,"all"===t.type?(this.flushBody(),this.initHandler(),this.renderHeader(),this.updateViewRowsAndSize(),this.renderBody(),this):"columns"===t.type?(this.flushBody(),this.initColumnsHandler(),this.renderHeader(),this.updateViewRowsAndSize(),this.renderBody(),this):"rows"===t.type?(this.updateViewRowsAndSize(),this.renderBody(),this):"rows_cache"===t.type?(this.cssRulesInvalid=!0,this.updateViewRowsAndSize(),this.updateRowCacheTopAndHeight(),this.renderBody(),this):"resize"===t.type?(this.resizeHandler(),this.renderBody(),this):(this.renderBody(),this)},generateRenderSettings:function(t){const e={type:this.renderType,scrollLeft:null,scrollTop:null,scrollColumn:null,scrollRow:null,highlightCells:[]};return"string"==typeof t?e.type=t:t&&Object.assign(e,t),this.headerCreated||(e.type="all"),e},renderBody:function(){this.scrollOnInit(),this.scrollTopOffset=this.scrollPane.getScrollTopOffset();const t=this.getViewport();return this.viewport=t,this.flushWithViewport(),this.previousScrollTopOffset!==this.scrollTopOffset&&(this.previousScrollTopOffset=this.scrollTopOffset,this.updateRowCacheTopOffset()),this.renderRows(t.rows),this.renderCells(t.rows,t.columns),this.renderUpdatedTimestamp=Date.now(),this.renderDuration=this.renderUpdatedTimestamp-this.renderStartedTimestamp,this.trigger(y.onUpdated,t),this.firstUpdated||(this.firstUpdated=!0,this.trigger(y.onFirstUpdated,t)),this.layoutEventHandler(),this.resizeEventHandler(),this.highlightKeywordsHandler(),this.renderSettings=null,this.renderType=null,this},rerender:function(){return this.render("all"),this}},Rt={resize:function(){return this.asyncResize||(this.asyncResize=d.throttle(this.resizeSync,100)),this.asyncResize.apply(this,arguments),this},resizeSync:function(){return this.headerCreated?(this.resizeHolderHandler.apply(this,arguments),this.firstUpdated&&this.isHolderInvisible()||this.render("resize"),this):this},resizeHolderHandler(t,e){if(0!==arguments.length)return 1===arguments.length?t&&"object"==typeof t?void this.$holder.css(t):void this.$holder.css({width:t}):void this.$holder.css({width:t,height:e})},isHolderInvisible(){const t=this.$holder.width(),e=this.$holder.height();return!t||!e},resizeHandler:function(){this.containerWidth=this.$container.width(),this.containerHeight=this.$container.height(),this.headerWidth=this.containerWidth,this.bodyWidth=this.containerWidth,this.updateTotalColumnsWidth(),this.resizeHeaderHandler(),this.resizeBodyHandler()},layoutEventHandler:function(){const t=this.previousLayout||{},e={headerWidth:this.headerWidth,headerHeight:this.headerHeight,bodyWidth:this.bodyWidth,bodyHeight:this.bodyHeight,scrollbarWidth:this.getScrollbarWidth(),scrollbarHeight:this.getScrollbarHeight()};Object.values(e).join("")!==Object.values(t).join("")&&(this.previousLayout=e,this.trigger(y.onLayout,d.merge({previous:t},e)))},resizeEventHandler:function(){const t=this.previousSize||{},e={width:this.containerWidth,height:this.containerHeight};Object.values(e).join("")!==Object.values(t).join("")&&(this.previousSize=e,this.trigger(y.onResize,d.merge({previous:t},e)))},resizeHeaderHandler:function(){this.initHeaderLayerHeight();const t=this.options;t.autoHeight&&this.viewRows.length>5e3&&(t.autoHeight=!1),this.headerHeight=0,t.headerVisible&&(this.containerHeight>0||t.autoHeight)&&this.updateHeaderTableHeight(),this.$headerFrame.css({width:this.headerWidth,height:this.headerHeight})},updateHeaderTableHeight:function(){let t=0;Object.keys(this.headerLayerHeight).forEach((e=>{t+=this.headerLayerHeight[e]}));const e=this.$headerL.find(".tg-header-table"),i=this.$headerR.find(".tg-header-table");e.css({height:t}),i.css({height:t}),this.headerHeight=t},resizeBodyHandler:function(){this.updateScrollState(),this.bodyHeight=this.containerHeight-this.headerHeight,this.$bodyFrame.css({width:this.bodyWidth,height:this.bodyHeight}),this.updatePaneWidth(),this.updatePaneHeight(),this.updateCanvasWidth(),this.updateCanvasHeight(),this.updateScrollPane(),this.updateCssRules()},updatePaneWidth:function(){let t=this.bodyWidth,e=0;if(this.frozenInfo.columns){const i=this.getScrollbarWidth();this.frozenInfo.right?(e=this.columnsWidthR+i,t=this.bodyWidth-e):(t=this.columnsWidthL,e=this.bodyWidth-t),this.scrollPaneHidden&&(this.frozenInfo.right?(t<=0&&(t=0),e=Math.max(0,this.bodyWidth-t)):(e3&&void 0!==arguments[3])||arguments[3];const n=this.getToBeAddedItemList(t);if(!n.length)return!1;let s;if(null!=e&&(s=this.getRowItem(e),!s))return!1;const r=this.getToBeAddedParentSubs(s,this.rows),l=this.getToBeAddedPositionIndex(i,r),h=[l,0].concat(n);r.splice.apply(r,h),this.initRowsHandler(),s?(s.collapsed=!1,this.flushRowFrom(s.tg_view_index+l)):this.flushRowFrom(l),this.onNextUpdated((function(){this.trigger(y.onRowAdded,n)}));const a={type:"rows"};return o&&(a.scrollRow=n[n.length-1]),this.render(a),!0},deleteRow:function(t){const e=d.toList(t),i=[];if(e.forEach((t=>{const e=this.getRowItem(t);e&&i.push(e)})),!i.length)return!1;const o=this.removeRowsHandler(i);this.initRowsHandler();const n=this.getRemovedMinIndex(o);return this.flushRowFrom(n),this.onNextUpdated((function(){this.trigger(y.onRowRemoved,i)})),this.render("rows"),!0},getRemovedMinIndex:function(t){let e=0;const i=t[t.length-1];if(this.isInvisible(i))return e;e=i.tg_view_index,e>0&&(e-=1);let o=i.tg_parent;for(;o;)o.collapsed&&(e=o.tg_view_index),o=o.tg_parent;return e},removeRowsHandler:function(t){const e=[].concat(t);e.sort((function(t,e){return e.tg_index-t.tg_index}));const i=[];return e.forEach((t=>{this.getRowParentSubs(t).splice(t.tg_sub_index,1),i.push(t)})),i}},Tt={renderCollapseAllState:function(){this.hasTreeColumn&&(this.asyncRenderCollapseAllState||(this.asyncRenderCollapseAllState=d.microtask(this.renderCollapseAllStateSync)),this.asyncRenderCollapseAllState.apply(this,arguments))},renderCollapseAllStateSync:function(){const t=this.$header.find(".tg-tree-header");this.rowsInfo.isTree?t.addClass("tg-tree-header-indent"):t.removeClass("tg-tree-header-indent"),this.renderCollapseAllIcon()},checkCollapseAllState:function(t){if(t!==this.allRowsCollapsed){if(t){let t=0;const e=this.rows.length;for(;t{if(e.tg_group&&e.tg_subs_length&&e.collapsed)return t=!0,!1})),t)return}this.allRowsCollapsed=t,this.renderCollapseAllIcon()}},expandAllRows:function(){return this.renderAllRowsCollapsed(!1)},collapseAllRows:function(){return this.renderAllRowsCollapsed(!0)},toggleAllRows:function(){return this.allRowsCollapsed?this.expandAllRows():this.collapseAllRows()},renderAllRowsCollapsed:function(t){const e=this.updateAllRowsCollapsed(t);return e.length?(this.flushBody(),this.onNextUpdated((()=>{this.renderCollapseAllIcon(),t?this.trigger(y.onRowCollapsed,e):this.trigger(y.onRowExpanded,e)})),this.render("rows"),this):this},updateAllRowsCollapsed:function(t){this.allRowsCollapsed=t;const e=[];return this.forEachRow((i=>{i.subs&&i.tg_subs_length&&this.isCollapsedChanged(i,t)&&(i.collapsed=t,e.push(i))})),e},expandRow:function(t){const e=this.getRowItem(t);return e?this.isEmptyGroup(e)?(this.trigger(y.onRowSubsRequest,e),this):this.isCollapsedChanged(e,!1)?(e.collapsed=!1,this.flushRowFrom(e.tg_view_index),this.renderCollapseIcon(e),this.onNextUpdated((()=>{this.checkCollapseAllState(!1),this.trigger(y.onRowExpanded,e)})),this.render("rows"),this):this:this},collapseRow:function(t){const e=this.getRowItem(t);return e&&e.subs&&e.tg_subs_length&&this.isCollapsedChanged(e,!0)?(e.collapsed=!0,this.flushRowFrom(e.tg_view_index),this.renderCollapseIcon(e),this.onNextUpdated((()=>{this.checkCollapseAllState(!0),this.trigger(y.onRowCollapsed,e)})),this.render("rows"),this):this},toggleRow:function(t){const e=this.getRowItem(t);return e?(e.collapsed?this.expandRow(e):this.collapseRow(e),this):this},expandRowLevel:function(t){t=d.toNum(t,!0);const e=[],i=[];return this.forEachRow((o=>{o.subs&&o.tg_subs_length&&(o.tg_level<=t?this.isCollapsedChanged(o,!1)&&(o.collapsed=!1,i.push(o)):this.isCollapsedChanged(o,!0)&&(o.collapsed=!0,e.push(o)))})),e.length||i.length?(this.flushBody(),this.onNextUpdated((()=>{e.length&&this.trigger(y.onRowCollapsed,e),i.length&&this.trigger(y.onRowExpanded,i)})),this.render("rows"),this):this},renderCollapseAllIcon:function(){if(!this.options.collapseAllVisible||!this.hasTreeColumn)return;const t=this.$header.find(".tg-tree-icon-all");this.renderTreeIcon(t,this.allRowsCollapsed)},renderCollapseIcon:function(t){if(!this.headerCreated)return;const e=this.getRowNodesByIndex(t.tg_view_index);if(!e)return;const i=e.find(".tg-tree-icon");this.renderTreeIcon(i,t.collapsed)},renderTreeIcon:function(t,e){t&&(e?t.removeClass("tg-tree-icon-expanded").addClass("tg-tree-icon-collapsed"):t.removeClass("tg-tree-icon-collapsed").addClass("tg-tree-icon-expanded"))}},Et={rowDragStartHandler:function(t,e){this.removeSortColumn();const i=e.rowItem;if(!i)return;const o=this.getRowNodesByIndex(i.tg_view_index);if(!o)return;e.dragCloneNodes=this.getRowDragCloneNodes(o),e.dropPlaceholder=this.getRowDropPlaceholder(o),e.dragStartTop=this.getRowTop(i),e.dragRowHeight=this.getRowHeight(i),e.dragStartScrollTop=this.scrollTop,e.dragMaxScrollTop=this.scrollPane.getMaxScrollTop();const n={e:t,rowItem:i};this.trigger(y.onRowDragged,n),this.isDefaultPrevented(n)||("touch"===e.type&&d.preventDefault(e.e),this.setRowState(i,"dragging"),this.setTextSelectable(!1),this.rowDropListHandler(e),this.updateDragCloneRowPosition(e))},rowDragMoveHandler:function(t,e){"touch"===e.type&&d.preventDefault(e.e),this.updateDragCloneRowPosition(e),this.updateDragPlaceholderPosition(e),this.rowDragAutoScrollHandler(e)},rowDragEndHandler:function(t,e){"touch"===e.type&&(this.protectedItem=null,d.preventDefault(e.e)),this.autoScrollStop(),this.setRowState(e.rowItem,"dragging",!1),this.setTextSelectable(!0),e.dragCloneNodes&&(e.dragCloneNodes.remove(),e.dragCloneNodes=null),e.dropPlaceholder&&(e.dropPlaceholder.remove(),e.dropPlaceholder=null),e.changed&&this.rowDropHandler(e)},updateDragCloneRowPosition:function(t){const e=this.scrollTop-t.dragStartScrollTop,i=t.dragStartTop+t.offsetY+e,o=i-this.scrollTopOffset;t.dragCloneNodes&&t.dragCloneNodes.css("top",o).show(),t.dragCurrentPosition=i+.5*t.dragRowHeight},getRowDragCloneNodes:function(t){const e=w();return t.each((function(t){const i=w(t),o=i.clone();o.appendTo(i.parent()),e.add(o)})),e.addClass("tg-clone").hide(),e},getRowDropPlaceholder:function(t){const e=w();return t.each((function(t){const i=w(t),o=w("
").addClass("tg-row-placeholder").hide(),n=i.parent();n.find(".tg-row-placeholder").remove(),o.appendTo(n),e.add(o)})),e},updateDragPlaceholderPosition:function(t){this.rowDropItemHandler(t);const e=t.dropItem;if(!e)return;let i=t.dropPosition-1;t.dropBottom?e.tg_view_last&&(i=t.dropPosition-2):e.tg_view_index-this.frozenInfo.rows==0&&(i=t.dropPosition);const o=i-this.scrollTopOffset;t.dropPlaceholder&&t.dropPlaceholder.css("top",o).show()},rowDragAutoScrollHandler:function(t){const e=t.dragCurrentPosition,i=this.scrollTop,o=this.bodyHeight-this.frozenRowsHeight,n=i+o,s=this.options.rowHeight,r=Math.min(3*s,.5*o);if(!(rn-r){const i=e-(n-r),o=this.getAutoScrollOffset(i,r);this.autoScrollStart(o,t)}else this.autoScrollStop()},getAutoScrollOffset:function(t,e){return Math.floor(t/e*20)},autoScrollStop:function(){this.autoScrollMotion&&(this.autoScrollMotion.destroy(),this.autoScrollMotion=null)},autoScrollStart:function(t,e){this.autoScrollStop();const i=e.dragMaxScrollTop;this.autoScrollMotion=new B,this.autoScrollMotion.bind(B.EVENT.MOTION_MOVE,(()=>{const o=d.clamp(this.scrollTop+t,0,i);o!==this.scrollTop?(this.setScrollTop(o),this.updateDragCloneRowPosition(e),this.updateDragPlaceholderPosition(e)):this.autoScrollStop()})),this.autoScrollMotion.once(B.EVENT.MOTION_END,(()=>{this.autoScrollStart(t,e)})),this.autoScrollMotion.start({duration:200})},rowDropListHandler:function(t){const e=this.getRowDropList(t);if(!d.isList(e))return;const i=t.rowItem,o=e.filter((t=>{if(t===i)return!1;if(t.tg_frozen)return!1;let e=t.tg_parent;for(;e;){if(e===i)return!1;e=e.tg_parent}return!0}));if(!d.isList(o))return;const n=[];o.forEach((t=>{const e=this.getRowTop(t),i=this.getRowHeight(t);n.push({rowItem:t,position:e}),n.push({rowItem:t,position:e+i-1,dropBottom:!0})})),t.dropList=n},getRowDropList:function(t){const e=this.options.rowDragCrossLevel;return e?"function"==typeof e?e.call(this,t):this.viewRows:this.getRowParentSubs(t.rowItem)},rowDropItemHandler:function(t){const e=t.dropList;if(!e)return;const i=t.dragCurrentPosition;let o=Number.MAX_VALUE;for(let n=0,s=e.length;no)break;o=r,t.dropItem=s.rowItem,t.dropBottom=s.dropBottom,t.dropPosition=s.position}},rowDragDropPositionHandler:function(t,e,i){const o=this.getRowParentSubs(t),n=t.tg_sub_index;let s,r;return this.isDropIntoGroupFirstChild(e,i)?(s=e.subs,r=0):(s=this.getRowParentSubs(e),r=e.tg_sub_index,o===s&&n{this.trigger(y.onRowDropped,n)})),this.render({type:"rows",scrollRow:i})}},It={getMoveFocusRow:function(t,e){let i=t[0];return e>0&&(i=t[t.length-1]),i},getMoveLengthInList:function(t,e){let i=0;return t.forEach((t=>{this.getRowParentSubs(t)===e&&(i+=1)})),i},getMoveInfo:function(t,e,i){const o=this.getRowParentSubs(i);let n=i.tg_sub_index+e;const s=i.tg_parent;if(s&&this.options.rowMoveCrossLevel){const e=0,i=s.tg_subs_length-1;if(ni){const e=n-i;return this.getMoveInfo(t,e,s)}}if(e>0){n-=this.getMoveLengthInList(t,o)-1}return n=d.clamp(n,0,o.length),{list:o,index:n}},moveRowsHandler:function(t,e){(t=this.removeRowsHandler(t)).reverse();const i=this.getMoveFocusRow(t,e),o=this.getMoveInfo(t,e,i),n=[o.index,0].concat(t);return o.list.splice.apply(o.list,n),this.initRowsHandler(),this.onNextUpdated((function(){this.scrollRowIntoView(i),this.trigger(y.onRowMoved,t)})),this.removeSortColumn(),this.update(),!0},moveRows:function(t,e){t=d.toList(t);const i=[];return t.forEach((t=>{const e=this.getRowItem(t);e&&i.push(e)})),!!i.length&&(!(i.length>=this.getRowsLength())&&(0!==(e=d.toNum(e,!0))&&this.moveRowsHandler(i,e)))},moveRowsUp:function(t){return this.moveRows(t,-1)},moveRowsDown:function(t){return this.moveRows(t,1)},moveRowsToTop:function(t){return this.moveRows(t,-this.getRowsLength(!0))},moveRowsToBottom:function(t){return this.moveRows(t,this.getRowsLength(!0))},moveSelectedRowsUp:function(){return this.moveRows(this.getSelectedRows(),-1)},moveSelectedRowsDown:function(){return this.moveRows(this.getSelectedRows(),1)},moveSelectedRowsToTop:function(){return this.moveRows(this.getSelectedRows(),-this.getRowsLength(!0))},moveSelectedRowsToBottom:function(){return this.moveRows(this.getSelectedRows(),this.getRowsLength(!0))}},Lt={getSelectedRow:function(){let t=null;return this.forEachSelectableRow((function(e){if(e.selected)return t=e,!1})),t},getSelectedRows:function(){const t=[];return this.forEachSelectableRow((function(e){e.selected&&t.push(e)})),t.length>1&&t.sort((function(t,e){const i=t.tg_selected_index,o=e.tg_selected_index;return i>o?1:i0&&void 0!==arguments[0])||arguments[0];if(t=Boolean(t),this.globalSelectedIndex=0,t&&!this.options.selectMultiple)return this;const e=this.getAllSelectedChangedList(t);return e.length?(this.updateRowsSelectedState(e),this):this},setRowSelected:function(){return(this.options.selectMultiple?this.setRowMultipleSelected:this.setRowSingleSelected).apply(this,arguments)},setRowSingleSelected:function(t){const e=this.getRowItem(t);if(!e)return this;if(!this.isRowSelectable(e))return this;if(e.selected)return this;const i=[],o=this.getSelectedRow();return o&&o.selected&&i.push(o),e.selected||i.push(e),i.length?(this.updateRowsSelectedState(i),this):this},setRowMultipleSelected:function(t,e){if(0===arguments.length)return this;if(1===arguments.length&&!1===arguments[0])return this.selectAll(!1);const i=this.toRowItemList(t,(t=>this.isRowSelectable(t)));return i.length?!1===e?(this.setRowListUnselected(i),this):d.hasShiftKey(e)&&1===i.length?(this.setRowBetweenListSelected(i[0]),this):(this.updateRowsSelectedState(i),this):this},setRowListUnselected:function(t){const e=this.getSelectedChangedList(t,!1);e.length&&this.updateRowsSelectedState(e)},setRowBetweenListSelected:function(t){const e=this.previousSelectedRow;if(e&&e!==t){const i=this.getBetweenSelectedChangedList(e,t);if(!i.length)return;this.updateRowsSelectedState(i,!0)}else this.updateRowsSelectedState([t])},getAllSelectedChangedList:function(t){const e=[];return this.forEachSelectableRow((i=>{this.isSelectedChanged(i,t)&&e.push(i)})),e},getSelectedChangedList:function(t,e){const i=[];return t.forEach((t=>{this.isSelectedChanged(t,e)&&i.push(t)})),i},getBetweenSelectedChangedList:function(t,e){const i=t.tg_index,o=e.tg_index,n=[];if(i=o;)n.push(t),t--}return this.toRowItemList(n,(t=>this.isRowSelectable(t)&&!t.selected))},updateRowsSelectedState:function(t,e){let i;t.forEach((t=>{const e=!t.selected;t.selected=e,e&&(t.tg_selected_index=this.globalSelectedIndex++,i=t),this.renderRowSelectedState(t)})),e||(this.previousSelectedRow=i),this.renderSelectAllState(),this.onNextUpdated((()=>{this.trigger(y.onSelectChanged,t)})),this.render()},renderRowSelectedState:function(t){const e=t.tg_view_index;this.viewport.rows.includes(e)&&(this.renderRowState(t,"selected"),this.flushCell(e,this.selectColumn.tg_view_index))},renderSelectAllState:function(){this.isSelectAllVisible()&&(this.asyncRenderSelectAllState||(this.asyncRenderSelectAllState=d.microtask(this.renderSelectAllStateSync)),this.asyncRenderSelectAllState.apply(this,arguments))},renderSelectAllStateSync:function(){const t=this.getSelectAllState();if(t===this.previousSelectAllState)return;this.previousSelectAllState=t;const e=this.selectColumn,i=w(this.getColumnHeaderNode(e)).find(".tg-select-icon-all");i.length&&(i.removeClass("tg-selected tg-mixed"),t&&i.addClass(`tg-${t}`))},getSelectAllState:function(){let t=0;this.forEachSelectableRow((e=>{t+=1}));const e=this.getSelectedRows().length;let i="mixed";return 0===e?(i="",this.previousSelectedRow=null):e===t&&(i="selected"),i},isSelectAllVisible:function(){const t=this.options;return!!(t.selectVisible&&t.selectAllVisible&&t.selectMultiple)}},xt={setRowHover:function(t,e){const i=this.getRowItem(t);return i?(this.renderRowHover(i,e),this):this},renderRowHover:function(t,e){if(this.previousHover&&(this.previousHover.removeClass("tg-hover"),this.previousHover=null),!e)return this;if(!1===this.rowHoverable)return;if(!1===t.hoverable)return this;if(t.tg_frozen&&!this.options.frozenRowHoverable)return this;const i=t.tg_view_index;return this.previousHover=this.$body.find(`.tg-row[row='${i}']`).addClass("tg-hover"),this},setRowState:function(t,e){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const o=this.getRowItem(t);return o?(o.tg_state_names||(o.tg_state_names=new Set),o.tg_state_names.add(e),o[e]=i,this.renderRowState(o,e),this):this},renderRowState:function(t,e){const i=this.getRowNodesByIndex(t.tg_view_index);if(i){const o=`tg-${e}`;t[e]?i.addClass(o):i.removeClass(o)}}},zt={getRowItem:function(t){return d.isNum(t)?(t<0&&(t=this.rowsInfo.length+t),this.rowsInfo.indexCache[t]):t?d.isNum(t.tg_index)?t:this.getRowItemById(t.id||t):void 0},getRowItemById:function(t){return this.getRowItemBy("id",t)},getRowItemBy:function(t,e){if(void 0!==e)return this.rowsInfo.indexCache.find((i=>i[t]===e))},getRowsLength:function(t){return t?this.rowsInfo.length:this.viewRows.length},getViewRowItem:function(t){return this.viewRows[t]},getPreRenderRowInfo:function(t){const e={rows:[],rowNotFound:!1,benchmark:0};if(!t.length)return 0===this.getRowsLength()&&(e.rowNotFound=!0),e;const i=[],o=this.frozenInfo.row;return t.forEach((t=>{this.getRowCache(t)?t>o&&i.push(t):e.rows.push(t)})),i.length&&(e.benchmark=Math.min.apply(Math,i)),e.rows.sort((function(t,i){return t{this.renderRowNodes(t,e.benchmark)}))},createRowNode:function(t,e,i,o,n,s){const r=document.createElement("div");return r.setAttribute("row",t),r.className=i,o&&(r.style.cssText=o),r.style.top=`${n}px`,s!==this.options.rowHeight&&(r.style.height=`${s}px`,r.style.lineHeight=`${s}px`),this.setNodeDataCache(r,{row:t,rowItem:e,rowNode:r}),r},appendRowNode:function(t,e,i,o){ithis.frozenInfo.row))return e;e-=this.frozenRowsHeight}return e-=this.scrollTopOffset,e},getRowTop:function(t){let e=t.tg_top;return t.tg_frozen||(e-=this.frozenRowsHeight),e},getRowVPos:function(t){const e=this.frozenInfo.bottom,i=this.frozenInfo.row;let o="top";return this.frozenInfo.rows&&(t<=i?e&&(o="bottom"):e||(o="bottom")),o},getRowCanvas:function(t,e){return"top"===t?"left"===e?this.$bodyTL:this.$bodyTR:"left"===e?this.$bodyBL:this.$bodyBR}},Mt={CHANGE:"change",START:"start",END:"end"},Pt={h:{type:"h",className:"tg-scrollbar-h",offset:"left",size:"width",page:"pageX",axis:"x",offsetName:"offsetX"},v:{type:"v",className:"tg-scrollbar-v",offset:"top",size:"height",page:"pageY",axis:"y",offsetName:"offsetY"}};class Nt extends k{static EVENT=Mt;static H="h";static V="v";type="h";settings={};size=0;viewSize=0;bodySize=0;trackSize=0;position=0;scale=0;thumbPosition=0;thumbScale=0;constructor(t,e){super(),this.settings=Pt[t]||Pt.h,this.type=this.settings.type,this.id=d.uid(4,`tg-scrollbar-${this.type}-`),this.$holder=w(e),this.$holder.find(`.${this.settings.className}`).remove(),this.options=this.generateOptions()}generateOptions(t){return d.merge({size:15,round:!1,blank:!1,motionDuration:200},t)}updateOptions(t){this.options=this.generateOptions(t);let e=this.options.size;d.isNum(e)||(e=d.toNum(e)),e=Math.round(e),e=Math.max(e,0),e=Math.min(e,30),this.size=e}create(){this.$container=w('
').appendTo(this.$holder),this.$container.attr("id",this.id),this.$container.addClass(d.classMap(["tg-scrollbar",this.settings.className,{"tg-scrollbar-round":this.options.round}])),this.$track=this.$container.find(".tg-scrollbar-track"),this.$thumb=this.$container.find(".tg-scrollbar-thumb"),this.thumbDrag=new O,this.thumbDrag.bind(O.EVENT.DRAG_START,((t,e)=>{this.thumbDragStart(e)})).bind(O.EVENT.DRAG_MOVE,((t,e)=>{this.thumbDragMove(e)})).bind(O.EVENT.DRAG_END,((t,e)=>{this.thumbDragEnd(e)}));const t=this.$container.get(0);return this.scrollEvents={mousedown:{handler:e=>{e.target.classList.contains("tg-scrollbar-thumb")?this.thumbMouseDownHandler(e):(this.trackEvents={mouseup:{handler:t=>{this.trackMouseupHandler(t)},options:{once:!0}}},d.bindEvents(this.trackEvents,t),this.trackMousedownHandler(e))},options:!0},selectstart:{handler:t=>{d.preventDefault(t)},options:!0}},d.bindEvents(this.scrollEvents,t),this}getBlank(){return this.options.blank}getSize(){return this.size}getViewSize(){return this.viewSize}getBodySize(){return this.bodySize}getTrackMouseDirection(){let t=1;return this.trackMousePosition0){const i=this.getMaxThumbPosition();t=Math.round(i*this.position/e),t=d.clamp(t,0,i)}return this.setThumbPosition(t),this}trackMousedownHandler(t){return this.motionStop(),this.trackMousePosition=this.getTrackMousePos(t),this.motionStart(),this}trackMouseupHandler(t){return d.unbindEvents(this.trackEvents),this.motionStop(),this.motionStarted||(this.trackMousePosition=this.getTrackMousePos(t),this.trackScrollHandler(),this.triggerEvent()),this}trackScrollHandler(){const t=Math.max(0,this.viewSize-20)*this.getTrackMouseDirection();return this.setOffset(t),this}motionStop(){return this.motion&&(this.motion.destroy(),this.motion=null),this}motionStart(){const t=this.position,e=Math.round(this.trackMousePosition/this.viewSize*this.getMaxPosition());return this.motionStarted=!1,this.motion=new B,this.motion.bind(B.EVENT.MOTION_START,((t,e)=>{this.motionStarted=!0})),this.motion.bind(B.EVENT.MOTION_MOVE,((t,e)=>{this.motionUpdateHandler(t,e)})),this.motion.start({duration:this.options.motionDuration,from:t,till:e}),this}motionUpdateHandler(t,e){e!==this.position&&(this.setPosition(e),this.triggerEvent())}thumbMouseDownHandler(t){this.$thumb.addClass("tg-scrollbar-thumb-hold"),this.thumbDrag.start(t,{target:this.$thumb})}thumbDragStart(t){this.motionStop(),t.thumbPositionStart=this.thumbPosition,this.trigger(Mt.START)}thumbDragMove(t){let e=t.thumbPositionStart+t[this.settings.offsetName];const i=this.getMaxThumbPosition();e=d.clamp(e,0,i),this.setThumbPosition(e);let o=0;i>0&&(o=d.per(e/i)*this.getMaxPosition(),o=Math.round(o)),this.position=o,this.triggerEvent()}thumbDragEnd(t){this.$thumb&&this.$thumb.removeClass("tg-scrollbar-thumb-hold"),this.trigger(Mt.END)}triggerEvent(){this.trigger(Mt.CHANGE,this.position)}getPosition(){return this.position}setPosition(t){t=d.toNum(t,!0);const e=this.getMaxPosition();t=d.clamp(t,0,e),this.position=t,this.updateThumbPosition()}getMaxPosition(){return this.bodySize-this.viewSize}updatePosition(){const t=this.getMaxPosition(),e=d.clamp(this.position,0,t);this.position=e}setOffset(t){t=d.toNum(t);const e=this.position+t;return this.setPosition(e),this}getScale(){return this.scale}setScale(t){return t=d.per(t),this.scale=t,this.scaleChangeHandler(),this}scaleChangeHandler(){let t=Math.round(this.viewSize*this.scale);if(t=Math.max(t,Math.round(1.5*this.options.size)),t=Math.min(t,this.viewSize-1),this.thumbSize=t,this.$thumb){const t={};"h"===this.type?(t.height=this.size,t.width=this.thumbSize):(t.width=this.size,t.height=this.thumbSize),this.$thumb.css(t)}}updateTrackSize(){const t={};return"h"===this.type?(t.width=this.trackSize,t.height=this.size):(t.height=this.trackSize,t.width=this.size),this.$container.css(t),this}updateThumbSize(){let t=0;return this.bodySize&&(t=this.trackSize/this.bodySize),this.setScale(t),this}parseSize(t){return t=d.toNum(t),t=Math.round(t),t=Math.max(t,0)}updateSize(t,e,i){t=this.parseSize(t),this.viewSize=t,e=this.parseSize(e),this.bodySize=e,i=d.isNum(i)?this.parseSize(i):t,this.trackSize=i,this.previousFadeIn=null}fade(t){return!(!this.$container||!this.size)&&(this.previousFadeIn!==t&&(this.previousFadeIn=t,t?this.$container.hasClass("tg-fade-out")&&this.$container.removeClass("tg-fade-out").addClass("tg-fade-in"):this.$container.removeClass("tg-fade-in").addClass("tg-fade-out"),!0))}show(){if(this.updatePosition(),!this.getBlank())return!this.$container&&this.size>0&&this.create(),this.$container?(this.updateTrackSize(),this.updateThumbSize(),this):this;this.remove()}hide(){return this.updatePosition(),this.remove(),this}remove(){if(this.motionStop(),d.unbindEvents(this.scrollEvents),d.unbindEvents(this.trackEvents),this.thumbDrag&&(this.thumbDrag.destroy(),this.thumbDrag=null),!this.$container)return this;this.$thumb=null,this.$track=null,this.$container.remove(),this.$container=null}destroy(){return this.remove(),this}}const _t={CHANGE:"change",START:"start",END:"end"};class kt extends k{static EVENT=_t;visible=!0;constructor(t,e){super(),this.id=d.uid(4,`tg-scroll-pane-${e}-`),this.gradientInfo=[],this.$container=w(t).attr("id",this.id),this.$container.addClass("tg-scroll-pane"),this.$scrollView=this.$container.find(".tg-scroll-view"),this.$scrollBody=this.$scrollView.find(".tg-scroll-body"),this.scrollbarH=new Nt(Nt.H,this.$container),this.scrollbarH.bind(Nt.EVENT.CHANGE,((t,e)=>{this.scrollHChangeHandler()})).bind(Nt.EVENT.START,(t=>{this.scrollStartEndHandler(!0)})).bind(Nt.EVENT.END,(t=>{this.scrollStartEndHandler()})),this.scrollbarV=new Nt(Nt.V,this.$container),this.scrollbarV.bind(Nt.EVENT.CHANGE,((t,e)=>{this.scrollVChangeHandler()})).bind(Nt.EVENT.START,(t=>{this.scrollStartEndHandler(!0)})).bind(Nt.EVENT.END,(t=>{this.scrollStartEndHandler()})),this.options=this.generateOptions()}generateOptions(t){return d.merge({scrollbarH:{},scrollbarV:{},scrollbarFade:!1,scrollSizeOnKeyPress:20,gradient:30},t)}scrollStartEndHandler(t){t?this.trigger(_t.START):this.trigger(_t.END)}show(){return this.$container.show(),this.visible=!0,this}hide(){return this.$container.hide(),this.visible=!1,this}width(){return this.scrollPaneW}height(){return this.scrollPaneH}render(t){return this.visible?(this.options=this.generateOptions(t),this.update(),this):this}update(){this.scrollPaneW=this.options.scrollPaneW,this.scrollPaneH=this.options.scrollPaneH,this.scrollBodyW=this.options.scrollBodyW,this.scrollBodyH=this.options.scrollBodyH,this.updateScrollbar()}setGroupH(t){this.groupH=d.toList(t)}setGroupV(t){this.groupV=d.toList(t)}updateGroupH(){if(!d.isList(this.groupH))return this;const t=this.scrollbarH.getPosition();return this.groupH.forEach((function(e){e&&e.updateScrollHFromGroup(t)})),this}updateGroupV(){if(!d.isList(this.groupV))return this;const t=this.scrollbarV.getPosition();return this.groupV.forEach((function(e){e&&e.updateScrollVFromGroup(t)})),this}updateGroupList(){this.updateGroupH(),this.updateGroupV()}updateScrollHFromGroup(t){this.scrollbarH.getPosition()!==t&&(this.scrollbarH.setPosition(t),this.updateScrollLeft(),this.triggerEvent())}updateScrollVFromGroup(t){this.scrollbarV.getPosition()!==t&&(this.scrollbarV.setPosition(t),this.updateScrollTop(),this.triggerEvent())}setPosition(t,e){return this.scrollbarH.setPosition(t),this.scrollbarV.setPosition(e),this.updateScrollLeft(),this.updateScrollTop(),this.updateGroupList(),this}updateScrollbar(){this.scrollbarH.updateOptions(this.options.scrollbarH),this.scrollbarV.updateOptions(this.options.scrollbarV),this.updateScrollState(),this.updateScrollView(),this.updateScrollTrack(),this.scrollbarH.updateSize(this.scrollViewW,this.scrollBodyW,this.scrollTrackW),this.scrollbarV.updateSize(this.scrollViewH,this.scrollBodyH,this.scrollTrackH),this.hasScrollH?(this.scrollbarH.show(),this.scrollbarH.setPosition(this.scrollbarH.getPosition())):this.scrollbarH.hide(),this.hasScrollV?(this.scrollbarV.show(),this.scrollbarV.setPosition(this.scrollbarV.getPosition())):this.scrollbarV.hide(),this.updateScrollLeft(),this.updateScrollTop(),this.updateGroupList()}updateScrollState(){const t=this.scrollbarH.getSize(),e=this.scrollbarV.getSize(),i=this.scrollbarH.getBlank(),o=this.scrollbarV.getBlank(),n=this.options.scrollbarFade;let s=!1,r=0;(function(){(this.scrollPaneWe&&t.push("left"),ie&&t.push("top"),o{const i=`tg-gradient-${e}`;t.includes(e)?this.$container.addClass(i):this.$container.removeClass(i)})))}getScrollLeft(){return this.scrollbarH.getPosition()}getScrollTop(){return this.scrollbarV.getPosition()}getMaxScrollLeft(){return this.scrollbarH.getMaxPosition()}getMaxScrollTop(){return this.scrollbarV.getMaxPosition()}getScrollTopOffset(){const t=this.getScrollTop();return t-t%1e4}triggerEvent(){this.trigger(_t.CHANGE,{scrollLeft:this.getScrollLeft(),scrollTop:this.getScrollTop()})}scrollHChangeHandler(){this.updateScrollLeft(),this.updateGroupList(),this.triggerEvent()}scrollVChangeHandler(){this.updateScrollTop(),this.updateGroupList(),this.triggerEvent()}setOffsetH(t){const e=this.getScrollLeft();this.scrollbarH.setOffset(t);return this.getScrollLeft()!==e&&(this.updateScrollLeft(),this.updateGroupList(),this.triggerEvent(),!0)}setOffsetV(t){const e=this.getScrollTop();this.scrollbarV.setOffset(t);return this.getScrollTop()!==e&&(this.updateScrollTop(),this.updateGroupList(),this.triggerEvent(),!0)}mouseWheelHandler(t){const e=t.deltaX,i=t.deltaY,o=Math.abs(e);if(o>Math.abs(i)){if(this.hasScrollH)return this.setOffsetH(e)}else{if(this.hasScrollV)return this.setOffsetV(i);if(this.hasScrollH&&!o)return this.setOffsetH(i)}return!1}keyPageUpHandler(t){return this.setOffsetV(-this.scrollViewH)}keyPageDownHandler(t){return this.setOffsetV(this.scrollViewH)}keyEndHandler(t){return this.setOffsetV(this.scrollBodyH)}keyHomeHandler(t){return this.setOffsetV(-this.scrollBodyH)}keyLeftHandler(t){return this.setOffsetH(-this.options.scrollSizeOnKeyPress)}keyUpHandler(t){return this.setOffsetV(-this.options.scrollSizeOnKeyPress)}keyRightHandler(t){return this.setOffsetH(this.options.scrollSizeOnKeyPress)}keyDownHandler(t){return this.setOffsetV(this.options.scrollSizeOnKeyPress)}destroy(){return this.visible=!1,this.groupH=null,this.groupV=null,this.scrollbarV&&(this.scrollbarV.destroy(),this.scrollbarV=null),this.scrollbarH&&(this.scrollbarH.destroy(),this.scrollbarH=null),this.$container=null,this.$scrollView=null,this.$scrollBody=null,this}}const Vt={initScrollPane:function(){this.initFrozenStyle(),this.createScrollPane()},initFrozenStyle:function(){const t={HL:{container:this.$paneHL,cls:[]},HR:{container:this.$paneHR,cls:[]},TL:{container:this.$paneTL,cls:[]},TR:{container:this.$paneTR,cls:[]},BL:{container:this.$paneBL,cls:[]},BR:{container:this.$paneBR,cls:[]}},e="tg-frozen-h";this.frozenInfo.rows&&(this.frozenInfo.bottom?(t.BL.cls.push(e),t.BR.cls.push(e)):(t.TL.cls.push(e),t.TR.cls.push(e)));const i="tg-frozen-v",o="tg-frozen-line-v";this.frozenInfo.columns&&(this.frozenInfo.right?(t.HR.cls.push(i),t.TR.cls.push(i),t.BR.cls.push(i)):(t.HL.cls.push(i),t.TL.cls.push(i),t.BL.cls.push(i)),t.HL.cls.push(o),t.TL.cls.push(o),t.BL.cls.push(o));const n="tg-frozen",s=[n,e,i,o].join(" ");Object.keys(t).forEach((function(e){const i=t[e],o=i.container;o.removeClass(s);const r=i.cls;if(!r.length)return;const l=[n].concat(r).join(" ");o.addClass(l)}))},createScrollPane:function(){this.removeScrollPane(),this.scrollPaneMap={HL:new kt(this.$paneHL,"header-left"),HR:new kt(this.$paneHR,"header-right"),TL:new kt(this.$paneTL,"top-left"),TR:new kt(this.$paneTR,"top-right"),BL:new kt(this.$paneBL,"bottom-left"),BR:new kt(this.$paneBR,"bottom-right")},this.scrollPaneMap.BR.setGroupH([this.scrollPaneMap.HR,this.scrollPaneMap.TR]),this.scrollPaneMap.TR.setGroupH([this.scrollPaneMap.HR,this.scrollPaneMap.BR]),this.scrollPaneMap.BL.setGroupH([this.scrollPaneMap.HL,this.scrollPaneMap.TL]),this.scrollPaneMap.TL.setGroupH([this.scrollPaneMap.HL,this.scrollPaneMap.BL]),this.scrollPaneMap.BR.setGroupV(this.scrollPaneMap.BL),this.scrollPaneMap.BL.setGroupV(this.scrollPaneMap.BR),this.scrollPaneMap.TR.setGroupV(this.scrollPaneMap.TL),this.scrollPaneMap.TL.setGroupV(this.scrollPaneMap.TR),this.initActiveScrollPane(),this.initPaneVisibility()},initActiveScrollPane:function(){const t=this.getScrollPaneVP(),e=this.getScrollPaneHP(),i=`${t}${e}`;this.scrollPane=this.scrollPaneMap[i],this.scrollPane.bind(kt.EVENT.CHANGE,((t,e)=>{this.scrollPaneChangeHandler(t,e)})).bind(kt.EVENT.START,(t=>{this.rowHoverable=!1})).bind(kt.EVENT.END,(t=>{this.rowHoverable=!0}));let o={L:"L",R:"L"};this.frozenInfo.columns&&this.frozenInfo.right&&(o={L:"R",R:"L"});const n=`${t}${o[e]}`;this.scrollPaneFrozen=this.scrollPaneMap[n]},getScrollPaneVP:function(){return this.frozenInfo.rows&&!this.frozenInfo.bottom?"B":"T"},getScrollPaneHP:function(){return this.frozenInfo.columns&&!this.frozenInfo.right?"R":"L"},initPaneVisibility:function(){this.scrollPaneMap.HL.show(),this.scrollPaneMap.TL.show(),this.frozenInfo.columns?(this.scrollPaneMap.HR.show(),this.scrollPaneMap.TR.show(),this.frozenInfo.rows?(this.scrollPaneMap.BL.show(),this.scrollPaneMap.BR.show()):(this.scrollPaneMap.BL.hide(),this.scrollPaneMap.BR.hide())):(this.scrollPaneMap.HR.hide(),this.scrollPaneMap.TR.hide(),this.scrollPaneMap.BR.hide(),this.frozenInfo.rows?this.scrollPaneMap.BL.show():this.scrollPaneMap.BL.hide())},scrollPaneChangeHandler:function(t,e){this.hideColumnLine(),this.scrollLeft=e.scrollLeft,this.scrollTop=e.scrollTop,this.scrollRenderHandler()},scrollbarFadeInOutHandler:function(t,e){this.options.scrollbarFade&&(e?this.updateScrollPaneFade(!0):this.options.scrollbarFadeTimeout||this.updateScrollPaneFade(!1))},updateScrollPaneFade:function(t){if(!this.options.scrollbarFade)return;this.updateScrollPaneFadeSync(t);const e=this.options.scrollbarFadeTimeout;e&&(clearTimeout(this.timeout_fade),this.timeout_fade=setTimeout((()=>{this.updateScrollPaneFadeSync(!1)}),e))},updateScrollPaneFadeSync:function(t){if(this.previousScrollbarFadeIn===t)return;this.previousScrollbarFadeIn=t;const e=[];Object.keys(this.scrollPaneMap).forEach((t=>{const i=this.scrollPaneMap[t];i.hasScrollbar()&&e.push(i)})),e.length&&e.forEach((function(e){e.fade(t)}))},updateScrollPane:function(){const t=this.getScrollbarOptions();this.scrollPaneMap.HL.render(this.getScrollPaneOptions({scrollPaneW:this.paneWidthL,scrollPaneH:this.headerHeight,scrollBodyW:this.bodyWidthL,scrollBodyH:this.headerHeight,scrollbarV:t.HLV,scrollbarH:t.HLH})),this.scrollPaneMap.HR.render(this.getScrollPaneOptions({scrollPaneW:this.paneWidthR,scrollPaneH:this.headerHeight,scrollBodyW:this.bodyWidthR,scrollBodyH:this.headerHeight,scrollbarV:t.HRV,scrollbarH:t.HRH})),this.scrollPaneMap.TL.render(this.getScrollPaneOptions({scrollPaneW:this.paneWidthL,scrollPaneH:this.paneHeightT,scrollBodyW:this.bodyWidthL,scrollBodyH:this.bodyHeightT,scrollbarV:t.TLV,scrollbarH:t.TLH})),this.scrollPaneMap.TR.render(this.getScrollPaneOptions({scrollPaneW:this.paneWidthR,scrollPaneH:this.paneHeightT,scrollBodyW:this.bodyWidthR,scrollBodyH:this.bodyHeightT,scrollbarV:t.TRV,scrollbarH:t.TRH})),this.scrollPaneMap.BL.render(this.getScrollPaneOptions({scrollPaneW:this.paneWidthL,scrollPaneH:this.paneHeightB,scrollBodyW:this.bodyWidthL,scrollBodyH:this.bodyHeightB,scrollbarV:t.BLV,scrollbarH:t.BLH})),this.scrollPaneMap.BR.render(this.getScrollPaneOptions({scrollPaneW:this.paneWidthR,scrollPaneH:this.paneHeightB,scrollBodyW:this.bodyWidthR,scrollBodyH:this.bodyHeightB,scrollbarV:t.BRV,scrollbarH:t.BRH})),this.scrollLeft=this.getScrollLeft(),this.scrollTop=this.getScrollTop(),this.updateScrollPaneFade(Boolean(this.options.scrollbarFadeTimeout))},getScrollPaneOptions:function(t){const e=this.options;return t.scrollbarFade=e.scrollbarFade,t.gradient=d.clamp(d.toNum(e.scrollPaneGradient,!0),0,100),t},getScrollbarOptions:function(){const t=this.options.scrollbarRound,e={};return["HLH","HLV","HRH","HRV","TLH","TLV","TRH","TRV","BLH","BLV","BRH","BRV"].forEach((function(i){e[i]={size:0,round:t,blank:!1}})),this.scrollbarOptionsHandler(e),this.scrollbarFadeHandler(e),e},scrollbarOptionsHandler:function(t){const e=this.scrollbarSizeH,i=this.scrollbarSizeV;this.scrollbarHeaderHandler(t,e,i),this.frozenInfo.columns?this.frozenInfo.rows?this.scrollbarC1R1Handler(t,e,i):this.scrollbarC1R0Handler(t,e,i):this.frozenInfo.rows?this.scrollbarC0R1Handler(t,e,i):this.scrollbarC0R0Handler(t,e,i)},scrollbarFadeHandler:function(t){if(this.options.scrollbarFade)for(const e in t)if(d.hasOwn(t,e)){const i=t[e];i.size>0&&i.blank&&(i.blank=!1,i.size=0)}},scrollbarHeaderHandler:function(t,e,i){this.hasVScroll&&(this.frozenInfo.columns?(t.HRV.size=i,t.HRV.blank=1):(t.HLV.size=i,t.HLV.blank=1))},scrollbarC0R0Handler:function(t,e,i){t.TLH.size=e,t.TLV.size=i},scrollbarC0R1Handler:function(t,e,i){this.frozenInfo.bottom?this.scrollbarC0R1B1Handler(t,e,i):this.scrollbarC0R1B0Handler(t,e,i)},scrollbarC0R1B1Handler:function(t,e,i){t.BLH.size=e,t.TLV.size=i,this.hasVScroll&&(t.BLV.size=i,t.BLV.blank=1)},scrollbarC0R1B0Handler:function(t,e,i){t.BLH.size=e,t.BLV.size=i,this.hasVScroll&&(t.TLV.size=i,t.TLV.blank=1)},scrollbarC1R0Handler:function(t,e,i){this.frozenInfo.right?this.scrollbarC1R0R1Handler(t,e,i):this.scrollbarC1R0R0Handler(t,e,i)},scrollbarC1R0R1Handler:function(t,e,i){this.hasHScroll&&(t.TLH.size=e,this.scrollPaneHidden?(t.TRH.size=e,t.TLH.blank=!0):(t.TRH.size=e,t.TRH.blank=!0)),t.TRV.size=i},scrollbarC1R0R0Handler:function(t,e,i){this.hasHScroll&&(t.TRH.size=e,this.scrollPaneHidden?(t.TLH.size=e,t.TRH.blank=!0):(t.TLH.size=e,t.TLH.blank=!0)),t.TRV.size=i},scrollbarC1R1Handler:function(t,e,i){this.frozenInfo.right?this.frozenInfo.bottom?this.scrollbarC1R1R1B1Handler(t,e,i):this.scrollbarC1R1R1B0Handler(t,e,i):this.frozenInfo.bottom?this.scrollbarC1R1R0B1Handler(t,e,i):this.scrollbarC1R1R0B0Handler(t,e,i)},scrollbarC1R1R1B1Handler:function(t,e,i){this.hasHScroll&&(t.BLH.size=e,this.scrollPaneHidden&&(t.BRH.size=e,t.BLH.blank=!0)),t.TRV.size=i,this.hasVScroll&&(t.BRV.size=i,t.BRV.blank=1)},scrollbarC1R1R1B0Handler:function(t,e,i){this.hasHScroll&&(t.BLH.size=e,this.scrollPaneHidden?(t.BRH.size=e,t.BLH.blank=!0):(t.BRH.size=e,t.BRH.blank=!0)),t.BRV.size=i,this.hasVScroll&&(t.TRV.size=i,t.TRV.blank=1)},scrollbarC1R1R0B1Handler:function(t,e,i){this.hasHScroll&&(t.BRH.size=e,this.scrollPaneHidden&&(t.BLH.size=e,t.BRH.blank=!0)),t.TRV.size=i,this.hasVScroll&&(t.BRV.size=i,t.BRV.blank=1)},scrollbarC1R1R0B0Handler:function(t,e,i){this.hasHScroll&&(t.BRH.size=e,this.scrollPaneHidden?(t.BLH.size=e,t.BRH.blank=!0):(t.BLH.size=e,t.BLH.blank=!0)),t.BRV.size=i,this.hasVScroll&&(t.TRV.size=i,t.TRV.blank=1)},removeScrollPane:function(){clearTimeout(this.timeout_fade),this.previousScrollbarFadeIn=null,this.scrollPaneMap&&(Object.keys(this.scrollPaneMap).forEach((t=>{const e=this.scrollPaneMap[t];e&&e.destroy()})),this.scrollPaneMap=null,this.scrollPane=null,this.scrollPaneFrozen=null)}},Ot={updateScrollState:function(){this.updateGlobalScrollInfo(),this.updateHScrollState(),this.updateVScrollState(),this.updateBlankColumnWidth(),this.scrollStateChanged=!1,this.previousHasHScroll===this.hasHScroll&&this.previousHasVScroll===this.hasVScroll||(this.scrollStateChanged=!0,this.previousHasHScroll=this.hasHScroll,this.previousHasVScroll=this.hasVScroll,this.trigger(y.onScrollStateChanged,{hasHScroll:this.hasHScroll,hasVScroll:this.hasVScroll}))},updateGlobalScrollInfo:function(){this.totalRowsLength=this.getRowsLength(),this.totalRowsHeight=this.getRowsHeight(),this.frozenRowsHeight=this.getFrozenRowsHeight(),this.scrollRowsHeight=this.totalRowsHeight-this.frozenRowsHeight,this.totalRowsHeight=Math.max(this.totalRowsHeight,1),this.scrollRowsHeight=Math.max(this.scrollRowsHeight,1),this.flushRowFrom(this.totalRowsLength)},updateHScrollState:function(){if(this.hasHScroll=!0,this.updateScrollPaneHiddenState(),this.updateHScrollByScrollPaneHidden(),this.scrollPaneHidden)return;this.containerWidth-this.columnsWidth>=0&&(this.hasHScroll=!1)},getScrollPaneCurrentWidth:function(){return this.frozenInfo.right?this.bodyWidth-this.columnsWidthR:this.bodyWidth-this.columnsWidthL},updateHScrollByScrollPaneHidden:function(){if(this.scrollPaneHidden){this.hasHScroll=!1;this.getScrollPaneCurrentWidth()=this.totalRowsHeight&&(this.hasVScroll=!1)}},updateBlankColumnWidth:function(){let t=this.containerWidth-this.columnsWidth;!this.hasVScroll||this.hasHScroll||this.options.scrollbarFade||(t-=this.scrollbarSizeV),this.scrollPaneHidden&&(t=0),this.hasHScroll||(t>=0?(this.frozenInfo.columns?this.columnsWidthR+=t:this.columnsWidthL+=t,this.blankColumn.tg_width=t):this.hasHScroll=!0)}},$t={scrollToRow:function(t){const e=this.getRowItem(t);return this.scrollToItem(e,null),this},scrollToColumn:function(t){const e=this.getColumnItem(t);return this.scrollToItem(null,e),this},scrollToCell:function(t,e){const i=this.getRowItem(t),o=this.getColumnItem(e);return this.scrollToItem(i,o),this},scrollToFirstRow:function(){return this.setScrollTop(0),this},scrollToLastRow:function(){const t=this.getViewRows(),e=t[t.length-1],i=this.getScrollRowPosition(e);if(d.isNum(i))return this.setScrollTop(i),this},scrollToFirstColumn:function(){return this.setScrollLeft(0),this},scrollToLastColumn:function(t){const e=this.getViewColumns();let i=e[e.length-2];t&&(i=e[e.length-1]);const o=this.getScrollColumnPosition(i);if(d.isNum(o))return this.setScrollLeft(o),this},scrollRowIntoView:function(t){const e=this.getRowItem(t);return this.scrollItemIntoView(e,null),this},scrollColumnIntoView:function(t){const e=this.getColumnItem(t);return this.scrollItemIntoView(null,e),this},scrollCellIntoView:function(t,e){const i=this.getRowItem(t),o=this.getColumnItem(e);return this.scrollItemIntoView(i,o),this},setScroll:function(t,e){return t===this.scrollLeft&&e===this.scrollTop||(this.scrollLeft=t,this.scrollTop=e,this.scrollHandler()),this},setScrollLeft:function(t){return t===this.scrollLeft||(this.scrollLeft=t,this.scrollHandler()),this},setScrollTop:function(t){return t===this.scrollTop||(this.scrollTop=t,this.scrollHandler()),this},getScrollRowPosition:function(t){if(!t)return;let e=t.tg_view_index;return e-=this.frozenInfo.rows,e>=0?this.getRowTop(t):void 0},getScrollColumnPosition:function(t){if(!t)return;let e=t.tg_left;return this.frozenInfo.columns&&(e-=this.bodyWidthL),e>=0?e:void 0},scrollToItem:function(t,e){return this.scrollToChanged=!1,this.scrollToRowHandler(t),this.scrollToColumnHandler(e),this.scrollToChanged?(this.scrollHandler(),this):this},scrollToRowHandler:function(t){if(!t)return;const e=this.getScrollRowPosition(t);d.isNum(e)&&e!==this.scrollTop&&(this.scrollTop=e,this.scrollToChanged=!0)},scrollToColumnHandler:function(t){if(!t)return;const e=this.getScrollColumnPosition(t);d.isNum(e)&&e!==this.scrollLeft&&(this.scrollLeft=e,this.scrollToChanged=!0)},scrollItemIntoView:function(t,e){return this.scrollIntoViewChanged=!1,this.scrollRowIntoViewHandler(t),this.scrollColumnIntoViewHandler(e),this.scrollIntoViewChanged?(this.scrollHandler(),this):this},scrollRowIntoViewHandler:function(t){if(!t)return;const e=this.getScrollRowPosition(t);if(!d.isNum(e))return;if(ethis.scrollTop+o){const t=e-(o-i);this.scrollTop=t,this.scrollIntoViewChanged=!0}},scrollColumnIntoViewHandler:function(t){if(!t)return;const e=this.getScrollColumnPosition(t);if(!d.isNum(e))return;if(ethis.scrollLeft+o){const t=e-(o-i);this.scrollLeft=t,this.scrollIntoViewChanged=!0}},scrollOnInit:function(){const{scrollLeft:t,scrollTop:e,scrollColumn:i,scrollRow:o}=this.renderSettings;this.scrollIntoViewChanged=!1,Number.isInteger(t)&&t!==this.scrollLeft&&(this.scrollLeft=t,this.scrollIntoViewChanged=!0),Number.isInteger(e)&&e!==this.scrollTop&&(this.scrollTop=e,this.scrollIntoViewChanged=!0),i&&this.scrollColumnIntoViewHandler(i),o&&this.scrollRowIntoViewHandler(o),this.scrollIntoViewChanged&&this.scrollPane.setPosition(this.scrollLeft,this.scrollTop)},scrollHandler:function(){this.scrollPane.setPosition(this.scrollLeft,this.scrollTop),this.scrollRenderHandler()},scrollRenderHandler:function(){this.previousScrollLeft===this.scrollLeft&&this.previousScrollTop===this.scrollTop||(this.previousScrollLeft=this.scrollLeft,this.previousScrollTop=this.scrollTop,this.onNextUpdated((()=>{this.updateScrollPaneFade(!0),this.trigger(y.onScroll,{scrollLeft:this.scrollLeft,scrollTop:this.scrollTop})})),this.render())},scrollTouchStartHandler:function(t,e){this.hideColumnLine(),this.scrollTouchLeft=this.getScrollLeft(),this.scrollTouchTop=this.getScrollTop(),this.scrollMaxTouchLeft=this.getMaxScrollLeft(),this.scrollMaxTouchTop=this.getMaxScrollTop()},getTouchOrientation:function(t){return t.orientation?t.orientation:[e.LEFT,e.RIGHT].includes(t.direction)?(t.orientation||(t.orientation="Y"),t.orientation):[e.UP,e.DOWN].includes(t.direction)?(t.orientation||(t.orientation="X"),t.orientation):void 0},scrollTouchMoveHandler:function(t,e){if(e.touchLength>1)return;let i=e.offsetX,o=e.offsetY;const n=this.getTouchOrientation(e);"X"===n?i=0:"Y"===n&&(o=0);let s=this.scrollTouchLeft-i,r=this.scrollTouchTop-o;s=d.clamp(s,0,this.scrollMaxTouchLeft),r=d.clamp(r,0,this.scrollMaxTouchTop);let l=!1;this.scrollPaneHidden&&(l=this.scrollPaneFrozen.setOffsetH(-e.moveX),s=0);const h=this.getScrollLeft(),a=this.getScrollTop();(s!==h||r!==a||l)&&(d.preventDefault(e.e),this.setScroll(s,r))},scrollTouchEndHandler:function(){this.protectedItem=null},scrollTouchInertiaHandler:function(t,e){const i=this.getScrollLeft(),o=this.getScrollTop(),n=i-e.touchInertiaX,s=o-e.touchInertiaY;this.setScroll(n,s)},getScrollViewWidth:function(){let t=this.getScrollPaneWidth();return this.frozenInfo.right||(t-=this.getScrollbarWidth()),t},getScrollViewHeight:function(){let t=this.getScrollPaneHeight();return this.frozenInfo.bottom||(t-=this.getScrollbarHeight()),t},getScrollPaneWidth:function(){return this.scrollPane.width()},getScrollPaneHeight:function(){return this.scrollPane.height()},getScrollbarWidth:function(){return this.hasVScroll&&!this.options.scrollbarFade?this.scrollbarSizeV:0},getScrollbarHeight:function(){return this.hasHScroll&&!this.options.scrollbarFade?this.scrollbarSizeH:0},getScrollLeft:function(){return this.scrollPane.getScrollLeft()},getScrollTop:function(){return this.scrollPane.getScrollTop()},getMaxScrollLeft:function(){return this.scrollPane.getMaxScrollLeft()},getMaxScrollTop:function(){return this.scrollPane.getMaxScrollTop()}};class Dt{constructor(t){this.options=this.generateOptions(t)}generateOptions(t){return d.merge({ignore:null,sortField:"",sortFactor:1,sortBlankFactor:1,sortComparer:null},t)}sortList(t){if(!d.isList(t)||1===t.length)return!1;this.ignoreExcludeHandler(t);const e=this.comparerHandler(t);return this.ignoreIncludeHandler(t),e}getDefaultComparer(t){return(ft[t]||ft.string).bind(this)}comparerHandler(t){const e=this.options,i=e.sortField,o=e.sortFactor,n=e.sortBlankFactor,s=e.sortComparer;return"function"==typeof s&&(t.sort(((t,e)=>s.call(this,t,e,{sortField:i,sortFactor:o,sortBlankFactor:n}))),!0)}ignoreExcludeHandler(t){const e=this.options.ignore;this.ignoreListTop=[],this.ignoreListBottom=[];const i=[];for(let o=0,n=t.length;o{t.unshift(e.item)})),this.ignoreListBottom.forEach((e=>{t.push(e.item)}))}}const Bt={removeSortColumn:function(){return this.sortColumn=null,this.$header&&this.$header.find(".tg-column-sorted").removeClass("tg-column-sorted"),this},setSortColumn:function(t){if(!(t=this.getColumnItem(t)))return;if(!this.isColumnSortable(t))return;t===this.sortColumn?t.sortAsc=!t.sortAsc:d.hasOwn(t,"sortAsc")||(t.sortAsc=this.options.sortAsc),this.sortColumn=t;if(this.getRowsLength()-this.frozenInfo.rows<2)return;if(!this.headerCreated)return;this.updateRowsSort()&&(this.renderHeaderSort(),this.flushSort(),this.render("rows"))},renderHeaderSort:function(){const t=this.sortColumn;if(!t)return this;if(!this.isColumnSortable(t))return this;this.$header.find(".tg-column-sorted").removeClass("tg-column-sorted");const e=t.tg_view_index,i=this.$header.find(`.tg-header-item[column='${e}']`).find(".tg-column-header").addClass("tg-column-sorted");return t.sortAsc?i.removeClass("tg-sort-desc").addClass("tg-sort-asc"):i.removeClass("tg-sort-asc").addClass("tg-sort-desc"),this},getSortComparer:function(t){const e=t.comparer;if("function"==typeof e)return e;const i=this.options.sortComparers,o=i[e||t.type];return"function"==typeof o?o:i.string},updateRowsSort:function(){const t=this.sortColumn;if(!t)return!1;const e=t.id;return!!e&&this.sortRows(e,t)},sortRows:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=e.sortAsc?-1:1,o=this.options.sortBlankValueBottom?1:i,n=this.getSortComparer(e);let s=!1;const r=new Dt({ignore:function(t){return t.tg_frozen?{item:t,top:!0}:t.sortFixed?{item:t,top:"top"===t.sortFixed}:void 0},sortField:t,sortFactor:i,sortBlankFactor:o,sortComparer:n}),l=function(t){r.sortList(t)&&(s=!0),t.forEach((function(t,e){t.tg_sub_index=e,t.subs&&l(t.subs)}))};return l(this.rows),s&&this.initRowsHandler(),s}},At={default:{},lightblue:{rowHeight:35,scrollbarSize:10,scrollbarRound:!0},dark:{}},Wt={getAllThemes:function(){return Object.keys(At)},getThemeOptions:function(t){return At[t]}},Ft={update:function(){return this.flushBody(),this.render("rows"),this},updateRow:function(t,e){const i=this.getRowItem(t);if(!i)return this;if(e&&"object"==typeof e){const t=this.getItemSnapshot(e);Object.keys(t).forEach((function(e){i[e]=t[e]}))}return this.flushRow(i.tg_view_index),this.render("rows"),this},updateCell:function(t,e,i){const o=this.getRowItem(t);if(!o)return this;const n=this.getColumnItem(e);return n?(arguments.length>2&&(o[n.id]=i),this.flushCell(o.tg_view_index,n.tg_view_index),this.render("rows"),this):this},onNextUpdated:function(t){return"function"!=typeof t||this.once(y.onUpdated,t),this}},Gt={getViewport:function(){this.scrollLeft=this.getScrollLeft(),this.scrollTop=this.getScrollTop();return{rows:this.getViewportRows(),columns:this.getViewportColumns()}},getViewportRows:function(){const t=[],e=this.viewRows,i=e.length;if(!i)return t;let o=this.options.rowCacheLength;o=d.clamp(d.toNum(o,!0),0,i);const n=this.frozenInfo.rows;if(n){let e=0;for(;e1;){const n=Math.floor(.5*(e+i)),s=t[n],r=this.getRowTop(s),l=this.getRowHeight(s);if(or+l))return n;e=n}}const n=t[i];return o=e)return[];const i=[],o=this.frozenInfo.columns,n=this.viewColumns;for(let s=o,r=n.length;s0;){const n=t[0]-1;n>o&&t.unshift(n);const s=t[t.length-1]+1;si)&&!(n0&&(e.rows.length=o),i=t.options}return this.data=e,this.dataOptions=i,this}setDataSnapshot(t){return this.setData(this.generateDataSnapshot(t)),this}getData(){return this.data}toString(){return"[object Grid]"}}var Ut;Ut=jt.prototype,[v,R,S,T,E,I,L,x,z,F,G,j,K,q,J,Z,tt,et,pt,mt,bt,wt,vt,Ht,{keyTabHandler:function(t){},keyEnterHandler:function(t){},keyEscHandler:function(t){},keyPageUpHandler:function(t){return this.scrollPane.keyPageUpHandler(t)},keyPageDownHandler:function(t){return this.scrollPane.keyPageDownHandler(t)},keyEndHandler:function(t){return this.scrollPane.keyEndHandler(t)},keyHomeHandler:function(t){return this.scrollPane.keyHomeHandler(t)},keyLeftHandler:function(t){return this.scrollPaneHidden?this.scrollPaneFrozen.keyLeftHandler(t):this.scrollPane.keyLeftHandler(t)},keyUpHandler:function(t){return this.scrollPane.keyUpHandler(t)},keyRightHandler:function(t){return this.scrollPaneHidden?this.scrollPaneFrozen.keyRightHandler(t):this.scrollPane.keyRightHandler(t)},keyDownHandler:function(t){return this.scrollPane.keyDownHandler(t)}},Ct,yt,Rt,St,Tt,{showRow:function(t){return this.updateRowsInvisible(this.toRowItemList(t),!1)},hideRow:function(t){return this.updateRowsInvisible(this.toRowItemList(t),!0)},updateRowsInvisible:function(t,e){if(!t.length)return!1;const i=[];return t.forEach((t=>{t.invisible!==e&&(t.invisible=e,t.tg_invisible=e,i.push(t))})),!!i.length&&(this.update(),!0)}},Et,It,Lt,xt,zt,Vt,Ot,$t,Bt,Wt,Ft,Gt].forEach((t=>{for(const e in t){if(d.hasOwn(Ut,e))throw new Error(`ERROR: extends with an existing key: "${e}"`);Ut[e]=t[e]}}));const Xt=jt,Yt=e.VERSION,Kt=e.TIMESTAMP,qt={VERSION:Yt,TIMESTAMP:Kt,Grid:Xt,$:w,CONST:e,EventBase:k,Icon:X,Motion:B,ScrollPane:kt,Util:d}})();var n=o.$,s=o.MP,r=o._d,l=o.xA,h=o.In,a=o.T8,c=o.Gr,d=o.ht,u=o.J0,g=o.xv,f=o.Ay;export{n as $,s as CONST,r as EventBase,l as Grid,h as Icon,a as Motion,c as ScrollPane,d as TIMESTAMP,u as Util,g as VERSION,f as default}; \ No newline at end of file From 25c33112c3f52900b2aba47551692a99c57f7ba0 Mon Sep 17 00:00:00 2001 From: "Dr.Lt.Data" Date: Sat, 22 Jun 2024 12:41:34 +0900 Subject: [PATCH 11/62] update DB --- extension-node-map.json | 1 + node_db/new/extension-node-map.json | 1 + 2 files changed, 2 insertions(+) diff --git a/extension-node-map.json b/extension-node-map.json index d6428c03..220054eb 100644 --- a/extension-node-map.json +++ b/extension-node-map.json @@ -13521,6 +13521,7 @@ "ExposureAdjust", "FrequencyCombine", "FrequencySeparate", + "GameOfLife", "GuidedFilterAlpha", "GuidedFilterImage", "ImageConstant", diff --git a/node_db/new/extension-node-map.json b/node_db/new/extension-node-map.json index d6428c03..220054eb 100644 --- a/node_db/new/extension-node-map.json +++ b/node_db/new/extension-node-map.json @@ -13521,6 +13521,7 @@ "ExposureAdjust", "FrequencyCombine", "FrequencySeparate", + "GameOfLife", "GuidedFilterAlpha", "GuidedFilterImage", "ImageConstant", From 81f1e64d0672072ba559e69586a406fffa2f230f Mon Sep 17 00:00:00 2001 From: "Dr.Lt.Data" Date: Sat, 22 Jun 2024 16:03:40 +0900 Subject: [PATCH 12/62] update DB --- extension-node-map.json | 3 +++ node_db/new/extension-node-map.json | 3 +++ 2 files changed, 6 insertions(+) diff --git a/extension-node-map.json b/extension-node-map.json index 220054eb..6894394c 100644 --- a/extension-node-map.json +++ b/extension-node-map.json @@ -9566,6 +9566,7 @@ "google_tool", "interpreter_tool", "keyword_tool", + "listen_audio", "load_embeddings", "load_excel", "load_file", @@ -9579,6 +9580,7 @@ "omost_decode", "omost_setting", "openai_tts", + "openai_whisper", "play_audio", "show_text_party", "start_dialog", @@ -11593,6 +11595,7 @@ "RemoveControlNetFromRegionalPrompts //Inspire", "RetrieveBackendData //Inspire", "RetrieveBackendDataNumberKey //Inspire", + "ScheduledCFGGuider //Inspire", "SeedExplorer //Inspire", "SelectNthMask //Inspire", "ShowCachedInfo //Inspire", diff --git a/node_db/new/extension-node-map.json b/node_db/new/extension-node-map.json index 220054eb..6894394c 100644 --- a/node_db/new/extension-node-map.json +++ b/node_db/new/extension-node-map.json @@ -9566,6 +9566,7 @@ "google_tool", "interpreter_tool", "keyword_tool", + "listen_audio", "load_embeddings", "load_excel", "load_file", @@ -9579,6 +9580,7 @@ "omost_decode", "omost_setting", "openai_tts", + "openai_whisper", "play_audio", "show_text_party", "start_dialog", @@ -11593,6 +11595,7 @@ "RemoveControlNetFromRegionalPrompts //Inspire", "RetrieveBackendData //Inspire", "RetrieveBackendDataNumberKey //Inspire", + "ScheduledCFGGuider //Inspire", "SeedExplorer //Inspire", "SelectNthMask //Inspire", "ShowCachedInfo //Inspire", From 5bf70b7ef412fc2a3e53a8a95f44c3e417faecc2 Mon Sep 17 00:00:00 2001 From: "Dr.Lt.Data" Date: Sat, 22 Jun 2024 17:42:44 +0900 Subject: [PATCH 13/62] update DB --- model-list.json | 10 ++++++++++ node_db/new/model-list.json | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/model-list.json b/model-list.json index 5c3eb391..2322bec8 100644 --- a/model-list.json +++ b/model-list.json @@ -3003,6 +3003,16 @@ "reference": "https://huggingface.co/Kijai/DepthAnythingV2-safetensors/tree/main", "filename": "depth_anything_v2_vits_fp32.safetensors", "url": "https://huggingface.co/Kijai/DepthAnythingV2-safetensors/resolve/main/depth_anything_v2_vits_fp32.safetensors" + }, + { + "name": "PixArt-Sigma-XL-2-1024-MS.pth", + "type": "checkpoint", + "base": "pixart-sigma", + "save_path": "checkpoints/PixArt-Sigma", + "description": "[2.47GB] PixArt-Sigma Checkpoint model", + "reference": "https://huggingface.co/PixArt-alpha/PixArt-Sigma/tree/main", + "filename": "PixArt-Sigma-XL-2-1024-MS.pth", + "url": "https://huggingface.co/PixArt-alpha/PixArt-Sigma/resolve/main/PixArt-Sigma-XL-2-1024-MS.pth" } ] } diff --git a/node_db/new/model-list.json b/node_db/new/model-list.json index 5796816d..375ccc00 100644 --- a/node_db/new/model-list.json +++ b/node_db/new/model-list.json @@ -1,5 +1,15 @@ { "models": [ + { + "name": "PixArt-Sigma-XL-2-1024-MS.pth", + "type": "checkpoint", + "base": "pixart-sigma", + "save_path": "checkpoints/PixArt-Sigma", + "description": "[2.47GB] PixArt-Sigma Checkpoint model", + "reference": "https://huggingface.co/PixArt-alpha/PixArt-Sigma/tree/main", + "filename": "PixArt-Sigma-XL-2-1024-MS.pth", + "url": "https://huggingface.co/PixArt-alpha/PixArt-Sigma/resolve/main/PixArt-Sigma-XL-2-1024-MS.pth" + }, { "name": "TAESD3 Decoder", "type": "TAESD", From a94516cdb29f874f689e6ee1fcd77d719c11b601 Mon Sep 17 00:00:00 2001 From: CenFun Date: Sat, 22 Jun 2024 18:29:22 +0800 Subject: [PATCH 14/62] Model mananger UI enhancement (#808) * Model download via url * Model download support multiple selection * update Roadmap --- README.md | 6 +- js/common.js | 3 +- js/custom-nodes-manager.js | 5 +- js/model-manager.js | 185 ++++++++++++++++++++++++++++++------- 4 files changed, 158 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 8bfeebd1..aa9e3a1c 100644 --- a/README.md +++ b/README.md @@ -392,10 +392,10 @@ When you run the `scan.sh` script: - [ ] Auto migration for custom nodes with changed structures. - [ ] Version control feature for nodes. - [ ] List of currently used custom nodes. -- [ ] Download support multiple model download. -- [ ] Model download via url. +- [x] Download support multiple model download. +- [x] Model download via url. - [x] List sorting (custom nodes). -- [ ] List sorting (model). +- [x] List sorting (model). - [ ] Provides description of node. diff --git a/js/common.js b/js/common.js index 6482d00c..7a914953 100644 --- a/js/common.js +++ b/js/common.js @@ -208,5 +208,6 @@ export const icons = { search: '', extensions: '', conflicts: '', - passed: '' + passed: '', + download: '' } \ No newline at end of file diff --git a/js/custom-nodes-manager.js b/js/custom-nodes-manager.js index 2e08a92f..eccdd683 100644 --- a/js/custom-nodes-manager.js +++ b/js/custom-nodes-manager.js @@ -161,6 +161,7 @@ const pageCss = ` border-radius: 5px; padding: 10px; filter: drop-shadow(2px 5px 5px rgb(0 0 0 / 30%)); + white-space: normal; } .cn-manager-grid .cn-extensions-list { @@ -255,7 +256,7 @@ const pageCss = ` left: 0; } 100% { - left: -100px; + left: -105px; } } @@ -280,7 +281,7 @@ const pageCss = ` transparent 10px, transparent 15px ); - animation: cn-btn-loading-bg 3s linear infinite; + animation: cn-btn-loading-bg 2s linear infinite; } .cn-manager-light .cn-node-name a { diff --git a/js/model-manager.js b/js/model-manager.js index d6efd386..e7aabb2b 100644 --- a/js/model-manager.js +++ b/js/model-manager.js @@ -87,6 +87,13 @@ const pageCss = ` overflow: hidden; } +.cmm-manager-selection { + display: flex; + flex-wrap: wrap; + gap: 10px; + align-items: center; +} + .cmm-manager-message { } @@ -126,7 +133,6 @@ const pageCss = ` position: absolute; left: calc(50% - 10px); top: calc(50% - 10px); - } .cmm-manager .cmm-btn-enable { @@ -144,12 +150,31 @@ const pageCss = ` color: white; } +.cmm-btn-download { + width: 18px; + height: 18px; + position: absolute; + left: calc(50% - 10px); + top: calc(50% - 10px); + cursor: pointer; + opacity: 0.8; + color: #fff; +} + +.cmm-btn-download:hover { + opacity: 1; +} + +.cmm-manager-light .cmm-btn-download { + color: #000; +} + @keyframes cmm-btn-loading-bg { 0% { left: 0; } 100% { - left: -100px; + left: -105px; } } @@ -174,7 +199,7 @@ const pageCss = ` transparent 10px, transparent 15px ); - animation: cmm-btn-loading-bg 3s linear infinite; + animation: cmm-btn-loading-bg 2s linear infinite; } .cmm-manager-light .cmm-node-name a { @@ -207,6 +232,7 @@ const pageHtml = `
+