resuml 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core.ts","../src/utils/config.ts","../src/ats/checks/parsing.ts","../src/ats/i18n/en.ts","../src/ats/i18n/de.ts","../src/ats/i18n/index.ts","../src/ats/checks/yoe.ts","../src/ats/checks/recruiter.ts","../data/skills/skills.json","../src/ats/skills/matcher.ts","../src/ats/skills/index.ts","../src/ats/jdMatcher.ts","../src/ats/checks/match.ts","../src/ats/scoring.ts","../src/ats/index.ts","../src/utils/themeLoader.ts","../src/utils/resumeTemplate.ts","../src/utils/themeInfo.ts","../src/ats/rubric.ts"],"sourcesContent":["// Placeholder for core logic\n\nimport { parse } from 'yaml';\nimport merge from 'lodash.merge';\nimport { validate } from '@jsonresume/schema';\nimport type { ResumeSchema as Resume } from './types/resume';\n\nexport type { Resume };\n\n/**\n * Merges and validates resume data objects against the JSON Resume schema.\n * @param yamlContents - An array of YAML strings containing resume data.\n * @returns The merged and validated resume data.\n * @throws Error if validation fails.\n */\nexport async function processResumeData(yamlContents: string[]): Promise<Resume> {\n if (yamlContents.length === 0) {\n throw new Error('No YAML content provided for processing.');\n }\n\n // Parse YAML content and filter out invalid objects\n const dataObjects = yamlContents\n .map((content) => {\n try {\n return parse(content) as Partial<Resume>;\n } catch (error) {\n console.warn('Failed to parse YAML content:', error);\n return null;\n }\n })\n .filter((data): data is Partial<Resume> => typeof data === 'object' && data !== null);\n\n if (dataObjects.length === 0) {\n throw new Error('No valid YAML content found after parsing.');\n }\n\n // Custom array merge to ensure arrays are concatenated\n const customizer = (objValue: unknown, srcValue: unknown) => {\n if (Array.isArray(objValue)) {\n return (objValue as unknown[]).concat(srcValue as unknown[]);\n }\n return undefined; // Let lodash handle it\n };\n\n // Merge data: Concatenate arrays, deep merge objects\n const mergedData = dataObjects.reduce((acc, data) => merge(acc, data, customizer), {});\n\n // Validate using the official JSON Resume validator\n return new Promise((resolve, reject) => {\n validate(mergedData, (errors, isValid) => {\n if (!isValid) {\n reject(\n new Error(`Resume data failed schema validation: ${JSON.stringify(errors, null, 2)}`)\n );\n } else {\n resolve(mergedData);\n }\n });\n });\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\nimport yaml from 'yaml';\nimport { z } from 'zod';\nimport merge from 'lodash.merge';\nimport type { AtsConfig } from '../ats/types';\n\nconst weightEnum = z.enum(['high', 'medium', 'low']);\n\nconst atsConfigSchema = z.object({\n weights: z\n .object({\n tiers: z\n .object({\n parsing: z.number().int().min(0).max(100),\n match: z.number().int().min(0).max(100),\n recruiter: z.number().int().min(0).max(100),\n })\n .partial()\n .optional(),\n checks: z.record(z.string(), weightEnum).optional(),\n })\n .partial()\n .optional(),\n thresholds: z\n .object({\n rating: z\n .object({\n excellent: z.number(),\n good: z.number(),\n needsWork: z.number(),\n })\n .partial()\n .optional(),\n grade: z\n .object({ A: z.number(), B: z.number(), C: z.number(), D: z.number() })\n .partial()\n .optional(),\n seniorYoeCutoff: z.number().int().min(0).optional(),\n wordCount: z\n .object({ min: z.number(), max: z.number(), seniorMax: z.number() })\n .partial()\n .optional(),\n bulletsPerRole: z\n .object({ min: z.number(), max: z.number(), seniorMax: z.number() })\n .partial()\n .optional(),\n })\n .partial()\n .optional(),\n disable: z.array(z.string()).optional(),\n locale: z.string().optional(),\n});\n\nconst fileSchema = z.object({ ats: atsConfigSchema.optional() });\n\nexport const defaultConfig: AtsConfig = {\n weights: {\n tiers: { parsing: 30, match: 50, recruiter: 20 },\n checks: {},\n },\n thresholds: {\n rating: { excellent: 90, good: 75, needsWork: 60 },\n grade: { A: 90, B: 80, C: 70, D: 60 },\n seniorYoeCutoff: 10,\n wordCount: { min: 400, max: 800, seniorMax: 1600 },\n bulletsPerRole: { min: 3, max: 6, seniorMax: 10 },\n },\n disable: [],\n locale: 'en',\n};\n\nexport interface LoadConfigOptions {\n cwd?: string;\n configPath?: string;\n}\n\nexport function loadConfig(opts: LoadConfigOptions = {}): AtsConfig {\n const cwd = opts.cwd ?? process.cwd();\n const file = opts.configPath ?? path.join(cwd, 'resuml.config.yaml');\n if (!fs.existsSync(file)) return defaultConfig;\n\n const raw = fs.readFileSync(file, 'utf8');\n const parsed = (yaml.parse(raw) as unknown) ?? {};\n const result = fileSchema.safeParse(parsed);\n if (!result.success) {\n const issue = result.error.issues[0];\n const where = issue?.path.join('.') ?? '<root>';\n throw new Error(`Invalid resuml.config.yaml at \"${where}\": ${issue?.message}`);\n }\n return merge({}, defaultConfig, result.data.ats ?? {});\n}\n\nexport function effectiveWeight(\n checkId: string,\n defaultWeight: 'high' | 'medium' | 'low',\n config: AtsConfig\n): 'high' | 'medium' | 'low' {\n return config.weights.checks[checkId] ?? defaultWeight;\n}\n","import type { ResumeSchema } from '../../types/resume';\nimport type { CheckResult } from '../types';\n\ntype CheckFn = (resume: ResumeSchema, language: string) => CheckResult;\n\nconst ISO_DATE = /^\\d{4}(-\\d{2})?(-\\d{2})?$/;\n\nexport const conventionalSections: CheckFn = (resume) => {\n const required = ['basics', 'work', 'education'] as const;\n const missing = required.filter((s) => {\n const v = resume[s];\n if (Array.isArray(v)) return v.length === 0;\n return v === undefined;\n });\n const passed = missing.length === 0;\n return {\n id: 'conventional-sections',\n tier: 'parsing',\n weight: 'high',\n status: passed ? 'pass' : 'fail',\n score: Math.round(((required.length - missing.length) / required.length) * 100),\n message: passed\n ? 'All conventional sections present.'\n : `Missing required sections: ${missing.join(', ')}.`,\n hints: passed ? [] : [`Add ${missing.join(', ')} to your YAML.`],\n };\n};\n\nexport const dateFormatConsistency: CheckFn = (resume) => {\n const all: { date: string; where: string }[] = [];\n for (const w of resume.work || []) {\n if (w.startDate) all.push({ date: w.startDate, where: `work \"${w.name || ''}\".startDate` });\n if (w.endDate) all.push({ date: w.endDate, where: `work \"${w.name || ''}\".endDate` });\n }\n for (const e of resume.education || []) {\n if (e.startDate)\n all.push({ date: e.startDate, where: `education \"${e.institution || ''}\".startDate` });\n if (e.endDate)\n all.push({ date: e.endDate, where: `education \"${e.institution || ''}\".endDate` });\n }\n if (all.length === 0) {\n return {\n id: 'date-format-consistency',\n tier: 'parsing',\n weight: 'medium',\n status: 'skipped',\n score: 0,\n message: 'No dates to check.',\n hints: [],\n };\n }\n const bad = all.filter((d) => !ISO_DATE.test(d.date));\n const passed = bad.length === 0;\n return {\n id: 'date-format-consistency',\n tier: 'parsing',\n weight: 'medium',\n status: passed ? 'pass' : bad.length <= 1 ? 'warn' : 'fail',\n score: Math.round(((all.length - bad.length) / all.length) * 100),\n message: passed\n ? 'All dates use ISO-8601 format.'\n : `Non-ISO dates: ${bad\n .slice(0, 3)\n .map((b) => `${b.where}=${b.date}`)\n .join('; ')}.`,\n hints: passed ? [] : ['Use YYYY-MM or YYYY-MM-DD for every date field.'],\n };\n};\n\nexport const contactInBody: CheckFn = (resume) => {\n const b = resume.basics;\n const checks: { ok: boolean; field: string }[] = [\n { ok: !!b?.name, field: 'name' },\n { ok: !!b?.email, field: 'email' },\n { ok: !!b?.phone, field: 'phone' },\n { ok: !!b?.location?.city, field: 'location.city' },\n ];\n const missing = checks.filter((c) => !c.ok).map((c) => c.field);\n const passed = missing.length === 0;\n return {\n id: 'contact-in-body',\n tier: 'parsing',\n weight: 'high',\n status: passed ? 'pass' : 'fail',\n score: Math.round(((checks.length - missing.length) / checks.length) * 100),\n message: passed\n ? 'Contact information present in basics.'\n : `Missing contact fields: ${missing.join(', ')}.`,\n hints: passed ? [] : [`Add ${missing.join(', ')} to basics.`],\n };\n};\n\nexport const reverseChronOrder: CheckFn = (resume) => {\n const work = resume.work || [];\n if (work.length < 2) {\n return {\n id: 'reverse-chron-order',\n tier: 'parsing',\n weight: 'medium',\n status: 'skipped',\n score: 100,\n message: 'Single or no work entry.',\n hints: [],\n };\n }\n let outOfOrder = 0;\n for (let i = 0; i < work.length - 1; i++) {\n const curr = work[i];\n const next = work[i + 1];\n const a = curr?.startDate || '';\n const b = next?.startDate || '';\n if (a && b && a < b) outOfOrder++;\n }\n const passed = outOfOrder === 0;\n return {\n id: 'reverse-chron-order',\n tier: 'parsing',\n weight: 'medium',\n status: passed ? 'pass' : 'fail',\n score: passed ? 100 : Math.max(0, 100 - outOfOrder * 50),\n message: passed\n ? 'Work entries in reverse-chronological order.'\n : `${outOfOrder} pair(s) out of reverse-chronological order.`,\n hints: passed ? [] : ['Reorder work[] so the most recent role is first.'],\n };\n};\n\nexport const educationComplete: CheckFn = (resume) => {\n const edu = resume.education || [];\n if (edu.length === 0) {\n return {\n id: 'education-complete',\n tier: 'parsing',\n weight: 'low',\n status: 'fail',\n score: 0,\n message: 'No education entries.',\n hints: ['Add at least one education entry with institution, area, and studyType.'],\n };\n }\n const incomplete = edu.filter((e) => !e.institution || !e.area || !e.studyType);\n const passed = incomplete.length === 0;\n return {\n id: 'education-complete',\n tier: 'parsing',\n weight: 'low',\n status: passed ? 'pass' : 'fail',\n score: Math.round(((edu.length - incomplete.length) / edu.length) * 100),\n message: passed\n ? 'All education entries complete.'\n : `${incomplete.length} education entry(ies) missing institution/area/studyType.`,\n hints: passed ? [] : ['Fill in institution, area and studyType for every education entry.'],\n };\n};\n\nexport const allParsingChecks = [\n conventionalSections,\n dateFormatConsistency,\n contactInBody,\n reverseChronOrder,\n educationComplete,\n];\n","export interface LanguageData {\n actionVerbs: string[];\n pronouns: string[];\n stopWords: string[];\n}\n\nconst en: LanguageData = {\n actionVerbs: [\n // Leadership & Management\n 'achieved',\n 'administered',\n 'advanced',\n 'allocated',\n 'approved',\n 'assigned',\n 'authorized',\n 'chaired',\n 'consolidated',\n 'coordinated',\n 'delegated',\n 'directed',\n 'established',\n 'executed',\n 'headed',\n 'hired',\n 'hosted',\n 'led',\n 'managed',\n 'mentored',\n 'motivated',\n 'orchestrated',\n 'organized',\n 'oversaw',\n 'planned',\n 'presided',\n 'prioritized',\n 'produced',\n 'recruited',\n 'spearheaded',\n 'supervised',\n // Technical & Engineering\n 'architected',\n 'automated',\n 'built',\n 'coded',\n 'configured',\n 'debugged',\n 'deployed',\n 'designed',\n 'developed',\n 'devised',\n 'engineered',\n 'implemented',\n 'installed',\n 'integrated',\n 'launched',\n 'maintained',\n 'migrated',\n 'modernized',\n 'optimized',\n 'overhauled',\n 'programmed',\n 'prototyped',\n 'refactored',\n 'reengineered',\n 'resolved',\n 'restructured',\n 'revamped',\n 'scaled',\n 'shipped',\n 'standardized',\n 'streamlined',\n 'tested',\n 'troubleshot',\n 'upgraded',\n // Achievement & Impact\n 'accelerated',\n 'accomplished',\n 'boosted',\n 'completed',\n 'contributed',\n 'converted',\n 'decreased',\n 'delivered',\n 'doubled',\n 'earned',\n 'eliminated',\n 'exceeded',\n 'expanded',\n 'expedited',\n 'generated',\n 'grew',\n 'improved',\n 'increased',\n 'maximized',\n 'minimized',\n 'outperformed',\n 'pioneered',\n 'recovered',\n 'reduced',\n 'saved',\n 'simplified',\n 'solved',\n 'surpassed',\n 'transformed',\n 'tripled',\n // Communication & Collaboration\n 'advised',\n 'advocated',\n 'briefed',\n 'collaborated',\n 'communicated',\n 'consulted',\n 'convinced',\n 'counseled',\n 'defined',\n 'demonstrated',\n 'documented',\n 'educated',\n 'facilitated',\n 'guided',\n 'influenced',\n 'informed',\n 'instructed',\n 'liaised',\n 'negotiated',\n 'partnered',\n 'persuaded',\n 'presented',\n 'promoted',\n 'proposed',\n 'published',\n 'recommended',\n 'represented',\n 'trained',\n // Analysis & Research\n 'analyzed',\n 'assessed',\n 'audited',\n 'benchmarked',\n 'calculated',\n 'compared',\n 'compiled',\n 'conducted',\n 'discovered',\n 'evaluated',\n 'examined',\n 'explored',\n 'forecasted',\n 'identified',\n 'inspected',\n 'interpreted',\n 'investigated',\n 'mapped',\n 'measured',\n 'modeled',\n 'monitored',\n 'quantified',\n 'researched',\n 'reviewed',\n 'surveyed',\n 'synthesized',\n 'tracked',\n 'validated',\n 'verified',\n // Creation & Innovation\n 'conceptualized',\n 'crafted',\n 'created',\n 'customized',\n 'formulated',\n 'founded',\n 'initiated',\n 'innovated',\n 'introduced',\n 'invented',\n 'originated',\n 'shaped',\n ],\n pronouns: ['i', 'me', 'my', 'mine', 'myself', 'we', 'our', 'ours'],\n stopWords: [\n // Articles & determiners\n 'a',\n 'an',\n 'the',\n 'and',\n 'or',\n 'but',\n 'in',\n 'on',\n 'at',\n 'to',\n 'for',\n 'of',\n 'with',\n 'by',\n 'from',\n 'is',\n 'was',\n 'are',\n 'were',\n 'be',\n 'been',\n 'being',\n 'have',\n 'has',\n 'had',\n 'do',\n 'does',\n 'did',\n 'will',\n 'would',\n 'could',\n 'should',\n 'may',\n 'might',\n 'shall',\n 'can',\n 'this',\n 'that',\n 'these',\n 'those',\n 'it',\n 'its',\n 'as',\n 'if',\n 'not',\n 'no',\n 'so',\n 'up',\n 'out',\n 'about',\n 'into',\n 'over',\n 'after',\n 'before',\n 'between',\n 'under',\n 'above',\n 'below',\n 'all',\n 'each',\n 'every',\n 'both',\n 'few',\n 'more',\n 'most',\n 'other',\n 'some',\n 'such',\n 'than',\n 'too',\n 'very',\n // Pronouns & possessives (also checked by pronoun check, but filter from JD keywords)\n 'you',\n 'your',\n 'yours',\n 'yourself',\n 'we',\n 'our',\n 'ours',\n 'ourselves',\n 'they',\n 'them',\n 'their',\n 'theirs',\n 'he',\n 'she',\n 'his',\n 'her',\n 'hers',\n 'who',\n 'whom',\n 'whose',\n 'which',\n 'what',\n 'where',\n 'when',\n 'how',\n 'why',\n // Common JD filler words (not meaningful for skill matching)\n 'able',\n 'also',\n 'across',\n 'already',\n 'always',\n 'among',\n 'any',\n 'apply',\n 'become',\n 'believe',\n 'best',\n 'bring',\n 'change',\n 'come',\n 'committed',\n 'company',\n 'comfortable',\n 'critical',\n 'current',\n 'day',\n 'desired',\n 'either',\n 'end',\n 'ensure',\n 'environment',\n 'equal',\n 'even',\n 'excellent',\n 'exciting',\n 'exceptional',\n 'expected',\n 'experience',\n 'fast',\n 'field',\n 'find',\n 'first',\n 'focused',\n 'follow',\n 'get',\n 'give',\n 'go',\n 'going',\n 'good',\n 'great',\n 'group',\n 'grow',\n 'growing',\n 'growth',\n 'help',\n 'here',\n 'high',\n 'highly',\n 'ideal',\n 'impact',\n 'important',\n 'include',\n 'includes',\n 'including',\n 'industry',\n 'interested',\n 'job',\n 'join',\n 'just',\n 'keep',\n 'key',\n 'know',\n 'large',\n 'latest',\n 'lead',\n 'level',\n 'like',\n 'location',\n 'long',\n 'look',\n 'looking',\n 'love',\n 'make',\n 'many',\n 'much',\n 'must',\n 'need',\n 'new',\n 'next',\n 'offer',\n 'one',\n 'only',\n 'open',\n 'opportunity',\n 'order',\n 'others',\n 'own',\n 'pace',\n 'part',\n 'partner',\n 'passionate',\n 'people',\n 'per',\n 'play',\n 'plus',\n 'position',\n 'preferred',\n 'provide',\n 'put',\n 'qualifications',\n 'quickly',\n 'range',\n 'related',\n 'required',\n 'requirements',\n 'requirement',\n 'responsible',\n 'responsibilities',\n 'responsibility',\n 'result',\n 'right',\n 'role',\n 'run',\n 'same',\n 'see',\n 'seek',\n 'seeking',\n 'set',\n 'several',\n 'since',\n 'skills',\n 'someone',\n 'start',\n 'state',\n 'still',\n 'strong',\n 'success',\n 'successful',\n 'support',\n 'sure',\n 'take',\n 'team',\n 'then',\n 'there',\n 'thing',\n 'think',\n 'through',\n 'time',\n 'together',\n 'top',\n 'truly',\n 'try',\n 'two',\n 'type',\n 'use',\n 'used',\n 'using',\n 'value',\n 'want',\n 'way',\n 'well',\n 'while',\n 'within',\n 'without',\n 'work',\n 'working',\n 'world',\n 'would',\n 'year',\n 'years',\n // Section headers & structural words (not technical skills)\n 'description',\n 'overview',\n 'summary',\n 'duties',\n 'bachelor',\n 'bachelors',\n 'master',\n 'masters',\n 'degree',\n 'phd',\n 'minimum',\n 'preferred',\n 'implement',\n 'process',\n 'robust',\n 'consistent',\n 'operations',\n // URL/email/domain fragments\n 'http',\n 'https',\n 'www',\n 'com',\n 'org',\n 'net',\n 'mailto',\n // Resume/YAML schema field names (in case raw YAML is pasted)\n 'name',\n 'keywords',\n 'highlights',\n 'startdate',\n 'enddate',\n 'website',\n 'profiles',\n 'basics',\n 'position',\n 'institution',\n 'studytype',\n 'fluency',\n 'issuer',\n 'network',\n 'username',\n 'countrycode',\n 'region',\n // Generic nouns that aren't skills\n 'product',\n 'company',\n 'service',\n 'services',\n 'platform',\n 'solutions',\n 'ability',\n 'opportunity',\n 'candidate',\n 'applicant',\n 'position',\n 'salary',\n 'compensation',\n 'benefits',\n 'perks',\n 'bonus',\n 'development',\n 'management',\n 'knowledge',\n 'modern',\n 'advanced',\n 'practices',\n 'nice',\n 'technologies',\n 'technology',\n 'frameworks',\n 'framework',\n 'tools',\n 'data',\n 'based',\n 'contribute',\n 'contributions',\n 'migration',\n 'leading',\n 'source',\n 'visit',\n // Common verbs & verb forms (not technical skills, supplement action verbs list)\n 'collaborate',\n 'collaborating',\n 'collaboratively',\n 'communicate',\n 'communicating',\n 'contributing',\n 'coordinate',\n 'coordinating',\n 'demonstrate',\n 'demonstrating',\n 'design',\n 'designing',\n 'designed',\n 'develop',\n 'developing',\n 'developed',\n 'drive',\n 'driving',\n 'driven',\n 'enable',\n 'enabling',\n 'evaluate',\n 'evaluating',\n 'execute',\n 'executing',\n 'facilitate',\n 'facilitating',\n 'identify',\n 'identifying',\n 'influence',\n 'influencing',\n 'interact',\n 'interacting',\n 'lead',\n 'leverage',\n 'leveraging',\n 'manage',\n 'managing',\n 'mentor',\n 'mentoring',\n 'operate',\n 'operating',\n 'optimize',\n 'optimizing',\n 'participate',\n 'participating',\n 'report',\n 'reporting',\n 'solve',\n 'solving',\n 'understand',\n 'understanding',\n // Common adjectives & descriptors (not technical skills)\n 'fluent',\n 'proficient',\n 'deep',\n 'solid',\n 'proven',\n 'hands-on',\n 'detail-oriented',\n 'results-driven',\n 'self-motivated',\n 'proactive',\n 'creative',\n 'innovative',\n 'dynamic',\n 'strategic',\n 'analytical',\n 'collaborative',\n 'effective',\n 'efficient',\n 'reliable',\n 'flexible',\n 'adaptable',\n 'motivated',\n 'dedicated',\n 'capable',\n 'qualified',\n 'diverse',\n 'inclusive',\n 'global',\n 'local',\n 'remote',\n 'hybrid',\n 'onsite',\n 'full-time',\n 'part-time',\n 'contract',\n 'permanent',\n // Role titles & department names (not skills themselves)\n 'designer',\n 'designers',\n 'developer',\n 'developers',\n 'engineer',\n 'engineers',\n 'manager',\n 'managers',\n 'director',\n 'analyst',\n 'analysts',\n 'architect',\n 'architects',\n 'consultant',\n 'consultants',\n 'specialist',\n 'specialists',\n 'coordinator',\n 'lead',\n 'principal',\n 'staff',\n 'junior',\n 'mid',\n 'department',\n 'organization',\n 'division',\n 'stakeholder',\n 'stakeholders',\n 'client',\n 'clients',\n 'customer',\n 'customers',\n // Date & time words\n 'date',\n 'dates',\n 'month',\n 'months',\n 'week',\n 'weeks',\n 'daily',\n 'weekly',\n 'monthly',\n 'quarterly',\n 'annual',\n 'annually',\n // More generic words that aren't skills\n 'code',\n 'coding',\n 'url',\n 'contact',\n 'information',\n 'apply',\n 'application',\n 'review',\n 'reviews',\n 'quality',\n 'scale',\n 'scalable',\n 'system',\n 'systems',\n 'solution',\n 'feature',\n 'features',\n 'project',\n 'projects',\n 'build',\n 'building',\n 'deliver',\n 'delivery',\n 'cross-functional',\n ],\n};\n\nexport default en;\n","import type { LanguageData } from './en';\n\nconst de: LanguageData = {\n actionVerbs: [\n // Führung & Management\n 'geleitet',\n 'geführt',\n 'koordiniert',\n 'organisiert',\n 'verwaltet',\n 'delegiert',\n 'beaufsichtigt',\n 'betreut',\n 'eingestellt',\n 'motiviert',\n 'verantwortet',\n 'gesteuert',\n 'überwacht',\n 'priorisiert',\n 'geplant',\n // Technik & Entwicklung\n 'entwickelt',\n 'implementiert',\n 'programmiert',\n 'konfiguriert',\n 'automatisiert',\n 'deployt',\n 'gebaut',\n 'entworfen',\n 'integriert',\n 'migriert',\n 'modernisiert',\n 'optimiert',\n 'refaktoriert',\n 'skaliert',\n 'standardisiert',\n 'getestet',\n 'aufgebaut',\n 'eingeführt',\n 'bereitgestellt',\n 'umgesetzt',\n // Leistung & Ergebnisse\n 'verbessert',\n 'gesteigert',\n 'reduziert',\n 'beschleunigt',\n 'erreicht',\n 'übertroffen',\n 'erweitert',\n 'vereinfacht',\n 'gelöst',\n 'transformiert',\n 'erhöht',\n 'verdoppelt',\n 'verdreifacht',\n 'generiert',\n 'gespart',\n 'maximiert',\n 'minimiert',\n 'eliminiert',\n 'geliefert',\n 'abgeschlossen',\n // Kommunikation & Zusammenarbeit\n 'beraten',\n 'präsentiert',\n 'dokumentiert',\n 'geschult',\n 'trainiert',\n 'vermittelt',\n 'kommuniziert',\n 'verhandelt',\n 'zusammengearbeitet',\n 'unterstützt',\n 'gefördert',\n 'empfohlen',\n 'vorgestellt',\n 'publiziert',\n // Analyse & Forschung\n 'analysiert',\n 'bewertet',\n 'evaluiert',\n 'untersucht',\n 'erforscht',\n 'identifiziert',\n 'gemessen',\n 'überwacht',\n 'validiert',\n 'verifiziert',\n 'geprüft',\n 'verglichen',\n 'recherchiert',\n 'quantifiziert',\n // Kreation & Innovation\n 'konzipiert',\n 'erstellt',\n 'gestaltet',\n 'initiiert',\n 'innoviert',\n 'eingeführt',\n 'gegründet',\n 'formuliert',\n ],\n pronouns: [\n 'ich',\n 'mich',\n 'mir',\n 'mein',\n 'meine',\n 'meinem',\n 'meiner',\n 'meines',\n 'wir',\n 'unser',\n 'unsere',\n ],\n stopWords: [\n 'ein',\n 'eine',\n 'einer',\n 'eines',\n 'einem',\n 'der',\n 'die',\n 'das',\n 'den',\n 'dem',\n 'des',\n 'und',\n 'oder',\n 'aber',\n 'in',\n 'an',\n 'auf',\n 'zu',\n 'für',\n 'von',\n 'mit',\n 'bei',\n 'aus',\n 'ist',\n 'war',\n 'sind',\n 'waren',\n 'wird',\n 'wurde',\n 'werden',\n 'hat',\n 'hatte',\n 'haben',\n 'hatten',\n 'sein',\n 'kann',\n 'könnte',\n 'soll',\n 'sollte',\n 'muss',\n 'musste',\n 'darf',\n 'diese',\n 'dieser',\n 'dieses',\n 'diesem',\n 'diesen',\n 'als',\n 'wenn',\n 'nicht',\n 'kein',\n 'keine',\n 'so',\n 'auch',\n 'noch',\n 'schon',\n 'nach',\n 'vor',\n 'über',\n 'unter',\n 'zwischen',\n 'durch',\n 'ohne',\n 'um',\n 'bis',\n 'alle',\n 'jede',\n 'jeder',\n 'jedes',\n 'mehr',\n 'viel',\n 'sehr',\n ],\n};\n\nexport default de;\n","import en from './en';\nimport de from './de';\nimport type { LanguageData } from './en';\n\nexport type { LanguageData };\n\nconst languages: Record<string, LanguageData> = { en, de };\n\nexport function getLanguageData(language: string): LanguageData {\n return languages[language] ?? languages['en'] ?? en;\n}\n","import type { ResumeSchema } from '../../types/resume';\n\nexport function computeYoeYears(work: ResumeSchema['work']): number {\n const ranges = (work || [])\n .filter((w) => w.startDate)\n .map((w) => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const s = new Date(w.startDate!).getTime();\n const e = w.endDate ? new Date(w.endDate).getTime() : Date.now();\n return [s, e] as [number, number];\n })\n .sort((a, b) => a[0] - b[0]);\n if (ranges.length === 0) return 0;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const merged: [number, number][] = [ranges[0]!];\n for (let i = 1; i < ranges.length; i++) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const last = merged[merged.length - 1]!;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const curr = ranges[i]!;\n if (curr[0] <= last[1]) last[1] = Math.max(last[1], curr[1]);\n else merged.push(curr);\n }\n const ms = merged.reduce((sum, [s, e]) => sum + (e - s), 0);\n return ms / (1000 * 60 * 60 * 24 * 365.25);\n}\n","import type { ResumeSchema } from '../../types/resume';\nimport type { CheckResult, AtsConfig } from '../types';\nimport { getLanguageData } from '../i18n/index';\nimport { computeYoeYears } from './yoe';\n\ntype CheckFn = (resume: ResumeSchema, language: string, cfg: AtsConfig) => CheckResult;\n\nconst wordCount = (s: string) => s.trim().split(/\\s+/).filter(Boolean).length;\nconst firstWord = (s: string) =>\n s\n .trim()\n .split(/\\s+/)[0]\n ?.toLowerCase()\n .replace(/[^a-zA-ZäöüßÄÖÜàáâãéèêëíìîïóòôõúùûñç]/g, '') || '';\n\nfunction isSenior(resume: ResumeSchema, cfg: AtsConfig): boolean {\n return computeYoeYears(resume.work) >= cfg.thresholds.seniorYoeCutoff;\n}\n\nexport const summaryLength: CheckFn = (resume) => {\n const s = resume.basics?.summary?.trim();\n if (!s) {\n return {\n id: 'summary-length',\n tier: 'recruiter',\n weight: 'medium',\n status: 'fail',\n score: 0,\n message: 'No professional summary.',\n hints: ['Add a 2-4 sentence summary (20-50 words) to basics.summary.'],\n };\n }\n const w = wordCount(s);\n if (w >= 20 && w <= 50) {\n return {\n id: 'summary-length',\n tier: 'recruiter',\n weight: 'medium',\n status: 'pass',\n score: 100,\n message: `Summary length good (${w} words).`,\n hints: [],\n };\n }\n if (w >= 10 && w <= 80) {\n return {\n id: 'summary-length',\n tier: 'recruiter',\n weight: 'medium',\n status: 'warn',\n score: 70,\n message: `Summary ${w < 20 ? 'short' : 'long'} (${w} words). Aim for 20-50.`,\n hints: [w < 20 ? 'Expand to 20-50 words.' : 'Trim to the most impactful 20-50 words.'],\n };\n }\n return {\n id: 'summary-length',\n tier: 'recruiter',\n weight: 'medium',\n status: 'fail',\n score: Math.max(0, 100 - Math.abs(w - 35) * 2),\n message: `Summary length ${w} words is far from target.`,\n hints: ['Rewrite the summary in 2-4 sentences (20-50 words).'],\n };\n};\n\nexport const actionVerbStart: CheckFn = (resume, language) => {\n const verbs = new Set(getLanguageData(language).actionVerbs);\n const all: { text: string; path: string }[] = [];\n (resume.work || []).forEach((w, i) => {\n (w.highlights || []).forEach((h, j) =>\n all.push({ text: h, path: `work[${i}].highlights[${j}]` })\n );\n });\n (resume.projects || []).forEach((p, i) => {\n (p.highlights || []).forEach((h, j) =>\n all.push({ text: h, path: `projects[${i}].highlights[${j}]` })\n );\n });\n if (all.length === 0) {\n return {\n id: 'action-verb-start',\n tier: 'recruiter',\n weight: 'medium',\n status: 'skipped',\n score: 0,\n message: 'No highlights.',\n hints: [],\n };\n }\n const without = all.filter((h) => !verbs.has(firstWord(h.text)));\n const passed = without.length === 0;\n return {\n id: 'action-verb-start',\n tier: 'recruiter',\n weight: 'medium',\n status: passed ? 'pass' : without.length / all.length > 0.3 ? 'fail' : 'warn',\n score: Math.round(((all.length - without.length) / all.length) * 100),\n message: passed\n ? 'All highlights start with action verbs.'\n : `${without.length} of ${all.length} highlights miss an action verb.`,\n hints: passed\n ? []\n : without\n .slice(0, 3)\n .map((h) => `${h.path}: start with an action verb instead of \"${firstWord(h.text)}\".`),\n };\n};\n\nconst QUANT_RE =\n /\\d+%?|\\$[\\d,]+|[\\d,]+\\+?\\s*(users|clients|customers|people|team|members|projects|applications|servers|services|endpoints|requests|transactions)/i;\n\nexport const quantificationDensity: CheckFn = (resume) => {\n const all: { text: string; path: string }[] = [];\n (resume.work || []).forEach((w, i) => {\n (w.highlights || []).forEach((h, j) =>\n all.push({ text: h, path: `work[${i}].highlights[${j}]` })\n );\n });\n (resume.projects || []).forEach((p, i) => {\n (p.highlights || []).forEach((h, j) =>\n all.push({ text: h, path: `projects[${i}].highlights[${j}]` })\n );\n });\n if (all.length === 0) {\n return {\n id: 'quantification-density',\n tier: 'recruiter',\n weight: 'high',\n status: 'skipped',\n score: 0,\n message: 'No highlights.',\n hints: [],\n };\n }\n const quantified = all.filter((h) => QUANT_RE.test(h.text));\n const ratio = quantified.length / all.length;\n const status = ratio >= 0.5 ? 'pass' : ratio >= 0.3 ? 'warn' : 'fail';\n return {\n id: 'quantification-density',\n tier: 'recruiter',\n weight: 'high',\n status,\n score: Math.min(100, Math.round(ratio * 200)),\n message: `${quantified.length}/${all.length} highlights quantified (${Math.round(ratio * 100)}%).`,\n hints:\n status === 'pass'\n ? []\n : all\n .filter((h) => !QUANT_RE.test(h.text))\n .slice(0, 3)\n .map((h) => `${h.path}: add a number/metric.`),\n };\n};\n\nexport const pronounLeakage: CheckFn = (resume, language) => {\n const set = new Set(getLanguageData(language).pronouns);\n const blocks: { text: string; path: string }[] = [];\n if (resume.basics?.summary) blocks.push({ text: resume.basics.summary, path: 'basics.summary' });\n (resume.work || []).forEach((w, i) => {\n if (w.summary) blocks.push({ text: w.summary, path: `work[${i}].summary` });\n (w.highlights || []).forEach((h, j) =>\n blocks.push({ text: h, path: `work[${i}].highlights[${j}]` })\n );\n });\n const hits: { pronoun: string; path: string }[] = [];\n for (const b of blocks) {\n for (const w of b.text.toLowerCase().split(/\\s+/)) {\n const clean = w.replace(/[^a-zA-ZäöüßÄÖÜ]/g, '');\n if (set.has(clean)) hits.push({ pronoun: clean, path: b.path });\n }\n }\n const passed = hits.length === 0;\n return {\n id: 'pronoun-leakage',\n tier: 'recruiter',\n weight: 'low',\n status: passed ? 'pass' : hits.length > 3 ? 'fail' : 'warn',\n score: passed ? 100 : Math.max(0, 100 - hits.length * 15),\n message: passed\n ? 'No first-person pronouns.'\n : `${hits.length} pronoun(s): ${[...new Set(hits.map((h) => h.pronoun))].join(', ')}.`,\n hints: passed\n ? []\n : hits.slice(0, 3).map((h) => `${h.path}: drop \"${h.pronoun}\" (convention, not ATS).`),\n };\n};\n\nexport const bulletsPerRole: CheckFn = (resume, _l, cfg) => {\n const work = resume.work || [];\n if (work.length === 0) {\n return {\n id: 'bullets-per-role',\n tier: 'recruiter',\n weight: 'medium',\n status: 'skipped',\n score: 0,\n message: 'No work entries.',\n hints: [],\n };\n }\n const senior = isSenior(resume, cfg);\n const min = cfg.thresholds.bulletsPerRole.min;\n const max = senior ? cfg.thresholds.bulletsPerRole.seniorMax : cfg.thresholds.bulletsPerRole.max;\n const offenders: { path: string; n: number }[] = [];\n work.forEach((w, i) => {\n const n = (w.highlights || []).length;\n if (n < min || n > max) offenders.push({ path: `work[${i}]`, n });\n });\n const passed = offenders.length === 0;\n return {\n id: 'bullets-per-role',\n tier: 'recruiter',\n weight: 'medium',\n status: passed\n ? 'pass'\n : work.length === 1\n ? 'warn'\n : offenders.length > work.length / 2\n ? 'fail'\n : 'warn',\n score: Math.round(((work.length - offenders.length) / work.length) * 100),\n message: passed\n ? `All roles have ${min}-${max} highlights.`\n : `${offenders.length} role(s) outside ${min}-${max} highlights.`,\n hints: passed\n ? []\n : offenders.slice(0, 3).map((o) => `${o.path}: ${o.n} highlights, target ${min}-${max}.`),\n };\n};\n\nexport const wordCountTotal: CheckFn = (resume, _l, cfg) => {\n const senior = isSenior(resume, cfg);\n const min = cfg.thresholds.wordCount.min;\n const max = senior ? cfg.thresholds.wordCount.seniorMax : cfg.thresholds.wordCount.max;\n const parts: string[] = [];\n if (resume.basics?.summary) parts.push(resume.basics.summary);\n for (const w of resume.work || []) {\n if (w.summary) parts.push(w.summary);\n parts.push(...(w.highlights || []));\n }\n for (const p of resume.projects || []) {\n if (p.description) parts.push(p.description);\n parts.push(...(p.highlights || []));\n }\n const total = wordCount(parts.join(' '));\n const passed = total >= min && total <= max;\n const status = passed ? 'pass' : total < min * 0.7 || total > max * 1.5 ? 'fail' : 'warn';\n return {\n id: 'word-count-total',\n tier: 'recruiter',\n weight: 'low',\n status,\n score: passed ? 100 : Math.max(0, 100 - Math.round(Math.abs(total - (min + max) / 2) / 10)),\n message: `Resume body: ${total} words (target ${min}-${max}${senior ? ', senior' : ''}).`,\n hints: passed\n ? []\n : [total < min ? 'Add more depth to highlights.' : 'Trim less impactful highlights.'],\n };\n};\n\nexport const highlightLength: CheckFn = (resume) => {\n const all: { text: string; path: string }[] = [];\n (resume.work || []).forEach((w, i) => {\n (w.highlights || []).forEach((h, j) =>\n all.push({ text: h, path: `work[${i}].highlights[${j}]` })\n );\n });\n if (all.length === 0) {\n return {\n id: 'highlight-length',\n tier: 'recruiter',\n weight: 'low',\n status: 'skipped',\n score: 0,\n message: 'No highlights.',\n hints: [],\n };\n }\n const long = all.filter((h) => wordCount(h.text) > 30);\n const passed = long.length === 0;\n return {\n id: 'highlight-length',\n tier: 'recruiter',\n weight: 'low',\n status: passed ? 'pass' : long.length / all.length > 0.3 ? 'fail' : 'warn',\n score: Math.round(((all.length - long.length) / all.length) * 100),\n message: passed\n ? 'All highlights at most 30 words.'\n : `${long.length} highlight(s) over 30 words.`,\n hints: passed ? [] : long.slice(0, 3).map((h) => `${h.path}: trim to 30 words or fewer.`),\n };\n};\n\nfunction isLinkedInUrl(url: string | undefined): boolean {\n if (!url) return false;\n try {\n const host = new URL(url).hostname.toLowerCase();\n return host === 'linkedin.com' || host.endsWith('.linkedin.com');\n } catch {\n return false;\n }\n}\n\nexport const hasLinkedin: CheckFn = (resume) => {\n const profiles = resume.basics?.profiles || [];\n const found = profiles.some(\n (p) => p.network?.toLowerCase() === 'linkedin' || isLinkedInUrl(p.url)\n );\n return {\n id: 'has-linkedin',\n tier: 'recruiter',\n weight: 'low',\n status: found ? 'pass' : 'warn',\n score: found ? 100 : 0,\n message: found ? 'LinkedIn profile present.' : 'No LinkedIn profile.',\n hints: found ? [] : ['Add a LinkedIn profile to basics.profiles.'],\n };\n};\n\nexport const skillsPopulated: CheckFn = (resume) => {\n const skills = resume.skills || [];\n const withKeywords = skills.filter((s) => (s.keywords?.length ?? 0) > 0);\n const passed = withKeywords.length >= 3;\n return {\n id: 'skills-populated',\n tier: 'recruiter',\n weight: 'medium',\n status: passed ? 'pass' : withKeywords.length < 2 ? 'fail' : 'warn',\n score: Math.min(100, Math.round((withKeywords.length / 3) * 100)),\n message: passed\n ? `${withKeywords.length} skill categories with keywords.`\n : `Only ${withKeywords.length} skill categories with keywords (need 3+).`,\n hints: passed ? [] : ['Add at least 3 skill categories with keywords.'],\n };\n};\n\nexport const allRecruiterChecks = [\n summaryLength,\n actionVerbStart,\n quantificationDensity,\n pronounLeakage,\n bulletsPerRole,\n wordCountTotal,\n highlightLength,\n hasLinkedin,\n skillsPopulated,\n];\n","{\n \"version\": 1,\n \"generatedAt\": \"2026-04-22T13:58:48.172Z\",\n \"sources\": [\"onet-29.0\", \"resuml-emerging\"],\n \"license\": \"O*NET: public domain; emerging list: MIT (this repo)\",\n \"count\": 1869,\n \"skills\": [\n {\n \"id\": \"net\",\n \"canonical\": \".NET\",\n \"aliases\": [\".NET Core\", \"dotnet\"],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"10-key-calculators\",\n \"canonical\": \"10-key calculators\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"2ab-ilock-security-services\",\n \"canonical\": \"2AB iLock Security Services\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"3d-graphic-design\",\n \"canonical\": \"3D graphic design\",\n \"aliases\": [\"3D graphic design software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"3d-graphics\",\n \"canonical\": \"3D graphics\",\n \"aliases\": [\"3D graphics software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"3m-post-it-app\",\n \"canonical\": \"3M Post-it App\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"5am-glassbox-translational-research\",\n \"canonical\": \"5AM Glassbox Translational Research\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"a-mathematical-programming-language-ampl\",\n \"canonical\": \"A mathematical programming language AMPL\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"a-programming-language-apl\",\n \"canonical\": \"A programming language APL\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ab-initio\",\n \"canonical\": \"Ab Initio\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"abc-compiler\",\n \"canonical\": \"ABC Compiler\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"abc-the-aspectbench-compiler-for-aspectj\",\n \"canonical\": \"ABC: the AspectBench Compiler for AspectJ\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"access-management\",\n \"canonical\": \"Access management\",\n \"aliases\": [\"Access management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"accessdata-ftk\",\n \"canonical\": \"AccessData FTK\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"accessibility\",\n \"canonical\": \"Accessibility\",\n \"aliases\": [\"a11y\", \"WCAG\"],\n \"type\": \"practice\",\n \"hot\": true,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"acmestudio\",\n \"canonical\": \"AcmeStudio\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"acresso-installanywhere\",\n \"canonical\": \"Acresso InstallAnywhere\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"acronis-recovery-expert\",\n \"canonical\": \"Acronis Recovery Expert\",\n \"aliases\": [\"ARE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"actano-rplan\",\n \"canonical\": \"Actano Rplan\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"active-directory\",\n \"canonical\": \"Active directory\",\n \"aliases\": [\"Active directory software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"actix\",\n \"canonical\": \"Actix\",\n \"aliases\": [],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"actuate-eclipse-birt\",\n \"canonical\": \"Actuate Eclipse BIRT\",\n \"aliases\": [\"AEB\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ada\",\n \"canonical\": \"Ada\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adaptive-metadata-manager\",\n \"canonical\": \"Adaptive Metadata Manager\",\n \"aliases\": [\"AMM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ademero-content-central\",\n \"canonical\": \"Ademero Content Central\",\n \"aliases\": [\"ACC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adeptia-etl-suite\",\n \"canonical\": \"Adeptia ETL Suite\",\n \"aliases\": [\"AES\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adexa-egps-suite\",\n \"canonical\": \"Adexa eGPS Suite\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ado-net\",\n \"canonical\": \"ADO.NET\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adobe-acrobat\",\n \"canonical\": \"Adobe Acrobat\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adobe-actionscript\",\n \"canonical\": \"Adobe ActionScript\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adobe-after-effects\",\n \"canonical\": \"Adobe After Effects\",\n \"aliases\": [\"AAE\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adobe-air\",\n \"canonical\": \"Adobe AIR\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adobe-coldfusion\",\n \"canonical\": \"Adobe ColdFusion\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adobe-creative-cloud\",\n \"canonical\": \"Adobe Creative Cloud\",\n \"aliases\": [\"Adobe Creative Cloud software\", \"ACC\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adobe-director\",\n \"canonical\": \"Adobe Director\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adobe-distiller\",\n \"canonical\": \"Adobe Distiller\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adobe-dreamweaver\",\n \"canonical\": \"Adobe Dreamweaver\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adobe-experience-manager\",\n \"canonical\": \"Adobe Experience Manager\",\n \"aliases\": [\"AEM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adobe-flex\",\n \"canonical\": \"Adobe Flex\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adobe-framemaker\",\n \"canonical\": \"Adobe FrameMaker\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adobe-freehand-mx\",\n \"canonical\": \"Adobe FreeHand MX\",\n \"aliases\": [\"AFM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adobe-illustrator\",\n \"canonical\": \"Adobe Illustrator\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adobe-indesign\",\n \"canonical\": \"Adobe InDesign\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adobe-macromedia-homesite\",\n \"canonical\": \"Adobe Macromedia HomeSite\",\n \"aliases\": [\"AMH\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adobe-pagemaker\",\n \"canonical\": \"Adobe PageMaker\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adobe-photoshop\",\n \"canonical\": \"Adobe Photoshop\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adobe-postscript\",\n \"canonical\": \"Adobe PostScript\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adobe-xd\",\n \"canonical\": \"Adobe XD\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"adp-workforce-now\",\n \"canonical\": \"ADP Workforce Now\",\n \"aliases\": [\"AWN\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"advanced-business-application-programming-abap\",\n \"canonical\": \"Advanced business application programming ABAP\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"advanced-numerical\",\n \"canonical\": \"Advanced numerical\",\n \"aliases\": [\"Advanced numerical software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"advanced-processing-and-imaging-optiview-ecm\",\n \"canonical\": \"Advanced Processing and Imaging OptiView ECM\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"aec-software-fasttrack-schedule\",\n \"canonical\": \"AEC Software FastTrack Schedule\",\n \"aliases\": [\"ASFS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"aerial-bucket-trucks\",\n \"canonical\": \"Aerial bucket trucks\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"agile\",\n \"canonical\": \"Agile\",\n \"aliases\": [\"Scrum\", \"Kanban\"],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"agronomic-modeling\",\n \"canonical\": \"Agronomic modeling\",\n \"aliases\": [\"Agronomic modeling software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"airflow\",\n \"canonical\": \"Airflow\",\n \"aliases\": [\"Apache Airflow\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"airmagnet-enterprise\",\n \"canonical\": \"AirMagnet Enterprise\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"airtable\",\n \"canonical\": \"Airtable\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ajax\",\n \"canonical\": \"AJAX\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"alfresco-software-alfresco\",\n \"canonical\": \"Alfresco Software Alfresco\",\n \"aliases\": [\"ASA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"algae\",\n \"canonical\": \"Algae\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"algorithmic\",\n \"canonical\": \"Algorithmic\",\n \"aliases\": [\"Algorithmic software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"algorithmic-language-algol\",\n \"canonical\": \"Algorithmic language ALGOL\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"allaire-coldfusion\",\n \"canonical\": \"Allaire ColdFusion\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"allscripts-healthcare-automation\",\n \"canonical\": \"Allscripts healthcare automation\",\n \"aliases\": [\"Allscripts healthcare automation software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"allscripts-professional-ehr\",\n \"canonical\": \"Allscripts Professional EHR\",\n \"aliases\": [\"APE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"allscripts-sunrise\",\n \"canonical\": \"Allscripts Sunrise\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"alteryx\",\n \"canonical\": \"Alteryx\",\n \"aliases\": [\"Alteryx software\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"altia-design\",\n \"canonical\": \"Altia Design\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"altova-mapforce\",\n \"canonical\": \"Altova MapForce\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"amazon-data-pipeline\",\n \"canonical\": \"Amazon Data Pipeline\",\n \"aliases\": [\"ADP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"amazon-dynamodb\",\n \"canonical\": \"Amazon DynamoDB\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"amazon-elastic-compute-cloud-ec2\",\n \"canonical\": \"Amazon Elastic Compute Cloud EC2\",\n \"aliases\": [\"AECCE\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"amazon-elastic-container-service-ecs\",\n \"canonical\": \"Amazon Elastic Container Service ECS\",\n \"aliases\": [\"AECSE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"amazon-kinesis\",\n \"canonical\": \"Amazon Kinesis\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"amazon-redshift\",\n \"canonical\": \"Amazon Redshift\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"amazon-simple-storage-service-s3\",\n \"canonical\": \"Amazon Simple Storage Service S3\",\n \"aliases\": [\"ASSSS\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"amazon-web-services-aws\",\n \"canonical\": \"Amazon Web Services AWS\",\n \"aliases\": [\"Amazon Web Services AWS software\", \"AWSA\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"amazon-web-services-aws-cloudformation\",\n \"canonical\": \"Amazon Web Services AWS CloudFormation\",\n \"aliases\": [\"AWSAC\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"amazon-web-services-aws-sagemaker\",\n \"canonical\": \"Amazon Web Services AWS SageMaker\",\n \"aliases\": [\"AWSAS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"american-national-standards-institute-ansi-c\",\n \"canonical\": \"American National Standards Institute ANSI C\",\n \"aliases\": [\"ANSIAC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"amkai-amkaicharts\",\n \"canonical\": \"Amkai AmkaiCharts\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ampl\",\n \"canonical\": \"AMPL\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"amplifier-probes\",\n \"canonical\": \"Amplifier probes\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"ams-realtime-projects\",\n \"canonical\": \"AMS REALTIME Projects\",\n \"aliases\": [\"ARP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"analyse-it\",\n \"canonical\": \"Analyse-it\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"analysis-and-visualization-of-time-sequences-avts\",\n \"canonical\": \"Analysis and Visualization of Time Sequences AVTS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"angoss-knowledgeseeker\",\n \"canonical\": \"Angoss KnowledgeSEEKER\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"angular\",\n \"canonical\": \"Angular\",\n \"aliases\": [\"AngularJS\", \"Angular.js\"],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"ansible\",\n \"canonical\": \"Ansible\",\n \"aliases\": [\"Ansible software\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"ant-design\",\n \"canonical\": \"Ant Design\",\n \"aliases\": [\"AntD\"],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"anthillpro\",\n \"canonical\": \"AnthillPro\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"anthropic\",\n \"canonical\": \"Anthropic\",\n \"aliases\": [\"Claude\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"anti-phishing\",\n \"canonical\": \"Anti-phishing\",\n \"aliases\": [\"Anti-phishing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"anti-spyware\",\n \"canonical\": \"Anti-spyware\",\n \"aliases\": [\"Anti-spyware software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"anti-trojan\",\n \"canonical\": \"Anti-Trojan\",\n \"aliases\": [\"Anti-Trojan software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"antivirus\",\n \"canonical\": \"Antivirus\",\n \"aliases\": [\"Antivirus software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"aonix-software-through-pictures\",\n \"canonical\": \"Aonix Software Through Pictures\",\n \"aliases\": [\"ASTP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-airflow\",\n \"canonical\": \"Apache Airflow\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-ant\",\n \"canonical\": \"Apache Ant\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-avro\",\n \"canonical\": \"Apache Avro\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-cassandra\",\n \"canonical\": \"Apache Cassandra\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-continuum\",\n \"canonical\": \"Apache Continuum\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-flume\",\n \"canonical\": \"Apache Flume\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-groovy\",\n \"canonical\": \"Apache Groovy\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-gump\",\n \"canonical\": \"Apache Gump\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-hadoop\",\n \"canonical\": \"Apache Hadoop\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-hbase\",\n \"canonical\": \"Apache HBase\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-hive\",\n \"canonical\": \"Apache Hive\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-http-server\",\n \"canonical\": \"Apache HTTP Server\",\n \"aliases\": [\"AHS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-jmeter\",\n \"canonical\": \"Apache JMeter\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-kafka\",\n \"canonical\": \"Apache Kafka\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-mahout\",\n \"canonical\": \"Apache Mahout\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-maven\",\n \"canonical\": \"Apache Maven\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-mxnet\",\n \"canonical\": \"Apache MXNet\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-oozie\",\n \"canonical\": \"Apache Oozie\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-pig\",\n \"canonical\": \"Apache Pig\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-solr\",\n \"canonical\": \"Apache Solr\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-spark\",\n \"canonical\": \"Apache Spark\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-sqoop\",\n \"canonical\": \"Apache Sqoop\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-struts\",\n \"canonical\": \"Apache Struts\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-subversion-svn\",\n \"canonical\": \"Apache Subversion SVN\",\n \"aliases\": [\"ASS\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apache-tomcat\",\n \"canonical\": \"Apache Tomcat\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apatar\",\n \"canonical\": \"Apatar\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apfloat\",\n \"canonical\": \"Apfloat\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apollo\",\n \"canonical\": \"Apollo\",\n \"aliases\": [\"Apollo Client\", \"Apollo GraphQL\"],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"apple-cocoa\",\n \"canonical\": \"Apple Cocoa\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apple-final-cut-pro\",\n \"canonical\": \"Apple Final Cut Pro\",\n \"aliases\": [\"AFCP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apple-ios\",\n \"canonical\": \"Apple iOS\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apple-keynote\",\n \"canonical\": \"Apple Keynote\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apple-macos\",\n \"canonical\": \"Apple macOS\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apple-safari\",\n \"canonical\": \"Apple Safari\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"apple-shazam\",\n \"canonical\": \"Apple Shazam\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"application-management\",\n \"canonical\": \"Application management\",\n \"aliases\": [\"Application management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"application-server\",\n \"canonical\": \"Application server\",\n \"aliases\": [\"Application server software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"application-servers\",\n \"canonical\": \"Application servers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"appraisal\",\n \"canonical\": \"Appraisal\",\n \"aliases\": [\"Appraisal software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"aptech-systems-gauss\",\n \"canonical\": \"Aptech Systems GAUSS\",\n \"aliases\": [\"ASG\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"arcgis-web-appbuilder\",\n \"canonical\": \"ArcGIS Web AppBuilder\",\n \"aliases\": [\"AWA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"architecture-description-language-adl\",\n \"canonical\": \"Architecture description language ADL\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"arcsight-enterprise-threat-and-risk-management\",\n \"canonical\": \"ArcSight Enterprise Threat and Risk Management\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"arfit\",\n \"canonical\": \"ARfit\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"argocd\",\n \"canonical\": \"ArgoCD\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"armon-technologies-xlactuary\",\n \"canonical\": \"ARMON Technologies XLActuary\",\n \"aliases\": [\"ATX\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"arping\",\n \"canonical\": \"Arping\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"articulated-robots\",\n \"canonical\": \"Articulated robots\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"aruba-networks-airwave\",\n \"canonical\": \"Aruba Networks AirWave\",\n \"aliases\": [\"ANA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ascensio-systems-teamlab\",\n \"canonical\": \"Ascensio Systems TeamLab\",\n \"aliases\": [\"AST\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"asg-technologies-asg-zeke\",\n \"canonical\": \"ASG Technologies ASG-Zeke\",\n \"aliases\": [\"ATA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"asp-net\",\n \"canonical\": \"ASP.NET\",\n \"aliases\": [\"ASP.NET Core\"],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"assembla\",\n \"canonical\": \"Assembla\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"asset-management-administration\",\n \"canonical\": \"Asset management administration\",\n \"aliases\": [\"Asset management administration software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"aster-data-ncluster\",\n \"canonical\": \"Aster Data nCluster\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"astro\",\n \"canonical\": \"Astro\",\n \"aliases\": [],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"asynchronous-transfer-mode-atm-analyzers\",\n \"canonical\": \"Asynchronous transfer mode ATM analyzers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"atlassian-bamboo\",\n \"canonical\": \"Atlassian Bamboo\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"atlassian-bitbucket\",\n \"canonical\": \"Atlassian Bitbucket\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"atlassian-confluence\",\n \"canonical\": \"Atlassian Confluence\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"atlassian-hipchat\",\n \"canonical\": \"Atlassian HipChat\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"atlassian-jira\",\n \"canonical\": \"Atlassian JIRA\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"attask\",\n \"canonical\": \"AtTask\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"audioconferencing\",\n \"canonical\": \"Audioconferencing\",\n \"aliases\": [\"Audioconferencing systems\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"augmint\",\n \"canonical\": \"Augmint\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"autocoders\",\n \"canonical\": \"Autocoders\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"autodesk-3ds-max\",\n \"canonical\": \"Autodesk 3ds Max\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"autodesk-autocad\",\n \"canonical\": \"Autodesk AutoCAD\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"autodesk-land-desktop\",\n \"canonical\": \"Autodesk Land Desktop\",\n \"aliases\": [\"ALD\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"autodesk-mapguide\",\n \"canonical\": \"Autodesk MapGuide\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"autodesk-maya\",\n \"canonical\": \"Autodesk Maya\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"autodesk-revit\",\n \"canonical\": \"Autodesk Revit\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"autodesk-scaleform\",\n \"canonical\": \"Autodesk Scaleform\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"autodesk-topobase\",\n \"canonical\": \"Autodesk Topobase\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"automated-audit-trail-analysis\",\n \"canonical\": \"Automated audit trail analysis\",\n \"aliases\": [\"Automated audit trail analysis software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"automated-document-generation\",\n \"canonical\": \"Automated document generation\",\n \"aliases\": [\"Automated document generation software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"automated-installation\",\n \"canonical\": \"Automated installation\",\n \"aliases\": [\"Automated installation software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"automated-media-tracking\",\n \"canonical\": \"Automated media tracking\",\n \"aliases\": [\"Automated media tracking software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"automatic-forecasting-systems-autobox\",\n \"canonical\": \"Automatic Forecasting Systems Autobox\",\n \"aliases\": [\"AFSA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"automation-centre-trackersuite-net\",\n \"canonical\": \"Automation Centre TrackerSuite.Net\",\n \"aliases\": [\"ACT\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"autonomy-imanage-worksite\",\n \"canonical\": \"Autonomy iManage WorkSite\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"avaya-identity-engines\",\n \"canonical\": \"Avaya Identity Engines\",\n \"aliases\": [\"AIE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"awk\",\n \"canonical\": \"AWK\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"aws\",\n \"canonical\": \"AWS\",\n \"aliases\": [\"Amazon Web Services\"],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"axum\",\n \"canonical\": \"Axum\",\n \"aliases\": [],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"axure-rp\",\n \"canonical\": \"Axure RP\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"aztec\",\n \"canonical\": \"Aztec\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"azure-devops\",\n \"canonical\": \"Azure DevOps\",\n \"aliases\": [\"ADO\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"b-method\",\n \"canonical\": \"B-Method\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"b-w-port-scanner\",\n \"canonical\": \"B&W Port Scanner\",\n \"aliases\": [\"BPS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"backbone-js\",\n \"canonical\": \"Backbone.js\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"backup-and-archival\",\n \"canonical\": \"Backup and archival\",\n \"aliases\": [\"Backup and archival software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"backup-servers\",\n \"canonical\": \"Backup servers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"balsamiq-studios-balsamiq-mockups\",\n \"canonical\": \"Balsamiq Studios Balsamiq Mockups\",\n \"aliases\": [\"BSBM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"basecamp\",\n \"canonical\": \"Basecamp\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"bash\",\n \"canonical\": \"Bash\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"basic-local-alignment-search-tool-blast\",\n \"canonical\": \"Basic Local Alignment Search Tool BLAST\",\n \"aliases\": [\"BLASTB\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"basis-bbx-visualpro-5\",\n \"canonical\": \"Basis BBx VisualPRO/5\",\n \"aliases\": [\"BBV\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"bea-tuxedo\",\n \"canonical\": \"BEA Tuxedo\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"beginner-s-all-purpose-symbolic-instruction-code-basic\",\n \"canonical\": \"Beginner's all-purpose symbolic instruction code BASIC\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"bentley-microstation\",\n \"canonical\": \"Bentley MicroStation\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"bentley-systems-projectwise\",\n \"canonical\": \"Bentley Systems ProjectWise\",\n \"aliases\": [\"BSP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"berkeley-internet-domain-name-bind\",\n \"canonical\": \"Berkeley Internet Domain Name BIND\",\n \"aliases\": [\"BIDNB\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"bigloo-scheme\",\n \"canonical\": \"Bigloo Scheme\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"bigquery\",\n \"canonical\": \"BigQuery\",\n \"aliases\": [],\n \"type\": \"database\",\n \"hot\": false,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"bioconductor\",\n \"canonical\": \"Bioconductor\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"biome\",\n \"canonical\": \"Biome\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"bit-error-rate-testers-bert\",\n \"canonical\": \"Bit error rate testers BERT\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"bitbucket\",\n \"canonical\": \"Bitbucket\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"bitwizard-b-v-mtr\",\n \"canonical\": \"BitWizard B.V. mtr\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"bizmatics-prognocis-emr\",\n \"canonical\": \"Bizmatics PrognoCIS EMR\",\n \"aliases\": [\"BPE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"blackbaud-the-raiser-s-edge\",\n \"canonical\": \"Blackbaud The Raiser's Edge\",\n \"aliases\": [\"BTRE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"blackberry-enterprise-server\",\n \"canonical\": \"BlackBerry Enterprise Server\",\n \"aliases\": [\"BES\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"blackboard\",\n \"canonical\": \"Blackboard\",\n \"aliases\": [\"Blackboard software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"blade-servers\",\n \"canonical\": \"Blade servers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"blink\",\n \"canonical\": \"Blink\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"bmc-software-change-manager\",\n \"canonical\": \"BMC Software Change Manager\",\n \"aliases\": [\"BSCM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"bmc-software-control-m\",\n \"canonical\": \"BMC Software Control-M\",\n \"aliases\": [\"BSC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"bmc-software-recovery-manager-rman\",\n \"canonical\": \"BMC Software Recovery Manager RMAN\",\n \"aliases\": [\"BSRMR\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"bmc-software-remedy-it-service-management-suite\",\n \"canonical\": \"BMC Software Remedy IT Service Management Suite\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"bootstrap\",\n \"canonical\": \"Bootstrap\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"border-gateway-protocol-bgp\",\n \"canonical\": \"Border Gateway Protocol BGP\",\n \"aliases\": [\"BGPB\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"borland-silktest\",\n \"canonical\": \"Borland SilkTest\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"borland-visibroker\",\n \"canonical\": \"Borland VisiBroker\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"bourne-shell\",\n \"canonical\": \"Bourne Shell\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"bowtie\",\n \"canonical\": \"Bowtie\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"brightwork-pmpoint\",\n \"canonical\": \"BrightWork pmPoint\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"broadband-aggregation-equipment\",\n \"canonical\": \"Broadband aggregation equipment\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"broadsoft-broadworks\",\n \"canonical\": \"BroadSoft BroadWorks\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"broadvision\",\n \"canonical\": \"BroadVision\",\n \"aliases\": [\"BroadVision software\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"bugzilla\",\n \"canonical\": \"Bugzilla\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"bun\",\n \"canonical\": \"Bun\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"burrows-wheeler-aligner-bwa\",\n \"canonical\": \"Burrows-Wheeler Aligner BWA\",\n \"aliases\": [\"BAB\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"business-forecast-systems-forecast-pro\",\n \"canonical\": \"Business Forecast Systems Forecast Pro\",\n \"aliases\": [\"BFSFP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"business-intelligence\",\n \"canonical\": \"Business intelligence\",\n \"aliases\": [\"Business intelligence software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"business-intelligence-system\",\n \"canonical\": \"Business intelligence system\",\n \"aliases\": [\"Business intelligence system software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"business-objects-data-integrator\",\n \"canonical\": \"Business Objects Data Integrator\",\n \"aliases\": [\"BODI\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"business-process-management-bpm\",\n \"canonical\": \"Business process management BPM\",\n \"aliases\": [\"Business process management BPM software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"c-for-graphics-cg\",\n \"canonical\": \"C for Graphics cg\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"c-shell\",\n \"canonical\": \"C shell\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"c\",\n \"canonical\": \"C#\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"c\",\n \"canonical\": \"C++\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ca-easytrieve-report-generator\",\n \"canonical\": \"CA Easytrieve Report Generator\",\n \"aliases\": [\"CERG\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ca-etrust\",\n \"canonical\": \"CA eTrust\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ca-idms\",\n \"canonical\": \"CA IDMS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ca-siteminder\",\n \"canonical\": \"CA SiteMinder\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ca-technologies-ca-clarity-ppm-for-it-governance\",\n \"canonical\": \"CA Technologies CA Clarity PPM for IT Governance\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ca-technologies-erwin-data-modeler\",\n \"canonical\": \"CA Technologies ERWin Data Modeler\",\n \"aliases\": [\"CTEDM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cabinet-ng-cng-safe\",\n \"canonical\": \"Cabinet NG CNG-SAFE\",\n \"aliases\": [\"CNC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cable-analyzers\",\n \"canonical\": \"Cable analyzers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"cable-cutters\",\n \"canonical\": \"Cable cutters\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"cable-plows\",\n \"canonical\": \"Cable plows\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"cable-qualification-testers\",\n \"canonical\": \"Cable qualification testers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"cable-testers\",\n \"canonical\": \"Cable testers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"cable-tie-guns\",\n \"canonical\": \"Cable tie guns\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"cable-verifiers\",\n \"canonical\": \"Cable verifiers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"caching-engines\",\n \"canonical\": \"Caching engines\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"calendar-and-scheduling\",\n \"canonical\": \"Calendar and scheduling\",\n \"aliases\": [\"Calendar and scheduling software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"call-accounting\",\n \"canonical\": \"Call accounting\",\n \"aliases\": [\"Call accounting software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"call-center\",\n \"canonical\": \"Call center\",\n \"aliases\": [\"Call center software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"call-processing-language-cpl\",\n \"canonical\": \"Call-processing language CPL\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"camfit-data-limited-microfit\",\n \"canonical\": \"Camfit Data Limited Microfit\",\n \"aliases\": [\"CDLM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"canonical-launchpad\",\n \"canonical\": \"Canonical Launchpad\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"canu\",\n \"canonical\": \"Canu\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"capacity-planning\",\n \"canonical\": \"Capacity planning\",\n \"aliases\": [\"Capacity planning software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"capsys-capture\",\n \"canonical\": \"CAPSYS Capture\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cascading-style-sheets-css\",\n \"canonical\": \"Cascading style sheets CSS\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cash-flow\",\n \"canonical\": \"Cash flow\",\n \"aliases\": [\"Cash flow software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cassandra\",\n \"canonical\": \"Cassandra\",\n \"aliases\": [],\n \"type\": \"database\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"cast-sql-builder\",\n \"canonical\": \"CAST SQL Builder\",\n \"aliases\": [\"CSB\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"catalog-navigation\",\n \"canonical\": \"Catalog navigation\",\n \"aliases\": [\"Catalog navigation software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cda-international-manifold\",\n \"canonical\": \"CDA International Manifold\",\n \"aliases\": [\"CDA International Manifold System\", \"CIM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"central-desktop\",\n \"canonical\": \"Central Desktop\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cerner-millennium\",\n \"canonical\": \"Cerner Millennium\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cerner-powerchart\",\n \"canonical\": \"Cerner PowerChart\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"chai\",\n \"canonical\": \"Chai\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"chakra-ui\",\n \"canonical\": \"Chakra UI\",\n \"aliases\": [\"Chakra\"],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"channel-banks\",\n \"canonical\": \"Channel banks\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"charm\",\n \"canonical\": \"Charm++\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"chartware-emr\",\n \"canonical\": \"ChartWare EMR\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"chatbot\",\n \"canonical\": \"Chatbot\",\n \"aliases\": [\"Chatbot software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"check-point-next-generation-secure-web-gateway\",\n \"canonical\": \"Check Point Next Generation Secure Web Gateway\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"chef\",\n \"canonical\": \"Chef\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ci-cd\",\n \"canonical\": \"CI/CD\",\n \"aliases\": [\"CICD\", \"Continuous Integration\", \"Continuous Delivery\", \"Continuous Deployment\"],\n \"type\": \"practice\",\n \"hot\": true,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"circleci\",\n \"canonical\": \"CircleCI\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"circuit-testers\",\n \"canonical\": \"Circuit testers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"cisco-ios\",\n \"canonical\": \"Cisco IOS\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cisco-systems-cisco-netflow-collection-engine\",\n \"canonical\": \"Cisco Systems Cisco NetFlow Collection Engine\",\n \"aliases\": [\"CSCNCE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cisco-systems-cisco-traffic-analyzer\",\n \"canonical\": \"Cisco Systems Cisco Traffic Analyzer\",\n \"aliases\": [\"CSCTA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cisco-systems-cisco-web-cache-communication-protocol-wccp\",\n \"canonical\": \"Cisco Systems Cisco Web Cache Communication Protocol WCCP\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cisco-systems-ciscoworks\",\n \"canonical\": \"Cisco Systems CiscoWorks\",\n \"aliases\": [\"CSC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cisco-systems-ciscoworks-lan-management-solution\",\n \"canonical\": \"Cisco Systems CiscoWorks LAN Management Solution\",\n \"aliases\": [\"CSCLMS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cisco-systems-gateway-load-balancing-protocol-glbp\",\n \"canonical\": \"Cisco Systems Gateway Load Balancing Protocol GLBP\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cisco-systems-hot-standby-router-protocol-hsrp\",\n \"canonical\": \"Cisco Systems Hot Standby Router Protocol HSRP\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cisco-systems-wireless-control-system-wcs\",\n \"canonical\": \"Cisco Systems Wireless Control System WCS\",\n \"aliases\": [\"CSWCSW\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cisco-webex\",\n \"canonical\": \"Cisco Webex\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"citrix-cloud-computing\",\n \"canonical\": \"Citrix cloud computing\",\n \"aliases\": [\"Citrix cloud computing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"citrix-xenapp\",\n \"canonical\": \"Citrix XenApp\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"clarified-networks-clarified-analyzer\",\n \"canonical\": \"Clarified Networks Clarified Analyzer\",\n \"aliases\": [\"CNCA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"claritas-prizm-ne\",\n \"canonical\": \"Claritas PRIZM NE\",\n \"aliases\": [\"CPN\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"clarity-systems-ibm-clarity\",\n \"canonical\": \"Clarity Systems IBM Clarity\",\n \"aliases\": [\"CSIC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"clarizen\",\n \"canonical\": \"Clarizen\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cleartrial\",\n \"canonical\": \"ClearTrial\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"clickhouse\",\n \"canonical\": \"ClickHouse\",\n \"aliases\": [],\n \"type\": \"database\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"clinical-trial-management\",\n \"canonical\": \"Clinical trial management\",\n \"aliases\": [\"Clinical trial management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"clinical-trials-database\",\n \"canonical\": \"Clinical trials database\",\n \"aliases\": [\"Clinical trials database software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"clipper\",\n \"canonical\": \"Clipper\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cloud-computing-servers\",\n \"canonical\": \"Cloud computing servers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"cloudera-impala\",\n \"canonical\": \"Cloudera Impala\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cloudflare\",\n \"canonical\": \"Cloudflare\",\n \"aliases\": [\"Cloudflare Workers\", \"Workers\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"cloveretl\",\n \"canonical\": \"CloverETL\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"clustalw\",\n \"canonical\": \"ClustalW\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cluster\",\n \"canonical\": \"Cluster\",\n \"aliases\": [\"Cluster systems\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"cluster-server\",\n \"canonical\": \"Cluster server\",\n \"aliases\": [\"Cluster server software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"clustering\",\n \"canonical\": \"Clustering\",\n \"aliases\": [\"Clustering software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"clustermatic\",\n \"canonical\": \"Clustermatic\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cmake\",\n \"canonical\": \"CMake\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"coaxial-cable-testers\",\n \"canonical\": \"Coaxial cable testers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"code-generator\",\n \"canonical\": \"Code generator\",\n \"aliases\": [\"Code generator software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"code-hosting\",\n \"canonical\": \"Code hosting\",\n \"aliases\": [\"Code hosting software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"code-munger\",\n \"canonical\": \"Code munger\",\n \"aliases\": [\"Code munger software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"code-review\",\n \"canonical\": \"Code Review\",\n \"aliases\": [\"Code Reviews\"],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"codefutures-dbshards\",\n \"canonical\": \"CodeFutures dbShards\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"coffeecup-the-html-editor\",\n \"canonical\": \"CoffeeCup The HTML Editor\",\n \"aliases\": [\"CTHE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"coglin-mill-rodin\",\n \"canonical\": \"Coglin Mill RODIN\",\n \"aliases\": [\"CMR\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"colasoft-capsa-enterprise\",\n \"canonical\": \"Colasoft Capsa Enterprise\",\n \"aliases\": [\"CCE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"colasoft-capsa-free\",\n \"canonical\": \"Colasoft Capsa Free\",\n \"aliases\": [\"CCF\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"collaborative-application-lifecycle-management-alm\",\n \"canonical\": \"Collaborative application lifecycle management ALM\",\n \"aliases\": [\"Collaborative application lifecycle management ALM software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"collaborative-application-markup-language-caml\",\n \"canonical\": \"Collaborative Application Markup Language CAML\",\n \"aliases\": [\"CAMLC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"collaborative-editing\",\n \"canonical\": \"Collaborative editing\",\n \"aliases\": [\"Collaborative editing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"combo-crimping\",\n \"canonical\": \"Combo crimping\",\n \"aliases\": [\"Combo crimping tools\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"command-interpreters\",\n \"canonical\": \"Command interpreters\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"common-business-oriented-language-cobol\",\n \"canonical\": \"Common business oriented language COBOL\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"common-gateway-interface-cgi\",\n \"canonical\": \"Common gateway interface CGI\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"common-lisp-object-system-clos\",\n \"canonical\": \"Common Lisp Object System CLOS\",\n \"aliases\": [\"CLOSC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"communication-cable-testers\",\n \"canonical\": \"Communication cable testers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"communications-analyzers\",\n \"canonical\": \"Communications analyzers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"compaction-tampers\",\n \"canonical\": \"Compaction tampers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"compaq-insight-manager\",\n \"canonical\": \"Compaq Insight Manager\",\n \"aliases\": [\"CIM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"compatibility-testing\",\n \"canonical\": \"Compatibility testing\",\n \"aliases\": [\"Compatibility testing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"compilers\",\n \"canonical\": \"Compilers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"compliance-testing\",\n \"canonical\": \"Compliance testing\",\n \"aliases\": [\"Compliance testing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"component-object-model-com\",\n \"canonical\": \"Component object model COM\",\n \"aliases\": [\"Component object model COM software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"component-based-scalable-logical-architecture-csla\",\n \"canonical\": \"Component-based Scalable Logical Architecture CSLA\",\n \"aliases\": [\"CSLAC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"computational-statistics\",\n \"canonical\": \"Computational statistics\",\n \"aliases\": [\"Computational statistics software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"computer-aided-design-and-drafting-cadd\",\n \"canonical\": \"Computer aided design and drafting CADD\",\n \"aliases\": [\"Computer aided design and drafting CADD software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"computer-aided-design-and-drafting-software-cadd\",\n \"canonical\": \"Computer aided design and drafting software CADD\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"computer-aided-design-cad\",\n \"canonical\": \"Computer aided design CAD\",\n \"aliases\": [\"Computer aided design CAD software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"computer-aided-software-engineering-case\",\n \"canonical\": \"Computer aided software engineering CASE\",\n \"aliases\": [\"Computer aided software engineering CASE tools\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"computer-algebra-system-for-algebraic-geometry-casa\",\n \"canonical\": \"Computer Algebra System for Algebraic Geometry CASA\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"computer-associates-arcserv-backup\",\n \"canonical\": \"Computer Associates ArcServ Backup\",\n \"aliases\": [\"CAAB\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"computer-associates-log-analyzer\",\n \"canonical\": \"Computer Associates Log Analyzer\",\n \"aliases\": [\"CALA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"computer-based-training\",\n \"canonical\": \"Computer based training\",\n \"aliases\": [\"Computer based training software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"computer-clusters\",\n \"canonical\": \"Computer clusters\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"computer-data-input-scanners\",\n \"canonical\": \"Computer data input scanners\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"computer-forensic\",\n \"canonical\": \"Computer forensic\",\n \"aliases\": [\"Computer forensic software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"computer-hard-disk-drives\",\n \"canonical\": \"Computer hard disk drives\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"computer-intrusion-detection\",\n \"canonical\": \"Computer intrusion detection\",\n \"aliases\": [\"Computer intrusion detection systems\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"computer-laser-printers\",\n \"canonical\": \"Computer laser printers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"computer-network-routers\",\n \"canonical\": \"Computer network routers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"computer-network-switches\",\n \"canonical\": \"Computer network switches\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"computer-on-line-real-time-applications-language-coral-66\",\n \"canonical\": \"Computer On-line Real-time Applications Language CORAL 66\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"computer-scanners\",\n \"canonical\": \"Computer scanners\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"computer-servers\",\n \"canonical\": \"Computer servers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"computer-system-diagnostics\",\n \"canonical\": \"Computer system diagnostics\",\n \"aliases\": [\"Computer system diagnostics software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"computer-tool-kits\",\n \"canonical\": \"Computer tool kits\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"computer-workstation-setups\",\n \"canonical\": \"Computer workstation setups\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"computerized-physician-order-entry-cpoe\",\n \"canonical\": \"Computerized physician order entry CPOE\",\n \"aliases\": [\"Computerized physician order entry CPOE software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"computhink-viewwise\",\n \"canonical\": \"Computhink ViewWise\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"compuware-clientvantage-agentless-monitoring\",\n \"canonical\": \"Compuware ClientVantage Agentless Monitoring\",\n \"aliases\": [\"CCAM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"conarc-ichannel\",\n \"canonical\": \"Conarc iChannel\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"concurrency-control\",\n \"canonical\": \"Concurrency control\",\n \"aliases\": [\"Concurrency control software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"configuration-management\",\n \"canonical\": \"Configuration management\",\n \"aliases\": [\"Configuration management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"confluence\",\n \"canonical\": \"Confluence\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"conformance-and-validation-testing\",\n \"canonical\": \"Conformance and validation testing\",\n \"aliases\": [\"Conformance and validation testing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"congruity-technologies-inspector\",\n \"canonical\": \"Congruity Technologies Inspector\",\n \"aliases\": [\"CTI\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"connectivity\",\n \"canonical\": \"Connectivity\",\n \"aliases\": [\"Connectivity software\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"content-filter\",\n \"canonical\": \"Content filter\",\n \"aliases\": [\"Content filter software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"content-servers\",\n \"canonical\": \"Content servers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"continuity-testers\",\n \"canonical\": \"Continuity testers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"continuous-integration\",\n \"canonical\": \"Continuous integration\",\n \"aliases\": [\"Continuous integration software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"coordinate-geometry-cogo\",\n \"canonical\": \"Coordinate geometry COGO\",\n \"aliases\": [\"Coordinate geometry COGO software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"copy-machines\",\n \"canonical\": \"Copy machines\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"corel-coreldraw-graphics-suite\",\n \"canonical\": \"Corel CorelDraw Graphics Suite\",\n \"aliases\": [\"CCGS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cost-estimating\",\n \"canonical\": \"Cost estimating\",\n \"aliases\": [\"Cost estimating software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"couchbase-server\",\n \"canonical\": \"Couchbase Server\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"countersoft-gemini\",\n \"canonical\": \"Countersoft Gemini\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cross-functional-collaboration\",\n \"canonical\": \"Cross-functional Collaboration\",\n \"aliases\": [\"cross-functional\"],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"crosstec-netop-remote-control\",\n \"canonical\": \"CrossTec NetOp Remote Control\",\n \"aliases\": [\"CNRC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cruisecontrol\",\n \"canonical\": \"CruiseControl\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cryptographic-key-management\",\n \"canonical\": \"Cryptographic key management\",\n \"aliases\": [\"Cryptographic key management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cufflinks\",\n \"canonical\": \"Cufflinks\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"customer-information-control-system-cics\",\n \"canonical\": \"Customer information control system CICS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"customer-relationship-management-crm\",\n \"canonical\": \"Customer relationship management CRM\",\n \"aliases\": [\"Customer relationship management CRM software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"cypress\",\n \"canonical\": \"Cypress\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"cytel-statxact\",\n \"canonical\": \"Cytel StatXact\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"daptiv-ppm\",\n \"canonical\": \"Daptiv PPM\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"dartware-intermapper\",\n \"canonical\": \"Dartware InterMapper\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"dassault-systemes-catia\",\n \"canonical\": \"Dassault Systemes CATIA\",\n \"aliases\": [\"DSC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"dassault-systemes-solidworks\",\n \"canonical\": \"Dassault Systemes SolidWorks\",\n \"aliases\": [\"DSS\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"data-analysis\",\n \"canonical\": \"Data analysis\",\n \"aliases\": [\"Data analysis software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"data-conversion\",\n \"canonical\": \"Data conversion\",\n \"aliases\": [\"Data conversion software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"data-definition-language-ddl\",\n \"canonical\": \"Data definition language DDL\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"data-dictionary\",\n \"canonical\": \"Data dictionary\",\n \"aliases\": [\"Data dictionary software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"data-entry\",\n \"canonical\": \"Data entry\",\n \"aliases\": [\"Data entry software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"data-manipulation-language-dml\",\n \"canonical\": \"Data manipulation language DML\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"data-mapping\",\n \"canonical\": \"Data mapping\",\n \"aliases\": [\"Data mapping software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"data-mining\",\n \"canonical\": \"Data mining\",\n \"aliases\": [\"Data mining software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"data-modeling\",\n \"canonical\": \"Data modeling\",\n \"aliases\": [\"Data modeling software\", \"Data Model\", \"Data Models\"],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"data-recovery-software-sql-server-data-recovery\",\n \"canonical\": \"Data Recovery Software SQL Server Data Recovery\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"data-transformation-services-dts\",\n \"canonical\": \"Data transformation services DTS\",\n \"aliases\": [\"Data transformation services DTS software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"data-validation\",\n \"canonical\": \"Data validation\",\n \"aliases\": [\"Data validation software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"data-visualization\",\n \"canonical\": \"Data visualization\",\n \"aliases\": [\"Data visualization software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"data-warehouse\",\n \"canonical\": \"Data warehouse\",\n \"aliases\": [\"Data warehouse software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"data-warehouse-appliances\",\n \"canonical\": \"Data warehouse appliances\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"database\",\n \"canonical\": \"Database\",\n \"aliases\": [\"Database software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"database-capacity-planning\",\n \"canonical\": \"Database capacity planning\",\n \"aliases\": [\"Database capacity planning software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"database-cloning\",\n \"canonical\": \"Database cloning\",\n \"aliases\": [\"Database cloning software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"database-design\",\n \"canonical\": \"Database design\",\n \"aliases\": [\"Database design software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"database-management\",\n \"canonical\": \"Database management\",\n \"aliases\": [\"Database management software\", \"Database management systems\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"database-security\",\n \"canonical\": \"Database security\",\n \"aliases\": [\"Database security software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"database-testing\",\n \"canonical\": \"Database testing\",\n \"aliases\": [\"Database testing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"datadescription-datadesk\",\n \"canonical\": \"DataDescription DataDesk\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"datadog\",\n \"canonical\": \"Datadog\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"datavision\",\n \"canonical\": \"DataVision\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"day-software-cq5-web-content-management\",\n \"canonical\": \"Day Software CQ5 Web Content Management\",\n \"aliases\": [\"DSCWCM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"db-tech-ras\",\n \"canonical\": \"DB Tech RAS\",\n \"aliases\": [\"DTR\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"dbase\",\n \"canonical\": \"dBASE\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"dbase-plus\",\n \"canonical\": \"dBASE Plus\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"dbt\",\n \"canonical\": \"dbt\",\n \"aliases\": [\"data build tool\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"dbtools-software-dbmanager-professional\",\n \"canonical\": \"DBTools Software DBManager Professional\",\n \"aliases\": [\"DSDP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"debugging\",\n \"canonical\": \"Debugging\",\n \"aliases\": [\"Debugging software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"debugview\",\n \"canonical\": \"Debugview\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"decompilers\",\n \"canonical\": \"Decompilers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"defect-tracking\",\n \"canonical\": \"Defect tracking\",\n \"aliases\": [\"Defect tracking software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"delphi-technology\",\n \"canonical\": \"Delphi Technology\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"deno\",\n \"canonical\": \"Deno\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"deployment\",\n \"canonical\": \"Deployment\",\n \"aliases\": [\"Deployment software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"design-systems\",\n \"canonical\": \"Design Systems\",\n \"aliases\": [\"Design System\"],\n \"type\": \"practice\",\n \"hot\": true,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"desktop-computers\",\n \"canonical\": \"Desktop computers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"desktop-partitioning\",\n \"canonical\": \"Desktop partitioning\",\n \"aliases\": [\"Desktop partitioning software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"diagramming\",\n \"canonical\": \"Diagramming\",\n \"aliases\": [\"Diagramming software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"diameter\",\n \"canonical\": \"Diameter\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"difequ\",\n \"canonical\": \"DifEqu\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"dig\",\n \"canonical\": \"Dig\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"digger-derricks\",\n \"canonical\": \"Digger derricks\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"digital-cameras\",\n \"canonical\": \"Digital cameras\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"digital-power-meters\",\n \"canonical\": \"Digital power meters\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"digital-tapes\",\n \"canonical\": \"Digital tapes\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"digital-video-cameras\",\n \"canonical\": \"Digital video cameras\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"digitizers\",\n \"canonical\": \"Digitizers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"directory-servers\",\n \"canonical\": \"Directory servers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"disarea-5pm\",\n \"canonical\": \"Disarea 5pm\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"disaster-recovery\",\n \"canonical\": \"Disaster recovery\",\n \"aliases\": [\"Disaster recovery software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"discrete-dynamics-lab-ddlab\",\n \"canonical\": \"Discrete Dynamics Lab DDLab\",\n \"aliases\": [\"DDLD\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"discrete-event-simulation\",\n \"canonical\": \"Discrete event simulation\",\n \"aliases\": [\"Discrete event simulation software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"disk-operating-system-dos\",\n \"canonical\": \"Disk operating system DOS\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"distributed-component-object-model-dcom\",\n \"canonical\": \"Distributed component object model DCOM\",\n \"aliases\": [\"Distributed component object model DCOM software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"distributed-database-management\",\n \"canonical\": \"Distributed database management\",\n \"aliases\": [\"Distributed database management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"distributed-heterogeneous-computers\",\n \"canonical\": \"Distributed heterogeneous computers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"django\",\n \"canonical\": \"Django\",\n \"aliases\": [],\n \"type\": \"framework\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"doc-it-dm\",\n \"canonical\": \"Doc.It DM\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"docker\",\n \"canonical\": \"Docker\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"document-imaging\",\n \"canonical\": \"Document imaging\",\n \"aliases\": [\"Document imaging software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"document-indexing\",\n \"canonical\": \"Document indexing\",\n \"aliases\": [\"Document indexing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"document-management-system\",\n \"canonical\": \"Document management system\",\n \"aliases\": [\"Document management system software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"document-object-model-dom-scripting\",\n \"canonical\": \"Document Object Model DOM Scripting\",\n \"aliases\": [\"DOMDS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"docusign-esignature\",\n \"canonical\": \"DocuSign eSignature\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"domain-name-servers-dns\",\n \"canonical\": \"Domain name servers DNS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"domain-name-system-dns\",\n \"canonical\": \"Domain name system DNS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"domain-driven-design\",\n \"canonical\": \"Domain-Driven Design\",\n \"aliases\": [\"DDD\"],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"dos-shell-script\",\n \"canonical\": \"DOS shell script\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"dotproject\",\n \"canonical\": \"dotProject\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"doxygen\",\n \"canonical\": \"Doxygen\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"drizzle\",\n \"canonical\": \"Drizzle\",\n \"aliases\": [\"Drizzle ORM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"dropbox\",\n \"canonical\": \"Dropbox\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"drug-coding\",\n \"canonical\": \"Drug coding\",\n \"aliases\": [\"Drug coding software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"drupal\",\n \"canonical\": \"Drupal\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"dsp-development-dadisp\",\n \"canonical\": \"DSP Development DADiSP\",\n \"aliases\": [\"DDD\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"dynamic-analysis\",\n \"canonical\": \"Dynamic analysis\",\n \"aliases\": [\"Dynamic analysis software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"dynamic-host-configuration-protocol-dhcp\",\n \"canonical\": \"Dynamic host configuration protocol DHCP\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"dynamic-hypertext-markup-language-dhtml\",\n \"canonical\": \"Dynamic hypertext markup language DHTML\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"dynamic-modeling\",\n \"canonical\": \"Dynamic modeling\",\n \"aliases\": [\"Dynamic modeling software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"dynamodb\",\n \"canonical\": \"DynamoDB\",\n \"aliases\": [],\n \"type\": \"database\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"dynatrace\",\n \"canonical\": \"Dynatrace\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"dzs-software-solutions-clinplus\",\n \"canonical\": \"DZS Software Solutions ClinPlus\",\n \"aliases\": [\"DSSC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"e-mds\",\n \"canonical\": \"e-MDs\",\n \"aliases\": [\"e-MDs software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"e-pattern-language\",\n \"canonical\": \"E++ pattern language\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"easycis\",\n \"canonical\": \"easyCIS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"eclinicalworks-ehr\",\n \"canonical\": \"eClinicalWorks EHR\",\n \"aliases\": [\"eClinicalWorks EHR software\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"eclipse-ide\",\n \"canonical\": \"Eclipse IDE\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"eclipse-jersey\",\n \"canonical\": \"Eclipse Jersey\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"econometric-software-limdep\",\n \"canonical\": \"Econometric Software LIMDEP\",\n \"aliases\": [\"ESL\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"edge-computing\",\n \"canonical\": \"Edge Computing\",\n \"aliases\": [\"edge functions\"],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"edgewell-trac\",\n \"canonical\": \"Edgewell Trac\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"edulastic\",\n \"canonical\": \"Edulastic\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"eiffel\",\n \"canonical\": \"Eiffel\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ej-technologies-jprofiler\",\n \"canonical\": \"ej-technologies JProfiler\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"eko\",\n \"canonical\": \"Eko\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"elasticsearch\",\n \"canonical\": \"Elasticsearch\",\n \"aliases\": [\"ES\"],\n \"type\": \"database\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"electriccloud-electriccommander\",\n \"canonical\": \"ElectricCloud ElectricCommander\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"electricity-monitors\",\n \"canonical\": \"Electricity monitors\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"electronic-data-capture-edc\",\n \"canonical\": \"Electronic data capture EDC\",\n \"aliases\": [\"Electronic data capture EDC software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"electronic-design-automation-eda\",\n \"canonical\": \"Electronic design automation EDA\",\n \"aliases\": [\"Electronic design automation EDA software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"electronic-medical-administration-record-emar\",\n \"canonical\": \"Electronic medical administration record eMAR\",\n \"aliases\": [\"Electronic medical administration record eMAR software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"element-management\",\n \"canonical\": \"Element management\",\n \"aliases\": [\"Element management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"element-software-copper\",\n \"canonical\": \"Element Software Copper\",\n \"aliases\": [\"ESC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"elesoft-research\",\n \"canonical\": \"EleSoft Research\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"elixir\",\n \"canonical\": \"Elixir\",\n \"aliases\": [],\n \"type\": \"language\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"ellucian-banner-erp\",\n \"canonical\": \"Ellucian Banner ERP\",\n \"aliases\": [\"EBE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"elysia\",\n \"canonical\": \"Elysia\",\n \"aliases\": [],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"email\",\n \"canonical\": \"Email\",\n \"aliases\": [\"Email software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"email-management\",\n \"canonical\": \"Email management\",\n \"aliases\": [\"Email management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"embarcadero-delphi\",\n \"canonical\": \"Embarcadero Delphi\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"embarcadero-er-studio-xe\",\n \"canonical\": \"Embarcadero ER/Studio XE\",\n \"aliases\": [\"EEX\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"embarcadero-jbuilder\",\n \"canonical\": \"Embarcadero JBuilder\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"embarcadero-technologies-dbartisan\",\n \"canonical\": \"Embarcadero Technologies DBArtisan\",\n \"aliases\": [\"ETD\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"embedded-systems-development\",\n \"canonical\": \"Embedded systems development\",\n \"aliases\": [\"Embedded systems development software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"embeddings\",\n \"canonical\": \"Embeddings\",\n \"aliases\": [],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"emc-captiva\",\n \"canonical\": \"EMC Captiva\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"emc-document-sciences-xpression\",\n \"canonical\": \"EMC Document Sciences xPression\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"emc-documentum\",\n \"canonical\": \"EMC Documentum\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"emc-ionix-network-configuration-manager\",\n \"canonical\": \"EMC Ionix Network Configuration Manager\",\n \"aliases\": [\"EINCM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"emc-networker\",\n \"canonical\": \"EMC NetWorker\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"emc-smarts-network-protocol-manager\",\n \"canonical\": \"EMC Smarts Network Protocol Manager\",\n \"aliases\": [\"ESNPM\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"emc-symmetrix-dmx\",\n \"canonical\": \"EMC Symmetrix DMX\",\n \"aliases\": [\"ESD\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"emerald-software-group-emerald-green-office\",\n \"canonical\": \"Emerald Software Group Emerald Green Office\",\n \"aliases\": [\"ESGEGO\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"emotion\",\n \"canonical\": \"Emotion\",\n \"aliases\": [],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"encryption\",\n \"canonical\": \"Encryption\",\n \"aliases\": [\"Encryption software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"end-to-end-encryption\",\n \"canonical\": \"End-to-end encryption\",\n \"aliases\": [\"End-to-end encryption software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"endeavour-agile-alm\",\n \"canonical\": \"Endeavour Agile ALM\",\n \"aliases\": [\"EAA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"enhanced-interior-gateway-routing-protocol-eigrp\",\n \"canonical\": \"Enhanced Interior Gateway Routing Protocol EIGRP\",\n \"aliases\": [\"EIGRPE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"enterprise-application-integration-eai\",\n \"canonical\": \"Enterprise application integration EAI\",\n \"aliases\": [\"Enterprise application integration EAI software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"enterprise-javabeans\",\n \"canonical\": \"Enterprise JavaBeans\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"enterprise-report-management-erm\",\n \"canonical\": \"Enterprise report management ERM\",\n \"aliases\": [\"Enterprise report management ERM software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"enterprise-resource-planning-erp\",\n \"canonical\": \"Enterprise resource planning ERP\",\n \"aliases\": [\"Enterprise resource planning ERP software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"epharmasolutions-emvr\",\n \"canonical\": \"ePharmaSolutions eMVR\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"epic\",\n \"canonical\": \"Epic\",\n \"aliases\": [\"Epic Systems\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"esbuild\",\n \"canonical\": \"esbuild\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"eslint\",\n \"canonical\": \"ESLint\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"esri-arceditor\",\n \"canonical\": \"ESRI ArcEditor\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"esri-arcexplorer\",\n \"canonical\": \"ESRI ArcExplorer\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"esri-arcgis\",\n \"canonical\": \"ESRI ArcGIS\",\n \"aliases\": [\"ESRI ArcGIS software\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"esri-arcgis-arcpy\",\n \"canonical\": \"ESRI ArcGIS ArcPy\",\n \"aliases\": [\"EAA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"esri-arcgis-geostatistical-analyst\",\n \"canonical\": \"ESRI ArcGIS Geostatistical Analyst\",\n \"aliases\": [\"EAGA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"esri-arcgis-spatial-analyst\",\n \"canonical\": \"ESRI ArcGIS Spatial Analyst\",\n \"aliases\": [\"EASA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"esri-arcgis-survey-123\",\n \"canonical\": \"ESRI ArcGIS Survey 123\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"esri-arcims\",\n \"canonical\": \"ESRI ArcIMS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"esri-arcinfo\",\n \"canonical\": \"ESRI ArcInfo\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"esri-arcpad\",\n \"canonical\": \"ESRI ArcPad\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"esri-arcsde\",\n \"canonical\": \"ESRI ArcSDE\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"esri-arcview\",\n \"canonical\": \"ESRI ArcView\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ethereal\",\n \"canonical\": \"Ethereal\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ettercap-ng\",\n \"canonical\": \"Ettercap NG\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"event-log-monitor\",\n \"canonical\": \"Event log monitor\",\n \"aliases\": [\"Event log monitor software\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"event-driven-architecture\",\n \"canonical\": \"Event-Driven Architecture\",\n \"aliases\": [\"EDA\", \"event-driven\"],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"event-driven-state-machines-programming\",\n \"canonical\": \"Event-driven State-machines Programming\",\n \"aliases\": [\"ESP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ever-team-eversuite-content-management\",\n \"canonical\": \"Ever Team EverSuite Content Management\",\n \"aliases\": [\"ETECM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"evernote\",\n \"canonical\": \"Evernote\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"express\",\n \"canonical\": \"Express\",\n \"aliases\": [\"Express.js\", \"ExpressJS\"],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"ext-js\",\n \"canonical\": \"Ext JS\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"extensible-hypertext-markup-language-xhtml\",\n \"canonical\": \"Extensible hypertext markup language XHTML\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"extensible-markup-language-xml\",\n \"canonical\": \"Extensible markup language XML\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"extensible-stylesheet-language-transformations-xslt\",\n \"canonical\": \"Extensible stylesheet language transformations XSLT\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"extensible-stylesheet-language-xsl\",\n \"canonical\": \"Extensible stylesheet language XSL\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"fabasoft-folio\",\n \"canonical\": \"Fabasoft Folio\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"fabric-analyzers\",\n \"canonical\": \"Fabric analyzers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"facebook\",\n \"canonical\": \"Facebook\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"facetime\",\n \"canonical\": \"FaceTime\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"fastapi\",\n \"canonical\": \"FastAPI\",\n \"aliases\": [],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"fastify\",\n \"canonical\": \"Fastify\",\n \"aliases\": [],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"fault-testing\",\n \"canonical\": \"Fault testing\",\n \"aliases\": [\"Fault testing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"feng-office-collaboration-platform\",\n \"canonical\": \"Feng Office Collaboration Platform\",\n \"aliases\": [\"FOCP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"fiber-optic-cable-splicers\",\n \"canonical\": \"Fiber optic cable splicers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"fiber-optic-cable-strippers\",\n \"canonical\": \"Fiber optic cable strippers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"fiber-optic-fault-locators\",\n \"canonical\": \"Fiber optic fault locators\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"fiber-optic-fusion-splicers\",\n \"canonical\": \"Fiber optic fusion splicers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"fiber-optic-power-meters\",\n \"canonical\": \"Fiber optic power meters\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"fiber-optic-strippers\",\n \"canonical\": \"Fiber optic strippers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"fiber-optic-tweezers\",\n \"canonical\": \"Fiber optic tweezers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"fiber-scribes\",\n \"canonical\": \"Fiber scribes\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"fibre-channel-protocol-analyzers\",\n \"canonical\": \"Fibre channel protocol analyzers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"field-inspection-microscopes\",\n \"canonical\": \"Field inspection microscopes\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"figma\",\n \"canonical\": \"Figma\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"file-compression\",\n \"canonical\": \"File compression\",\n \"aliases\": [\"File compression software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"file-server\",\n \"canonical\": \"File server\",\n \"aliases\": [\"File server software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"file-servers\",\n \"canonical\": \"File servers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"file-system\",\n \"canonical\": \"File system\",\n \"aliases\": [\"File system software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"filehold-systems-filehold\",\n \"canonical\": \"FileHold Systems FileHold\",\n \"aliases\": [\"FSF\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"filemaker-pro\",\n \"canonical\": \"FileMaker Pro\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"filemon\",\n \"canonical\": \"FileMon\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"filevision\",\n \"canonical\": \"FileVision\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"finalbuilder\",\n \"canonical\": \"FinalBuilder\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"firebase\",\n \"canonical\": \"Firebase\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"firewall\",\n \"canonical\": \"Firewall\",\n \"aliases\": [\"Firewall software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"firewall-equipment\",\n \"canonical\": \"Firewall equipment\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"fish-tapes\",\n \"canonical\": \"Fish tapes\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"fitnesse\",\n \"canonical\": \"FitNesse\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"flash-disks\",\n \"canonical\": \"Flash disks\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"flask\",\n \"canonical\": \"Flask\",\n \"aliases\": [],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"flat-file-checker\",\n \"canonical\": \"Flat File Checker\",\n \"aliases\": [\"FFC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"flat-head-screwdrivers\",\n \"canonical\": \"Flat head screwdrivers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"flexbox\",\n \"canonical\": \"FlexBox\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"flipgrid\",\n \"canonical\": \"Flipgrid\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"flow-chart\",\n \"canonical\": \"Flow chart\",\n \"aliases\": [\"Flow chart software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"fluent-ui\",\n \"canonical\": \"Fluent UI\",\n \"aliases\": [\"FluentUI\", \"Fluent\"],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"fluke-networks-enterprise-lanmeter\",\n \"canonical\": \"Fluke Networks Enterprise LANMeter\",\n \"aliases\": [\"FNEL\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"fly-io\",\n \"canonical\": \"Fly.io\",\n \"aliases\": [\"fly\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"fog-creek-software-fogbugz\",\n \"canonical\": \"Fog Creek Software FogBugz\",\n \"aliases\": [\"FCSF\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"formula-translation-translator-fortran\",\n \"canonical\": \"Formula translation/translator FORTRAN\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"forth\",\n \"canonical\": \"Forth\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"fortress-medical-clindex\",\n \"canonical\": \"Fortress Medical Clindex\",\n \"aliases\": [\"FMC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"forum-one-communications-projectspaces\",\n \"canonical\": \"Forum One Communications ProjectSpaces\",\n \"aliases\": [\"FOCP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"framer-motion\",\n \"canonical\": \"Framer Motion\",\n \"aliases\": [],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"free-field-speakers\",\n \"canonical\": \"Free-field speakers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"functional-testing\",\n \"canonical\": \"Functional testing\",\n \"aliases\": [\"Functional testing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"fund-accounting\",\n \"canonical\": \"Fund accounting\",\n \"aliases\": [\"Fund accounting software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"gambit-scheme\",\n \"canonical\": \"Gambit Scheme\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ganttproject\",\n \"canonical\": \"GanttProject\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ge-healthcare-centricity-emr\",\n \"canonical\": \"GE Healthcare Centricity EMR\",\n \"aliases\": [\"GHCE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"general-algebraic-modeling-system-gams\",\n \"canonical\": \"General algebraic modeling system GAMS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"genome-analysis-toolkit-gatk\",\n \"canonical\": \"Genome Analysis Toolkit GATK\",\n \"aliases\": [\"GATG\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"genscan\",\n \"canonical\": \"GENSCAN\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"geographic-information-system-gis\",\n \"canonical\": \"Geographic information system GIS\",\n \"aliases\": [\n \"Geographic information system GIS software\",\n \"Geographic information system GIS systems\"\n ],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"geomview\",\n \"canonical\": \"Geomview\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ggy-axis\",\n \"canonical\": \"GGY AXIS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ghidra\",\n \"canonical\": \"Ghidra\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"gin\",\n \"canonical\": \"Gin\",\n \"aliases\": [],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"git\",\n \"canonical\": \"Git\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"github\",\n \"canonical\": \"GitHub\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"github-actions\",\n \"canonical\": \"GitHub Actions\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"gitlab\",\n \"canonical\": \"GitLab\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"gitlab-ci\",\n \"canonical\": \"GitLab CI\",\n \"aliases\": [\"GitLab CI/CD\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"glasscubes\",\n \"canonical\": \"Glasscubes\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"global-positioning-system-gps\",\n \"canonical\": \"Global positioning system GPS\",\n \"aliases\": [\"Global positioning system GPS software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"global-positioning-system-gps-receivers\",\n \"canonical\": \"Global positioning system GPS receivers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"gnu-image-manipulation-program-gimp\",\n \"canonical\": \"GNU Image Manipulation Program GIMP\",\n \"aliases\": [\"GIMPG\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"gnu-octave\",\n \"canonical\": \"GNU Octave\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"go\",\n \"canonical\": \"Go\",\n \"aliases\": [\"Golang\"],\n \"type\": \"language\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"google-ads\",\n \"canonical\": \"Google Ads\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"google-analytics\",\n \"canonical\": \"Google Analytics\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"google-android\",\n \"canonical\": \"Google Android\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"google-angular\",\n \"canonical\": \"Google Angular\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"google-classroom\",\n \"canonical\": \"Google Classroom\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"google-cloud\",\n \"canonical\": \"Google Cloud\",\n \"aliases\": [\"Google Cloud software\", \"GCP\", \"Google Cloud Platform\"],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"google-docs\",\n \"canonical\": \"Google Docs\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"google-drive\",\n \"canonical\": \"Google Drive\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"google-earth-pro\",\n \"canonical\": \"Google Earth Pro\",\n \"aliases\": [\"GEP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"google-gmail\",\n \"canonical\": \"Google Gmail\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"google-looker-analytics\",\n \"canonical\": \"Google Looker Analytics\",\n \"aliases\": [\"GLA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"google-meet\",\n \"canonical\": \"Google Meet\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"google-sheets\",\n \"canonical\": \"Google Sheets\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"google-sites\",\n \"canonical\": \"Google Sites\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"google-slides\",\n \"canonical\": \"Google Slides\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"google-workspace\",\n \"canonical\": \"Google Workspace\",\n \"aliases\": [\"Google Workspace software\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"gradle\",\n \"canonical\": \"Gradle\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"grafana\",\n \"canonical\": \"Grafana\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"grafana-labs-grafana-cloud\",\n \"canonical\": \"Grafana Labs Grafana Cloud\",\n \"aliases\": [\"GLGC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"grails\",\n \"canonical\": \"Grails\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"graphical-user-interface-gui-builder\",\n \"canonical\": \"Graphical user interface GUI builder\",\n \"aliases\": [\"Graphical user interface GUI builder software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"graphical-user-interface-gui-design\",\n \"canonical\": \"Graphical user interface GUI design\",\n \"aliases\": [\"Graphical user interface GUI design software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"graphics\",\n \"canonical\": \"Graphics\",\n \"aliases\": [\"Graphics software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"graphics-display-cards\",\n \"canonical\": \"Graphics display cards\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"graphics-pipelines\",\n \"canonical\": \"Graphics pipelines\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"graphics-processing-unit-gpu\",\n \"canonical\": \"Graphics processing unit GPU\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"graphics-programming-environment-grape\",\n \"canonical\": \"Graphics Programming Environment GRAPE\",\n \"aliases\": [\"GPEG\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"graphics-workstations\",\n \"canonical\": \"Graphics workstations\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"graphing-calculators\",\n \"canonical\": \"Graphing calculators\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"graphpad-software-graphpad-prism\",\n \"canonical\": \"GraphPad Software GraphPad Prism\",\n \"aliases\": [\"GSGP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"graphql\",\n \"canonical\": \"GraphQL\",\n \"aliases\": [],\n \"type\": \"library\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"greatis-object-inspector\",\n \"canonical\": \"Greatis Object Inspector\",\n \"aliases\": [\"GOI\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"greenhills-ada-compilers\",\n \"canonical\": \"Greenhills Ada compilers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"greenplum-database\",\n \"canonical\": \"Greenplum Database\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"groupme\",\n \"canonical\": \"GroupMe\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"grpc\",\n \"canonical\": \"gRPC\",\n \"aliases\": [],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"guidance-software-encase-enterprise\",\n \"canonical\": \"Guidance Software EnCase Enterprise\",\n \"aliases\": [\"GSEE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"guidance-software-encase-forensic\",\n \"canonical\": \"Guidance Software EnCase Forensic\",\n \"aliases\": [\"GSEF\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"handheld-computers\",\n \"canonical\": \"Handheld computers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"hard-disk-drives\",\n \"canonical\": \"Hard disk drives\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"hashicorp-vagrant\",\n \"canonical\": \"HashiCorp Vagrant\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"haskell\",\n \"canonical\": \"Haskell\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"headless-ui\",\n \"canonical\": \"Headless UI\",\n \"aliases\": [],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"healthcare-common-procedure-coding-system-hcpcs\",\n \"canonical\": \"Healthcare common procedure coding system HCPCS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"healthcare-management\",\n \"canonical\": \"Healthcare management\",\n \"aliases\": [\"Healthcare management system\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"helm\",\n \"canonical\": \"Helm\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"help-desk\",\n \"canonical\": \"Help desk\",\n \"aliases\": [\"Help desk software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"heroku\",\n \"canonical\": \"Heroku\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"hewlett-packard-exstream-dialogue\",\n \"canonical\": \"Hewlett Packard Exstream Dialogue\",\n \"aliases\": [\"HPED\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"hewlett-packard-hp-ux\",\n \"canonical\": \"Hewlett Packard HP-UX\",\n \"aliases\": [\"HPH\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"hewlett-packard-loadrunner\",\n \"canonical\": \"Hewlett Packard LoadRunner\",\n \"aliases\": [\"HPL\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"hewlett-packard-hp-network-node-manager\",\n \"canonical\": \"Hewlett-Packard HP Network Node Manager\",\n \"aliases\": [\"HHNNM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"hewlett-packard-hp-quicktest-professional\",\n \"canonical\": \"Hewlett-Packard HP QuickTest Professional\",\n \"aliases\": [\"HHQP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"hewlett-packard-hp-testdirector-for-quality-center\",\n \"canonical\": \"Hewlett-Packard HP TestDirector for Quality Center\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"hewlett-packard-hp-winrunner\",\n \"canonical\": \"Hewlett-Packard HP WinRunner\",\n \"aliases\": [\"HHW\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"hibernate-orm\",\n \"canonical\": \"Hibernate ORM\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"high-end-computer-servers\",\n \"canonical\": \"High end computer servers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"high-throughput-screening-hts\",\n \"canonical\": \"High throughput screening HTS\",\n \"aliases\": [\"High throughput screening HTS systems\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"high-end-database-servers\",\n \"canonical\": \"High-end database servers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"high-performance-cluster-hpc-computers\",\n \"canonical\": \"High-performance cluster HPC computers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"high-performance-software-libraries\",\n \"canonical\": \"High-performance software libraries\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"high-speed-networking-testbeds\",\n \"canonical\": \"High-speed networking testbeds\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"hit-software-allora\",\n \"canonical\": \"HiT Software Allora\",\n \"aliases\": [\"HSA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"honeypot\",\n \"canonical\": \"Honeypot\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"hono\",\n \"canonical\": \"Hono\",\n \"aliases\": [],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"hp-dataprotector\",\n \"canonical\": \"HP DataProtector\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"hp-fortify\",\n \"canonical\": \"HP Fortify\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"hp-webinspect\",\n \"canonical\": \"HP WebInspect\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"hubspot\",\n \"canonical\": \"HubSpot\",\n \"aliases\": [\"HubSpot software\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"hugging-face\",\n \"canonical\": \"Hugging Face\",\n \"aliases\": [\"HuggingFace\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"human-resource-management-software-hrms\",\n \"canonical\": \"Human resource management software HRMS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"hydrological-modeling\",\n \"canonical\": \"Hydrological modeling\",\n \"aliases\": [\"Hydrological modeling software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"hyland-software-onbase\",\n \"canonical\": \"Hyland Software OnBase\",\n \"aliases\": [\"HSO\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"hyperion-solutions-hyperion-intelligence\",\n \"canonical\": \"Hyperion Solutions Hyperion Intelligence\",\n \"aliases\": [\"HSHI\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"hyperoffice-collaboration-suite\",\n \"canonical\": \"HyperOffice Collaboration Suite\",\n \"aliases\": [\"HCS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"hyperspace\",\n \"canonical\": \"HyperSpace\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"hypertext-markup-language-html\",\n \"canonical\": \"Hypertext markup language HTML\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"i-lign\",\n \"canonical\": \"i-lign\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-adstar\",\n \"canonical\": \"IBM ADSTAR\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-aix\",\n \"canonical\": \"IBM AIX\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-bpm-blueprint\",\n \"canonical\": \"IBM BPM Blueprint\",\n \"aliases\": [\"IBB\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-clarity-systems-clarity\",\n \"canonical\": \"IBM Clarity Systems Clarity\",\n \"aliases\": [\"ICSC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-cognos-impromptu\",\n \"canonical\": \"IBM Cognos Impromptu\",\n \"aliases\": [\"ICI\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-content-manager\",\n \"canonical\": \"IBM Content Manager\",\n \"aliases\": [\"ICM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-db2\",\n \"canonical\": \"IBM DB2\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-director\",\n \"canonical\": \"IBM Director\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-domino\",\n \"canonical\": \"IBM Domino\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-filenet-content-manager\",\n \"canonical\": \"IBM FileNet Content Manager\",\n \"aliases\": [\"IFCM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-ilog\",\n \"canonical\": \"IBM ILOG\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-informix\",\n \"canonical\": \"IBM Informix\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-infosphere-datastage\",\n \"canonical\": \"IBM InfoSphere DataStage\",\n \"aliases\": [\"IID\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-infosphere-information-server\",\n \"canonical\": \"IBM Infosphere Information Server\",\n \"aliases\": [\"IIIS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-infosphere-warehouse\",\n \"canonical\": \"IBM InfoSphere Warehouse\",\n \"aliases\": [\"IIW\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-interactive-system-productivity-facility-ispf\",\n \"canonical\": \"IBM Interactive System Productivity Facility ISPF\",\n \"aliases\": [\"IISPFI\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-lotus-1-2-3\",\n \"canonical\": \"IBM Lotus 1-2-3\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-lotus-notes\",\n \"canonical\": \"IBM Lotus Notes\",\n \"aliases\": [\"ILN\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-lotus-sametime\",\n \"canonical\": \"IBM Lotus SameTime\",\n \"aliases\": [\"ILS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-middleware\",\n \"canonical\": \"IBM Middleware\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-mvs\",\n \"canonical\": \"IBM MVS\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-netezza-twinfin\",\n \"canonical\": \"IBM Netezza TwinFin\",\n \"aliases\": [\"INT\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-netview\",\n \"canonical\": \"IBM NetView\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-notes\",\n \"canonical\": \"IBM Notes\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-power-systems\",\n \"canonical\": \"IBM Power Systems\",\n \"aliases\": [\"IBM Power Systems software\", \"IPS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-qradar-siem\",\n \"canonical\": \"IBM QRadar SIEM\",\n \"aliases\": [\"IQS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-rational-apex\",\n \"canonical\": \"IBM Rational Apex\",\n \"aliases\": [\"IRA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-rational-application-developer\",\n \"canonical\": \"IBM Rational Application Developer\",\n \"aliases\": [\"IRAD\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-rational-build-forge\",\n \"canonical\": \"IBM Rational Build Forge\",\n \"aliases\": [\"IRBF\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-rational-clearcase\",\n \"canonical\": \"IBM Rational ClearCase\",\n \"aliases\": [\"IRC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-rational-clearquest\",\n \"canonical\": \"IBM Rational ClearQuest\",\n \"aliases\": [\"IRC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-rational-data-architect\",\n \"canonical\": \"IBM Rational Data Architect\",\n \"aliases\": [\"IRDA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-rational-purifyplus\",\n \"canonical\": \"IBM Rational PurifyPlus\",\n \"aliases\": [\"IRP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-rational-requirements-composer\",\n \"canonical\": \"IBM Rational Requirements Composer\",\n \"aliases\": [\"IRRC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-rational-requisitepro\",\n \"canonical\": \"IBM Rational RequisitePro\",\n \"aliases\": [\"IRR\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-rational-robot\",\n \"canonical\": \"IBM Rational Robot\",\n \"aliases\": [\"IRR\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-rational-rose-xde\",\n \"canonical\": \"IBM Rational Rose XDE\",\n \"aliases\": [\"IRRX\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-rational-system-architect\",\n \"canonical\": \"IBM Rational System Architect\",\n \"aliases\": [\"IRSA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-resource-access-control-facility-racf\",\n \"canonical\": \"IBM Resource Access Control Facility RACF\",\n \"aliases\": [\"IRACFR\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-security-network-intrusion-prevention\",\n \"canonical\": \"IBM Security Network Intrusion Prevention\",\n \"aliases\": [\"IBM Security Network Intrusion Prevention System\", \"ISNIP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-software-configuration-and-library-manager-sclm\",\n \"canonical\": \"IBM Software Configuration and Library Manager SCLM\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-spss-amos\",\n \"canonical\": \"IBM SPSS Amos\",\n \"aliases\": [\"ISA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-spss-answertree\",\n \"canonical\": \"IBM SPSS AnswerTree\",\n \"aliases\": [\"ISA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-spss-statistics\",\n \"canonical\": \"IBM SPSS Statistics\",\n \"aliases\": [\"ISS\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-terraform\",\n \"canonical\": \"IBM Terraform\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-tivoli\",\n \"canonical\": \"IBM Tivoli\",\n \"aliases\": [\"IBM Tivoli software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-tivoli-access-management-tam\",\n \"canonical\": \"IBM Tivoli Access Management TAM\",\n \"aliases\": [\"ITAMT\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-tivoli-identity-management-tim\",\n \"canonical\": \"IBM Tivoli Identity Management TIM\",\n \"aliases\": [\"ITIMT\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-tivoli-netview-distribution-manager\",\n \"canonical\": \"IBM Tivoli NetView Distribution Manager\",\n \"aliases\": [\"ITNDM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-unica-enterprise\",\n \"canonical\": \"IBM Unica Enterprise\",\n \"aliases\": [\"IUE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-websphere\",\n \"canonical\": \"IBM WebSphere\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-websphere-mq\",\n \"canonical\": \"IBM WebSphere MQ\",\n \"aliases\": [\"IWM\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ibm-z-os-operating\",\n \"canonical\": \"IBM z/OS operating\",\n \"aliases\": [\"IBM z/OS operating systems\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"icon-programming-language\",\n \"canonical\": \"ICON programming language\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"iea-software-emerald\",\n \"canonical\": \"IEA Software Emerald\",\n \"aliases\": [\"ISE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ifconfig\",\n \"canonical\": \"ifconfig\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"igrafx\",\n \"canonical\": \"iGrafx\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ilog-opl-cplex-development\",\n \"canonical\": \"ILOG OPL-CPLEX Development\",\n \"aliases\": [\"ILOG OPL-CPLEX Development System\", \"IOD\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"image-capture-devices\",\n \"canonical\": \"Image capture devices\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"imagine-that-extend-or\",\n \"canonical\": \"Imagine That Extend OR\",\n \"aliases\": [\"ITEO\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"imperva-securesphere\",\n \"canonical\": \"Imperva SecureSphere\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"in-circuit-emulators-ice\",\n \"canonical\": \"In circuit emulators ICE\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"incremental-compiler\",\n \"canonical\": \"Incremental compiler\",\n \"aliases\": [\"Incremental compiler software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"index-tuning\",\n \"canonical\": \"Index tuning\",\n \"aliases\": [\"Index tuning software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"infoblox-netmri\",\n \"canonical\": \"Infoblox NetMRI\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"infoblox-security-and-networking\",\n \"canonical\": \"Infoblox security and networking\",\n \"aliases\": [\"Infoblox security and networking software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"infobright-community-edition-ice\",\n \"canonical\": \"Infobright Community Edition ICE\",\n \"aliases\": [\"ICEI\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"informatica\",\n \"canonical\": \"Informatica\",\n \"aliases\": [\"Informatica software\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"informatica-big-data\",\n \"canonical\": \"Informatica Big Data\",\n \"aliases\": [\"IBD\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"informatica-corporation-powercenter\",\n \"canonical\": \"Informatica Corporation PowerCenter\",\n \"aliases\": [\"ICP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"informatica-data-explorer\",\n \"canonical\": \"Informatica Data Explorer\",\n \"aliases\": [\"IDE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"informatica-powercenter\",\n \"canonical\": \"Informatica PowerCenter\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"information-builders-webfocus\",\n \"canonical\": \"Information Builders WebFOCUS\",\n \"aliases\": [\"IBW\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"information-systems-integration\",\n \"canonical\": \"Information systems integration\",\n \"aliases\": [\"Information systems integration software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"inforsense-inforsense\",\n \"canonical\": \"InforSense InforSense\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"infrared-fiber-meters\",\n \"canonical\": \"Infrared fiber meters\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"infrared-thermometers\",\n \"canonical\": \"Infrared thermometers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"inline-code-expander\",\n \"canonical\": \"Inline code expander\",\n \"aliases\": [\"Inline code expander software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"inloox\",\n \"canonical\": \"InLoox\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"inscribe\",\n \"canonical\": \"InScribe\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"insightful-s-plus\",\n \"canonical\": \"Insightful S-PLUS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"installshield\",\n \"canonical\": \"InstallShield\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"insulation-resistance-testers\",\n \"canonical\": \"Insulation resistance testers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"insureware-icrfs-elrf\",\n \"canonical\": \"Insureware ICRFS-ELRF\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"integrated-development-environment-ide\",\n \"canonical\": \"Integrated development environment IDE\",\n \"aliases\": [\"Integrated development environment IDE software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"integrated-services-digital-network-isdn-analyzers\",\n \"canonical\": \"Integrated services digital network ISDN analyzers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"integration-testing\",\n \"canonical\": \"Integration testing\",\n \"aliases\": [\"Integration testing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"integrity-verification\",\n \"canonical\": \"Integrity verification\",\n \"aliases\": [\"Integrity verification software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"intel-data-migration\",\n \"canonical\": \"Intel Data Migration\",\n \"aliases\": [\"Intel Data Migration Software\", \"IDM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"intel-integrated-performance-primitives\",\n \"canonical\": \"Intel Integrated Performance Primitives\",\n \"aliases\": [\"IIPP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"intel-math-kernel-library\",\n \"canonical\": \"Intel Math Kernel Library\",\n \"aliases\": [\"IMKL\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"intelligent-hubs\",\n \"canonical\": \"Intelligent hubs\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"interactive-mathematical-proof-system-imps\",\n \"canonical\": \"Interactive Mathematical Proof System IMPS\",\n \"aliases\": [\"IMPSI\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"interactive-voice-response\",\n \"canonical\": \"Interactive voice response\",\n \"aliases\": [\"Interactive voice response software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"interface-computers-data-loader\",\n \"canonical\": \"Interface Computers Data Loader\",\n \"aliases\": [\"ICDL\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"interface-definition-language-idl\",\n \"canonical\": \"Interface definition language IDL\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"intermediate-system-to-intermediate-system-is-is\",\n \"canonical\": \"Intermediate System to Intermediate System IS-IS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"intermine\",\n \"canonical\": \"InterMine\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"internationalization\",\n \"canonical\": \"Internationalization\",\n \"aliases\": [\"i18n\"],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"internet-browser\",\n \"canonical\": \"Internet browser\",\n \"aliases\": [\"Internet browser software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"internet-protocol-security-ipsec\",\n \"canonical\": \"Internet Protocol Security IPSEC\",\n \"aliases\": [\"IPSI\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"interoperability-testing\",\n \"canonical\": \"Interoperability testing\",\n \"aliases\": [\"Interoperability testing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"interpreter\",\n \"canonical\": \"Interpreter\",\n \"aliases\": [\"Interpreter software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"interstate-connection-icon\",\n \"canonical\": \"Interstate connection ICON\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"intland-software-codebeamer\",\n \"canonical\": \"Intland Software codeBeamer\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"intrusion-detection-system-ids\",\n \"canonical\": \"Intrusion detection system IDS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"intrusion-prevention-system-ips\",\n \"canonical\": \"Intrusion prevention system IPS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"invicti-acunetix\",\n \"canonical\": \"Invicti Acunetix\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"invision\",\n \"canonical\": \"InVision\",\n \"aliases\": [\"InVision software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"invivo-data-epx-epro-management\",\n \"canonical\": \"Invivo Data EPX ePRO Management\",\n \"aliases\": [\"Invivo Data EPX ePRO Management System\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"iona-orbix\",\n \"canonical\": \"IONA Orbix\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ipconfig\",\n \"canonical\": \"ipconfig\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ipfilter\",\n \"canonical\": \"IpFilter\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ipro\",\n \"canonical\": \"iPro\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ipswitch-whatsup-gold\",\n \"canonical\": \"Ipswitch WhatsUp Gold\",\n \"aliases\": [\"IWG\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"iptables\",\n \"canonical\": \"IpTables\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"iss-realsecure\",\n \"canonical\": \"ISS RealSecure\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"issue-tracking-system\",\n \"canonical\": \"Issue tracking system\",\n \"aliases\": [\"Issue tracking system software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"itt-visual-information-solutions-envi\",\n \"canonical\": \"ITT Visual Information Solutions ENVI\",\n \"aliases\": [\"IVISE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"jacal\",\n \"canonical\": \"JACAL\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"jack-termination\",\n \"canonical\": \"Jack termination\",\n \"aliases\": [\"Jack termination tools\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"jamboard\",\n \"canonical\": \"JamBoard\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"javascript\",\n \"canonical\": \"JavaScript\",\n \"aliases\": [\"JS\", \"ECMAScript\"],\n \"type\": \"language\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"javascript-framework\",\n \"canonical\": \"JavaScript framework\",\n \"aliases\": [\"JavaScript framework software\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"javascript-object-notation-json\",\n \"canonical\": \"JavaScript Object Notation JSON\",\n \"aliases\": [\"JONJ\"],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"jekyll\",\n \"canonical\": \"Jekyll\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"jenkins\",\n \"canonical\": \"Jenkins\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"jenkins-ci\",\n \"canonical\": \"Jenkins CI\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"jest\",\n \"canonical\": \"Jest\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"jetbrains-intellij-idea\",\n \"canonical\": \"JetBrains IntelliJ IDEA\",\n \"aliases\": [\"JII\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"jetbrains-phpstorm\",\n \"canonical\": \"JetBrains PhpStorm\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"jetbrains-team-city\",\n \"canonical\": \"JetBrains Team City\",\n \"aliases\": [\"JTC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"jfrog-artifactory\",\n \"canonical\": \"JFrog Artifactory\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"jira\",\n \"canonical\": \"Jira\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"jitterbit\",\n \"canonical\": \"Jitterbit\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"job-control-language-jcl\",\n \"canonical\": \"Job control language JCL\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"joomla\",\n \"canonical\": \"Joomla\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"jotai\",\n \"canonical\": \"Jotai\",\n \"aliases\": [],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"jquery\",\n \"canonical\": \"jQuery\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"julia\",\n \"canonical\": \"Julia\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"juniper-networks-netscreen-security-manager\",\n \"canonical\": \"Juniper Networks NetScreen-Security Manager\",\n \"aliases\": [\"JNNM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"junit\",\n \"canonical\": \"JUnit\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"jupyter\",\n \"canonical\": \"Jupyter\",\n \"aliases\": [\"Jupyter software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"jupyter-notebook\",\n \"canonical\": \"Jupyter Notebook\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"just-in-time-compiler\",\n \"canonical\": \"Just-in-time compiler\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"jwt\",\n \"canonical\": \"JWT\",\n \"aliases\": [],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"kafka\",\n \"canonical\": \"Kafka\",\n \"aliases\": [\"Apache Kafka\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"kali-linux\",\n \"canonical\": \"Kali Linux\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"kalido-information-engine\",\n \"canonical\": \"Kalido Information Engine\",\n \"aliases\": [\"KIE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"kant\",\n \"canonical\": \"KANT\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"kapwing\",\n \"canonical\": \"Kapwing\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"keras\",\n \"canonical\": \"Keras\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"keystroke-monitoring\",\n \"canonical\": \"Keystroke monitoring\",\n \"aliases\": [\"Keystroke monitoring software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"kforge\",\n \"canonical\": \"Kforge\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"kidasa-milestones-professional\",\n \"canonical\": \"Kidasa Milestones Professional\",\n \"aliases\": [\"KMP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"kika-veracity\",\n \"canonical\": \"KIKA Veracity\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"koffice-org-kplato\",\n \"canonical\": \"KOffice.org Kplato\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"kommandcore\",\n \"canonical\": \"KommandCore\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"kornshell\",\n \"canonical\": \"KornShell\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"kotlin\",\n \"canonical\": \"Kotlin\",\n \"aliases\": [],\n \"type\": \"language\",\n \"hot\": false,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"kseg\",\n \"canonical\": \"KSEG\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"kubeflow\",\n \"canonical\": \"Kubeflow\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"kubernetes\",\n \"canonical\": \"Kubernetes\",\n \"aliases\": [\"K8s\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"lamp-stack\",\n \"canonical\": \"LAMP Stack\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"landmark-graphics-geographix\",\n \"canonical\": \"Landmark Graphics GeoGraphix\",\n \"aliases\": [\"LGG\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"langchain\",\n \"canonical\": \"LangChain\",\n \"aliases\": [],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"laptop-computers\",\n \"canonical\": \"Laptop computers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"laravel\",\n \"canonical\": \"Laravel\",\n \"aliases\": [],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"large-format-plotters\",\n \"canonical\": \"Large-format plotters\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"laser-facsimile-machines\",\n \"canonical\": \"Laser facsimile machines\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"laser-printers\",\n \"canonical\": \"Laser printers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"laser-scanners\",\n \"canonical\": \"Laser scanners\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"laserfiche-rio\",\n \"canonical\": \"Laserfiche Rio\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"lavalys-everest\",\n \"canonical\": \"Lavalys Everest\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"learning-management-system-lms\",\n \"canonical\": \"Learning management system LMS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"leica-geosystems-erdas-imagine\",\n \"canonical\": \"Leica Geosystems ERDAS IMAGINE\",\n \"aliases\": [\"LGEI\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"lerna\",\n \"canonical\": \"Lerna\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"lewis-ellis-leapps\",\n \"canonical\": \"Lewis & Ellis LEAPPS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"lexisnexis\",\n \"canonical\": \"LexisNexis\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"libreoffice\",\n \"canonical\": \"LibreOffice\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"license-management\",\n \"canonical\": \"License management\",\n \"aliases\": [\"License management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"light-detection-and-ranging-lidar\",\n \"canonical\": \"Light detection and ranging LIDAR\",\n \"aliases\": [\"Light detection and ranging LIDAR systems\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"lighting-grids\",\n \"canonical\": \"Lighting grids\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"lightweight-directory-access-protocol-ldap-servers\",\n \"canonical\": \"Lightweight directory access protocol LDAP servers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"lindo-systems-lindo-api\",\n \"canonical\": \"LINDO Systems LINDO API\",\n \"aliases\": [\"LSLA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"lindo-systems-lingo\",\n \"canonical\": \"LINDO Systems LINGO\",\n \"aliases\": [\"LSL\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"linear\",\n \"canonical\": \"Linear\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"link-analyzers\",\n \"canonical\": \"Link analyzers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"link-encryption\",\n \"canonical\": \"Link encryption\",\n \"aliases\": [\"Link encryption software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"linkedin\",\n \"canonical\": \"LinkedIn\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"linux\",\n \"canonical\": \"Linux\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"liquid-crystal-display-lcd-projectors\",\n \"canonical\": \"Liquid crystal display LCD projectors\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"liquidplanner\",\n \"canonical\": \"LiquidPlanner\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"list-processing-language-lisp\",\n \"canonical\": \"List processing language LISP\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"llamaindex\",\n \"canonical\": \"LlamaIndex\",\n \"aliases\": [],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"load-balancers\",\n \"canonical\": \"Load balancers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"load-testing\",\n \"canonical\": \"Load testing\",\n \"aliases\": [\"Load testing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"local-area-network-lan\",\n \"canonical\": \"Local area network LAN\",\n \"aliases\": [\"Local area network LAN software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"local-area-network-lan-analyzers\",\n \"canonical\": \"Local area network LAN analyzers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"local-area-network-lan-switches\",\n \"canonical\": \"Local area network LAN switches\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"logic-analyzers\",\n \"canonical\": \"Logic analyzers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"logic-software-easy-projects-net\",\n \"canonical\": \"Logic Software Easy Projects.NET\",\n \"aliases\": [\"LSEP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"logical-partition-lpar\",\n \"canonical\": \"Logical partition LPAR\",\n \"aliases\": [\"Logical partition LPAR software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"logmatrix-nervecenter\",\n \"canonical\": \"LogMatrix NerveCenter\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"logmein-gotomeeting\",\n \"canonical\": \"LogMeIn GoToMeeting\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"logmein-gotowebinar\",\n \"canonical\": \"LogMeIn GoToWebinar\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"logo-design\",\n \"canonical\": \"Logo design\",\n \"aliases\": [\"Logo design software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"logrhythm\",\n \"canonical\": \"LogRhythm\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"loom\",\n \"canonical\": \"Loom\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"low-level-debugger\",\n \"canonical\": \"Low-level debugger\",\n \"aliases\": [\"Low-level debugger software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"low-level-virtual-machine-llvm-compilers\",\n \"canonical\": \"Low-level virtual machine LLVM compilers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"lua\",\n \"canonical\": \"Lua\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"lucent-vitalsuite\",\n \"canonical\": \"Lucent VitalSuite\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"lucid-iq-cmp\",\n \"canonical\": \"Lucid IQ CMP\",\n \"aliases\": [\"LIC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"luntbuild\",\n \"canonical\": \"LuntBuild\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mac-helpmate\",\n \"canonical\": \"Mac HelpMate\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mackichan-software-scientific-workplace\",\n \"canonical\": \"MacKichan Software Scientific WorkPlace\",\n \"aliases\": [\"MSSW\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"madrigal-soft-tools-delegator\",\n \"canonical\": \"Madrigal Soft Tools Delegator\",\n \"aliases\": [\"MSTD\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"magellan-firmware\",\n \"canonical\": \"Magellan Firmware\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"magma-design-automation\",\n \"canonical\": \"Magma Design Automation\",\n \"aliases\": [\"Magma Design Automation software\", \"MDA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"magneto-optical-discs\",\n \"canonical\": \"Magneto optical discs\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"magneto-optical-drives\",\n \"canonical\": \"Magneto optical drives\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"mail-transport-servers\",\n \"canonical\": \"Mail transport servers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"mainframe-computers\",\n \"canonical\": \"Mainframe computers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"mainframe-operating\",\n \"canonical\": \"Mainframe operating\",\n \"aliases\": [\"Mainframe operating systems\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"management-information-base-mib\",\n \"canonical\": \"Management information base MIB\",\n \"aliases\": [\"Management information base MIB software\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"management-information-systems-mis\",\n \"canonical\": \"Management information systems MIS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mantisbt\",\n \"canonical\": \"MantisBT\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"maplesoft-maple\",\n \"canonical\": \"Maplesoft Maple\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mapr-converged-data-platform\",\n \"canonical\": \"MapR Converged Data Platform\",\n \"aliases\": [\"MCDP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mapreduce-big-data\",\n \"canonical\": \"MapReduce big data\",\n \"aliases\": [\"MapReduce big data software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mariadb\",\n \"canonical\": \"MariaDB\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"marketo-marketing-automation\",\n \"canonical\": \"Marketo Marketing Automation\",\n \"aliases\": [\"MMA\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"marklogic\",\n \"canonical\": \"MarkLogic\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mass-storage-devices\",\n \"canonical\": \"Mass storage devices\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"massively-parallel-processors-mpp\",\n \"canonical\": \"Massively parallel processors MPP\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"matchware-mindview\",\n \"canonical\": \"MatchWare MindView\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"material-ui\",\n \"canonical\": \"Material UI\",\n \"aliases\": [\"MUI\", \"Material-UI\"],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"mathematical\",\n \"canonical\": \"Mathematical\",\n \"aliases\": [\"Mathematical software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mathsoft-mathcad\",\n \"canonical\": \"Mathsoft Mathcad\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mathworks-simulink\",\n \"canonical\": \"MathWorks Simulink\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"maxima\",\n \"canonical\": \"Maxima\",\n \"aliases\": [\"Maxima Software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"maximal-software-mpl-modeling\",\n \"canonical\": \"Maximal Software MPL Modeling\",\n \"aliases\": [\"Maximal Software MPL Modeling System\", \"MSMM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mcafee\",\n \"canonical\": \"McAfee\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mcafee-enterprise-security-manager\",\n \"canonical\": \"McAfee Enterprise Security Manager\",\n \"aliases\": [\"MESM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mcafee-virusscan\",\n \"canonical\": \"McAfee VirusScan\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mckesson-ansos-one-staff\",\n \"canonical\": \"McKesson ANSOS One-Staff\",\n \"aliases\": [\"MAO\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"media-storage-management\",\n \"canonical\": \"Media storage management\",\n \"aliases\": [\"Media storage management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"medical-condition-coding\",\n \"canonical\": \"Medical condition coding\",\n \"aliases\": [\"Medical condition coding software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"medical-image-database\",\n \"canonical\": \"Medical image database\",\n \"aliases\": [\"Medical image database systems\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"medical-procedure-coding\",\n \"canonical\": \"Medical procedure coding\",\n \"aliases\": [\"Medical procedure coding software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"medidata-rave-data-management\",\n \"canonical\": \"Medidata Rave Data Management\",\n \"aliases\": [\"MRDM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"meditech\",\n \"canonical\": \"MEDITECH\",\n \"aliases\": [\"MEDITECH software\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"meditech-healthcare-information-system-hcis\",\n \"canonical\": \"MEDITECH Healthcare Information System HCIS\",\n \"aliases\": [\"MHISH\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mediware-closedloop-clinical\",\n \"canonical\": \"Mediware ClosedLoop Clinical\",\n \"aliases\": [\"Mediware ClosedLoop Clinical Systems\", \"MCC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mediware-information-systems-medicoe\",\n \"canonical\": \"Mediware Information Systems MediCOE\",\n \"aliases\": [\"MISM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"medscribbler-enterprise\",\n \"canonical\": \"Medscribbler Enterprise\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mentoring\",\n \"canonical\": \"Mentoring\",\n \"aliases\": [],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"merge-healthcare-etrials\",\n \"canonical\": \"Merge Healthcare eTrials\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mesquite-software-csim\",\n \"canonical\": \"Mesquite Software CSIM\",\n \"aliases\": [\"MSC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"metasploit\",\n \"canonical\": \"Metasploit\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"meteorjs\",\n \"canonical\": \"MeteorJS\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"micosoft-sql-server-analysis-services-ssas\",\n \"canonical\": \"Micosoft SQL Server Analysis Services SSAS\",\n \"aliases\": [\"MSSASS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"micro-focus-openview\",\n \"canonical\": \"Micro Focus OpenView\",\n \"aliases\": [\"MFO\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microcomputers\",\n \"canonical\": \"Microcomputers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"microfour-practicestudio-net-emr\",\n \"canonical\": \"MicroFour PracticeStudio.NET EMR\",\n \"aliases\": [\"MPE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"micromuse-netcool\",\n \"canonical\": \"Micromuse NetCool\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"micropress-vtex\",\n \"canonical\": \"MicroPress VTeX\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microservices\",\n \"canonical\": \"Microservices\",\n \"aliases\": [],\n \"type\": \"practice\",\n \"hot\": true,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"microservices-architecture\",\n \"canonical\": \"Microservices Architecture\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-net-framework\",\n \"canonical\": \"Microsoft .NET Framework\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-access\",\n \"canonical\": \"Microsoft Access\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-active-directory\",\n \"canonical\": \"Microsoft Active Directory\",\n \"aliases\": [\"MAD\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-active-server-pages-asp\",\n \"canonical\": \"Microsoft Active Server Pages ASP\",\n \"aliases\": [\"MASPA\"],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-activex\",\n \"canonical\": \"Microsoft ActiveX\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-asp-net\",\n \"canonical\": \"Microsoft ASP.NET\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-asp-net-core-mvc\",\n \"canonical\": \"Microsoft ASP.NET Core MVC\",\n \"aliases\": [\"MACM\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-azure\",\n \"canonical\": \"Microsoft Azure\",\n \"aliases\": [\"Microsoft Azure software\", \"Azure\"],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"microsoft-azure-devops-services\",\n \"canonical\": \"Microsoft Azure DevOps Services\",\n \"aliases\": [\"MADS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-azure-sentinel\",\n \"canonical\": \"Microsoft Azure Sentinel\",\n \"aliases\": [\"MAS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-commerce-server\",\n \"canonical\": \"Microsoft Commerce Server\",\n \"aliases\": [\"MCS\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-defender-antivirus\",\n \"canonical\": \"Microsoft Defender Antivirus\",\n \"aliases\": [\"MDA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-directx\",\n \"canonical\": \"Microsoft DirectX\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-dns-server\",\n \"canonical\": \"Microsoft DNS Server\",\n \"aliases\": [\"MDS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-dynamics\",\n \"canonical\": \"Microsoft Dynamics\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-dynamics-gp\",\n \"canonical\": \"Microsoft Dynamics GP\",\n \"aliases\": [\"MDG\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-esp-sdk\",\n \"canonical\": \"Microsoft ESP SDK\",\n \"aliases\": [\"MES\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-excel\",\n \"canonical\": \"Microsoft Excel\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-exchange\",\n \"canonical\": \"Microsoft Exchange\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-expression-blend\",\n \"canonical\": \"Microsoft Expression Blend\",\n \"aliases\": [\"MEB\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-extensible-application-markup-language\",\n \"canonical\": \"Microsoft Extensible Application Markup Language\",\n \"aliases\": [\"XAML\", \"MEAML\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-forefront-identify-manager\",\n \"canonical\": \"Microsoft Forefront Identify Manager\",\n \"aliases\": [\"MFIM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-forefront-threat-management-gateway\",\n \"canonical\": \"Microsoft Forefront Threat Management Gateway\",\n \"aliases\": [\"MFTMG\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-frontpage\",\n \"canonical\": \"Microsoft FrontPage\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-high-level-shader-language-hlsl\",\n \"canonical\": \"Microsoft High Level Shader Language HLSL\",\n \"aliases\": [\"MHLSLH\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-hyper-v-server\",\n \"canonical\": \"Microsoft Hyper-V Server\",\n \"aliases\": [\"MHS\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-internet-explorer\",\n \"canonical\": \"Microsoft Internet Explorer\",\n \"aliases\": [\"MIE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-internet-information-services\",\n \"canonical\": \"Microsoft Internet Information Services\",\n \"aliases\": [\"IIS\", \"MIIS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-mappoint\",\n \"canonical\": \"Microsoft MapPoint\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-network-monitor\",\n \"canonical\": \"Microsoft Network Monitor\",\n \"aliases\": [\"MNM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-office\",\n \"canonical\": \"Microsoft Office\",\n \"aliases\": [\"Microsoft Office software\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-office-document-imaging\",\n \"canonical\": \"Microsoft Office Document Imaging\",\n \"aliases\": [\"MODI\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-office-sharepoint-server-moss\",\n \"canonical\": \"Microsoft Office SharePoint Server MOSS\",\n \"aliases\": [\"MOSSM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-onenote\",\n \"canonical\": \"Microsoft OneNote\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-operating\",\n \"canonical\": \"Microsoft operating\",\n \"aliases\": [\"Microsoft operating system\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-outlook\",\n \"canonical\": \"Microsoft Outlook\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-power-bi\",\n \"canonical\": \"Microsoft Power BI\",\n \"aliases\": [\"MPB\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-powerpoint\",\n \"canonical\": \"Microsoft PowerPoint\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-powershell\",\n \"canonical\": \"Microsoft PowerShell\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-proclarity\",\n \"canonical\": \"Microsoft Proclarity\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-publisher\",\n \"canonical\": \"Microsoft Publisher\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-security-esssentials\",\n \"canonical\": \"Microsoft Security Esssentials\",\n \"aliases\": [\"MSE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-sharepoint\",\n \"canonical\": \"Microsoft SharePoint\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-silverlight\",\n \"canonical\": \"Microsoft Silverlight\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-sql-server\",\n \"canonical\": \"Microsoft SQL Server\",\n \"aliases\": [\"MSS\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-sql-server-integration-services-ssis\",\n \"canonical\": \"Microsoft SQL Server Integration Services SSIS\",\n \"aliases\": [\"MSSISS\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-sql-server-reporting-services-ssrs\",\n \"canonical\": \"Microsoft SQL Server Reporting Services SSRS\",\n \"aliases\": [\"MSSRSS\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-systems-management-server\",\n \"canonical\": \"Microsoft Systems Management Server\",\n \"aliases\": [\"MSMS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-team-foundation-server\",\n \"canonical\": \"Microsoft Team Foundation Server\",\n \"aliases\": [\"MTFS\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-teams\",\n \"canonical\": \"Microsoft Teams\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-transact-structural-query-language-t-sql\",\n \"canonical\": \"Microsoft transact-structural query language T-SQL\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-virtual-server\",\n \"canonical\": \"Microsoft Virtual Server\",\n \"aliases\": [\"MVS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-visio\",\n \"canonical\": \"Microsoft Visio\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-visual-basic\",\n \"canonical\": \"Microsoft Visual Basic\",\n \"aliases\": [\"MVB\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-visual-basic-for-applications-vba\",\n \"canonical\": \"Microsoft Visual Basic for Applications VBA\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-visual-basic-scripting-edition-vbscript\",\n \"canonical\": \"Microsoft Visual Basic Scripting Edition VBScript\",\n \"aliases\": [\"MVBSEV\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-visual-basic-net\",\n \"canonical\": \"Microsoft Visual Basic.NET\",\n \"aliases\": [\"MVB\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-visual-c-net\",\n \"canonical\": \"Microsoft Visual C# .NET\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-visual-foxpro\",\n \"canonical\": \"Microsoft Visual FoxPro\",\n \"aliases\": [\"MVF\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-visual-interdev\",\n \"canonical\": \"Microsoft Visual InterDev\",\n \"aliases\": [\"MVI\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-visual-sourcesafe\",\n \"canonical\": \"Microsoft Visual SourceSafe\",\n \"aliases\": [\"MVS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-visual-studio\",\n \"canonical\": \"Microsoft Visual Studio\",\n \"aliases\": [\"MVS\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-visual-studio-net\",\n \"canonical\": \"Microsoft Visual Studio.NET\",\n \"aliases\": [\"MVS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-volume-shadow-copy-service\",\n \"canonical\": \"Microsoft Volume Shadow Copy Service\",\n \"aliases\": [\"MVSCS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-windows\",\n \"canonical\": \"Microsoft Windows\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-windows-powershell\",\n \"canonical\": \"Microsoft Windows PowerShell\",\n \"aliases\": [\"MWP\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-windows-pre-installation-environment\",\n \"canonical\": \"Microsoft Windows Pre-installation Environment\",\n \"aliases\": [\"MWPE\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-windows-sdk\",\n \"canonical\": \"Microsoft Windows SDK\",\n \"aliases\": [\"MWS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-windows-server\",\n \"canonical\": \"Microsoft Windows Server\",\n \"aliases\": [\"MWS\"],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-windows-sysprep\",\n \"canonical\": \"Microsoft Windows Sysprep\",\n \"aliases\": [\"MWS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-windows-terminal-services-access-manager\",\n \"canonical\": \"Microsoft Windows Terminal Services Access Manager\",\n \"aliases\": [\"MWTSAM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-windows-xp\",\n \"canonical\": \"Microsoft Windows XP\",\n \"aliases\": [\"MWX\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microsoft-word\",\n \"canonical\": \"Microsoft Word\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"microstrategy\",\n \"canonical\": \"MicroStrategy\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"migration\",\n \"canonical\": \"Migration\",\n \"aliases\": [\"Migration software\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"migration-testing\",\n \"canonical\": \"Migration testing\",\n \"aliases\": [\"Migration testing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"milliman-corporate-affinity\",\n \"canonical\": \"Milliman Corporate Affinity\",\n \"aliases\": [\"MCA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"milliman-reservepro\",\n \"canonical\": \"Milliman ReservePro\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mind-mapping\",\n \"canonical\": \"Mind mapping\",\n \"aliases\": [\"Mind mapping software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mindgenius\",\n \"canonical\": \"MindGenius\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"minitab\",\n \"canonical\": \"Minitab\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"miro\",\n \"canonical\": \"Miro\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"mitre-att-ck\",\n \"canonical\": \"MITRE ATT&CK\",\n \"aliases\": [\"MITRE ATT&CK software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mixed-code-generator\",\n \"canonical\": \"Mixed code generator\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mixed-integer-optimizer-minto\",\n \"canonical\": \"Mixed integer optimizer MINTO\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mlflow\",\n \"canonical\": \"Mlflow\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"mobile-robots\",\n \"canonical\": \"Mobile robots\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"mobx\",\n \"canonical\": \"MobX\",\n \"aliases\": [],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"mocha\",\n \"canonical\": \"Mocha\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"modelkinetix-modelmaker\",\n \"canonical\": \"ModelKinetix ModelMaker\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"modula\",\n \"canonical\": \"Modula\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mongodb\",\n \"canonical\": \"MongoDB\",\n \"aliases\": [\"Mongo\"],\n \"type\": \"database\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"monorepo\",\n \"canonical\": \"Monorepo\",\n \"aliases\": [\"monorepos\"],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"moodle\",\n \"canonical\": \"Moodle\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"motherboards\",\n \"canonical\": \"Motherboards\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"mozilla-firefox\",\n \"canonical\": \"Mozilla Firefox\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mpi-micro-planner-x-pert\",\n \"canonical\": \"MPI Micro Planner X-Pert\",\n \"aliases\": [\"MMPX\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ms-dos-bootable-disks\",\n \"canonical\": \"MS-DOS-bootable disks\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"mulesoft\",\n \"canonical\": \"MuleSoft\",\n \"aliases\": [\"MuleSoft software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"multi-conductor-cables\",\n \"canonical\": \"Multi-conductor cables\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"multi-core-central-processing-unit-cpu\",\n \"canonical\": \"Multi-core central processing unit CPU\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"multi-line-telephone\",\n \"canonical\": \"Multi-line telephone\",\n \"aliases\": [\"Multi-line telephone systems\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"multi-router-traffic-grapher-mrtg\",\n \"canonical\": \"Multi-router traffic grapher MRTG\",\n \"aliases\": [\"Multi-router traffic grapher MRTG software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"multidimensional-expressions-mdx\",\n \"canonical\": \"Multidimensional Expressions MDX\",\n \"aliases\": [\"MEM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"multimeters\",\n \"canonical\": \"Multimeters\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"multipath-corporation-fast-matrix-solver-fms\",\n \"canonical\": \"Multipath Corporation Fast Matrix Solver FMS\",\n \"aliases\": [\"MCFMSF\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"multiprotocol-label-switching-mpls\",\n \"canonical\": \"Multiprotocol Label Switching MPLS\",\n \"aliases\": [\"MLSM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"multisensory-data-representation\",\n \"canonical\": \"Multisensory data representation\",\n \"aliases\": [\"Multisensory data representation software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mumps-m\",\n \"canonical\": \"MUMPS M\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mutation-testing\",\n \"canonical\": \"Mutation testing\",\n \"aliases\": [\"Mutation testing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"muthen-muthen-mplus\",\n \"canonical\": \"Muthen & Muthen Mplus\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"mysql\",\n \"canonical\": \"MySQL\",\n \"aliases\": [],\n \"type\": \"database\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"nagios\",\n \"canonical\": \"Nagios\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"national-instruments-labview\",\n \"canonical\": \"National Instruments LabVIEW\",\n \"aliases\": [\"NIL\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"national-land-cover-database-nlcd\",\n \"canonical\": \"National Land Cover Database NLCD\",\n \"aliases\": [\"NLCDN\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"nbtstat\",\n \"canonical\": \"nbtstat\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ncr-teradata-warehouse-miner\",\n \"canonical\": \"NCR Teradata Warehouse Miner\",\n \"aliases\": [\"NTWM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ncss-power-analysis-and-sample-size-pass\",\n \"canonical\": \"NCSS Power Analysis and Sample Size PASS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"nearpod\",\n \"canonical\": \"Nearpod\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"neo4j\",\n \"canonical\": \"Neo4j\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"neon\",\n \"canonical\": \"Neon\",\n \"aliases\": [],\n \"type\": \"database\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"nestjs\",\n \"canonical\": \"NestJS\",\n \"aliases\": [\"Nest.js\", \"Nest\"],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"netiq\",\n \"canonical\": \"NetIQ\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"netlify\",\n \"canonical\": \"Netlify\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"netreo-omnicenter\",\n \"canonical\": \"Netreo OmniCenter\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"netscout-infinitistream-console\",\n \"canonical\": \"NetScout InfinitiStream Console\",\n \"aliases\": [\"NIC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"netscout-sniffer-global-analyzer\",\n \"canonical\": \"NetScout Sniffer Global Analyzer\",\n \"aliases\": [\"NSGA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"netscout-sniffer-portable-professional-analyzer\",\n \"canonical\": \"NetScout Sniffer Portable Professional Analyzer\",\n \"aliases\": [\"NSPPA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"netsmart-technologies-carenet\",\n \"canonical\": \"Netsmart Technologies CareNet\",\n \"aliases\": [\"NTC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"netstat\",\n \"canonical\": \"netstat\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"netsuite-erp\",\n \"canonical\": \"NetSuite ERP\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-address-management\",\n \"canonical\": \"Network address management\",\n \"aliases\": [\"Network address management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-address-translation-nat-appliances\",\n \"canonical\": \"Network address translation NAT appliances\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"network-addressable-storage-nas\",\n \"canonical\": \"Network addressable storage NAS\",\n \"aliases\": [\"Network addressable storage NAS software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-analyzers\",\n \"canonical\": \"Network analyzers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"network-and-component-performance-analysis\",\n \"canonical\": \"Network and component performance analysis\",\n \"aliases\": [\"Network and component performance analysis software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-and-system-vulnerability-assessment\",\n \"canonical\": \"Network and system vulnerability assessment\",\n \"aliases\": [\"Network and system vulnerability assessment software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-architecture-design\",\n \"canonical\": \"Network architecture design\",\n \"aliases\": [\"Network architecture design software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-availability-monitoring\",\n \"canonical\": \"Network availability monitoring\",\n \"aliases\": [\"Network availability monitoring software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-bridge\",\n \"canonical\": \"Network bridge\",\n \"aliases\": [\"Network bridge software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-cabling\",\n \"canonical\": \"Network cabling\",\n \"aliases\": [\"Network cabling systems\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"network-channel-service-units-csu-or-data-service-units-dsu\",\n \"canonical\": \"Network channel service units CSU or data service units DSU\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"network-connectivity-testers\",\n \"canonical\": \"Network connectivity testers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"network-design\",\n \"canonical\": \"Network design\",\n \"aliases\": [\"Network design software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-directory-services\",\n \"canonical\": \"Network directory services\",\n \"aliases\": [\"Network directory services software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-documentation\",\n \"canonical\": \"Network documentation\",\n \"aliases\": [\"Network documentation software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-file-servers\",\n \"canonical\": \"Network file servers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"network-instruments-observer-standard\",\n \"canonical\": \"Network Instruments Observer Standard\",\n \"aliases\": [\"NIOS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-interface-cards-nic\",\n \"canonical\": \"Network interface cards NIC\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"network-intrusion-detection\",\n \"canonical\": \"Network intrusion detection\",\n \"aliases\": [\"Network intrusion detection software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-intrusion-prevention-systems-nips\",\n \"canonical\": \"Network intrusion prevention systems NIPS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-management\",\n \"canonical\": \"Network management\",\n \"aliases\": [\"Network management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-modeling-mapping-and-analysis\",\n \"canonical\": \"Network modeling, mapping, and analysis\",\n \"aliases\": [\"Network modeling, mapping, and analysis software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-monitoring\",\n \"canonical\": \"Network monitoring\",\n \"aliases\": [\"Network monitoring software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-multimeters\",\n \"canonical\": \"Network multimeters\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"network-reporting\",\n \"canonical\": \"Network reporting\",\n \"aliases\": [\"Network reporting software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-routers\",\n \"canonical\": \"Network routers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"network-security-auditing\",\n \"canonical\": \"Network security auditing\",\n \"aliases\": [\"Network security auditing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-server-load-balancers\",\n \"canonical\": \"Network server load balancers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"network-shutdown\",\n \"canonical\": \"Network shutdown\",\n \"aliases\": [\"Network shutdown software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-storage\",\n \"canonical\": \"Network storage\",\n \"aliases\": [\"Network storage software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-storage-arrays\",\n \"canonical\": \"Network storage arrays\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"network-switches\",\n \"canonical\": \"Network switches\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"network-traffic-flow-monitoring-and-analysis\",\n \"canonical\": \"Network traffic flow monitoring and analysis\",\n \"aliases\": [\"Network traffic flow monitoring and analysis software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-traffic-probe\",\n \"canonical\": \"Network traffic probe\",\n \"aliases\": [\"Network traffic probe software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-attached-storage-nas-equipment\",\n \"canonical\": \"Network-attached storage NAS equipment\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"network-hardware-and-software-auditing\",\n \"canonical\": \"Network, hardware, and software auditing\",\n \"aliases\": [\"Network, hardware, and software auditing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"network-server-and-operating-system-optimization\",\n \"canonical\": \"Network, server and operating system optimization\",\n \"aliases\": [\"Network, server and operating system optimization software\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"new-relic\",\n \"canonical\": \"New Relic\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"newgen-software-technologies-omnidocs\",\n \"canonical\": \"Newgen Software Technologies OmniDocs\",\n \"aliases\": [\"NSTO\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"next-js\",\n \"canonical\": \"Next.js\",\n \"aliases\": [\"NextJS\", \"Next\"],\n \"type\": \"framework\",\n \"hot\": true,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"nextgen-healthcare-information-systems-emr\",\n \"canonical\": \"NextGen Healthcare Information Systems EMR\",\n \"aliases\": [\"NHISE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ngrep\",\n \"canonical\": \"ngrep\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"niksun-netdetector\",\n \"canonical\": \"NIKSUN NetDetector\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ninian-huddle\",\n \"canonical\": \"Ninian Huddle\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"nmap\",\n \"canonical\": \"Nmap\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"node-js\",\n \"canonical\": \"Node.js\",\n \"aliases\": [\"NodeJS\", \"Node\"],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"norton-antivirus\",\n \"canonical\": \"Norton AntiVirus\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"nortonlifelock-cybersecurity\",\n \"canonical\": \"NortonLifeLock cybersecurity\",\n \"aliases\": [\"NortonLifeLock cybersecurity software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"nosql\",\n \"canonical\": \"NoSQL\",\n \"aliases\": [],\n \"type\": \"language\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"notebook-computers\",\n \"canonical\": \"Notebook computers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"notion\",\n \"canonical\": \"Notion\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"novastor-novabackup\",\n \"canonical\": \"NovaStor NovaBACKUP\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"novell-edirectory\",\n \"canonical\": \"Novell eDirectory\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"novell-netware-management-station\",\n \"canonical\": \"Novell NetWare Management Station\",\n \"aliases\": [\"NNMS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"npm\",\n \"canonical\": \"npm\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"nslookup\",\n \"canonical\": \"Nslookup\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"nuclear-magnetic-resonance-nmr-spectrometers\",\n \"canonical\": \"Nuclear magnetic resonance NMR spectrometers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"numeritek-numerica\",\n \"canonical\": \"Numeritek NUMERICA\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"numpy\",\n \"canonical\": \"NumPy\",\n \"aliases\": [],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"nunit\",\n \"canonical\": \"NUnit\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"nunjucks\",\n \"canonical\": \"Nunjucks\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"nut-drivers\",\n \"canonical\": \"Nut drivers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"nuxt-js\",\n \"canonical\": \"Nuxt.js\",\n \"aliases\": [\"Nuxt\", \"NuxtJS\"],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"nx\",\n \"canonical\": \"Nx\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"o3spaces-workplace\",\n \"canonical\": \"O3spaces Workplace\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oak-mountain-software-annuityvalue\",\n \"canonical\": \"Oak Mountain Software AnnuityValue\",\n \"aliases\": [\"OMSA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oauth\",\n \"canonical\": \"OAuth\",\n \"aliases\": [\"OAuth2\", \"OAuth 2.0\"],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"oberon\",\n \"canonical\": \"Oberon\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"object-database-management-system-odbms\",\n \"canonical\": \"Object database management system ODBMS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"object-management-group-object-request-broker\",\n \"canonical\": \"Object Management Group Object Request Broker\",\n \"aliases\": [\"OMGORB\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"object-oriented-development-environment\",\n \"canonical\": \"Object oriented development environment\",\n \"aliases\": [\"Object oriented development environment software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"objectif-lune-planetpress-suite\",\n \"canonical\": \"Objectif Lune PlanetPress Suite\",\n \"aliases\": [\"OLPS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"objective-c\",\n \"canonical\": \"Objective C\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"objective-caml\",\n \"canonical\": \"Objective Caml\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"objective-decision-contactizer-pro\",\n \"canonical\": \"Objective Decision Contactizer Pro\",\n \"aliases\": [\"ODCP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"objective-electronic-document-management\",\n \"canonical\": \"Objective Electronic Document Management\",\n \"aliases\": [\"OEDM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"observability\",\n \"canonical\": \"Observability\",\n \"aliases\": [],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"office-gemini-diamond-vision\",\n \"canonical\": \"Office Gemini Diamond Vision\",\n \"aliases\": [\"OGDV\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"officework-software-turboproject\",\n \"canonical\": \"OfficeWork Software TurboProject\",\n \"aliases\": [\"OST\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oidc\",\n \"canonical\": \"OIDC\",\n \"aliases\": [\"OpenID Connect\"],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"omni-group-omnigraffle\",\n \"canonical\": \"Omni Group OmniGraffle\",\n \"aliases\": [\"OGO\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"one-pass-compiler\",\n \"canonical\": \"One pass compiler\",\n \"aliases\": [\"One pass compiler software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"online-traffic-calculator\",\n \"canonical\": \"Online traffic calculator\",\n \"aliases\": [\"Online traffic calculator software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"open-dynamics-collabtive\",\n \"canonical\": \"Open Dynamics Collabtive\",\n \"aliases\": [\"ODC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"open-end-wrenches\",\n \"canonical\": \"Open end wrenches\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"open-graphics-library-opengl\",\n \"canonical\": \"Open Graphics Library OpenGL\",\n \"aliases\": [\"OGLO\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"open-shortest-path-first-ospf\",\n \"canonical\": \"Open Shortest Path First OSPF\",\n \"aliases\": [\"OSPFO\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"open-source-routing-protocols-ospf\",\n \"canonical\": \"Open source routing protocols OSPF\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"open-text-web-solutions\",\n \"canonical\": \"Open Text Web Solutions\",\n \"aliases\": [\"OTWS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"openai\",\n \"canonical\": \"OpenAI\",\n \"aliases\": [\"OpenAI API\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"openai-chatgpt\",\n \"canonical\": \"OpenAI ChatGPT\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"openclinica\",\n \"canonical\": \"OpenClinica\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"opendocman\",\n \"canonical\": \"OpenDocMan\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"opengl\",\n \"canonical\": \"OpenGL\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"openmake-software-meister\",\n \"canonical\": \"OpenMake Software Meister\",\n \"aliases\": [\"OSM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"openmake-software-mojo\",\n \"canonical\": \"OpenMake Software Mojo\",\n \"aliases\": [\"OSM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"opensearch\",\n \"canonical\": \"OpenSearch\",\n \"aliases\": [],\n \"type\": \"database\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"openservice-open-nervecenter\",\n \"canonical\": \"OpenService Open NerveCenter\",\n \"aliases\": [\"OON\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"opentelemetry\",\n \"canonical\": \"OpenTelemetry\",\n \"aliases\": [\"OTel\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"opentext-livelink-ecm\",\n \"canonical\": \"OpenText Livelink ECM\",\n \"aliases\": [\"OLE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"openvas\",\n \"canonical\": \"OpenVAS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"operating-system-monitoring\",\n \"canonical\": \"Operating system monitoring\",\n \"aliases\": [\"Operating system monitoring software\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"operating-system-process-control\",\n \"canonical\": \"Operating system process control\",\n \"aliases\": [\"Operating system process control software\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"operating-system-shells\",\n \"canonical\": \"Operating system shells\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"opnet-apmxpert\",\n \"canonical\": \"OPNET APMXpert\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"opnet-sp-sentinel\",\n \"canonical\": \"OPNET SP Sentinel\",\n \"aliases\": [\"OSS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"optical-character-recognition-ocr\",\n \"canonical\": \"Optical character recognition OCR\",\n \"aliases\": [\"Optical character recognition OCR software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"optical-disk-drives\",\n \"canonical\": \"Optical disk drives\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"optical-network-management\",\n \"canonical\": \"Optical network management\",\n \"aliases\": [\"Optical network management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"optical-power-meters\",\n \"canonical\": \"Optical power meters\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"optical-spectrum-analyzers\",\n \"canonical\": \"Optical spectrum analyzers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"optical-time-domain-reflectometers-otdr\",\n \"canonical\": \"Optical time domain reflectometers OTDR\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"optimization\",\n \"canonical\": \"Optimization\",\n \"aliases\": [\"Optimization software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-application-express-apex\",\n \"canonical\": \"Oracle Application Express APEX\",\n \"aliases\": [\"OAEA\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-application-server\",\n \"canonical\": \"Oracle Application Server\",\n \"aliases\": [\"OAS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-business-intelligence-discoverer\",\n \"canonical\": \"Oracle Business Intelligence Discoverer\",\n \"aliases\": [\"OBID\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-business-intelligence-enterprise-edition\",\n \"canonical\": \"Oracle Business Intelligence Enterprise Edition\",\n \"aliases\": [\"OBIEE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-business-intelligence-suite\",\n \"canonical\": \"Oracle Business Intelligence Suite\",\n \"aliases\": [\"OBIS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-clinical\",\n \"canonical\": \"Oracle Clinical\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-cloud\",\n \"canonical\": \"Oracle Cloud\",\n \"aliases\": [\"Oracle Cloud software\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-data-guard\",\n \"canonical\": \"Oracle Data Guard\",\n \"aliases\": [\"ODG\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-data-integrator\",\n \"canonical\": \"Oracle Data Integrator\",\n \"aliases\": [\"ODI\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-database\",\n \"canonical\": \"Oracle Database\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-designer\",\n \"canonical\": \"Oracle Designer\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-e-business-suite-financials\",\n \"canonical\": \"Oracle E-Business Suite Financials\",\n \"aliases\": [\"OESF\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-eloqua\",\n \"canonical\": \"Oracle Eloqua\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-enterprise-manager\",\n \"canonical\": \"Oracle Enterprise Manager\",\n \"aliases\": [\"OEM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-enterprise-manager-cloud-control\",\n \"canonical\": \"Oracle Enterprise Manager Cloud Control\",\n \"aliases\": [\"OEMCC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-essbase\",\n \"canonical\": \"Oracle Essbase\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-fusion\",\n \"canonical\": \"Oracle Fusion\",\n \"aliases\": [\"Oracle Fusion Applications\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-fusion-middleware\",\n \"canonical\": \"Oracle Fusion Middleware\",\n \"aliases\": [\"OFM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-golden-gate\",\n \"canonical\": \"Oracle Golden Gate\",\n \"aliases\": [\"OGG\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-hyperion\",\n \"canonical\": \"Oracle Hyperion\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-java\",\n \"canonical\": \"Oracle Java\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-java-2-platform-enterprise-edition-j2ee\",\n \"canonical\": \"Oracle Java 2 Platform Enterprise Edition J2EE\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-java-enterprise-edition-ee\",\n \"canonical\": \"Oracle Java Enterprise Edition EE\",\n \"aliases\": [\"OJEEE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-java-message-service-jms\",\n \"canonical\": \"Oracle Java Message Service JMS\",\n \"aliases\": [\"OJMSJ\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-javaserver-pages-jsp\",\n \"canonical\": \"Oracle JavaServer Pages JSP\",\n \"aliases\": [\"OJPJ\"],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-jd-edwards-enterpriseone\",\n \"canonical\": \"Oracle JD Edwards EnterpriseOne\",\n \"aliases\": [\"OJEE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-jdbc\",\n \"canonical\": \"Oracle JDBC\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-jdeveloper\",\n \"canonical\": \"Oracle Jdeveloper\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-learning-management\",\n \"canonical\": \"Oracle Learning Management\",\n \"aliases\": [\"OLM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-master-data-management-mdm-suite\",\n \"canonical\": \"Oracle Master Data Management MDM Suite\",\n \"aliases\": [\"OMDMMS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-migration-workbench\",\n \"canonical\": \"Oracle Migration Workbench\",\n \"aliases\": [\"OMW\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-net-manager\",\n \"canonical\": \"Oracle Net Manager\",\n \"aliases\": [\"ONM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-peoplesoft\",\n \"canonical\": \"Oracle PeopleSoft\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-peoplesoft-financials\",\n \"canonical\": \"Oracle PeopleSoft Financials\",\n \"aliases\": [\"OPF\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-pl-sql\",\n \"canonical\": \"Oracle PL/SQL\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-real-application-cluster-rac\",\n \"canonical\": \"Oracle Real Application Cluster RAC\",\n \"aliases\": [\"ORACR\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-recovery-manager\",\n \"canonical\": \"Oracle Recovery Manager\",\n \"aliases\": [\"ORM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-remote-data-capture\",\n \"canonical\": \"Oracle Remote Data Capture\",\n \"aliases\": [\"ORDC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-reports\",\n \"canonical\": \"Oracle Reports\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-siebel-marketing-resource-management\",\n \"canonical\": \"Oracle Siebel Marketing Resource Management\",\n \"aliases\": [\"OSMRM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-solaris\",\n \"canonical\": \"Oracle Solaris\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-sql-developer\",\n \"canonical\": \"Oracle SQL Developer\",\n \"aliases\": [\"OSD\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-sql-loader\",\n \"canonical\": \"Oracle SQL Loader\",\n \"aliases\": [\"OSL\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-sql-plus\",\n \"canonical\": \"Oracle SQL Plus\",\n \"aliases\": [\"OSP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-taleo\",\n \"canonical\": \"Oracle Taleo\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-unified-directory\",\n \"canonical\": \"Oracle Unified Directory\",\n \"aliases\": [\"OUD\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-universal-content-management\",\n \"canonical\": \"Oracle Universal Content Management\",\n \"aliases\": [\"OUCM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-warehouse-builder\",\n \"canonical\": \"Oracle Warehouse Builder\",\n \"aliases\": [\"OWB\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"oracle-weblogic-server\",\n \"canonical\": \"Oracle WebLogic Server\",\n \"aliases\": [\"OWS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"orcad-capture\",\n \"canonical\": \"OrCAD Capture\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"overhead-projectors\",\n \"canonical\": \"Overhead projectors\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"packet-analysis\",\n \"canonical\": \"Packet analysis\",\n \"aliases\": [\"Packet analysis software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"packet-analysis-equipment\",\n \"canonical\": \"Packet analysis equipment\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"packet-analyzers\",\n \"canonical\": \"Packet analyzers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"packet-filter\",\n \"canonical\": \"Packet filter\",\n \"aliases\": [\"Packet filter software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"packet-tracing\",\n \"canonical\": \"Packet tracing\",\n \"aliases\": [\"Packet tracing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"palbridge-ubidesk\",\n \"canonical\": \"Palbridge Ubidesk\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"palo-alto-networks-next-generation-security-platform\",\n \"canonical\": \"Palo Alto Networks Next-Generation Security Platform\",\n \"aliases\": [\"PANNSP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"pan-tilt-zoom-cameras\",\n \"canonical\": \"Pan-tilt-zoom cameras\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"pandas\",\n \"canonical\": \"pandas\",\n \"aliases\": [],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"panorama-novaview\",\n \"canonical\": \"Panorama NovaView\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"paraccel-analytic-database\",\n \"canonical\": \"ParAccel Analytic Database\",\n \"aliases\": [\"PAD\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"parallel-systems\",\n \"canonical\": \"Parallel systems\",\n \"aliases\": [\"Parallel systems software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"parcel\",\n \"canonical\": \"Parcel\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"parentsquare\",\n \"canonical\": \"ParentSquare\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"pari-gp\",\n \"canonical\": \"PARI/GP\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"partial-class-generator\",\n \"canonical\": \"Partial class generator\",\n \"aliases\": [\"Partial class generator software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"pascal\",\n \"canonical\": \"Pascal\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"password-cracker\",\n \"canonical\": \"Password cracker\",\n \"aliases\": [\"Password cracker software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"password-management\",\n \"canonical\": \"Password management\",\n \"aliases\": [\"Password management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"patch-and-update-management\",\n \"canonical\": \"Patch and update management\",\n \"aliases\": [\"Patch and update management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"patch-management\",\n \"canonical\": \"Patch management\",\n \"aliases\": [\"Patch management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"patient-monitoring\",\n \"canonical\": \"Patient monitoring\",\n \"aliases\": [\"Patient monitoring systems\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"patient-tracking\",\n \"canonical\": \"Patient tracking\",\n \"aliases\": [\"Patient tracking software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"pegasystems-smartbpm\",\n \"canonical\": \"Pegasystems SmartBPM\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"penetration-testing\",\n \"canonical\": \"Penetration testing\",\n \"aliases\": [\"Penetration testing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"pentaho-kettle\",\n \"canonical\": \"Pentaho Kettle\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"perceptive-software-imagenow\",\n \"canonical\": \"Perceptive Software ImageNow\",\n \"aliases\": [\"PSI\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"perforce\",\n \"canonical\": \"Perforce\",\n \"aliases\": [\"Perforce software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"perforce-helix\",\n \"canonical\": \"Perforce Helix\",\n \"aliases\": [\"Perforce Helix software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"perforce-software-configuration-management\",\n \"canonical\": \"Perforce Software Configuration Management\",\n \"aliases\": [\"Perforce Software Configuration Management System\", \"PSCM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"perl\",\n \"canonical\": \"Perl\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"perl-shell\",\n \"canonical\": \"Perl shell\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"personable-workflow-dms\",\n \"canonical\": \"Personable Workflow DMS\",\n \"aliases\": [\"PWD\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"personal-computer-diagnostic\",\n \"canonical\": \"Personal computer diagnostic\",\n \"aliases\": [\"Personal computer diagnostic software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"personal-computers\",\n \"canonical\": \"Personal computers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"personal-digital-assistants-pda\",\n \"canonical\": \"Personal digital assistants PDA\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"phantomjs\",\n \"canonical\": \"PhantomJS\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"phase-forward-clintrial\",\n \"canonical\": \"Phase Forward Clintrial\",\n \"aliases\": [\"PFC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"phillips-head-screwdrivers\",\n \"canonical\": \"Phillips head screwdrivers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"phoenix\",\n \"canonical\": \"Phoenix\",\n \"aliases\": [],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"photocopiers\",\n \"canonical\": \"Photocopiers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"photocopying-equipment\",\n \"canonical\": \"Photocopying equipment\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"php\",\n \"canonical\": \"PHP\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"phylip\",\n \"canonical\": \"PHYLIP\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"picis-caresuite\",\n \"canonical\": \"Picis CareSuite\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ping-identity\",\n \"canonical\": \"Ping Identity\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"pipe-benders\",\n \"canonical\": \"Pipe benders\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"planbox\",\n \"canonical\": \"Planbox\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"planetscale\",\n \"canonical\": \"PlanetScale\",\n \"aliases\": [],\n \"type\": \"database\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"planisware\",\n \"canonical\": \"Planisware\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"planview-process-builder\",\n \"canonical\": \"Planview Process Builder\",\n \"aliases\": [\"PPB\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"platform-as-a-service-paas\",\n \"canonical\": \"Platform as a service PaaS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"playwright\",\n \"canonical\": \"Playwright\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"plotters\",\n \"canonical\": \"Plotters\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"plug-in-file\",\n \"canonical\": \"Plug-in file\",\n \"aliases\": [\"Plug-in file software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"pm-ase-quickbuild\",\n \"canonical\": \"pm ase QuickBuild\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"pnpm\",\n \"canonical\": \"pnpm\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"polaris-parallelizing-compilers\",\n \"canonical\": \"Polaris parallelizing compilers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"polarity-testers\",\n \"canonical\": \"Polarity testers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"polhemus-fasttrack\",\n \"canonical\": \"Polhemus Fasttrack\",\n \"aliases\": [\"Polhemus Fasttrack System\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"poll-everywhere\",\n \"canonical\": \"Poll Everywhere\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"polymath-software-polymath\",\n \"canonical\": \"Polymath Software POLYMATH\",\n \"aliases\": [\"PSP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"polysystems-asset-delphi\",\n \"canonical\": \"PolySystems Asset Delphi\",\n \"aliases\": [\"PAD\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"popkin-system-architect\",\n \"canonical\": \"Popkin System Architect\",\n \"aliases\": [\"PSA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"port-analyzer-adapters\",\n \"canonical\": \"Port analyzer adapters\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"port-scanners\",\n \"canonical\": \"Port scanners\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"portable-data-collectors\",\n \"canonical\": \"Portable data collectors\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"portable-drills\",\n \"canonical\": \"Portable drills\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"portswigger-burp-suite\",\n \"canonical\": \"Portswigger BurP Suite\",\n \"aliases\": [\"PBS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"postgresql\",\n \"canonical\": \"PostgreSQL\",\n \"aliases\": [\"Postgres\"],\n \"type\": \"database\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"postman\",\n \"canonical\": \"Postman\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"power-meters\",\n \"canonical\": \"Power meters\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"power-saws\",\n \"canonical\": \"Power saws\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"powerline-monitors\",\n \"canonical\": \"Powerline monitors\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"powersoft-powerbuilder\",\n \"canonical\": \"PowerSoft PowerBuilder\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ppd-eloader\",\n \"canonical\": \"PPD eLoader\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"presentation\",\n \"canonical\": \"Presentation\",\n \"aliases\": [\"Presentation software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"prettier\",\n \"canonical\": \"Prettier\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"pricing\",\n \"canonical\": \"Pricing\",\n \"aliases\": [\"Pricing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"prisma\",\n \"canonical\": \"Prisma\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"program-checksumming\",\n \"canonical\": \"Program checksumming\",\n \"aliases\": [\"Program checksumming software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"programming-language-one-pl-i\",\n \"canonical\": \"Programming language one PL/I\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"progress-openedge-abl\",\n \"canonical\": \"Progress OpenEdge ABL\",\n \"aliases\": [\"POA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"progress-sonic-esb\",\n \"canonical\": \"Progress Sonic ESB\",\n \"aliases\": [\"PSE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"progress-webspeed-workshop\",\n \"canonical\": \"Progress WebSpeed Workshop\",\n \"aliases\": [\"PWW\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"progressive-web-app\",\n \"canonical\": \"Progressive Web App\",\n \"aliases\": [\"PWA\"],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"projectlibre\",\n \"canonical\": \"ProjectLibre\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"projecturf\",\n \"canonical\": \"Projecturf\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"prolog\",\n \"canonical\": \"Prolog\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"prometheus\",\n \"canonical\": \"Prometheus\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"promodel\",\n \"canonical\": \"ProModel\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"protocol-analyzers\",\n \"canonical\": \"Protocol analyzers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"provalis-research-simstat\",\n \"canonical\": \"Provalis Research Simstat\",\n \"aliases\": [\"PRS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ptc-creo-parametric\",\n \"canonical\": \"PTC Creo Parametric\",\n \"aliases\": [\"PCP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"pulumi\",\n \"canonical\": \"Pulumi\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"punch-down-insertion\",\n \"canonical\": \"Punch down insertion\",\n \"aliases\": [\"Punch down insertion tools\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"punchdown\",\n \"canonical\": \"Punchdown\",\n \"aliases\": [\"Punchdown tools\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"puppet\",\n \"canonical\": \"Puppet\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"putty\",\n \"canonical\": \"PuTTY\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"pyspark\",\n \"canonical\": \"PySpark\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"python\",\n \"canonical\": \"Python\",\n \"aliases\": [],\n \"type\": \"language\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"pytorch\",\n \"canonical\": \"PyTorch\",\n \"aliases\": [],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"qgis\",\n \"canonical\": \"QGIS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"qlik\",\n \"canonical\": \"Qlik\",\n \"aliases\": [\"Qlik software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"qlik-tech-qlikview\",\n \"canonical\": \"Qlik Tech QlikView\",\n \"aliases\": [\"QTQ\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"qnx\",\n \"canonical\": \"QNX\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"qsm-slim-suite\",\n \"canonical\": \"QSM SLIM Suite\",\n \"aliases\": [\"QSS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"qualys-cloud-platform\",\n \"canonical\": \"Qualys Cloud Platform\",\n \"aliases\": [\"QCP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"quantitative-micro-software-eviews\",\n \"canonical\": \"Quantitative Micro Software EViews\",\n \"aliases\": [\"QMSE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"quarter-inch-cartridge-qic-tapes\",\n \"canonical\": \"Quarter inch cartridge QIC tapes\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"quest-bigbrother\",\n \"canonical\": \"Quest BigBrother\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"quest-central\",\n \"canonical\": \"Quest Central\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"quest-erwin-data-modeler\",\n \"canonical\": \"Quest Erwin Data Modeler\",\n \"aliases\": [\"QEDM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"quest-foglight\",\n \"canonical\": \"Quest Foglight\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"quest-shareplex\",\n \"canonical\": \"Quest SharePlex\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"quest-sql-optimizer-for-oracle\",\n \"canonical\": \"Quest SQL Optimizer for Oracle\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"quickbase-business-management\",\n \"canonical\": \"QuickBase business management\",\n \"aliases\": [\"QuickBase business management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"qwik\",\n \"canonical\": \"Qwik\",\n \"aliases\": [],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"rabbitmq\",\n \"canonical\": \"RabbitMQ\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"radio-frequency-cables\",\n \"canonical\": \"Radio frequency cables\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"radio-frequency-rf-antennas\",\n \"canonical\": \"Radio frequency RF antennas\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"radio-interference-detection-rid-devices\",\n \"canonical\": \"Radio interference detection RID devices\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"radix-ui\",\n \"canonical\": \"Radix UI\",\n \"aliases\": [\"Radix\"],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"rag\",\n \"canonical\": \"RAG\",\n \"aliases\": [\"Retrieval Augmented Generation\", \"retrieval-augmented generation\"],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"rails\",\n \"canonical\": \"Rails\",\n \"aliases\": [\"Ruby on Rails\", \"RoR\"],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"railway\",\n \"canonical\": \"Railway\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"rapid-i-rapidminer\",\n \"canonical\": \"Rapid-I RapidMiner\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"rapid7-nexpose\",\n \"canonical\": \"Rapid7 Nexpose\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"rapide\",\n \"canonical\": \"Rapide\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"rat-stats\",\n \"canonical\": \"RAT-STATS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"react\",\n \"canonical\": \"React\",\n \"aliases\": [\"React.js\", \"ReactJS\"],\n \"type\": \"framework\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"react-native\",\n \"canonical\": \"React Native\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"react-query\",\n \"canonical\": \"React Query\",\n \"aliases\": [\"TanStack Query\", \"tanstack-query\"],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"react-redux\",\n \"canonical\": \"React Redux\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"real-time-motion-capture\",\n \"canonical\": \"Real time motion capture\",\n \"aliases\": [\"Real time motion capture systems\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"real-time-operating-system-rtos\",\n \"canonical\": \"Real time operating system RTOS\",\n \"aliases\": [\"Real time operating system RTOS software\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"recoil\",\n \"canonical\": \"Recoil\",\n \"aliases\": [],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"records-management\",\n \"canonical\": \"Records management\",\n \"aliases\": [\"Records management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"recovery-testing\",\n \"canonical\": \"Recovery testing\",\n \"aliases\": [\"Recovery testing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"recrystallize-crystal-reports\",\n \"canonical\": \"ReCrystallize Crystal Reports\",\n \"aliases\": [\"RCR\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"red-hat-ansible-engine\",\n \"canonical\": \"Red Hat Ansible Engine\",\n \"aliases\": [\"RHAE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"red-hat-enterprise-linux\",\n \"canonical\": \"Red Hat Enterprise Linux\",\n \"aliases\": [\"RHEL\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"red-hat-openshift\",\n \"canonical\": \"Red Hat OpenShift\",\n \"aliases\": [\"RHO\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"red-hat-wildfly\",\n \"canonical\": \"Red Hat WildFly\",\n \"aliases\": [\"RHW\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"redgate-sql-server\",\n \"canonical\": \"Redgate SQL Server\",\n \"aliases\": [\"RSS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"redis\",\n \"canonical\": \"Redis\",\n \"aliases\": [],\n \"type\": \"database\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"redmine\",\n \"canonical\": \"Redmine\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"redundant-array-of-independent-disks-raid\",\n \"canonical\": \"Redundant array of independent disks RAID\",\n \"aliases\": [\"Redundant array of independent disks RAID systems\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"redux\",\n \"canonical\": \"Redux\",\n \"aliases\": [\"Redux Toolkit\", \"RTK\"],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"reflectometers\",\n \"canonical\": \"Reflectometers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"regmon\",\n \"canonical\": \"RegMon\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"regression-testing\",\n \"canonical\": \"Regression testing\",\n \"aliases\": [\"Regression testing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"relational-database\",\n \"canonical\": \"Relational database\",\n \"aliases\": [\"Relational database software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"relational-database-management\",\n \"canonical\": \"Relational database management\",\n \"aliases\": [\"Relational database management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"relational-database-management-system\",\n \"canonical\": \"Relational database management system\",\n \"aliases\": [\"Relational database management system software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"relational-database-management-system-rdms\",\n \"canonical\": \"Relational database management system RDMS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"relay\",\n \"canonical\": \"Relay\",\n \"aliases\": [],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"remix\",\n \"canonical\": \"Remix\",\n \"aliases\": [],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"remote-access\",\n \"canonical\": \"Remote access\",\n \"aliases\": [\"Remote access software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"remote-access-servers\",\n \"canonical\": \"Remote access servers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"remote-authentication-dial-in-user-service-radius\",\n \"canonical\": \"Remote authentication dial-in user service RADIUS\",\n \"aliases\": [\"Remote authentication dial-in user service RADIUS software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"remote-control\",\n \"canonical\": \"Remote control\",\n \"aliases\": [\"Remote control software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"remote-desktop-control\",\n \"canonical\": \"Remote desktop control\",\n \"aliases\": [\"Remote desktop control software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"remote-install-server\",\n \"canonical\": \"Remote install server\",\n \"aliases\": [\"Remote install server software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"remote-monitoring\",\n \"canonical\": \"Remote monitoring\",\n \"aliases\": [\"Remote monitoring software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"render\",\n \"canonical\": \"Render\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"render-farms\",\n \"canonical\": \"Render farms\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"reporting\",\n \"canonical\": \"Reporting\",\n \"aliases\": [\"Reporting software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"requirejs\",\n \"canonical\": \"RequireJS\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"requirements-analysis\",\n \"canonical\": \"Requirements analysis\",\n \"aliases\": [\"Requirements analysis software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"requirements-management\",\n \"canonical\": \"Requirements management\",\n \"aliases\": [\"Requirements management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"resource-management\",\n \"canonical\": \"Resource management\",\n \"aliases\": [\"Resource management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"rest-api\",\n \"canonical\": \"REST API\",\n \"aliases\": [\"RESTful API\", \"REST APIs\", \"REST\"],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"restful-api\",\n \"canonical\": \"RESTful API\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"restructured-extended-executor-rexx\",\n \"canonical\": \"Restructured extended executor REXX\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"retargetable-compiler\",\n \"canonical\": \"Retargetable compiler\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"revision-control\",\n \"canonical\": \"Revision control\",\n \"aliases\": [\"Revision control software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"rice-simulator-for-ilp-multiprocessors-rsim\",\n \"canonical\": \"Rice Simulator for ILP Multiprocessors RSIM\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"risk-assessment\",\n \"canonical\": \"Risk assessment\",\n \"aliases\": [\"Risk assessment software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"riverbed-technology\",\n \"canonical\": \"Riverbed Technology\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"rockware-arcmap\",\n \"canonical\": \"RockWare ArcMap\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"rockwell-automation-arena\",\n \"canonical\": \"Rockwell Automation Arena\",\n \"aliases\": [\"RAA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"rogue-wave-software-imsl-numerical-libraries\",\n \"canonical\": \"Rogue Wave Software IMSL Numerical Libraries\",\n \"aliases\": [\"RWSINL\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"rollup\",\n \"canonical\": \"Rollup\",\n \"aliases\": [\"Rollup.js\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"root-cause-analysis\",\n \"canonical\": \"Root cause analysis\",\n \"aliases\": [\"Root cause analysis software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"root-kit-detection\",\n \"canonical\": \"Root kit detection\",\n \"aliases\": [\"Root kit detection software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"route\",\n \"canonical\": \"Route\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"router\",\n \"canonical\": \"Router\",\n \"aliases\": [\"Router software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"roxio-retrospect\",\n \"canonical\": \"Roxio Retrospect\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ruby\",\n \"canonical\": \"Ruby\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ruby-on-rails\",\n \"canonical\": \"Ruby on Rails\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"rust\",\n \"canonical\": \"Rust\",\n \"aliases\": [],\n \"type\": \"language\",\n \"hot\": true,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"rust-programming-language\",\n \"canonical\": \"Rust programming language\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"safe-software-fme\",\n \"canonical\": \"Safe Software FME\",\n \"aliases\": [\"SSF\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sage-50-accounting\",\n \"canonical\": \"Sage 50 Accounting\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sage-accounting\",\n \"canonical\": \"Sage Accounting\",\n \"aliases\": [\"Sage Accounting Software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"salesforce\",\n \"canonical\": \"Salesforce\",\n \"aliases\": [\"Salesforce software\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"salesforce-marketing-cloud\",\n \"canonical\": \"Salesforce Marketing Cloud\",\n \"aliases\": [\"SMC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"salesforce-visualforce\",\n \"canonical\": \"Salesforce Visualforce\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sand\",\n \"canonical\": \"SAND\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sap\",\n \"canonical\": \"SAP\",\n \"aliases\": [\"SAP software\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sap-adaptive-server-enterprise\",\n \"canonical\": \"SAP Adaptive Server Enterprise\",\n \"aliases\": [\"SASE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sap-business-intelligence\",\n \"canonical\": \"SAP Business Intelligence\",\n \"aliases\": [\"SBI\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sap-business-objects\",\n \"canonical\": \"SAP Business Objects\",\n \"aliases\": [\"SBO\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sap-businessobjects-crystal-reports\",\n \"canonical\": \"SAP BusinessObjects Crystal Reports\",\n \"aliases\": [\"SBCR\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sap-businessobjects-data-integrator\",\n \"canonical\": \"SAP BusinessObjects Data Integrator\",\n \"aliases\": [\"SBDI\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sap-businessobjects-desktop-intelligence\",\n \"canonical\": \"SAP BusinessObjects Desktop Intelligence\",\n \"aliases\": [\"SBDI\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sap-crystal-reports\",\n \"canonical\": \"SAP Crystal Reports\",\n \"aliases\": [\"SCR\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sap-dms\",\n \"canonical\": \"SAP DMS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sap-erp-financials\",\n \"canonical\": \"SAP ERP Financials\",\n \"aliases\": [\"SEF\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sap-iq\",\n \"canonical\": \"SAP IQ\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sap-master-data-management-mdm\",\n \"canonical\": \"SAP Master Data Management MDM\",\n \"aliases\": [\"SMDMM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sap-netweaver\",\n \"canonical\": \"SAP NetWeaver\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sap-netweaver-bw\",\n \"canonical\": \"SAP NetWeaver BW\",\n \"aliases\": [\"SNB\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sap-powerbuilder\",\n \"canonical\": \"SAP PowerBuilder\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sap-powerdesigner\",\n \"canonical\": \"SAP PowerDesigner\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sap-replication-server\",\n \"canonical\": \"SAP Replication Server\",\n \"aliases\": [\"SRS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"saperion-ecm\",\n \"canonical\": \"Saperion ECM\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sas\",\n \"canonical\": \"SAS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sas-data-integration-server\",\n \"canonical\": \"SAS Data Integration Server\",\n \"aliases\": [\"SDIS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sas-data-integration-studio\",\n \"canonical\": \"SAS Data Integration Studio\",\n \"aliases\": [\"SDIS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sas-enterprise-miner\",\n \"canonical\": \"SAS Enterprise Miner\",\n \"aliases\": [\"SEM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sas-jmp\",\n \"canonical\": \"SAS JMP\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sas-connect\",\n \"canonical\": \"SAS/CONNECT\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sas-stat\",\n \"canonical\": \"SAS/STAT\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"scala\",\n \"canonical\": \"Scala\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"scanners\",\n \"canonical\": \"Scanners\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"scheduling\",\n \"canonical\": \"Scheduling\",\n \"aliases\": [\"Scheduling software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"scheme\",\n \"canonical\": \"Scheme\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"schoology\",\n \"canonical\": \"Schoology\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"scientific-software-international-ssi-lisrel\",\n \"canonical\": \"Scientific Software International SSI LISREL\",\n \"aliases\": [\"SSISL\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sciforma\",\n \"canonical\": \"Sciforma\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"scikit-learn\",\n \"canonical\": \"Scikit-learn\",\n \"aliases\": [\"sklearn\"],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"scipy\",\n \"canonical\": \"SciPy\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"screencast-o-matic\",\n \"canonical\": \"Screencast-O-Matic\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"screencastify\",\n \"canonical\": \"Screencastify\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"screwdrivers\",\n \"canonical\": \"Screwdrivers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"scriptella\",\n \"canonical\": \"Scriptella\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"secure-internet-filtering\",\n \"canonical\": \"Secure internet filtering\",\n \"aliases\": [\"Secure internet filtering software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"secure-shell-ssh\",\n \"canonical\": \"Secure shell SSH\",\n \"aliases\": [\"Secure shell SSH software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"security-assertion-markup-language-saml\",\n \"canonical\": \"Security assertion markup language SAML\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"security-incident-management\",\n \"canonical\": \"Security incident management\",\n \"aliases\": [\"Security incident management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"security-risk-assessment\",\n \"canonical\": \"Security risk assessment\",\n \"aliases\": [\"Security risk assessment software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"security-testing\",\n \"canonical\": \"Security testing\",\n \"aliases\": [\"Security testing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"seesaw\",\n \"canonical\": \"Seesaw\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"segue-silkperformer\",\n \"canonical\": \"Segue SilkPerformer\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"seimens-healthineers\",\n \"canonical\": \"Seimens Healthineers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"selenium\",\n \"canonical\": \"Selenium\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"semiconductor-based-sequencers\",\n \"canonical\": \"Semiconductor-based sequencers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"sentry\",\n \"canonical\": \"Sentry\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"sentryone-sql-sentry\",\n \"canonical\": \"SentryOne SQL Sentry\",\n \"aliases\": [\"SSS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"serial-port-cards\",\n \"canonical\": \"Serial port cards\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"server-side-rendering\",\n \"canonical\": \"Server-Side Rendering\",\n \"aliases\": [\"SSR\"],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"serverless\",\n \"canonical\": \"Serverless\",\n \"aliases\": [],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"servicenow\",\n \"canonical\": \"ServiceNow\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"session-initiation-protocol-sip\",\n \"canonical\": \"Session Initiation Protocol SIP\",\n \"aliases\": [\"SIPS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"shadcn-ui\",\n \"canonical\": \"shadcn/ui\",\n \"aliases\": [\"shadcn\", \"shadcn ui\"],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"sharedplan-software-sharedplan-pro\",\n \"canonical\": \"SharedPlan Software SharedPlan Pro\",\n \"aliases\": [\"SSSP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"shell-script\",\n \"canonical\": \"Shell script\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"shiny\",\n \"canonical\": \"Shiny\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"siemens-teamcenter\",\n \"canonical\": \"Siemens Teamcenter\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sierra-scientific-software-cris\",\n \"canonical\": \"Sierra Scientific Software CRIS\",\n \"aliases\": [\"SSSC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"silver-peak\",\n \"canonical\": \"Silver Peak\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"simple-api-for-xml-sax\",\n \"canonical\": \"Simple API for XML SAX\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"simple-directmedia-layer-sdl\",\n \"canonical\": \"Simple DirectMedia Layer SDL\",\n \"aliases\": [\"SDLS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"simple-mail-transfer-protocol-smtp\",\n \"canonical\": \"Simple mail transfer protocol SMTP\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"simple-network-management-protocol-snmp\",\n \"canonical\": \"Simple network management protocol SNMP\",\n \"aliases\": [\"Simple network management protocol SNMP software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"simulation\",\n \"canonical\": \"Simulation\",\n \"aliases\": [\"Simulation software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"simulation-program-with-integrated-circuit-emphasis-spice\",\n \"canonical\": \"Simulation program with integrated circuit emphasis SPICE\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"single-sign-on-sso\",\n \"canonical\": \"Single sign-on SSO\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sisense-prism\",\n \"canonical\": \"SiSense Prism\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sitecore-cms\",\n \"canonical\": \"Sitecore CMS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sitemaster-sitesmart\",\n \"canonical\": \"SiteMaster SiteSmart\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sketch\",\n \"canonical\": \"Sketch\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"skype\",\n \"canonical\": \"Skype\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"slack\",\n \"canonical\": \"Slack\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"slido-interaction\",\n \"canonical\": \"Slido interaction\",\n \"aliases\": [\"Slido interaction software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"smalltalk\",\n \"canonical\": \"Smalltalk\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"smart-card-management\",\n \"canonical\": \"Smart card management\",\n \"aliases\": [\"Smart card management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"smart-phones\",\n \"canonical\": \"Smart phones\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"smartbear-software-automated-build-studio\",\n \"canonical\": \"SmartBear Software Automated Build Studio\",\n \"aliases\": [\"SSABS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"smartbear-software-automatedqa-testcomplete\",\n \"canonical\": \"SmartBear Software AutomatedQA TestComplete\",\n \"aliases\": [\"SSAT\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"smartphones\",\n \"canonical\": \"Smartphones\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"smartsheet\",\n \"canonical\": \"Smartsheet\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"smsi-twister-data-integrator\",\n \"canonical\": \"SMSi Twister Data Integrator\",\n \"aliases\": [\"STDI\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"smugmug-flickr\",\n \"canonical\": \"SmugMug Flickr\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sniffer-investigator\",\n \"canonical\": \"Sniffer Investigator\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"snort\",\n \"canonical\": \"Snort\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"snowflake\",\n \"canonical\": \"Snowflake\",\n \"aliases\": [],\n \"type\": \"database\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"soapware-emr\",\n \"canonical\": \"SOAPware EMR\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"social-media-sites\",\n \"canonical\": \"Social media sites\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"software-as-a-service-saas\",\n \"canonical\": \"Software as a service SaaS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"software-asset-management-sam\",\n \"canonical\": \"Software asset management SAM\",\n \"aliases\": [\"Software asset management SAM software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"software-distribution\",\n \"canonical\": \"Software distribution\",\n \"aliases\": [\"Software distribution software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"software-distribution-management\",\n \"canonical\": \"Software distribution management\",\n \"aliases\": [\"Software distribution management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"software-libraries\",\n \"canonical\": \"Software libraries\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"soil-survey-geographic-ssurgo\",\n \"canonical\": \"Soil Survey Geographic SSURGO\",\n \"aliases\": [\"SSGS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"solarwinds\",\n \"canonical\": \"SolarWinds\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"soldering-irons\",\n \"canonical\": \"Soldering irons\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"solid\",\n \"canonical\": \"Solid\",\n \"aliases\": [\"SolidJS\", \"Solid.js\"],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"solidity\",\n \"canonical\": \"Solidity\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sonarqube\",\n \"canonical\": \"SonarQube\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sonicwall-sonicos-enhanced\",\n \"canonical\": \"Sonicwall SonicOS Enhanced\",\n \"aliases\": [\"SSE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sony-sound-forge\",\n \"canonical\": \"Sony Sound Forge\",\n \"aliases\": [\"SSF\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sorenson-media-sorenson-squeeze\",\n \"canonical\": \"Sorenson Media Sorenson Squeeze\",\n \"aliases\": [\"SMSS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sound-development\",\n \"canonical\": \"Sound development\",\n \"aliases\": [\"Sound development software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"source-code-editor\",\n \"canonical\": \"Source code editor\",\n \"aliases\": [\"Source code editor software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"source-code-management-scm\",\n \"canonical\": \"Source code management SCM\",\n \"aliases\": [\"Source code management SCM software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"source-code-migration\",\n \"canonical\": \"Source code migration\",\n \"aliases\": [\"Source code migration software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"spacy\",\n \"canonical\": \"spaCy\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"spark\",\n \"canonical\": \"Spark\",\n \"aliases\": [\"Apache Spark\", \"PySpark\"],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"sparta-systems-trackwise\",\n \"canonical\": \"Sparta Systems TrackWise\",\n \"aliases\": [\"SST\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"spectraquest\",\n \"canonical\": \"SpectraQuest\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"spectrum-analyzers\",\n \"canonical\": \"Spectrum analyzers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"splunk-enterprise\",\n \"canonical\": \"Splunk Enterprise\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"spreadsheet\",\n \"canonical\": \"Spreadsheet\",\n \"aliases\": [\"Spreadsheet software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"spring-boot\",\n \"canonical\": \"Spring Boot\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"spring-framework\",\n \"canonical\": \"Spring Framework\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sql\",\n \"canonical\": \"SQL\",\n \"aliases\": [],\n \"type\": \"language\",\n \"hot\": true,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"sqlite\",\n \"canonical\": \"SQLite\",\n \"aliases\": [],\n \"type\": \"database\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"ss-c-pts\",\n \"canonical\": \"SS&C PTS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sso\",\n \"canonical\": \"SSO\",\n \"aliases\": [\"Single Sign-On\"],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"stac-software-reachout\",\n \"canonical\": \"Stac Software ReachOut\",\n \"aliases\": [\"SSR\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"stack-smashing-protection-ssp\",\n \"canonical\": \"Stack smashing protection SSP\",\n \"aliases\": [\"Stack smashing protection SSP software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"stakeholder-management\",\n \"canonical\": \"Stakeholder Management\",\n \"aliases\": [],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"standpipe-studios-vertabase\",\n \"canonical\": \"Standpipe Studios Vertabase\",\n \"aliases\": [\"SSV\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"stanford-business-software-minos\",\n \"canonical\": \"Stanford Business Software MINOS\",\n \"aliases\": [\"SBSM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"stanford-business-software-snopt\",\n \"canonical\": \"Stanford Business Software SNOPT\",\n \"aliases\": [\"SBSS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"stat-ease-design-ease\",\n \"canonical\": \"Stat-Ease Design-Ease\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"stat-ease-design-expert\",\n \"canonical\": \"Stat-Ease Design-Expert\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"stat-systems-qd-clinical\",\n \"canonical\": \"STAT! Systems QD Clinical\",\n \"aliases\": [\"SSQC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"statacorp-stata\",\n \"canonical\": \"StataCorp Stata\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"statcom-patient-flow-logistics-enterprise-suite\",\n \"canonical\": \"StatCom Patient Flow Logistics Enterprise Suite\",\n \"aliases\": [\"SPFLES\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"state-soil-geographic-statsgo-database\",\n \"canonical\": \"State Soil Geographic STATSGO Database\",\n \"aliases\": [\"SSGSD\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"static-analysis\",\n \"canonical\": \"Static analysis\",\n \"aliases\": [\"Static analysis software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"static-site-generation\",\n \"canonical\": \"Static Site Generation\",\n \"aliases\": [\"SSG\"],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"statistica\",\n \"canonical\": \"STATISTICA\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"statistical\",\n \"canonical\": \"Statistical\",\n \"aliases\": [\"Statistical software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"statistical-solutions-bmdp\",\n \"canonical\": \"Statistical Solutions BMDP\",\n \"aliases\": [\"SSB\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"statpoint-statgraphics-centurion\",\n \"canonical\": \"StatPoint STATGRAPHICS Centurion\",\n \"aliases\": [\"SSC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"stereographic-projectors\",\n \"canonical\": \"Stereographic projectors\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"storage-area-network-san\",\n \"canonical\": \"Storage area network SAN\",\n \"aliases\": [\"Storage area network SAN software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"storage-area-network-san-switches\",\n \"canonical\": \"Storage area network SAN switches\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"storage-management\",\n \"canonical\": \"Storage management\",\n \"aliases\": [\"Storage management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"storage-servers\",\n \"canonical\": \"Storage servers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"storybook\",\n \"canonical\": \"Storybook\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"strategic-reporting-systems-reportsmith\",\n \"canonical\": \"Strategic Reporting Systems ReportSmith\",\n \"aliases\": [\"SRSR\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"stress-testing\",\n \"canonical\": \"Stress testing\",\n \"aliases\": [\"Stress testing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"string-oriented-symbolic-language-snobol\",\n \"canonical\": \"String oriented symbolic language SNOBOL\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"structure-prediction\",\n \"canonical\": \"Structure prediction\",\n \"aliases\": [\"Structure prediction software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"structured-query-language-sql\",\n \"canonical\": \"Structured query language SQL\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"structured-query-report-sqr\",\n \"canonical\": \"Structured Query Report SQR\",\n \"aliases\": [\"SQRS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"studymanager-sponsor-edition\",\n \"canonical\": \"StudyManager Sponsor Edition\",\n \"aliases\": [\"SSE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"styled-components\",\n \"canonical\": \"Styled Components\",\n \"aliases\": [\"styled-components\"],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"stylite-egroupware\",\n \"canonical\": \"Stylite eGroupWare\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sun-microsystems-java\",\n \"canonical\": \"Sun Microsystems Java\",\n \"aliases\": [\"SMJ\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sun-microsystems-java-persistence-api\",\n \"canonical\": \"Sun Microsystems Java Persistence API\",\n \"aliases\": [\"SMJPA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sun-microsystems-java-servlet-api\",\n \"canonical\": \"Sun Microsystems Java Servlet API\",\n \"aliases\": [\"SMJSA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"sun-microsystems-sun-one\",\n \"canonical\": \"Sun Microsystems Sun ONE\",\n \"aliases\": [\"SMSO\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"supabase\",\n \"canonical\": \"Supabase\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"superanova\",\n \"canonical\": \"SuperANOVA\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"supercomputers\",\n \"canonical\": \"Supercomputers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"supervisory-control-and-data-acquisition-scada\",\n \"canonical\": \"Supervisory control and data acquisition SCADA\",\n \"aliases\": [\"Supervisory control and data acquisition SCADA software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"svelte\",\n \"canonical\": \"Svelte\",\n \"aliases\": [\"SvelteKit\"],\n \"type\": \"framework\",\n \"hot\": true,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"swc\",\n \"canonical\": \"SWC\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"swift\",\n \"canonical\": \"Swift\",\n \"aliases\": [],\n \"type\": \"language\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"swr\",\n \"canonical\": \"SWR\",\n \"aliases\": [],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"symantec-blue-coat-data-loss-prevention\",\n \"canonical\": \"Symantec Blue Coat Data Loss Prevention\",\n \"aliases\": [\"SBCDLP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"symantec-endpoint-protection\",\n \"canonical\": \"Symantec Endpoint Protection\",\n \"aliases\": [\"SEP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"symantec-ghost-solution-suite\",\n \"canonical\": \"Symantec Ghost Solution Suite\",\n \"aliases\": [\"SGSS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"symantec-intruder-alert\",\n \"canonical\": \"Symantec Intruder Alert\",\n \"aliases\": [\"SIA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"symantec-livestate\",\n \"canonical\": \"Symantec LiveState\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"symantec-norton-utilities\",\n \"canonical\": \"Symantec Norton Utilities\",\n \"aliases\": [\"SNU\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"symantec-pcanywhere\",\n \"canonical\": \"Symantec pcAnywhere\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"symantec-veritas-netbackup\",\n \"canonical\": \"Symantec Veritas NetBackup\",\n \"aliases\": [\"SVN\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"symantec-visual-cafe\",\n \"canonical\": \"Symantec Visual Cafe\",\n \"aliases\": [\"SVC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"symark-powerbroker\",\n \"canonical\": \"Symark PowerBroker\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"symbolic-debugger\",\n \"canonical\": \"Symbolic debugger\",\n \"aliases\": [\"Symbolic debugger software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"symetric-sciences-symetric\",\n \"canonical\": \"SyMetric Sciences SyMetric\",\n \"aliases\": [\"SSS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"symmetrica\",\n \"canonical\": \"Symmetrica\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"synamed-emr\",\n \"canonical\": \"SynaMed EMR\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"synchronous-optical-network-sonet-analyzers\",\n \"canonical\": \"Synchronous optical network SONET analyzers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"syntactically-awesome-style-sheets-sass\",\n \"canonical\": \"Syntactically awesome style sheets SASS\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"synthetic-aperture-radar-sar\",\n \"canonical\": \"Synthetic aperture radar SAR\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"systat-software-sigmaplot\",\n \"canonical\": \"Systat Software SigmaPlot\",\n \"aliases\": [\"SSS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"systat-software-sigmastat\",\n \"canonical\": \"Systat Software SigmaStat\",\n \"aliases\": [\"SSS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"system-and-data-disaster-recovery\",\n \"canonical\": \"System and data disaster recovery\",\n \"aliases\": [\"System and data disaster recovery software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"system-testing\",\n \"canonical\": \"System testing\",\n \"aliases\": [\"System testing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"systems-and-application-deployment-and-migration\",\n \"canonical\": \"Systems and application deployment and migration\",\n \"aliases\": [\"Systems and application deployment and migration software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"systems-and-applications-migration\",\n \"canonical\": \"Systems and applications migration\",\n \"aliases\": [\"Systems and applications migration software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"systems-and-data-disaster-recovery\",\n \"canonical\": \"Systems and data disaster recovery\",\n \"aliases\": [\"Systems and data disaster recovery software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"systems-integration\",\n \"canonical\": \"Systems integration\",\n \"aliases\": [\"Systems integration software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"systemware\",\n \"canonical\": \"Systemware\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"t-birds\",\n \"canonical\": \"T-Birds\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"tableau\",\n \"canonical\": \"Tableau\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"tablet-computers\",\n \"canonical\": \"Tablet computers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"tailwind-css\",\n \"canonical\": \"Tailwind CSS\",\n \"aliases\": [\"Tailwind\", \"TailwindCSS\"],\n \"type\": \"framework\",\n \"hot\": true,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"talend-big-data-integration\",\n \"canonical\": \"Talend Big Data Integration\",\n \"aliases\": [\"TBDI\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"talend-data-fabric\",\n \"canonical\": \"Talend Data Fabric\",\n \"aliases\": [\"TDF\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"talend-open-studio\",\n \"canonical\": \"Talend Open Studio\",\n \"aliases\": [\"TOS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"talendforge\",\n \"canonical\": \"TalendForge\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"tanium\",\n \"canonical\": \"Tanium\",\n \"aliases\": [\"Tanium software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"tanstack\",\n \"canonical\": \"TanStack\",\n \"aliases\": [],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"tape-backup-system\",\n \"canonical\": \"Tape backup system\",\n \"aliases\": [\"Tape backup system software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"tape-libraries\",\n \"canonical\": \"Tape libraries\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"taskjuggler\",\n \"canonical\": \"TaskJuggler\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"tax\",\n \"canonical\": \"Tax\",\n \"aliases\": [\"Tax software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"tcpdump\",\n \"canonical\": \"Tcpdump\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"teamdynamixhe\",\n \"canonical\": \"TeamDynamixHE\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"technical-leadership\",\n \"canonical\": \"Technical Leadership\",\n \"aliases\": [\"Tech Lead\", \"Tech Leadership\"],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"telelogic-system-architect\",\n \"canonical\": \"Telelogic System Architect\",\n \"aliases\": [\"TSA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"tenable-nessus\",\n \"canonical\": \"Tenable Nessus\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"tensorflow\",\n \"canonical\": \"TensorFlow\",\n \"aliases\": [],\n \"type\": \"framework\",\n \"hot\": false,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"teradata-active-enterprise-data-warehouse\",\n \"canonical\": \"Teradata Active Enterprise Data Warehouse\",\n \"aliases\": [\"TAEDW\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"teradata-bteq\",\n \"canonical\": \"Teradata BTEQ\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"teradata-database\",\n \"canonical\": \"Teradata Database\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"teradata-fastexport\",\n \"canonical\": \"Teradata FastExport\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"teradata-fastload\",\n \"canonical\": \"Teradata FastLoad\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"teradata-parallel-transporter\",\n \"canonical\": \"Teradata Parallel Transporter\",\n \"aliases\": [\"TPT\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"teradata-tpump\",\n \"canonical\": \"Teradata Tpump\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"terraform\",\n \"canonical\": \"Terraform\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"test-data-generator\",\n \"canonical\": \"Test data generator\",\n \"aliases\": [\"Test data generator software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"test-design\",\n \"canonical\": \"Test design\",\n \"aliases\": [\"Test design software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"test-implementation\",\n \"canonical\": \"Test implementation\",\n \"aliases\": [\"Test implementation software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"test-lights\",\n \"canonical\": \"Test lights\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"test-driven-development\",\n \"canonical\": \"Test-Driven Development\",\n \"aliases\": [\"TDD\"],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"testing-library\",\n \"canonical\": \"Testing Library\",\n \"aliases\": [\"React Testing Library\", \"RTL\"],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"testng\",\n \"canonical\": \"TestNG\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"texas-medical-software-springcharts-emr\",\n \"canonical\": \"Texas Medical Software SpringCharts EMR\",\n \"aliases\": [\"TMSSE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"the-mathwizards-mathviews\",\n \"canonical\": \"The MathWizards MathViews\",\n \"aliases\": [\"TMM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"the-mathworks-matlab\",\n \"canonical\": \"The MathWorks MATLAB\",\n \"aliases\": [\"TMM\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"the-omni-group-omniplan\",\n \"canonical\": \"The Omni Group OmniPlan\",\n \"aliases\": [\"TOGO\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"thermo-fisher-scientific-ion-reporter\",\n \"canonical\": \"Thermo Fisher Scientific Ion Reporter\",\n \"aliases\": [\"TFSIR\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"thomson-reuters-filecabinet-cs\",\n \"canonical\": \"Thomson Reuters FileCabinet CS\",\n \"aliases\": [\"TRFC\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"thomson-reuters-gofileroom\",\n \"canonical\": \"Thomson Reuters GoFileRoom\",\n \"aliases\": [\"TRG\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"thoughtworks-studio-mingle\",\n \"canonical\": \"ThoughtWorks Studio Mingle\",\n \"aliases\": [\"TSM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"threaded-code-compiler\",\n \"canonical\": \"Threaded code compiler\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"throughput-testers\",\n \"canonical\": \"Throughput testers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"tibco-s-plus\",\n \"canonical\": \"Tibco S-PLUS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"tibco-spotfire\",\n \"canonical\": \"TIBCO Spotfire\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"ticket-information-tracking\",\n \"canonical\": \"Ticket information tracking\",\n \"aliases\": [\"Ticket information tracking software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"tier-generator\",\n \"canonical\": \"Tier generator\",\n \"aliases\": [\"Tier generator software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"tigris-cabie\",\n \"canonical\": \"Tigris Cabie\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"time-domain-reflectometers\",\n \"canonical\": \"Time domain reflectometers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"time-reporting\",\n \"canonical\": \"Time reporting\",\n \"aliases\": [\"Time reporting software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"time-sharing-option-tso\",\n \"canonical\": \"Time sharing option TSO\",\n \"aliases\": [\"Time sharing option TSO software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"tksoftware-rcm\",\n \"canonical\": \"TKSoftware RCM\",\n \"aliases\": [\"TKSoftware RCM software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"toadsoft-toad\",\n \"canonical\": \"ToadSoft Toad\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"tone-generators\",\n \"canonical\": \"Tone generators\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"tone-test-sets\",\n \"canonical\": \"Tone test sets\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"tool-command-language-tcl\",\n \"canonical\": \"Tool command language Tcl\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"topaz-enterprise-software-suite\",\n \"canonical\": \"TOPAZ Enterprise Software Suite\",\n \"aliases\": [\"TESS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"tophat\",\n \"canonical\": \"TopHat\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"towers-perrin-moses\",\n \"canonical\": \"Towers Perrin MoSes\",\n \"aliases\": [\"TPM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"traceroute\",\n \"canonical\": \"Traceroute\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"traffic-shapers\",\n \"canonical\": \"Traffic shapers\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"transact-sql\",\n \"canonical\": \"Transact-SQL\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"transparent-interconnection-of-lots-of-links-trill\",\n \"canonical\": \"Transparent Interconnection of Lots of Links TRILL\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"travis\",\n \"canonical\": \"Travis\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"treeno-software-treeno-content-server\",\n \"canonical\": \"Treeno Software Treeno Content Server\",\n \"aliases\": [\"TSTCS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"trenchers\",\n \"canonical\": \"Trenchers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"trend-micro-tippingpoint\",\n \"canonical\": \"Trend Micro TippingPoint\",\n \"aliases\": [\"TMT\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"trimble-pathfinder-office\",\n \"canonical\": \"Trimble Pathfinder Office\",\n \"aliases\": [\"TPO\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"trimble-sketchup-pro\",\n \"canonical\": \"Trimble SketchUp Pro\",\n \"aliases\": [\"TSP\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"trpc\",\n \"canonical\": \"tRPC\",\n \"aliases\": [],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"turbopack\",\n \"canonical\": \"Turbopack\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"turborepo\",\n \"canonical\": \"Turborepo\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"twiki\",\n \"canonical\": \"Twiki\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"typeorm\",\n \"canonical\": \"TypeORM\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"typescript\",\n \"canonical\": \"TypeScript\",\n \"aliases\": [\"TS\"],\n \"type\": \"language\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"ubuntu\",\n \"canonical\": \"Ubuntu\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"unawave\",\n \"canonical\": \"Unawave\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"unified-modeling-language-uml\",\n \"canonical\": \"Unified modeling language UML\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"unistat-statistical-package\",\n \"canonical\": \"UNISTAT Statistical Package\",\n \"aliases\": [\"USP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"unit-testing\",\n \"canonical\": \"Unit testing\",\n \"aliases\": [\"Unit testing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"unity-technologies-unity\",\n \"canonical\": \"Unity Technologies Unity\",\n \"aliases\": [\"UTU\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"universal-serial-bus-usb-flash-drives\",\n \"canonical\": \"Universal serial bus USB flash drives\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"unix\",\n \"canonical\": \"UNIX\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"unix-shell\",\n \"canonical\": \"UNIX Shell\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"usability-testing\",\n \"canonical\": \"Usability testing\",\n \"aliases\": [\"Usability testing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"user-interface-design\",\n \"canonical\": \"User interface design\",\n \"aliases\": [\"User interface design software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"userzoom\",\n \"canonical\": \"UserZoom\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"vector-search\",\n \"canonical\": \"Vector Search\",\n \"aliases\": [],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"vercel\",\n \"canonical\": \"Vercel\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"verilog\",\n \"canonical\": \"Verilog\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"veritas-netbackup\",\n \"canonical\": \"Veritas NetBackup\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"version-control\",\n \"canonical\": \"Version control\",\n \"aliases\": [\"Version control software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"vertafore-imageright\",\n \"canonical\": \"Vertafore ImageRight\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"video-editing\",\n \"canonical\": \"Video editing\",\n \"aliases\": [\"Video editing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"video-gaming-equipment\",\n \"canonical\": \"Video gaming equipment\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"video-projectors\",\n \"canonical\": \"Video projectors\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"videoconferencing\",\n \"canonical\": \"Videoconferencing\",\n \"aliases\": [\"Videoconferencing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"videoconferencing-equipment\",\n \"canonical\": \"Videoconferencing equipment\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"vignette-content-management\",\n \"canonical\": \"Vignette Content Management\",\n \"aliases\": [\"VCM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"vignette-portal\",\n \"canonical\": \"Vignette Portal\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"virage-vs-archive\",\n \"canonical\": \"Virage VS Archive\",\n \"aliases\": [\"VVA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"virtual-battlespace-2-vbs2\",\n \"canonical\": \"Virtual Battlespace 2 VBS2\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"virtual-local-area-network-management\",\n \"canonical\": \"Virtual local area network management\",\n \"aliases\": [\"Virtual local area network management software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"virtual-network-computing-vnc\",\n \"canonical\": \"Virtual network computing VNC\",\n \"aliases\": [\"Virtual network computing VNC software\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"virtual-private-networking-vpn\",\n \"canonical\": \"Virtual private networking VPN\",\n \"aliases\": [\"Virtual private networking VPN software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"virtual-router-redundancy-protocol-vrrp\",\n \"canonical\": \"Virtual Router Redundancy Protocol VRRP\",\n \"aliases\": [\"VRRPV\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"virus-scanning\",\n \"canonical\": \"Virus scanning\",\n \"aliases\": [\"Virus scanning software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"visible-razor\",\n \"canonical\": \"Visible Razor\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"visicu-eicu\",\n \"canonical\": \"VISICU eICU\",\n \"aliases\": [\"VISICU eICU Program\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"visual-numerics-ts-wave\",\n \"canonical\": \"Visual Numerics TS-WAVE\",\n \"aliases\": [\"VNT\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"visual-paradigm-db-visual-architect\",\n \"canonical\": \"Visual Paradigm DB Visual ARCHITECT\",\n \"aliases\": [\"VPDVA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"vite\",\n \"canonical\": \"Vite\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"vitest\",\n \"canonical\": \"Vitest\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"vitria-m3o-operational-intelligence\",\n \"canonical\": \"Vitria M3O Operational Intelligence\",\n \"aliases\": [\"VMOI\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"vme-powerpc-vxworks\",\n \"canonical\": \"VME PowerPC VxWorks\",\n \"aliases\": [\"VPV\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"vmware\",\n \"canonical\": \"VMware\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"vmware-esx-server\",\n \"canonical\": \"VMWare ESX Server\",\n \"aliases\": [\"VES\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"vmware-workstation\",\n \"canonical\": \"VMWare Workstation\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"voice-over-internet-protocol-voip\",\n \"canonical\": \"Voice over internet protocol VoIP\",\n \"aliases\": [\"Voice over internet protocol VoIP systems\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"voice-over-internet-protocol-voip-system\",\n \"canonical\": \"Voice over internet protocol VoIP system\",\n \"aliases\": [\"Voice over internet protocol VoIP system software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"voice-switches\",\n \"canonical\": \"Voice switches\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"voltage-testers\",\n \"canonical\": \"Voltage testers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"vormetric-application-encryption\",\n \"canonical\": \"Vormetric Application Encryption\",\n \"aliases\": [\"VAE\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"vsconline-vpmi\",\n \"canonical\": \"VSCOnline VPMi\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"vue-js\",\n \"canonical\": \"Vue.js\",\n \"aliases\": [\"Vue\", \"VueJS\"],\n \"type\": \"framework\",\n \"hot\": true,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"waikato-environment-for-knowledge-analysis-weka\",\n \"canonical\": \"Waikato Environment for Knowledge Analysis Weka\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"watir\",\n \"canonical\": \"Watir\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"wbs-goplan\",\n \"canonical\": \"WBS Goplan\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"web-application\",\n \"canonical\": \"Web application\",\n \"aliases\": [\"Web application software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"web-browser\",\n \"canonical\": \"Web browser\",\n \"aliases\": [\"Web browser software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"web-content-management-system-cms\",\n \"canonical\": \"Web content management system CMS\",\n \"aliases\": [\"Web content management system CMS software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"web-design\",\n \"canonical\": \"Web design\",\n \"aliases\": [\"Web design software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"web-server\",\n \"canonical\": \"Web server\",\n \"aliases\": [\"Web server software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"web-servers\",\n \"canonical\": \"Web servers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"web-service-definition-language-wdsl\",\n \"canonical\": \"Web service definition language WDSL\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"web2project\",\n \"canonical\": \"web2project\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"webassembly\",\n \"canonical\": \"WebAssembly\",\n \"aliases\": [\"Wasm\"],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"webfocus\",\n \"canonical\": \"WebFOCUS\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"webpack\",\n \"canonical\": \"webpack\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\", \"emerging\"]\n },\n {\n \"id\": \"websense-data-loss-prevention\",\n \"canonical\": \"Websense Data Loss Prevention\",\n \"aliases\": [\"WDLP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"websockets\",\n \"canonical\": \"WebSockets\",\n \"aliases\": [\"WebSocket\"],\n \"type\": \"practice\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"webtrends-analytics\",\n \"canonical\": \"WebTrends Analytics\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"westbrook-fortis\",\n \"canonical\": \"Westbrook Fortis\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"wevideo\",\n \"canonical\": \"WeVideo\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"wide-area-network-wan\",\n \"canonical\": \"Wide area network WAN\",\n \"aliases\": [\"Wide area network WAN software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"wide-area-network-wan-analyzers\",\n \"canonical\": \"Wide area network WAN analyzers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"wide-area-network-wan-optimization\",\n \"canonical\": \"Wide area network WAN optimization\",\n \"aliases\": [\"Wide area network WAN optimization software\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"wide-area-network-wan-switches\",\n \"canonical\": \"Wide area network WAN switches\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"wildpackets-omnipeek-network-analyzer\",\n \"canonical\": \"WildPackets OmniPeek Network Analyzer\",\n \"aliases\": [\"WONA\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"win-ce\",\n \"canonical\": \"Win CE\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"winches\",\n \"canonical\": \"Winches\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"wind-river-systems-vxworks\",\n \"canonical\": \"Wind River Systems VxWorks\",\n \"aliases\": [\"WRSV\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"wind-river-vxworks\",\n \"canonical\": \"Wind River VxWorks\",\n \"aliases\": [\"WRV\"],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"winmerge\",\n \"canonical\": \"WinMerge\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"wire-crimpers\",\n \"canonical\": \"Wire crimpers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"wire-locators\",\n \"canonical\": \"Wire locators\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"wire-mappers\",\n \"canonical\": \"Wire mappers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"wire-pullers\",\n \"canonical\": \"Wire pullers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"wire-wrap-guns\",\n \"canonical\": \"Wire wrap guns\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"wireless-access-points-wap\",\n \"canonical\": \"Wireless access points WAP\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"wireless-local-area-network-wlan-controllers\",\n \"canonical\": \"Wireless local area network WLAN controllers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"wireless-network-controllers\",\n \"canonical\": \"Wireless network controllers\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"wireshark\",\n \"canonical\": \"Wireshark\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"wisdomforce-databasesync\",\n \"canonical\": \"WisdomForce DatabaseSync\",\n \"aliases\": [\"WisdomForce DatabaseSync System\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"wise-solutions-wise-for-windows-installer\",\n \"canonical\": \"Wise Solutions Wise for Windows Installer\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"wolfram-research-mathematica\",\n \"canonical\": \"Wolfram Research Mathematica\",\n \"aliases\": [\"WRM\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"word-processing\",\n \"canonical\": \"Word processing\",\n \"aliases\": [\"Word processing software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"wordpress\",\n \"canonical\": \"WordPress\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"workday\",\n \"canonical\": \"Workday\",\n \"aliases\": [\"Workday software\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"workflow\",\n \"canonical\": \"Workflow\",\n \"aliases\": [\"Workflow software\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"workstations\",\n \"canonical\": \"Workstations\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tools\"]\n },\n {\n \"id\": \"wrike\",\n \"canonical\": \"Wrike\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"xcode\",\n \"canonical\": \"Xcode\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"xerces2-java-parser\",\n \"canonical\": \"Xerces2 Java Parser\",\n \"aliases\": [\"XJP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"xerox-docushare\",\n \"canonical\": \"Xerox DocuShare\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"xgboost\",\n \"canonical\": \"XGBoost\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"xgobi\",\n \"canonical\": \"XGobi\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"xlisp-stat\",\n \"canonical\": \"XLISP-STAT\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"xml-path-language-xpath\",\n \"canonical\": \"XML Path Language XPATH\",\n \"aliases\": [\"XPLX\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"xplanner\",\n \"canonical\": \"Xplanner\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"xquery\",\n \"canonical\": \"xQuery\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"xythos-enterprise-document-management-suite\",\n \"canonical\": \"Xythos Enterprise Document Management Suite\",\n \"aliases\": [\"XEDMS\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"yardi\",\n \"canonical\": \"Yardi\",\n \"aliases\": [\"Yardi software\"],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"yarn\",\n \"canonical\": \"Yarn\",\n \"aliases\": [\"Yarn Workspaces\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"yourkit-java-profiler\",\n \"canonical\": \"YourKit Java Profiler\",\n \"aliases\": [\"YJP\"],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"youtube\",\n \"canonical\": \"YouTube\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"zabbix\",\n \"canonical\": \"Zabbix\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"zend-framework\",\n \"canonical\": \"Zend Framework\",\n \"aliases\": [],\n \"type\": \"platform\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"zig\",\n \"canonical\": \"Zig\",\n \"aliases\": [],\n \"type\": \"language\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n },\n {\n \"id\": \"zmanda-amanda\",\n \"canonical\": \"Zmanda Amanda\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"zoho-projects\",\n \"canonical\": \"Zoho Projects\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": false,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"zoom\",\n \"canonical\": \"Zoom\",\n \"aliases\": [],\n \"type\": \"tool\",\n \"hot\": true,\n \"sources\": [\"onet-tech\"]\n },\n {\n \"id\": \"zustand\",\n \"canonical\": \"Zustand\",\n \"aliases\": [],\n \"type\": \"library\",\n \"hot\": false,\n \"sources\": [\"emerging\"]\n }\n ]\n}\n","import type { Skill, SkillMatch } from './types';\n\n/**\n * Tokenize text for skill matching.\n *\n * Splits on whitespace and sentence punctuation, but keeps internal punctuation\n * that's part of a skill name (e.g. \"Node.js\", \"CI/CD\", \"shadcn/ui\", \"c#\", \"c++\").\n * Returns normalized lowercase tokens alongside their original form.\n */\nexport interface Token {\n raw: string;\n norm: string;\n isAllUpper: boolean; // whether raw has ≥ 2 consecutive uppercase chars (acronym-ish)\n}\n\n/**\n * Chars that can appear inside a skill token (letters, digits, plus, hash,\n * dot, slash, hyphen). Anything else is a separator.\n *\n * Char-class check on a single char, constant-time, not ReDoS-susceptible\n * (CodeQL js/polynomial-redos flagged the previous regex-based tokenizer).\n */\nfunction isTokenChar(ch: string): boolean {\n if (ch >= 'a' && ch <= 'z') return true;\n if (ch >= 'A' && ch <= 'Z') return true;\n if (ch >= '0' && ch <= '9') return true;\n return ch === '.' || ch === '/' || ch === '-' || ch === '+' || ch === '#' || ch === '_';\n}\n\nfunction isLetter(ch: string): boolean {\n return (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z');\n}\n\nfunction isDigit(ch: string): boolean {\n return ch >= '0' && ch <= '9';\n}\n\n/**\n * Strip boundary chars that aren't valid leading/trailing parts of a skill\n * token, e.g. trailing commas, periods followed by space, quotes. Internal\n * punctuation (Node.js, CI/CD, shadcn/ui) is preserved.\n */\nfunction trimTokenBoundary(tok: string): string {\n let start = 0;\n let end = tok.length;\n // Letters, digits, '+' and '#' are valid leading chars; everything else (. / -) gets stripped\n while (start < end) {\n const ch = tok.charAt(start);\n if (isLetter(ch) || isDigit(ch) || ch === '+' || ch === '#') break;\n start++;\n }\n while (end > start) {\n const ch = tok.charAt(end - 1);\n if (isLetter(ch) || isDigit(ch) || ch === '+' || ch === '#') break;\n end--;\n }\n return start === 0 && end === tok.length ? tok : tok.slice(start, end);\n}\n\n/**\n * Linear-time tokenizer. Iterates once over the string, accumulating runs of\n * token chars. Avoids regex alternation and unbounded quantifiers to keep\n * worst-case complexity O(n) even on adversarial inputs.\n */\nexport function tokenize(text: string): Token[] {\n const tokens: Token[] = [];\n const len = text.length;\n let i = 0;\n while (i < len) {\n // Skip separators\n while (i < len && !isTokenChar(text.charAt(i))) i++;\n // Accumulate token\n const start = i;\n while (i < len && isTokenChar(text.charAt(i))) i++;\n if (i === start) continue;\n const raw = trimTokenBoundary(text.slice(start, i));\n if (!raw) continue;\n // Require at least one letter or digit or + or #\n let hasCore = false;\n for (let k = 0; k < raw.length; k++) {\n const ch = raw.charAt(k);\n if (isLetter(ch) || isDigit(ch) || ch === '+' || ch === '#') {\n hasCore = true;\n break;\n }\n }\n if (!hasCore) continue;\n // Compute isAllUpper by scanning letters once\n let letterCount = 0;\n let upperCount = 0;\n for (let k = 0; k < raw.length; k++) {\n const ch = raw.charAt(k);\n if (isLetter(ch)) {\n letterCount++;\n if (ch >= 'A' && ch <= 'Z') upperCount++;\n }\n }\n const isAllUpper = letterCount >= 2 && upperCount === letterCount;\n tokens.push({ raw, norm: raw.toLowerCase(), isAllUpper });\n }\n return tokens;\n}\n\n/**\n * Normalize a skill label into token strings. Splits on whitespace only,\n * internal punctuation (dots, slashes, hyphens, plus/hash) stays attached to\n * its token. Skill labels come from our own JSON, not user input, so the\n * simple regex split is safe here.\n */\nfunction phraseToTokens(phrase: string): string[] {\n return phrase\n .toLowerCase()\n .split(/\\s+/)\n .map((t) => trimTokenBoundary(t))\n .filter(Boolean);\n}\n\ninterface PhraseCandidate {\n skillIdx: number;\n phraseTokens: string[]; // lowercase, whitespace-split\n requiresCaseMatch: boolean; // true for all-caps acronyms, avoids \"IS\"/\"IT\"/\"NO\" collisions\n}\n\n/**\n * Acronym-shaped phrase: 2–6 uppercase letters, single token. These collide\n * with common English words when matched case-insensitively, so we require the\n * original text to also be in uppercase.\n */\nfunction looksLikeAcronym(phrase: string): boolean {\n const trimmed = phrase.trim();\n if (/\\s/.test(trimmed)) return false;\n if (trimmed.length < 2 || trimmed.length > 6) return false;\n const letters = trimmed.replace(/[^a-zA-Z]/g, '');\n return letters.length >= 2 && letters === letters.toUpperCase();\n}\n\n/**\n * Indexed skill database for fast longest-match lookup.\n *\n * Strategy: group all skill phrases (canonical + every alias) by their first\n * token. For each first token we get a list of candidate phrases, sorted\n * longest-first so we find the most specific match first (e.g. \"React Query\"\n * beats \"React\" when the text contains both words adjacent).\n */\nexport class SkillIndex {\n private readonly skills: readonly Skill[];\n private readonly byFirstToken: Map<string, PhraseCandidate[]> = new Map();\n private readonly maxPhraseLen: number;\n\n constructor(skills: readonly Skill[]) {\n this.skills = skills;\n let maxLen = 1;\n skills.forEach((skill, i) => {\n for (const phrase of [skill.canonical, ...skill.aliases]) {\n const tokens = phraseToTokens(phrase);\n const first = tokens[0];\n if (!first) continue;\n maxLen = Math.max(maxLen, tokens.length);\n const list = this.byFirstToken.get(first);\n const entry: PhraseCandidate = {\n skillIdx: i,\n phraseTokens: tokens,\n requiresCaseMatch: looksLikeAcronym(phrase),\n };\n if (list) list.push(entry);\n else this.byFirstToken.set(first, [entry]);\n }\n });\n // Sort each bucket longest-first so we try specific matches before general ones\n for (const list of this.byFirstToken.values()) {\n list.sort((a, b) => b.phraseTokens.length - a.phraseTokens.length);\n }\n this.maxPhraseLen = maxLen;\n }\n\n /**\n * Scan text for skills. Longest-match wins at each position, e.g. \"Next.js\"\n * doesn't also fire \"Next\", and \"Google Cloud Platform\" doesn't also fire\n * \"Google\".\n *\n * Returns a list of unique skills with occurrence counts.\n */\n scan(text: string): SkillMatch[] {\n const tokens = tokenize(text);\n const hits = new Map<number, number>(); // skillIdx → occurrences\n\n let i = 0;\n while (i < tokens.length) {\n const head = tokens[i];\n if (!head) break;\n const bucket = this.byFirstToken.get(head.norm);\n if (!bucket) {\n i++;\n continue;\n }\n\n let matched = false;\n for (const cand of bucket) {\n const len = cand.phraseTokens.length;\n if (i + len > tokens.length) continue;\n let ok = true;\n for (let k = 0; k < len; k++) {\n const tok = tokens[i + k];\n if (!tok || tok.norm !== cand.phraseTokens[k]) {\n ok = false;\n break;\n }\n }\n if (!ok) continue;\n // Acronym guard: require the original text to be all-caps when the\n // phrase is acronym-shaped (e.g. \"ARE\" only matches \"ARE\", not \"are\")\n if (cand.requiresCaseMatch && !head.isAllUpper) continue;\n hits.set(cand.skillIdx, (hits.get(cand.skillIdx) ?? 0) + 1);\n i += len;\n matched = true;\n break;\n }\n if (!matched) i++;\n }\n\n const result: SkillMatch[] = [];\n for (const [skillIdx, count] of hits) {\n const skill = this.skills[skillIdx];\n if (!skill) continue;\n result.push({ skill, occurrences: count });\n }\n // Sort: hot skills first, then by frequency, then canonical asc\n result.sort((a, b) => {\n if (a.skill.hot !== b.skill.hot) return a.skill.hot ? -1 : 1;\n if (a.occurrences !== b.occurrences) return b.occurrences - a.occurrences;\n return a.skill.canonical.localeCompare(b.skill.canonical);\n });\n return result;\n }\n\n get size(): number {\n return this.skills.length;\n }\n get maxPhraseTokens(): number {\n return this.maxPhraseLen;\n }\n}\n\n/** Synchronous constructor (takes preloaded data, used by tests). */\nexport function buildSkillIndex(skills: readonly Skill[]): SkillIndex {\n return new SkillIndex(skills);\n}\n","// eslint-disable-next-line @typescript-eslint/no-require-imports\nimport skillsData from '../../../data/skills/skills.json';\nimport { buildSkillIndex, SkillIndex, tokenize } from './matcher';\nimport type { Skill, SkillMatch, SkillType } from './types';\n\nexport type { Skill, SkillMatch, SkillType };\nexport { SkillIndex, tokenize };\n\nlet cached: SkillIndex | null = null;\n\n/**\n * Bundled ATS skill taxonomy: ~1.9k skills from O*NET (US DOL, public domain)\n * plus a curated emerging-tech allowlist. Used for keyword extraction from\n * job descriptions and resumes.\n */\nexport function getSkillIndex(): SkillIndex {\n if (!cached) cached = buildSkillIndex((skillsData as { skills: Skill[] }).skills);\n return cached;\n}\n\n/** Reset for tests. */\nexport function _resetSkillIndexCache(): void {\n cached = null;\n}\n","import type { ResumeSchema } from '../types/resume';\nimport { getSkillIndex, type SkillMatch } from './skills';\n\ninterface AtsKeywordMatch {\n matched: string[];\n missing: string[];\n extra: string[];\n matchPercentage: number;\n}\n\n/**\n * Extract text content from a resume for skill matching.\n */\nfunction extractResumeText(resume: ResumeSchema): string {\n const parts: string[] = [];\n\n if (resume.basics?.summary) parts.push(resume.basics.summary);\n if (resume.basics?.label) parts.push(resume.basics.label);\n\n for (const w of resume.work || []) {\n if (w.position) parts.push(w.position);\n if (w.summary) parts.push(w.summary);\n parts.push(...(w.highlights || []));\n }\n for (const s of resume.skills || []) {\n if (s.name) parts.push(s.name);\n parts.push(...(s.keywords || []));\n }\n for (const p of resume.projects || []) {\n if (p.name) parts.push(p.name);\n if (p.description) parts.push(p.description);\n parts.push(...(p.highlights || []));\n }\n for (const e of resume.education || []) {\n if (e.area) parts.push(e.area);\n if (e.studyType) parts.push(e.studyType);\n parts.push(...(e.courses || []));\n }\n for (const c of resume.certificates || []) {\n if (c.name) parts.push(c.name);\n }\n\n return parts.join(' ');\n}\n\n/**\n * Split JD into sections and identify which contain the actual requirements.\n * Skills mentioned in requirement sections get prioritized over skills only\n * mentioned in the company-blurb / benefits sections.\n */\nfunction splitJdSections(text: string): { requirementText: string; fullText: string } {\n const lines = text.split('\\n');\n const reqPatterns =\n /^(required|requirements?|minimum|preferred|qualifications?|must[\\s-]have|nice[\\s-]to[\\s-]have|what you.?ll|what we.?re looking|skills|technical|you.?ll need|responsibilities|you will)/i;\n const nonReqPatterns =\n /^(about|summary|who we are|our (company|team|mission)|description|overview|benefits|perks|compensation|salary)/i;\n\n let inReqSection = false;\n const reqLines: string[] = [];\n\n for (const line of lines) {\n const header = line\n .trim()\n .replace(/[:#*-]/g, '')\n .trim();\n if (reqPatterns.test(header)) inReqSection = true;\n else if (nonReqPatterns.test(header)) inReqSection = false;\n if (inReqSection) reqLines.push(line);\n }\n\n return {\n requirementText: reqLines.join('\\n'),\n fullText: text,\n };\n}\n\n/**\n * Rank skills found in the JD. Gives precedence to skills that appear in\n * requirement sections, are flagged as \"hot technologies\" by O*NET, or\n * appear multiple times.\n */\ninterface RankedSkill {\n canonical: string;\n occurrences: number;\n inRequirementSection: boolean;\n hot: boolean;\n score: number;\n}\n\nfunction rankSkills(fullMatches: SkillMatch[], requirementMatches: SkillMatch[]): RankedSkill[] {\n const reqIds = new Set(requirementMatches.map((m) => m.skill.id));\n return fullMatches\n .map((m) => {\n const inRequirementSection = reqIds.has(m.skill.id);\n const score =\n m.occurrences * 1.0 + (inRequirementSection ? 3.0 : 0) + (m.skill.hot ? 1.5 : 0);\n return {\n canonical: m.skill.canonical,\n occurrences: m.occurrences,\n inRequirementSection,\n hot: m.skill.hot,\n score,\n };\n })\n .sort((a, b) => {\n if (a.inRequirementSection !== b.inRequirementSection) return a.inRequirementSection ? -1 : 1;\n if (a.score !== b.score) return b.score - a.score;\n return a.canonical.localeCompare(b.canonical);\n });\n}\n\n/**\n * Match a job description against a resume using the bundled skills taxonomy.\n *\n * Extraction is positive-filter: only terms recognised as known skills surface\n * as keywords, so prose verbs (\"actually\", \"ship\", \"move\"), contractions\n * (\"doesn't\" → \"doesn\") and generic nouns never leak through.\n */\nexport function matchJobDescription(\n resume: ResumeSchema,\n jobDescription: string,\n _language: string = 'en'\n): AtsKeywordMatch {\n if (!jobDescription.trim()) {\n return { matched: [], missing: [], extra: [], matchPercentage: 0 };\n }\n\n const skillIndex = getSkillIndex();\n\n // Extract skills from the full JD + requirement-only section\n const fullMatches = skillIndex.scan(jobDescription);\n const { requirementText } = splitJdSections(jobDescription);\n const requirementMatches = requirementText.trim()\n ? skillIndex.scan(requirementText)\n : fullMatches;\n\n // Rank and cap: top 25 most relevant skills, prioritising requirements + hot\n const ranked = rankSkills(fullMatches, requirementMatches).slice(0, 25);\n\n // Skills in the resume\n const resumeText = extractResumeText(resume);\n const resumeMatches = skillIndex.scan(resumeText);\n const resumeSkillIds = new Set(resumeMatches.map((m) => m.skill.id));\n\n const matched: string[] = [];\n const missing: string[] = [];\n for (const r of ranked) {\n // Find the skill object by canonical name to resolve id\n const match = fullMatches.find((m) => m.skill.canonical === r.canonical);\n if (!match) continue;\n if (resumeSkillIds.has(match.skill.id)) matched.push(r.canonical);\n else missing.push(r.canonical);\n }\n\n const matchPercentage =\n ranked.length > 0 ? Math.round((matched.length / ranked.length) * 100) : 0;\n\n // Resume skills not referenced by the JD\n const jdSkillIds = new Set(fullMatches.map((m) => m.skill.id));\n const extra: string[] = [];\n for (const m of resumeMatches) {\n if (!jdSkillIds.has(m.skill.id)) extra.push(m.skill.canonical);\n }\n // Cap extras to avoid overwhelming the UI\n extra.splice(25);\n\n return { matched, missing, extra, matchPercentage };\n}\n","import type { ResumeSchema } from '../../types/resume';\nimport type { CheckResult, KnockoutSignal } from '../types';\nimport { matchJobDescription } from '../jdMatcher';\nimport { computeYoeYears } from './yoe';\n\ninterface MatchOpts {\n jobDescription?: string;\n}\n\ntype MatchCheckFn = (resume: ResumeSchema, language: string, opts: MatchOpts) => CheckResult;\n\nconst SENIORITY = /\\b(junior|senior|lead|staff|principal|head of|vp|chief)\\b/gi;\nconst STOPWORDS = new Set([\n 'a',\n 'an',\n 'the',\n 'of',\n 'at',\n 'for',\n 'in',\n 'on',\n 'to',\n 'with',\n 'and',\n 'or',\n]);\n\nfunction tokenize(s: string): string[] {\n return s\n .toLowerCase()\n .replace(SENIORITY, '')\n .replace(/[^a-z0-9 ]/g, ' ')\n .split(/\\s+/)\n .filter((w) => w && !STOPWORDS.has(w));\n}\n\nfunction jaccard(a: string[], b: string[]): number {\n const A = new Set(a),\n B = new Set(b);\n let inter = 0;\n for (const x of A) if (B.has(x)) inter++;\n const union = A.size + B.size - inter;\n return union === 0 ? 0 : inter / union;\n}\n\nfunction trimTitle(t: string): string {\n // Drop trailing \", X\" or \" - X\" segments that bring company/team noise into Jaccard.\n return t\n .trim()\n .replace(/\\s*[,\\-–—]\\s.*$/, '')\n .trim();\n}\n\nfunction extractJdTitle(jd: string): string | undefined {\n const lines = jd.split('\\n').slice(0, 8);\n for (const l of lines) {\n const m =\n l.match(/(?:role|position|title)[\\s:-]+(.+)/i) ||\n l.match(/looking for (?:an? )?(.+?)(?:\\s+with|\\s+to|$)/i);\n if (m?.[1]) return trimTitle(m[1]);\n }\n const fallback = lines.find((l) =>\n /\\b(engineer|developer|manager|designer|analyst|scientist|architect|lead)\\b/i.test(l)\n );\n return fallback ? trimTitle(fallback) : undefined;\n}\n\nexport const titleAlignment: MatchCheckFn = (resume, _l, { jobDescription }) => {\n if (!jobDescription) {\n return {\n id: 'title-alignment',\n tier: 'match',\n weight: 'high',\n status: 'skipped',\n score: 0,\n message: 'No JD.',\n hints: [],\n };\n }\n const resumeTitle = resume.work?.[0]?.position || resume.basics?.label;\n const jdTitle = extractJdTitle(jobDescription);\n if (!resumeTitle || !jdTitle) {\n return {\n id: 'title-alignment',\n tier: 'match',\n weight: 'high',\n status: 'warn',\n score: 50,\n message: 'Could not extract title from JD or resume.',\n hints: ['Set basics.label to your target title.'],\n };\n }\n const j = jaccard(tokenize(resumeTitle), tokenize(jdTitle));\n const status = j >= 0.6 ? 'pass' : j >= 0.3 ? 'warn' : 'fail';\n return {\n id: 'title-alignment',\n tier: 'match',\n weight: 'high',\n status,\n score: Math.round(j * 100),\n message: `Title overlap ${Math.round(j * 100)}% (resume \"${resumeTitle}\" vs JD \"${jdTitle}\").`,\n hints: status === 'pass' ? [] : [`Consider aligning basics.label closer to \"${jdTitle}\".`],\n };\n};\n\nconst EDU_RE = {\n 3: /\\b(phd|ph\\.?d|doctorate|doctoral)\\b/i,\n 2: /\\b(master|m\\.?s|m\\.?a|mba|graduate degree)\\b/i,\n 1: /\\b(bachelor|b\\.?s|b\\.?a|undergraduate)\\b/i,\n} as const;\n\nfunction eduLevel(text: string): number {\n if (!text) return 0;\n if (EDU_RE[3].test(text)) return 3;\n if (EDU_RE[2].test(text)) return 2;\n if (EDU_RE[1].test(text)) return 1;\n return 0;\n}\n\nexport const educationLevel: MatchCheckFn = (resume, _l, { jobDescription }) => {\n if (!jobDescription) {\n return {\n id: 'education-level',\n tier: 'match',\n weight: 'medium',\n status: 'skipped',\n score: 0,\n message: 'No JD.',\n hints: [],\n };\n }\n const required = eduLevel(jobDescription);\n if (required === 0) {\n return {\n id: 'education-level',\n tier: 'match',\n weight: 'medium',\n status: 'skipped',\n score: 0,\n message: 'JD does not specify education level.',\n hints: [],\n };\n }\n const have = Math.max(0, ...(resume.education || []).map((e) => eduLevel(e.studyType || '')));\n const passed = have >= required;\n return {\n id: 'education-level',\n tier: 'match',\n weight: 'medium',\n status: passed ? 'pass' : 'fail',\n score: passed ? 100 : Math.round((have / required) * 100),\n message: `Resume level ${have}, JD required ${required}.`,\n hints: passed ? [] : ['JD requires a higher degree level than the resume reports.'],\n };\n};\n\nconst YOE_RE = /(\\d+)\\s*(?:\\+|[-–—]\\s*\\d+|to\\s*\\d+)?\\s*years?/i;\n\nexport const yoeMatch: MatchCheckFn = (resume, _l, { jobDescription }) => {\n if (!jobDescription) {\n return {\n id: 'yoe-match',\n tier: 'match',\n weight: 'high',\n status: 'skipped',\n score: 0,\n message: 'No JD.',\n hints: [],\n };\n }\n const m = jobDescription.match(YOE_RE);\n if (!m) {\n return {\n id: 'yoe-match',\n tier: 'match',\n weight: 'high',\n status: 'skipped',\n score: 0,\n message: 'JD does not specify years requirement.',\n hints: [],\n };\n }\n const required = parseInt(m[1] ?? '0', 10);\n const have = Math.floor(computeYoeYears(resume.work || []));\n const status = have >= required ? 'pass' : have >= required - 1 ? 'warn' : 'fail';\n return {\n id: 'yoe-match',\n tier: 'match',\n weight: 'high',\n status,\n score: Math.min(100, Math.round((have / required) * 100)),\n message: `${have} YOE detected vs ${required} required.`,\n hints:\n status === 'pass' ? [] : ['Highlight relevant earlier roles or projects to fill the gap.'],\n };\n};\n\nexport const hardSkillOverlap: MatchCheckFn = (resume, language, { jobDescription }) => {\n if (!jobDescription) {\n return {\n id: 'hard-skill-overlap',\n tier: 'match',\n weight: 'high',\n status: 'skipped',\n score: 0,\n message: 'No JD.',\n hints: [],\n };\n }\n const km = matchJobDescription(resume, jobDescription, language);\n const pct = km.matchPercentage;\n const status = pct >= 70 ? 'pass' : pct >= 50 ? 'warn' : 'fail';\n return {\n id: 'hard-skill-overlap',\n tier: 'match',\n weight: 'high',\n status,\n score: pct,\n message: `${km.matched.length}/${km.matched.length + km.missing.length} hard skills matched (${pct}%).`,\n hints:\n status === 'pass'\n ? []\n : km.missing.slice(0, 5).map((s) => `Add evidence of \"${s}\" to skills/highlights.`),\n };\n};\n\nexport const allMatchChecks = [hardSkillOverlap, titleAlignment, educationLevel, yoeMatch];\n\ninterface KnockoutPattern {\n signal: string;\n jdPattern: RegExp;\n resumeMatch: (r: ResumeSchema, m: RegExpMatchArray) => boolean;\n recommendation: string;\n}\n\nconst KNOCKOUTS: KnockoutPattern[] = [\n {\n signal: 'work-auth',\n jdPattern:\n /(work\\s*auth|authorization to work|right to work|us citizen|green card|h-?1b|visa sponsorship)/i,\n resumeMatch: (r) =>\n /(work auth|authorized|citizen|green card|visa)/i.test(r.basics?.summary || ''),\n recommendation: 'Confirm authorization status in the application form.',\n },\n {\n signal: 'location',\n jdPattern: /(must be located|on-?site|relocate|based in)\\s+([a-zA-Z ,]+)/i,\n resumeMatch: (r, m) => {\n const jdLoc = (m[2] ?? '').toLowerCase().trim();\n const resumeCity = (r.basics?.location?.city ?? '').toLowerCase().trim();\n if (!jdLoc || !resumeCity) return false;\n return jdLoc.includes(resumeCity) || resumeCity.includes(jdLoc.split(/[, ]+/)[0] ?? '');\n },\n recommendation: 'Verify location requirement against your basics.location.city.',\n },\n {\n signal: 'clearance',\n jdPattern: /(ts\\/sci|secret clearance|security clearance|active clearance)/i,\n resumeMatch: (r) => /clearance/i.test(JSON.stringify(r)),\n recommendation: 'Confirm clearance level on the application form.',\n },\n {\n signal: 'certification',\n jdPattern: /(cissp|aws certified|pmp|ccna|cpa|required certification)/i,\n resumeMatch: (r) => (r.certificates?.length ?? 0) > 0,\n recommendation: 'List required certificates in the certificates section if held.',\n },\n];\n\nexport function extractKnockouts(resume: ResumeSchema, jobDescription: string): KnockoutSignal[] {\n const out: KnockoutSignal[] = [];\n for (const k of KNOCKOUTS) {\n const m = jobDescription.match(k.jdPattern);\n if (!m) continue;\n if (k.resumeMatch(resume, m)) continue;\n out.push({\n signal: k.signal,\n evidence: `JD: \"${m[0]}\"; resume silent.`,\n recommendation: k.recommendation,\n });\n }\n return out;\n}\n","import type { CheckResult, AtsRating, Grade, AtsConfig } from './types';\n\nconst weightMultiplier: Record<'high' | 'medium' | 'low', number> = {\n high: 3,\n medium: 2,\n low: 1,\n};\n\nexport function gradeFromScore(score: number, t: AtsConfig['thresholds']['grade']): Grade {\n if (score >= t.A) return 'A';\n if (score >= t.B) return 'B';\n if (score >= t.C) return 'C';\n if (score >= t.D) return 'D';\n return 'F';\n}\n\nexport function computeTierScore(checks: CheckResult[]): number {\n const active = checks.filter((c) => c.status !== 'skipped');\n if (active.length === 0) return 0;\n let weighted = 0;\n let total = 0;\n for (const c of active) {\n const m = weightMultiplier[c.weight];\n weighted += c.score * m;\n total += 100 * m;\n }\n return total > 0 ? Math.round((weighted / total) * 100) : 0;\n}\n\nexport function computeTotalScore(\n tiers: { parsing: number; match?: number; recruiter: number },\n weights: AtsConfig['weights']['tiers']\n): number {\n if (tiers.match === undefined) {\n const sum = weights.parsing + weights.recruiter;\n const wp = weights.parsing / sum;\n const wr = weights.recruiter / sum;\n return Math.round(\n tiers.parsing * (sum === 50 ? 0.4 : wp) + tiers.recruiter * (sum === 50 ? 0.6 : wr)\n );\n }\n const sum = weights.parsing + weights.match + weights.recruiter;\n return Math.round(\n (tiers.parsing * weights.parsing +\n tiers.match * weights.match +\n tiers.recruiter * weights.recruiter) /\n sum\n );\n}\n\nexport function scoreToRating(score: number, t: AtsConfig['thresholds']['rating']): AtsRating {\n if (score >= t.excellent) return 'excellent';\n if (score >= t.good) return 'good';\n if (score >= t.needsWork) return 'needs-work';\n return 'poor';\n}\n\nexport function generateSummary(\n score: number,\n rating: AtsRating,\n hasJd: boolean,\n knockouts: number\n): string {\n const ratingLabel = {\n excellent: 'Excellent',\n good: 'Good',\n 'needs-work': 'Needs Work',\n poor: 'Poor',\n }[rating];\n const knockoutNote =\n knockouts > 0 ? ` ${knockouts} knockout signal${knockouts === 1 ? '' : 's'} flagged.` : '';\n return `ATS ${score}/100 (${ratingLabel}).${hasJd ? ' Includes JD match.' : ''}${knockoutNote}`;\n}\n","import type { ResumeSchema } from '../types/resume';\nimport type {\n TieredAtsResult,\n AtsOptions,\n CheckResult,\n TierResult,\n Tier,\n AtsConfig,\n KnockoutSignal,\n} from './types';\nimport { allParsingChecks } from './checks/parsing';\nimport { allRecruiterChecks } from './checks/recruiter';\nimport { allMatchChecks, extractKnockouts } from './checks/match';\nimport {\n computeTierScore,\n computeTotalScore,\n gradeFromScore,\n scoreToRating,\n generateSummary,\n} from './scoring';\nimport { defaultConfig, effectiveWeight } from '../utils/config';\n\nfunction applyConfig(checks: CheckResult[], cfg: AtsConfig): CheckResult[] {\n return checks\n .filter((c) => !cfg.disable.includes(c.id))\n .map((c) => ({ ...c, weight: effectiveWeight(c.id, c.weight, cfg) }));\n}\n\nfunction buildTier(_tier: Tier, checks: CheckResult[], cfg: AtsConfig): TierResult {\n const filtered = applyConfig(checks, cfg);\n const score = computeTierScore(filtered);\n return {\n score,\n grade: gradeFromScore(score, cfg.thresholds.grade),\n checks: filtered,\n };\n}\n\nexport function analyzeAts(resume: ResumeSchema, options: AtsOptions = {}): TieredAtsResult {\n const cfg = options.config ?? defaultConfig;\n const language = options.language ?? cfg.locale;\n\n const parsingChecks = allParsingChecks.map((fn) => fn(resume, language));\n\n const recruiterChecks = allRecruiterChecks.map((fn) => fn(resume, language, cfg));\n\n const parsing = buildTier('parsing', parsingChecks, cfg);\n const recruiter = buildTier('recruiter', recruiterChecks, cfg);\n\n let match: TierResult | undefined;\n let knockouts: KnockoutSignal[] = [];\n if (options.jobDescription) {\n const matchChecks = allMatchChecks.map((fn) =>\n fn(resume, language, { jobDescription: options.jobDescription })\n );\n match = buildTier('match', matchChecks, cfg);\n knockouts = extractKnockouts(resume, options.jobDescription);\n }\n\n const totalScore = computeTotalScore(\n { parsing: parsing.score, match: match?.score, recruiter: recruiter.score },\n cfg.weights.tiers\n );\n const rating = scoreToRating(totalScore, cfg.thresholds.rating);\n const summary = generateSummary(totalScore, rating, !!options.jobDescription, knockouts.length);\n\n return {\n score: totalScore,\n rating,\n tiers: match ? { parsing, match, recruiter } : { parsing, recruiter },\n knockouts,\n summary,\n };\n}\n\nexport type { TieredAtsResult, AtsOptions, CheckResult, TierResult, KnockoutSignal } from './types';\n","import { execFileSync } from 'child_process';\nimport { createRequire } from 'module';\n\nconst require = createRequire(import.meta.url);\n\nexport interface ThemeModule {\n render: (\n resume: Record<string, unknown>,\n options?: Record<string, unknown>\n ) => string | Promise<string>;\n}\n\n/**\n * Install a theme package using npm\n * @param packageName The npm package name to install\n */\nfunction installTheme(packageName: string): void {\n try {\n execFileSync('npm', ['install', packageName], {\n stdio: ['inherit', 'pipe', 'pipe'],\n encoding: 'utf8',\n });\n } catch (error) {\n throw new Error(`Failed to install ${packageName}: ${(error as Error).message}`);\n }\n}\n\n/**\n * Load a theme module by name\n * @param themeName The name of the theme to load\n * @param options Optional settings (autoInstall: boolean)\n * @returns The loaded theme module\n */\nexport function loadTheme(themeName: string, options?: { autoInstall?: boolean }): ThemeModule {\n let jsonResumeThemeName: string;\n let nativeThemeName: string;\n const autoInstall = options?.autoInstall !== false;\n\n try {\n // Try loading as a JSON Resume theme\n jsonResumeThemeName = themeName.startsWith('jsonresume-theme-')\n ? themeName\n : `jsonresume-theme-${themeName}`;\n\n try {\n // Use require for CommonJS modules\n return require(jsonResumeThemeName) as ThemeModule;\n } catch (_jsonResumeError) {\n // If not found as JSON Resume theme, try as native theme\n nativeThemeName = `@resuml/theme-${themeName}`;\n try {\n return require(nativeThemeName) as ThemeModule;\n } catch (_nativeError) {\n if (!autoInstall) {\n throw new Error(\n `Theme package ${jsonResumeThemeName} or ${nativeThemeName} not found in node_modules.\\n` +\n `Please install the theme package manually.`\n );\n }\n // Both attempts failed - auto-install the theme\n console.log(`📦 Theme ${jsonResumeThemeName} not found. Installing...`);\n try {\n installTheme(jsonResumeThemeName);\n console.log(`✅ Successfully installed ${jsonResumeThemeName}`);\n // Try requiring again after installation\n return require(jsonResumeThemeName) as ThemeModule;\n } catch (installError) {\n throw new Error(\n `Failed to auto-install theme ${jsonResumeThemeName}: ${\n (installError as Error).message\n }`\n );\n }\n }\n }\n } catch (error) {\n // Re-throw if it's already our custom error\n if (error instanceof Error && error.message.includes('Failed to auto-install')) {\n throw error;\n }\n throw new Error(`Theme package ${themeName} not found`);\n }\n}\n","export function generateResumeYaml(name: string, email: string, label: string): string {\n return `# =============================================================================\n# Resume - Generated by resuml\n# Documentation: https://github.com/phoinixi/resuml\n# Schema: https://jsonresume.org/schema/\n# =============================================================================\n\n# --- Basic Information ---\nbasics:\n name: '${name}'\n label: '${label}'\n # image: 'https://example.com/photo.jpg'\n email: '${email}'\n # phone: '+1-555-123-4567'\n # url: 'https://yourwebsite.com'\n summary: >-\n Write a short professional summary here.\n This supports multi-line strings in YAML.\n location:\n # address: '123 Main Street'\n # postalCode: '12345'\n city: 'Your City'\n countryCode: 'US'\n # region: 'Your State'\n profiles:\n - network: 'LinkedIn'\n username: 'your-username'\n url: 'https://linkedin.com/in/your-username'\n - network: 'GitHub'\n username: 'your-username'\n url: 'https://github.com/your-username'\n\n# --- Work Experience ---\nwork:\n - name: 'Company Name'\n position: 'Job Title'\n url: 'https://company.com'\n startDate: '2020-01-01'\n # endDate: '2023-12-31' # Omit for current position\n summary: 'Brief description of your role and responsibilities.'\n highlights:\n - 'Key achievement or responsibility'\n - 'Another notable accomplishment'\n\n# --- Education ---\neducation:\n - institution: 'University Name'\n url: 'https://university.edu'\n area: 'Field of Study'\n studyType: 'Bachelor of Science'\n startDate: '2014-09-01'\n endDate: '2018-06-01'\n # score: '3.8'\n courses:\n - 'Relevant Course 1'\n - 'Relevant Course 2'\n\n# --- Skills ---\nskills:\n - name: 'Programming Languages'\n level: 'Expert'\n keywords:\n - 'JavaScript'\n - 'TypeScript'\n - 'Python'\n - name: 'Frameworks'\n level: 'Advanced'\n keywords:\n - 'React'\n - 'Node.js'\n\n# --- Projects ---\n# projects:\n# - name: 'Project Name'\n# description: 'Brief project description'\n# highlights:\n# - 'Key feature or result'\n# keywords:\n# - 'Technology Used'\n# startDate: '2023-01-01'\n# endDate: '2023-06-30'\n# url: 'https://github.com/you/project'\n# roles:\n# - 'Developer'\n# type: 'application'\n\n# --- Languages ---\n# languages:\n# - language: 'English'\n# fluency: 'Native speaker'\n# - language: 'Spanish'\n# fluency: 'Professional working proficiency'\n\n# --- Interests ---\n# interests:\n# - name: 'Open Source'\n# keywords:\n# - 'Contributing'\n# - 'Community'\n\n# --- References ---\n# references:\n# - name: 'Jane Smith'\n# reference: 'It was a pleasure working with...'\n\n# --- Awards ---\n# awards:\n# - title: 'Award Name'\n# date: '2023-01-01'\n# awarder: 'Organization'\n# summary: 'Description of the award'\n\n# --- Certificates ---\n# certificates:\n# - name: 'Certificate Name'\n# date: '2023-01-01'\n# issuer: 'Issuing Organization'\n# url: 'https://example.com/cert'\n\n# --- Publications ---\n# publications:\n# - name: 'Publication Title'\n# publisher: 'Publisher'\n# releaseDate: '2023-01-01'\n# url: 'https://example.com/publication'\n# summary: 'Brief description'\n\n# --- Volunteer ---\n# volunteers:\n# - organization: 'Organization Name'\n# position: 'Volunteer Role'\n# url: 'https://organization.com'\n# startDate: '2022-01-01'\n# summary: 'Description of volunteer work'\n# highlights:\n# - 'Notable contribution'\n`;\n}\n","import { createRequire } from 'module';\n\nexport interface ThemeInfo {\n name: string;\n pkg: string;\n description: string;\n}\n\nexport const KNOWN_THEMES: ThemeInfo[] = [\n {\n name: 'stackoverflow',\n pkg: 'jsonresume-theme-stackoverflow',\n description: 'Stack Overflow inspired theme',\n },\n { name: 'elegant', pkg: 'jsonresume-theme-elegant', description: 'Elegant and professional' },\n { name: 'react', pkg: 'jsonresume-theme-react', description: 'Built with React components' },\n { name: 'even', pkg: 'jsonresume-theme-even', description: 'Clean and minimal' },\n { name: 'kendall', pkg: 'jsonresume-theme-kendall', description: 'Simple and clean layout' },\n { name: 'macchiato', pkg: 'jsonresume-theme-macchiato', description: 'Beautiful and modern' },\n { name: 'flat', pkg: 'jsonresume-theme-flat', description: 'Flat design theme' },\n { name: 'class', pkg: 'jsonresume-theme-class', description: 'Classic professional look' },\n { name: 'short', pkg: 'jsonresume-theme-short', description: 'Compact single-page resume' },\n { name: 'spartan', pkg: 'jsonresume-theme-spartan', description: 'Minimalist Spartan design' },\n { name: 'paper', pkg: 'jsonresume-theme-paper', description: 'Paper-like clean design' },\n { name: 'onepage', pkg: 'jsonresume-theme-onepage', description: 'One page resume layout' },\n];\n\nexport function isThemeInstalled(pkg: string): boolean {\n try {\n const req = createRequire(process.cwd() + '/');\n req.resolve(pkg);\n return true;\n } catch {\n return false;\n }\n}\n\nexport function getInstalledVersion(pkg: string): string | null {\n try {\n const req = createRequire(process.cwd() + '/');\n const pkgJson = req(`${pkg}/package.json`) as { version?: string };\n return pkgJson.version ?? null;\n } catch {\n return null;\n }\n}\n","import type { RubricEntry, Tier } from './types';\n\nexport const rubric: RubricEntry[] = [\n // Parsing tier - Greenhouse-doc-grounded\n {\n id: 'conventional-sections',\n tier: 'parsing',\n weight: 'high',\n evidenceLevel: 'evidence',\n description: 'Required JSON Resume sections (basics, work, education) are present.',\n source: 'https://support.greenhouse.io/hc/en-us/articles/200989175-Unsuccessful-resume-parse',\n },\n {\n id: 'date-format-consistency',\n tier: 'parsing',\n weight: 'medium',\n evidenceLevel: 'evidence',\n description: 'Dates use ISO-8601 (YYYY-MM-DD or YYYY-MM); no mixed formats; no >6mo gaps.',\n source: 'https://hireflow.net/blog/taleo-resume-parsing-problems-explained',\n },\n {\n id: 'contact-in-body',\n tier: 'parsing',\n weight: 'high',\n evidenceLevel: 'evidence',\n description: 'Email and phone present in basics block (parseable by Textkernel/Sovren).',\n source: 'https://developer.textkernel.com/tx-platform/v10/faq/',\n },\n {\n id: 'reverse-chron-order',\n tier: 'parsing',\n weight: 'medium',\n evidenceLevel: 'evidence',\n description: 'work[] and education[] sorted descending by startDate.',\n },\n {\n id: 'education-complete',\n tier: 'parsing',\n weight: 'low',\n evidenceLevel: 'evidence',\n description: 'Each education entry has institution, area, and studyType.',\n },\n {\n id: 'pdf-text-extractable',\n tier: 'parsing',\n weight: 'high',\n evidenceLevel: 'evidence',\n description: 'Rendered PDF body text is selectable (>=70% of resume word count extractable).',\n source: 'https://www.ashbyhq.com/product-updates/ai-assisted-application-review',\n },\n {\n id: 'pdf-size-under-2.5mb',\n tier: 'parsing',\n weight: 'medium',\n evidenceLevel: 'evidence',\n description: 'Rendered PDF is under 2.5 MB (Greenhouse documented limit).',\n source: 'https://support.greenhouse.io/hc/en-us/articles/200989175-Unsuccessful-resume-parse',\n },\n\n // Match tier - JD-aware\n {\n id: 'hard-skill-overlap',\n tier: 'match',\n weight: 'high',\n evidenceLevel: 'evidence',\n description:\n 'Hard skill overlap with JD using bundled O*NET-trie skill index. ESCO migration tracked separately.',\n },\n {\n id: 'title-alignment',\n tier: 'match',\n weight: 'high',\n evidenceLevel: 'evidence',\n description:\n 'Most-recent work[].position aligns with JD title via token Jaccard after stripping seniority modifiers.',\n },\n {\n id: 'education-level',\n tier: 'match',\n weight: 'medium',\n evidenceLevel: 'evidence',\n description:\n 'Max studyType meets/exceeds JD education requirement (Bachelor/Master/PhD detection).',\n },\n {\n id: 'yoe-match',\n tier: 'match',\n weight: 'high',\n evidenceLevel: 'evidence',\n description:\n 'Total years of experience (overlap-merged from work[]) meets JD years requirement.',\n },\n\n // Recruiter tier - Rezi/Teal/Enhancv-grounded numbers\n {\n id: 'summary-length',\n tier: 'recruiter',\n weight: 'medium',\n evidenceLevel: 'convention',\n description: 'Professional summary 20-50 words / 2-4 sentences.',\n source: 'https://www.rezi.ai/rezi-docs/the-rezi-score-explained',\n },\n {\n id: 'action-verb-start',\n tier: 'recruiter',\n weight: 'medium',\n evidenceLevel: 'convention',\n description: 'Highlights start with an action verb.',\n },\n {\n id: 'quantification-density',\n tier: 'recruiter',\n weight: 'high',\n evidenceLevel: 'convention',\n description: 'At least 50% of highlights include numbers/metrics.',\n },\n {\n id: 'pronoun-leakage',\n tier: 'recruiter',\n weight: 'low',\n evidenceLevel: 'convention',\n description: 'Convention, not ATS: ATS does not filter on pronouns; this is recruiter style.',\n source: 'https://resume.io/blog/first-person-resume',\n },\n {\n id: 'bullets-per-role',\n tier: 'recruiter',\n weight: 'medium',\n evidenceLevel: 'convention',\n description: 'Each work entry has 3-6 highlights (10 for senior).',\n source: 'https://www.rezi.ai/rezi-docs/the-rezi-score-explained',\n },\n {\n id: 'word-count-total',\n tier: 'recruiter',\n weight: 'low',\n evidenceLevel: 'convention',\n description: 'Total resume body 400-800 words (1600 senior).',\n source: 'https://www.rezi.ai/rezi-docs/the-rezi-score-explained',\n },\n {\n id: 'highlight-length',\n tier: 'recruiter',\n weight: 'low',\n evidenceLevel: 'convention',\n description: 'Each highlight fits within two visual lines (~30 words).',\n },\n {\n id: 'has-linkedin',\n tier: 'recruiter',\n weight: 'low',\n evidenceLevel: 'convention',\n description: 'LinkedIn profile present in basics.profiles.',\n },\n {\n id: 'skills-populated',\n tier: 'recruiter',\n weight: 'medium',\n evidenceLevel: 'convention',\n description: 'At least 3 skill categories with keywords.',\n },\n];\n\nconst byId: Map<string, RubricEntry> = new Map(rubric.map((r) => [r.id, r]));\n\nexport function getRubricEntry(\n id: string,\n opts: { strict?: boolean } = {}\n): RubricEntry | undefined {\n const entry = byId.get(id);\n if (!entry && opts.strict) throw new Error(`Unknown rubric id: ${id}`);\n return entry;\n}\n\nexport function rubricByTier(tier: Tier): RubricEntry[] {\n return rubric.filter((r) => r.tier === tier);\n}\n\nexport function listRubricMarkdown(): string {\n const tiers: Tier[] = ['parsing', 'match', 'recruiter'];\n const sections = tiers.map((t) => {\n const entries = rubricByTier(t);\n const lines = entries\n .map(\n (e) =>\n `- **${e.id}** (${e.weight}, ${e.evidenceLevel}): ${e.description}${e.source ? `\\n Source: ${e.source}` : ''}`\n )\n .join('\\n');\n return `## Tier: ${t}\\n\\n${lines}`;\n });\n return ['# resuml ATS Rubric', '', ...sections].join('\\n\\n');\n}\n"],"mappings":"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AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,UAAU,CAAC,KAAK,MAAM,MAAM,QAAQ,UAAU,MAAM,OAAO,MAAM;AAAA,EACjE,WAAW;AAAA;AAAA,IAET;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA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","names":["merge","tokenize","sum","require","createRequire"]}