[{"data":1,"prerenderedAt":755},["ShallowReactive",2],{"navigation_docs":3,"trending-repo-android\u002Fskills":249,"page-views-\u002Ftrending\u002Fandroid\u002Fskills":753},[4,29,104,124,194],{"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,99],{"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,"path":101,"stem":102,"icon":103},"Boundaries","\u002Fguides\u002Fboundaries","2.guides\u002F14.boundaries","i-lucide-fence",{"title":105,"icon":6,"path":106,"stem":107,"children":108,"page":6},"Concepts","\u002Fconcepts","3.concepts",[109,114,119],{"title":110,"path":111,"stem":112,"icon":113},"Types of code clones","\u002Fconcepts\u002Fclone-types","3.concepts\u002F1.clone-types","i-lucide-copy",{"title":115,"path":116,"stem":117,"icon":118},"How detection works","\u002Fconcepts\u002Fhow-detection-works","3.concepts\u002F2.how-detection-works","i-lucide-scan-search",{"title":120,"path":121,"stem":122,"icon":123},"The health score","\u002Fconcepts\u002Fhealth-score","3.concepts\u002F3.health-score","i-lucide-heart-pulse",{"title":125,"icon":6,"path":126,"stem":127,"children":128,"page":6},"Reference","\u002Freference","4.reference",[129,134,139,144,181,186,190],{"title":130,"path":131,"stem":132,"icon":133},"CLI options","\u002Freference\u002Fcli","4.reference\u002F1.cli","i-lucide-terminal",{"title":135,"path":136,"stem":137,"icon":138},"The config file","\u002Freference\u002Fconfig-file","4.reference\u002F2.config-file","i-lucide-settings",{"title":140,"path":141,"stem":142,"icon":143},"Exit codes","\u002Freference\u002Fexit-codes","4.reference\u002F3.exit-codes","i-lucide-log-out",{"title":145,"icon":6,"path":146,"stem":147,"children":148},"Reporters","\u002Freference\u002Freporters","4.reference\u002F4.reporters\u002Findex",[149,151,156,161,166,171,176],{"title":145,"path":146,"stem":147,"icon":150},"i-lucide-file-chart-column",{"title":152,"path":153,"stem":154,"icon":155},"HTML reporter","\u002Freference\u002Freporters\u002Fhtml","4.reference\u002F4.reporters\u002F2.html","i-lucide-file-code",{"title":157,"path":158,"stem":159,"icon":160},"JSON reporter","\u002Freference\u002Freporters\u002Fjson","4.reference\u002F4.reporters\u002F3.json","i-lucide-braces",{"title":162,"path":163,"stem":164,"icon":165},"Badge reporter","\u002Freference\u002Freporters\u002Fbadge","4.reference\u002F4.reporters\u002F4.badge","i-lucide-award",{"title":167,"path":168,"stem":169,"icon":170},"SARIF reporter","\u002Freference\u002Freporters\u002Fsarif","4.reference\u002F4.reporters\u002F5.sarif","i-lucide-shield-check",{"title":172,"path":173,"stem":174,"icon":175},"CodeClimate reporter","\u002Freference\u002Freporters\u002Fcodeclimate","4.reference\u002F4.reporters\u002F6.codeclimate","i-lucide-flag-triangle-right",{"title":177,"path":178,"stem":179,"icon":180},"OpenMetrics reporter","\u002Freference\u002Freporters\u002Fopenmetrics","4.reference\u002F4.reporters\u002F7.openmetrics","i-lucide-activity",{"title":182,"path":183,"stem":184,"icon":185},"Supported formats","\u002Freference\u002Fsupported-formats","4.reference\u002F5.supported-formats","i-lucide-languages",{"title":187,"path":188,"stem":189,"icon":38},"GitHub Action","\u002Freference\u002Fgithub-action","4.reference\u002F6.github-action",{"title":191,"path":192,"stem":193,"icon":68},"Rust crates","\u002Freference\u002Frust-crates","4.reference\u002F7.rust-crates",{"title":195,"icon":6,"path":196,"stem":197,"children":198,"page":6},"Project","\u002Fproject","5.project",[199,204,209,214,239,244],{"title":200,"path":201,"stem":202,"icon":203},"Changelog","\u002Fproject\u002Fchangelog","5.project\u002F1.changelog","i-lucide-scroll-text",{"title":205,"path":206,"stem":207,"icon":208},"Migrating from v4 to v5","\u002Fproject\u002Fmigration","5.project\u002F2.migration","i-lucide-arrow-right-left",{"title":210,"path":211,"stem":212,"icon":213},"jscpd v4 (TypeScript)","\u002Fproject\u002Fv4","5.project\u002F3.v4","i-simple-icons-typescript",{"title":215,"icon":6,"path":216,"stem":217,"children":218},"Benchmarks","\u002Fproject\u002Fbenchmarks","5.project\u002F4.benchmarks\u002Findex",[219,221,226,230,235],{"title":215,"path":216,"stem":217,"icon":220},"i-lucide-gauge",{"title":222,"path":223,"stem":224,"icon":225},"Detection Speed","\u002Fproject\u002Fbenchmarks\u002Fdetection-speed","5.project\u002F4.benchmarks\u002F2.detection-speed","i-lucide-zap",{"title":227,"path":228,"stem":229,"icon":58},"Multi-Format Detection","\u002Fproject\u002Fbenchmarks\u002Fcross-format","5.project\u002F4.benchmarks\u002F3.cross-format",{"title":231,"path":232,"stem":233,"icon":234},"AI Token Efficiency","\u002Fproject\u002Fbenchmarks\u002Fai-token-efficiency","5.project\u002F4.benchmarks\u002F4.ai-token-efficiency","i-lucide-sparkles",{"title":236,"path":237,"stem":238,"icon":93},"Embedding Models","\u002Fproject\u002Fbenchmarks\u002Fembedding-models","5.project\u002F4.benchmarks\u002F5.embedding-models",{"title":240,"path":241,"stem":242,"icon":243},"Research","\u002Fproject\u002Fresearch","5.project\u002F5.research","i-lucide-graduation-cap",{"title":245,"path":246,"stem":247,"icon":248},"Articles","\u002Fproject\u002Farticles","5.project\u002F6.articles","i-lucide-newspaper",{"name":250,"url":251,"appearances":252,"latest":278},"android\u002Fskills","https:\u002F\u002Fgithub.com\u002Fandroid\u002Fskills",[253,268,273],{"date":254,"rank":255,"stars":256,"starsToday":257,"headSha":258,"sources":259,"lines":260,"clones":261,"duplicatedLines":262,"percentage":263,"codePercentage":264,"codeSources":265,"healthScore":266,"healthGrade":267},"2026-10-17",3,8144,36,"5bda39f154fb859a08d45e2392f3568e049f83fb",607,115251,1056,19801,17.18,12.08,61,52.3,"D",{"date":269,"rank":270,"stars":271,"starsToday":272,"headSha":258,"sources":259,"lines":260,"clones":261,"duplicatedLines":262,"percentage":263,"codePercentage":264,"codeSources":265,"healthScore":266,"healthGrade":267},"2026-10-18",4,8494,355,{"date":274,"rank":275,"stars":276,"starsToday":277,"headSha":258,"sources":259,"lines":260,"clones":261,"duplicatedLines":262,"percentage":263,"codePercentage":264,"codeSources":265,"healthScore":266,"healthGrade":267},"2026-10-19",5,8872,375,{"date":274,"generatedAt":279,"name":250,"url":251,"description":280,"language":281,"stars":276,"starsToday":277,"defaultBranch":282,"headSha":258,"durationMs":283,"total":284,"formats":288,"topClones":343,"code":559,"health":679,"complexity":706,"deadCode":750},"2026-10-19T05:30:13.170Z","","Kotlin","main",1263,{"sources":259,"lines":260,"tokens":285,"clones":261,"duplicatedLines":262,"duplicatedTokens":286,"percentage":263,"percentageTokens":287},1159629,221898,19.14,[289,296,303,310,317,322,327,331,335,339],{"format":290,"sources":291,"lines":292,"clones":293,"duplicatedLines":294,"percentage":295},"markdown",301,75433,405,12114,16.06,{"format":297,"sources":298,"lines":299,"clones":300,"duplicatedLines":301,"percentage":302},"text",78,12400,334,4149,33.46,{"format":304,"sources":305,"lines":306,"clones":307,"duplicatedLines":308,"percentage":309},"kotlin",122,19181,291,3104,16.18,{"format":311,"sources":312,"lines":313,"clones":314,"duplicatedLines":315,"percentage":316},"markup",44,995,23,384,38.59,{"format":318,"sources":275,"lines":319,"clones":255,"duplicatedLines":320,"percentage":321},"java",308,50,16.23,{"format":323,"sources":324,"lines":325,"clones":326,"duplicatedLines":326,"percentage":326},"python",6,3444,0,{"format":328,"sources":329,"lines":330,"clones":326,"duplicatedLines":326,"percentage":326},"json",7,1461,{"format":332,"sources":333,"lines":334,"clones":326,"duplicatedLines":326,"percentage":326},"yaml",32,865,{"format":336,"sources":337,"lines":338,"clones":326,"duplicatedLines":326,"percentage":326},"bash",9,694,{"format":340,"sources":341,"lines":342,"clones":326,"duplicatedLines":326,"percentage":326},"txt",1,202,[344,380,418,453,474,488,500,510,518,537],{"format":297,"lines":345,"tokens":346,"first":347,"others":351,"copies":368,"excerpt":369,"kind":379},17,606,{"name":348,"start":349,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Ffoundation\u002FPagerSamples.kt.md:text",2,18,[352,354,356,358,360,362,364,366],{"name":353,"start":349,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FAlertDialogSample.kt.md:text",{"name":355,"start":349,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FAnimatedTextSample.kt.md:text",{"name":357,"start":349,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FButtonGroupSample.kt.md:text",{"name":359,"start":349,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FCheckboxButtonSample.kt.md:text",{"name":361,"start":349,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FConfirmationDialogSample.kt.md:text",{"name":363,"start":349,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FCurvedTextSamples.kt.md:text",{"name":365,"start":349,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FDatePickerSample.kt.md:text",{"name":367,"start":349,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FEdgeButtonSample.kt.md:text",22,{"lines":370,"total":345},[371,372,373,374,375,376,373,377,373,378],"\u002F*"," * Copyright 2024 The Android Open Source Project"," *"," * Licensed under the Apache License, Version 2.0 (the \"License\");"," * you may not use this file except in compliance with the License."," * You may obtain a copy of the License at"," *      http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0"," * Unless required by applicable law or agreed to in writing, software","docs",{"format":297,"lines":381,"tokens":382,"first":383,"others":387,"copies":413,"excerpt":414,"kind":379},15,598,{"name":384,"start":385,"end":386},"jetpack-compose\u002Fadaptive\u002Freferences\u002Fandroid\u002Fguide\u002Fnavigation\u002Fnavigation-3\u002Frecipes\u002Fmaterial-listdetail.md:text",27,41,[388,391,393,396,400,404,408,411],{"name":389,"start":345,"end":390},"navigation\u002Fnavigation-3\u002Freferences\u002Fandroid\u002Fguide\u002Fnavigation\u002Fnavigation-3\u002Frecipes\u002Fbasic.md:text",31,{"name":392,"start":345,"end":390},"navigation\u002Fnavigation-3\u002Freferences\u002Fandroid\u002Fguide\u002Fnavigation\u002Fnavigation-3\u002Frecipes\u002Fbasicdsl.md:text",{"name":394,"start":381,"end":395},"navigation\u002Fnavigation-3\u002Freferences\u002Fandroid\u002Fguide\u002Fnavigation\u002Fnavigation-3\u002Frecipes\u002Fbasicsaveable.md:text",29,{"name":397,"start":398,"end":399},"navigation\u002Fnavigation-3\u002Freferences\u002Fandroid\u002Fguide\u002Fnavigation\u002Fnavigation-3\u002Frecipes\u002Fbottomsheet.md:text",21,35,{"name":401,"start":402,"end":403},"navigation\u002Fnavigation-3\u002Freferences\u002Fandroid\u002Fguide\u002Fnavigation\u002Fnavigation-3\u002Frecipes\u002Fcommon-ui.md:text",34,48,{"name":405,"start":406,"end":407},"navigation\u002Fnavigation-3\u002Freferences\u002Fandroid\u002Fguide\u002Fnavigation\u002Fnavigation-3\u002Frecipes\u002Fconditional.md:text",25,39,{"name":405,"start":409,"end":410},182,196,{"name":412,"start":398,"end":399},"navigation\u002Fnavigation-3\u002Freferences\u002Fandroid\u002Fguide\u002Fnavigation\u002Fnavigation-3\u002Frecipes\u002Fdialog.md:text",16,{"lines":415,"total":381},[371,416,373,374,375,376,373,417,373,378]," * Copyright 2025 The Android Open Source Project"," *     http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0",{"format":304,"lines":419,"tokens":420,"first":421,"others":423,"copies":440,"excerpt":441,"kind":452},11,413,{"name":422,"start":324,"end":413},"system\u002Fglance-canonical-layouts\u002Freferences\u002FActionDemonstrationActivity.kt",[424,426,428,430,432,434,436,438],{"name":425,"start":419,"end":368},"xr\u002Fdisplay-glasses-with-jetpack-compose-glimmer\u002Freferences\u002Fbutton-samples-source.md:kotlin",{"name":427,"start":419,"end":368},"xr\u002Fdisplay-glasses-with-jetpack-compose-glimmer\u002Freferences\u002Fbutton-source.md:kotlin",{"name":429,"start":419,"end":368},"xr\u002Fdisplay-glasses-with-jetpack-compose-glimmer\u002Freferences\u002Fcard-samples-source.md:kotlin",{"name":431,"start":419,"end":368},"xr\u002Fdisplay-glasses-with-jetpack-compose-glimmer\u002Freferences\u002Fcard-source.md:kotlin",{"name":433,"start":419,"end":368},"xr\u002Fdisplay-glasses-with-jetpack-compose-glimmer\u002Freferences\u002Fdeptheffect-source.md:kotlin",{"name":435,"start":419,"end":368},"xr\u002Fdisplay-glasses-with-jetpack-compose-glimmer\u002Freferences\u002Fdeptheffectlevels-source.md:kotlin",{"name":437,"start":419,"end":368},"xr\u002Fdisplay-glasses-with-jetpack-compose-glimmer\u002Freferences\u002Fglimmertheme-source.md:kotlin",{"name":439,"start":419,"end":368},"xr\u002Fdisplay-glasses-with-jetpack-compose-glimmer\u002Freferences\u002Ficon-source.md:kotlin",19,{"lines":442,"total":419},[443,444,445,444,446,447,448,449,450,451],"* You may obtain a copy of the License at","*","*      http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0","* Unless required by applicable law or agreed to in writing, software","* distributed under the License is distributed on an \"AS IS\" BASIS,","* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.","* See the License for the specific language governing permissions and","* limitations under the License.","*\u002F","code",{"format":297,"lines":345,"tokens":346,"first":454,"others":456,"copies":473,"kind":379},{"name":455,"start":349,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Ffoundation\u002FExpandableSample.kt.md:text",[457,459,461,463,465,467,469,471],{"name":458,"start":349,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FButtonSample.kt.md:text",{"name":460,"start":349,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FCardSample.kt.md:text",{"name":462,"start":349,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FIconButtonSample.kt.md:text",{"name":464,"start":349,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FIconToggleButtonSample.kt.md:text",{"name":466,"start":349,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FListHeaderSample.kt.md:text",{"name":468,"start":349,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FRadioButtonSample.kt.md:text",{"name":470,"start":349,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FSliderSample.kt.md:text",{"name":472,"start":349,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FStepperSample.kt.md:text",13,{"format":304,"lines":475,"tokens":476,"first":477,"others":479,"copies":440,"kind":452},8,236,{"name":478,"start":341,"end":475},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftoolbars\u002Flayout\u002FExpressiveToolbarLayout.kt",[480,481,482,483,484,485,486,487],{"name":425,"start":324,"end":473},{"name":427,"start":324,"end":473},{"name":429,"start":324,"end":473},{"name":431,"start":324,"end":473},{"name":433,"start":324,"end":473},{"name":435,"start":324,"end":473},{"name":437,"start":324,"end":473},{"name":439,"start":324,"end":473},{"format":290,"lines":489,"tokens":490,"first":491,"others":495,"copies":349,"kind":379},614,4074,{"name":492,"start":493,"end":494},"play\u002Fengage-sdk-integration\u002Freferences\u002Fandroid\u002Fguide\u002Fplaycore\u002Fengage\u002Fhealthandfitness.md:markdown",465,1078,[496],{"name":497,"start":498,"end":499},"play\u002Fengage-sdk-integration\u002Freferences\u002Fandroid\u002Fguide\u002Fplaycore\u002Fengage\u002Fotherverticals.md:markdown",702,1314,{"format":290,"lines":501,"tokens":502,"first":503,"others":505,"copies":349,"kind":379},571,3767,{"name":492,"start":504,"end":494},508,[506],{"name":507,"start":508,"end":509},"play\u002Fengage-sdk-integration\u002Freferences\u002Fandroid\u002Fguide\u002Fplaycore\u002Fengage\u002Fwatch.md:markdown",534,1105,{"format":290,"lines":511,"tokens":512,"first":513,"others":515,"copies":349,"kind":379},327,3653,{"name":514,"start":341,"end":511},"identity\u002Frestore-credentials\u002Freferences\u002Fandroid\u002Fidentity\u002Fpasskeys\u002Fcreate-passkeys.md:markdown",[516],{"name":517,"start":341,"end":511},"identity\u002Fverified-email\u002Freferences\u002Fandroid\u002Fidentity\u002Fpasskeys\u002Fcreate-passkeys.md:markdown",{"format":290,"lines":519,"tokens":520,"first":521,"others":525,"copies":270,"kind":379},181,1139,{"name":522,"start":523,"end":524},"play\u002Fengage-sdk-integration\u002Freferences\u002Fandroid\u002Fguide\u002Fplaycore\u002Fengage\u002Ffood.md:markdown",652,832,[526,529,533],{"name":492,"start":527,"end":528},623,802,{"name":530,"start":531,"end":532},"play\u002Fengage-sdk-integration\u002Freferences\u002Fandroid\u002Fguide\u002Fplaycore\u002Fengage\u002Fshopping.md:markdown",660,840,{"name":534,"start":535,"end":536},"play\u002Fengage-sdk-integration\u002Freferences\u002Fandroid\u002Fguide\u002Fplaycore\u002Fengage\u002Ftravel.md:markdown",936,1115,{"format":297,"lines":538,"tokens":539,"first":540,"others":542,"copies":337,"kind":379},12,419,{"name":541,"start":329,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Ffoundation\u002FAmbientModeSample.kt.md:text",[543,545,547,549,551,553,555,557],{"name":544,"start":329,"end":345},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FDynamicColorSchemeSample.kt.md:text",{"name":546,"start":329,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FFadingExpandingLabelSample.kt.md:text",{"name":548,"start":329,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FLevelIndicatorSample.kt.md:text",{"name":550,"start":329,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FOneHandedGestureSamples.kt.md:text",{"name":552,"start":329,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FSurfaceTransformationSample.kt.md:text",{"name":554,"start":329,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FTransformationSpecSample.kt.md:text",{"name":556,"start":329,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FTransformingLazyColumnNotificationsSample.kt.md:text",{"name":558,"start":329,"end":350},"wear\u002Fwear-compose-m3\u002Freferences\u002Fnavigation3\u002FSwipeDismissableSceneStrategySample.kt.md:text",{"sources":265,"lines":560,"tokens":561,"clones":562,"duplicatedLines":563,"duplicatedTokens":564,"percentage":264,"percentageTokens":565,"formats":566,"topClones":576,"generated":677},12211,112081,137,1475,24910,22.22,[567,571,572,573],{"format":304,"sources":568,"lines":569,"clones":562,"duplicatedLines":563,"percentage":570},45,7905,18.66,{"format":323,"sources":324,"lines":325,"clones":326,"duplicatedLines":326,"percentage":326},{"format":336,"sources":337,"lines":338,"clones":326,"duplicatedLines":326,"percentage":326},{"format":574,"sources":341,"lines":575,"clones":326,"duplicatedLines":326,"percentage":326},"perl",168,[577,592,605,618,630,642,649,658,667,672],{"format":304,"lines":413,"tokens":578,"first":579,"others":581,"copies":275,"excerpt":590,"kind":452},615,{"name":580,"start":341,"end":413},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftoolbars\u002FSearchToolBarAppWidget.kt",[582,584,586,588],{"name":583,"start":341,"end":413},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftoolbars\u002Flayout\u002FButtons.kt",{"name":585,"start":341,"end":413},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftoolbars\u002Flayout\u002FLayoutComponents.kt",{"name":587,"start":341,"end":413},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftoolbars\u002Flayout\u002FSearchToolBarLayout.kt",{"name":589,"start":341,"end":413},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftoolbars\u002Flayout\u002FToolBarLayout.kt",{"lines":591,"total":413},[371,372,373,374,375,376,373,377,373,378],{"format":304,"lines":413,"tokens":593,"first":594,"others":595,"copies":270,"excerpt":602,"kind":452},613,{"name":422,"start":341,"end":413},[596,598,600],{"name":597,"start":341,"end":413},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftext\u002FLongTextAppWidget.kt",{"name":599,"start":341,"end":413},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftext\u002FTextWithImageAppWidget.kt",{"name":601,"start":341,"end":413},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftext\u002Flayout\u002FLongTextLayout.kt",{"lines":603,"total":413},[371,604,373,374,375,376,373,377,373,378]," * Copyright 2023 The Android Open Source Project",{"format":304,"lines":345,"tokens":593,"first":606,"others":608,"copies":270,"excerpt":615,"kind":452},{"name":607,"start":341,"end":345},"system\u002Fglance-canonical-layouts\u002Freferences\u002FCanonicalLayoutActivity.kt",[609,611,613],{"name":610,"start":341,"end":345},"system\u002Fglance-canonical-layouts\u002Freferences\u002Fcollections\u002Fdata\u002FFakeImageGridDataRepository.kt",{"name":612,"start":341,"end":345},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftext\u002Flayout\u002FFullBleedImageLayout.kt",{"name":614,"start":341,"end":345},"system\u002Fglance-canonical-layouts\u002Freferences\u002Futils\u002FFontUtils.kt",{"lines":616,"total":345},[371,617,373,374,375,376,373,377,373,378]," * Copyright 2026 The Android Open Source Project",{"format":304,"lines":538,"tokens":619,"first":620,"others":622,"copies":275,"kind":452},426,{"name":621,"start":324,"end":345},"system\u002Fglance-canonical-layouts\u002Freferences\u002FCollectionsKtx.kt",[623,625,627,628],{"name":624,"start":324,"end":345},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftoolbars\u002FExpressiveToolbarAppWidget.kt",{"name":626,"start":324,"end":345},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftoolbars\u002FToolBarAppWidget.kt",{"name":478,"start":324,"end":345},{"name":629,"start":324,"end":345},"system\u002Fglance-canonical-layouts\u002Freferences\u002Futils\u002FPreviewAnnotations.kt",{"format":304,"lines":631,"tokens":632,"first":633,"others":637,"copies":349,"kind":452},14,1062,{"name":634,"start":635,"end":636},"system\u002Fglance-canonical-layouts\u002Freferences\u002Fcollections\u002Flayout\u002FActionListLayout.kt",73,86,[638],{"name":639,"start":640,"end":641},"system\u002Fglance-canonical-layouts\u002Freferences\u002Fcollections\u002Flayout\u002FCheckListLayout.kt",53,66,{"format":304,"lines":475,"tokens":476,"first":643,"others":644,"copies":275,"kind":452},{"name":422,"start":341,"end":475},[645,646,647,648],{"name":621,"start":341,"end":475},{"name":624,"start":341,"end":475},{"name":626,"start":341,"end":475},{"name":629,"start":341,"end":475},{"format":304,"lines":538,"tokens":650,"first":651,"others":654,"copies":349,"kind":452},769,{"name":652,"start":265,"end":653},"system\u002Fglance-canonical-layouts\u002Freferences\u002Fcollections\u002Flayout\u002FImageGridLayout.kt",72,[655],{"name":601,"start":656,"end":657},57,68,{"format":304,"lines":337,"tokens":659,"first":660,"others":662,"copies":349,"kind":452},657,{"name":652,"start":661,"end":653},64,[663],{"name":664,"start":665,"end":666},"system\u002Fglance-canonical-layouts\u002Freferences\u002Fcollections\u002Flayout\u002FImageTextListLayout.kt",69,77,{"format":304,"lines":345,"tokens":668,"first":669,"others":670,"copies":349,"kind":452},596,{"name":422,"start":349,"end":350},[671],{"name":607,"start":349,"end":440},{"format":304,"lines":381,"tokens":673,"first":674,"others":675,"copies":349,"kind":452},595,{"name":422,"start":349,"end":413},[676],{"name":580,"start":349,"end":413},{"files":326,"minified":326,"sample":678},[],{"score":266,"grade":267,"size":680,"dimensions":682},{"lines":560,"files":265,"class":681},"M",[683,694,701],{"id":684,"source":685,"value":686,"adjusted":687,"lines":688,"halfLife":689,"formats":690,"excluded":691,"weight":341,"score":693},"duplication","jscpd",15.1,13.5,1849,8.5,[304,323,336,574],[311,297,692],"data",33.2,{"id":695,"source":685,"value":326,"adjusted":696,"lines":326,"halfLife":697,"coverage":698,"weight":699,"score":700},"dead-code",1.1,7.5,28.2,0.282,90,{"id":702,"source":685,"value":703,"adjusted":406,"lines":704,"halfLife":320,"weight":341,"score":705},"complexity",25.6,3131,70.7,{"total":707,"mean":440,"files":708},1158,[709,714,719,724,729,733,736,740,743,747],{"path":710,"complexity":711,"lines":712,"bytes":713},"play\u002Fplay-policy-insights\u002Fscripts\u002Forchestrator.py",287,1341,46010,{"path":715,"complexity":716,"lines":717,"bytes":718},"play\u002Fplay-policy-insights\u002Fscripts\u002Fgenerate_report.py",185,876,28402,{"path":720,"complexity":721,"lines":722,"bytes":723},"play\u002Fplay-policy-insights\u002Fscripts\u002Fplay_store_scraper.py",93,410,12303,{"path":725,"complexity":726,"lines":727,"bytes":728},"play\u002Fplay-policy-insights\u002Fscripts\u002Fscanner.py",59,261,9055,{"path":730,"complexity":640,"lines":731,"bytes":732},"play\u002Fplay-policy-insights\u002Fscripts\u002Ftemplate_engine.py",243,7129,{"path":634,"complexity":257,"lines":734,"bytes":735},560,20141,{"path":737,"complexity":402,"lines":738,"bytes":739},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftext\u002Flayout\u002FTextWithImageLayout.kt",520,17290,{"path":664,"complexity":385,"lines":741,"bytes":742},497,17444,{"path":639,"complexity":744,"lines":745,"bytes":746},26,462,17067,{"path":589,"complexity":406,"lines":748,"bytes":749},455,16248,{"percentage":326,"findings":326,"files":324,"byCategory":751,"largest":752},[],[],{"\u002Ftrending\u002Fandroid\u002Fskills":754},{"views":326,"visits":326},1792421140546]