[{"data":1,"prerenderedAt":918},["ShallowReactive",2],{"navigation_docs":3,"trending-repo-hugohe3\u002Fppt-master":244},[4,29,99,119,189],{"title":5,"icon":6,"path":7,"stem":8,"children":9},"Start",false,"\u002Fstart","1.start",[10,14,19,24],{"title":11,"path":7,"stem":12,"icon":13},"What jscpd finds","1.start\u002Findex","i-lucide-house",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fstart\u002Finstallation","1.start\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quickstart","\u002Fstart\u002Fquickstart","1.start\u002F3.quickstart","i-lucide-rocket",{"title":25,"path":26,"stem":27,"icon":28},"Configuration basics","\u002Fstart\u002Fconfiguration","1.start\u002F4.configuration","i-lucide-settings-2",{"title":30,"icon":6,"path":31,"stem":32,"children":33,"page":6},"Guides","\u002Fguides","2.guides",[34,39,44,49,54,59,64,69,74,79,84,89,94],{"title":35,"path":36,"stem":37,"icon":38},"Use jscpd in CI","\u002Fguides\u002Fci","2.guides\u002F01.ci","i-lucide-github",{"title":40,"path":41,"stem":42,"icon":43},"Pre-commit hooks","\u002Fguides\u002Fpre-commit","2.guides\u002F02.pre-commit","i-lucide-git-commit",{"title":45,"path":46,"stem":47,"icon":48},"Fail only on new duplication","\u002Fguides\u002Fbaseline","2.guides\u002F03.baseline","i-lucide-git-compare",{"title":50,"path":51,"stem":52,"icon":53},"Monorepos","\u002Fguides\u002Fmonorepos","2.guides\u002F04.monorepos","i-lucide-folder-tree",{"title":55,"path":56,"stem":57,"icon":58},"Cross-format detection","\u002Fguides\u002Fcross-format","2.guides\u002F05.cross-format","i-lucide-layers",{"title":60,"path":61,"stem":62,"icon":63},"Agents","\u002Fguides\u002Fagents","2.guides\u002F06.agents","i-lucide-cpu",{"title":65,"path":66,"stem":67,"icon":68},"Editors","\u002Fguides\u002Feditors","2.guides\u002F07.editors","i-lucide-code",{"title":70,"path":71,"stem":72,"icon":73},"Duplication over git history","\u002Fguides\u002Fhistory","2.guides\u002F08.history","i-lucide-chart-no-axes-combined",{"title":75,"path":76,"stem":77,"icon":78},"Dashboard and health score","\u002Fguides\u002Fdashboard","2.guides\u002F09.dashboard","i-lucide-layout-dashboard",{"title":80,"path":81,"stem":82,"icon":83},"Dead code","\u002Fguides\u002Fdead-code","2.guides\u002F10.dead-code","i-lucide-ghost",{"title":85,"path":86,"stem":87,"icon":88},"Comparing two codebases","\u002Fguides\u002Fcompare","2.guides\u002F11.compare","i-lucide-git-compare-arrows",{"title":90,"path":91,"stem":92,"icon":93},"Semantic clones","\u002Fguides\u002Fsemantic-clones","2.guides\u002F12.semantic-clones","i-lucide-brain-circuit",{"title":95,"path":96,"stem":97,"icon":98},"Similar functions","\u002Fguides\u002Fsimilarity","2.guides\u002F13.similarity","i-lucide-list-tree",{"title":100,"icon":6,"path":101,"stem":102,"children":103,"page":6},"Concepts","\u002Fconcepts","3.concepts",[104,109,114],{"title":105,"path":106,"stem":107,"icon":108},"Types of code clones","\u002Fconcepts\u002Fclone-types","3.concepts\u002F1.clone-types","i-lucide-copy",{"title":110,"path":111,"stem":112,"icon":113},"How detection works","\u002Fconcepts\u002Fhow-detection-works","3.concepts\u002F2.how-detection-works","i-lucide-scan-search",{"title":115,"path":116,"stem":117,"icon":118},"The health score","\u002Fconcepts\u002Fhealth-score","3.concepts\u002F3.health-score","i-lucide-heart-pulse",{"title":120,"icon":6,"path":121,"stem":122,"children":123,"page":6},"Reference","\u002Freference","4.reference",[124,129,134,139,176,181,185],{"title":125,"path":126,"stem":127,"icon":128},"CLI options","\u002Freference\u002Fcli","4.reference\u002F1.cli","i-lucide-terminal",{"title":130,"path":131,"stem":132,"icon":133},"The config file","\u002Freference\u002Fconfig-file","4.reference\u002F2.config-file","i-lucide-settings",{"title":135,"path":136,"stem":137,"icon":138},"Exit codes","\u002Freference\u002Fexit-codes","4.reference\u002F3.exit-codes","i-lucide-log-out",{"title":140,"icon":6,"path":141,"stem":142,"children":143},"Reporters","\u002Freference\u002Freporters","4.reference\u002F4.reporters\u002Findex",[144,146,151,156,161,166,171],{"title":140,"path":141,"stem":142,"icon":145},"i-lucide-file-chart-column",{"title":147,"path":148,"stem":149,"icon":150},"HTML reporter","\u002Freference\u002Freporters\u002Fhtml","4.reference\u002F4.reporters\u002F2.html","i-lucide-file-code",{"title":152,"path":153,"stem":154,"icon":155},"JSON reporter","\u002Freference\u002Freporters\u002Fjson","4.reference\u002F4.reporters\u002F3.json","i-lucide-braces",{"title":157,"path":158,"stem":159,"icon":160},"Badge reporter","\u002Freference\u002Freporters\u002Fbadge","4.reference\u002F4.reporters\u002F4.badge","i-lucide-award",{"title":162,"path":163,"stem":164,"icon":165},"SARIF reporter","\u002Freference\u002Freporters\u002Fsarif","4.reference\u002F4.reporters\u002F5.sarif","i-lucide-shield-check",{"title":167,"path":168,"stem":169,"icon":170},"CodeClimate reporter","\u002Freference\u002Freporters\u002Fcodeclimate","4.reference\u002F4.reporters\u002F6.codeclimate","i-lucide-flag-triangle-right",{"title":172,"path":173,"stem":174,"icon":175},"OpenMetrics reporter","\u002Freference\u002Freporters\u002Fopenmetrics","4.reference\u002F4.reporters\u002F7.openmetrics","i-lucide-activity",{"title":177,"path":178,"stem":179,"icon":180},"Supported formats","\u002Freference\u002Fsupported-formats","4.reference\u002F5.supported-formats","i-lucide-languages",{"title":182,"path":183,"stem":184,"icon":38},"GitHub Action","\u002Freference\u002Fgithub-action","4.reference\u002F6.github-action",{"title":186,"path":187,"stem":188,"icon":68},"Rust crates","\u002Freference\u002Frust-crates","4.reference\u002F7.rust-crates",{"title":190,"icon":6,"path":191,"stem":192,"children":193,"page":6},"Project","\u002Fproject","5.project",[194,199,204,209,234,239],{"title":195,"path":196,"stem":197,"icon":198},"Changelog","\u002Fproject\u002Fchangelog","5.project\u002F1.changelog","i-lucide-scroll-text",{"title":200,"path":201,"stem":202,"icon":203},"Migrating from v4 to v5","\u002Fproject\u002Fmigration","5.project\u002F2.migration","i-lucide-arrow-right-left",{"title":205,"path":206,"stem":207,"icon":208},"jscpd v4 (TypeScript)","\u002Fproject\u002Fv4","5.project\u002F3.v4","i-simple-icons-typescript",{"title":210,"icon":6,"path":211,"stem":212,"children":213},"Benchmarks","\u002Fproject\u002Fbenchmarks","5.project\u002F4.benchmarks\u002Findex",[214,216,221,225,230],{"title":210,"path":211,"stem":212,"icon":215},"i-lucide-gauge",{"title":217,"path":218,"stem":219,"icon":220},"Detection Speed","\u002Fproject\u002Fbenchmarks\u002Fdetection-speed","5.project\u002F4.benchmarks\u002F2.detection-speed","i-lucide-zap",{"title":222,"path":223,"stem":224,"icon":58},"Multi-Format Detection","\u002Fproject\u002Fbenchmarks\u002Fcross-format","5.project\u002F4.benchmarks\u002F3.cross-format",{"title":226,"path":227,"stem":228,"icon":229},"AI Token Efficiency","\u002Fproject\u002Fbenchmarks\u002Fai-token-efficiency","5.project\u002F4.benchmarks\u002F4.ai-token-efficiency","i-lucide-sparkles",{"title":231,"path":232,"stem":233,"icon":93},"Embedding Models","\u002Fproject\u002Fbenchmarks\u002Fembedding-models","5.project\u002F4.benchmarks\u002F5.embedding-models",{"title":235,"path":236,"stem":237,"icon":238},"Research","\u002Fproject\u002Fresearch","5.project\u002F5.research","i-lucide-graduation-cap",{"title":240,"path":241,"stem":242,"icon":243},"Articles","\u002Fproject\u002Farticles","5.project\u002F6.articles","i-lucide-newspaper",{"name":245,"url":246,"appearances":247,"latest":263},"hugohe3\u002Fppt-master","https:\u002F\u002Fgithub.com\u002Fhugohe3\u002Fppt-master",[248],{"date":249,"rank":250,"stars":251,"starsToday":252,"headSha":253,"sources":254,"lines":255,"clones":256,"duplicatedLines":257,"percentage":258,"codePercentage":259,"codeSources":260,"healthScore":261,"healthGrade":262},"2026-10-11",3,59679,461,"b4efe3ddf237a97a42880164759162f8e2412f2f",6257,420018,3212,47130,11.22,1.85,252,55.2,"C",{"date":249,"generatedAt":264,"name":245,"url":246,"description":265,"language":266,"stars":251,"starsToday":252,"defaultBranch":267,"headSha":253,"durationMs":268,"total":269,"formats":273,"topClones":339,"code":600,"health":799,"complexity":826,"deadCode":879},"2026-10-11T05:30:24.061Z","AI turns documents or topics into real, native PowerPoint decks—with native shapes, transitions and animations, data-backed charts and tables on demand, audio narration from speaker notes, and support for your own .pptx templates. · by Hugo He","Python","main",3240,{"sources":254,"lines":255,"tokens":270,"clones":256,"duplicatedLines":257,"duplicatedTokens":271,"percentage":258,"percentageTokens":272},2743910,216799,7.9,[274,281,288,295,302,309,316,323,328,334],{"format":275,"sources":276,"lines":277,"clones":278,"duplicatedLines":279,"percentage":280},"markup",5534,146902,2704,40066,27.27,{"format":282,"sources":283,"lines":284,"clones":285,"duplicatedLines":286,"percentage":287},"python",295,197053,318,4024,2.04,{"format":289,"sources":290,"lines":291,"clones":292,"duplicatedLines":293,"percentage":294},"markdown",276,36107,94,834,2.31,{"format":296,"sources":297,"lines":298,"clones":299,"duplicatedLines":300,"percentage":301},"json",30,24651,60,1871,7.59,{"format":303,"sources":304,"lines":305,"clones":306,"duplicatedLines":307,"percentage":308},"bash",50,2593,14,88,3.39,{"format":310,"sources":311,"lines":312,"clones":313,"duplicatedLines":314,"percentage":315},"javascript",4,8362,10,126,1.51,{"format":317,"sources":318,"lines":319,"clones":320,"duplicatedLines":321,"percentage":322},"text",39,624,7,52,8.33,{"format":324,"sources":325,"lines":326,"clones":250,"duplicatedLines":321,"percentage":327},"yaml",17,612,8.5,{"format":329,"sources":250,"lines":330,"clones":331,"duplicatedLines":332,"percentage":333},"css",2261,1,11,0.49,{"format":335,"sources":336,"lines":337,"clones":331,"duplicatedLines":336,"percentage":338},"txt",6,657,0.91,[340,374,397,438,462,486,505,525,546,578],{"format":275,"lines":306,"tokens":304,"first":341,"others":344,"copies":361,"excerpt":362,"kind":275},{"name":342,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Faccessible.svg",19,[345,347,349,351,353,355,357,359],{"name":346,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Faperture.svg",{"name":348,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fball-basketball.svg",{"name":350,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fball-bowling.svg",{"name":352,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fball-football.svg",{"name":354,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fball-tennis.svg",{"name":356,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fball-volleyball.svg",{"name":358,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fban.svg",{"name":360,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fbrand-ansible.svg",169,{"lines":363,"total":306},[364,365,366,367,368,369,370,371,372,373],"-->","\u003Csvg","  xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\"","  width=\"24\"","  height=\"24\"","  viewBox=\"0 0 24 24\"","  fill=\"none\"","  stroke=\"currentColor\"","  stroke-width=\"2\"","  stroke-linecap=\"round\"",{"format":275,"lines":306,"tokens":304,"first":375,"others":377,"copies":394,"excerpt":395,"kind":275},{"name":376,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Falert-square.svg",[378,380,382,384,386,388,390,392],{"name":379,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Falign-box-bottom-center.svg",{"name":381,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Falign-box-bottom-left.svg",{"name":383,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Falign-box-bottom-right.svg",{"name":385,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Falign-box-left-bottom.svg",{"name":387,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Falign-box-left-middle.svg",{"name":389,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Falign-box-left-stretch.svg",{"name":391,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Falign-box-left-top.svg",{"name":393,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Falign-box-right-bottom.svg",84,{"lines":396,"total":306},[364,365,366,367,368,369,370,371,372,373],{"format":275,"lines":398,"tokens":399,"first":400,"others":404,"copies":426,"excerpt":427,"kind":275},9,55,{"name":401,"start":402,"end":403},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fadjustments-cog.svg",26,34,[405,408,412,415,417,420,422,424],{"name":406,"start":407,"end":297},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fapi-book.svg",22,{"name":409,"start":410,"end":411},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fbasket-cog.svg",21,29,{"name":413,"start":414,"end":402},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fbell-cog.svg",18,{"name":416,"start":410,"end":411},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fcalendar-cog.svg",{"name":418,"start":343,"end":419},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fcamera-cog.svg",27,{"name":421,"start":414,"end":402},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fclock-cog.svg",{"name":423,"start":414,"end":402},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fcloud-cog.svg",{"name":425,"start":410,"end":411},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fdatabase-cog.svg",42,{"lines":428,"total":398},[429,430,431,432,433,434,435,436,437],"  \u003Cpath d=\"M18 9v2.5\" \u002F>","  \u003Cpath d=\"M17.001 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0\" \u002F>","  \u003Cpath d=\"M19.001 15.5v1.5\" \u002F>","  \u003Cpath d=\"M19.001 21v1.5\" \u002F>","  \u003Cpath d=\"M22.032 17.25l-1.299 .75\" \u002F>","  \u003Cpath d=\"M17.27 20l-1.3 .75\" \u002F>","  \u003Cpath d=\"M15.97 17.25l1.3 .75\" \u002F>","  \u003Cpath d=\"M20.733 20l1.3 .75\" \u002F>","\u003C\u002Fsvg>",{"format":275,"lines":439,"tokens":440,"first":441,"others":444,"copies":461,"kind":275},15,57,{"name":442,"start":336,"end":443},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Ffile-3d.svg",20,[445,447,449,451,453,455,457,459],{"name":446,"start":336,"end":443},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Ffile-alert.svg",{"name":448,"start":336,"end":443},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Ffile-analytics.svg",{"name":450,"start":336,"end":443},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Ffile-arrow-left.svg",{"name":452,"start":336,"end":443},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Ffile-arrow-right.svg",{"name":454,"start":336,"end":443},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Ffile-barcode.svg",{"name":456,"start":336,"end":443},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Ffile-chart.svg",{"name":458,"start":336,"end":443},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Ffile-check.svg",{"name":460,"start":336,"end":443},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Ffile-code.svg",40,{"format":275,"lines":306,"tokens":463,"first":464,"others":467,"copies":485,"kind":275},90,{"name":465,"start":343,"end":466},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fcircle-dotted-letter-a.svg",32,[468,471,473,475,477,479,481,483],{"name":469,"start":414,"end":470},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fcircle-dotted-letter-b.svg",31,{"name":472,"start":414,"end":470},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fcircle-dotted-letter-c.svg",{"name":474,"start":414,"end":470},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fcircle-dotted-letter-d.svg",{"name":476,"start":343,"end":466},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fcircle-dotted-letter-e.svg",{"name":478,"start":343,"end":466},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fcircle-dotted-letter-f.svg",{"name":480,"start":414,"end":470},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fcircle-dotted-letter-g.svg",{"name":482,"start":343,"end":466},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fcircle-dotted-letter-h.svg",{"name":484,"start":414,"end":470},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fcircle-dotted-letter-i.svg",25,{"format":275,"lines":306,"tokens":304,"first":487,"others":488,"copies":426,"kind":275},{"name":442,"start":336,"end":343},[489,491,493,495,497,499,501,503],{"name":490,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Ffile-ai.svg",{"name":492,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Ffile-bitcoin.svg",{"name":494,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Ffile-broken.svg",{"name":496,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Ffile-certificate.svg",{"name":498,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Ffile-digit.svg",{"name":500,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Ffile-export.svg",{"name":502,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Ffile-import.svg",{"name":504,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Ffile-neutral.svg",{"format":275,"lines":439,"tokens":440,"first":506,"others":508,"copies":403,"kind":275},{"name":507,"start":336,"end":443},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fmessage-2-bolt.svg",[509,511,513,515,517,519,521,523],{"name":510,"start":336,"end":443},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fmessage-2-cancel.svg",{"name":512,"start":336,"end":443},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fmessage-2-check.svg",{"name":514,"start":336,"end":443},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fmessage-2-code.svg",{"name":516,"start":336,"end":443},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fmessage-2-cog.svg",{"name":518,"start":336,"end":443},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fmessage-2-dollar.svg",{"name":520,"start":336,"end":443},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fmessage-2-down.svg",{"name":522,"start":336,"end":443},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fmessage-2-exclamation.svg",{"name":524,"start":336,"end":443},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fmessage-2-minus.svg",{"format":275,"lines":306,"tokens":304,"first":526,"others":528,"copies":545,"kind":275},{"name":527,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fbrand-netbeans.svg",[529,531,533,535,537,539,541,543],{"name":530,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fhexagon-letter-a.svg",{"name":532,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fhexagon-letter-b.svg",{"name":534,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fhexagon-letter-c.svg",{"name":536,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fhexagon-letter-d.svg",{"name":538,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fhexagon-letter-e.svg",{"name":540,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fhexagon-letter-f.svg",{"name":542,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fhexagon-letter-g.svg",{"name":544,"start":336,"end":343},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fhexagon-letter-h.svg",37,{"format":275,"lines":403,"tokens":547,"first":548,"others":552,"copies":398,"kind":577},209,{"name":549,"start":550,"end":551},"skills\u002Fppt-master\u002Fscripts\u002Fpptx_shapes\u002Fdata\u002FpresetShapeDefinitions.xml",549,582,[553,556,559,562,565,568,571,574],{"name":549,"start":554,"end":555},645,681,{"name":549,"start":557,"end":558},828,864,{"name":549,"start":560,"end":561},1220,1256,{"name":549,"start":563,"end":564},1385,1421,{"name":549,"start":566,"end":567},1630,1666,{"name":549,"start":569,"end":570},1863,1899,{"name":549,"start":572,"end":573},2121,2157,{"name":549,"start":575,"end":576},2315,2351,"data",{"format":275,"lines":313,"tokens":579,"first":580,"others":583,"copies":402,"kind":275},62,{"name":581,"start":343,"end":582},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fcircle-dashed-letter-a.svg",28,[584,586,588,590,592,594,596,598],{"name":585,"start":414,"end":419},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fcircle-dashed-letter-b.svg",{"name":587,"start":414,"end":419},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fcircle-dashed-letter-c.svg",{"name":589,"start":414,"end":419},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fcircle-dashed-letter-d.svg",{"name":591,"start":343,"end":582},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fcircle-dashed-letter-e.svg",{"name":593,"start":343,"end":582},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fcircle-dashed-letter-f.svg",{"name":595,"start":414,"end":419},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fcircle-dashed-letter-g.svg",{"name":597,"start":343,"end":582},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fcircle-dashed-letter-h.svg",{"name":599,"start":414,"end":419},"skills\u002Fppt-master\u002Ftemplates\u002Ficons\u002Ftabler-outline\u002Fcircle-dashed-letter-i.svg",{"sources":260,"lines":601,"tokens":602,"clones":603,"duplicatedLines":604,"duplicatedTokens":605,"percentage":259,"percentageTokens":606,"formats":607,"topClones":622,"generated":797},192018,1023413,266,3550,20154,1.97,[608,614,616,619],{"format":282,"sources":609,"lines":610,"clones":611,"duplicatedLines":612,"percentage":613},239,182802,256,3424,1.87,{"format":310,"sources":250,"lines":615,"clones":313,"duplicatedLines":314,"percentage":315},8354,{"format":303,"sources":398,"lines":617,"clones":618,"duplicatedLines":618,"percentage":618},694,0,{"format":620,"sources":331,"lines":621,"clones":618,"duplicatedLines":618,"percentage":618},"perl",168,[623,663,685,712,734,743,753,762,774,785],{"format":282,"lines":582,"tokens":624,"first":625,"others":629,"copies":336,"excerpt":650,"kind":662},117,{"name":626,"start":627,"end":628},"skills\u002Fppt-master\u002Fscripts\u002Fimage_backends\u002Fbackend_minimax.py",228,255,[630,634,638,642,646],{"name":631,"start":632,"end":633},"skills\u002Fppt-master\u002Fscripts\u002Fimage_backends\u002Fbackend_modelscope.py",162,189,{"name":635,"start":636,"end":637},"skills\u002Fppt-master\u002Fscripts\u002Fimage_backends\u002Fbackend_qwen.py",198,225,{"name":639,"start":640,"end":641},"skills\u002Fppt-master\u002Fscripts\u002Fimage_backends\u002Fbackend_siliconflow.py",156,183,{"name":643,"start":644,"end":645},"skills\u002Fppt-master\u002Fscripts\u002Fimage_backends\u002Fbackend_volcengine.py",177,204,{"name":647,"start":648,"end":649},"skills\u002Fppt-master\u002Fscripts\u002Fimage_backends\u002Fbackend_zhipu.py",173,200,{"lines":651,"total":582},[652,653,654,655,656,657,658,659,660,661],"base_url = os.environ.get(\"MINIMAX_BASE_URL\") or DEFAULT_ENDPOINT","","last_error = None","for attempt in range(max_retries + 1):","    try:","        return _generate_image(","            api_key=api_key,","            prompt=prompt,","            aspect_ratio=aspect_ratio,","            image_size=normalized_size,","code",{"format":282,"lines":299,"tokens":664,"first":665,"others":669,"copies":673,"excerpt":674,"kind":662},433,{"name":666,"start":667,"end":668},"skills\u002Fppt-master\u002Fscripts\u002Fsvg_to_pptx\u002Fdrawingml\u002Felements.py",3861,3920,[670],{"name":666,"start":671,"end":672},3962,4021,2,{"lines":675,"total":299},[676,677,653,678,679,680,681,682,683,684],"def close(actual: float, expected: float) -> bool:","    return math.isclose(actual, expected, rel_tol=1e-9, abs_tol=1e-6)","try:","    if shape_tag == 'circle':","        cx = _effective_clip_geometry_length(shape, 'cx', default=0.0)","        cy = _effective_clip_geometry_length(shape, 'cy', default=0.0)","        radius = _effective_clip_geometry_length(shape, 'r', default=0.0)","        fits = (","            close(expected_w, expected_h)",{"format":282,"lines":325,"tokens":686,"first":687,"others":691,"copies":320,"excerpt":703,"kind":662},68,{"name":688,"start":689,"end":690},"skills\u002Fppt-master\u002Fscripts\u002Fimage_backends\u002Fbackend_bfl.py",8,24,[692,694,696,697,699,701],{"name":693,"start":689,"end":690},"skills\u002Fppt-master\u002Fscripts\u002Fimage_backends\u002Fbackend_fal.py",{"name":695,"start":689,"end":690},"skills\u002Fppt-master\u002Fscripts\u002Fimage_backends\u002Fbackend_ideogram.py",{"name":626,"start":689,"end":690},{"name":698,"start":689,"end":690},"skills\u002Fppt-master\u002Fscripts\u002Fimage_backends\u002Fbackend_openrouter.py",{"name":700,"start":689,"end":690},"skills\u002Fppt-master\u002Fscripts\u002Fimage_backends\u002Fbackend_stability.py",{"name":702,"start":332,"end":419},"skills\u002Fppt-master\u002Fscripts\u002Fimage_backends\u002Fbackend_tencent.py",{"lines":704,"total":325},[705,706,653,707,708,653,709,710,711,653],"  BFL_MODEL     (optional)","\"\"\"","import sys","from pathlib import Path","_SCRIPTS_DIR = Path(__file__).resolve().parents[1]","if str(_SCRIPTS_DIR) not in sys.path:","    sys.path.insert(0, str(_SCRIPTS_DIR))",{"format":282,"lines":332,"tokens":686,"first":713,"others":716,"copies":320,"kind":662},{"name":688,"start":714,"end":715},172,182,[717,720,723,726,730,731],{"name":693,"start":718,"end":719},137,147,{"name":695,"start":721,"end":722},142,152,{"name":635,"start":724,"end":725},178,188,{"name":727,"start":728,"end":729},"skills\u002Fppt-master\u002Fscripts\u002Fimage_backends\u002Fbackend_replicate.py",160,170,{"name":639,"start":718,"end":719},{"name":647,"start":732,"end":733},153,163,{"format":282,"lines":325,"tokens":735,"first":736,"others":737,"copies":336,"kind":662},69,{"name":626,"start":689,"end":690},[738,739,740,741,742],{"name":635,"start":689,"end":690},{"name":727,"start":689,"end":690},{"name":639,"start":689,"end":690},{"name":643,"start":689,"end":690},{"name":647,"start":689,"end":690},{"format":282,"lines":439,"tokens":399,"first":744,"others":746,"copies":320,"kind":662},{"name":688,"start":690,"end":745},38,[747,748,749,750,751,752],{"name":693,"start":690,"end":745},{"name":695,"start":690,"end":745},{"name":635,"start":690,"end":745},{"name":639,"start":690,"end":745},{"name":643,"start":690,"end":745},{"name":647,"start":690,"end":745},{"format":282,"lines":414,"tokens":754,"first":755,"others":756,"copies":336,"kind":662},56,{"name":693,"start":485,"end":426},[757,758,759,760,761],{"name":695,"start":485,"end":426},{"name":635,"start":485,"end":426},{"name":639,"start":485,"end":426},{"name":643,"start":485,"end":426},{"name":647,"start":485,"end":426},{"format":282,"lines":325,"tokens":718,"first":763,"others":767,"copies":250,"kind":662},{"name":764,"start":765,"end":766},"skills\u002Fppt-master\u002Fscripts\u002Fsource_to_md\u002Fdoc_to_md.py",714,730,[768,771],{"name":764,"start":769,"end":770},910,926,{"name":764,"start":772,"end":773},998,1013,{"format":282,"lines":306,"tokens":463,"first":775,"others":778,"copies":311,"kind":662},{"name":635,"start":776,"end":777},158,171,[779,782,784],{"name":639,"start":780,"end":781},118,131,{"name":643,"start":783,"end":719},134,{"name":647,"start":783,"end":719},{"format":282,"lines":313,"tokens":786,"first":787,"others":791,"copies":250,"kind":662},123,{"name":788,"start":789,"end":790},"skills\u002Fppt-master\u002Fscripts\u002Fsvg_to_pptx\u002Fpptx_package\u002Fnotes.py",240,249,[792,794],{"name":788,"start":628,"end":793},264,{"name":788,"start":795,"end":796},299,308,{"files":618,"minified":618,"sample":798},[],{"score":261,"grade":262,"size":800,"dimensions":804},{"lines":801,"files":802,"class":803},206194,307,"L",[805,812,820],{"id":806,"source":807,"value":673,"adjusted":673,"lines":808,"halfLife":327,"formats":809,"excluded":810,"weight":331,"score":811},"duplication","jscpd",4138,[282,310,303,620],[275,317,577],84.8,{"id":813,"source":807,"value":814,"adjusted":814,"lines":815,"halfLife":816,"coverage":817,"weight":818,"score":819},"dead-code",4.2,8623,7.5,99.6,0.996,67.9,{"id":821,"source":807,"value":822,"adjusted":823,"lines":824,"halfLife":304,"weight":331,"score":825},"complexity",89.2,88.5,183848,29.3,{"total":827,"mean":828,"files":829},44303,144.3,[830,835,840,845,849,854,859,864,869,874],{"path":831,"complexity":832,"lines":833,"bytes":834},"skills\u002Fppt-master\u002Fscripts\u002Fsvg_quality\u002Fchecker.py",2490,10278,409344,{"path":836,"complexity":837,"lines":838,"bytes":839},"skills\u002Fppt-master\u002Fscripts\u002Fsvg_to_pptx\u002Fpptx_package\u002Fbuilder.py",1781,8612,335551,{"path":841,"complexity":842,"lines":843,"bytes":844},"skills\u002Fppt-master\u002Fscripts\u002Fconfirm_ui\u002Fstatic\u002Fapp.js",1639,4692,242095,{"path":666,"complexity":846,"lines":847,"bytes":848},1104,5654,198489,{"path":850,"complexity":851,"lines":852,"bytes":853},"skills\u002Fppt-master\u002Fscripts\u002Fsvg_to_pptx\u002Fdrawingml\u002Futils.py",1019,3810,136040,{"path":855,"complexity":856,"lines":857,"bytes":858},"skills\u002Fppt-master\u002Fscripts\u002Fpptx_to_svg\u002Fchart_to_svg.py",982,2894,109800,{"path":860,"complexity":861,"lines":862,"bytes":863},"skills\u002Fppt-master\u002Fscripts\u002Fsvg_editor\u002Fstatic\u002Fapp.js",981,3156,145726,{"path":865,"complexity":866,"lines":867,"bytes":868},"skills\u002Fppt-master\u002Fscripts\u002Fsvg_to_pptx\u002Fpptx_package\u002Ftemplate_structure.py",944,3759,144174,{"path":870,"complexity":871,"lines":872,"bytes":873},"skills\u002Fppt-master\u002Fscripts\u002Fmirror_template_materialize.py",868,3434,128175,{"path":875,"complexity":876,"lines":877,"bytes":878},"skills\u002Fppt-master\u002Fscripts\u002Fpptx_animations.py",856,3995,143885,{"percentage":814,"findings":880,"files":881,"byCategory":882,"largest":892},43,304,[883,885,888,890],{"category":884,"count":250},"unused-file",{"category":886,"count":887},"unused-export",13,{"category":889,"count":313},"unused-symbol",{"category":891,"count":325},"unused-import",[893,894,895,898,902,905,907,910,913,915],{"category":884,"path":841,"name":653,"line":331,"lines":843},{"category":884,"path":860,"name":653,"line":331,"lines":862},{"category":884,"path":896,"name":653,"line":331,"lines":897},"skills\u002Fppt-master\u002Fscripts\u002Fspec_review\u002Fstatic\u002Fapp.js",506,{"category":886,"path":899,"name":900,"line":901,"lines":582},"skills\u002Fppt-master\u002Fscripts\u002Fsvg_to_pptx\u002Fpptx_package\u002Fdimensions.py","get_slide_dimensions",48,{"category":891,"path":903,"name":904,"line":402,"lines":485},"skills\u002Fppt-master\u002Fscripts\u002Fsvg_to_pptx\u002Fnative_objects\u002Fchart_style.py","_bool_attr",{"category":891,"path":903,"name":906,"line":419,"lines":690},"_bounds",{"category":886,"path":899,"name":908,"line":909,"lines":690},"get_pixel_dimensions",78,{"category":891,"path":903,"name":911,"line":582,"lines":912},"_chart_bool",23,{"category":891,"path":903,"name":914,"line":466,"lines":343},"_fallback_fill_candidates",{"category":886,"path":899,"name":916,"line":917,"lines":414},"detect_format_from_svg",119,1791696735236]